mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
house cleaning, more OKs more decomp
This commit is contained in:
+29
-1
@@ -58,6 +58,11 @@ typedef struct {
|
||||
|
||||
/* z_map_disp */
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ UNK_TYPE1 unk0[8];
|
||||
/* 0x08 */ s32 unk8; // G_IM_SIZ
|
||||
} T_801BEAE0;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 unk0;
|
||||
/* 0x00 */ s16 unk2;
|
||||
@@ -91,7 +96,8 @@ typedef struct {
|
||||
/* 0x42 */ s16 unk42;
|
||||
/* 0x44 */ s16 unk44;
|
||||
/* 0x48 */ s16* unk48;
|
||||
/* 0x4C */ char unk4C[0x0C];
|
||||
/* 0x4C */ s16 unk4C;
|
||||
/* 0x4E */ char unk4E[0x0A];
|
||||
/* 0x58 */ s16 unk58;
|
||||
} T_801BEBB8;
|
||||
|
||||
@@ -111,9 +117,31 @@ typedef struct{
|
||||
/* 0x0E */ u16 unkE;
|
||||
} T_801F53B0;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 unk0[5];
|
||||
} T_801BEC70;
|
||||
|
||||
typedef struct {
|
||||
s16 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
} T_801BED24; // size 0x0C
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ s32 unk0;
|
||||
/* 0x004 */ s32 unk4[32];
|
||||
/* 0x084 */ s32 unk84[32];
|
||||
/* 0x104 */ s32 unk104[32];
|
||||
/* 0x184 */ s32 unk184;
|
||||
} T_801F56B0;
|
||||
|
||||
/* z_map_data */
|
||||
s32 func_80109CBC(s32);
|
||||
s32 func_80109A98(s32);
|
||||
s32 func_801096D4(s32 arg0);
|
||||
void func_8010983C(s32 arg0, s32 *arg1);
|
||||
void func_801097C8(s32 arg0, s32* arg1, s32* arg2);
|
||||
void func_80109754(s32 arg0, s32 *arg1, s32 *arg2);
|
||||
|
||||
void func_80178E3C(u8*, s32, s32, s32);
|
||||
#endif
|
||||
|
||||
+152
-45
@@ -19,35 +19,40 @@ s16 func_80106D08(s16);
|
||||
void func_80109D40(s32, s32*, s32*, void*);
|
||||
void func_80109DD8(s32, s32*, s32*);
|
||||
|
||||
extern T_801BEBB8 D_801BEBB8;
|
||||
extern s32 D_801BEC1C; //current scene's no. of rooms
|
||||
extern T_801BEC5C D_801BEC5C[5];
|
||||
extern TexturePtr D_801BEB38;
|
||||
extern T_801BEAE0 D_801BEAE0;
|
||||
extern s32 D_801BEAD8; // G_IM_SIZ
|
||||
extern u32 D_801BEAF8;
|
||||
extern s32 D_801BEB08;
|
||||
extern u32 D_801BEB18;
|
||||
extern u32 D_801BEB28;
|
||||
extern TexturePtr D_801BEB38;
|
||||
extern T_801BEBB8 D_801BEBB8;
|
||||
extern s16 D_801BEC10;
|
||||
extern MinimapList D_801BEC14; //D_801F5130
|
||||
extern s32 D_801BEC1C; //current scene's no. of rooms
|
||||
extern u8 D_801BEC24;
|
||||
extern Color_RGBA8 D_801BEC2C[]; // cat colors
|
||||
extern T_801BEC5C D_801BEC5C[5];
|
||||
extern T_801BEC70 D_801BEC70;
|
||||
extern u16 D_801BEC84[0x10]; //palette 0
|
||||
extern u16 D_801BECA4[0x10]; //palette 1
|
||||
extern u16 D_801BECC4[0x10]; //palette 2
|
||||
extern T_801BED24 D_801BED24[2];
|
||||
|
||||
extern MinimapList D_801BEC14;
|
||||
extern MinimapEntry D_801F5130[0x50];
|
||||
extern T_801F53B0 D_801F53B0[];
|
||||
extern T_801F56B0 D_801F56B0;
|
||||
extern TexturePtr D_801F57B4[32]; //unconfirmed length
|
||||
extern s32 D_801F5834;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ UNK_TYPE1 unk0[8];
|
||||
/* 0x08 */ s32 unk8; // G_IM_SIZ
|
||||
} T_801BEAE0;
|
||||
extern TexturePtr D_02003F20;
|
||||
extern Gfx D_0401ED00[];
|
||||
|
||||
extern Gfx D_0401ED00[];
|
||||
extern T_801BEAE0 D_801BEAE0;
|
||||
|
||||
extern u32 D_801BEAF8;
|
||||
extern s32 D_801BEB08;
|
||||
extern u32 D_801BEB18;
|
||||
extern u32 D_801BEB28;
|
||||
extern s32 D_801BEAD8; // G_IM_SIZ
|
||||
extern Color_RGBA8 D_801BEC2C[]; // cat colors
|
||||
|
||||
extern u8 D_801BEC24;
|
||||
extern T_801F53B0 D_801F53B0[];
|
||||
|
||||
extern TexturePtr D_02003F20;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80102E40.s")
|
||||
void func_80102E40(s32 arg0, s32 arg1) {
|
||||
if (func_80109A98(arg1) != 0) {
|
||||
func_80178E3C(_map_i_staticSegmentRomStart, arg1, arg0, func_80109A98(arg1));
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80102E90.s")
|
||||
|
||||
@@ -480,9 +485,18 @@ void func_80104F34(PlayState* play) {
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80105294.s")
|
||||
s32 func_80105294(void) {
|
||||
T_801BEC70 sp4 = D_801BEC70;
|
||||
|
||||
if ((D_801BEBB8.unk0 == NULL) || (D_801BEBB8.unk58 < 0) || (D_801BEBB8.unk58 >= 5) || (D_801BEC1C == 0)) {
|
||||
return 0x7B;
|
||||
}
|
||||
return sp4.unk0[D_801BEBB8.unk58];
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80105318.s")
|
||||
s16 func_80105318(void) {
|
||||
return D_801BEC10;
|
||||
}
|
||||
|
||||
s32 func_80105328(s32 arg0) {
|
||||
if (((((u16)arg0) >> 7) & 7) == 5) {
|
||||
@@ -652,24 +666,112 @@ void func_80106644(PlayState *play, s32 x, s32 z, s32 rot) {
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80106644.s")
|
||||
#endif
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_8010683C.s")
|
||||
void func_8010683C(void) {
|
||||
s32 i;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801068B4.s")
|
||||
D_801F56B0.unk0 = 0;
|
||||
for (i = 0; i < 32; i++)
|
||||
{
|
||||
D_801F56B0.unk4[i] = 0;
|
||||
D_801F56B0.unk84[i] = 0;
|
||||
D_801F56B0.unk104[i] = 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801068D8.s")
|
||||
D_801F56B0.unk184 = 0;
|
||||
D_801BEBB8.unk20 &= ~1;
|
||||
}
|
||||
|
||||
void func_801068B4(s32 arg0) {
|
||||
func_8010683C();
|
||||
}
|
||||
|
||||
void func_801068D8(s32 arg0) {
|
||||
func_8010683C();
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
s32 func_801068FC(s32 arg0, s32 arg1) {
|
||||
s32 sp3C;
|
||||
s32 temp_s2;
|
||||
s32 temp_v0;
|
||||
s32 temp_v0_2;
|
||||
s32 var_s1;
|
||||
s32 var_s1_2;
|
||||
s32 var_s1_3;
|
||||
s32 var_s2;
|
||||
s32 var_s3;
|
||||
s32 var_s4;
|
||||
u16 temp_a0;
|
||||
u16 temp_a0_2;
|
||||
|
||||
sp3C = arg1;
|
||||
if ((D_801BEBB8.unk0 == NULL) || (D_801BEC1C == 0)) {
|
||||
return sp3C;
|
||||
}
|
||||
D_801F56B0.unk0 = 0;
|
||||
|
||||
for (var_s4 = 0; var_s4 < D_801BEC1C; var_s4++) {
|
||||
var_s2 = 0;
|
||||
temp_a0 = D_801BEBB8.unk0->entry[var_s4].unk0;
|
||||
if (temp_a0 == 0xFFFF) {
|
||||
continue;
|
||||
} else {
|
||||
temp_v0 = func_80109BA0((s32) temp_a0);
|
||||
if (temp_v0 == -1) {
|
||||
continue;
|
||||
} else {
|
||||
for (var_s1 = 0; var_s1 < D_801F56B0.unk0; var_s1++) {
|
||||
if (temp_v0 == D_801F56B0.unk4[var_s1]) {
|
||||
var_s2 = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_s2 == 0) {
|
||||
D_801F56B0.unk4[D_801F56B0.unk0] = temp_v0;
|
||||
D_801F56B0.unk0 += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (var_s1_2 = 0; var_s1_2 < D_801F56B0.unk0; var_s1_2++) {
|
||||
temp_s2 = D_801F56B0.unk4[var_s1_2];
|
||||
func_80102E40(D_801F56B0.unk84[var_s1_2], temp_s2);
|
||||
if (var_s1_2 + 1 < D_801F56B0.unk0) {
|
||||
D_801F56B0.unk84[var_s1_2 + 1] = (func_80109CBC(temp_s2) + D_801F56B0.unk84[var_s1_2] + 0xF) & ~0xF;
|
||||
} else {
|
||||
sp3C = func_80109CBC(temp_s2) + D_801F56B0.unk84[var_s1_2];
|
||||
}
|
||||
}
|
||||
for (var_s4 = 0; var_s4 < D_801BEC1C; var_s4++) {
|
||||
var_s3 = 0;
|
||||
temp_a0_2 = D_801BEBB8.unk0->entry[var_s4].unk0;
|
||||
if (temp_a0_2 == 0xFFFF) {
|
||||
D_801F56B0.unk104[var_s4] = 0;
|
||||
} else {
|
||||
temp_v0_2 = func_80109BA0((s32) temp_a0_2);
|
||||
for (var_s1_3 = 0; var_s1_3 < D_801F56B0.unk0; var_s1_3++) {
|
||||
if (temp_v0_2 == D_801F56B0.unk4[var_s1_3]) {
|
||||
var_s3 = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_s3 == 0) {
|
||||
D_801F56B0.unk104[var_s4] = 0;
|
||||
} else {
|
||||
D_801F56B0.unk104[var_s4] = D_801F56B0.unk84[var_s1_3];
|
||||
}
|
||||
}
|
||||
}
|
||||
return sp3C;
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801068FC.s")
|
||||
#endif
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80106BEC.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80106D08.s")
|
||||
|
||||
extern u16 D_801BEC84[0x10]; //palette 0
|
||||
extern u16 D_801BECA4[0x10]; //palette 1
|
||||
extern u16 D_801BECC4[0x10]; //palette 2
|
||||
extern TexturePtr D_801F57B4[32]; //unconfirmed length
|
||||
extern s32 D_801F5834;
|
||||
|
||||
#define COLOR16(r, g, b, a) (s16) \
|
||||
( ((s32) (((r) * 31.0f) / 255.0f) << 11) \
|
||||
| ((s32) (((g) * 31.0f) / 255.0f) << 6) \
|
||||
@@ -812,14 +914,6 @@ void func_80106D5C(PlayState* play, s32 arg1, s32 arg2, s32 arg3, s32 arg4, f32
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80109124.s")
|
||||
|
||||
typedef struct {
|
||||
s16 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
} T_801BED24; // size 0x0C
|
||||
|
||||
extern T_801BED24 D_801BED24[2];
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void func_801091F0(PlayState* play) {
|
||||
s32 var_t2;
|
||||
@@ -881,4 +975,17 @@ void func_801091F0(PlayState* play) {
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801091F0.s")
|
||||
#endif
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80109428.s")
|
||||
void func_80109428(s32 arg0) {
|
||||
D_801BEBB8.unk4C++;
|
||||
if (!(D_801BEBB8.unk20 & 1)) {
|
||||
D_801F56B0.unk184++;
|
||||
if (D_801F56B0.unk184 >= 0x29) {
|
||||
D_801BEBB8.unk20 |= 1;
|
||||
}
|
||||
} else {
|
||||
D_801F56B0.unk184--;
|
||||
if (D_801F56B0.unk184 < 0) {
|
||||
D_801BEBB8.unk20 &= ~1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user