mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-23 01:04:58 -05:00
1908
asm/code_8099360.s
1908
asm/code_8099360.s
File diff suppressed because it is too large
Load Diff
@@ -329,7 +329,6 @@ SECTIONS {
|
||||
src/ground_main.o(.text);
|
||||
src/code_8099328.o(.text);
|
||||
src/code_8099360.o(.text);
|
||||
asm/code_8099360.o(.text);
|
||||
src/code_809A560.o(.text);
|
||||
src/code_809C5C4.o(.text);
|
||||
src/code_809D148.o(.text);
|
||||
|
||||
@@ -389,3 +389,743 @@ void sub_8099690(u32 param_1)
|
||||
}
|
||||
CloseFile(temp);
|
||||
}
|
||||
|
||||
// TODO: figure out if a new file starts here...
|
||||
|
||||
typedef struct unkStruct_3000400
|
||||
{
|
||||
// size: 0x4
|
||||
u8 unk0[0x4];
|
||||
} unkStruct_3000400;
|
||||
|
||||
extern void sub_8003810(u16 idx, unkStruct_3000400 param_2);
|
||||
extern void sub_80039B8(void);
|
||||
extern void TransferBGPaletteBuffer(void);
|
||||
extern void sub_80037C8(u16, u32, unkStruct_3000400);
|
||||
extern void sub_8003664(u16 param_1, u16 param_2);
|
||||
extern void sub_80036AC(u16, u32, unkStruct_3000400);
|
||||
extern void sub_80036F4(u16, u32, unkStruct_3000400);
|
||||
extern void sub_8003780(u16, u32, unkStruct_3000400);
|
||||
|
||||
void sub_809977C(void);
|
||||
|
||||
UNUSED static void sub_8099708(u16 a0, unkStruct_3000400 a1)
|
||||
{
|
||||
sub_8003810(a0, a1);
|
||||
}
|
||||
|
||||
void sub_809971C(u16 idx, unkStruct_3000400 *strPtrs, s32 n)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
sub_8003810(idx++, *strPtrs++);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8099744(void)
|
||||
{
|
||||
sub_80039B8();
|
||||
}
|
||||
|
||||
void sub_8099750(void)
|
||||
{
|
||||
TransferBGPaletteBuffer();
|
||||
}
|
||||
|
||||
void sub_809975C(void)
|
||||
{
|
||||
sub_809977C();
|
||||
}
|
||||
|
||||
void sub_8099768(void)
|
||||
{
|
||||
sub_809977C();
|
||||
sub_8099744();
|
||||
sub_8099750();
|
||||
}
|
||||
|
||||
struct UnkStruct_2039958
|
||||
{
|
||||
s32 unk0;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
u16 unk8;
|
||||
u16 unkA;
|
||||
u16 unkC;
|
||||
};
|
||||
|
||||
struct UnkStruct_2039978
|
||||
{
|
||||
u32 unk0;
|
||||
unkStruct_3000400 unk4;
|
||||
struct UnkStruct_2039958 unk8;
|
||||
};
|
||||
|
||||
static EWRAM_DATA struct UnkStruct_2039958 gUnknown_2039958 = {0};
|
||||
static EWRAM_DATA struct UnkStruct_2039958 gUnknown_2039968 = {0};
|
||||
static EWRAM_DATA struct UnkStruct_2039978 gUnknown_2039978 = {0};
|
||||
static EWRAM_DATA u8 gUnknown_2039990 = FALSE;
|
||||
static EWRAM_DATA s16 gUnknown_2039992 = 0;
|
||||
UNUSED static EWRAM_DATA s32 sUnused = 0;
|
||||
#define ARR_COUNT_2039998 33
|
||||
static EWRAM_DATA u16 gUnknown_2039998[ARR_COUNT_2039998] = {0};
|
||||
|
||||
void sub_8099838(struct UnkStruct_2039958 *a0);
|
||||
void sub_8099848(struct UnkStruct_2039958 *a0);
|
||||
void sub_8099DD0(u16 a0);
|
||||
void sub_8099E58(u16 a0);
|
||||
void sub_8099E80(u16 a0, unkStruct_3000400 a1);
|
||||
|
||||
void sub_809977C(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
gUnknown_2039990 = FALSE;
|
||||
gUnknown_2039992 = 0;
|
||||
sub_8099838(&gUnknown_2039958);
|
||||
sub_8099838(&gUnknown_2039968);
|
||||
sub_8099838(&gUnknown_2039978.unk8);
|
||||
gUnknown_2039978.unk0 = 0;
|
||||
gUnknown_2039978.unk8.unkC = 0x100;
|
||||
gUnknown_2039958.unkC = 0;
|
||||
sub_8099DD0(0);
|
||||
gUnknown_2039968.unkC = 0x100;
|
||||
sub_8099E58(0x100);
|
||||
for (i = 0; i < ARR_COUNT_2039998; i++) {
|
||||
gUnknown_2039998[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80997F4(u16 a0, u32 a1)
|
||||
{
|
||||
gUnknown_2039998[a0] = a1;
|
||||
sub_8099848(&gUnknown_2039958);
|
||||
sub_8099848(&gUnknown_2039968);
|
||||
sub_8099848(&gUnknown_2039978.unk8);
|
||||
}
|
||||
|
||||
UNUSED static u32 sub_8099828(u16 a0)
|
||||
{
|
||||
return gUnknown_2039998[a0];
|
||||
}
|
||||
|
||||
void sub_8099838(struct UnkStruct_2039958 *a0)
|
||||
{
|
||||
a0->unk0 = 1;
|
||||
a0->unkC = 0;
|
||||
a0->unk4 = 0;
|
||||
a0->unk6 = 0;
|
||||
}
|
||||
|
||||
void sub_8099848(struct UnkStruct_2039958 *a0)
|
||||
{
|
||||
if (a0->unk0 == 0) {
|
||||
a0->unk0 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_809985C(struct UnkStruct_2039958 *a0, s32 a1)
|
||||
{
|
||||
if (a1 >= 0) {
|
||||
if (a1 == 0) {
|
||||
a0->unkC = 0x100;
|
||||
a0->unk0 = 1;
|
||||
}
|
||||
else {
|
||||
a0->unk0 = 2;
|
||||
}
|
||||
}
|
||||
else {
|
||||
a1 = 30;
|
||||
a0->unk0 = 2;
|
||||
}
|
||||
|
||||
a0->unk4 = a1;
|
||||
a0->unk6 = a1;
|
||||
}
|
||||
|
||||
void sub_8099880(struct UnkStruct_2039958 *a0, s32 a1)
|
||||
{
|
||||
if (a1 >= 0) {
|
||||
if (a1 == 0) {
|
||||
a0->unkC = a1;
|
||||
a0->unk0 = 1;
|
||||
}
|
||||
else {
|
||||
a0->unk0 = 3;
|
||||
}
|
||||
}
|
||||
else {
|
||||
a1 = 30;
|
||||
a0->unk0 = 3;
|
||||
}
|
||||
|
||||
a0->unk4 = a1;
|
||||
a0->unk6 = a1;
|
||||
}
|
||||
|
||||
void sub_80998A0(struct UnkStruct_2039958 *a0, s32 a1, u16 a2, u16 a3)
|
||||
{
|
||||
if (a1 < 0) a1 = 30;
|
||||
|
||||
if (a2 > a3) {
|
||||
a0->unk0 = 5;
|
||||
a0->unkA = a2 - a3;
|
||||
}
|
||||
else if (a2 < a3) {
|
||||
a0->unk0 = 4;
|
||||
a0->unkA = a3 - a2;
|
||||
}
|
||||
else {
|
||||
a0->unk0 = 1;
|
||||
a0->unkA = 0;
|
||||
}
|
||||
|
||||
a0->unk4 = a1;
|
||||
a0->unk6 = a1;
|
||||
a0->unkC = a2;
|
||||
a0->unk8 = a3;
|
||||
}
|
||||
|
||||
bool8 sub_80998E0(struct UnkStruct_2039958 *a0)
|
||||
{
|
||||
switch (a0->unk0) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
a0->unk0 = 0;
|
||||
return TRUE;
|
||||
case 2:
|
||||
if (--a0->unk4 > 0) {
|
||||
u16 var = 0x100 - ((a0->unk4 << 8) / a0->unk6);
|
||||
if (a0->unkC < var) {
|
||||
a0->unkC = var;
|
||||
}
|
||||
}
|
||||
else {
|
||||
a0->unkC = 0x100;
|
||||
a0->unk0 = 0;
|
||||
}
|
||||
return TRUE;
|
||||
case 3:
|
||||
if (--a0->unk4 > 0) {
|
||||
u16 var = (a0->unk4 << 8) / a0->unk6;
|
||||
if (a0->unkC > var) {
|
||||
a0->unkC = var;
|
||||
}
|
||||
}
|
||||
else {
|
||||
a0->unkC = 0;
|
||||
a0->unk0 = 0;
|
||||
}
|
||||
return TRUE;
|
||||
case 4:
|
||||
if (--a0->unk4 > 0) {
|
||||
a0->unkC = a0->unk8 - ((a0->unk4 * a0->unkA) / a0->unk6);
|
||||
}
|
||||
else {
|
||||
a0->unkC = a0->unk8;
|
||||
a0->unk0 = 0;
|
||||
}
|
||||
return TRUE;
|
||||
case 5:
|
||||
if (--a0->unk4 > 0) {
|
||||
a0->unkC = a0->unk8 + ((a0->unk4 * a0->unkA) / a0->unk6);
|
||||
}
|
||||
else {
|
||||
a0->unkC = a0->unk8;
|
||||
a0->unk0 = 0;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_80999D4(s32 a0)
|
||||
{
|
||||
gUnknown_2039990 = TRUE;
|
||||
gUnknown_2039992 = a0;
|
||||
}
|
||||
|
||||
void sub_80999E8(s32 a0)
|
||||
{
|
||||
sub_809985C(&gUnknown_2039958, a0);
|
||||
}
|
||||
|
||||
void sub_80999FC(s32 a0)
|
||||
{
|
||||
sub_8099880(&gUnknown_2039958, a0);
|
||||
}
|
||||
|
||||
void sub_8099A10(s32 a1, u16 a2, u16 a3)
|
||||
{
|
||||
sub_80998A0(&gUnknown_2039958, a1, a2, a3);
|
||||
}
|
||||
|
||||
void sub_8099A34(s32 a0)
|
||||
{
|
||||
sub_809985C(&gUnknown_2039968, a0);
|
||||
}
|
||||
|
||||
void sub_8099A48(s32 a0)
|
||||
{
|
||||
sub_8099880(&gUnknown_2039968, a0);
|
||||
}
|
||||
|
||||
void sub_8099A5C(s32 a0, s32 a1, unkStruct_3000400 a2)
|
||||
{
|
||||
gUnknown_2039978.unk0 = a0;
|
||||
gUnknown_2039978.unk4 = a2;
|
||||
gUnknown_2039978.unk8.unkC = 0;
|
||||
sub_809985C(&gUnknown_2039978.unk8, a1);
|
||||
|
||||
switch (a0) {
|
||||
case 1:
|
||||
case 3:
|
||||
gUnknown_2039968.unkC = 0x100;
|
||||
gUnknown_2039958.unkC = 0x100;
|
||||
break;
|
||||
case 9:
|
||||
case 11:
|
||||
gUnknown_2039968.unkC = 0x100;
|
||||
break;
|
||||
case 5:
|
||||
case 7:
|
||||
case 13:
|
||||
case 14:
|
||||
gUnknown_2039958.unkC = 0x100;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8099AFC(s32 a0, s32 a1, unkStruct_3000400 a2)
|
||||
{
|
||||
gUnknown_2039978.unk0 = a0;
|
||||
gUnknown_2039978.unk4 = a2;
|
||||
gUnknown_2039978.unk8.unkC = 0x100;
|
||||
sub_8099880(&gUnknown_2039978.unk8, a1);
|
||||
|
||||
switch (a0) {
|
||||
case 2:
|
||||
case 4:
|
||||
gUnknown_2039968.unkC = 0;
|
||||
gUnknown_2039958.unkC = 0;
|
||||
break;
|
||||
case 10:
|
||||
case 12:
|
||||
gUnknown_2039968.unkC = 0;
|
||||
break;
|
||||
case 6:
|
||||
case 8:
|
||||
case 13:
|
||||
case 14:
|
||||
gUnknown_2039958.unkC = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool8 sub_8099B94(void)
|
||||
{
|
||||
if (gUnknown_2039990)
|
||||
return TRUE;
|
||||
if (gUnknown_2039978.unk0 != 0) {
|
||||
return (gUnknown_2039978.unk8.unk0 != 0);
|
||||
}
|
||||
return (gUnknown_2039958.unk0 != 0 || gUnknown_2039968.unk0 != 0);
|
||||
}
|
||||
|
||||
void sub_8099BE4(void)
|
||||
{
|
||||
if (gUnknown_2039978.unk0 != 0 || gUnknown_2039978.unk8.unk0 != 0) {
|
||||
if (sub_80998E0(&gUnknown_2039978.unk8)) {
|
||||
sub_8099E80(gUnknown_2039978.unk8.unkC, gUnknown_2039978.unk4);
|
||||
}
|
||||
else if (gUnknown_2039978.unk8.unk0 == 0) {
|
||||
switch (gUnknown_2039978.unk0) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
case 3:
|
||||
case 5:
|
||||
case 7:
|
||||
case 9:
|
||||
case 11:
|
||||
if (gUnknown_2039978.unk8.unkC >= 256) {
|
||||
gUnknown_2039978.unk0 = 0;
|
||||
}
|
||||
else if (gUnknown_2039990) {
|
||||
s32 var = 0;
|
||||
switch (gUnknown_2039978.unk0) {
|
||||
case 1: var = 2; break;
|
||||
case 3: var = 4; break;
|
||||
case 5: var = 6; break;
|
||||
case 7: var = 8; break;
|
||||
}
|
||||
|
||||
if (var != 0) {
|
||||
sub_8099AFC(var, gUnknown_2039992, gUnknown_2039978.unk4);
|
||||
}
|
||||
else {
|
||||
gUnknown_2039978.unk0 = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case 4:
|
||||
case 6:
|
||||
case 8:
|
||||
case 10:
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
if (gUnknown_2039978.unk8.unkC == 0) {
|
||||
gUnknown_2039978.unk0 = 0;
|
||||
}
|
||||
else if (gUnknown_2039990) {
|
||||
sub_8099AFC(gUnknown_2039978.unk0, gUnknown_2039992, gUnknown_2039978.unk4);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (gUnknown_2039990) {
|
||||
bool8 r5 = TRUE;
|
||||
if (gUnknown_2039958.unkC != 0 || gUnknown_2039958.unk0 != 0) {
|
||||
r5 = FALSE;
|
||||
if (gUnknown_2039958.unk0 != 3) {
|
||||
sub_8099880(&gUnknown_2039958, gUnknown_2039992);
|
||||
}
|
||||
if (sub_80998E0(&gUnknown_2039958)) {
|
||||
sub_8099DD0(gUnknown_2039958.unkC);
|
||||
}
|
||||
}
|
||||
if (gUnknown_2039968.unkC != 0 || gUnknown_2039968.unk0 != 0) {
|
||||
r5 = FALSE;
|
||||
if (gUnknown_2039968.unk0 != 3) {
|
||||
sub_8099880(&gUnknown_2039968, gUnknown_2039992);
|
||||
}
|
||||
if (sub_80998E0(&gUnknown_2039968)) {
|
||||
sub_8099E58(gUnknown_2039968.unkC);
|
||||
}
|
||||
}
|
||||
|
||||
if (r5) {
|
||||
gUnknown_2039990 = FALSE;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (sub_80998E0(&gUnknown_2039958)) {
|
||||
sub_8099DD0(gUnknown_2039958.unkC);
|
||||
}
|
||||
if (sub_80998E0(&gUnknown_2039968)) {
|
||||
sub_8099E58(gUnknown_2039968.unkC);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8099DD0(u16 a0)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 14; i++) {
|
||||
if (gUnknown_2039998[i] & 1) {
|
||||
sub_8003664(i, 0x100);
|
||||
}
|
||||
else {
|
||||
sub_8003664(i, a0);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 16; i < 31; i++) {
|
||||
if (gUnknown_2039998[i] & 1) {
|
||||
sub_8003664(i, 0x100);
|
||||
}
|
||||
else {
|
||||
sub_8003664(i, a0);
|
||||
}
|
||||
}
|
||||
|
||||
sub_8003664(32, a0);
|
||||
}
|
||||
|
||||
void sub_8099E58(u16 a0)
|
||||
{
|
||||
sub_8003664(15, a0);
|
||||
sub_8003664(14, a0);
|
||||
sub_8003664(31, a0);
|
||||
}
|
||||
|
||||
void sub_8099E80(u16 param_1,unkStruct_3000400 param_2)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
switch (gUnknown_2039978.unk0) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
for (i = 0; i < 16; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_80036AC(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 16; i < 32; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_80036AC(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
for (i = 14; i < 16; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_80036AC(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 31; i < 32; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_80036AC(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
for (i = 0; i < 14; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_80036AC(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 16; i < 31; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_80036AC(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
for (i = 0; i < 16; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_80036F4(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 16; i < 32; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_80036F4(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
for (i = 14; i < 16; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_80036F4(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 31; i < 32; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_80036F4(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
for (i = 0; i < 14; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_80036F4(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 16; i < 31; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_80036F4(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
for (i = 0; i < 16; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_8003780(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 16; i < 32; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_8003780(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 11:
|
||||
for (i = 14; i < 16; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_8003780(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 31; i < 32; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_8003780(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
for (i = 0; i < 14; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_8003780(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 16; i < 31; i++) {
|
||||
if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else {
|
||||
sub_8003780(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
for (i = 0; i < 16; i ++) {
|
||||
if (gUnknown_2039998[i] & 1) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,param_1);
|
||||
}
|
||||
else {
|
||||
sub_80037C8(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 16; i < 32; i ++) {
|
||||
if (gUnknown_2039998[i] & 1) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,param_1);
|
||||
}
|
||||
else {
|
||||
sub_80037C8(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
for (i = 14; i < 16; i ++) {
|
||||
if (gUnknown_2039998[i] & 1) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,param_1);
|
||||
}
|
||||
else {
|
||||
sub_80037C8(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 31; i < 32; i ++) {
|
||||
if (gUnknown_2039998[i] & 1) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,param_1);
|
||||
}
|
||||
else {
|
||||
sub_80037C8(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 13:
|
||||
case 14:
|
||||
switch (gUnknown_2039978.unk0) {
|
||||
case 13:
|
||||
param_2.unk0[0] = 0x90;
|
||||
param_2.unk0[1] = 0x90;
|
||||
param_2.unk0[2] = 0xFF;
|
||||
param_2.unk0[3] = 0xFF;
|
||||
break;
|
||||
case 14:
|
||||
param_2.unk0[0] = 0xFF;
|
||||
param_2.unk0[1] = 0xC0;
|
||||
param_2.unk0[2] = 0x80;
|
||||
param_2.unk0[3] = 0xFF;
|
||||
break;
|
||||
}
|
||||
// NOTE: fallthrough needed here
|
||||
case 8:
|
||||
for (i = 0; i < 14; i ++) {
|
||||
if (gUnknown_2039998[i] & 1) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,param_1);
|
||||
}
|
||||
else {
|
||||
sub_80037C8(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 16; i < 31; i ++) {
|
||||
if (gUnknown_2039998[i] & 1) {
|
||||
sub_8003664(i,0x100);
|
||||
}
|
||||
else if (gUnknown_2039998[i] & 2) {
|
||||
sub_8003664(i,param_1);
|
||||
}
|
||||
else {
|
||||
sub_80037C8(i,param_1,param_2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,24 +80,10 @@
|
||||
.include "src/exclusive_pokemon.o"
|
||||
.space 0x4
|
||||
.include "src/ground_main.o"
|
||||
.space 0x4
|
||||
.include "src/code_8099360.o"
|
||||
|
||||
.space 0x7
|
||||
|
||||
gUnknown_2039958: /* 2039958 (sub_809977C - sub_8099BE4) */
|
||||
.space 0x10
|
||||
gUnknown_2039968: /* 2039968 (sub_809977C - sub_8099BE4) */
|
||||
.space 0x10
|
||||
gUnknown_2039978: /* 2039978 (sub_8099A5C - sub_8099E80) */
|
||||
.space 0x8
|
||||
gUnknown_2039980: /* 2039980 (sub_809977C - sub_80997F4) */
|
||||
.space 0x10
|
||||
gUnknown_2039990: /* 2039990 (sub_809977C - sub_8099BE4) */
|
||||
.space 0x2
|
||||
gUnknown_2039992: /* 2039992 (sub_809977C - sub_8099BE4) */
|
||||
.space 0x6
|
||||
gUnknown_2039998: /* 2039998 (sub_809977C - sub_8099E80) */
|
||||
.space 0x44
|
||||
|
||||
gUnknown_20399DC: /* 20399DC (sub_809A560 - sub_809B614) */
|
||||
.space 0x2
|
||||
gUnknown_20399DE: /* 20399DE (sub_809A560 - sub_809B614) */
|
||||
|
||||
Reference in New Issue
Block a user