summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/link.c69
-rw-r--r--src/main.c14
2 files changed, 76 insertions, 7 deletions
diff --git a/src/link.c b/src/link.c
index 4279c6efc..c2f033e1d 100644
--- a/src/link.c
+++ b/src/link.c
@@ -8,6 +8,8 @@
#include "decompress.h"
#include "string_util.h"
#include "event_data.h"
+#include "item_menu.h"
+#include "overworld.h"
#include "gpu_regs.h"
#include "palette.h"
#include "task.h"
@@ -572,3 +574,70 @@ static void sub_8009AA0(u8 unused)
}
}
}
+
+void sub_8009D90(u16 command)
+{
+ switch (command)
+ {
+ case 0x2222:
+ gUnknown_03003110[0] = 0x2222;
+ gUnknown_03003110[1] = gUnknown_020229C6;
+ break;
+ case 0x2ffe:
+ gUnknown_03003110[0] = 0x2ffe;
+ break;
+ case 0x4444:
+ gUnknown_03003110[0] = 0x4444;
+ gUnknown_03003110[1] = gMain.heldKeys;
+ break;
+ case 0x5555:
+ gUnknown_03003110[0] = 0x5555;
+ break;
+ case 0x6666:
+ gUnknown_03003110[0] = 0x6666;
+ gUnknown_03003110[1] = 0;
+ break;
+ case 0x7777:
+ {
+ u8 i;
+
+ gUnknown_03003110[0] = 0x7777;
+ for (i = 0; i < 5; i ++)
+ {
+ gUnknown_03003110[i + 1] = 0xEE;
+ }
+ break;
+ }
+ case 0xbbbb:
+ gUnknown_03003110[0] = 0xbbbb;
+ gUnknown_03003110[1] = gUnknown_03000D10.size;
+ gUnknown_03003110[2] = gUnknown_03000D10.multiplayerId + 0x80;
+ break;
+ case 0xaaaa:
+ gUnknown_03003110[0] = 0xaaaa;
+ break;
+ case 0xaaab:
+ gUnknown_03003110[0] = 0xaaab;
+ gUnknown_03003110[1] = gScriptItemId;
+ break;
+ case 0xcccc:
+ gUnknown_03003110[0] = 0xcccc;
+ gUnknown_03003110[1] = gUnknown_03003150;
+ break;
+ case 0x5fff:
+ gUnknown_03003110[0] = 0x5fff;
+ gUnknown_03003110[1] = gUnknown_030030F4;
+ break;
+ case 0x5566:
+ gUnknown_03003110[0] = 0x5566;
+ break;
+ case 0xcafe:
+ if (gUnknown_03005DA8 == 0 || gUnknown_030022B4)
+ {
+ break;
+ }
+ gUnknown_03003110[0] = 0xcafe;
+ gUnknown_03003110[1] = gUnknown_03005DA8;
+ break;
+ }
+}
diff --git a/src/main.c b/src/main.c
index b7758f1f9..b90dc3837 100644
--- a/src/main.c
+++ b/src/main.c
@@ -80,7 +80,7 @@ const IntrFunc gIntrTableTemplate[] =
static u16 gUnknown_03000000;
u16 gKeyRepeatStartDelay;
-u8 gUnknown_030022B4;
+bool8 gUnknown_030022B4;
struct Main gMain;
u16 gKeyRepeatContinueDelay;
bool8 gSoftResetDisabled;
@@ -129,7 +129,7 @@ void AgbMain()
if (gFlashMemoryPresent != TRUE)
SetMainCallback2(NULL);
- gUnknown_030022B4 = 0;
+ gUnknown_030022B4 = FALSE;
gUnknown_03000000 = 0xFC0;
for (;;)
@@ -147,22 +147,22 @@ void AgbMain()
if (sub_8087634() == 1)
{
- gUnknown_030022B4 = 1;
+ gUnknown_030022B4 = TRUE;
UpdateLinkAndCallCallbacks();
- gUnknown_030022B4 = 0;
+ gUnknown_030022B4 = FALSE;
}
else
{
- gUnknown_030022B4 = 0;
+ gUnknown_030022B4 = FALSE;
UpdateLinkAndCallCallbacks();
if (sub_80875C8() == 1)
{
gMain.newKeys = 0;
ClearSpriteCopyRequests();
- gUnknown_030022B4 = 1;
+ gUnknown_030022B4 = TRUE;
UpdateLinkAndCallCallbacks();
- gUnknown_030022B4 = 0;
+ gUnknown_030022B4 = FALSE;
}
}