diff options
author | red031000 <rubenru09@aol.com> | 2020-11-01 23:10:27 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-01 23:10:27 +0100 |
commit | 1c1410976dd661f0fffa736c19fe62b54b4f6e4e (patch) | |
tree | 64c2a6003822c1ab59f04ae70ef5ce8b8a21b894 /arm9/modules/59/src | |
parent | 584260c2b3d07d56fcdcbbb0c72b141555000aeb (diff) | |
parent | 87a52afbb4b9a2cb8c29bde3078e9800198df084 (diff) |
Merge pull request #301 from red031000/master
decompile MOD59_Init
Diffstat (limited to 'arm9/modules/59/src')
-rw-r--r-- | arm9/modules/59/src/mod59_021D74E0_src.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/arm9/modules/59/src/mod59_021D74E0_src.c b/arm9/modules/59/src/mod59_021D74E0_src.c new file mode 100644 index 00000000..9fccfd95 --- /dev/null +++ b/arm9/modules/59/src/mod59_021D74E0_src.c @@ -0,0 +1,29 @@ +#include "global.h" +#include "player_data.h" +#include "overlay_manager.h" +#include "mod59_021D74E0.h" + +extern void FUN_0201681C(u32 param0, u32 heap_id, u32 param2); +extern u32 FUN_02077A84(u32 heap_id, u32 param1, u32 param2, u32 param3, struct Options *options); + +THUMB_FUNC BOOL MOD59_Init(struct UnkStruct_02006234 *param0) +{ + //note: 0xb4 is likely the overlay data struct size, once struct is padded replace with sizeof + FUN_0201681C(3, 0x52, 1 << 18); + MOD59_OverlayData *data = (MOD59_OverlayData *) OverlayManager_CreateAndGetData(param0, 0xb4, 0x52); + (void)memset((void *)data, 0, 0xb4); + + data->heap_id = 0x52; + int *field18 = OverlayManager_GetField18(param0); + data->sav2 = (struct SaveBlock2 *)field18[2]; //? + data->options = Sav2_PlayerData_GetOptionsAddr(data->sav2); + data->Unk14 = data->Unk10 = data->Unk0C = 0; + data->Unk70 = FUN_02077A84(0x52, 0, 0, 7, data->options); + data->Unk74 = FUN_02077A84(0x52, 3, 0, 7, data->options); + data->Unk88 = 0; + data->Unk89 = 0; + data->Unk8A = 0; + data->Unk8B = 0; + data->Unk90 = 0; + return TRUE; +} |