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:
+1
-1
@@ -2062,7 +2062,7 @@ void func_80123DA4(Player* player);
|
||||
void func_80123E90(GlobalContext* globalCtx, Actor* actor);
|
||||
void func_80123F2C(GlobalContext* globalCtx, s32 arg1);
|
||||
s32 func_80123F48(GlobalContext* globalCtx, Vec3f* arg1, f32 arg2, f32 arg3);
|
||||
// void func_80124020(void);
|
||||
s32 func_80124020(void);
|
||||
u8 Player_GetMask(GlobalContext* globalCtx);
|
||||
void Player_RemoveMask(GlobalContext* globalCtx);
|
||||
s32 func_8012405C(GlobalContext* globalCtx);
|
||||
|
||||
@@ -1336,8 +1336,7 @@ beginseg
|
||||
name "ovl_Obj_Oshihiki"
|
||||
compress
|
||||
include "build/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.o"
|
||||
include "build/data/ovl_Obj_Oshihiki/ovl_Obj_Oshihiki.data.o"
|
||||
include "build/data/ovl_Obj_Oshihiki/ovl_Obj_Oshihiki.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Obj_Oshihiki/ovl_Obj_Oshihiki_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
||||
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];
|
||||
|
||||
+24
-24
@@ -6864,32 +6864,32 @@
|
||||
0x8090C884:("EnFishing_OwnerOverrideLimbDraw",),
|
||||
0x8090C8BC:("EnFishing_OwnerPostLimbDraw",),
|
||||
0x8090C96C:("EnFishing_DrawOwner",),
|
||||
0x80917290:("func_80917290",),
|
||||
0x809172E4:("func_809172E4",),
|
||||
0x8091734C:("func_8091734C",),
|
||||
0x80917378:("func_80917378",),
|
||||
0x80917408:("func_80917408",),
|
||||
0x80917538:("func_80917538",),
|
||||
0x80917604:("func_80917604",),
|
||||
0x8091763C:("func_8091763C",),
|
||||
0x8091768C:("func_8091768C",),
|
||||
0x80917290:("ObjOshihiki_RotateXZ",),
|
||||
0x809172E4:("ObjOshihiki_StrongEnough",),
|
||||
0x8091734C:("ObjOshihiki_ResetFloors",),
|
||||
0x80917378:("ObjOshihiki_GetBlockUnder",),
|
||||
0x80917408:("ObjOshihiki_UpdateInitPos",),
|
||||
0x80917538:("ObjOshihiki_NoSwitchPress",),
|
||||
0x80917604:("ObjOshihiki_SetScale",),
|
||||
0x8091763C:("ObjOshihiki_SetTextureStep",),
|
||||
0x8091768C:("ObjOshihiki_SetColor",),
|
||||
0x809176D0:("ObjOshihiki_Init",),
|
||||
0x8091780C:("ObjOshihiki_Destroy",),
|
||||
0x80917840:("func_80917840",),
|
||||
0x809179A0:("func_809179A0",),
|
||||
0x80917AEC:("func_80917AEC",),
|
||||
0x80917B44:("func_80917B44",),
|
||||
0x80917B9C:("func_80917B9C",),
|
||||
0x80917C14:("func_80917C14",),
|
||||
0x80917E8C:("func_80917E8C",),
|
||||
0x80917F88:("func_80917F88",),
|
||||
0x80917FC0:("func_80917FC0",),
|
||||
0x809180C8:("func_809180C8",),
|
||||
0x80918108:("func_80918108",),
|
||||
0x80918314:("func_80918314",),
|
||||
0x8091834C:("func_8091834C",),
|
||||
0x8091851C:("func_8091851C",),
|
||||
0x80918574:("func_80918574",),
|
||||
0x80917840:("ObjOshihiki_SetFloors",),
|
||||
0x809179A0:("ObjOshihiki_GetHighestFloor",),
|
||||
0x80917AEC:("ObjOshihiki_SetGround",),
|
||||
0x80917B44:("ObjOshihiki_CheckFloor",),
|
||||
0x80917B9C:("ObjOshihiki_CheckGround",),
|
||||
0x80917C14:("ObjOshihiki_CheckWall",),
|
||||
0x80917E8C:("ObjOshihiki_MoveWithBlockUnder",),
|
||||
0x80917F88:("ObjOshihiki_SetupOnScene",),
|
||||
0x80917FC0:("ObjOshihiki_OnScene",),
|
||||
0x809180C8:("ObjOshihiki_SetupOnActor",),
|
||||
0x80918108:("ObjOshihiki_OnActor",),
|
||||
0x80918314:("ObjOshihiki_SetupPush",),
|
||||
0x8091834C:("ObjOshihiki_Push",),
|
||||
0x8091851C:("ObjOshihiki_SetupFall",),
|
||||
0x80918574:("ObjOshihiki_Fall",),
|
||||
0x80918678:("ObjOshihiki_Update",),
|
||||
0x80918700:("ObjOshihiki_Draw",),
|
||||
0x80918B40:("func_80918B40",),
|
||||
|
||||
Reference in New Issue
Block a user