From d1381d8b77ee691cc5dc1fe1fdcb158e7524283a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 9 Oct 2018 21:17:43 -0400 Subject: Start decompiling quest_log.o --- include/global.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index 11a79ebe8..791eb2dbf 100644 --- a/include/global.h +++ b/include/global.h @@ -474,6 +474,11 @@ struct MysteryEventStruct u8 unk_1; }; +struct QuestLog +{ + /*0x0000*/ u8 filler_0000[0x19a0]; +}; + #define MAP_OBJECTS_COUNT 16 #define BERRY_TREES_COUNT 128 #define FLAGS_COUNT 300 @@ -494,7 +499,9 @@ struct SaveBlock1 /*0x63a*/ u8 trainerRematches[100]; /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; - /*0x0EE0*/ u8 fillerEE0[0x2580]; + /*0x0EE0*/ u8 fillerEE0[0x420]; + /*0x1300*/ struct QuestLog questLog; + /*0x2ca0*/ u8 filler2CA0[0x7c0]; /*0x3460*/ struct MysteryEventStruct unk_3460; /*0x3464*/ u8 filler_3464[0x1b8]; /*0x361C*/ struct RamScript ramScript; -- cgit v1.2.3 From f5964c58bd51718381c5492c063662354a86309e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 9 Oct 2018 21:28:20 -0400 Subject: through sub_811092C --- include/global.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index 791eb2dbf..e1b6ff579 100644 --- a/include/global.h +++ b/include/global.h @@ -476,7 +476,7 @@ struct MysteryEventStruct struct QuestLog { - /*0x0000*/ u8 filler_0000[0x19a0]; + /*0x0000*/ u8 filler_000[0x668]; }; #define MAP_OBJECTS_COUNT 16 @@ -500,7 +500,7 @@ struct SaveBlock1 /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; /*0x0EE0*/ u8 fillerEE0[0x420]; - /*0x1300*/ struct QuestLog questLog; + /*0x1300*/ struct QuestLog questLog[4]; /*0x2ca0*/ u8 filler2CA0[0x7c0]; /*0x3460*/ struct MysteryEventStruct unk_3460; /*0x3464*/ u8 filler_3464[0x1b8]; -- cgit v1.2.3 From b78aef06258d5bc6f44cdcc43987a5dd11f1d975 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 10 Oct 2018 07:59:47 -0400 Subject: sub_8110944 --- include/global.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index e1b6ff579..907dc7eaa 100644 --- a/include/global.h +++ b/include/global.h @@ -476,7 +476,9 @@ struct MysteryEventStruct struct QuestLog { - /*0x0000*/ u8 filler_000[0x668]; + /*0x0000*/ u8 filler_000[0x568]; + /*0x0568*/ u8 filler_568[0x100]; + /*0x0668*/ u8 end[0]; }; #define MAP_OBJECTS_COUNT 16 -- cgit v1.2.3 From 572929c3523aeb2f563821f07724f5356df61d76 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 10 Oct 2018 11:25:05 -0400 Subject: sub_8110BB0 --- include/global.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index 907dc7eaa..4efd21e48 100644 --- a/include/global.h +++ b/include/global.h @@ -476,7 +476,13 @@ struct MysteryEventStruct struct QuestLog { - /*0x0000*/ u8 filler_000[0x568]; + /*0x0000*/ u8 unk_000; + /*0x0001*/ s8 unk_001; + /*0x0002*/ s8 unk_002; + /*0x0003*/ s8 unk_003; + /*0x0004*/ s16 unk_004; + /*0x0006*/ s16 unk_006; + /*0x0008*/ u8 filler_008[0x560]; /*0x0568*/ u8 filler_568[0x100]; /*0x0668*/ u8 end[0]; }; @@ -489,7 +495,7 @@ struct QuestLog struct SaveBlock1 { - /*0x0000*/ u8 filler[0x4]; + /*0x0000*/ struct Coords16 pos; /*0x0004*/ struct WarpData location; /*0x0C*/ struct WarpData warp1; /*0x14*/ struct WarpData warp2; -- cgit v1.2.3 From 7e35bd4266a9573a6fbc6d73efb5175a44ba5b93 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 10 Oct 2018 19:43:12 -0400 Subject: nonmatching sub_8110BE8 --- include/global.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index 4efd21e48..1655ac4e3 100644 --- a/include/global.h +++ b/include/global.h @@ -474,6 +474,16 @@ struct MysteryEventStruct u8 unk_1; }; +struct QuestLogNPCData +{ + u32 x:8; + u32 negx:1; + u32 y:8; + u32 negy:1; + u32 elevation:6; + u32 movementType:8; +}; + struct QuestLog { /*0x0000*/ u8 unk_000; @@ -482,7 +492,8 @@ struct QuestLog /*0x0003*/ s8 unk_003; /*0x0004*/ s16 unk_004; /*0x0006*/ s16 unk_006; - /*0x0008*/ u8 filler_008[0x560]; + /*0x0008*/ u8 filler_008[0x460]; + /*0x0468*/ struct QuestLogNPCData npcData[64]; /*0x0568*/ u8 filler_568[0x100]; /*0x0668*/ u8 end[0]; }; -- cgit v1.2.3 From 230f58b77dae53c2934cafbff6ef96807232a9d0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 11 Oct 2018 10:13:08 -0400 Subject: through sub_8110E20 --- include/global.h | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index 1655ac4e3..f1efeb4e0 100644 --- a/include/global.h +++ b/include/global.h @@ -492,7 +492,9 @@ struct QuestLog /*0x0003*/ s8 unk_003; /*0x0004*/ s16 unk_004; /*0x0006*/ s16 unk_006; - /*0x0008*/ u8 filler_008[0x460]; + /*0x0008*/ u8 filler_008[0x140]; + /*0x0148*/ u8 unk_148[0x120]; + /*0x02c8*/ u8 unk_268[0x200]; /*0x0468*/ struct QuestLogNPCData npcData[64]; /*0x0568*/ u8 filler_568[0x100]; /*0x0668*/ u8 end[0]; @@ -500,7 +502,7 @@ struct QuestLog #define MAP_OBJECTS_COUNT 16 #define BERRY_TREES_COUNT 128 -#define FLAGS_COUNT 300 +#define FLAGS_COUNT 288 // 300 #define VARS_COUNT 256 #define MAIL_COUNT 16 @@ -512,13 +514,26 @@ struct SaveBlock1 /*0x14*/ struct WarpData warp2; /*0x1C*/ struct WarpData lastHealLocation; /*0x24*/ struct WarpData warp4; - /*0x002C*/ u8 filler2C[0x60C]; + /*0x2C*/ u16 savedMusic; + /*0x2E*/ u8 weather; + /*0x2F*/ u8 filler_2F; + /*0x30*/ u8 flashLevel; + /*0x32*/ u16 mapDataId; + /*0x34*/ u16 mapView[0x100]; + /*0x234*/ u8 playerPartyCount; + /*0x238*/ struct Pokemon playerParty[PARTY_SIZE]; + /*0x490*/ u32 money; + /*0x494*/ u16 coins; + /*0x496*/ u16 registeredItem; // registered for use with SELECT button + /*0x498*/ u8 filler_0498[0x1a0]; /*0x638*/ u8 trainerRematchStepCounter; u8 filler_639; /*0x63a*/ u8 trainerRematches[100]; /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; - /*0x0EE0*/ u8 fillerEE0[0x420]; + /*0x0EE0*/ u8 flags[FLAGS_COUNT]; + /*0x1000*/ u16 vars[VARS_COUNT]; + /*0x1200*/ u8 filler1200[0x100]; /*0x1300*/ struct QuestLog questLog[4]; /*0x2ca0*/ u8 filler2CA0[0x7c0]; /*0x3460*/ struct MysteryEventStruct unk_3460; -- cgit v1.2.3 From 913f2a9a1d88ca8fb86557cc265cd6ca7fac80e4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 11 Oct 2018 17:21:45 -0400 Subject: through sub_811175C --- include/global.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index f1efeb4e0..5cbdbb360 100644 --- a/include/global.h +++ b/include/global.h @@ -496,8 +496,8 @@ struct QuestLog /*0x0148*/ u8 unk_148[0x120]; /*0x02c8*/ u8 unk_268[0x200]; /*0x0468*/ struct QuestLogNPCData npcData[64]; - /*0x0568*/ u8 filler_568[0x100]; - /*0x0668*/ u8 end[0]; + /*0x0568*/ u16 unk_568[0x80]; + /*0x0668*/ u16 end[0]; }; #define MAP_OBJECTS_COUNT 16 -- cgit v1.2.3 From 7670f0527fcbd49269ed52a52b8fa3e30353ef64 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 16 Oct 2018 18:05:39 -0700 Subject: through sub_8113414 --- include/global.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index ee64e855a..0857d552a 100644 --- a/include/global.h +++ b/include/global.h @@ -237,7 +237,9 @@ struct SaveBlock2 /*0x098*/ struct Time localTimeOffset; /*0x0A0*/ struct Time lastBerryTreeUpdate; /*0x0A8*/ u32 field_A8; - /*0x0AC*/ u8 filler_AC[0xE74]; + /*0x0AC*/ u8 filler_AC[0x9ec]; + /*0xA98*/ u8 unk_A98[2][16]; + /*0xAB8*/ u8 filler_AB8[0x468]; /*0xF20*/ u32 encryptionKey; }; -- cgit v1.2.3 From 5819c8a97e7a24e8c86afda2f0bcf659d6fc4893 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 5 Nov 2018 17:45:21 -0500 Subject: sub_8113ABC --- include/global.h | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index b1604e1d6..50d979cba 100644 --- a/include/global.h +++ b/include/global.h @@ -503,6 +503,25 @@ struct QuestLogNPCData u32 movementType:8; }; +struct UnkStruct_203B024_Sub1 +{ + u8 unk_00; + u8 unk_01; + u8 filler_02[26]; +}; + +union UnkUnion_203B024 +{ + struct UnkStruct_203B024_Sub1 type1; + u8 filler[28]; +}; + +struct UnkStruct_203B024 +{ + u16 unk_00; + union UnkUnion_203B024 unk_04; +}; + struct QuestLog { /*0x0000*/ u8 unk_000; @@ -515,7 +534,7 @@ struct QuestLog /*0x0148*/ u8 unk_148[0x120]; /*0x02c8*/ u8 unk_268[0x200]; /*0x0468*/ struct QuestLogNPCData npcData[64]; - /*0x0568*/ u16 unk_568[0x80]; + /*0x0568*/ struct UnkStruct_203B024 unk_568[8]; /*0x0668*/ u16 end[0]; }; -- cgit v1.2.3 From ed3cc83264cf25acb4889508ffc6b878b1e1d095 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 5 Nov 2018 22:19:53 -0500 Subject: nonmatching sub_8113AE8 --- include/global.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index 50d979cba..6a178feb6 100644 --- a/include/global.h +++ b/include/global.h @@ -519,6 +519,7 @@ union UnkUnion_203B024 struct UnkStruct_203B024 { u16 unk_00; + u16 unk_02; union UnkUnion_203B024 unk_04; }; -- cgit v1.2.3 From 6317f0180e191fb7c426eaf38b2dd631d9694146 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 9 Nov 2018 08:28:39 -0500 Subject: Start to refactor some of the data components --- include/global.h | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index 6a178feb6..11c0e61e3 100644 --- a/include/global.h +++ b/include/global.h @@ -503,24 +503,29 @@ struct QuestLogNPCData u32 movementType:8; }; -struct UnkStruct_203B024_Sub1 +struct UnkStruct_203B024 { - u8 unk_00; - u8 unk_01; - u8 filler_02[26]; + u16 unk_00; + u16 unk_02; + u16 unk_04[14]; }; -union UnkUnion_203B024 +union QuestLogScene { - struct UnkStruct_203B024_Sub1 type1; - u8 filler[28]; + u8 allocation[32]; + u16 ident; }; -struct UnkStruct_203B024 +typedef union QuestLogScene QuestLogScene; + +union QuestLogMovement; +union QuestLogMovement { - u16 unk_00; - u16 unk_02; - union UnkUnion_203B024 unk_04; + u16 ident_raw; + struct { + u16 ident:12; + u16 flags:4; + } ident_struct; }; struct QuestLog @@ -535,7 +540,7 @@ struct QuestLog /*0x0148*/ u8 unk_148[0x120]; /*0x02c8*/ u8 unk_268[0x200]; /*0x0468*/ struct QuestLogNPCData npcData[64]; - /*0x0568*/ struct UnkStruct_203B024 unk_568[8]; + /*0x0568*/ u16 unk_568[128]; /*0x0668*/ u16 end[0]; }; -- cgit v1.2.3 From d6233c5b3b7539469e028838b1e548b6c39ce784 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 9 Nov 2018 12:33:20 -0500 Subject: Fix C/C++ errors generated by CLion IDE --- include/global.h | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index 11c0e61e3..9db1443c2 100644 --- a/include/global.h +++ b/include/global.h @@ -3,6 +3,7 @@ #include "config.h" #include "gba/gba.h" +#include // Prevent cross-jump optimization. #define BLOCK_CROSS_JUMP asm(""); @@ -12,10 +13,18 @@ #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") #if defined (__APPLE__) || defined (__CYGWIN__) -void *memset(void *, int, size_t); -void *memcpy(void *, const void *, size_t); -int strcmp(const char *s1, const char *s2); -char* strcpy(char *dst0, const char *src0); +// Get the IDE to stfu + +// We define it this way to fool preproc. +#define INCBIN(x) {0} +#define INCBIN_U8 INCBIN +#define INCBIN_U16 INCBIN +#define INCBIN_U32 INCBIN +#define INCBIN_S8 INCBIN +#define INCBIN_S16 INCBIN +#define INCBIN_S32 INCBIN +#define _(x) (x) +#define __(x) (x) #endif // __APPLE__ #define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0])) @@ -518,7 +527,12 @@ union QuestLogScene typedef union QuestLogScene QuestLogScene; +// This name is a complete guess and may change. + +// Declare here so that it can be recursively referenced. union QuestLogMovement; + +// Define here union QuestLogMovement { u16 ident_raw; @@ -537,8 +551,11 @@ struct QuestLog /*0x0004*/ s16 unk_004; /*0x0006*/ s16 unk_006; /*0x0008*/ u8 filler_008[0x140]; - /*0x0148*/ u8 unk_148[0x120]; - /*0x02c8*/ u8 unk_268[0x200]; + + // These arrays hold the game state for + // playing back the quest log + /*0x0148*/ u8 flags[0x120]; + /*0x02c8*/ u16 vars[0x100]; /*0x0468*/ struct QuestLogNPCData npcData[64]; /*0x0568*/ u16 unk_568[128]; /*0x0668*/ u16 end[0]; -- cgit v1.2.3 From 76f0c361edf91c3825b7a4344186150de0ce3469 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 21 Nov 2018 20:11:12 -0500 Subject: Try and guess what some of this stuff in crt0.s is --- include/global.h | 94 +++++++++++++++++++++++++++++++++----------------------- 1 file changed, 55 insertions(+), 39 deletions(-) (limited to 'include/global.h') diff --git a/include/global.h b/include/global.h index 9db1443c2..050e200f9 100644 --- a/include/global.h +++ b/include/global.h @@ -155,6 +155,8 @@ struct Time /*0x04*/ s8 seconds; }; +#define DEX_FLAGS_NO ((POKEMON_SLOTS_NUMBER / 8) + ((POKEMON_SLOTS_NUMBER % 8) ? 1 : 0)) + struct Pokedex { /*0x00*/ u8 order; @@ -164,8 +166,8 @@ struct Pokedex /*0x04*/ u32 unownPersonality; // set when you first see Unown /*0x08*/ u32 spindaPersonality; // set when you first see Spinda /*0x0C*/ u32 unknown3; - /*0x10*/ u8 owned[52]; - /*0x44*/ u8 seen[52]; + /*0x10*/ u8 owned[DEX_FLAGS_NO]; + /*0x44*/ u8 seen[DEX_FLAGS_NO]; }; struct PokemonJumpResults // possibly used in the game itself? @@ -514,9 +516,9 @@ struct QuestLogNPCData struct UnkStruct_203B024 { - u16 unk_00; - u16 unk_02; - u16 unk_04[14]; + u16 unk_00; + u16 unk_02; + u16 unk_04[14]; }; union QuestLogScene @@ -535,11 +537,11 @@ union QuestLogMovement; // Define here union QuestLogMovement { - u16 ident_raw; - struct { - u16 ident:12; - u16 flags:4; - } ident_struct; + u16 ident_raw; + struct { + u16 ident:12; + u16 flags:4; + } ident_struct; }; struct QuestLog @@ -571,30 +573,31 @@ struct SaveBlock1 { /*0x0000*/ struct Coords16 pos; /*0x0004*/ struct WarpData location; - /*0x0C*/ struct WarpData warp1; - /*0x14*/ struct WarpData warp2; - /*0x1C*/ struct WarpData lastHealLocation; - /*0x24*/ struct WarpData warp4; - /*0x2C*/ u16 savedMusic; - /*0x2E*/ u8 weather; - /*0x2F*/ u8 filler_2F; - /*0x30*/ u8 flashLevel; - /*0x32*/ u16 mapDataId; - /*0x234*/ u8 playerPartyCount; - /*0x238*/ struct Pokemon playerParty[PARTY_SIZE]; - /*0x490*/ u32 money; - /*0x494*/ u16 coins; - /*0x496*/ u16 registeredItem; // registered for use with SELECT button - /*0x0298*/ u8 filler298[0x78]; - /*0x0310*/ struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT]; - /*0x????*/ struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT]; - /*0x????*/ struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT]; - /*0x????*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT]; - /*0x????*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT]; - /*0x05F8*/ u8 filler5F8[0x40]; - /*0x638*/ u8 trainerRematchStepCounter; - u8 filler_639; - /*0x63A*/ u8 trainerRematches[100]; + /*0x000C*/ struct WarpData warp1; + /*0x0014*/ struct WarpData warp2; + /*0x001C*/ struct WarpData lastHealLocation; + /*0x0024*/ struct WarpData warp4; + /*0x002C*/ u16 savedMusic; + /*0x002E*/ u8 weather; + /*0x002F*/ u8 filler_2F; + /*0x0030*/ u8 flashLevel; + /*0x0032*/ u16 mapDataId; + /*0x0034*/ u8 playerPartyCount; + /*0x0038*/ struct Pokemon playerParty[PARTY_SIZE]; + /*0x0290*/ u32 money; + /*0x0294*/ u16 coins; + /*0x0296*/ u16 registeredItem; // registered for use with SELECT button + /*0x0298*/ u8 filler298[0x78]; + /*0x0310*/ struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT]; + /*0x03b8*/ struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT]; + /*0x0430*/ struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT]; + /*0x0464*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT]; + /*0x054c*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT]; + /*0x05F8*/ u8 seen1[DEX_FLAGS_NO]; + /*0x062C*/ u8 filler_062c[12]; + /*0x0638*/ u8 trainerRematchStepCounter; + u8 filler_639; + /*0x063A*/ u8 trainerRematches[100]; /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; /*0x0EE0*/ u8 flags[FLAGS_COUNT]; @@ -602,14 +605,27 @@ struct SaveBlock1 /*0x1200*/ u8 filler1200[0x100]; /*0x1300*/ struct QuestLog questLog[4]; /*0x2CA0*/ u8 filler2CA0[0x30]; - /*0x2CD0*/ struct MailStruct mail[MAIL_COUNT]; - /*0x2F10*/ u8 filler2F10[0x1DA]; - /*0x30EC*/ struct EnigmaBerry enigmaBerry; - /*0x3120*/ u8 filler3120[0x340]; + /*0x2CD0*/ struct MailStruct mail[MAIL_COUNT]; + /*0x2F10*/ u8 filler2F10[0x184]; + struct { + /*0x3094*/ u8 unknown1[8]; + /*0x309C*/ u8 giftRibbons[11]; + /*0x30A7*/ u8 unknown2[8]; + /*0x30AF*/ u32 currentPokeCoupons; + /*0x30B3*/ u32 totalEarnedPokeCoupons; + /*0x30B7*/ u8 unknown3[6]; + /*0x30BD*/ u8 receivedWishmakerJirachi; + /*0x30BE*/ u8 unknown4[18]; + } __attribute__((packed)) externalReservedData; + /*0x30D0*/ struct Roamer roamer; + /*0x30EC*/ struct EnigmaBerry enigmaBerry; + /*0x3120*/ u8 filler3120[0x340]; /*0x3460*/ struct MysteryEventStruct unk_3460; /*0x3464*/ u8 filler_3464[0x1b8]; /*0x361C*/ struct RamScript ramScript; - /*0x3A08*/ u8 filler3A08[0x44]; + /*0x3A08*/ u8 filler3A08[12]; + /*0x3A14*/ u8 seen2[DEX_FLAGS_NO]; + /*0x3A48*/ u8 filler_3a48[4]; /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH]; /*0x3A54*/ u8 filler3A54[0x2E4]; u32 unkArray[4][3]; -- cgit v1.2.3