summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/player_pc.c42
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;
-}*/
+}