mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-03-21 17:24:13 -05:00
match a bunch of functions
This commit is contained in:
parent
5f937600b1
commit
84946c9e72
1742
asm/rom_4CEA8.s
1742
asm/rom_4CEA8.s
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -668,30 +668,30 @@ extern void sub_4E9F0(s8);
|
|||
//extern ? sub_4EE74();
|
||||
//extern ? sub_4EF38();
|
||||
//extern ? sub_4F028();
|
||||
//extern ? sub_4F0F0();
|
||||
extern void sub_4F0F0(void);
|
||||
extern void sub_4F258(void);
|
||||
//extern ? sub_4F2B8();
|
||||
extern void sub_4F2B8(void);
|
||||
//extern ? sub_4F30C();
|
||||
//extern ? sub_4F4B4();
|
||||
//extern ? sub_4F660();
|
||||
extern void sub_4F814();
|
||||
//extern ? sub_4F95C();
|
||||
//extern ? sub_4F9F0();
|
||||
//extern ? sub_4FAC0();
|
||||
//extern ? sub_4FB08();
|
||||
//extern ? sub_4FBA4();
|
||||
//extern ? sub_4FC7C();
|
||||
//extern ? sub_4FD88();
|
||||
//extern ? sub_4FE6C();
|
||||
//extern ? sub_50000();
|
||||
//extern ? sub_500B4();
|
||||
//extern ? sub_50154();
|
||||
//extern ? sub_5030C();
|
||||
//extern ? sub_504C0();
|
||||
//extern ? sub_505A4();
|
||||
//extern ? sub_506B0();
|
||||
//extern ? sub_50710();
|
||||
//extern ? sub_507D4();
|
||||
extern void sub_4F814(void);
|
||||
extern void sub_4F95C(void);
|
||||
extern void sub_4F9F0(void);
|
||||
extern void sub_4FAC0(void);
|
||||
extern void sub_4FB08(void);
|
||||
extern void sub_4FBA4(void);
|
||||
extern void sub_4FC7C(void);
|
||||
extern void sub_4FD88(void);
|
||||
extern void sub_4FE6C(void);
|
||||
extern void sub_50000(void);
|
||||
extern void sub_500B4(void);
|
||||
extern void sub_50154(void);
|
||||
extern void sub_5030C(void);
|
||||
extern void sub_504C0(void);
|
||||
extern void sub_505A4(void);
|
||||
extern void sub_506B0(void);
|
||||
extern void sub_50710(void);
|
||||
extern void sub_507D4(void);
|
||||
extern void RubyBoardProcess_0A_50848(void);
|
||||
//extern ? RubyBoardProcess_0B_50918();
|
||||
extern void SapphireBoardProcess_0A_50AD4(void);
|
||||
|
|
|
|||
|
|
@ -317,13 +317,14 @@ struct PinballGame
|
|||
/*0x2DB*/ u8 filler2DB[0x10];
|
||||
/*0x2EC*/ u16 unk2EC;
|
||||
/*0x2EE*/ u16 unk2EE;
|
||||
/*0x2F0*/ u8 filler2F0[0x1];
|
||||
/*0x2F0*/ u8 unk2F0;
|
||||
/*0x2F1*/ u8 unk2F1;
|
||||
/*0x2F2*/ u8 filler2F2[0x2];
|
||||
/*0x2F4*/ u8 unk2F4;
|
||||
/*0x2F5*/ s8 unk2F5;
|
||||
/*0x2F6*/ u16 unk2F6;
|
||||
/*0x2F8*/ u8 filler2F8[0x8];
|
||||
/*0x2F8*/ s8 unk2F8;
|
||||
/*0x2F9*/ u8 filler2F9[0x7];
|
||||
/*0x300*/ u8 unk300;
|
||||
/*0x301*/ u8 unk301;
|
||||
/*0x302*/ u8 filler302[0x4];
|
||||
|
|
@ -613,12 +614,16 @@ struct PinballGame
|
|||
/*0x710*/ s8 holeIndicators[4]; // 'HOLE' light indicators in Ruby/Sapphire field
|
||||
/*0x714*/ s8 unk714;
|
||||
/*0x715*/ u8 unk715;
|
||||
/*0x716*/ s8 unk716;
|
||||
/*0x716*/ u8 unk716;
|
||||
/*0x717*/ u8 unk717;
|
||||
/*0x718*/ s8 ballPowerUpLight[3];
|
||||
/*0x71B*/ u8 unk71B;
|
||||
/*0x71B*/ s8 unk71B;
|
||||
/*0x71C*/ u8 unk71C;
|
||||
/*0x71D*/ u8 filler71D[0x7];
|
||||
/*0x71D*/ s8 unk71D[3];
|
||||
/*0x720*/ u8 unk720;
|
||||
/*0x721*/ s8 unk721;
|
||||
/*0x722*/ s8 unk722;
|
||||
/*0x723*/ u8 filler723[0x1];
|
||||
/*0x724*/ u16 unk724;
|
||||
/*0x726*/ s8 unk726;
|
||||
/*0x727*/ u8 filler727[0x1];
|
||||
|
|
@ -626,10 +631,10 @@ struct PinballGame
|
|||
/*0x729*/ s8 unk729;
|
||||
/*0x72A*/ s8 unk72A;
|
||||
/*0x72B*/ s8 unk72B;
|
||||
/*0x72C*/ u8 filler72C[0x2];
|
||||
/*0x72C*/ u16 unk72C;
|
||||
/*0x72E*/ s8 unk72E;
|
||||
/*0x72F*/ s8 unk72F;
|
||||
/*0x730*/ u8 unk730;
|
||||
/*0x730*/ s8 unk730;
|
||||
/*0x731*/ s8 unk731;
|
||||
/*0x732*/ u8 filler732[0x2];
|
||||
/*0x734*/ s16 unk734;
|
||||
|
|
|
|||
|
|
@ -70,7 +70,6 @@ SECTIONS
|
|||
src/rom_4E598.o(.text);
|
||||
asm/rom_4CEA8.o(.text4E598);
|
||||
src/rom_4F258.o(.text);
|
||||
asm/rom_4CEA8.o(.text4F258);
|
||||
src/rom_50AD4.o(.text);
|
||||
src/rom_50FAC.o(.text);
|
||||
src/options.o(.text);
|
||||
|
|
|
|||
165
src/rom_4F258.c
165
src/rom_4F258.c
|
|
@ -1,13 +1,164 @@
|
|||
#include "global.h"
|
||||
#include "m4a.h"
|
||||
#include "main.h"
|
||||
|
||||
extern u8* gUnknown_086B0B70[][3];
|
||||
extern const u8 *gUnknown_086B0B70[][3];
|
||||
extern const u16 gUnknown_086B0E20[];
|
||||
extern const u8 *gUnknown_086B0B94[][4];
|
||||
extern const u8 *gUnknown_086B0B20[][4];
|
||||
extern const u8 *gUnknown_086B0AF0[][4];
|
||||
|
||||
void sub_4F258(void) {
|
||||
s16 i;
|
||||
for (i = 0; i < 3; i++) {
|
||||
u8 ** src = gUnknown_086B0B70[i] + gCurrentPinballGame->ballPowerUpLight[i];
|
||||
u8 ** dst = gUnknown_086B0B70[i] + 2;
|
||||
DmaCopy16(3, *src, *dst, 0x40);
|
||||
extern struct SongHeader gUnknown_0869F664;
|
||||
|
||||
|
||||
void sub_4EE74(void)
|
||||
{
|
||||
s16 index;
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
index = 0;
|
||||
if (gCurrentPinballGame->unk729 > 0)
|
||||
index = 1 - gCurrentPinballGame->unk734;
|
||||
|
||||
src = gUnknown_086B0AF0[index];
|
||||
dest = gUnknown_086B0AF0[2];
|
||||
if (gCurrentPinballGame->unk6A > 40)
|
||||
{
|
||||
if (gCurrentPinballGame->unk6A < 208)
|
||||
{
|
||||
DmaCopy16(3, src[0], dest[0], 0x40);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A < 216)
|
||||
{
|
||||
DmaCopy16(3, src[1], dest[1], 0x80);
|
||||
}
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A > 56)
|
||||
{
|
||||
if (gCurrentPinballGame->unk6A < 224)
|
||||
{
|
||||
DmaCopy16(3, src[2], dest[2], 0x80);
|
||||
}
|
||||
|
||||
DmaCopy16(3, src[3], dest[3], 0x60);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_4EF38(void)
|
||||
{
|
||||
s16 index;
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
index = 0;
|
||||
if (gCurrentPinballGame->unk2F0 > 2)
|
||||
gCurrentPinballGame->unk72A = 1;
|
||||
else if (gCurrentPinballGame->unk13)
|
||||
gCurrentPinballGame->unk72A = 0;
|
||||
|
||||
if (gCurrentPinballGame->unk72A > 0)
|
||||
index = gCurrentPinballGame->unk1A5 * 2 + 1 - gCurrentPinballGame->unk734;
|
||||
else
|
||||
index = gCurrentPinballGame->unk1A5 * 2;
|
||||
|
||||
src = gUnknown_086B0B20[index];
|
||||
dest = gUnknown_086B0B20[4];
|
||||
if (gCurrentPinballGame->unk6A < 240)
|
||||
{
|
||||
DmaCopy16(3, src[0], dest[0], 0xA0);
|
||||
}
|
||||
|
||||
DmaCopy16(3, src[1], dest[1], 0xA0);
|
||||
DmaCopy16(3, src[2], dest[2], 0xA0);
|
||||
if (gCurrentPinballGame->unk6A > 88)
|
||||
{
|
||||
DmaCopy16(3, src[3], dest[3], 0x60);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_4F028(void)
|
||||
{
|
||||
s16 index;
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
index = 0;
|
||||
gCurrentPinballGame->unk731 = 0;
|
||||
if (gCurrentPinballGame->unk72F > 1 && gCurrentPinballGame->unk13 < 3)
|
||||
gCurrentPinballGame->unk731 = 1;
|
||||
|
||||
if (gCurrentPinballGame->unk731 > 0)
|
||||
index = 1 - gCurrentPinballGame->unk734;
|
||||
|
||||
src = gUnknown_086B0B94[index];
|
||||
dest = gUnknown_086B0B94[2];
|
||||
if (gCurrentPinballGame->unk6A < 264)
|
||||
{
|
||||
DmaCopy16(3, src[0], dest[0], 0x40);
|
||||
}
|
||||
DmaCopy16(3, src[1], dest[1], 0x80);
|
||||
DmaCopy16(3, src[2], dest[2], 0x80);
|
||||
DmaCopy16(3, src[3], dest[3], 0x80);
|
||||
}
|
||||
|
||||
void sub_4F0F0(void)
|
||||
{
|
||||
if (gCurrentPinballGame->unk71B == 0)
|
||||
return;
|
||||
|
||||
if (gCurrentPinballGame->unk71C)
|
||||
{
|
||||
if (gCurrentPinballGame->unk2F8 == 0)
|
||||
{
|
||||
gCurrentPinballGame->ballPowerUpLight[0] = (gMain.fieldFrameCount % 20) / 10;
|
||||
gCurrentPinballGame->ballPowerUpLight[1] = gCurrentPinballGame->ballPowerUpLight[0];
|
||||
gCurrentPinballGame->ballPowerUpLight[2] = gCurrentPinballGame->ballPowerUpLight[0];
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk71C == 28)
|
||||
{
|
||||
if (gCurrentPinballGame->unk5F6 < 3)
|
||||
gCurrentPinballGame->unk5F6++;
|
||||
|
||||
gCurrentPinballGame->unk5F8 = 3600;
|
||||
DmaCopy16(3, gUnknown_08137E14[gCurrentPinballGame->unk5F6], (void *)0x05000220, 0x20);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk71C == 40)
|
||||
MPlayStart(&gMPlayInfo_SE1, &gUnknown_0869F664);
|
||||
|
||||
if (gCurrentPinballGame->unk71C == 60)
|
||||
gMain.unk44[43]->available = 1;
|
||||
|
||||
gCurrentPinballGame->unk6E = gUnknown_086B0E20[30 - gCurrentPinballGame->unk71C / 2];
|
||||
gCurrentPinballGame->unk71C--;
|
||||
}
|
||||
else
|
||||
{
|
||||
gCurrentPinballGame->unk71B = 0;
|
||||
if (gCurrentPinballGame->unk2F8 == 0)
|
||||
{
|
||||
gCurrentPinballGame->ballPowerUpLight[0] =
|
||||
gCurrentPinballGame->ballPowerUpLight[1] =
|
||||
gCurrentPinballGame->ballPowerUpLight[2] = 0;
|
||||
}
|
||||
|
||||
gCurrentPinballGame->unk2F8 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_4F258(void)
|
||||
{
|
||||
s16 i;
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
src = &gUnknown_086B0B70[i][gCurrentPinballGame->ballPowerUpLight[i]];
|
||||
dest = &gUnknown_086B0B70[i][2];
|
||||
DmaCopy16(3, *src, *dest, 0x40);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
401
src/rom_50AD4.c
401
src/rom_50AD4.c
|
|
@ -15,8 +15,409 @@ extern const u8 *gUnknown_086B11FC[][4];
|
|||
extern const u8 *gUnknown_086B13F4[][5][3];
|
||||
extern const u8 *gUnknown_086B11CC[][4];
|
||||
extern const u8 *gUnknown_086B1300[][4];
|
||||
extern const u8 *gUnknown_086B1124[][7][2];
|
||||
extern const u8 *gUnknown_086B0F4C[][4];
|
||||
extern const u8 *gUnknown_086B1104[][2];
|
||||
extern const u16 gUnknown_086B0E60[];
|
||||
extern const u8 *gUnknown_086B108C[][3][5];
|
||||
extern const u8 *gUnknown_086B0E9C[][4];
|
||||
extern const u8 *gUnknown_086B0D6C[][5][3];
|
||||
extern const u8 *gUnknown_086B0C04[][5][3];
|
||||
extern const u8 *gUnknown_086B0CB8[][5][3];
|
||||
extern const s16 gUnknown_086B08C4[];
|
||||
|
||||
|
||||
void sub_4F2B8(void)
|
||||
{
|
||||
if (gCurrentPinballGame->unk72B > 0)
|
||||
{
|
||||
if (gCurrentPinballGame->unk72C < gUnknown_086B08C4[gCurrentPinballGame->unk72B - 1])
|
||||
{
|
||||
gCurrentPinballGame->unk72C = gCurrentPinballGame->unk72C + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
gCurrentPinballGame->unk72C = 0;
|
||||
gCurrentPinballGame->unk72B = gCurrentPinballGame->unk72B - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_4F30C(void)
|
||||
{
|
||||
s16 sp0[3];
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
if (gCurrentPinballGame->unk72B == 0)
|
||||
{
|
||||
sp0[0] = gCurrentPinballGame->unk734 * 2;
|
||||
sp0[1] = gCurrentPinballGame->unk734;
|
||||
sp0[2] = 0;
|
||||
}
|
||||
else if (gCurrentPinballGame->unk72B == 1)
|
||||
{
|
||||
sp0[0] = 3;
|
||||
sp0[1] = gCurrentPinballGame->unk734 + 1;
|
||||
sp0[2] = gCurrentPinballGame->unk734 * 2;
|
||||
}
|
||||
else if (gCurrentPinballGame->unk72B == 2)
|
||||
{
|
||||
sp0[0] = 3;
|
||||
sp0[1] = 3;
|
||||
sp0[2] = gCurrentPinballGame->unk734 + 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
sp0[0] = 3;
|
||||
sp0[1] = 3;
|
||||
sp0[2] = 3;
|
||||
}
|
||||
|
||||
src = gUnknown_086B0CB8[0][sp0[0]];
|
||||
dest = gUnknown_086B0CB8[0][4];
|
||||
if (gCurrentPinballGame->unk6A >= 42 && gCurrentPinballGame->unk6A < 208)
|
||||
{
|
||||
DmaCopy16(3, src[0], dest[0], 0x60);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A >= 50 && gCurrentPinballGame->unk6A < 216)
|
||||
{
|
||||
DmaCopy16(3, src[1], dest[1], 0x60);
|
||||
}
|
||||
|
||||
src = gUnknown_086B0CB8[1][sp0[1]];
|
||||
dest = gUnknown_086B0CB8[1][4];
|
||||
if (gCurrentPinballGame->unk6A >= 58 && gCurrentPinballGame->unk6A < 224)
|
||||
{
|
||||
DmaCopy16(3, src[0], dest[0], 0x60);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A >= 66 && gCurrentPinballGame->unk6A < 232)
|
||||
{
|
||||
DmaCopy16(3, src[1], dest[1], 0x60);
|
||||
}
|
||||
|
||||
src = gUnknown_086B0CB8[2][sp0[2]];
|
||||
dest = gUnknown_086B0CB8[2][4];
|
||||
if (gCurrentPinballGame->unk6A >= 74 && gCurrentPinballGame->unk6A < 240)
|
||||
{
|
||||
DmaCopy16(3, src[0], dest[0], 0x60);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A >= 82 && gCurrentPinballGame->unk6A < 248)
|
||||
{
|
||||
DmaCopy16(3, src[1], dest[1], 0x60);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A >= 90)
|
||||
{
|
||||
DmaCopy16(3, src[2], dest[2], 0x60);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_4F4B4(void)
|
||||
{
|
||||
s16 sp0[3];
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
if (gCurrentPinballGame->unk13 < 3)
|
||||
{
|
||||
if (gCurrentPinballGame->unk72E == 0)
|
||||
{
|
||||
sp0[0] = gCurrentPinballGame->unk734 * 2;
|
||||
sp0[1] = 0;
|
||||
sp0[2] = 0;
|
||||
}
|
||||
else if (gCurrentPinballGame->unk72E == 1)
|
||||
{
|
||||
sp0[0] = 3;
|
||||
sp0[1] = gCurrentPinballGame->unk734 + 1;
|
||||
sp0[2] = gCurrentPinballGame->unk734 * 2;
|
||||
}
|
||||
else if (gCurrentPinballGame->unk72E == 2)
|
||||
{
|
||||
sp0[0] = 3;
|
||||
sp0[1] = 3;
|
||||
sp0[2] = gCurrentPinballGame->unk734 + 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
sp0[0] = 3;
|
||||
sp0[1] = 3;
|
||||
sp0[2] = 3;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sp0[0] = gCurrentPinballGame->unk739;
|
||||
sp0[1] = gCurrentPinballGame->unk73A;
|
||||
sp0[2] = gCurrentPinballGame->unk73B;
|
||||
}
|
||||
|
||||
src = gUnknown_086B0C04[0][sp0[0]];
|
||||
dest = gUnknown_086B0C04[0][4];
|
||||
if (gCurrentPinballGame->unk6A < 264)
|
||||
{
|
||||
DmaCopy16(3, src[0], dest[0], 0x60);
|
||||
}
|
||||
|
||||
DmaCopy16(3, src[1], dest[1], 0x60);
|
||||
DmaCopy16(3, src[2], dest[2], 0x60);
|
||||
|
||||
if (gCurrentPinballGame->unk6A > 120)
|
||||
{
|
||||
src = gUnknown_086B0C04[1][sp0[1]];
|
||||
dest = gUnknown_086B0C04[1][4];
|
||||
DmaCopy16(3, src[0], dest[0], 0x60);
|
||||
DmaCopy16(3, src[1], dest[1], 0x60);
|
||||
DmaCopy16(3, src[2], dest[2], 0x60);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A > 136)
|
||||
{
|
||||
src = gUnknown_086B0C04[2][sp0[2]];
|
||||
dest = gUnknown_086B0C04[2][4];
|
||||
DmaCopy16(3, src[0], dest[0], 0x60);
|
||||
DmaCopy16(3, src[1], dest[1], 0x60);
|
||||
DmaCopy16(3, src[2], dest[2], 0x60);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_4F660(void)
|
||||
{
|
||||
s16 sp0[3];
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
if (gCurrentPinballGame->unk13 < 3)
|
||||
{
|
||||
if (gCurrentPinballGame->unk72F == 0)
|
||||
{
|
||||
sp0[0] = gCurrentPinballGame->unk734 * 2;
|
||||
sp0[1] = 0;
|
||||
sp0[2] = 0;
|
||||
}
|
||||
else if (gCurrentPinballGame->unk72F == 1)
|
||||
{
|
||||
sp0[0] = 3;
|
||||
sp0[1] = gCurrentPinballGame->unk734 + 1;
|
||||
sp0[2] = gCurrentPinballGame->unk734 * 2;
|
||||
}
|
||||
else if (gCurrentPinballGame->unk72F == 2)
|
||||
{
|
||||
sp0[0] = 3;
|
||||
sp0[1] = 3;
|
||||
sp0[2] = (s16) gCurrentPinballGame->unk734 + 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
sp0[0] = 3;
|
||||
sp0[1] = 3;
|
||||
sp0[2] = 3;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sp0[0] = gCurrentPinballGame->unk736;
|
||||
sp0[1] = gCurrentPinballGame->unk737;
|
||||
sp0[2] = gCurrentPinballGame->unk738;
|
||||
}
|
||||
|
||||
src = gUnknown_086B0D6C[0][sp0[0]];
|
||||
dest = gUnknown_086B0D6C[0][4];
|
||||
if (gCurrentPinballGame->unk6A < 264)
|
||||
{
|
||||
DmaCopy16(3, src[0], dest[0], 0x60);
|
||||
}
|
||||
|
||||
DmaCopy16(3, src[1], dest[1], 0x60);
|
||||
DmaCopy16(3, src[2], dest[2], 0x60);
|
||||
|
||||
if (gCurrentPinballGame->unk6A > 120)
|
||||
{
|
||||
src = gUnknown_086B0D6C[1][sp0[1]];
|
||||
dest = gUnknown_086B0D6C[1][4];
|
||||
DmaCopy16(3, src[0], dest[0], 0x40);
|
||||
DmaCopy16(3, src[1], dest[1], 0x40);
|
||||
DmaCopy16(3, src[2], dest[2], 0x60);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A > 136)
|
||||
{
|
||||
src = gUnknown_086B0D6C[2][sp0[2]];
|
||||
dest = gUnknown_086B0D6C[2][4];
|
||||
DmaCopy16(3, src[0], dest[0], 0x40);
|
||||
DmaCopy16(3, src[1], dest[1], 0x60);
|
||||
DmaCopy16(3, src[2], dest[2], 0x60);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_4F814(void)
|
||||
{
|
||||
|
||||
gCurrentPinballGame->unk734 = (gCurrentPinballGame->unk70C % 40) / 20;
|
||||
gCurrentPinballGame->unk70C++;
|
||||
sub_50710();
|
||||
if (gCurrentPinballGame->unk6A > 83)
|
||||
sub_50000();
|
||||
|
||||
if (gCurrentPinballGame->unk6A > 18)
|
||||
sub_500B4();
|
||||
|
||||
if (gCurrentPinballGame->unk6A >= 56 && gCurrentPinballGame->unk6A < 243)
|
||||
sub_505A4();
|
||||
|
||||
sub_4F0F0();
|
||||
if (gCurrentPinballGame->unk6A < 112)
|
||||
sub_506B0();
|
||||
|
||||
if (gCurrentPinballGame->unk6A >= 64 && gCurrentPinballGame->unk6A < 254)
|
||||
sub_504C0();
|
||||
|
||||
if (gCurrentPinballGame->unk6A >= 27 && gCurrentPinballGame->unk6A < 211)
|
||||
{
|
||||
sub_4FB08();
|
||||
sub_4F95C();
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A > 104)
|
||||
{
|
||||
sub_50154();
|
||||
sub_5030C();
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A > 72)
|
||||
sub_4FE6C();
|
||||
|
||||
sub_4F2B8();
|
||||
if (gCurrentPinballGame->unk6A > 110)
|
||||
sub_4FAC0();
|
||||
|
||||
if (gCurrentPinballGame->unk6A > 178)
|
||||
{
|
||||
sub_4FBA4();
|
||||
sub_4FC7C();
|
||||
sub_4F9F0();
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A > 202)
|
||||
sub_4FD88();
|
||||
|
||||
if (gCurrentPinballGame->unk6A >= 8 && gCurrentPinballGame->unk6A < 182)
|
||||
sub_507D4();
|
||||
|
||||
if (gCurrentPinballGame->unk724 && gCurrentPinballGame->unk25 == 0)
|
||||
gCurrentPinballGame->unk724--;
|
||||
}
|
||||
|
||||
void sub_4F95C(void)
|
||||
{
|
||||
s16 var0, var1;
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
var0 = gCurrentPinballGame->unk70E / 10;
|
||||
var1 = gCurrentPinballGame->unk70E % 10;
|
||||
if (gCurrentPinballGame->unk6A > 36)
|
||||
{
|
||||
src = gUnknown_086B0E9C[var0];
|
||||
dest = gUnknown_086B0E9C[10];
|
||||
DmaCopy16(3, src[0], dest[0], 0x20);
|
||||
DmaCopy16(3, src[1], dest[1], 0x20);
|
||||
|
||||
src = gUnknown_086B0E9C[var1];
|
||||
DmaCopy16(3, src[2], dest[2], 0x20);
|
||||
DmaCopy16(3, src[3], dest[3], 0x20);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_4F9F0(void)
|
||||
{
|
||||
s16 var0;
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
var0 = gUnknown_086B0E60[gCurrentPinballGame->unk716];
|
||||
if (gCurrentPinballGame->unk716)
|
||||
{
|
||||
gCurrentPinballGame->unk716--;
|
||||
if (gCurrentPinballGame->unk716 == 3)
|
||||
{
|
||||
m4aSongNumStart(SE_UNKNOWN_0x73);
|
||||
gCurrentPinballGame->unk3C = 500;
|
||||
sub_11B0(7);
|
||||
}
|
||||
}
|
||||
|
||||
src = gUnknown_086B108C[gCurrentPinballGame->unk717][var0];
|
||||
dest = gUnknown_086B108C[gCurrentPinballGame->unk717][2];
|
||||
DmaCopy16(3, src[0], dest[0], 0x20);
|
||||
DmaCopy16(3, src[1], dest[1], 0x40);
|
||||
DmaCopy16(3, src[2], dest[2], 0x60);
|
||||
DmaCopy16(3, src[3], dest[3], 0x60);
|
||||
DmaCopy16(3, src[4], dest[4], 0x40);
|
||||
}
|
||||
|
||||
void sub_4FAC0(void)
|
||||
{
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
src = gUnknown_086B1104[gCurrentPinballGame->unk730];
|
||||
dest = gUnknown_086B1104[3];
|
||||
DmaCopy16(3, src[0], dest[0], 0x40);
|
||||
DmaCopy16(3, src[1], dest[1], 0x40);
|
||||
}
|
||||
|
||||
void sub_4FB08(void)
|
||||
{
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
src = gUnknown_086B0F4C[(gMain.systemFrameCount % 64) / 16];
|
||||
dest = gUnknown_086B0F4C[4];
|
||||
if (gCurrentPinballGame->unk6A < 192)
|
||||
{
|
||||
DmaCopy16(3, src[0], dest[0], 0x40);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A < 200)
|
||||
{
|
||||
DmaCopy16(3, src[1], dest[1], 0x80);
|
||||
}
|
||||
|
||||
if (gCurrentPinballGame->unk6A < 208)
|
||||
{
|
||||
DmaCopy16(3, src[2], dest[2], 0x60);
|
||||
}
|
||||
|
||||
DmaCopy16(3, src[3], dest[3], 0x60);
|
||||
}
|
||||
|
||||
void sub_4FBA4(void)
|
||||
{
|
||||
s16 i;
|
||||
const u8 **src;
|
||||
const u8 **dest;
|
||||
|
||||
if (gCurrentPinballGame->unk720)
|
||||
{
|
||||
gCurrentPinballGame->unk71D[gCurrentPinballGame->unk721] = 1 - (gCurrentPinballGame->unk720 % 36) / 18;
|
||||
gCurrentPinballGame->unk71D[gCurrentPinballGame->unk722] = gCurrentPinballGame->unk71D[gCurrentPinballGame->unk721];
|
||||
gCurrentPinballGame->unk720--;
|
||||
}
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
src = gUnknown_086B1124[i][gCurrentPinballGame->unk71D[i]];
|
||||
dest = gUnknown_086B1124[i][6];
|
||||
DmaCopy16(3, src[0], dest[0], 0x40);
|
||||
DmaCopy16(3, src[1], dest[1], 0x40);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_4FC7C(void)
|
||||
{
|
||||
s16 i;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user