mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-03-21 17:24:13 -05:00
Merge pull request #91 from Hyenate/master
Some checks failed
CI / build (push) Has been cancelled
Some checks failed
CI / build (push) Has been cancelled
Decompile sub_19E10 and sub_19F70
This commit is contained in:
commit
ad9581c882
180
asm/rom_11B9C.s
180
asm/rom_11B9C.s
|
|
@ -13814,186 +13814,6 @@ _08019A1C: .4byte 0x00001364
|
|||
|
||||
.section .text19E10
|
||||
|
||||
thumb_func_start sub_19E10
|
||||
sub_19E10: @ 0x08019E10
|
||||
push {r4, lr}
|
||||
bl sub_1A0F4
|
||||
bl sub_1DA74
|
||||
ldr r4, _08019EA4 @ =gCurrentPinballGame
|
||||
ldr r0, [r4]
|
||||
movs r2, #0xa8
|
||||
lsls r2, r2, #2
|
||||
adds r1, r0, r2
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _08019E4E
|
||||
subs r0, #1
|
||||
strh r0, [r1]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _08019E4E
|
||||
bl Random
|
||||
ldr r4, [r4]
|
||||
ldr r1, _08019EA8 @ =gMain
|
||||
ldr r1, [r1, #0x4c]
|
||||
adds r0, r0, r1
|
||||
movs r1, #0x64
|
||||
bl __umodsi3
|
||||
adds r0, #1
|
||||
ldr r3, _08019EAC @ =0x0000029F
|
||||
adds r4, r4, r3
|
||||
strb r0, [r4]
|
||||
_08019E4E:
|
||||
ldr r4, _08019EA4 @ =gCurrentPinballGame
|
||||
ldr r0, [r4]
|
||||
adds r0, #0x68
|
||||
movs r1, #0
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r0, #0x6d
|
||||
bgt _08019E68
|
||||
bl sub_1D5D8
|
||||
bl sub_1DAD8
|
||||
bl sub_2C9A4
|
||||
_08019E68:
|
||||
bl sub_2CA9C
|
||||
ldr r0, [r4]
|
||||
adds r0, #0x68
|
||||
movs r2, #0
|
||||
ldrsh r0, [r0, r2]
|
||||
cmp r0, #0xa7
|
||||
bgt _08019E7C
|
||||
bl sub_239A4
|
||||
_08019E7C:
|
||||
ldr r0, [r4]
|
||||
adds r0, #0x68
|
||||
movs r3, #0
|
||||
ldrsh r0, [r0, r3]
|
||||
cmp r0, #0xdb
|
||||
bgt _08019EBC
|
||||
bl sub_23E18
|
||||
ldr r0, [r4]
|
||||
movs r1, #0xa9
|
||||
lsls r1, r1, #2
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _08019EB0
|
||||
bl sub_1DC7C
|
||||
b _08019EB4
|
||||
.align 2, 0
|
||||
_08019EA4: .4byte gCurrentPinballGame
|
||||
_08019EA8: .4byte gMain
|
||||
_08019EAC: .4byte 0x0000029F
|
||||
_08019EB0:
|
||||
bl sub_1EC48
|
||||
_08019EB4:
|
||||
bl sub_1F158
|
||||
bl sub_1F59C
|
||||
_08019EBC:
|
||||
bl sub_1F698
|
||||
ldr r4, _08019F64 @ =gCurrentPinballGame
|
||||
ldr r0, [r4]
|
||||
adds r0, #0x68
|
||||
movs r2, #0
|
||||
ldrsh r0, [r0, r2]
|
||||
cmp r0, #0x3f
|
||||
ble _08019ED6
|
||||
bl sub_1FA48
|
||||
bl sub_1FBC4
|
||||
_08019ED6:
|
||||
ldr r0, [r4]
|
||||
adds r0, #0x68
|
||||
movs r3, #0
|
||||
ldrsh r0, [r0, r3]
|
||||
cmp r0, #0x73
|
||||
ble _08019EE6
|
||||
bl sub_2C538
|
||||
_08019EE6:
|
||||
ldr r0, [r4]
|
||||
adds r0, #0x68
|
||||
movs r1, #0
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r0, #0x82
|
||||
ble _08019EF6
|
||||
bl sub_201B8
|
||||
_08019EF6:
|
||||
bl sub_2CE80
|
||||
ldr r0, [r4]
|
||||
adds r0, #0x68
|
||||
movs r2, #0
|
||||
ldrsh r0, [r0, r2]
|
||||
cmp r0, #0xa8
|
||||
ble _08019F0A
|
||||
bl sub_2D104
|
||||
_08019F0A:
|
||||
bl sub_203CC
|
||||
bl sub_21B0C
|
||||
bl sub_4E814
|
||||
bl sub_1D128
|
||||
bl sub_21D78
|
||||
bl sub_31B30
|
||||
ldr r0, [r4]
|
||||
movs r3, #0xca
|
||||
lsls r3, r3, #1
|
||||
adds r0, r0, r3
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _08019F38
|
||||
bl sub_225F0
|
||||
_08019F38:
|
||||
bl sub_472E4
|
||||
ldr r2, [r4]
|
||||
ldr r0, _08019F68 @ =0x00001328
|
||||
adds r1, r2, r0
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _08019F5C
|
||||
subs r0, #1
|
||||
strh r0, [r1]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _08019F5C
|
||||
ldr r3, _08019F6C @ =0x00001330
|
||||
adds r1, r2, r3
|
||||
adds r3, #4
|
||||
adds r0, r2, r3
|
||||
str r0, [r1]
|
||||
_08019F5C:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08019F64: .4byte gCurrentPinballGame
|
||||
_08019F68: .4byte 0x00001328
|
||||
_08019F6C: .4byte 0x00001330
|
||||
|
||||
thumb_func_start sub_19F70
|
||||
sub_19F70: @ 0x08019F70
|
||||
push {lr}
|
||||
bl sub_1DDDC
|
||||
bl sub_1A9E8
|
||||
bl sub_1F2A4
|
||||
bl sub_1FF0C
|
||||
ldr r0, _08019F9C @ =gCurrentPinballGame
|
||||
ldr r0, [r0]
|
||||
movs r2, #0xc0
|
||||
lsls r2, r2, #3
|
||||
adds r1, r0, r2
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #0
|
||||
beq _08019F96
|
||||
subs r0, #1
|
||||
strh r0, [r1]
|
||||
_08019F96:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08019F9C: .4byte gCurrentPinballGame
|
||||
|
||||
thumb_func_start sub_19FA0
|
||||
sub_19FA0: @ 0x08019FA0
|
||||
push {r4, r5, lr}
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -233,9 +233,11 @@ struct PinballGame
|
|||
/*0x29C*/ u16 unk29C;
|
||||
/*0x29E*/ u8 unk29E;
|
||||
/*0x29F*/ u8 unk29F;
|
||||
/*0x2A0*/ u8 filler2A0[0x2];
|
||||
/*0x2A0*/ u16 unk2A0;
|
||||
/*0x2A2*/ u8 unk2A2;
|
||||
/*0x2A3*/ u8 filler2A3[0x7];
|
||||
/*0x2A3*/ u8 filler2A3[0x1];
|
||||
/*0x2A4*/ s8 unk2A4;
|
||||
/*0x2A5*/ u8 filler2A5[0x5];
|
||||
/*0x2AA*/ u16 unk2AA;
|
||||
/*0x2AC*/ u8 filler2AC[0x28];
|
||||
/*0x2D4*/ u16 unk2D4;
|
||||
|
|
@ -406,7 +408,8 @@ struct PinballGame
|
|||
/*0x1322*/s16 unk1322;
|
||||
/*0x1324*/s16 unk1324;
|
||||
/*0x1326*/s16 unk1326;
|
||||
/*0x1328*/u8 filler1328[0x4];
|
||||
/*0x1328*/u16 unk1328;
|
||||
/*0x132A*/u8 filler132A[0x2];
|
||||
/*0x132C*/struct UnkPinballGame1334 *unk132c;
|
||||
/*0x1330*/struct UnkPinballGame1334 *unk1330;
|
||||
/*0x1334*/struct UnkPinballGame1334 unk1334[2];
|
||||
|
|
|
|||
114
src/rom_19D04.c
114
src/rom_19D04.c
|
|
@ -1,6 +1,26 @@
|
|||
#include "global.h"
|
||||
#include "main.h"
|
||||
|
||||
extern void sub_1D5D8(void);
|
||||
extern void sub_1DA74(void);
|
||||
extern void sub_1DAD8(void);
|
||||
extern void sub_1DC7C(void);
|
||||
extern void sub_1DDDC(void);
|
||||
extern void sub_1EC48(void);
|
||||
extern void sub_1F158(void);
|
||||
extern void sub_1F59C(void);
|
||||
extern void sub_1F698(void);
|
||||
extern void sub_1FA48(void);
|
||||
extern void sub_1FBC4(void);
|
||||
extern void sub_1FF0C(void);
|
||||
extern void sub_201B8(void);
|
||||
extern void sub_21238(s32);
|
||||
extern void sub_21D78(void);
|
||||
extern void sub_239A4(void);
|
||||
extern void sub_23E18(void);
|
||||
extern void sub_2C538(void);
|
||||
extern void sub_2C9A4(void);
|
||||
extern void sub_4E814(void);
|
||||
|
||||
void sub_19D04(void)
|
||||
{
|
||||
|
|
@ -40,3 +60,97 @@ void sub_19D04(void)
|
|||
gCurrentPinballGame->unk72F = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_19E10(void) {
|
||||
int randNum;
|
||||
|
||||
sub_1A0F4();
|
||||
sub_1DA74();
|
||||
if (gCurrentPinballGame->unk2A0 != 0)
|
||||
{
|
||||
gCurrentPinballGame->unk2A0 -= 1;
|
||||
if (gCurrentPinballGame->unk2A0 == 0)
|
||||
{
|
||||
randNum = Random();
|
||||
gCurrentPinballGame->unk29F = ((randNum + gMain.systemFrameCount) % 100) + 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk68 < 110)
|
||||
{
|
||||
sub_1D5D8();
|
||||
sub_1DAD8();
|
||||
sub_2C9A4();
|
||||
}
|
||||
sub_2CA9C();
|
||||
if (gCurrentPinballGame->unk68 < 168)
|
||||
{
|
||||
sub_239A4();
|
||||
}
|
||||
if (gCurrentPinballGame->unk68 < 220)
|
||||
{
|
||||
sub_23E18();
|
||||
if (gCurrentPinballGame->unk2A4 != 0)
|
||||
{
|
||||
sub_1DC7C();
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_1EC48();
|
||||
}
|
||||
sub_1F158();
|
||||
sub_1F59C();
|
||||
}
|
||||
sub_1F698();
|
||||
if (gCurrentPinballGame->unk68 > 63)
|
||||
{
|
||||
sub_1FA48();
|
||||
sub_1FBC4();
|
||||
}
|
||||
if (gCurrentPinballGame->unk68 > 115)
|
||||
{
|
||||
sub_2C538();
|
||||
}
|
||||
if (gCurrentPinballGame->unk68 > 130)
|
||||
{
|
||||
sub_201B8();
|
||||
}
|
||||
sub_2CE80();
|
||||
if (gCurrentPinballGame->unk68 > 168)
|
||||
{
|
||||
sub_2D104();
|
||||
}
|
||||
sub_203CC();
|
||||
sub_21B0C();
|
||||
sub_4E814();
|
||||
sub_1D128();
|
||||
sub_21D78();
|
||||
sub_31B30();
|
||||
|
||||
if (gCurrentPinballGame->unk194 != 0)
|
||||
{
|
||||
sub_225F0();
|
||||
}
|
||||
sub_472E4();
|
||||
|
||||
if (gCurrentPinballGame->unk1328 != 0)
|
||||
{
|
||||
gCurrentPinballGame->unk1328 -= 1;
|
||||
if (gCurrentPinballGame->unk1328 == 0)
|
||||
{
|
||||
gCurrentPinballGame->unk1330 = gCurrentPinballGame->unk1334;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_19F70(void)
|
||||
{
|
||||
sub_1DDDC();
|
||||
sub_1A9E8();
|
||||
sub_1F2A4();
|
||||
sub_1FF0C();
|
||||
if (gCurrentPinballGame->unk600 != 0)
|
||||
{
|
||||
gCurrentPinballGame->unk600 -= 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user