Port mevent2.c from pokefirered

This commit is contained in:
Marcus Huderle
2019-03-24 17:20:35 -05:00
committed by huderlem
parent e8edddf33c
commit e6caf0ff10
13 changed files with 771 additions and 1462 deletions

View File

@@ -336,24 +336,23 @@
#define FLAG_RECEIVED_AURORA_TICKET 0x13A // RECEIVED Aurora Ticket in Mystery Gift
#define FLAG_RECEIVED_MYSTIC_TICKET 0x13B // RECEIVED Mystic Ticket in Mystery Gift
#define FLAG_RECEIVED_OLD_SEA_MAP 0x13C // RECEIVED Old Sea Map in Mystery Gift
#define FLAG_UNUSED_0x13D 0x13D // Unused Flag
#define FLAG_UNUSED_0x13E 0x13E // Unused Flag
#define FLAG_UNUSED_0x13F 0x13F // Unused Flag
#define FLAG_UNUSED_0x140 0x140 // Unused Flag
#define FLAG_UNUSED_0x141 0x141 // Unused Flag
#define FLAG_UNUSED_0x142 0x142 // Unused Flag
#define FLAG_UNUSED_0x143 0x143 // Unused Flag
#define FLAG_UNUSED_0x144 0x144 // Unused Flag
#define FLAG_UNUSED_0x145 0x145 // Unused Flag
#define FLAG_UNUSED_0x146 0x146 // Unused Flag
#define FLAG_UNUSED_0x147 0x147 // Unused Flag
#define FLAG_UNUSED_0x148 0x148 // Unused Flag
#define FLAG_UNUSED_0x149 0x149 // Unused Flag
#define FLAG_UNUSED_0x14A 0x14A // Unused Flag
#define FLAG_UNUSED_0x14B 0x14B // Unused Flag
#define FLAG_UNUSED_0x14C 0x14C // Unused Flag
#define FLAG_UNUSED_0x14D 0x14D // Unused Flag
#define FLAG_UNUSED_MYSTERY_GIFT_0x13D 0x13D
#define FLAG_UNUSED_MYSTERY_GIFT_0x13E 0x13E
#define FLAG_UNUSED_MYSTERY_GIFT_0x13F 0x13F
#define FLAG_UNUSED_MYSTERY_GIFT_0x140 0x140
#define FLAG_UNUSED_MYSTERY_GIFT_0x141 0x141
#define FLAG_UNUSED_MYSTERY_GIFT_0x142 0x142
#define FLAG_UNUSED_MYSTERY_GIFT_0x143 0x143
#define FLAG_UNUSED_MYSTERY_GIFT_0x144 0x144
#define FLAG_UNUSED_MYSTERY_GIFT_0x145 0x145
#define FLAG_UNUSED_MYSTERY_GIFT_0x146 0x146
#define FLAG_UNUSED_MYSTERY_GIFT_0x147 0x147
#define FLAG_UNUSED_MYSTERY_GIFT_0x148 0x148
#define FLAG_UNUSED_MYSTERY_GIFT_0x149 0x149
#define FLAG_UNUSED_MYSTERY_GIFT_0x14A 0x14A
#define FLAG_UNUSED_MYSTERY_GIFT_0x14B 0x14B
#define FLAG_UNUSED_MYSTERY_GIFT_0x14C 0x14C
#define FLAG_UNUSED_MYSTERY_GIFT_0x14D 0x14D
#define FLAG_MIRAGE_TOWER_VISIBLE 0x14E
#define FLAG_CHOSE_CLAW_FOSSIL 0x14F // Player chose Claw Fossil

View File

@@ -808,6 +808,76 @@ struct SaveTrainerHill
/*0x3D6E*/ u16 tag:2; // x40, x80 = xC0
};
struct MysteryEventStruct
{
u8 unk_0_0:2;
u8 unk_0_2:3;
u8 unk_0_5:3;
u8 unk_1;
};
struct MEventBuffer_3120_Sub
{
u16 unk_00;
u8 unk_02;
u8 unk_03;
u8 unk_04[40];
u8 unk_2C[10][40];
};
struct MEventBuffer_3120
{
u32 crc;
struct MEventBuffer_3120_Sub data;
};
struct MEventBuffer_32E0_Sub
{
u16 unk_00;
u16 unk_02;
u32 unk_04;
u8 unk_08_0:2;
u8 unk_08_2:4;
u8 unk_08_6:2;
u8 unk_09;
u8 unk_0A[40];
u8 unk_32[40];
u8 unk_5A[4][40];
u8 unk_FA[40];
u8 unk_122[40];
};
struct MEventBuffer_32E0
{
u32 crc;
struct MEventBuffer_32E0_Sub data;
};
struct MEventBuffer_3430_Sub
{
u16 unk_00;
u16 unk_02;
u16 unk_04;
u16 unk_06;
u16 unk_08[2][7];
};
struct MEventBuffer_3430
{
u32 crc;
struct MEventBuffer_3430_Sub data;
};
struct MEventBuffers
{
/*0x000 0x322C*/ struct MEventBuffer_3120 buffer_000;
/*0x1c0 0x33EC*/ struct MEventBuffer_32E0 buffer_1c0;
/*0x310 0x353C*/ struct MEventBuffer_3430 buffer_310;
/*0x338 0x3564*/ u16 unk_338[4];
/*0x340 0x356C*/ struct MysteryEventStruct unk_340;
/*0x344 0x3570*/ u32 unk_344[2][5];
}; // 0x36C 0x3598
struct SaveBlock1
{
/*0x00*/ struct Coords16 pos;
@@ -884,14 +954,15 @@ struct SaveBlock1
/*0x31A8*/ u8 giftRibbons[52];
/*0x31DC*/ struct Roamer roamer;
/*0x31F8*/ struct EnigmaBerry enigmaBerry;
/*0x322C*/ u8 field_322C[1260];
/*0x322C*/ struct MEventBuffers unk_322C;
/*0x3598*/ u8 field_3598[0x180];
/*0x3718*/ u32 trainerHillTimes[4];
/*0x3728*/ struct RamScript ramScript;
/*0x3B14*/ struct RecordMixingGift recordMixingGift;
/*0x3B24*/ u8 seen2[DEX_FLAGS_NO];
/*0x3B58*/ LilycoveLady lilycoveLady;
/*0x3B98*/ struct TrainerNameRecord trainerNameRecords[20];
/*0x3C88*/ u8 filler_3C88[0xDC];
/*0x3C88*/ u8 unk3C88[11][20];
/*0x3D64*/ struct SaveTrainerHill trainerHill;
/*0x3D70*/ struct WaldaPhrase waldaPhrase;
// sizeof: 0x3D88

View File

@@ -306,7 +306,7 @@ void sub_8009FAC(void);
bool8 sub_800A4D8(u8 a0);
u8 sub_800A9D8(void);
u8 sub_800A0C8(s32, s32);
u16 *GetSaveBlock1Field3564(void);
u16 *sub_801B058(void);
u8 sub_800A9A8(void);
void sub_800AD10(void);
void sub_800AB18(void);

View File

@@ -42,6 +42,8 @@ struct Main
extern const u8 gGameVersion;
extern const u8 gGameLanguage;
extern const u8 RomHeaderGameCode[4];
extern const u8 RomHeaderSoftwareVersion;
extern u16 gKeyRepeatStartDelay;
extern bool8 gLinkTransferringData;

36
include/mevent.h Executable file
View File

@@ -0,0 +1,36 @@
#ifndef GUARD_MEVENT_H
#define GUARD_MEVENT_H
#include <gba/gba.h>
struct MEvent_Str_1
{
u16 unk_000;
size_t unk_004;
const void * unk_008;
};
struct MEvent_Str_2
{
u8 fill_00[0x40];
};
struct MEventStruct_Unk1442CC
{
u32 unk_00;
u16 unk_04;
u32 unk_08;
u16 unk_0C;
u32 unk_10;
u16 unk_14;
u16 unk_16[4];
struct MEventBuffer_3430_Sub unk_20;
u8 unk_44;
u8 unk_45[7];
u8 unk_4C[4];
u16 unk_50[6];
u8 unk_5C[4];
u8 unk_60;
};
#endif //GUARD_MEVENT_H

6
include/mevent_news.h Executable file
View File

@@ -0,0 +1,6 @@
#ifndef GUARD_MEVENT_NEWS_H
#define GUARD_MEVENT_NEWS_H
void sub_801DBC0(void);
#endif //GUARD_MEVENT_NEWS_H