mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-03-21 17:24:13 -05:00
sub_50000
This commit is contained in:
parent
1b1e7b6a42
commit
005b903e6d
|
|
@ -5825,94 +5825,3 @@ _0804FFF0: .4byte 0x80000030
|
|||
_0804FFF4: .4byte 0x00000105
|
||||
_0804FFF8: .4byte gUnknown_086B146C
|
||||
_0804FFFC: .4byte 0x00000107
|
||||
|
||||
thumb_func_start sub_50000
|
||||
sub_50000: @ 0x08050000
|
||||
push {r4, r5, r6, lr}
|
||||
movs r1, #0
|
||||
ldr r6, _0805009C @ =gCurrentPinballGame
|
||||
ldr r2, [r6]
|
||||
movs r3, #0xe5
|
||||
lsls r3, r3, #3
|
||||
adds r0, r2, r3
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
ble _08050026
|
||||
ldr r1, _080500A0 @ =0x00000734
|
||||
adds r0, r2, r1
|
||||
ldrh r1, [r0]
|
||||
movs r0, #1
|
||||
subs r0, r0, r1
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r1, r0, #0x10
|
||||
_08050026:
|
||||
lsls r0, r1, #0x10
|
||||
asrs r0, r0, #0xc
|
||||
ldr r3, _080500A4 @ =gUnknown_086B11FC
|
||||
adds r4, r0, r3
|
||||
adds r5, r3, #0
|
||||
adds r5, #0x20
|
||||
adds r0, r2, #0
|
||||
adds r0, #0x6a
|
||||
movs r1, #0
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r0, #0xff
|
||||
bgt _0805004E
|
||||
ldr r1, _080500A8 @ =0x040000D4
|
||||
ldr r0, [r4]
|
||||
str r0, [r1]
|
||||
ldr r0, [r3, #0x20]
|
||||
str r0, [r1, #4]
|
||||
ldr r0, _080500AC @ =0x80000020
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
_0805004E:
|
||||
ldr r0, [r6]
|
||||
adds r2, r0, #0
|
||||
adds r2, #0x6a
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x61
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r0, #0xa6
|
||||
bhi _08050070
|
||||
ldr r1, _080500A8 @ =0x040000D4
|
||||
ldr r0, [r4, #4]
|
||||
str r0, [r1]
|
||||
ldr r0, [r5, #4]
|
||||
str r0, [r1, #4]
|
||||
ldr r0, _080500B0 @ =0x80000040
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
_08050070:
|
||||
movs r3, #0
|
||||
ldrsh r0, [r2, r3]
|
||||
cmp r0, #0x67
|
||||
ble _08050094
|
||||
ldr r0, _080500A8 @ =0x040000D4
|
||||
ldr r1, [r4, #8]
|
||||
str r1, [r0]
|
||||
ldr r1, [r5, #8]
|
||||
str r1, [r0, #4]
|
||||
ldr r2, _080500B0 @ =0x80000040
|
||||
str r2, [r0, #8]
|
||||
ldr r1, [r0, #8]
|
||||
ldr r1, [r4, #0xc]
|
||||
str r1, [r0]
|
||||
ldr r1, [r5, #0xc]
|
||||
str r1, [r0, #4]
|
||||
str r2, [r0, #8]
|
||||
ldr r0, [r0, #8]
|
||||
_08050094:
|
||||
pop {r4, r5, r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805009C: .4byte gCurrentPinballGame
|
||||
_080500A0: .4byte 0x00000734
|
||||
_080500A4: .4byte gUnknown_086B11FC
|
||||
_080500A8: .4byte 0x040000D4
|
||||
_080500AC: .4byte 0x80000020
|
||||
_080500B0: .4byte 0x80000040
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -624,7 +624,7 @@ struct PinballGame
|
|||
/*0x71D*/ u8 filler71D[0x7];
|
||||
/*0x724*/ u16 unk724;
|
||||
/*0x726*/ u8 filler726[0x2];
|
||||
/*0x728*/ u8 unk728; // TODO: unknown type
|
||||
/*0x728*/ s8 unk728;
|
||||
/*0x729*/ s8 unk729;
|
||||
/*0x72A*/ s8 unk72A;
|
||||
/*0x72B*/ u8 filler72B[0x3];
|
||||
|
|
|
|||
|
|
@ -11,8 +11,38 @@ extern const u8 *gUnknown_086B12D0[][4];
|
|||
extern const u8 *gUnknown_086B14A8[][5][3];
|
||||
extern const u8 *gUnknown_086B1340[][5][3];
|
||||
extern const u8 *gUnknown_086B122C[][4];
|
||||
extern const u8 *gUnknown_086B11FC[][4];
|
||||
|
||||
|
||||
void sub_50000(void)
|
||||
{
|
||||
s16 index;
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
index = 0;
|
||||
if (gCurrentPinballGame->unk728 > 0)
|
||||
index = 1 - gCurrentPinballGame->unk734;
|
||||
|
||||
src = gUnknown_086B11FC[index];
|
||||
dest = gUnknown_086B11FC[2];
|
||||
if (gCurrentPinballGame->unk6A < 256)
|
||||
{
|
||||
DmaCopy16(3, src[0], dest[0], 0x40);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A >= 97 && gCurrentPinballGame->unk6A < 264)
|
||||
{
|
||||
DmaCopy16(3, src[1], dest[1], 0x80);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A > 0x67)
|
||||
{
|
||||
DmaCopy16(3, src[2], dest[2], 0x80);
|
||||
DmaCopy16(3, src[3], dest[3], 0x80);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_500B4(void)
|
||||
{
|
||||
s16 index;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user