SSBM Decomp
Loading...
Searching...
No Matches
itbombhei.static.h
Go to the documentation of this file.
1#ifndef ITBOMBHEI_STATIC_H
2#define ITBOMBHEI_STATIC_H
3
4#include "it/forward.h"
5
6#include "it/inlines.h"
7#include "it/it_2725.h"
8#include "it/item.h"
10
11static inline HSD_JObj* itGetDynamicBone(Item_GObj* igp, u32 bone_id)
12{
13 return GET_ITEM(igp)->xBBC_dynamicBoneTable->bones[bone_id];
14}
15
17 int anim_id, int flags)
18{
19 Item* ip = GET_ITEM(igp);
20 HSD_JObj* jobj = ip->xBBC_dynamicBoneTable->bones[0xB];
21 f32 x;
22 f32 y;
23
25 x = HSD_JObjGetRotationX(jobj);
26 Item_80268E5C((HSD_GObj*) igp, anim_id, flags);
27 HSD_JObjSetTranslateY(jobj, y);
28 HSD_JObjSetRotationX(jobj, x);
29}
30
31static inline void
33{
34 Item* ip = GET_ITEM(igp);
35 HSD_JObj* jobj = ip->xBBC_dynamicBoneTable->bones[0xB];
36 f32 x;
37 f32 y;
38
40 x = HSD_JObjGetRotationX(jobj);
41 Item_80268E5C((HSD_GObj*) igp, anim_id, flags);
44}
45
46static inline void inline1_UnkMotion0_Anim(Item_GObj* igp)
47{
48 Item* ip;
49
50 ip = GET_ITEM(igp);
51
52 if (ip->xDD4_itemVar.bombhei.xDD4 <= 0) {
53 it_8027E978(igp);
54 } else {
56 ip->xDD4_itemVar.bombhei.xDEC -= 1.0f;
57 }
58}
59
60static inline void inline2_UnkMotion0_Anim(Item_GObj* igp)
61{
62 Item* ip;
63 HSD_JObj* jobj;
64
65 ip = GET_ITEM(igp);
66 jobj = ip->xBBC_dynamicBoneTable->bones[0xB];
69}
70
71static inline void inline_UnkMotion8_Anim(Item_GObj* igp)
72{
73 if (it_80272C6C(igp) == 0) {
74 Item* ip = GET_ITEM(igp);
76
77 ip->xDC8_word.flags.x19 = 1;
78 ip->xDC8_word.flags.x17 = 1;
79
80 if (ip->xDD4_itemVar.bombhei.xDE0 == 0) {
81 ip->x5D0_animFrameSpeed = ap->x0;
83 } else {
84 ip->x5D0_animFrameSpeed = 1.0f;
86 }
87 }
88}
89
90#endif
#define GET_ITEM(gobj)
Definition inlines.h:8
bool it_80272C6C(HSD_GObj *)
Definition it_2725.c:324
void it_8027E978(Item_GObj *arg0)
Definition itbombhei.c:293
static void inline1_UnkMotion0_Anim(Item_GObj *igp)
Definition itbombhei.static.h:46
static void inline2_UnkMotion0_Anim(Item_GObj *igp)
Definition itbombhei.static.h:60
static void inline_UnkMotion8_Anim(Item_GObj *igp)
Definition itbombhei.static.h:71
static HSD_JObj * itGetDynamicBone(Item_GObj *igp, u32 bone_id)
Definition itbombhei.static.h:11
static void itBombhei_UpdateStatePreserveBone(Item_GObj *igp, int anim_id, int flags)
Definition itbombhei.static.h:16
static void itBombhei_UpdateStatePreserveBoneFake(Item_GObj *igp, int anim_id, int flags)
Definition itbombhei.static.h:32
void Item_80268E5C(HSD_GObj *gobj, enum_t msid, Item_StateChangeFlags flags)
Change item state.
Definition item.c:1168
static void HSD_JObjSetTranslateY(HSD_JObj *jobj, f32 y)
Definition jobj.h:527
static void HSD_JObjAddRotationX(HSD_JObj *jobj, float x)
Definition jobj.h:596
static void HSD_JObjSetTranslateYWithMtxDirty(HSD_JObj *jobj, f32 y)
Definition jobj.h:536
static void HSD_JObjAddTranslationY(HSD_JObj *jobj, float y)
Definition jobj.h:668
static void HSD_JObjSetRotationX(HSD_JObj *jobj, f32 x)
Definition jobj.h:294
static void HSD_JObjSetRotationXWithMtxDirty(HSD_JObj *jobj, f32 x)
Definition jobj.h:304
static f32 HSD_JObjGetRotationX(HSD_JObj *jobj)
Definition jobj.h:360
static f32 HSD_JObjGetTranslationY(HSD_JObj *jobj)
Definition jobj.h:584
HSD_GObj Item_GObj
Definition forward.h:55
@ ITEM_ANIM_UPDATE
Updates item model with target Item State's AnimJoint, MatAnimJoint and extra HSD archive node if ava...
Definition forward.h:62
@ ITEM_UNK_0x1
Definition forward.h:61
void * x4_specialAttributes
Definition types.h:197
HSD_JObj * bones[100]
Definition types.h:75
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
Definition jobj.h:107
Definition types.h:219
union Item::Item_ItemVars xDD4_itemVar
Article * xC4_article_data
Definition types.h:290
f32 x5D0_animFrameSpeed
Definition types.h:320
DynamicBoneTable * xBBC_dynamicBoneTable
Definition types.h:358
flag32 xDC8_word
Definition types.h:536
struct flag32::@044114265150224202141327203133103123055235327262 flags
u32 x19
Definition types.h:63
u32 x17
Definition types.h:62
Definition itCommonItems.h:91
float x0
Definition itCommonItems.h:92
float xDEC
Definition itCommonItems.h:80
float xDF8
Definition itCommonItems.h:83
float xDFC
Definition itCommonItems.h:84
s32 xDE0
Definition itCommonItems.h:77
s32 xDD4
Definition itCommonItems.h:74
itBombHei_ItemVars bombhei
Definition types.h:555