mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-20 15:55:05 -05:00
Do some cleaning on code_80035F0.c
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
#include "bg_palette_buffer.h"
|
||||
#include "code_8002774.h"
|
||||
|
||||
IWRAM_INIT u8 gUnknown_3001B58 = 0;
|
||||
IWRAM_INIT bool8 gUnknown_3001B58 = FALSE;
|
||||
IWRAM_INIT u16 gUnknown_3001B5A = 0;
|
||||
|
||||
typedef struct unkStruct_3000C00_sub
|
||||
@@ -13,9 +13,8 @@ typedef struct unkStruct_3000C00_sub
|
||||
|
||||
typedef struct unkStruct_3000C00
|
||||
{
|
||||
// size: 0x14
|
||||
u8 unk0;
|
||||
u8 unk1; // ?
|
||||
bool8 unk0;
|
||||
u8 unk1;
|
||||
s16 unk2;
|
||||
unkStruct_3000C00_sub unk4;
|
||||
s32 unk8;
|
||||
@@ -51,10 +50,11 @@ UNUSED static void sub_80035F8(void)
|
||||
" bx r0\n");
|
||||
}
|
||||
|
||||
void sub_8003600(void) {
|
||||
void sub_8003600(void)
|
||||
{
|
||||
unkStruct_3000C00 *it1;
|
||||
struct S *it2;
|
||||
u8 *r6;
|
||||
bool8 *r6;
|
||||
s32 i;
|
||||
s32 zero;
|
||||
|
||||
@@ -73,7 +73,7 @@ void sub_8003600(void) {
|
||||
|
||||
for (i = 0; i < 0x21; i++, it1++)
|
||||
{
|
||||
it1->unk0 = 0;
|
||||
it1->unk0 = FALSE;
|
||||
it1->unk2 = 0x100;
|
||||
it1->unk4.unk0[0] = 0;
|
||||
it1->unk4.unk0[1] = 0;
|
||||
@@ -84,16 +84,17 @@ void sub_8003600(void) {
|
||||
it1->unk10 = &sub_8003A74;
|
||||
}
|
||||
|
||||
*r6 = 1;
|
||||
*r6 = TRUE;
|
||||
}
|
||||
|
||||
void sub_8003664(s32 param_1, s16 param_2) {
|
||||
void sub_8003664(s32 param_1, s16 param_2)
|
||||
{
|
||||
u16 idx;
|
||||
unkStruct_3000C00 *ptr;
|
||||
idx = param_1;
|
||||
ptr = &gUnknown_3000C00[idx];
|
||||
|
||||
ptr->unk0 = 1;
|
||||
ptr->unk0 = TRUE;
|
||||
ptr->unk2 = param_2;
|
||||
ptr->unk4.unk0[0] = 0;
|
||||
ptr->unk4.unk0[1] = 0;
|
||||
@@ -103,39 +104,41 @@ void sub_8003664(s32 param_1, s16 param_2) {
|
||||
ptr->unkC = &sub_8003AC0;
|
||||
ptr->unk10 = &sub_8003B50;
|
||||
|
||||
gUnknown_3001B58 = 1;
|
||||
gUnknown_3001B58 = TRUE;
|
||||
}
|
||||
|
||||
void sub_80036AC(s32 param_1, s16 param_2, unkStruct_3000C00_sub param_3) {
|
||||
void sub_80036AC(s32 param_1, s16 param_2, unkStruct_3000C00_sub param_3)
|
||||
{
|
||||
u16 idx;
|
||||
unkStruct_3000C00 *ptr;
|
||||
idx = param_1;
|
||||
ptr = &gUnknown_3000C00[idx];
|
||||
|
||||
ptr->unk0 = 1;
|
||||
ptr->unk0 = TRUE;
|
||||
ptr->unk2 = param_2;
|
||||
ptr->unk4 = param_3;
|
||||
ptr->unk8 = 0;
|
||||
ptr->unkC = &sub_8003C18;
|
||||
ptr->unk10 = &sub_8003D00;
|
||||
|
||||
gUnknown_3001B58 = 1;
|
||||
gUnknown_3001B58 = TRUE;
|
||||
}
|
||||
|
||||
void sub_80036F4(s32 param_1, s16 param_2, unkStruct_3000C00_sub param_3) {
|
||||
void sub_80036F4(s32 param_1, s16 param_2, unkStruct_3000C00_sub param_3)
|
||||
{
|
||||
u16 idx;
|
||||
unkStruct_3000C00 *ptr;
|
||||
idx = param_1;
|
||||
ptr = &gUnknown_3000C00[idx];
|
||||
|
||||
ptr->unk0 = 1;
|
||||
ptr->unk0 = TRUE;
|
||||
ptr->unk2 = param_2;
|
||||
ptr->unk4 = param_3;
|
||||
ptr->unk8 = 0;
|
||||
ptr->unkC = &sub_8003E2C;
|
||||
ptr->unk10 = &sub_8003EC0;
|
||||
|
||||
gUnknown_3001B58 = 1;
|
||||
gUnknown_3001B58 = TRUE;
|
||||
}
|
||||
|
||||
UNUSED void sub_800373C(s32 param_1, s16 param_2, s32 param_3)
|
||||
@@ -144,8 +147,8 @@ UNUSED void sub_800373C(s32 param_1, s16 param_2, s32 param_3)
|
||||
unkStruct_3000C00 *ptr;
|
||||
idx = param_1;
|
||||
ptr = &gUnknown_3000C00[idx];
|
||||
|
||||
ptr->unk0 = 1;
|
||||
|
||||
ptr->unk0 = TRUE;
|
||||
ptr->unk2 = param_2;
|
||||
ptr->unk4.unk0[0] = 0;
|
||||
ptr->unk4.unk0[1] = 0;
|
||||
@@ -155,39 +158,41 @@ UNUSED void sub_800373C(s32 param_1, s16 param_2, s32 param_3)
|
||||
ptr->unkC = &sub_8003F60;
|
||||
ptr->unk10 = &sub_8004034;
|
||||
|
||||
gUnknown_3001B58 = 1;
|
||||
gUnknown_3001B58 = TRUE;
|
||||
}
|
||||
|
||||
void sub_8003780(s32 param_1, s16 param_2, unkStruct_3000C00_sub param_3) {
|
||||
void sub_8003780(s32 param_1, s16 param_2, unkStruct_3000C00_sub param_3)
|
||||
{
|
||||
u16 idx;
|
||||
unkStruct_3000C00 *ptr;
|
||||
idx = param_1;
|
||||
ptr = &gUnknown_3000C00[idx];
|
||||
|
||||
ptr->unk0 = 1;
|
||||
ptr->unk0 = TRUE;
|
||||
ptr->unk2 = param_2;
|
||||
ptr->unk4 = param_3;
|
||||
ptr->unk8 = 0;
|
||||
ptr->unkC = &sub_8004170;
|
||||
ptr->unk10 = &sub_8004264;
|
||||
|
||||
gUnknown_3001B58 = 1;
|
||||
gUnknown_3001B58 = TRUE;
|
||||
}
|
||||
|
||||
void sub_80037C8(s32 param_1, s16 param_2, unkStruct_3000C00_sub param_3) {
|
||||
void sub_80037C8(s32 param_1, s16 param_2, unkStruct_3000C00_sub param_3)
|
||||
{
|
||||
u16 idx;
|
||||
unkStruct_3000C00 *ptr;
|
||||
idx = param_1;
|
||||
ptr = &gUnknown_3000C00[idx];
|
||||
|
||||
ptr->unk0 = 1;
|
||||
ptr->unk0 = TRUE;
|
||||
ptr->unk2 = param_2;
|
||||
ptr->unk4 = param_3;
|
||||
ptr->unk8 = 0;
|
||||
ptr->unkC = &sub_8004388;
|
||||
ptr->unk10 = &sub_8004434;
|
||||
|
||||
gUnknown_3001B58 = 1;
|
||||
gUnknown_3001B58 = TRUE;
|
||||
}
|
||||
|
||||
void sub_8003810(u32 param_1, struct S param_2)
|
||||
@@ -195,11 +200,11 @@ void sub_8003810(u32 param_1, struct S param_2)
|
||||
u16 idx;
|
||||
unkStruct_3000C00 *a;
|
||||
idx = (u16) param_1;
|
||||
a = &gUnknown_3000C00[idx >> 4];
|
||||
a->unk0 = 1;
|
||||
a = &gUnknown_3000C00[idx / 16];
|
||||
a->unk0 = TRUE;
|
||||
|
||||
gUnknown_3000400[idx] = param_2;
|
||||
gUnknown_3001B58 = 1;
|
||||
gUnknown_3001B58 = TRUE;
|
||||
}
|
||||
|
||||
UNUSED void sub_8003844(u32 param_1, u32 param_2)
|
||||
@@ -209,11 +214,11 @@ UNUSED void sub_8003844(u32 param_1, u32 param_2)
|
||||
unkStruct_3000C00 *a;
|
||||
idx1 = param_1;
|
||||
idx2 = param_2;
|
||||
a = &gUnknown_3000C00[idx1 >> 4];
|
||||
a->unk0 = 1;
|
||||
a = &gUnknown_3000C00[idx1 / 16];
|
||||
a->unk0 = TRUE;
|
||||
|
||||
gUnknown_3000400[idx1] = sub_80027A0(idx2);
|
||||
gUnknown_3001B58 = 1;
|
||||
gUnknown_3001B58 = TRUE;
|
||||
}
|
||||
|
||||
void sub_800388C(u32 param_1, struct S *param_2, s32 param_3)
|
||||
@@ -247,10 +252,10 @@ void sub_800388C(u32 param_1, struct S *param_2, s32 param_3)
|
||||
|
||||
for (i = idx2; i <= sVar2; i++, ptr3++)
|
||||
{
|
||||
ptr3->unk0 = 1;
|
||||
ptr3->unk0 = TRUE;
|
||||
}
|
||||
|
||||
gUnknown_3001B58 = 1;
|
||||
gUnknown_3001B58 = TRUE;
|
||||
}
|
||||
|
||||
UNUSED void sub_80038F0(u32 param_1, s16 *param_2, s32 param_3)
|
||||
@@ -277,10 +282,10 @@ UNUSED void sub_80038F0(u32 param_1, s16 *param_2, s32 param_3)
|
||||
|
||||
for (i = idx2; i <= uVar; i++, ptr2++)
|
||||
{
|
||||
ptr2->unk0 = 1;
|
||||
ptr2->unk0 = TRUE;
|
||||
}
|
||||
|
||||
gUnknown_3001B58 = 1;
|
||||
gUnknown_3001B58 = TRUE;
|
||||
}
|
||||
|
||||
UNUSED struct S_sub sub_8003978(u32 param_1)
|
||||
@@ -290,7 +295,8 @@ UNUSED struct S_sub sub_8003978(u32 param_1)
|
||||
return gUnknown_3000400[idx].x0;
|
||||
}
|
||||
|
||||
UNUSED u16 sub_8003988(u32 param_1) {
|
||||
UNUSED u16 sub_8003988(u32 param_1)
|
||||
{
|
||||
u16 idx;
|
||||
idx = param_1;
|
||||
return sub_8002774(gUnknown_3000400[idx].x0);
|
||||
@@ -303,17 +309,18 @@ UNUSED void sub_80039A4(u32 param_1)
|
||||
gUnknown_3001B5A |= idx;
|
||||
}
|
||||
|
||||
void sub_80039B8(void) {
|
||||
void sub_80039B8(void)
|
||||
{
|
||||
s32 i;
|
||||
unkStruct_3000C00* ptr1;
|
||||
unkStruct_3000C00* ptr2;
|
||||
|
||||
|
||||
if (gUnknown_3001B58)
|
||||
{
|
||||
ptr1 = gUnknown_3000C00;
|
||||
if (gUnknown_3000C00[0xf].unk0)
|
||||
{
|
||||
gUnknown_3000C00[0x20].unk0 = 1;
|
||||
gUnknown_3000C00[0x20].unk0 = TRUE;
|
||||
}
|
||||
|
||||
for (i = 0; i < 0x20; i++, ptr1++)
|
||||
@@ -321,7 +328,7 @@ void sub_80039B8(void) {
|
||||
if (ptr1->unk0)
|
||||
{
|
||||
ptr1->unk10((u16) i);
|
||||
ptr1->unk0 = 0;
|
||||
ptr1->unk0 = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -330,51 +337,53 @@ void sub_80039B8(void) {
|
||||
ptr2 = &gUnknown_3000C00[0x20];
|
||||
// here ptr2 == ptr1
|
||||
ptr1->unkC(0x20, 0xf0);
|
||||
ptr2->unk0 = 0;
|
||||
ptr2->unk0 = FALSE;
|
||||
}
|
||||
|
||||
gUnknown_3001B5A = 3;
|
||||
gUnknown_3001B58 = 0;
|
||||
gUnknown_3001B58 = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8003A34(u32 param_1, u32 param_2) {
|
||||
void sub_8003A34(u32 param_1, u32 param_2)
|
||||
{
|
||||
u16 idx;
|
||||
struct S *ptr1;
|
||||
u32 uVar1;
|
||||
u32 uVar2;
|
||||
u32 uVar3;
|
||||
u32 blue;
|
||||
u32 green;
|
||||
u32 red;
|
||||
u16 color;
|
||||
|
||||
idx = param_2;
|
||||
ptr1 = &gUnknown_3000400[idx];
|
||||
uVar1 = (ptr1->x0.x0[2] & 0xf8) << 7;
|
||||
uVar2 = (ptr1->x0.x0[1] & 0xf8) << 2;
|
||||
uVar1 |= uVar2;
|
||||
uVar3 = (ptr1->x0.x0[0] & 0xf8) >> 3;
|
||||
color = uVar3 | uVar1;
|
||||
blue = (ptr1->x0.x0[2] & 0xf8) << 7;
|
||||
green = (ptr1->x0.x0[1] & 0xf8) << 2;
|
||||
blue |= green;
|
||||
red = (ptr1->x0.x0[0] & 0xf8) >> 3;
|
||||
color = red | blue;
|
||||
SetBGPaletteBufferColor(idx, &color);
|
||||
}
|
||||
|
||||
void sub_8003A74(u32 param_1) {
|
||||
void sub_8003A74(u32 param_1)
|
||||
{
|
||||
u16 idx;
|
||||
struct S *ptr1;
|
||||
u32 uVar1;
|
||||
u32 uVar2;
|
||||
u32 uVar3;
|
||||
u32 red;
|
||||
u32 green;
|
||||
u32 blue;
|
||||
s32 i;
|
||||
u16 color;
|
||||
|
||||
idx = param_1 << 4;
|
||||
idx = param_1 * 16;
|
||||
ptr1 = &gUnknown_3000400[idx];
|
||||
|
||||
for (i = 0; i <= 0xf; ptr1++, i++)
|
||||
for (i = 0; i < 16; ptr1++, i++)
|
||||
{
|
||||
uVar1 = (ptr1->x0.x0[2] & 0xf8) << 7;
|
||||
uVar2 = (ptr1->x0.x0[1] & 0xf8) << 2;
|
||||
uVar1 |= uVar2;
|
||||
uVar3 = (ptr1->x0.x0[0] & 0xf8) >> 3;
|
||||
color = uVar3 | uVar1;
|
||||
blue = (ptr1->x0.x0[2] & 0xf8) << 7;
|
||||
green = (ptr1->x0.x0[1] & 0xf8) << 2;
|
||||
blue |= green;
|
||||
red = (ptr1->x0.x0[0] & 0xf8) >> 3;
|
||||
color = red | blue;
|
||||
SetBGPaletteBufferColor(idx + i, &color);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user