item_pc: through sub_810D4C0
This commit is contained in:
+14
-342
@@ -5,334 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_810D3F4
|
||||
sub_810D3F4: @ 810D3F4
|
||||
push {r4-r6,lr}
|
||||
adds r4, r1, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r5, r0, 0
|
||||
cmp r5, 0x1
|
||||
bhi _0810D410
|
||||
ldr r6, _0810D418 @ =gUnknown_203ADBC
|
||||
movs r0, 0x14
|
||||
bl Alloc
|
||||
str r0, [r6]
|
||||
cmp r0, 0
|
||||
bne _0810D41C
|
||||
_0810D410:
|
||||
adds r0, r4, 0
|
||||
bl SetMainCallback2
|
||||
b _0810D462
|
||||
.align 2, 0
|
||||
_0810D418: .4byte gUnknown_203ADBC
|
||||
_0810D41C:
|
||||
cmp r5, 0x1
|
||||
beq _0810D42A
|
||||
ldr r0, _0810D468 @ =gUnknown_203ADCC
|
||||
str r4, [r0]
|
||||
movs r1, 0
|
||||
strh r1, [r0, 0x6]
|
||||
strh r1, [r0, 0x4]
|
||||
_0810D42A:
|
||||
ldr r1, [r6]
|
||||
movs r0, 0xFF
|
||||
strb r0, [r1, 0x4]
|
||||
ldr r0, [r6]
|
||||
movs r2, 0
|
||||
strb r2, [r0, 0x5]
|
||||
ldr r1, [r6]
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
strb r0, [r1, 0x8]
|
||||
ldr r0, [r6]
|
||||
str r2, [r0]
|
||||
ldr r5, _0810D46C @ =sub_810D4A0
|
||||
adds r4, r6, 0
|
||||
movs r3, 0
|
||||
_0810D448:
|
||||
ldr r0, [r4]
|
||||
lsls r1, r2, 1
|
||||
adds r0, 0xC
|
||||
adds r0, r1
|
||||
strh r3, [r0]
|
||||
adds r0, r2, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
cmp r2, 0x2
|
||||
bls _0810D448
|
||||
adds r0, r5, 0
|
||||
bl SetMainCallback2
|
||||
_0810D462:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0810D468: .4byte gUnknown_203ADCC
|
||||
_0810D46C: .4byte sub_810D4A0
|
||||
thumb_func_end sub_810D3F4
|
||||
|
||||
thumb_func_start sub_810D470
|
||||
sub_810D470: @ 810D470
|
||||
push {lr}
|
||||
bl RunTasks
|
||||
bl AnimateSprites
|
||||
bl BuildOamBuffer
|
||||
bl do_scheduled_bg_tilemap_copies_to_vram
|
||||
bl UpdatePaletteFade
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_810D470
|
||||
|
||||
thumb_func_start sub_810D48C
|
||||
sub_810D48C: @ 810D48C
|
||||
push {lr}
|
||||
bl LoadOam
|
||||
bl ProcessSpriteCopyRequests
|
||||
bl TransferPlttBuffer
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_810D48C
|
||||
|
||||
thumb_func_start sub_810D4A0
|
||||
sub_810D4A0: @ 810D4A0
|
||||
push {lr}
|
||||
_0810D4A2:
|
||||
bl sub_810D4C0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _0810D4BA
|
||||
bl sub_80BF708
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0810D4A2
|
||||
_0810D4BA:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_810D4A0
|
||||
|
||||
thumb_func_start sub_810D4C0
|
||||
sub_810D4C0: @ 810D4C0
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
ldr r0, _0810D4E0 @ =gMain
|
||||
movs r1, 0x87
|
||||
lsls r1, 3
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x14
|
||||
bls _0810D4D4
|
||||
b _0810D688
|
||||
_0810D4D4:
|
||||
lsls r0, 2
|
||||
ldr r1, _0810D4E4 @ =_0810D4E8
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0810D4E0: .4byte gMain
|
||||
_0810D4E4: .4byte _0810D4E8
|
||||
.align 2, 0
|
||||
_0810D4E8:
|
||||
.4byte _0810D53C
|
||||
.4byte _0810D546
|
||||
.4byte _0810D54C
|
||||
.4byte _0810D552
|
||||
.4byte _0810D558
|
||||
.4byte _0810D55E
|
||||
.4byte _0810D564
|
||||
.4byte _0810D56A
|
||||
.4byte _0810D584
|
||||
.4byte _0810D594
|
||||
.4byte _0810D59A
|
||||
.4byte _0810D5A8
|
||||
.4byte _0810D5BA
|
||||
.4byte _0810D5C0
|
||||
.4byte _0810D5C6
|
||||
.4byte _0810D5CC
|
||||
.4byte _0810D608
|
||||
.4byte _0810D60E
|
||||
.4byte _0810D616
|
||||
.4byte _0810D630
|
||||
.4byte _0810D668
|
||||
_0810D53C:
|
||||
bl VblankHblankHandlerSetZero
|
||||
bl clear_scheduled_bg_copies_to_vram
|
||||
b _0810D674
|
||||
_0810D546:
|
||||
bl ScanlineEffect_Stop
|
||||
b _0810D674
|
||||
_0810D54C:
|
||||
bl FreeAllSpritePalettes
|
||||
b _0810D674
|
||||
_0810D552:
|
||||
bl ResetPaletteFade
|
||||
b _0810D674
|
||||
_0810D558:
|
||||
bl ResetSpriteData
|
||||
b _0810D674
|
||||
_0810D55E:
|
||||
bl sub_80984D8
|
||||
b _0810D674
|
||||
_0810D564:
|
||||
bl ResetTasks
|
||||
b _0810D674
|
||||
_0810D56A:
|
||||
bl sub_810D71C
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0810D5B2
|
||||
ldr r0, _0810D580 @ =gUnknown_203ADBC
|
||||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
strh r0, [r1, 0xC]
|
||||
b _0810D674
|
||||
.align 2, 0
|
||||
_0810D580: .4byte gUnknown_203ADBC
|
||||
_0810D584:
|
||||
bl sub_810D78C
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _0810D592
|
||||
b _0810D6A0
|
||||
_0810D592:
|
||||
b _0810D674
|
||||
_0810D594:
|
||||
bl sub_810E8F0
|
||||
b _0810D674
|
||||
_0810D59A:
|
||||
bl sub_810DDA4
|
||||
bl sub_810DBF0
|
||||
bl sub_810DE08
|
||||
b _0810D674
|
||||
_0810D5A8:
|
||||
bl sub_810D83C
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0810D674
|
||||
_0810D5B2:
|
||||
bl sub_810D6AC
|
||||
movs r0, 0x1
|
||||
b _0810D6A2
|
||||
_0810D5BA:
|
||||
bl sub_810D878
|
||||
b _0810D674
|
||||
_0810D5C0:
|
||||
bl sub_810DB34
|
||||
b _0810D674
|
||||
_0810D5C6:
|
||||
bl sub_80985E4
|
||||
b _0810D674
|
||||
_0810D5CC:
|
||||
ldr r0, _0810D5F8 @ =sub_810DEA0
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
ldr r0, _0810D5FC @ =gMultiuseListMenuTemplate
|
||||
ldr r2, _0810D600 @ =gUnknown_203ADCC
|
||||
ldrh r1, [r2, 0x4]
|
||||
ldrh r2, [r2, 0x6]
|
||||
bl ListMenuInit
|
||||
ldr r2, _0810D604 @ =gTasks
|
||||
lsls r1, r4, 2
|
||||
adds r1, r4
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r1, 0x8]
|
||||
b _0810D674
|
||||
.align 2, 0
|
||||
_0810D5F8: .4byte sub_810DEA0
|
||||
_0810D5FC: .4byte gMultiuseListMenuTemplate
|
||||
_0810D600: .4byte gUnknown_203ADCC
|
||||
_0810D604: .4byte gTasks
|
||||
_0810D608:
|
||||
bl sub_810DB5C
|
||||
b _0810D674
|
||||
_0810D60E:
|
||||
movs r0, 0x1D
|
||||
bl HelpSystem_SetSomeVariable2
|
||||
b _0810D674
|
||||
_0810D616:
|
||||
ldr r0, _0810D62C @ =gUnknown_203ADCC
|
||||
ldrb r0, [r0, 0x8]
|
||||
cmp r0, 0x1
|
||||
bne _0810D674
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0x10
|
||||
movs r2, 0
|
||||
bl BlendPalettes
|
||||
b _0810D674
|
||||
.align 2, 0
|
||||
_0810D62C: .4byte gUnknown_203ADCC
|
||||
_0810D630:
|
||||
ldr r0, _0810D64C @ =gUnknown_203ADCC
|
||||
ldrb r0, [r0, 0x8]
|
||||
cmp r0, 0x1
|
||||
bne _0810D650
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0
|
||||
str r1, [sp]
|
||||
movs r2, 0x10
|
||||
movs r3, 0
|
||||
bl BeginNormalPaletteFade
|
||||
b _0810D674
|
||||
.align 2, 0
|
||||
_0810D64C: .4byte gUnknown_203ADCC
|
||||
_0810D650:
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_80A0A48
|
||||
movs r0, 0x1
|
||||
bl sub_810DE94
|
||||
movs r0, 0x2
|
||||
bl PlaySE
|
||||
b _0810D674
|
||||
_0810D668:
|
||||
bl sub_80BF72C
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _0810D6A0
|
||||
_0810D674:
|
||||
ldr r1, _0810D684 @ =gMain
|
||||
movs r0, 0x87
|
||||
lsls r0, 3
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
adds r0, 0x1
|
||||
strb r0, [r1]
|
||||
b _0810D6A0
|
||||
.align 2, 0
|
||||
_0810D684: .4byte gMain
|
||||
_0810D688:
|
||||
ldr r0, _0810D698 @ =sub_810D48C
|
||||
bl SetVBlankCallback
|
||||
ldr r0, _0810D69C @ =sub_810D470
|
||||
bl SetMainCallback2
|
||||
movs r0, 0x1
|
||||
b _0810D6A2
|
||||
.align 2, 0
|
||||
_0810D698: .4byte sub_810D48C
|
||||
_0810D69C: .4byte sub_810D470
|
||||
_0810D6A0:
|
||||
movs r0, 0
|
||||
_0810D6A2:
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_810D4C0
|
||||
|
||||
thumb_func_start sub_810D6AC
|
||||
sub_810D6AC: @ 810D6AC
|
||||
push {lr}
|
||||
@@ -935,7 +607,7 @@ sub_810DB5C: @ 810DB5C
|
||||
movs r0, 0x6E
|
||||
str r0, [sp, 0x4]
|
||||
str r0, [sp, 0x8]
|
||||
ldr r0, _0810DB94 @ =gUnknown_203ADD0
|
||||
ldr r0, _0810DB94 @ =gUnknown_203ADCC + 0x4
|
||||
str r0, [sp, 0xC]
|
||||
movs r0, 0x2
|
||||
movs r1, 0x80
|
||||
@@ -950,7 +622,7 @@ sub_810DB5C: @ 810DB5C
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0810DB90: .4byte gUnknown_203ADBC
|
||||
_0810DB94: .4byte gUnknown_203ADD0
|
||||
_0810DB94: .4byte gUnknown_203ADCC + 0x4
|
||||
thumb_func_end sub_810DB5C
|
||||
|
||||
thumb_func_start sub_810DB98
|
||||
@@ -1151,7 +823,7 @@ sub_810DCE4: @ 810DCE4
|
||||
cmp r0, 0
|
||||
bne _0810DD4E
|
||||
ldrb r0, [r4]
|
||||
ldr r4, _0810DD30 @ =gUnknown_203ADD0
|
||||
ldr r4, _0810DD30 @ =gUnknown_203ADCC + 0x4
|
||||
adds r2, r4, 0x2
|
||||
adds r1, r4, 0
|
||||
bl DestroyListMenu
|
||||
@@ -1165,7 +837,7 @@ sub_810DCE4: @ 810DCE4
|
||||
.align 2, 0
|
||||
_0810DD28: .4byte gTasks+0x8
|
||||
_0810DD2C: .4byte gPaletteFade
|
||||
_0810DD30: .4byte gUnknown_203ADD0
|
||||
_0810DD30: .4byte gUnknown_203ADCC + 0x4
|
||||
_0810DD34: .4byte gUnknown_203ADBC
|
||||
_0810DD38:
|
||||
subs r0, r4, 0x4
|
||||
@@ -1434,7 +1106,7 @@ _0810DF20:
|
||||
bl ListMenuHandleInput
|
||||
adds r4, r0, 0
|
||||
ldrb r0, [r6]
|
||||
ldr r1, _0810DF44 @ =gUnknown_203ADD0
|
||||
ldr r1, _0810DF44 @ =gUnknown_203ADCC + 0x4
|
||||
adds r2, r1, 0x2
|
||||
bl ListMenuGetScrollAndRow
|
||||
movs r0, 0x2
|
||||
@@ -1446,7 +1118,7 @@ _0810DF20:
|
||||
bne _0810DF6C
|
||||
b _0810DF9E
|
||||
.align 2, 0
|
||||
_0810DF44: .4byte gUnknown_203ADD0
|
||||
_0810DF44: .4byte gUnknown_203ADCC + 0x4
|
||||
_0810DF48:
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
@@ -1627,7 +1299,7 @@ sub_810E0B4: @ 810E0B4
|
||||
ldrb r0, [r4]
|
||||
bl ListMenuHandleInput
|
||||
ldrb r0, [r4]
|
||||
ldr r7, _0810E120 @ =gUnknown_203ADD0
|
||||
ldr r7, _0810E120 @ =gUnknown_203ADCC + 0x4
|
||||
adds r2, r7, 0x2
|
||||
adds r1, r7, 0
|
||||
bl ListMenuGetScrollAndRow
|
||||
@@ -1661,7 +1333,7 @@ sub_810E0B4: @ 810E0B4
|
||||
b _0810E150
|
||||
.align 2, 0
|
||||
_0810E11C: .4byte gTasks+0x8
|
||||
_0810E120: .4byte gUnknown_203ADD0
|
||||
_0810E120: .4byte gUnknown_203ADCC + 0x4
|
||||
_0810E124: .4byte gMain
|
||||
_0810E128: .4byte gUnknown_203ADBC
|
||||
_0810E12C:
|
||||
@@ -1728,7 +1400,7 @@ _0810E194:
|
||||
adds r2, r4, 0
|
||||
bl sub_8108D60
|
||||
ldrb r0, [r6]
|
||||
ldr r5, _0810E1F4 @ =gUnknown_203ADD0
|
||||
ldr r5, _0810E1F4 @ =gUnknown_203ADCC + 0x4
|
||||
adds r2, r5, 0x2
|
||||
adds r1, r5, 0
|
||||
bl DestroyListMenu
|
||||
@@ -1765,7 +1437,7 @@ _0810E1E6:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0810E1F0: .4byte gSaveBlock1Ptr
|
||||
_0810E1F4: .4byte gUnknown_203ADD0
|
||||
_0810E1F4: .4byte gUnknown_203ADCC + 0x4
|
||||
_0810E1F8: .4byte gMultiuseListMenuTemplate
|
||||
_0810E1FC: .4byte sub_810DEA0
|
||||
thumb_func_end sub_810E160
|
||||
@@ -1785,7 +1457,7 @@ sub_810E200: @ 810E200
|
||||
mov r8, r0
|
||||
adds r6, r7, r0
|
||||
ldrb r0, [r6]
|
||||
ldr r5, _0810E268 @ =gUnknown_203ADD0
|
||||
ldr r5, _0810E268 @ =gUnknown_203ADCC + 0x4
|
||||
adds r2, r5, 0x2
|
||||
adds r1, r5, 0
|
||||
bl DestroyListMenu
|
||||
@@ -1821,7 +1493,7 @@ _0810E234:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0810E264: .4byte gTasks+0x8
|
||||
_0810E268: .4byte gUnknown_203ADD0
|
||||
_0810E268: .4byte gUnknown_203ADCC + 0x4
|
||||
_0810E26C: .4byte gMultiuseListMenuTemplate
|
||||
_0810E270: .4byte sub_810DEA0
|
||||
thumb_func_end sub_810E200
|
||||
@@ -2202,7 +1874,7 @@ sub_810E578: @ 810E578
|
||||
movs r0, 0x1
|
||||
bl PutWindowTilemap
|
||||
ldrb r0, [r5]
|
||||
ldr r4, _0810E5D8 @ =gUnknown_203ADD0
|
||||
ldr r4, _0810E5D8 @ =gUnknown_203ADCC + 0x4
|
||||
adds r2, r4, 0x2
|
||||
adds r1, r4, 0
|
||||
bl DestroyListMenu
|
||||
@@ -2226,7 +1898,7 @@ sub_810E578: @ 810E578
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0810E5D4: .4byte gTasks+0x8
|
||||
_0810E5D8: .4byte gUnknown_203ADD0
|
||||
_0810E5D8: .4byte gUnknown_203ADCC + 0x4
|
||||
_0810E5DC: .4byte gMultiuseListMenuTemplate
|
||||
thumb_func_end sub_810E578
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
void sub_80984D8(void);
|
||||
void sub_80985E4(void);
|
||||
u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3);
|
||||
|
||||
#endif // GUARD_ITEM_MENU_ICONS
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define GUARD_MENU_HELPERS_H
|
||||
|
||||
#include "global.h"
|
||||
#include "task.h"
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_PC_SCREEN_EFFECT_H
|
||||
#define GUARD_PC_SCREEN_EFFECT_H
|
||||
|
||||
void sub_80A0A48(u16, u16, u8);
|
||||
|
||||
#endif //GUARD_PC_SCREEN_EFFECT_H
|
||||
@@ -231,6 +231,7 @@ SECTIONS {
|
||||
src/bag.o(.text);
|
||||
src/trainer_pokemon_sprites.o(.text);
|
||||
src/vs_seeker.o(.text);
|
||||
src/item_pc.o(.text);
|
||||
asm/item_pc.o(.text);
|
||||
asm/mailbox_pc.o(.text);
|
||||
asm/menu.o(.text);
|
||||
|
||||
+238
@@ -0,0 +1,238 @@
|
||||
#include "global.h"
|
||||
#include "help_system.h"
|
||||
#include "item_menu_icons.h"
|
||||
#include "list_menu.h"
|
||||
#include "main.h"
|
||||
#include "malloc.h"
|
||||
#include "menu.h"
|
||||
#include "menu_helpers.h"
|
||||
#include "palette.h"
|
||||
#include "pc_screen_effect.h"
|
||||
#include "scanline_effect.h"
|
||||
#include "sound.h"
|
||||
#include "task.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
struct ItemPcResources
|
||||
{
|
||||
u32 field_00;
|
||||
u8 field_04;
|
||||
u8 field_05;
|
||||
u8 filler_06[2];
|
||||
u8 field_08;
|
||||
u8 filler_09[3];
|
||||
u16 field_0C[3];
|
||||
};
|
||||
|
||||
struct ItemPcStaticResources
|
||||
{
|
||||
MainCallback field_0;
|
||||
u16 field_4;
|
||||
u16 field_6;
|
||||
u8 field_8;
|
||||
};
|
||||
|
||||
EWRAM_DATA struct ItemPcResources * gUnknown_203ADBC = NULL;
|
||||
EWRAM_DATA u32 gUnknown_203ADC0 = 0;
|
||||
EWRAM_DATA u32 gUnknown_203ADC4 = 0;
|
||||
EWRAM_DATA u32 gUnknown_203ADC8 = 0;
|
||||
EWRAM_DATA struct ItemPcStaticResources gUnknown_203ADCC = {};
|
||||
|
||||
void sub_810D4A0(void);
|
||||
bool8 sub_810D4C0(void);
|
||||
void sub_810D6AC(void);
|
||||
bool8 sub_810D71C(void);
|
||||
bool8 sub_810D78C(void);
|
||||
bool8 sub_810D83C(void);
|
||||
void sub_810D878(void);
|
||||
void sub_810E8F0(void);
|
||||
void sub_810DB34(void);
|
||||
void sub_810DB5C(void);
|
||||
void sub_810DBF0(void);
|
||||
void sub_810DDA4(void);
|
||||
void sub_810DE08(void);
|
||||
void sub_810DE94(u8);
|
||||
void sub_810DEA0(u8 taskId);
|
||||
|
||||
void sub_810D3F4(u8 a0, MainCallback callback)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
if (a0 >= 2)
|
||||
{
|
||||
SetMainCallback2(callback);
|
||||
return;
|
||||
}
|
||||
if ((gUnknown_203ADBC = Alloc(sizeof(struct ItemPcResources))) == NULL)
|
||||
{
|
||||
SetMainCallback2(callback);
|
||||
return;
|
||||
}
|
||||
if (a0 != 1)
|
||||
{
|
||||
gUnknown_203ADCC.field_0 = callback;
|
||||
gUnknown_203ADCC.field_4 = gUnknown_203ADCC.field_6 = 0;
|
||||
}
|
||||
gUnknown_203ADBC->field_04 = 0xFF;
|
||||
gUnknown_203ADBC->field_05 = 0;
|
||||
gUnknown_203ADBC->field_08 = 0xFF;
|
||||
gUnknown_203ADBC->field_00 = 0;
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
gUnknown_203ADBC->field_0C[i] = 0;
|
||||
}
|
||||
SetMainCallback2(sub_810D4A0);
|
||||
}
|
||||
|
||||
void sub_810D470(void)
|
||||
{
|
||||
RunTasks();
|
||||
AnimateSprites();
|
||||
BuildOamBuffer();
|
||||
do_scheduled_bg_tilemap_copies_to_vram();
|
||||
UpdatePaletteFade();
|
||||
}
|
||||
|
||||
void sub_810D48C(void)
|
||||
{
|
||||
LoadOam();
|
||||
ProcessSpriteCopyRequests();
|
||||
TransferPlttBuffer();
|
||||
}
|
||||
|
||||
void sub_810D4A0(void)
|
||||
{
|
||||
while (1)
|
||||
{
|
||||
if (sub_810D4C0() == TRUE)
|
||||
break;
|
||||
if (sub_80BF708() == TRUE)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool8 sub_810D4C0(void)
|
||||
{
|
||||
u8 taskId;
|
||||
switch (gMain.state)
|
||||
{
|
||||
case 0:
|
||||
VblankHblankHandlerSetZero();
|
||||
clear_scheduled_bg_copies_to_vram();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 1:
|
||||
ScanlineEffect_Stop();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 2:
|
||||
FreeAllSpritePalettes();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 3:
|
||||
ResetPaletteFade();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 4:
|
||||
ResetSpriteData();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 5:
|
||||
sub_80984D8();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 6:
|
||||
ResetTasks();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 7:
|
||||
if (sub_810D71C())
|
||||
{
|
||||
gUnknown_203ADBC->field_0C[0] = 0;
|
||||
gMain.state++;
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_810D6AC();
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if (sub_810D78C() == TRUE)
|
||||
gMain.state++;
|
||||
break;
|
||||
case 9:
|
||||
sub_810E8F0();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 10:
|
||||
sub_810DDA4();
|
||||
sub_810DBF0();
|
||||
sub_810DE08();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 11:
|
||||
if (sub_810D83C())
|
||||
gMain.state++;
|
||||
else
|
||||
{
|
||||
sub_810D6AC();
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
sub_810D878();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 13:
|
||||
sub_810DB34();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 14:
|
||||
sub_80985E4();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 15:
|
||||
taskId = CreateTask(sub_810DEA0, 0);
|
||||
gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ADCC.field_4, gUnknown_203ADCC.field_6);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 16:
|
||||
sub_810DB5C();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 17:
|
||||
HelpSystem_SetSomeVariable2(29);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 18:
|
||||
if (gUnknown_203ADCC.field_8 == 1)
|
||||
{
|
||||
BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK);
|
||||
}
|
||||
gMain.state++;
|
||||
break;
|
||||
case 19:
|
||||
if (gUnknown_203ADCC.field_8 == 1)
|
||||
{
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_80A0A48(0, 0, 0);
|
||||
sub_810DE94(1);
|
||||
PlaySE(SE_PC_LOGON);
|
||||
}
|
||||
gMain.state++;
|
||||
break;
|
||||
case 20:
|
||||
if (sub_80BF72C() != TRUE)
|
||||
gMain.state++;
|
||||
break;
|
||||
default:
|
||||
SetVBlankCallback(sub_810D48C);
|
||||
SetMainCallback2(sub_810D470);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
+2
-17
@@ -1318,23 +1318,8 @@ gSpecialVar_ItemId: @ 203AD30
|
||||
.align 2
|
||||
.include "src/vs_seeker.o"
|
||||
|
||||
gUnknown_203ADBC: @ 203ADBC
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203ADC0: @ 203ADC0
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203ADC4: @ 203ADC4
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203ADC8: @ 203ADC8
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203ADCC: @ 203ADCC
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203ADD0: @ 203ADD0
|
||||
.space 0x8
|
||||
.align 2
|
||||
.include "src/item_pc.o"
|
||||
|
||||
gUnknown_203ADD8: @ 203ADD8
|
||||
.space 0x4
|
||||
|
||||
Reference in New Issue
Block a user