diff options
Diffstat (limited to 'include/global.h')
-rw-r--r-- | include/global.h | 77 |
1 files changed, 62 insertions, 15 deletions
diff --git a/include/global.h b/include/global.h index f818f15b1..2c0418a78 100644 --- a/include/global.h +++ b/include/global.h @@ -167,9 +167,31 @@ struct BerryCrush u32 unk; }; +#define PLAYER_NAME_LENGTH 8 + +struct UnknownSaveBlock2Struct +{ + u8 field_0; + u8 field_1; + u8 field_2[2]; + u8 field_4[8]; + u8 field_C[16]; + u16 field_1C[6]; + u16 field_28[6]; + u8 field_34[176]; + u8 field_E4; + u8 field_E5; + u8 field_E6; + u8 field_E7; + u8 field_E8; + u8 field_E9; + u8 field_EA; + u8 field_EB; +}; // sizeof = 0xEC + struct SaveBlock2 { - /*0x00*/ u8 playerName[8]; + /*0x00*/ u8 playerName[PLAYER_NAME_LENGTH]; /*0x08*/ u8 playerGender; // MALE, FEMALE /*0x09*/ u8 specialSaveWarp; /*0x0A*/ u8 playerTrainerId[4]; @@ -203,7 +225,8 @@ struct SaveBlock2 // All below could be a one giant struct - /*0x64C*/ u8 field_64C[0x588]; + /*0x64C*/ u8 field_64C[236]; + /*0x738*/ struct UnknownSaveBlock2Struct field_738[5]; // No idea here, it's probably wrong, no clue. /*0xBD4*/ u16 field_BD4; /*0xBD6*/ u16 field_BD6; /*0xBD8*/ u8 field_BD8[11]; @@ -217,10 +240,12 @@ struct SaveBlock2 /*0xCA9*/ u8 field_CA9_d : 1; // 0x20 /*0xCA9*/ u8 field_CA9_e : 1; // 0x40 /*0xCA9*/ u8 field_CA9_f : 1; // 0x80 - /*0xCAA*/ u16 field_CAA[0x2e]; + /*0xCAA*/ u16 field_CAA[4]; + /*0xCB2*/ u16 battlePyramidWildHeaderId; + /*0xCB4*/ u8 field_CB4[82]; /*0xD06*/ u8 field_D06; /*0xD07*/ u8 field_D07; - /*0xd08*/ u8 filler_D08[0x112]; + /*0xD08*/ u8 filler_D08[0x112]; /*0xE1A*/ u16 battlePyramidFloor; // possibly? /*0xE1C*/ u8 field_E1C[16]; /*0xE2C*/ struct PyramidBag pyramidBag; @@ -428,30 +453,52 @@ struct ContestWinner u8 contestRank; }; -struct DaycareMon +struct DaycareMiscMon { - struct BoxPokemon mon; struct MailStruct mail; u8 OT_name[OT_NAME_LENGTH + 1]; - u8 monName[11]; - u8 language_maybe : 4; - u8 unknown : 4; - u32 stepsTaken; + u8 monName[POKEMON_NAME_LENGTH + 1]; + u8 gameLanguage:4; + u8 monLanguage:4; +}; + +struct DaycareMon +{ + struct BoxPokemon mon; + struct DaycareMiscMon misc; + u32 steps; }; -struct DaycareData +#define DAYCARE_MON_COUNT 2 + +struct DayCare { - struct DaycareMon mons[2]; + struct DaycareMon mons[DAYCARE_MON_COUNT]; u32 offspringPersonality; u8 stepCounter; }; +struct DayCareMail +{ + /*0x00*/ struct MailStruct message; + /*0x24*/ u8 names[19]; +}; + +struct RecordMixingDayCareMail +{ + struct DayCareMail mail[DAYCARE_MON_COUNT]; + u32 numDaycareMons; + bool16 holdsItem[DAYCARE_MON_COUNT]; +}; + #define MAP_OBJECTS_COUNT 16 #define BERRY_TREES_COUNT 128 #define FLAGS_COUNT 300 #define VARS_COUNT 256 +#define MAIL_COUNT 16 -enum { +enum +{ LILYCOVE_LADY_QUIZ, LILYCOVE_LADY_FAVOUR, LILYCOVE_LADY_CONTEST @@ -582,13 +629,13 @@ struct SaveBlock1 /*0x2BBC*/ u16 unk2BBC[6]; /*0x2BC8*/ u16 unk2BC8[6]; /*0x2BD4*/ u16 unk2BD4[6]; - /*0x2BE0*/ struct MailStruct mail[16]; + /*0x2BE0*/ struct MailStruct mail[MAIL_COUNT]; /*0x2E20*/ u8 additionalPhrases[5]; // bitfield for 33 additional phrases in easy chat system /*0x2E25*/ u8 unk2E25[3]; // possibly padding? /*0x2E28*/ OldMan oldMan; /*0x2e64*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff /*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum - /*0x3030*/ struct DaycareData daycare; + /*0x3030*/ struct DayCare daycare; /*0x3150*/ struct LinkBattleRecord linkBattleRecords[5]; /*0x31A0*/ u8 unk_31A0; /*0x31A1*/ u8 filler_31A1[7]; |