diff options
| author | notyourav <65437533+notyourav@users.noreply.github.com> | 2022-09-05 11:38:44 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-05 11:38:44 -0700 |
| commit | c0904a0b7d0b907e114d98c267222a72fc0edb00 (patch) | |
| tree | a54124e7cf369b2ca5f925d7aa4ee4e13f931dff /include | |
| parent | 3ecaa31df011cc6e77fe1dd4e02fe90f14fae65e (diff) | |
| parent | a83c83ee8cc500f3128902a1c1c47c9ba2ae4981 (diff) | |
Merge pull request #571 from octorock/data
Diffstat (limited to 'include')
| -rw-r--r-- | include/area.h | 9 | ||||
| -rw-r--r-- | include/backgroundAnimations.h | 35 | ||||
| -rw-r--r-- | include/beanstalkSubtask.h | 21 | ||||
| -rw-r--r-- | include/collision.h | 2 | ||||
| -rw-r--r-- | include/common.h | 9 | ||||
| -rw-r--r-- | include/enemy.h | 2 | ||||
| -rw-r--r-- | include/flags.h | 25 | ||||
| -rw-r--r-- | include/functions.h | 3 | ||||
| -rw-r--r-- | include/kinstone.h | 12 | ||||
| -rw-r--r-- | include/manager.h | 2 | ||||
| -rw-r--r-- | include/manager/miscManager.h | 2 | ||||
| -rw-r--r-- | include/screenTransitions.h | 37 | ||||
| -rw-r--r-- | include/subtask.h | 2 |
13 files changed, 128 insertions, 33 deletions
diff --git a/include/area.h b/include/area.h index bffd9b43..ce25c8df 100644 --- a/include/area.h +++ b/include/area.h @@ -21,12 +21,11 @@ typedef struct { static_assert(sizeof(RoomResInfo) == 0x20); typedef struct { - u8 inventoryGfxIdx; - u8 unk29; - u8 unk2a; + u8 textBaseIndex; + u8 textIndexOffset; + u8 currentHint; u8 unk2b; - u16 unk2C[7]; - u16 unk3E; + u16 ezloHintTexts[8]; } struct_area_28; typedef struct { diff --git a/include/backgroundAnimations.h b/include/backgroundAnimations.h new file mode 100644 index 00000000..104044ed --- /dev/null +++ b/include/backgroundAnimations.h @@ -0,0 +1,35 @@ +#ifndef BACKGROUNDANIMATIONS_H +#define BACKGROUNDANIMATIONS_H + +#include "global.h" + +enum { + BG_ANIM_DEFAULT = 0, + BG_ANIM_PALETTE = 16, + BG_ANIM_MULTIPLE = 128, +} BgAnimFlags; + +typedef struct { + u16 vramOffset; + u8 gfxSize; + u8 flags; /**< @see BgAnimFlags */ + u32 gfxOffset; +} BgAnimationGfx; + +typedef struct { + const BgAnimationGfx* gfx; + u32 unk_4; +} BgAnimationFrame; + +typedef struct { + const BgAnimationFrame* currentFrame; + u16 unk_4; + u16 timer; +} BgAnimation; +#define MAX_BG_ANIMATIONS 8 +extern BgAnimation gBgAnimations[MAX_BG_ANIMATIONS]; + +extern const u16* const gUnk_080B755C[]; +extern const u16 gUnk_080B77C0[]; + +#endif // BACKGROUNDANIMATIONS_H diff --git a/include/beanstalkSubtask.h b/include/beanstalkSubtask.h index e8d6c3b2..15348f87 100644 --- a/include/beanstalkSubtask.h +++ b/include/beanstalkSubtask.h @@ -14,23 +14,8 @@ typedef struct { extern struct_0200B240 gUnk_0200B240[MAX_0200B240]; typedef struct { - u16 vramOffset; - u8 gfxSize; - u8 unk_3; - u32 gfxOffset; -} BgAnimationGfx; - -typedef struct { - BgAnimationGfx* gfx; - u32 unk_4; -} BgAnimationFrame; - -typedef struct { - BgAnimationFrame* currentFrame; - u16 unk_4; - u16 timer; -} BgAnimation; -#define MAX_BG_ANIMATIONS 8 -extern BgAnimation gBgAnimations[MAX_BG_ANIMATIONS]; + u16 collision; + u16 tileIndex; +} struct_080B44D0; #endif // BEANSTALKSUBTASK_H diff --git a/include/collision.h b/include/collision.h index eb5ec380..af8ba984 100644 --- a/include/collision.h +++ b/include/collision.h @@ -39,4 +39,6 @@ void CalculateEntityTileCollisions(Entity*, u32, u32); bool32 ProcessMovementInternal(Entity*, s32, s32, u32); u32 sub_080176E4(Entity*); +extern const u8 gUnk_080B37A0[]; // unkData3 for tileType? + #endif // COLLISION_H diff --git a/include/common.h b/include/common.h index 9108cf9a..ce4a0968 100644 --- a/include/common.h +++ b/include/common.h @@ -142,4 +142,13 @@ u32 sub_0801E00C(void); bool32 sub_0801E810(u32); u32 sub_0801DB94(void); +typedef struct { + u8 unk_0; + u8 unk_1; + u8 unk_2; + // u8 pad; +} struct_080C9C6C; + +extern const struct_080C9C6C gUnk_080C9C6C[]; + #endif // COMMON_H diff --git a/include/enemy.h b/include/enemy.h index 7183030a..8142c344 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -184,7 +184,7 @@ void Helmasaur(Entity*); void FallingBoulder(Entity*); void Bobomb(Entity*); void WallMaster2(Entity*); -void Gleerok(Entity*); +void Gleerok(); void VaatiEyesMacro(Entity*); void Tektite(Entity*); void WizzrobeWind(); diff --git a/include/flags.h b/include/flags.h index 681e1b8c..4bd53cb0 100644 --- a/include/flags.h +++ b/include/flags.h @@ -6,8 +6,8 @@ bool32 CheckFlags(u32); bool32 CheckGlobalFlag(u32); bool32 CheckGlobalFlags(u32, u32); -extern bool32 CheckLocalFlag(u32); -extern bool32 CheckLocalFlagByBank(u32, u32); +extern bool32 CheckLocalFlag(u32 flag); +extern bool32 CheckLocalFlagByBank(u32 bank, u32 flag); bool32 CheckLocalFlags(u32, u32); bool32 CheckLocalFlagsByBank(u32, u32, u32); bool32 CheckRoomFlag(u32); @@ -32,6 +32,27 @@ extern u32 ClearBit(void*, u32); extern const u16 gLocalFlagBanks[]; +/** + * For indexing into gLocalFlagBanks. + * Annoyingly they are offset by 1. Needs to be taken into account whereever gLocalFlagBanks is used. + */ +enum LocalBanks { + LOCAL_BANK_G, + LOCAL_BANK_0, + LOCAL_BANK_1, + LOCAL_BANK_2, + LOCAL_BANK_3, + LOCAL_BANK_4, + LOCAL_BANK_5, + LOCAL_BANK_6, + LOCAL_BANK_7, + LOCAL_BANK_8, + LOCAL_BANK_9, + LOCAL_BANK_10, + LOCAL_BANK_11, + LOCAL_BANK_12, +}; + enum LocalFlagOffsets { FLAG_BANK_G = 0, FLAG_BANK_0 = 0, diff --git a/include/functions.h b/include/functions.h index aeaf26f1..b526cb06 100644 --- a/include/functions.h +++ b/include/functions.h @@ -49,7 +49,6 @@ extern void UpdateDisplayControls(void); // Unidentified extern void sub_08000148(u32, u32, u32); extern u32 sub_080B1A0C(Entity*, s32, s32); -extern u32 sub_080B1A48(u32, u32, u32); extern u32 sub_080B1AE0(u16, u8); extern u32 sub_080B1AF0(Entity*, s32, s32); extern u32 sub_080B1B18(s32, s32, u32); @@ -100,7 +99,7 @@ extern void sub_0805F8E4(u32 r0, WStruct* r1); extern void sub_08060158(Entity*); extern void sub_0806D0B0(Entity*); extern bool32 sub_080806BC(u32, u32, u32, u32); -extern void sub_0808091C(const ScreenTransitionData*, u32); +extern void sub_0808091C(const ScreenTransitionData* screenTransition, u32 transitionType); extern void sub_080809D4(void); extern void sub_08080CB4(Entity*); extern u32 sub_0808288C(Entity*, u32, u32, u32); diff --git a/include/kinstone.h b/include/kinstone.h index d9980699..663b5347 100644 --- a/include/kinstone.h +++ b/include/kinstone.h @@ -28,9 +28,10 @@ typedef struct { u8 unk3; u8 evt_type; u8 unk5; - u8 _5[2]; + u8 unk6; + u8 unk7; } struct_080C9CBC; -extern struct_080C9CBC gUnk_080C9CBC[]; +extern const struct_080C9CBC gUnk_080C9CBC[]; typedef enum { KINSTONE_0, @@ -131,4 +132,11 @@ typedef enum { KINSTONE_5F, } KinstoneFlag; +typedef struct { + u8 unk0; /**< Bank or 0xfd or 0xfe or 0xff */ + u8 unk1; /**< Flag, for bank=0xfd: Kinstone, for bank=0xfe: Item */ + u8 unk2; /**< Gfx id in the inventory? */ + u8 unk3; /**< Offset on the gfx id? */ +} struct_gUnk_080B3D20; + #endif // KINSTONE_H diff --git a/include/manager.h b/include/manager.h index ac43dd63..f95029b0 100644 --- a/include/manager.h +++ b/include/manager.h @@ -159,6 +159,6 @@ extern void RegisterTransitionManager(void* mgr, void (*onEnter)(), void (*onExi extern u32 sub_0805ACC0(Entity*); extern void sub_0801855C(void); -extern void sub_080186C0(u32); +extern void SetNextAreaHint(u32 textId); #endif // MANAGER_H diff --git a/include/manager/miscManager.h b/include/manager/miscManager.h index 6c763ca1..bde8388b 100644 --- a/include/manager/miscManager.h +++ b/include/manager/miscManager.h @@ -9,7 +9,7 @@ typedef struct { s16 unk_38; s16 unk_3a; u16 unk_3c; - u16 unk_3e; + u16 flags; } MiscManager; #endif // MISCMANAGER_H diff --git a/include/screenTransitions.h b/include/screenTransitions.h new file mode 100644 index 00000000..fa1d98b5 --- /dev/null +++ b/include/screenTransitions.h @@ -0,0 +1,37 @@ +#ifndef SCREENTRANSITIONS_H +#define SCREENTRANSITIONS_H + +#include "room.h" + +extern const ScreenTransitionData* const gWallMasterScreenTransitions[]; +extern const ScreenTransitionData gUnk_0813AB58; +extern const ScreenTransitionData gUnk_0813AB6C; +extern const ScreenTransitionData gUnk_0813AB80; +extern const ScreenTransitionData gUnk_0813AB94; +extern const ScreenTransitionData gUnk_0813ABA8; +extern const ScreenTransitionData gUnk_0813ABBC; +extern const ScreenTransitionData gUnk_0813ABD0; +extern const ScreenTransitionData gUnk_0813ABE4; +extern const ScreenTransitionData gUnk_0813ABF8; +extern const ScreenTransitionData gUnk_0813AC0C; +extern const ScreenTransitionData gUnk_0813AC20; +extern const ScreenTransitionData gUnk_0813AC34; +extern const ScreenTransitionData gUnk_0813AC48; +extern const ScreenTransitionData gUnk_0813AC5C; +extern const ScreenTransitionData gUnk_0813AC70; +extern const ScreenTransitionData gUnk_0813AC84; +extern const ScreenTransitionData gUnk_0813AC98; +extern const ScreenTransitionData gUnk_0813ACAC; +extern const ScreenTransitionData gUnk_0813ACC0; +extern const ScreenTransitionData gUnk_0813ACD4; +extern const ScreenTransitionData gUnk_0813ACE8; +extern const ScreenTransitionData gUnk_0813ACFC; +extern const ScreenTransitionData gUnk_0813AD10; // w +extern const ScreenTransitionData gUnk_0813AD24; // m +extern const ScreenTransitionData gUnk_0813AD38; // l +extern const ScreenTransitionData gUnk_0813AD4C; +extern const ScreenTransitionData gUnk_0813AD60; +extern const ScreenTransitionData gUnk_0813AD74; +extern const ScreenTransitionData gUnk_0813AD88[]; +extern const ScreenTransitionData gUnk_0813ADEC[]; +#endif // SCREENTRANSITIONS_H diff --git a/include/subtask.h b/include/subtask.h index 46412946..3a2fc5b8 100644 --- a/include/subtask.h +++ b/include/subtask.h @@ -47,7 +47,7 @@ extern void sub_080A4E84(u8); extern const struct { u8 unk0; u8 unk1; - u8 filler[2]; + // u8 pad[2]; void (*func)(void); } gUnk_08128A38[]; |
