diff options
author | YamaArashi <shadow962@live.com> | 2016-12-17 22:56:37 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-12-17 22:56:37 -0800 |
commit | b3187c45ff041df8b8404548ef8f3f221a752939 (patch) | |
tree | 20e717875333519769bb5b8d3b4972ac5f0adbe2 /src | |
parent | 507f88dc3cf05854b58b5832221e758a57db48ca (diff) |
decompile InitPlayerPCMenu
Diffstat (limited to 'src')
-rw-r--r-- | src/player_pc.c | 42 |
1 files changed, 19 insertions, 23 deletions
diff --git a/src/player_pc.c b/src/player_pc.c index b8eb1b6d7..79d7a671b 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -1,25 +1,22 @@ #include "global.h" #include "item.h" #include "task.h" +#include "menu.h" -/* -this file is way too hard. I'm coming back to this one later. For one, InitPlayerPCMenu -is treated as a u8 (wtf?) in BedroomPC and PlayerPC for some insanely stupid reason, which means -when it actually is decompiled there's almost no way this'll match anymore. script_menu.s probably -needs to be decompiled before this. -*/ - -extern void DisplayItemMessageOnField(u8, u8*, u8*, u16); +extern void DisplayItemMessageOnField(u8, u8*, TaskFunc, u16); extern u16 gNewGamePCItems[]; -extern u8 InitPlayerPCMenu; extern u8 gOtherText_WhatWillYouDo[]; -extern u32 gUnknown_02039314; -extern u32 gUnknown_084062B8[]; -extern u32 gUnknown_084062BC[]; -extern u8 gUnknown_030007B4[][2]; +extern u8 *gUnknown_02039314; +extern struct MenuAction gUnknown_08406298[]; +extern u8 gUnknown_084062B8[]; +extern u8 gUnknown_084062BC[]; +extern u8 gUnknown_030007B4; + +void InitPlayerPCMenu(u8 taskId); +void PlayerPCProcessMenuInput(u8 taskId); void NewGameInitPCItems(void) { @@ -39,27 +36,26 @@ void BedroomPC(void) { u8 taskId; - gUnknown_02039314 = (int)&gUnknown_084062B8; - gUnknown_030007B4[0][0] = 4; + gUnknown_02039314 = gUnknown_084062B8; + gUnknown_030007B4 = 4; taskId = CreateTask(TaskDummy, 0); - DisplayItemMessageOnField(taskId, gOtherText_WhatWillYouDo, &InitPlayerPCMenu, 0); + DisplayItemMessageOnField(taskId, gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0); } void PlayerPC(void) { u8 taskId; - gUnknown_02039314 = (int)&gUnknown_084062BC; - gUnknown_030007B4[0][0] = 3; + gUnknown_02039314 = gUnknown_084062BC; + gUnknown_030007B4 = 3; taskId = CreateTask(TaskDummy, 0); - DisplayItemMessageOnField(taskId, gOtherText_WhatWillYouDo, &InitPlayerPCMenu, 0); + DisplayItemMessageOnField(taskId, gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0); } -// not done -/*void InitPlayerPCMenu(u8 taskId) +void InitPlayerPCMenu(u8 taskId) { - MenuDrawTextWindow(0, 0, 10, gUnknown_030007B4[1][0]); + MenuDrawTextWindow(0, 0, 10, gUnknown_030007B4 * 2 + 1); PrintMenuItemsReordered(1, 1, gUnknown_030007B4, gUnknown_08406298, gUnknown_02039314); InitMenu(0, 1, 1, gUnknown_030007B4, 0, 9); gTasks[taskId].func = PlayerPCProcessMenuInput; -}*/ +} |