mirror of
https://github.com/pret/pokeruby.git
synced 2026-10-09 18:06:33 -04:00
debug_80C3D2C
This commit is contained in:
@@ -5,447 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start debug_80C3D2C
|
||||
debug_80C3D2C:
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
add sp, sp, #0xfffffffc
|
||||
lsl r0, r0, #0x18
|
||||
lsr r6, r0, #0x18
|
||||
add r7, r6, #0
|
||||
ldr r4, ._60 @ gMain
|
||||
ldrh r1, [r4, #0x2e]
|
||||
mov r0, #0x2
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._58 @cond_branch
|
||||
mov r0, #0x5
|
||||
bl PlaySE
|
||||
mov r0, #0x1
|
||||
neg r0, r0
|
||||
mov r1, #0x0
|
||||
str r1, [sp]
|
||||
mov r2, #0x0
|
||||
mov r3, #0x10
|
||||
bl BeginNormalPaletteFade
|
||||
ldr r0, ._60 + 4 @ debug_80C370C
|
||||
bl SetMainCallback2
|
||||
ldr r1, ._60 + 8 @ gTasks
|
||||
lsl r0, r6, #0x2
|
||||
add r0, r0, r6
|
||||
lsl r0, r0, #0x3
|
||||
add r0, r0, r1
|
||||
ldr r1, ._60 + 12 @ debug_80C373C
|
||||
str r1, [r0]
|
||||
b ._117
|
||||
._61:
|
||||
.align 2, 0
|
||||
._60:
|
||||
.word gMain
|
||||
.word debug_80C370C+1
|
||||
.word gTasks
|
||||
.word debug_80C373C+1
|
||||
._58:
|
||||
mov r5, #0x1
|
||||
add r0, r5, #0
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._62 @cond_branch
|
||||
mov r0, #0x5
|
||||
bl PlaySE
|
||||
ldr r1, ._64 @ gTasks
|
||||
lsl r0, r6, #0x2
|
||||
add r0, r0, r6
|
||||
lsl r0, r0, #0x3
|
||||
add r0, r0, r1
|
||||
ldrh r1, [r0, #0x18]
|
||||
mov r2, #0x1
|
||||
eor r1, r1, r2
|
||||
strh r1, [r0, #0x18]
|
||||
b ._117
|
||||
._65:
|
||||
.align 2, 0
|
||||
._64:
|
||||
.word gTasks
|
||||
._62:
|
||||
ldrh r1, [r4, #0x30]
|
||||
mov r0, #0x20
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._66 @cond_branch
|
||||
ldr r1, ._70 @ gTasks
|
||||
lsl r2, r6, #0x2
|
||||
add r0, r2, r6
|
||||
lsl r0, r0, #0x3
|
||||
add r3, r0, r1
|
||||
mov r5, #0x18
|
||||
ldsh r0, [r3, r5]
|
||||
mov r8, r1
|
||||
cmp r0, #0
|
||||
beq ._67 @cond_branch
|
||||
ldrh r1, [r4, #0x2c]
|
||||
mov r0, #0x80
|
||||
lsl r0, r0, #0x1
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._68 @cond_branch
|
||||
ldrh r0, [r3, #0x14]
|
||||
add r0, r0, #0x10
|
||||
b ._69
|
||||
._71:
|
||||
.align 2, 0
|
||||
._70:
|
||||
.word gTasks
|
||||
._68:
|
||||
ldrh r0, [r3, #0x14]
|
||||
add r0, r0, #0x1
|
||||
._69:
|
||||
strh r0, [r3, #0x14]
|
||||
add r0, r2, r7
|
||||
lsl r0, r0, #0x3
|
||||
mov r2, r8
|
||||
add r1, r0, r2
|
||||
ldrh r0, [r1, #0x14]
|
||||
mov r6, #0x80
|
||||
lsl r6, r6, #0x8
|
||||
cmp r0, r6
|
||||
bhi ._72 @cond_branch
|
||||
b ._117
|
||||
._72:
|
||||
strh r6, [r1, #0x14]
|
||||
b ._117
|
||||
._67:
|
||||
ldrh r1, [r4, #0x2c]
|
||||
mov r0, #0x80
|
||||
lsl r0, r0, #0x1
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._75 @cond_branch
|
||||
ldrh r0, [r3, #0x16]
|
||||
add r0, r0, #0x10
|
||||
b ._76
|
||||
._75:
|
||||
ldrh r0, [r3, #0x16]
|
||||
add r0, r0, #0x1
|
||||
._76:
|
||||
strh r0, [r3, #0x16]
|
||||
add r0, r2, r7
|
||||
lsl r0, r0, #0x3
|
||||
mov r4, r8
|
||||
add r1, r0, r4
|
||||
ldrh r0, [r1, #0x16]
|
||||
mov r6, #0x80
|
||||
lsl r6, r6, #0x8
|
||||
cmp r0, r6
|
||||
bhi ._77 @cond_branch
|
||||
b ._117
|
||||
._77:
|
||||
strh r6, [r1, #0x16]
|
||||
b ._117
|
||||
._66:
|
||||
mov r0, #0x10
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._80 @cond_branch
|
||||
ldr r1, ._84 @ gTasks
|
||||
lsl r2, r6, #0x2
|
||||
add r0, r2, r6
|
||||
lsl r0, r0, #0x3
|
||||
add r3, r0, r1
|
||||
mov r5, #0x18
|
||||
ldsh r0, [r3, r5]
|
||||
mov r8, r1
|
||||
cmp r0, #0
|
||||
beq ._81 @cond_branch
|
||||
ldrh r1, [r4, #0x2c]
|
||||
mov r0, #0x80
|
||||
lsl r0, r0, #0x1
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._82 @cond_branch
|
||||
ldrh r0, [r3, #0x14]
|
||||
sub r0, r0, #0x10
|
||||
b ._83
|
||||
._85:
|
||||
.align 2, 0
|
||||
._84:
|
||||
.word gTasks
|
||||
._82:
|
||||
ldrh r0, [r3, #0x14]
|
||||
sub r0, r0, #0x1
|
||||
._83:
|
||||
strh r0, [r3, #0x14]
|
||||
add r0, r2, r7
|
||||
lsl r0, r0, #0x3
|
||||
mov r2, r8
|
||||
add r1, r0, r2
|
||||
mov r4, #0x14
|
||||
ldsh r0, [r1, r4]
|
||||
cmp r0, #0xff
|
||||
ble ._86 @cond_branch
|
||||
b ._117
|
||||
._86:
|
||||
mov r0, #0x80
|
||||
lsl r0, r0, #0x1
|
||||
strh r0, [r1, #0x14]
|
||||
b ._117
|
||||
._81:
|
||||
ldrh r1, [r4, #0x2c]
|
||||
mov r0, #0x80
|
||||
lsl r0, r0, #0x1
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._89 @cond_branch
|
||||
ldrh r0, [r3, #0x16]
|
||||
sub r0, r0, #0x10
|
||||
b ._90
|
||||
._89:
|
||||
ldrh r0, [r3, #0x16]
|
||||
sub r0, r0, #0x1
|
||||
._90:
|
||||
strh r0, [r3, #0x16]
|
||||
add r0, r2, r7
|
||||
lsl r0, r0, #0x3
|
||||
mov r5, r8
|
||||
add r1, r0, r5
|
||||
mov r2, #0x16
|
||||
ldsh r0, [r1, r2]
|
||||
cmp r0, #0xff
|
||||
ble ._91 @cond_branch
|
||||
b ._117
|
||||
._91:
|
||||
mov r0, #0x80
|
||||
lsl r0, r0, #0x1
|
||||
strh r0, [r1, #0x16]
|
||||
b ._117
|
||||
._80:
|
||||
mov r0, #0x40
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._94 @cond_branch
|
||||
ldr r0, ._97 @ gTasks
|
||||
lsl r1, r6, #0x2
|
||||
add r1, r1, r6
|
||||
lsl r1, r1, #0x3
|
||||
add r1, r1, r0
|
||||
mov r4, #0x18
|
||||
ldsh r0, [r1, r4]
|
||||
cmp r0, #0
|
||||
beq ._95 @cond_branch
|
||||
ldrh r0, [r1, #0x10]
|
||||
sub r0, r0, #0x1
|
||||
strh r0, [r1, #0x10]
|
||||
b ._117
|
||||
._98:
|
||||
.align 2, 0
|
||||
._97:
|
||||
.word gTasks
|
||||
._95:
|
||||
ldrh r0, [r1, #0x12]
|
||||
sub r0, r0, #0x1
|
||||
strh r0, [r1, #0x12]
|
||||
b ._117
|
||||
._94:
|
||||
mov r0, #0x80
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._100 @cond_branch
|
||||
ldr r0, ._103 @ gTasks
|
||||
lsl r1, r6, #0x2
|
||||
add r1, r1, r6
|
||||
lsl r1, r1, #0x3
|
||||
add r1, r1, r0
|
||||
mov r5, #0x18
|
||||
ldsh r0, [r1, r5]
|
||||
cmp r0, #0
|
||||
beq ._101 @cond_branch
|
||||
ldrh r0, [r1, #0x10]
|
||||
add r0, r0, #0x1
|
||||
strh r0, [r1, #0x10]
|
||||
b ._117
|
||||
._104:
|
||||
.align 2, 0
|
||||
._103:
|
||||
.word gTasks
|
||||
._101:
|
||||
ldrh r0, [r1, #0x12]
|
||||
add r0, r0, #0x1
|
||||
strh r0, [r1, #0x12]
|
||||
b ._117
|
||||
._100:
|
||||
mov r0, #0x8
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._106 @cond_branch
|
||||
ldr r2, ._109 @ gTasks
|
||||
lsl r3, r6, #0x2
|
||||
add r0, r3, r6
|
||||
lsl r0, r0, #0x3
|
||||
add r6, r0, r2
|
||||
ldrh r4, [r6, #0x8]
|
||||
mov r0, #0x8
|
||||
ldsh r1, [r6, r0]
|
||||
ldr r0, ._109 + 4 @ 0x181
|
||||
mov r8, r2
|
||||
add r2, r3, #0
|
||||
cmp r1, r0
|
||||
bgt ._107 @cond_branch
|
||||
add r0, r4, #1
|
||||
strh r0, [r6, #0x8]
|
||||
b ._108
|
||||
._110:
|
||||
.align 2, 0
|
||||
._109:
|
||||
.word gTasks
|
||||
.word 0x181
|
||||
._107:
|
||||
strh r5, [r6, #0x8]
|
||||
._108:
|
||||
add r4, r2, r7
|
||||
lsl r4, r4, #0x3
|
||||
add r4, r4, r8
|
||||
mov r2, #0xc
|
||||
ldsh r1, [r4, r2]
|
||||
b ._111
|
||||
._106:
|
||||
mov r0, #0x4
|
||||
and r0, r0, r1
|
||||
cmp r0, #0
|
||||
beq ._112 @cond_branch
|
||||
ldr r1, ._115 @ gTasks
|
||||
lsl r2, r6, #0x2
|
||||
add r0, r2, r6
|
||||
lsl r0, r0, #0x3
|
||||
add r3, r0, r1
|
||||
ldrh r6, [r3, #0x8]
|
||||
mov r4, #0x8
|
||||
ldsh r0, [r3, r4]
|
||||
mov r8, r1
|
||||
cmp r0, #0x1
|
||||
ble ._113 @cond_branch
|
||||
sub r0, r6, #1
|
||||
b ._114
|
||||
._116:
|
||||
.align 2, 0
|
||||
._115:
|
||||
.word gTasks
|
||||
._113:
|
||||
mov r0, #0xc1
|
||||
lsl r0, r0, #0x1
|
||||
._114:
|
||||
strh r0, [r3, #0x8]
|
||||
add r4, r2, r7
|
||||
lsl r4, r4, #0x3
|
||||
add r4, r4, r8
|
||||
mov r5, #0xc
|
||||
ldsh r1, [r4, r5]
|
||||
._111:
|
||||
lsl r0, r1, #0x4
|
||||
add r0, r0, r1
|
||||
lsl r0, r0, #0x2
|
||||
ldr r5, ._118 @ gSprites
|
||||
add r0, r0, r5
|
||||
bl DestroySprite
|
||||
mov r0, #0xe
|
||||
ldsh r1, [r4, r0]
|
||||
lsl r0, r1, #0x4
|
||||
add r0, r0, r1
|
||||
lsl r0, r0, #0x2
|
||||
add r0, r0, r5
|
||||
bl DestroySprite
|
||||
ldr r0, ._118 + 4 @ debug_80C3A50
|
||||
str r0, [r4]
|
||||
b ._117
|
||||
._119:
|
||||
.align 2, 0
|
||||
._118:
|
||||
.word gSprites
|
||||
.word debug_80C3A50+1
|
||||
._112:
|
||||
ldr r0, ._120 @ gTasks
|
||||
lsl r5, r7, #0x2
|
||||
add r5, r5, r7
|
||||
lsl r5, r5, #0x3
|
||||
add r5, r5, r0
|
||||
ldrh r4, [r5, #0x16]
|
||||
ldrh r6, [r5, #0x12]
|
||||
str r4, [sp]
|
||||
mov r0, #0x1
|
||||
add r1, r4, #0
|
||||
mov r2, #0x0
|
||||
mov r3, #0x0
|
||||
bl SetOamMatrix
|
||||
add r0, r4, #0
|
||||
mov r1, #0x1
|
||||
mov r2, #0x3
|
||||
mov r3, #0x4
|
||||
bl debug_80C68CC
|
||||
add r0, r6, #0
|
||||
mov r1, #0x1
|
||||
mov r2, #0x7
|
||||
mov r3, #0x4
|
||||
bl debug_80C68CC
|
||||
ldr r2, ._120 + 4 @ gSprites
|
||||
mov r8, r2
|
||||
mov r4, #0xc
|
||||
ldsh r1, [r5, r4]
|
||||
lsl r0, r1, #0x4
|
||||
add r0, r0, r1
|
||||
lsl r0, r0, #0x2
|
||||
add r0, r0, r8
|
||||
strh r6, [r0, #0x26]
|
||||
ldrh r4, [r5, #0x14]
|
||||
ldrh r6, [r5, #0x10]
|
||||
str r4, [sp]
|
||||
mov r0, #0x2
|
||||
add r1, r4, #0
|
||||
mov r2, #0x0
|
||||
mov r3, #0x0
|
||||
bl SetOamMatrix
|
||||
add r0, r4, #0
|
||||
mov r1, #0x19
|
||||
mov r2, #0x3
|
||||
mov r3, #0x4
|
||||
bl debug_80C68CC
|
||||
add r0, r6, #0
|
||||
mov r1, #0x19
|
||||
mov r2, #0x7
|
||||
mov r3, #0x4
|
||||
bl debug_80C68CC
|
||||
mov r0, #0xe
|
||||
ldsh r1, [r5, r0]
|
||||
lsl r0, r1, #0x4
|
||||
add r0, r0, r1
|
||||
lsl r0, r0, #0x2
|
||||
add r0, r0, r8
|
||||
strh r6, [r0, #0x26]
|
||||
ldr r2, ._120 + 8 @ 0x4000040
|
||||
mov r4, #0x18
|
||||
ldsh r1, [r5, r4]
|
||||
lsl r1, r1, #0x6
|
||||
add r0, r1, #0
|
||||
add r0, r0, #0x38
|
||||
lsl r0, r0, #0x8
|
||||
add r1, r1, #0x78
|
||||
add r0, r0, r1
|
||||
strh r0, [r2]
|
||||
._117:
|
||||
add sp, sp, #0x4
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
._121:
|
||||
.align 2, 0
|
||||
._120:
|
||||
.word gTasks
|
||||
.word gSprites
|
||||
.word 0x4000040
|
||||
|
||||
thumb_func_end debug_80C3D2C
|
||||
|
||||
thumb_func_start debug_80C405C
|
||||
debug_80C405C:
|
||||
push {r4, r5, lr}
|
||||
|
||||
@@ -26,6 +26,10 @@ EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 };
|
||||
|
||||
u8 byte_3005E30[0x20];
|
||||
|
||||
void debug_80C3A50(u8 taskId);
|
||||
void debug_80C3D2C(u8 taskId);
|
||||
void debug_80C68CC(u16, u8, u8, u8);
|
||||
|
||||
extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶");
|
||||
extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08};
|
||||
extern const u8 gUnknown_Debug_083F7FDA[4]; // = _("ひりつ");
|
||||
@@ -42,9 +46,6 @@ extern const u8 gUnknown_Debug_083F8028[6]; // = _(":セレクト");
|
||||
extern const struct SpriteSheet stru_83F8828[2];
|
||||
extern const struct SpritePalette stru_83F8838[2];
|
||||
|
||||
void debug_80C3A50(u8 taskId);
|
||||
void debug_80C3D2C(u8 taskId);
|
||||
|
||||
void debug_69(struct Sprite *sprite)
|
||||
{
|
||||
|
||||
@@ -667,4 +668,122 @@ NAKED void debug_80C3A50(u8 taskId)
|
||||
}
|
||||
#endif // NONMATCHING
|
||||
|
||||
void debug_80C3D2C(u8 taskId)
|
||||
{
|
||||
if (gMain.newKeys & B_BUTTON)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
|
||||
SetMainCallback2(debug_80C370C);
|
||||
gTasks[taskId].func = debug_80C373C;
|
||||
}
|
||||
else if (gMain.newKeys & A_BUTTON)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
gTasks[taskId].data[8] ^= 1;
|
||||
}
|
||||
else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
|
||||
{
|
||||
if (gTasks[taskId].data[8])
|
||||
{
|
||||
if (gMain.heldKeys & R_BUTTON)
|
||||
gTasks[taskId].data[6] += 16;
|
||||
else
|
||||
gTasks[taskId].data[6] += 1;
|
||||
if ((u16)gTasks[taskId].data[6] > 0x8000)
|
||||
gTasks[taskId].data[6] = 0x8000;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gMain.heldKeys & R_BUTTON)
|
||||
gTasks[taskId].data[7] += 16;
|
||||
else
|
||||
gTasks[taskId].data[7] += 1;
|
||||
if ((u16)gTasks[taskId].data[7] > 0x8000)
|
||||
gTasks[taskId].data[7] = 0x8000;
|
||||
}
|
||||
}
|
||||
else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
|
||||
{
|
||||
if (gTasks[taskId].data[8])
|
||||
{
|
||||
if (gMain.heldKeys & R_BUTTON)
|
||||
gTasks[taskId].data[6] -= 16;
|
||||
else
|
||||
gTasks[taskId].data[6] -= 1;
|
||||
if (gTasks[taskId].data[6] < 0x100)
|
||||
gTasks[taskId].data[6] = 0x100;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gMain.heldKeys & R_BUTTON)
|
||||
gTasks[taskId].data[7] -= 16;
|
||||
else
|
||||
gTasks[taskId].data[7] -= 1;
|
||||
if (gTasks[taskId].data[7] < 0x100)
|
||||
gTasks[taskId].data[7] = 0x100;
|
||||
}
|
||||
}
|
||||
else if (gMain.newAndRepeatedKeys & DPAD_UP)
|
||||
{
|
||||
if (gTasks[taskId].data[8])
|
||||
{
|
||||
gTasks[taskId].data[4]--;
|
||||
}
|
||||
else
|
||||
{
|
||||
gTasks[taskId].data[5]--;
|
||||
}
|
||||
}
|
||||
else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
|
||||
{
|
||||
if (gTasks[taskId].data[8])
|
||||
{
|
||||
gTasks[taskId].data[4]++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gTasks[taskId].data[5]++;
|
||||
}
|
||||
}
|
||||
else if (gMain.newAndRepeatedKeys & START_BUTTON)
|
||||
{
|
||||
if (gTasks[taskId].data[0] < 0x182)
|
||||
gTasks[taskId].data[0]++;
|
||||
else
|
||||
gTasks[taskId].data[0] = 1;
|
||||
DestroySprite(gSprites + gTasks[taskId].data[2]);
|
||||
DestroySprite(gSprites + gTasks[taskId].data[3]);
|
||||
gTasks[taskId].func = debug_80C3A50;
|
||||
}
|
||||
else if (gMain.newAndRepeatedKeys & SELECT_BUTTON)
|
||||
{
|
||||
if (gTasks[taskId].data[0] > 1)
|
||||
gTasks[taskId].data[0]--;
|
||||
else
|
||||
gTasks[taskId].data[0] = 0x182;
|
||||
DestroySprite(gSprites + gTasks[taskId].data[2]);
|
||||
DestroySprite(gSprites + gTasks[taskId].data[3]);
|
||||
gTasks[taskId].func = debug_80C3A50;
|
||||
}
|
||||
else
|
||||
{
|
||||
u16 scale = gTasks[taskId].data[7];
|
||||
u16 offset = gTasks[taskId].data[5];
|
||||
SetOamMatrix(1, scale, 0, 0, scale);
|
||||
debug_80C68CC(scale, 1, 3, 4);
|
||||
debug_80C68CC(offset, 1, 7, 4);
|
||||
gSprites[gTasks[taskId].data[2]].pos2.y = offset;
|
||||
|
||||
scale = gTasks[taskId].data[6];
|
||||
offset = gTasks[taskId].data[4];
|
||||
SetOamMatrix(2, scale, 0, 0, scale);
|
||||
debug_80C68CC(scale, 25, 3, 4);
|
||||
debug_80C68CC(offset, 25, 7, 4);
|
||||
gSprites[gTasks[taskId].data[3]].pos2.y = offset;
|
||||
|
||||
REG_WIN0H = ((gTasks[taskId].data[8] * 64 + 0x38) << 8) + (gTasks[taskId].data[8] * 64 + 0x78);
|
||||
}
|
||||
}
|
||||
|
||||
#endif // DEBUG
|
||||
|
||||
Reference in New Issue
Block a user