mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Obj_Oshihiki (#636)
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -7,11 +7,57 @@ struct ObjOshihiki;
|
||||
|
||||
typedef void (*ObjOshihikiActionFunc)(struct ObjOshihiki*, GlobalContext*);
|
||||
|
||||
#define OBJOSHIHIKI_GET_F(thisx) ((thisx)->params & 0xF)
|
||||
#define OBJOSHIHIKI_GET_F0(thisx) (((thisx)->params >> 4) & 0xF)
|
||||
#define OBJOSHIHIKI_GET_7F00(thisx) (((thisx)->params >> 8) & 0x7F)
|
||||
#define OBJOSHIHIKI_GET_FF00(thisx) (((thisx)->params >> 8) & 0xFF)
|
||||
|
||||
enum {
|
||||
/* 0 */ OBJOSHIHIKI_F_0,
|
||||
/* 1 */ OBJOSHIHIKI_F_1,
|
||||
/* 2 */ OBJOSHIHIKI_F_2,
|
||||
/* 3 */ OBJOSHIHIKI_F_3,
|
||||
/* 4 */ OBJOSHIHIKI_F_4,
|
||||
/* 5 */ OBJOSHIHIKI_F_5,
|
||||
/* 6 */ OBJOSHIHIKI_F_6,
|
||||
/* 7 */ OBJOSHIHIKI_F_7,
|
||||
/* 8 */ OBJOSHIHIKI_F_8,
|
||||
};
|
||||
|
||||
#define OBJOSHIHIKI_FF00_0 0
|
||||
#define OBJOSHIHIKI_FF00_80 0x80
|
||||
|
||||
#define PUSHBLOCK_ON_SCENE (1 << 0)
|
||||
#define PUSHBLOCK_SETUP_ON_SCENE (1 << 1)
|
||||
#define PUSHBLOCK_ON_ACTOR (1 << 2)
|
||||
#define PUSHBLOCK_SETUP_ON_ACTOR (1 << 3)
|
||||
#define PUSHBLOCK_PUSH (1 << 4)
|
||||
#define PUSHBLOCK_SETUP_PUSH (1 << 5)
|
||||
#define PUSHBLOCK_FALL (1 << 6)
|
||||
#define PUSHBLOCK_SETUP_FALL (1 << 7)
|
||||
#define PUSHBLOCK_MOVE_UNDER (1 << 8)
|
||||
|
||||
typedef struct ObjOshihiki {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x0144 */ char unk_144[0x18];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x015C */ ObjOshihikiActionFunc actionFunc;
|
||||
/* 0x0160 */ char unk_160[0x6C];
|
||||
/* 0x0160 */ u16 stateFlags;
|
||||
/* 0x0162 */ s16 timer;
|
||||
/* 0x0164 */ f32 yawSin;
|
||||
/* 0x0168 */ f32 yawCos;
|
||||
/* 0x016C */ f32 pushSpeed;
|
||||
/* 0x0170 */ f32 pushDist;
|
||||
/* 0x0174 */ f32 direction;
|
||||
/* 0x0178 */ s32 floorBgIds[5];
|
||||
/* 0x018C */ CollisionPoly* floorPolys[5];
|
||||
/* 0x01A0 */ f32 floorHeights[5];
|
||||
/* 0x01B4 */ s16 highestFloor;
|
||||
/* 0x01B6 */ u8 cantMove;
|
||||
/* 0x01B8 */ struct ObjOshihiki* blockUnder;
|
||||
/* 0x01BC */ f32 underDistX;
|
||||
/* 0x01C0 */ f32 underDistZ;
|
||||
/* 0x01C4 */ s8 textureStep;
|
||||
/* 0x01C5 */ Color_RGB8 color;
|
||||
/* 0x01C8 */ AnimatedMaterial* texture;
|
||||
} ObjOshihiki; // size = 0x1CC
|
||||
|
||||
extern const ActorInit Obj_Oshihiki_InitVars;
|
||||
|
||||
@@ -7,6 +7,12 @@ struct ObjSwitch;
|
||||
|
||||
typedef void (*ObjSwitchActionFunc)(struct ObjSwitch*, GlobalContext*);
|
||||
|
||||
#define OBJSWITCH_GET_33(thisx) ((thisx)->params & 0x33)
|
||||
#define OBJSWITCH_GET_7F00(thisx) (((thisx)->params >> 8) & 0x7F)
|
||||
|
||||
#define OBJSWITCH_NORMAL_BLUE 0x20
|
||||
#define OBJSWITCH_INVERSE_BLUE 0x30
|
||||
|
||||
typedef struct ObjSwitch {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x0144 */ char unk_144[0x18];
|
||||
|
||||
Reference in New Issue
Block a user