summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pokenav.c1
-rw-r--r--src/use_pokeblock.c374
2 files changed, 11 insertions, 364 deletions
diff --git a/src/pokenav.c b/src/pokenav.c
index 3a386d865..84ed7b14b 100644
--- a/src/pokenav.c
+++ b/src/pokenav.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "main.h"
#include "pokenav.h"
#include "battle.h"
#include "data2.h"
diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c
index fd60d6291..17387e09f 100644
--- a/src/use_pokeblock.c
+++ b/src/use_pokeblock.c
@@ -15,8 +15,8 @@
asm(".text\n"
".include \"constants/gba_constants.inc\"");
-void *gUnknown_02039308;
-void *gUnknown_0203930C;
+extern MainCallback gUnknown_02039308;
+extern struct Pokeblock *gUnknown_0203930C;
u8 gUnknown_02039310;
extern struct UnkPokenavStruct_Sub1 *gUnknown_02039304;
@@ -35,11 +35,11 @@ void sub_81368A4(void);
void sub_8089668(void);
u8 sub_81370E4(u8);
-void sub_8136130(struct Pokeblock *a0, MainCallback a1)
+void sub_8136130(struct Pokeblock *pokeblock, MainCallback callback)
{
gUnknown_02039304 = &gUnknown_083DFEC4->unkD164;
- gUnknown_02039304->unk8 = a0;
- gUnknown_02039304->unk4 = a1;
+ gUnknown_02039304->pokeblock = pokeblock;
+ gUnknown_02039304->callback = callback;
gUnknown_083DFEC4->unkD162[0] = 2;
launch_c3_walk_stairs_and_run_once(sub_8136294);
SetMainCallback2(sub_8136244);
@@ -47,8 +47,8 @@ void sub_8136130(struct Pokeblock *a0, MainCallback a1)
void sub_8136174(void)
{
- gUnknown_02039304->unk8 = gUnknown_0203930C;
- gUnknown_02039304->unk4 = gUnknown_02039308;
+ gUnknown_02039304->pokeblock = gUnknown_0203930C;
+ gUnknown_02039304->callback = gUnknown_02039308;
gUnknown_02039310 = sub_81370E4(gUnknown_02039310);
gUnknown_02039304->unk56 = gUnknown_02039310 < 4 ? 0 : 1;
gUnknown_083DFEC4->unkD162[0] = 2;
@@ -101,10 +101,8 @@ void launch_c3_walk_stairs_and_run_once(void (*const func)(void))
gUnknown_02039304->unk50 = 0;
}
-#ifdef NONMATCHING
void sub_8136294(void)
{
- u32 dma3sad;
bool32 c1LinkRelatedActive;
switch (gUnknown_02039304->unk50)
{
@@ -200,13 +198,10 @@ void sub_8136294(void)
gUnknown_02039304->unk50++;
break;
case 16:
- dma3sad = 0;
- REG_DMA3SAD = (vu32)&dma3sad;
- REG_DMA3DAD = 0x600F800;
- REG_DMA3CNT = 0x85000200;
+ DmaClear32(3, 0x600f800, 0x800);
REG_BG1VOFS = 0;
REG_BG1HOFS = 0;
- REG_BG1CNT = 0x1f00;
+ REG_BG1CNT = BGCNT_SCREENBASE(31);
gUnknown_02039304->unk50++;
break;
case 17:
@@ -236,7 +231,7 @@ void sub_8136294(void)
REG_WININ = 0x3f3f;
REG_WINOUT = 0x1b;
REG_BG0VOFS = 0x28;
- REG_DISPCNT = 0x7f40;
+ REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON;
// fallthrough
case 22:
gUnknown_02039304->unk55 = 1;
@@ -244,355 +239,6 @@ void sub_8136294(void)
break;
}
}
-#else
-__attribute__((naked))
-void sub_8136294(void)
-{
- asm(".syntax unified\n"
- "\tpush {r4,r5,lr}\n"
- "\tsub sp, 0x4\n"
- "\tldr r1, _081362B4 @ =gUnknown_02039304\n"
- "\tldr r0, [r1]\n"
- "\tadds r0, 0x50\n"
- "\tldrb r0, [r0]\n"
- "\tadds r3, r1, 0\n"
- "\tcmp r0, 0x16\n"
- "\tbls _081362A8\n"
- "\tb _0813657A\n"
- "_081362A8:\n"
- "\tlsls r0, 2\n"
- "\tldr r1, _081362B8 @ =_081362BC\n"
- "\tadds r0, r1\n"
- "\tldr r0, [r0]\n"
- "\tmov pc, r0\n"
- "\t.align 2, 0\n"
- "_081362B4: .4byte gUnknown_02039304\n"
- "_081362B8: .4byte _081362BC\n"
- "\t.align 2, 0\n"
- "_081362BC:\n"
- "\t.4byte _08136318\n"
- "\t.4byte _08136354\n"
- "\t.4byte _0813635E\n"
- "\t.4byte _08136366\n"
- "\t.4byte _08136374\n"
- "\t.4byte _08136380\n"
- "\t.4byte _0813638C\n"
- "\t.4byte _081363B8\n"
- "\t.4byte _081363C8\n"
- "\t.4byte _081363DC\n"
- "\t.4byte _081363EE\n"
- "\t.4byte _08136404\n"
- "\t.4byte _08136448\n"
- "\t.4byte _08136464\n"
- "\t.4byte _08136488\n"
- "\t.4byte _08136494\n"
- "\t.4byte _0813649A\n"
- "\t.4byte _081364D8\n"
- "\t.4byte _081364FC\n"
- "\t.4byte _08136508\n"
- "\t.4byte _08136520\n"
- "\t.4byte _08136538\n"
- "\t.4byte _0813656C\n"
- "_08136318:\n"
- "\tbl is_c1_link_related_active\n"
- "\tldr r1, _08136344 @ =gUnknown_083DFEC4\n"
- "\tldr r1, [r1]\n"
- "\tldr r2, _08136348 @ =0x00006dac\n"
- "\tadds r1, r2\n"
- "\tstrb r0, [r1]\n"
- "\tlsls r0, 24\n"
- "\tlsrs r1, r0, 24\n"
- "\tcmp r1, 0\n"
- "\tbeq _08136330\n"
- "\tb _0813657A\n"
- "_08136330:\n"
- "\tldr r4, _0813634C @ =gUnknown_02039304\n"
- "\tldr r0, [r4]\n"
- "\tadds r0, 0x55\n"
- "\tstrb r1, [r0]\n"
- "\tldr r0, _08136350 @ =sub_81365A0\n"
- "\tbl launch_c3_walk_stairs_and_run_once\n"
- "\tldr r1, [r4]\n"
- "\tb _08136528\n"
- "\t.align 2, 0\n"
- "_08136344: .4byte gUnknown_083DFEC4\n"
- "_08136348: .4byte 0x00006dac\n"
- "_0813634C: .4byte gUnknown_02039304\n"
- "_08136350: .4byte sub_81365A0\n"
- "_08136354:\n"
- "\tbl ResetSpriteData\n"
- "\tbl FreeAllSpritePalettes\n"
- "\tb _08136524\n"
- "_0813635E:\n"
- "\tmovs r0, 0\n"
- "\tbl SetVBlankCallback\n"
- "\tb _08136524\n"
- "_08136366:\n"
- "\tldr r0, _08136370 @ =gWindowConfig_81E7080\n"
- "\tbl SetUpWindowConfig\n"
- "\tb _08136524\n"
- "\t.align 2, 0\n"
- "_08136370: .4byte gWindowConfig_81E7080\n"
- "_08136374:\n"
- "\tldr r0, _0813637C @ =gWindowConfig_81E7080\n"
- "\tbl MultistepInitMenuWindowBegin\n"
- "\tb _08136524\n"
- "\t.align 2, 0\n"
- "_0813637C: .4byte gWindowConfig_81E7080\n"
- "_08136380:\n"
- "\tbl MultistepInitMenuWindowContinue\n"
- "\tcmp r0, 0\n"
- "\tbne _0813638A\n"
- "\tb _0813657A\n"
- "_0813638A:\n"
- "\tb _08136524\n"
- "_0813638C:\n"
- "\tldr r0, _081363AC @ =gUnknown_083DFEC4\n"
- "\tldr r1, [r0]\n"
- "\tldr r4, _081363B0 @ =0x000076aa\n"
- "\tadds r0, r1, r4\n"
- "\tmovs r2, 0\n"
- "\tstrb r2, [r0]\n"
- "\tldr r4, _081363B4 @ =0x000087e0\n"
- "\tadds r0, r1, r4\n"
- "\tstr r2, [r0]\n"
- "\tmovs r0, 0xC3\n"
- "\tlsls r0, 2\n"
- "\tadds r1, r0\n"
- "\tmovs r0, 0x20\n"
- "\tstrh r0, [r1]\n"
- "\tldr r1, [r3]\n"
- "\tb _08136528\n"
- "\t.align 2, 0\n"
- "_081363AC: .4byte gUnknown_083DFEC4\n"
- "_081363B0: .4byte 0x000076aa\n"
- "_081363B4: .4byte 0x000087e0\n"
- "_081363B8:\n"
- "\tbl sub_80F2688\n"
- "\tldr r0, _081363D8 @ =gUnknown_02039304\n"
- "\tldr r1, [r0]\n"
- "\tadds r1, 0x50\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "_081363C8:\n"
- "\tbl sub_80F26BC\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbeq _081363D4\n"
- "\tb _0813657A\n"
- "_081363D4:\n"
- "\tb _08136524\n"
- "\t.align 2, 0\n"
- "_081363D8: .4byte gUnknown_02039304\n"
- "_081363DC:\n"
- "\tmovs r0, 0x1\n"
- "\tbl sub_80F2C80\n"
- "\tldr r0, _08136400 @ =gUnknown_02039304\n"
- "\tldr r1, [r0]\n"
- "\tadds r1, 0x50\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "_081363EE:\n"
- "\tmovs r0, 0x1\n"
- "\tbl sub_80F2CBC\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbeq _081363FC\n"
- "\tb _0813657A\n"
- "_081363FC:\n"
- "\tb _08136524\n"
- "\t.align 2, 0\n"
- "_08136400: .4byte gUnknown_02039304\n"
- "_08136404:\n"
- "\tldr r1, _08136434 @ =gKeyRepeatStartDelay\n"
- "\tmovs r0, 0x14\n"
- "\tstrh r0, [r1]\n"
- "\tbl CalculatePlayerPartyCount\n"
- "\tldr r1, _08136438 @ =gUnknown_083DFEC4\n"
- "\tldr r4, [r1]\n"
- "\tldr r2, _0813643C @ =0x00008828\n"
- "\tadds r1, r4, r2\n"
- "\tmovs r5, 0\n"
- "\tstrb r0, [r1]\n"
- "\tldr r1, _08136440 @ =0x00009344\n"
- "\tadds r0, r4, r1\n"
- "\tstrb r5, [r0]\n"
- "\tsubs r2, 0xC0\n"
- "\tadds r0, r4, r2\n"
- "\tstr r5, [r0]\n"
- "\tbl sub_80F4BD0\n"
- "\tldr r0, _08136444 @ =0x0000d160\n"
- "\tadds r4, r0\n"
- "\tstrh r5, [r4]\n"
- "\tb _08136524\n"
- "\t.align 2, 0\n"
- "_08136434: .4byte gKeyRepeatStartDelay\n"
- "_08136438: .4byte gUnknown_083DFEC4\n"
- "_0813643C: .4byte 0x00008828\n"
- "_08136440: .4byte 0x00009344\n"
- "_08136444: .4byte 0x0000d160\n"
- "_08136448:\n"
- "\tbl sub_80F1778\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbeq _08136454\n"
- "\tb _0813657A\n"
- "_08136454:\n"
- "\tldr r0, _08136460 @ =REG_BG2VOFS\n"
- "\tmovs r1, 0x6\n"
- "\tstrh r1, [r0]\n"
- "\tadds r0, 0x4\n"
- "\tstrh r1, [r0]\n"
- "\tb _08136524\n"
- "\t.align 2, 0\n"
- "_08136460: .4byte REG_BG2VOFS\n"
- "_08136464:\n"
- "\tmovs r0, 0\n"
- "\tbl sub_80F2E18\n"
- "\tldr r0, _0813647C @ =gUnknown_083DFEC4\n"
- "\tldr r0, [r0]\n"
- "\tldr r1, _08136480 @ =0x00008768\n"
- "\tadds r0, r1\n"
- "\tldr r1, [r0]\n"
- "\tldr r0, _08136484 @ =0x0000ffd8\n"
- "\tstrh r0, [r1, 0x26]\n"
- "\tb _08136524\n"
- "\t.align 2, 0\n"
- "_0813647C: .4byte gUnknown_083DFEC4\n"
- "_08136480: .4byte 0x00008768\n"
- "_08136484: .4byte 0x0000ffd8\n"
- "_08136488:\n"
- "\tbl sub_80F170C\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbne _0813657A\n"
- "\tb _08136524\n"
- "_08136494:\n"
- "\tbl sub_80F33A8\n"
- "\tb _08136524\n"
- "_0813649A:\n"
- "\tldr r1, _081364C4 @ =0x0600f800\n"
- "\tmovs r2, 0\n"
- "\tstr r2, [sp]\n"
- "\tldr r0, _081364C8 @ =0x040000d4\n"
- "\tmov r4, sp\n"
- "\tstr r4, [r0]\n"
- "\tstr r1, [r0, 0x4]\n"
- "\tldr r1, _081364CC @ =0x85000200\n"
- "\tstr r1, [r0, 0x8]\n"
- "\tldr r0, [r0, 0x8]\n"
- "\tldr r0, _081364D0 @ =REG_BG1VOFS\n"
- "\tstrh r2, [r0]\n"
- "\tsubs r0, 0x2\n"
- "\tstrh r2, [r0]\n"
- "\tldr r1, _081364D4 @ =REG_BG1CNT\n"
- "\tmovs r2, 0xF8\n"
- "\tlsls r2, 5\n"
- "\tadds r0, r2, 0\n"
- "\tstrh r0, [r1]\n"
- "\tldr r1, [r3]\n"
- "\tb _08136528\n"
- "\t.align 2, 0\n"
- "_081364C4: .4byte 0x0600f800\n"
- "_081364C8: .4byte 0x040000d4\n"
- "_081364CC: .4byte 0x85000200\n"
- "_081364D0: .4byte REG_BG1VOFS\n"
- "_081364D4: .4byte REG_BG1CNT\n"
- "_081364D8:\n"
- "\tldr r0, _081364F0 @ =gUnknown_083DFEC4\n"
- "\tldr r1, [r0]\n"
- "\tldr r4, _081364F4 @ =0x00008ff0\n"
- "\tadds r0, r1, r4\n"
- "\tldr r2, _081364F8 @ =0x00009004\n"
- "\tadds r1, r2\n"
- "\tbl sub_80F567C\n"
- "\tbl sub_80F5B38\n"
- "\tb _08136524\n"
- "\t.align 2, 0\n"
- "_081364F0: .4byte gUnknown_083DFEC4\n"
- "_081364F4: .4byte 0x00008ff0\n"
- "_081364F8: .4byte 0x00009004\n"
- "_081364FC:\n"
- "\tbl sub_80F5B50\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbne _0813657A\n"
- "\tb _08136524\n"
- "_08136508:\n"
- "\tldr r0, _08136518 @ =gUnknown_083DFEC4\n"
- "\tldr r0, [r0]\n"
- "\tldr r4, _0813651C @ =0x00009004\n"
- "\tadds r0, r4\n"
- "\tbl sub_80F556C\n"
- "\tb _08136524\n"
- "\t.align 2, 0\n"
- "_08136518: .4byte gUnknown_083DFEC4\n"
- "_0813651C: .4byte 0x00009004\n"
- "_08136520:\n"
- "\tbl sub_80F1934\n"
- "_08136524:\n"
- "\tldr r0, _08136534 @ =gUnknown_02039304\n"
- "\tldr r1, [r0]\n"
- "_08136528:\n"
- "\tadds r1, 0x50\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "\tb _0813657A\n"
- "\t.align 2, 0\n"
- "_08136534: .4byte gUnknown_02039304\n"
- "_08136538:\n"
- "\tldr r1, _08136584 @ =REG_WIN0H\n"
- "\tmovs r0, 0xF0\n"
- "\tstrh r0, [r1]\n"
- "\tadds r1, 0x2\n"
- "\tmovs r0, 0x9B\n"
- "\tstrh r0, [r1]\n"
- "\tldr r0, _08136588 @ =REG_WIN0V\n"
- "\tldr r2, _0813658C @ =0x00003273\n"
- "\tadds r1, r2, 0\n"
- "\tstrh r1, [r0]\n"
- "\tadds r0, 0x2\n"
- "\tstrh r1, [r0]\n"
- "\tldr r1, _08136590 @ =REG_WININ\n"
- "\tldr r4, _08136594 @ =0x00003f3f\n"
- "\tadds r0, r4, 0\n"
- "\tstrh r0, [r1]\n"
- "\tadds r1, 0x2\n"
- "\tmovs r0, 0x1B\n"
- "\tstrh r0, [r1]\n"
- "\tsubs r1, 0x38\n"
- "\tmovs r0, 0x28\n"
- "\tstrh r0, [r1]\n"
- "\tsubs r1, 0x12\n"
- "\tldr r2, _08136598 @ =0x00007f40\n"
- "\tadds r0, r2, 0\n"
- "\tstrh r0, [r1]\n"
- "_0813656C:\n"
- "\tldr r0, [r3]\n"
- "\tadds r0, 0x55\n"
- "\tmovs r1, 0x1\n"
- "\tstrb r1, [r0]\n"
- "\tldr r0, _0813659C @ =sub_81365C8\n"
- "\tbl launch_c3_walk_stairs_and_run_once\n"
- "_0813657A:\n"
- "\tadd sp, 0x4\n"
- "\tpop {r4,r5}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.align 2, 0\n"
- "_08136584: .4byte REG_WIN0H\n"
- "_08136588: .4byte REG_WIN0V\n"
- "_0813658C: .4byte 0x00003273\n"
- "_08136590: .4byte REG_WININ\n"
- "_08136594: .4byte 0x00003f3f\n"
- "_08136598: .4byte 0x00007f40\n"
- "_0813659C: .4byte sub_81365C8\n"
- ".syntax divided\n");
-}
-#endif
void sub_81365A0(void)
{