mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
some docs. still baffling
This commit is contained in:
@@ -129,6 +129,7 @@ extern GraphicsContext* __gfxCtx;
|
||||
#define ALIGN256(val) (((val) + 0xFF) & ~0xFF)
|
||||
|
||||
#define SQ(x) ((x) * (x))
|
||||
#define CUBE(x) ((x) * (x) * (x))
|
||||
#define ABS(x) ((x) >= 0 ? (x) : -(x))
|
||||
#define ABS_ALT(x) ((x) < 0 ? -(x) : (x))
|
||||
#define DECR(x) ((x) == 0 ? 0 : --(x))
|
||||
@@ -137,6 +138,9 @@ extern GraphicsContext* __gfxCtx;
|
||||
#define CLAMP_MAX(x, max) ((x) > (max) ? (max) : (x))
|
||||
#define CLAMP_MIN(x, min) ((x) < (min) ? (min) : (x))
|
||||
|
||||
#define RAND_BITS(n) ((s32)Rand_Next() >> (0x20 - n))
|
||||
#define RANDU_BITS(n) (Rand_Next() >> (0x20 - n))
|
||||
|
||||
#define ROUND(x) (s32)(((x) >= 0.0) ? ((x) + 0.5) : ((x) - 0.5))
|
||||
|
||||
#define SWAP(type, a, b) \
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,27 +7,33 @@ struct ObjMine;
|
||||
|
||||
typedef void (*ObjMineActionFunc)(struct ObjMine*, PlayState*);
|
||||
|
||||
#define OBJMINE_GET_PARAM_003F(thisx) ((thisx)->params & 0x3F)
|
||||
#define OBJMINE_GET_PARAM_00FF(thisx) ((thisx)->params & 0xFF)
|
||||
#define OBJMINE_GET_PARAM_0700(thisx) ((thisx)->params >> 8 & 7)
|
||||
#define OBJMINE_GET_PARAM_3000(thisx) ((thisx)->params >> 0xC & 3)
|
||||
#define OBJMINE_GET_LINK_COUNT(thisx) ((thisx)->params & 0x3F)
|
||||
#define OBJMINE_GET_PATH(thisx) ((thisx)->params & 0xFF)
|
||||
#define OBJMINE_GET_PATH_SPEED(thisx) (((thisx)->params >> 8) & 7)
|
||||
#define OBJMINE_GET_TYPE(thisx) (((thisx)->params >> 12) & 3)
|
||||
|
||||
#define OBJMINE_SET_PARAM0(pathIndex, pathSpeed, type) ((pathIndex) | ((pathSpeed) << 8))
|
||||
#define OBJMINE_SET_PARAM12(linkCount, type) ((linkCount) | ((type) << 0xC))
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ OBJMINE_TYPE_PATH,
|
||||
/* 1 */ OBJMINE_TYPE_AIR,
|
||||
/* 2 */ OBJMINE_TYPE_WATER
|
||||
} ObjMineType;
|
||||
|
||||
typedef struct {
|
||||
Vec3f x;
|
||||
Vec3f y;
|
||||
Vec3f z;
|
||||
// Vec3f w;
|
||||
} ObjMineMtxF3;
|
||||
/* 0x00 */ Vec3f x;
|
||||
/* 0x0C */ Vec3f y;
|
||||
/* 0x18 */ Vec3f z;
|
||||
} ObjMineMtxF3; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 unk_00;
|
||||
/* 0x02 */ s16 unk_02;
|
||||
} ObjMineUnkStruct3;
|
||||
} ObjMineAirLink; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ ObjMineMtxF3 unk_00;
|
||||
// /* 0x0C */ Vec3f unk_0C;
|
||||
// /* 0x18 */ Vec3f unk_18;
|
||||
/* 0x00 */ ObjMineMtxF3 basis;
|
||||
/* 0x24 */ Vec3f unk_24;
|
||||
/* 0x30 */ f32 unk_30;
|
||||
/* 0x34 */ f32 unk_34;
|
||||
@@ -41,49 +47,48 @@ typedef struct {
|
||||
/* 0x54 */ s16 unk_54;
|
||||
/* 0x58 */ f32 unk_58;
|
||||
/* 0x5C */ f32 unk_5C;
|
||||
/* 0x60 */ ObjMineUnkStruct3* unk_60;
|
||||
} ObjMineUnkStruct; // size = ?? 0x44??? 48 array???
|
||||
/* 0x60 */ ObjMineAirLink links[0x3F];
|
||||
} ObjMineAirChain; // size = 0x15C
|
||||
|
||||
// probably fake
|
||||
typedef struct {
|
||||
/* 0x00 */ ObjMineMtxF3 unk_00;
|
||||
// /* 0x0c */ Vec3f unk_0C;
|
||||
// /* 0x18 */ Vec3f unk_18;
|
||||
/* 0x00 */ ObjMineMtxF3 basis;
|
||||
/* 0x24 */ Vec3f unk_24;
|
||||
/* 0x30 */ Vec3f unk_30;
|
||||
/* 0x3C */ Vec3f unk_3C;
|
||||
} ObjMineUnkStruct2; // size = 0x48???
|
||||
} ObjMineWaterLink; // size = 0x48
|
||||
|
||||
typedef struct {
|
||||
f32 unk_00;
|
||||
Vec3f unk_04;
|
||||
f32 unk_10;
|
||||
f32 unk_14;
|
||||
f32 unk_18;
|
||||
f32 unk_1C;
|
||||
s16 unk_20;
|
||||
f32 unk_24;
|
||||
f32 unk_28;
|
||||
f32 unk_2C;
|
||||
f32 unk_30;
|
||||
f32 unk_34;
|
||||
f32 unk_38;
|
||||
f32 unk_3C;
|
||||
s8 unk_40;
|
||||
ObjMineUnkStruct2 unk_44[0x3F];
|
||||
} ObjMineTestStruct2;
|
||||
/* 0x0000 */ f32 unk_00;
|
||||
/* 0x0004 */ Vec3f unk_04;
|
||||
/* 0x0010 */ f32 unk_10;
|
||||
/* 0x0014 */ f32 unk_14;
|
||||
/* 0x0018 */ f32 unk_18;
|
||||
/* 0x001C */ f32 unk_1C;
|
||||
/* 0x0020 */ s16 unk_20;
|
||||
/* 0x0024 */ f32 unk_24;
|
||||
/* 0x0028 */ f32 unk_28;
|
||||
/* 0x002C */ f32 unk_2C;
|
||||
/* 0x0030 */ f32 unk_30;
|
||||
/* 0x0034 */ f32 unk_34;
|
||||
/* 0x0038 */ f32 unk_38;
|
||||
/* 0x003C */ f32 unk_3C;
|
||||
/* 0x0040 */ s8 unk_40;
|
||||
/* 0x0044 */ ObjMineWaterLink links[0x3F];
|
||||
} ObjMineWaterChain; // size = 0x11FC
|
||||
|
||||
typedef struct ObjMine {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x0144 */ ColliderJntSph collider;
|
||||
/* 0x0164 */ ColliderJntSphElement colliderElements[1];
|
||||
/* 0x01A4 */ ObjMineActionFunc actionFunc;
|
||||
/* 0x01A8 */ f32 unk_1A8;
|
||||
/* 0x01AC */ s32 unk_1AC;
|
||||
/* 0x01B0 */ s32 unk_1B0;
|
||||
/* 0x01B4 */ Vec3s* unk_1B4;
|
||||
// ObjMineTestStruct2 chain2;
|
||||
union { ObjMineTestStruct2 chain2; ObjMineUnkStruct chain1;};
|
||||
/* 0x01A8 */ f32 pathSpeed;
|
||||
/* 0x01AC */ s32 waypointCount;
|
||||
/* 0x01B0 */ s32 waypointIndex;
|
||||
/* 0x01B4 */ Vec3s* waypoints;
|
||||
/* 0x01B8 */ union {
|
||||
ObjMineAirChain air;
|
||||
ObjMineWaterChain water;
|
||||
} chain;
|
||||
} ObjMine; // size = 0x13B4
|
||||
|
||||
#endif // Z_OBJ_MINE_H
|
||||
|
||||
+42
-42
@@ -11150,53 +11150,53 @@
|
||||
0x80A80508:("func_80A80508",),
|
||||
0x80A80750:("func_80A80750",),
|
||||
0x80A80904:("func_80A80904",),
|
||||
0x80A811D0:("func_80A811D0",),
|
||||
0x80A8120C:("func_80A8120C",),
|
||||
0x80A81288:("func_80A81288",),
|
||||
0x80A8131C:("func_80A8131C",),
|
||||
0x80A81384:("func_80A81384",),
|
||||
0x80A8140C:("func_80A8140C",),
|
||||
0x80A8146C:("func_80A8146C",),
|
||||
0x80A81544:("func_80A81544",),
|
||||
0x80A81640:("func_80A81640",),
|
||||
0x80A8164C:("func_80A8164C",),
|
||||
0x80A81684:("func_80A81684",),
|
||||
0x80A81714:("func_80A81714",),
|
||||
0x80A81818:("func_80A81818",),
|
||||
0x80A81868:("func_80A81868",),
|
||||
0x80A819A4:("func_80A819A4",),
|
||||
0x80A81A00:("func_80A81A00",),
|
||||
0x80A81AA4:("func_80A81AA4",),
|
||||
0x80A81B14:("func_80A81B14",),
|
||||
0x80A81B7C:("func_80A81B7C",),
|
||||
0x80A81D70:("func_80A81D70",),
|
||||
0x80A81DEC:("func_80A81DEC",),
|
||||
0x80A811D0:("ObjMine_Path_MoveToWaypoint",),
|
||||
0x80A8120C:("ObjMine_GetUnitVec3f",),
|
||||
0x80A81288:("ObjMine_GetUnitVec3fNorm",),
|
||||
0x80A8131C:("ObjMine_Path_SpawnBomb",),
|
||||
0x80A81384:("ObjMine_AirWater_SpawnBomb",),
|
||||
0x80A8140C:("ObjMine_AirWater_CheckOC",),
|
||||
0x80A8146C:("ObjMine_Air_CheckAC",),
|
||||
0x80A81544:("ObjMine_Water_CheckAC",),
|
||||
0x80A81640:("ObjMine_AirWater_Noop",),
|
||||
0x80A8164C:("ObjMine_ReplaceTranslation",),
|
||||
0x80A81684:("ObjMine_ReplaceRotation",),
|
||||
0x80A81714:("ObjMine_StepUntilParallel",),
|
||||
0x80A81818:("ObjMine_UpdateCollider",),
|
||||
0x80A81868:("ObjMine_Air_InitChain",),
|
||||
0x80A819A4:("ObjMine_Air_SetCollider",),
|
||||
0x80A81A00:("ObjMine_Air_SetBasis",),
|
||||
0x80A81AA4:("ObjMine_Air_SetWorld",),
|
||||
0x80A81B14:("ObjMine_Air_SetChain3034",),
|
||||
0x80A81B7C:("ObjMine_Water_InitChain",),
|
||||
0x80A81D70:("ObjMine_Water_SetCollider",),
|
||||
0x80A81DEC:("ObjMine_Water_SetWorld",),
|
||||
0x80A81E7C:("func_80A81E7C",),
|
||||
0x80A81FFC:("func_80A81FFC",),
|
||||
0x80A828A8:("func_80A828A8",),
|
||||
0x80A82C28:("func_80A82C28",),
|
||||
0x80A82C28:("ObjMine_Water_UpdateChain",),
|
||||
0x80A82C5C:("ObjMine_Init",),
|
||||
0x80A82F58:("ObjMine_Destroy",),
|
||||
0x80A82F84:("func_80A82F84",),
|
||||
0x80A82F98:("func_80A82F98",),
|
||||
0x80A82FA8:("func_80A82FA8",),
|
||||
0x80A82FC8:("func_80A82FC8",),
|
||||
0x80A83214:("func_80A83214",),
|
||||
0x80A83258:("func_80A83258",),
|
||||
0x80A832BC:("func_80A832BC",),
|
||||
0x80A832D0:("func_80A832D0",),
|
||||
0x80A83A74:("func_80A83A74",),
|
||||
0x80A83A88:("func_80A83A88",),
|
||||
0x80A83B14:("func_80A83B14",),
|
||||
0x80A83B28:("func_80A83B28",),
|
||||
0x80A83CEC:("func_80A83CEC",),
|
||||
0x80A83D00:("func_80A83D00",),
|
||||
0x80A83D8C:("ObjMine_Update",),
|
||||
0x80A83E7C:("func_80A83E7C",),
|
||||
0x80A83EA0:("ObjMine_Draw",),
|
||||
0x80A83FBC:("func_80A83FBC",),
|
||||
0x80A84088:("func_80A84088",),
|
||||
0x80A84338:("func_80A84338",),
|
||||
0x80A82F84:("ObjMine_Path_SetupStationary",),
|
||||
0x80A82F98:("ObjMine_Path_Stationary",),
|
||||
0x80A82FA8:("ObjMine_Path_SetupMove",),
|
||||
0x80A82FC8:("ObjMine_Path_Move",),
|
||||
0x80A83214:("ObjMine_SetupExplode",),
|
||||
0x80A83258:("ObjMine_Explode",),
|
||||
0x80A832BC:("ObjMine_Air_SetupChained",),
|
||||
0x80A832D0:("ObjMine_Air_Chained",),
|
||||
0x80A83A74:("ObjMine_Air_SetupStationary",),
|
||||
0x80A83A88:("ObjMine_Air_Stationary",),
|
||||
0x80A83B14:("ObjMine_Water_SetupChained",),
|
||||
0x80A83B28:("ObjMine_Water_Chained",),
|
||||
0x80A83CEC:("ObjMine_Water_SetupStationary",),
|
||||
0x80A83D00:("ObjMine_Water_Stationary",),
|
||||
0x80A83D8C:("ObjMine_Path_Update",),
|
||||
0x80A83E7C:("ObjMine_AirWater_Update",),
|
||||
0x80A83EA0:("ObjMine_Path_Draw",),
|
||||
0x80A83FBC:("ObjMine_DrawExplosion",),
|
||||
0x80A84088:("ObjMine_Air_Draw",),
|
||||
0x80A84338:("ObjMine_Water_Draw",),
|
||||
0x80A84CD0:("ObjPurify_SetSysMatrix",),
|
||||
0x80A84CF8:("ObjPurify_IsPurified",),
|
||||
0x80A84D68:("ObjPurify_Init",),
|
||||
|
||||
Reference in New Issue
Block a user