mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-03-21 17:24:13 -05:00
sub_4FD88
This commit is contained in:
parent
ea10635dad
commit
af63c47397
113
asm/rom_4CEA8.s
113
asm/rom_4CEA8.s
|
|
@ -5506,116 +5506,3 @@ _0804FD78: .4byte gCurrentPinballGame
|
|||
_0804FD7C: .4byte gUnknown_086B1300
|
||||
_0804FD80: .4byte 0x040000D4
|
||||
_0804FD84: .4byte 0x80000020
|
||||
|
||||
thumb_func_start sub_4FD88
|
||||
sub_4FD88: @ 0x0804FD88
|
||||
push {r4, r5, lr}
|
||||
ldr r0, _0804FDA4 @ =gCurrentPinballGame
|
||||
ldr r3, [r0]
|
||||
ldr r2, _0804FDA8 @ =0x00000724
|
||||
adds r1, r3, r2
|
||||
ldrh r2, [r1]
|
||||
movs r1, #0x96
|
||||
lsls r1, r1, #1
|
||||
adds r5, r0, #0
|
||||
cmp r2, r1
|
||||
bls _0804FDB0
|
||||
ldr r0, _0804FDAC @ =0x00000726
|
||||
adds r1, r3, r0
|
||||
b _0804FDC6
|
||||
.align 2, 0
|
||||
_0804FDA4: .4byte gCurrentPinballGame
|
||||
_0804FDA8: .4byte 0x00000724
|
||||
_0804FDAC: .4byte 0x00000726
|
||||
_0804FDB0:
|
||||
cmp r2, #0
|
||||
beq _0804FDEC
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x25
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _0804FDD0
|
||||
ldr r2, _0804FDCC @ =0x00000726
|
||||
adds r1, r3, r2
|
||||
_0804FDC6:
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
b _0804FDF2
|
||||
.align 2, 0
|
||||
_0804FDCC: .4byte 0x00000726
|
||||
_0804FDD0:
|
||||
ldr r0, _0804FDE4 @ =gMain
|
||||
ldr r0, [r0, #0x50]
|
||||
movs r1, #0xf
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #3
|
||||
ldr r2, _0804FDE8 @ =0x00000726
|
||||
adds r1, r3, r2
|
||||
strb r0, [r1]
|
||||
b _0804FDF2
|
||||
.align 2, 0
|
||||
_0804FDE4: .4byte gMain
|
||||
_0804FDE8: .4byte 0x00000726
|
||||
_0804FDEC:
|
||||
ldr r1, _0804FE54 @ =0x00000726
|
||||
adds r0, r3, r1
|
||||
strb r2, [r0]
|
||||
_0804FDF2:
|
||||
ldr r0, [r5]
|
||||
ldr r2, _0804FE54 @ =0x00000726
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
lsls r0, r0, #4
|
||||
ldr r1, _0804FE58 @ =gUnknown_086B11CC
|
||||
adds r3, r0, r1
|
||||
adds r4, r1, #0
|
||||
adds r4, #0x20
|
||||
ldr r2, _0804FE5C @ =0x040000D4
|
||||
ldr r0, [r3]
|
||||
str r0, [r2]
|
||||
ldr r0, [r1, #0x20]
|
||||
str r0, [r2, #4]
|
||||
ldr r1, _0804FE60 @ =0x80000070
|
||||
str r1, [r2, #8]
|
||||
ldr r0, [r2, #8]
|
||||
ldr r0, [r3, #4]
|
||||
str r0, [r2]
|
||||
ldr r0, [r4, #4]
|
||||
str r0, [r2, #4]
|
||||
str r1, [r2, #8]
|
||||
ldr r0, [r2, #8]
|
||||
ldr r0, [r5]
|
||||
adds r0, #0x6a
|
||||
movs r1, #0
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r0, #0xd7
|
||||
ble _0804FE4C
|
||||
ldr r0, [r3, #8]
|
||||
str r0, [r2]
|
||||
ldr r0, [r4, #8]
|
||||
str r0, [r2, #4]
|
||||
ldr r0, _0804FE64 @ =0x80000060
|
||||
str r0, [r2, #8]
|
||||
ldr r0, [r2, #8]
|
||||
ldr r0, [r3, #0xc]
|
||||
str r0, [r2]
|
||||
ldr r0, [r4, #0xc]
|
||||
str r0, [r2, #4]
|
||||
ldr r0, _0804FE68 @ =0x80000020
|
||||
str r0, [r2, #8]
|
||||
ldr r0, [r2, #8]
|
||||
_0804FE4C:
|
||||
pop {r4, r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0804FE54: .4byte 0x00000726
|
||||
_0804FE58: .4byte gUnknown_086B11CC
|
||||
_0804FE5C: .4byte 0x040000D4
|
||||
_0804FE60: .4byte 0x80000070
|
||||
_0804FE64: .4byte 0x80000060
|
||||
_0804FE68: .4byte 0x80000020
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -623,7 +623,8 @@ struct PinballGame
|
|||
/*0x71C*/ u8 unk71C;
|
||||
/*0x71D*/ u8 filler71D[0x7];
|
||||
/*0x724*/ u16 unk724;
|
||||
/*0x726*/ u8 filler726[0x2];
|
||||
/*0x726*/ s8 unk726;
|
||||
/*0x727*/ u8 filler727[0x1];
|
||||
/*0x728*/ s8 unk728;
|
||||
/*0x729*/ s8 unk729;
|
||||
/*0x72A*/ s8 unk72A;
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ struct Main
|
|||
/*0x44*/ struct SpriteGroup **unk44;
|
||||
/*0x48*/ int rngValue;
|
||||
/*0x4C*/ u32 systemFrameCount;
|
||||
/*0x50*/ int fieldFrameCount;
|
||||
/*0x50*/ u32 fieldFrameCount;
|
||||
/*0x54*/ u32 unk54;
|
||||
/*0x58*/ u32 unk58;
|
||||
/*0x5C*/ u32 unk5C;
|
||||
|
|
|
|||
|
|
@ -13,8 +13,41 @@ extern const u8 *gUnknown_086B1340[][5][3];
|
|||
extern const u8 *gUnknown_086B122C[][4];
|
||||
extern const u8 *gUnknown_086B11FC[][4];
|
||||
extern const u8 *gUnknown_086B13F4[][5][3];
|
||||
extern const u8 *gUnknown_086B11CC[][4];
|
||||
|
||||
|
||||
void sub_4FD88(void)
|
||||
{
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
if (gCurrentPinballGame->unk724 > 300)
|
||||
{
|
||||
gCurrentPinballGame->unk726 = 1;
|
||||
}
|
||||
else if (gCurrentPinballGame->unk724)
|
||||
{
|
||||
if (gCurrentPinballGame->unk25)
|
||||
gCurrentPinballGame->unk726 = 1;
|
||||
else
|
||||
gCurrentPinballGame->unk726 = (gMain.fieldFrameCount & 0xF) / 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
gCurrentPinballGame->unk726 = 0;
|
||||
}
|
||||
|
||||
src = gUnknown_086B11CC[gCurrentPinballGame->unk726];
|
||||
dest = gUnknown_086B11CC[2];
|
||||
DmaCopy16(3, src[0], dest[0], 0xE0);
|
||||
DmaCopy16(3, src[1], dest[1], 0xE0);
|
||||
if (gCurrentPinballGame->unk6A > 215)
|
||||
{
|
||||
DmaCopy16(3, src[2], dest[2], 0xC0);
|
||||
DmaCopy16(3, src[3], dest[3], 0x40);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_4FE6C(void)
|
||||
{
|
||||
s16 sp0[3];
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user