mirror of
https://github.com/pret/pokeruby.git
synced 2026-10-11 18:50:33 -04:00
through debug_sub_808D358
This commit is contained in:
@@ -3,148 +3,6 @@
|
||||
.include "constants/gba_constants.inc"
|
||||
.include "include/macros.inc"
|
||||
|
||||
thumb_func_start debug_sub_808D2BC
|
||||
debug_sub_808D2BC:
|
||||
push {r4, r5, lr}
|
||||
bl Menu_ProcessInput
|
||||
add r4, r0, #0
|
||||
lsl r4, r4, #0x18
|
||||
lsr r4, r4, #0x18
|
||||
bl Menu_GetCursorPos
|
||||
add r1, r0, #0
|
||||
ldr r5, ._294 @ gDebug_0300070F
|
||||
ldrb r0, [r5]
|
||||
lsl r1, r1, #0x18
|
||||
lsr r1, r1, #0x18
|
||||
bl debug_sub_808D308
|
||||
ldrb r0, [r5]
|
||||
bl debug_sub_808D358
|
||||
lsl r4, r4, #0x18
|
||||
asr r4, r4, #0x18
|
||||
mov r0, #0x2
|
||||
neg r0, r0
|
||||
cmp r4, r0
|
||||
beq ._291 @cond_branch
|
||||
mov r0, #0x1
|
||||
neg r0, r0
|
||||
cmp r4, r0
|
||||
beq ._292 @cond_branch
|
||||
._291:
|
||||
mov r0, #0x0
|
||||
b ._293
|
||||
._295:
|
||||
.align 2, 0
|
||||
._294:
|
||||
.word gDebug_0300070F
|
||||
._292:
|
||||
bl CloseMenu
|
||||
mov r0, #0x1
|
||||
._293:
|
||||
pop {r4, r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
|
||||
thumb_func_end debug_sub_808D2BC
|
||||
|
||||
thumb_func_start debug_sub_808D308
|
||||
debug_sub_808D308:
|
||||
push {r4, lr}
|
||||
lsl r0, r0, #0x18
|
||||
lsr r2, r0, #0x18
|
||||
lsl r1, r1, #0x18
|
||||
lsr r3, r1, #0x18
|
||||
ldr r0, ._299 @ gMain
|
||||
ldrh r1, [r0, #0x2e]
|
||||
mov r0, #0x80
|
||||
lsl r0, r0, #0x1
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._298 @cond_branch
|
||||
ldr r0, ._299 + 4 @ gUnknown_Debug_083C19C6
|
||||
lsl r1, r2, #0x3
|
||||
add r1, r1, r2
|
||||
add r1, r1, r3
|
||||
lsl r1, r1, #0x1
|
||||
add r1, r1, r0
|
||||
ldrh r4, [r1]
|
||||
add r0, r4, #0
|
||||
bl FlagGet
|
||||
lsl r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne ._297 @cond_branch
|
||||
add r0, r4, #0
|
||||
bl FlagSet
|
||||
b ._298
|
||||
._300:
|
||||
.align 2, 0
|
||||
._299:
|
||||
.word gMain
|
||||
.word gUnknown_Debug_083C19C6
|
||||
._297:
|
||||
add r0, r4, #0
|
||||
bl FlagClear
|
||||
._298:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
||||
thumb_func_end debug_sub_808D308
|
||||
|
||||
thumb_func_start debug_sub_808D358
|
||||
debug_sub_808D358:
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
lsl r0, r0, #0x18
|
||||
lsr r1, r0, #0x18
|
||||
mov r5, #0x0
|
||||
ldr r0, ._303 @ gUnknown_Debug_083C19BC
|
||||
add r0, r1, r0
|
||||
ldrb r2, [r0]
|
||||
cmp r5, r2
|
||||
bcs ._301 @cond_branch
|
||||
ldr r0, ._303 + 4 @ gUnknown_Debug_083C19C6
|
||||
mov r8, r0
|
||||
lsl r0, r1, #0x3
|
||||
add r0, r0, r1
|
||||
lsl r7, r0, #0x1
|
||||
add r6, r2, #0
|
||||
._302:
|
||||
lsl r0, r5, #0x1
|
||||
add r4, r0, #1
|
||||
lsl r4, r4, #0x18
|
||||
lsr r4, r4, #0x18
|
||||
add r0, r0, r7
|
||||
add r0, r0, r8
|
||||
ldrh r0, [r0]
|
||||
bl FlagGet
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
neg r2, r0
|
||||
orr r2, r2, r0
|
||||
lsr r2, r2, #0x1f
|
||||
mov r0, #0x1c
|
||||
add r1, r4, #0
|
||||
bl debug_sub_808F2E0
|
||||
add r0, r5, #1
|
||||
lsl r0, r0, #0x18
|
||||
lsr r5, r0, #0x18
|
||||
cmp r5, r6
|
||||
bcc ._302 @cond_branch
|
||||
._301:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
._304:
|
||||
.align 2, 0
|
||||
._303:
|
||||
.word gUnknown_Debug_083C19BC
|
||||
.word gUnknown_Debug_083C19C6
|
||||
|
||||
thumb_func_end debug_sub_808D358
|
||||
|
||||
thumb_func_start debug_sub_808D3BC
|
||||
debug_sub_808D3BC:
|
||||
push {lr}
|
||||
|
||||
@@ -162,9 +162,11 @@ bool8 debug_sub_808CCC4(void);
|
||||
bool8 debug_sub_808CE10(void);
|
||||
void debug_sub_808CC10(u8);
|
||||
void debug_sub_808CE5C(u8, u8);
|
||||
void debug_sub_808CEAC(u8);
|
||||
bool8 debug_sub_808CF60(void);
|
||||
bool8 debug_sub_808D2BC(void);
|
||||
void debug_sub_808CEAC(u8);
|
||||
void debug_sub_808D308(u8, u8);
|
||||
void debug_sub_808D358(u8);
|
||||
|
||||
extern const u8 DebugScript_081C1CFE[];
|
||||
extern const u8 DebugScript_081C1D07[];
|
||||
@@ -2504,11 +2506,10 @@ void debug_sub_808C714(u8 whichMenu, u8 cursorPos)
|
||||
{
|
||||
if (gMain.newKeys & R_BUTTON)
|
||||
{
|
||||
u16 flag = gUnknown_Debug_83C31E6[whichMenu][cursorPos];
|
||||
if (!FlagGet(flag))
|
||||
FlagSet(flag);
|
||||
if (!FlagGet(gUnknown_Debug_83C31E6[whichMenu][cursorPos]))
|
||||
FlagSet(gUnknown_Debug_83C31E6[whichMenu][cursorPos]);
|
||||
else
|
||||
FlagClear(flag);
|
||||
FlagClear(gUnknown_Debug_83C31E6[whichMenu][cursorPos]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2667,11 +2668,10 @@ void debug_sub_808CBC0(u8 whichMenu, u8 cursorPos)
|
||||
{
|
||||
if (gMain.newKeys & R_BUTTON)
|
||||
{
|
||||
u16 flag = gUnknown_Debug_083C271A[whichMenu][cursorPos];
|
||||
if (!FlagGet(flag))
|
||||
FlagSet(flag);
|
||||
if (!FlagGet(gUnknown_Debug_083C271A[whichMenu][cursorPos]))
|
||||
FlagSet(gUnknown_Debug_083C271A[whichMenu][cursorPos]);
|
||||
else
|
||||
FlagClear(flag);
|
||||
FlagClear(gUnknown_Debug_083C271A[whichMenu][cursorPos]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2764,11 +2764,10 @@ void debug_sub_808CE5C(u8 whichMenu, u8 cursorPos)
|
||||
{
|
||||
if (gMain.newKeys & R_BUTTON)
|
||||
{
|
||||
u16 flag = gUnknown_Debug_083C1C38[whichMenu][cursorPos];
|
||||
if (!FlagGet(flag))
|
||||
FlagSet(flag);
|
||||
if (!FlagGet(gUnknown_Debug_083C1C38[whichMenu][cursorPos]))
|
||||
FlagSet(gUnknown_Debug_083C1C38[whichMenu][cursorPos]);
|
||||
else
|
||||
FlagClear(flag);
|
||||
FlagClear(gUnknown_Debug_083C1C38[whichMenu][cursorPos]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2906,4 +2905,42 @@ bool8 debug_sub_808D264(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 debug_sub_808D2BC(void)
|
||||
{
|
||||
s8 input = Menu_ProcessInput();
|
||||
s8 cursorPos = Menu_GetCursorPos();
|
||||
|
||||
debug_sub_808D308(gDebug_0300070F, cursorPos);
|
||||
debug_sub_808D358(gDebug_0300070F);
|
||||
if (input == -2)
|
||||
return FALSE;
|
||||
if (input == -1)
|
||||
{
|
||||
CloseMenu();
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void debug_sub_808D308(u8 whichMenu, u8 cursorPos)
|
||||
{
|
||||
if (gMain.newKeys & R_BUTTON)
|
||||
{
|
||||
if (!FlagGet(gUnknown_Debug_083C19C6[whichMenu][cursorPos]))
|
||||
FlagSet(gUnknown_Debug_083C19C6[whichMenu][cursorPos]);
|
||||
else
|
||||
FlagClear(gUnknown_Debug_083C19C6[whichMenu][cursorPos]);
|
||||
}
|
||||
}
|
||||
|
||||
void debug_sub_808D358(u8 whichMenu)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < gUnknown_Debug_083C19BC[whichMenu]; i++)
|
||||
{
|
||||
debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C19C6[whichMenu][i]) ? TRUE : FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user