mirror of
https://github.com/zeldaret/tmc
synced 2026-05-26 23:47:47 -04:00
Merge branch 'master' of https://github.com/zeldaret/tmc
This commit is contained in:
@@ -8,6 +8,7 @@ typedef struct {
|
||||
u8 areaMetadata;
|
||||
u8 locationIndex;
|
||||
u8 unk;
|
||||
u8 regret;
|
||||
u16 localFlagOffset;
|
||||
u8 filler[10];
|
||||
u16 field_0x10;
|
||||
|
||||
@@ -110,4 +110,6 @@ extern void Enemy66(Entity*);
|
||||
|
||||
extern u32 GetNextFunction(Entity*);
|
||||
extern void EnemyFunctionHandler(Entity*, void (*const func[])(Entity*));
|
||||
extern void sub_0804AA30(Entity*, void (*const func[])(Entity*));
|
||||
extern void sub_08001324(Entity*);
|
||||
#endif
|
||||
+45
-25
@@ -19,10 +19,7 @@ typedef struct {
|
||||
} EntityType;
|
||||
|
||||
typedef struct {
|
||||
u8 unknown[6];
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u8 unknown2[4];
|
||||
u8 unknown[8];
|
||||
} BoundingBox;
|
||||
|
||||
typedef struct Entity {
|
||||
@@ -44,12 +41,12 @@ typedef struct Entity {
|
||||
/*0x18*/ union {
|
||||
/* */ u8 raw;
|
||||
/* */ struct {
|
||||
/* */ u8 draw : 2; // 1-2
|
||||
/* */ u8 ss2 : 1; // 4
|
||||
/* */ u8 ss3 : 1; // 8
|
||||
/* */ u8 shadow : 2; //0x10-0x20
|
||||
/* */ u8 flipX : 1; //0x40
|
||||
/* */ u8 flipY : 1; //0x80
|
||||
/* */ u32 draw : 2; // 1-2
|
||||
/* */ u32 ss2 : 1; // 4
|
||||
/* */ u32 ss3 : 1; // 8
|
||||
/* */ u32 shadow : 2; //0x10-0x20
|
||||
/* */ u32 flipX : 1; //0x40
|
||||
/* */ u32 flipY : 1; //0x80
|
||||
/* */ } PACKED b;
|
||||
/* */ } PACKED spriteSettings;
|
||||
/*0x19*/ struct {
|
||||
@@ -100,12 +97,9 @@ typedef struct Entity {
|
||||
/*0x43*/ u8 field_0x43;
|
||||
/*0x44*/ u8 field_0x44;
|
||||
/*0x45*/ u8 currentHealth;
|
||||
/*0x46*/ s16 field_0x46;
|
||||
/*0x46*/ u16 field_0x46;
|
||||
/*0x48*/ BoundingBox* boundingBox;
|
||||
/*0x4c*/ u8 field_0x4c;
|
||||
/*0x4d*/ u8 field_0x4d;
|
||||
/*0x4e*/ u8 field_0x4e;
|
||||
/*0x4f*/ u8 field_0x4f;
|
||||
/*0x4c*/ struct Entity* field_0x4c;
|
||||
/*0x50*/ struct Entity* parent;
|
||||
/*0x54*/ struct Entity* attachedEntity;
|
||||
/*0x58*/ u8 animIndex;
|
||||
@@ -123,12 +117,12 @@ typedef struct Entity {
|
||||
/*0x5c*/ Frame* animPtr;
|
||||
/*0x60*/ u16 spriteVramOffset;
|
||||
/*0x62*/ u8 spriteOffsetX;
|
||||
/*0x63*/ u8 spriteOffsetY;
|
||||
/*0x63*/ s8 spriteOffsetY;
|
||||
/*0x64*/ u32* otherEntity;
|
||||
/*0x68*/ union SplitHWord field_0x68;
|
||||
/*0x6a*/ union SplitHWord field_0x6a;
|
||||
/*0x6c*/ union SplitHWord field_0x6c;
|
||||
/*0x6e*/ u8 filler4[2];
|
||||
/*0x6e*/ union SplitHWord field_0x6e;
|
||||
/*0x70*/ union SplitWord field_0x70;
|
||||
/*0x74*/ union SplitHWord field_0x74;
|
||||
/*0x76*/ union SplitHWord field_0x76;
|
||||
@@ -138,16 +132,18 @@ typedef struct Entity {
|
||||
/*0x80*/ union SplitHWord field_0x80;
|
||||
/*0x82*/ union SplitHWord field_0x82;
|
||||
/*0x84*/ union SplitHWord cutsceneBeh;
|
||||
/*0x86*/ u16 field_0x86;
|
||||
/*0x86*/ union SplitHWord field_0x86;
|
||||
} Entity;
|
||||
|
||||
#define COORD_TO_TILE(entity) \
|
||||
((((entity->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3fU) | \
|
||||
(((entity->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6)
|
||||
#define TILE(x, y) \
|
||||
((((x - gRoomControls.roomOriginX) >> 4) & 0x3fU) | \
|
||||
(((y - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6)
|
||||
|
||||
#define COORD_TO_TILE_OFFSET(entity, xOff, yOff) \
|
||||
((((entity->x.HALF.HI - xOff - gRoomControls.roomOriginX) >> 4) & 0x3fU) | \
|
||||
(((entity->y.HALF.HI - yOff - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6)
|
||||
#define COORD_TO_TILE(entity) \
|
||||
TILE(entity->x.HALF.HI, entity->y.HALF.HI)
|
||||
|
||||
#define COORD_TO_TILE_OFFSET(entity, xOff, yOff) \
|
||||
TILE(entity->x.HALF.HI - xOff, entity->y.HALF.HI - yOff)
|
||||
|
||||
extern Entity* CreateEnemy(u32 subtype, u32 form);
|
||||
extern Entity* CreateObject(u32 subtype, u32 form, u32 parameter);
|
||||
@@ -167,7 +163,31 @@ extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32);
|
||||
|
||||
extern u32 GetFacingDirection(Entity*, Entity*);
|
||||
|
||||
extern void DeleteThisEntity();
|
||||
extern void DeleteThisEntity(void);
|
||||
extern void CopyPosition(Entity*, Entity*);
|
||||
extern void DeleteEntity(Entity*);
|
||||
extern void PositionRelative(Entity*, Entity*, s32, s32);
|
||||
|
||||
enum {
|
||||
DirectionNorth = 0x00,
|
||||
DirectionEast = 0x08,
|
||||
DirectionSouth = 0x10,
|
||||
DirectionWest = 0x18,
|
||||
};
|
||||
|
||||
#define DirectionRound(expr) ((expr) & 0x18)
|
||||
#define DirectionRoundUp(expr) DirectionRound((expr) + 4)
|
||||
#define DirectionIsHorizontal(expr) ((expr) & 0x08)
|
||||
#define DirectionIsVertical(expr) ((expr) & 0x10)
|
||||
#define DirectionTurnAround(expr) (DirectionRoundUp(expr) ^ 0x10)
|
||||
#define DirectionToAnimationState(expr) (DirectionRoundUp(expr) >> 3)
|
||||
#define DirectionFromAnimationState(expr) (expr << 3)
|
||||
|
||||
#define Direction8Round(expr) ((expr) & 0x1c)
|
||||
#define Direction8RoundUp(expr) Direction8Round((expr) + 2)
|
||||
#define Direction8TurnAround(expr) (Direction8RoundUp(expr) ^ 0x10)
|
||||
#define Direction8ToAnimationState(expr) (Direction8RoundUp(expr) >> 2)
|
||||
#define Direction8FromAnimationState(expr) (expr << 2)
|
||||
|
||||
extern Entity gUnk_03003DA0;
|
||||
|
||||
|
||||
+25
-11
@@ -13,7 +13,7 @@
|
||||
// Identified - to be sorted into header files
|
||||
extern u32 Random(void);
|
||||
extern void PlaySFX(u32);
|
||||
extern void ShowNPCDialogue(Entity*, u32*);
|
||||
extern void ShowNPCDialogue(Entity*, Dialog*);
|
||||
extern u32 UpdateFuseInteraction();
|
||||
extern void DeleteEntity(Entity*);
|
||||
extern u32 __modsi3(u32, u32);
|
||||
@@ -32,6 +32,7 @@ extern u32 GetFacingDirection(Entity*, Entity*);
|
||||
extern Entity* CreatePlayerItem(u32, u32, u32, u32);
|
||||
extern Entity* GetEmptyEntity(void);
|
||||
extern u32 GetTileTypeByPos(s32 x, s32 y, u32 layer);
|
||||
extern u32 GetTileType(u32 pos, u32 layer);
|
||||
extern void _DmaZero(void* src, u32 count);
|
||||
extern void EraseAllEntities(void);
|
||||
extern void SetTile(u32, u32, u32);
|
||||
@@ -44,14 +45,15 @@ extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32);
|
||||
extern u32 LoadFixedGFX(Entity*, u32);
|
||||
extern void ExecuteScriptCommandSet(Entity*, void *);
|
||||
extern void _DmaFill32(u32, void*, u32);
|
||||
extern Entity* CreateItemEntity(u32, u32, u32);
|
||||
|
||||
// Unidentified
|
||||
extern void sub_0806ED78(Entity*);
|
||||
extern u32 sub_0806ED78(Entity*);
|
||||
extern void sub_0806920C(Entity*);
|
||||
extern u32 sub_0805ACC0(Entity*);
|
||||
extern u32 sub_0801E99C(Entity*);
|
||||
extern void sub_0806924C(Entity*);
|
||||
extern u32 sub_080AEF88(Entity*);
|
||||
extern u32 ProcessMovement(Entity*);
|
||||
extern Entity* sub_080873AC(Entity*, u32, u32);
|
||||
extern void sub_08078778(Entity*);
|
||||
extern void sub_080787A8(Entity*, u32);
|
||||
@@ -60,7 +62,7 @@ extern void sub_080791D0();
|
||||
extern void sub_0805EC9C();
|
||||
extern void sub_0805EC60();
|
||||
extern void sub_080873D0();
|
||||
extern u8 sub_080045D4(s16, s16, u16, u16);
|
||||
extern u8 sub_080045D4(s16, s16, u32, u32);
|
||||
extern void sub_0806F69C(Entity*);
|
||||
extern void sub_0805E3A0(void*, u32);
|
||||
extern void sub_0806D0B0(Entity*);
|
||||
@@ -78,7 +80,6 @@ extern s32 sub_0806ED9C(Entity*, u32, u32);
|
||||
extern void sub_0807000C(Entity*);
|
||||
extern void sub_0805E47C(Entity*);
|
||||
extern void sub_0805E584(Entity*);
|
||||
extern void sub_0806ED78(Entity*);
|
||||
extern void sub_08068BEC(Entity*, u32);
|
||||
extern void sub_08078778(Entity*);
|
||||
extern s32 sub_0806ED9C(Entity*, u32, u32);
|
||||
@@ -93,7 +94,7 @@ extern void sub_0805ED14(u32*);
|
||||
extern void sub_080A7C18(u32, u32, u32);
|
||||
extern void sub_08068BEC(Entity*, u32);
|
||||
extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*));
|
||||
extern void sub_0804A9FC(Entity*, u32);
|
||||
extern Entity* sub_0804A9FC(Entity*, u32);
|
||||
extern void sub_0804A720(Entity*);
|
||||
extern u32 sub_080AEFE0(Entity*);
|
||||
extern u32 sub_08049FA0(Entity*);
|
||||
@@ -103,7 +104,7 @@ extern u32 sub_08049EE4(Entity*);
|
||||
extern Entity *sub_0804A98C(Entity *, u8, u8);
|
||||
extern u32 sub_080544DC(u8);
|
||||
extern void sub_08077E54(Entity*);
|
||||
extern void sub_080042BA(Entity*);
|
||||
extern void sub_080042BA(Entity*, u32);
|
||||
extern void _DmaZero(void*, u32);
|
||||
extern void sub_08077F24(ItemBehavior*, u32);
|
||||
extern void sub_08079184();
|
||||
@@ -138,7 +139,7 @@ extern void sub_0804C2F0(void);
|
||||
extern void sub_0801AFE4(void);
|
||||
extern u32 sub_08060354(void);
|
||||
extern void sub_08057E64(void);
|
||||
extern void LoadAssetAsync(void*, u32, u32);
|
||||
extern void LoadAssetAsync(const void*, u32, u32);
|
||||
extern void LoadPaletteGroup(u32);
|
||||
extern void sub_0809F814(u32);
|
||||
extern void sub_080300E8(void);
|
||||
@@ -187,15 +188,17 @@ extern void sub_080A4398(void);
|
||||
extern void sub_0801E738(u32);
|
||||
extern void sub_080A70AC(const void*);
|
||||
extern void sub_080A7114(u32);
|
||||
extern void sub_08001324(Entity*);
|
||||
extern void sub_08001242(Entity*);
|
||||
extern u32 sub_08003FC4(Entity*, u32);
|
||||
extern u32 sub_080043E8(Entity*);
|
||||
extern void sub_08001290(Entity*, u32);
|
||||
extern void sub_08004488(u32);
|
||||
extern void EnqueueSFX(u32);
|
||||
extern void sub_08004596(Entity*, u32);
|
||||
extern u32 sub_080045B4(Entity*, u32, u32);
|
||||
extern u32 sub_0807953C(void);
|
||||
extern void ResetPlayer(void);
|
||||
extern void sub_080A29BC(Entity*);
|
||||
extern void CreateDust(Entity*);
|
||||
extern void sub_080AE068(Entity*);
|
||||
extern Manager* GetEmptyManager(void);
|
||||
extern void AppendEntityToList(void*, u32);
|
||||
@@ -219,7 +222,7 @@ extern u32 sub_0807CF88(u32, u8*);
|
||||
extern u32 sub_0807D008(u32, void*);
|
||||
extern void sub_0807D184(u32, char*);
|
||||
extern u32 sub_0806F520();
|
||||
extern void sub_0806F4E8();
|
||||
extern void sub_0806F4E8(Entity*);
|
||||
extern u32 sub_0806F3E4(Entity*);
|
||||
extern void sub_0804A7D4(Entity*);
|
||||
extern void sub_08033744(Entity*);
|
||||
@@ -255,4 +258,15 @@ extern u32 sub_080044EC(Entity*, u32);
|
||||
extern u32 sub_080002B8(Entity*);
|
||||
extern u32 sub_08049F84(Entity*, u32);
|
||||
extern void sub_0802F45C(Entity*);
|
||||
extern u32 sub_0800419C(Entity*, Entity*, u32, u32);
|
||||
extern void sub_08004542(Entity*);
|
||||
extern void sub_08077B20();
|
||||
extern u32 sub_080040A8(Entity*);
|
||||
extern u32 sub_08017850(Entity*);
|
||||
extern void sub_080809D4(void);
|
||||
extern void sub_08080CB4(Entity*);
|
||||
extern u32 GetTileTypeByEntity(Entity*);
|
||||
extern u32 sub_0800442E(Entity*);
|
||||
extern void sub_08081404(Entity*, u32);
|
||||
extern void sub_0807B7D8(u32, u32, u32);
|
||||
#endif
|
||||
|
||||
@@ -59,6 +59,9 @@ union SplitWord {
|
||||
struct {
|
||||
s16 LO, HI;
|
||||
} HALF;
|
||||
struct {
|
||||
u16 LO, HI;
|
||||
} HALF_U;
|
||||
struct {
|
||||
u8 byte0, byte1, byte2, byte3;
|
||||
} BYTES;
|
||||
|
||||
@@ -15,13 +15,9 @@ extern void sub_0805EC9C();
|
||||
extern void sub_0805EC60();
|
||||
extern void sub_080873D0();
|
||||
extern void DeleteEntity();
|
||||
extern u32 sub_080045D4();
|
||||
extern void sub_0806F69C();
|
||||
extern u32 Random();
|
||||
extern void sub_0805E3A0(Entity*, u32);
|
||||
extern Entity* FindEntityInListBySubtype(u32, u32, u32);
|
||||
extern void sub_080791D0();
|
||||
extern u32 FindEntityInListByForm(u32, u32, u32, u32, u32);
|
||||
extern void (*const GreatFairy_Main[])(Entity*);
|
||||
extern void (*const GreatFairy_Behaviors[])(Entity*);
|
||||
extern void (*const GreatFairy_WingsBehaviors[])(Entity*);
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
#ifndef LAKITU_H
|
||||
#define LAKITU_H
|
||||
|
||||
// Lakitu
|
||||
extern void EnemyFunctionHandler(Entity *, void (*const funcs[])(Entity*));
|
||||
extern void SetChildOffset(Entity *, s32, s32, s32);
|
||||
|
||||
// sub_0803C784
|
||||
extern void sub_0804A9FC(Entity *, u32);
|
||||
extern void sub_0804AA30(Entity *, void (*const funcs[])(Entity *));
|
||||
|
||||
// sub_0803C820
|
||||
extern u32 sub_0806F520(Entity *);
|
||||
|
||||
// sub_0803C850
|
||||
extern void sub_0806F4E8(Entity *);
|
||||
|
||||
// Lakitu_Initialize
|
||||
extern void sub_0804A720(Entity *);
|
||||
|
||||
// Lakitu_Cloudless
|
||||
extern u32 sub_08003FC4(Entity *, u32);
|
||||
|
||||
// sub_0803CA4C
|
||||
extern u32 sub_080041A0(Entity *, Entity *, u32, u32);
|
||||
|
||||
// sub_0803CAD0
|
||||
extern u8 sub_080045D4(s16, s16, u16, u16);
|
||||
extern u32 sub_080AEFE0(Entity *);
|
||||
|
||||
// Lakitu_SpawnLightning
|
||||
void PositionRelative(Entity*, Entity*, s32, s32);
|
||||
extern void sub_08004488(u32);
|
||||
|
||||
// sub_0803CC08
|
||||
extern void DeleteEntity(Entity *);
|
||||
|
||||
// Part of function tables
|
||||
extern void sub_08001324(Entity *);
|
||||
extern void sub_0804A7D4(Entity *);
|
||||
extern void sub_08001242(Entity *);
|
||||
|
||||
// Used in multiple functions
|
||||
extern Entity *CreateFx(Entity*, u32, u32);
|
||||
extern Entity *sub_0804A98C(Entity *positionEntity, u8 subtype, u8 form); // Creates a projectile positioned at the given entity
|
||||
extern void UpdateAnimationSingleFrame(Entity *);
|
||||
extern void InitAnimationForceUpdate(Entity *, u32);
|
||||
extern u32 sub_0806FCB8(Entity *, u32, u32, u32);
|
||||
extern u32 sub_080045C4(Entity *, Entity *);
|
||||
|
||||
|
||||
// Forward references to functions in lakitu.c
|
||||
extern void sub_0803CAD0(Entity *);
|
||||
extern void sub_0803CBAC(Entity *);
|
||||
extern void sub_0803CA84(Entity *, u32);
|
||||
extern bool32 sub_0803CA4C(Entity *);
|
||||
extern bool32 sub_0803CB04(Entity *);
|
||||
extern void Lakitu_SpawnLightning(Entity *);
|
||||
extern void sub_0803CB34(Entity *);
|
||||
extern void sub_0803CC08(Entity *this);
|
||||
|
||||
enum {
|
||||
INIT,
|
||||
HIDDEN,
|
||||
END_HIDE,
|
||||
IDLE,
|
||||
BEGIN_HIDE,
|
||||
LIGHTNING_THROW,
|
||||
LIGHTNING_DELAY,
|
||||
CLOUDLESS,
|
||||
};
|
||||
|
||||
extern void (*const gUnk_080D0110[])(Entity *);
|
||||
extern void (*const LakituActionFuncs[])(Entity *);
|
||||
extern void (*const gUnk_080D0148[])(Entity *);
|
||||
|
||||
typedef struct {
|
||||
s8 x;
|
||||
s8 y;
|
||||
} PACKED OffsetCoords;
|
||||
|
||||
extern const OffsetCoords gUnk_080D0154[];
|
||||
|
||||
#endif // LAKITU_H
|
||||
+2
-1
@@ -22,7 +22,8 @@ typedef struct Manager {
|
||||
/*0x0d*/ u8 unk_0d;
|
||||
/*0x0e*/ u8 unk_0e;
|
||||
/*0x0f*/ u8 unk_0f;
|
||||
/*0x10*/ u8 unk_10[0x4];
|
||||
/*0x10*/ u8 unk_10;
|
||||
/*0x11*/ u8 unk_11[3];
|
||||
/*0x14*/ struct Manager * parent;
|
||||
/*0x18*/ u8 unk_18[0x8];
|
||||
// union SplitHWord unk_20;
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ typedef struct {
|
||||
u8 storyPanelIndex;
|
||||
u16 transitionTimer;
|
||||
u16 field_0xa;
|
||||
u8 field_0xc[0x4];
|
||||
u8* field_0xc;
|
||||
u8 unk10[2];
|
||||
u8 field_0x12;
|
||||
u8 unk13;
|
||||
|
||||
@@ -171,7 +171,6 @@ extern void NPC58(Entity*);
|
||||
extern void NPC58_Head(Entity*);
|
||||
|
||||
extern u32 UpdateFuseInteraction(Entity*);
|
||||
extern void ShowNPCDialogue(Entity*, u32*);
|
||||
|
||||
|
||||
#endif
|
||||
+13
-5
@@ -33,26 +33,32 @@ typedef struct {
|
||||
/*0x30*/ union {
|
||||
/* */ u32 all;
|
||||
/* */ struct {
|
||||
/* */ u32 filler9 : 3;
|
||||
/* */ u32 filler9 : 2;
|
||||
/* */ u32 unk2 : 1;
|
||||
/* */ u32 noMinishCap : 1;
|
||||
/* */ u32 pullingState : 1;
|
||||
/* */ u32 windyState : 1;
|
||||
/* */ u32 filler6 : 1;
|
||||
/* */ u32 unk7 : 1;
|
||||
/* */ u32 filler8 : 2;
|
||||
/* */ u32 unk8 : 1;
|
||||
/* */ u32 unk9 : 1;
|
||||
/* */ u32 slipperyState : 1;
|
||||
/* */ u32 filler11 : 5;
|
||||
/* */ u32 filler11b : 16;
|
||||
/* */ } PACKED b;
|
||||
/* */ } flags;
|
||||
/*0x34*/ u8 field_0x34[6];
|
||||
/*0x34*/ u8 field_0x34[4];
|
||||
/*0x38*/ u8 field_0x38;
|
||||
/*0x39*/ u8 field_0x39;
|
||||
/*0x3a*/ u16 field_0x3a;
|
||||
/*0x3c*/ u8 field_0x3c[2];
|
||||
/*0x3e*/ u8 swordGoldParticle : 1;
|
||||
/* */ u8 swordBlueParticle : 1;
|
||||
/* */ u8 filler14 : 6;
|
||||
/*0x3f*/ u8 field_0x3f;
|
||||
/*0x40*/ u8 field_0x40[75];
|
||||
/*0x40*/ u8 field_0x40[64];
|
||||
/*0x80*/ u16 field_0x80;
|
||||
/*0x82*/ u8 field_0x82[9];
|
||||
/*0x8b*/ u8 field_0x8b;
|
||||
/*0x8c*/ u32 field_0x8c;
|
||||
/*0x90*/ union SplitWord field_0x90;
|
||||
@@ -61,7 +67,8 @@ typedef struct {
|
||||
/*0xa9*/ u8 field_0xa9;
|
||||
/*0xaa*/ u8 field_0xaa;
|
||||
/*0xab*/ u8 field_0xab;
|
||||
/*0xac*/ u32 field_0xac;
|
||||
/*0xac*/ u16 field_0xac;
|
||||
/*0xae*/ u16 field_0xae;
|
||||
} PlayerState;
|
||||
|
||||
|
||||
@@ -99,6 +106,7 @@ typedef struct {
|
||||
} ItemBehavior;
|
||||
|
||||
extern u8 gBombBagSizes[];
|
||||
extern u8 gQuiverSizes[];
|
||||
|
||||
extern PlayerState gPlayerState;
|
||||
extern Stats gStats;
|
||||
|
||||
+29
-23
@@ -12,36 +12,42 @@ typedef struct {
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
u16 unk2;
|
||||
u8 unk3;
|
||||
u8 unk4;
|
||||
u8 areaID;
|
||||
u8 roomID;
|
||||
u16 roomOriginX;
|
||||
u16 roomOriginY;
|
||||
s16 roomScrollX;
|
||||
s16 roomScrollY;
|
||||
u8 unk5;
|
||||
u8 unk6;
|
||||
u8 filler[4];
|
||||
u8 screenShakeMagnitude;
|
||||
u8 unk7;
|
||||
u16 screenShakeTime;
|
||||
u16 filler2[6];
|
||||
u8 filler3[4];
|
||||
union SplitWord bg3OffsetX;
|
||||
union SplitWord bg3OffsetY;
|
||||
Entity* cameraTarget;
|
||||
/*0x00*/ u16 unk2;
|
||||
/*0x02*/ u8 unk3;
|
||||
/*0x03*/ u8 unk4;
|
||||
/*0x04*/ u8 areaID;
|
||||
/*0x05*/ u8 roomID;
|
||||
/*0x06*/ u16 roomOriginX;
|
||||
/*0x08*/ u16 roomOriginY;
|
||||
/*0x0A*/ s16 roomScrollX;
|
||||
/*0x0C*/ s16 roomScrollY;
|
||||
/*0x0E*/ u8 unk5;
|
||||
/*0x0F*/ u8 unk6;
|
||||
/*0x10*/ u8 filler[4];
|
||||
/*0x14*/ u8 screenShakeMagnitude;
|
||||
/*0x15*/ u8 unk7;
|
||||
/*0x16*/ u16 screenShakeTime;
|
||||
/*0x18*/ u16 filler2[3];
|
||||
/*0x1E*/ u16 width;
|
||||
/*0x20*/ u16 height;
|
||||
/*0x22*/ u8 filler3[6];
|
||||
/*0x28*/ union SplitWord bg3OffsetX;
|
||||
/*0x2C*/ union SplitWord bg3OffsetY;
|
||||
/*0x30*/ Entity* cameraTarget;
|
||||
} RoomControls;
|
||||
|
||||
typedef struct {
|
||||
u8 filler[6];
|
||||
u8 filler[4];
|
||||
u8 field_0x4;
|
||||
u8 filler1[1];
|
||||
u8 itemForSaleIndex;
|
||||
u8 field_0x7;
|
||||
u8 field_0x8;
|
||||
u8 field_0x9;
|
||||
u8 unk2;
|
||||
u16 filler2[3];
|
||||
u8 filler2[5];
|
||||
u8 unk_10;
|
||||
u8 filler6[3];
|
||||
u32 roomFlags;
|
||||
u32 unk3;
|
||||
u8 filler4[48];
|
||||
@@ -75,4 +81,4 @@ extern RoomVars gRoomVars;
|
||||
|
||||
extern void SetTileType(u32, u32, u32);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+5
-6
@@ -21,8 +21,7 @@ typedef struct {
|
||||
u16 bg1yOffset;
|
||||
u16 bg2xOffset;
|
||||
u16 bg2yOffset;
|
||||
u16 bg3xOffset;
|
||||
u16 bg3yOffset;
|
||||
void* unk_14;
|
||||
} BgSettings;
|
||||
|
||||
typedef struct {
|
||||
@@ -33,10 +32,10 @@ typedef struct {
|
||||
u16 unk2;
|
||||
u16 unk3;
|
||||
u16 bg3Control;
|
||||
u16 bg3xOffset;
|
||||
u16 bg3yOffset;
|
||||
s16 bg3xOffset;
|
||||
s16 bg3yOffset;
|
||||
u16 unk4;
|
||||
u32 unk5;
|
||||
void* unk5;
|
||||
} BgAffSettings;
|
||||
|
||||
typedef struct {
|
||||
@@ -78,4 +77,4 @@ typedef struct {
|
||||
extern BgControls gBgControls;
|
||||
extern Screen gScreen;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+17
-3
@@ -23,7 +23,7 @@ typedef struct {
|
||||
} struct_0807D1C4;
|
||||
|
||||
#define gUnk_02000000 ((struct_02000000*)(0x2000000))
|
||||
//extern struct_02000000 gUnk_02000000;
|
||||
// extern struct_02000000 gUnk_02000000;
|
||||
|
||||
typedef struct {
|
||||
u8 filler0[0x4];
|
||||
@@ -57,7 +57,7 @@ typedef struct {
|
||||
extern SaveFile gUnk_02002A40;
|
||||
|
||||
typedef struct {
|
||||
u32 frameCount; // regular frame count? does anything reset it?
|
||||
u32 frameCount; // regular frame count? does anything reset it?
|
||||
u8 field_0x4[0x4];
|
||||
bool8 transitioningOut;
|
||||
u8 transitionType; // transition when changing areas
|
||||
@@ -123,7 +123,7 @@ typedef struct {
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u32 field_0x4;
|
||||
u16 fadeType; // fade in or out, are there others?
|
||||
u16 fadeType; // fade in or out, are there others?
|
||||
u16 fadeSpeed; // subtracted from duration
|
||||
u16 fadeDuration;
|
||||
u16 field_0xe;
|
||||
@@ -160,4 +160,18 @@ typedef struct {
|
||||
} struct_02034480;
|
||||
extern struct_02034480 gUnk_02034480;
|
||||
|
||||
typedef struct {
|
||||
u32 flag : 12;
|
||||
u32 flagType : 4;
|
||||
u32 type : 4;
|
||||
u32 unk : 1;
|
||||
union {
|
||||
struct {
|
||||
u16 a;
|
||||
u16 b;
|
||||
} indices;
|
||||
void (*func)(Entity*);
|
||||
} data;
|
||||
} Dialog;
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user