Rework UnkSubstruct_203F458_000C_004 structure

This commit is contained in:
scnorton
2019-01-03 16:13:18 -05:00
parent 0bf0161379
commit 3e4a7c8edd
2 changed files with 106 additions and 77 deletions
+99 -72
View File
@@ -94,7 +94,7 @@ enum LanguageId {
LANGUAGE_ITALIAN = 4, LANGUAGE_ITALIAN = 4,
LANGUAGE_GERMAN = 5, LANGUAGE_GERMAN = 5,
// 6 goes unused but the theory is it was meant to be Korean // 6 goes unused but the theory is it was meant to be Korean
LANGUAGE_SPANISH = 7, LANGUAGE_SPANISH = 7,
}; };
#define GAME_LANGUAGE (LANGUAGE_ENGLISH) #define GAME_LANGUAGE (LANGUAGE_ENGLISH)
@@ -228,17 +228,44 @@ struct BerryCrush
struct LinkBattleRecord struct LinkBattleRecord
{ {
u8 name[PLAYER_NAME_LENGTH]; u8 name[PLAYER_NAME_LENGTH];
u16 trainerId; u16 trainerId;
u16 wins; u16 wins;
u16 losses; u16 losses;
u16 draws; u16 draws;
}; };
struct LinkBattleRecords struct LinkBattleRecords
{ {
struct LinkBattleRecord entries[LINK_B_RECORDS_COUNT]; struct LinkBattleRecord entries[LINK_B_RECORDS_COUNT];
u8 languages[LINK_B_RECORDS_COUNT]; u8 languages[LINK_B_RECORDS_COUNT];
};
struct BattleTowerPokemon
{
u16 species;
u16 heldItem;
u16 moves[4];
u8 level;
u8 ppBonuses;
u8 hpEV;
u8 attackEV;
u8 defenseEV;
u8 speedEV;
u8 spAttackEV;
u8 spDefenseEV;
u32 otId;
u32 hpIV:5;
u32 attackIV:5;
u32 defenseIV:5;
u32 speedIV:5;
u32 spAttackIV:5;
u32 spDefenseIV:5;
u32 gap:1;
u32 altAbility:1;
u32 personality;
u8 nickname[POKEMON_NAME_LENGTH + 1];
u8 friendship;
}; };
struct UnknownSaveBlock2Struct struct UnknownSaveBlock2Struct
@@ -263,17 +290,17 @@ struct UnknownSaveBlock2Struct
struct UnkSaveBlock2Substruct_55C struct UnkSaveBlock2Substruct_55C
{ {
/* 0x000:0x55C */ u8 unk_00_0:1; /* 0x000:0x55C */ u8 unk_00_0:1;
u8 unk_00_1:1; u8 unk_00_1:1;
/* 0x001:0x55D */ u8 unk_01; /* 0x001:0x55D */ u8 unk_01;
/* 0x002:0x55E */ u8 unk_02[2]; /* 0x002:0x55E */ u8 unk_02[2];
/* 0x004:0x560 */ u16 unk_04[2]; /* 0x004:0x560 */ u16 unk_04[2];
/* 0x008:0x564 */ u16 unk_08[2]; /* 0x008:0x564 */ u16 unk_08[2];
/* 0x00C:0x568 */ u16 unk_0C[2]; /* 0x00C:0x568 */ u16 unk_0C[2];
/* 0x010:0x56C */ u8 unk_10; /* 0x010:0x56C */ u8 unk_10;
/* 0x011:0x56D */ u8 unk_11[3]; /* 0x011:0x56D */ u8 unk_11[3];
/* 0x014:0x570 */ u16 unk_14; /* 0x014:0x570 */ u16 unk_14;
/* 0x016:0x572 */ u8 unk_16; /* 0x016:0x572 */ u8 unk_16;
}; // size: 0x018 }; // size: 0x018
struct SaveBlock2 struct SaveBlock2
@@ -288,11 +315,11 @@ struct SaveBlock2
/*0x012*/ u8 playTimeVBlanks; /*0x012*/ u8 playTimeVBlanks;
/*0x013*/ u8 optionsButtonMode; // OPTIONS_BUTTON_MODE_[NORMAL/LR/L_EQUALS_A] /*0x013*/ u8 optionsButtonMode; // OPTIONS_BUTTON_MODE_[NORMAL/LR/L_EQUALS_A]
/*0x014*/ u16 optionsTextSpeed:3; // OPTIONS_TEXT_SPEED_[SLOW/MID/FAST] /*0x014*/ u16 optionsTextSpeed:3; // OPTIONS_TEXT_SPEED_[SLOW/MID/FAST]
u16 optionsWindowFrameType:5; // Specifies one of the 20 decorative borders for text boxes u16 optionsWindowFrameType:5; // Specifies one of the 20 decorative borders for text boxes
u16 optionsSound:1; // OPTIONS_SOUND_[MONO/STEREO] u16 optionsSound:1; // OPTIONS_SOUND_[MONO/STEREO]
u16 optionsBattleStyle:1; // OPTIONS_BATTLE_STYLE_[SHIFT/SET] u16 optionsBattleStyle:1; // OPTIONS_BATTLE_STYLE_[SHIFT/SET]
u16 optionsBattleSceneOff:1; // whether battle animations are disabled u16 optionsBattleSceneOff:1; // whether battle animations are disabled
u16 regionMapZoom:1; // whether the map is zoomed in u16 regionMapZoom:1; // whether the map is zoomed in
/*0x018*/ struct Pokedex pokedex; /*0x018*/ struct Pokedex pokedex;
/*0x090*/ u8 filler_90[0x8]; /*0x090*/ u8 filler_90[0x8];
/*0x098*/ struct Time localTimeOffset; /*0x098*/ struct Time localTimeOffset;
@@ -422,14 +449,14 @@ struct MailStruct
struct UnkMauvilleOldManStruct struct UnkMauvilleOldManStruct
{ {
u8 unk_2D94; u8 unk_2D94;
u8 unk_2D95; u8 unk_2D95;
/*0x2D96*/ u16 mauvilleOldMan_ecArray[6]; /*0x2D96*/ u16 mauvilleOldMan_ecArray[6];
/*0x2DA2*/ u16 mauvilleOldMan_ecArray2[6]; /*0x2DA2*/ u16 mauvilleOldMan_ecArray2[6];
/*0x2DAE*/ u8 playerName[8]; /*0x2DAE*/ u8 playerName[8];
/*0x2DB6*/ u8 filler_2DB6[0x3]; /*0x2DB6*/ u8 filler_2DB6[0x3];
/*0x2DB9*/ u8 playerTrainerId[4]; /*0x2DB9*/ u8 playerTrainerId[4];
u8 unk_2DBD; u8 unk_2DBD;
}; /*size = 0x2C*/ }; /*size = 0x2C*/
struct UnkMauvilleOldManStruct2 struct UnkMauvilleOldManStruct2
@@ -578,8 +605,8 @@ union QuestLogMovement
{ {
u16 ident_raw; u16 ident_raw;
struct { struct {
u16 ident:12; u16 ident:12;
u16 flags:4; u16 flags:4;
} ident_struct; } ident_struct;
}; };
@@ -606,9 +633,9 @@ struct QuestLog
struct FameCheckerSaveData struct FameCheckerSaveData
{ {
/*3a54*/ u16 pickState:2; /*3a54*/ u16 pickState:2;
u16 flavorTextFlags:12; u16 flavorTextFlags:12;
u16 unk_0_E:2; u16 unk_0_E:2;
}; };
#define MAP_OBJECTS_COUNT 16 #define MAP_OBJECTS_COUNT 16
@@ -622,64 +649,64 @@ struct FameCheckerSaveData
struct MEventBuffer_3120_Sub struct MEventBuffer_3120_Sub
{ {
u16 unk_00; u16 unk_00;
u8 unk_02; u8 unk_02;
u8 unk_03; u8 unk_03;
u8 unk_04[40]; u8 unk_04[40];
u8 unk_2C[10][40]; u8 unk_2C[10][40];
}; };
struct MEventBuffer_3120 struct MEventBuffer_3120
{ {
u32 crc; u32 crc;
struct MEventBuffer_3120_Sub data; struct MEventBuffer_3120_Sub data;
}; };
struct MEventBuffer_32E0_Sub struct MEventBuffer_32E0_Sub
{ {
u16 unk_00; u16 unk_00;
u16 unk_02; u16 unk_02;
u32 unk_04; u32 unk_04;
u8 unk_08_0:2; u8 unk_08_0:2;
u8 unk_08_2:4; u8 unk_08_2:4;
u8 unk_08_6:2; u8 unk_08_6:2;
u8 unk_09; u8 unk_09;
u8 unk_0A[40]; u8 unk_0A[40];
u8 unk_32[40]; u8 unk_32[40];
u8 unk_5A[4][40]; u8 unk_5A[4][40];
u8 unk_FA[40]; u8 unk_FA[40];
u8 unk_122[40]; u8 unk_122[40];
}; };
struct MEventBuffer_32E0 struct MEventBuffer_32E0
{ {
u32 crc; u32 crc;
struct MEventBuffer_32E0_Sub data; struct MEventBuffer_32E0_Sub data;
}; };
struct MEventBuffer_3430_Sub struct MEventBuffer_3430_Sub
{ {
u16 unk_00; u16 unk_00;
u16 unk_02; u16 unk_02;
u16 unk_04; u16 unk_04;
u16 unk_06; u16 unk_06;
u16 unk_08[2][7]; u16 unk_08[2][7];
}; };
struct MEventBuffer_3430 struct MEventBuffer_3430
{ {
u32 crc; u32 crc;
struct MEventBuffer_3430_Sub data; struct MEventBuffer_3430_Sub data;
}; };
struct MEventBuffers struct MEventBuffers
{ {
/*0x000 0x3120*/ struct MEventBuffer_3120 buffer_000; /*0x000 0x3120*/ struct MEventBuffer_3120 buffer_000;
/*0x1c0 0x32e0*/ struct MEventBuffer_32E0 buffer_1c0; /*0x1c0 0x32e0*/ struct MEventBuffer_32E0 buffer_1c0;
/*0x310 0x3430*/ struct MEventBuffer_3430 buffer_310; /*0x310 0x3430*/ struct MEventBuffer_3430 buffer_310;
/*0x338 0x3458*/ u16 unk_338[4]; /*0x338 0x3458*/ u16 unk_338[4];
/*0x340 0x3460*/ struct MysteryEventStruct unk_340; /*0x340 0x3460*/ struct MysteryEventStruct unk_340;
/*0x344 0x3464*/ u32 unk_344[2][5]; /*0x344 0x3464*/ u32 unk_344[2][5];
}; // 0x36C 0x348C }; // 0x36C 0x348C
struct SaveBlock1 struct SaveBlock1
@@ -707,8 +734,8 @@ struct SaveBlock1
/*0x0464*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT]; /*0x0464*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT];
/*0x054c*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT]; /*0x054c*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT];
/*0x05F8*/ u8 seen1[DEX_FLAGS_NO]; /*0x05F8*/ u8 seen1[DEX_FLAGS_NO];
/*0x062C*/ u16 berryBlenderRecords[3]; // unused /*0x062C*/ u16 berryBlenderRecords[3]; // unused
/*0x0632*/ u8 field_632[6]; // unused? /*0x0632*/ u8 field_632[6]; // unused?
/*0x0638*/ u8 trainerRematchStepCounter; /*0x0638*/ u8 trainerRematchStepCounter;
/*0x063A*/ u8 ALIGNED(2) trainerRematches[100]; /*0x063A*/ u8 ALIGNED(2) trainerRematches[100];
/*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT];
@@ -717,10 +744,10 @@ struct SaveBlock1
/*0x1000*/ u16 vars[VARS_COUNT]; /*0x1000*/ u16 vars[VARS_COUNT];
/*0x1200*/ u32 gameStats[NUM_GAME_STATS]; /*0x1200*/ u32 gameStats[NUM_GAME_STATS];
/*0x1300*/ struct QuestLog questLog[4]; /*0x1300*/ struct QuestLog questLog[4];
/*0x2CA0*/ u16 unk2CA0[6]; /*0x2CA0*/ u16 unk2CA0[6];
/*0x2CAC*/ u16 unk2CAC[6]; /*0x2CAC*/ u16 unk2CAC[6];
/*0x2CB8*/ u16 unk2CB8[6]; /*0x2CB8*/ u16 unk2CB8[6];
/*0x2CC4*/ u16 unk2CC4[6]; /*0x2CC4*/ u16 unk2CC4[6];
/*0x2CD0*/ struct MailStruct mail[MAIL_COUNT]; /*0x2CD0*/ struct MailStruct mail[MAIL_COUNT];
/*0x2F10*/ u8 additionalPhrases[EASY_CHAT_EXTRA_PHRASES_SIZE]; /*0x2F10*/ u8 additionalPhrases[EASY_CHAT_EXTRA_PHRASES_SIZE];
/*0x2F18*/ OldMan oldMan; // unused /*0x2F18*/ OldMan oldMan; // unused
+7 -5
View File
@@ -25,13 +25,15 @@ struct UnkStruct_8479D34
struct UnkSubstruct_203F458_000C_004 struct UnkSubstruct_203F458_000C_004
{ {
/* 0x004 */ u8 unk_000[11]; /* 0x000 */ u8 unk_000[11];
/* 0x00F */ u8 unk_00B; /* 0x00B */ u8 unk_00B;
/* 0x010 */ u8 unk_00C; /* 0x00C */ u8 unk_00C;
/* 0x011 */ u8 unk_00D[13]; /* 0x00D */ u8 unk_00D;
/* 0x00E */ u16 unk_00E[6];
/* 0x01A */ u16 unk_01A[6]; /* 0x01A */ u16 unk_01A[6];
/* 0x026 */ u16 unk_026[6]; /* 0x026 */ u16 unk_026[6];
/* 0x032 */ u8 filler_032[0x116]; /* 0x032 */ u16 unk_032[6];
/* 0x040 */ struct BattleTowerPokemon unk_040[PARTY_SIZE];
}; // size: 328 }; // size: 328
struct UnkSubstruct_203F458_000C struct UnkSubstruct_203F458_000C