mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
z_map_data OK
This commit is contained in:
+15
-5
@@ -13,7 +13,7 @@ typedef struct {
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x0A */ s16 unkA;
|
||||
} T_D_801BED4C; // size 0x0C?
|
||||
} T_801BED4C; // size 0x0C?
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 unk0;
|
||||
@@ -23,7 +23,17 @@ typedef struct {
|
||||
/* 0x06 */ u8 unk6;
|
||||
/* 0x07 */ u8 unk7;
|
||||
/* 0x08 */ s16 unk8;
|
||||
} T_D_801BED88; // size 0x0A
|
||||
} T_801BED88; // size 0x0A
|
||||
|
||||
typedef struct {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
u8 unk6;
|
||||
u8 unk7;
|
||||
s16 unk8;
|
||||
} T_801BF170; // size 0x0A, ident to T_801BED88
|
||||
|
||||
/* z_map_disp */
|
||||
|
||||
@@ -32,7 +42,7 @@ typedef struct {
|
||||
/* 0x00 */ s16 unk2;
|
||||
/* 0x00 */ s16 unk4;
|
||||
/* 0x00 */ s16 unk6;
|
||||
} T_D_801BEBB8_unk48;
|
||||
} T_801BEBB8_unk48;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ MinimapList* unk0; //unk0 -> sub1 -> s16[5]
|
||||
@@ -59,7 +69,7 @@ typedef struct {
|
||||
/* 0x42 */ char unk42[2];
|
||||
/* 0x44 */ s16 unk44;
|
||||
/* 0x48 */ s16* unk48;
|
||||
} T_D_801BEBB8;
|
||||
} T_801BEBB8;
|
||||
|
||||
typedef struct{
|
||||
/* 0x00 */ u16 unk0;
|
||||
@@ -72,7 +82,7 @@ typedef struct{
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 unk0; //scene
|
||||
/* 0x02 */ s16 unk2;
|
||||
} T_D_801BEC5C;
|
||||
} T_801BEC5C;
|
||||
|
||||
/* z_map_data */
|
||||
s32 func_801096D4(s32 arg0);
|
||||
|
||||
+218
-26
@@ -1,15 +1,24 @@
|
||||
#include "global.h"
|
||||
#include "z64map.h"
|
||||
|
||||
extern T_D_801BED4C D_801BED4C[];
|
||||
extern T_D_801BED88 D_801BED88[];
|
||||
extern T_801BED4C D_801BED4C[];
|
||||
extern T_801BED88 D_801BED88[];
|
||||
extern s32 D_801BF15C[5];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801094A0.s")
|
||||
// extern ? D_801BED40;
|
||||
extern T_801BF170 D_801BF170[];
|
||||
|
||||
// void func_801094A0(s32 arg0, ?* arg1) {
|
||||
// *arg1 = (unaligned s32) *((arg0 * 4) + &D_801BED40);
|
||||
// }
|
||||
typedef struct {
|
||||
char unk0[4];
|
||||
} T_801BED40; //size 0x04
|
||||
|
||||
extern T_801BED40 D_801BED40[];
|
||||
|
||||
extern s32 D_801BF3B4[];
|
||||
extern s32 D_801BEFC8[];
|
||||
|
||||
void func_801094A0(s32 arg0, T_801BED40* arg1) {
|
||||
*arg1 = D_801BED40[arg0];
|
||||
}
|
||||
|
||||
void func_801094C8(s32 arg0, s32 *arg1, s32 *arg2) {
|
||||
*arg1 = D_801BED4C[arg0].unk4;
|
||||
@@ -153,40 +162,223 @@ u8 func_80109908(s32 arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109964.s")
|
||||
s32 func_80109964(s32 arg0) {
|
||||
return D_801BF15C[arg0];
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_8010997C.s")
|
||||
void func_8010997C(s32 arg0, s32* arg1, s32* arg2) {
|
||||
*arg1 = D_801BF170[arg0].unk0;
|
||||
*arg2 = D_801BF170[arg0].unk1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801099AC.s")
|
||||
void func_801099AC(s32 arg0, s32* arg1, s32* arg2) {
|
||||
*arg1 = D_801BF170[arg0].unk2;
|
||||
*arg2 = D_801BF170[arg0].unk4;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801099DC.s")
|
||||
void func_801099DC(s32 arg0, s32* arg1) {
|
||||
*arg1 = D_801BF170[arg0].unk6;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109A00.s")
|
||||
u8 func_80109A00(s32 arg0) {
|
||||
return D_801BF170[arg0].unk7;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109A20.s")
|
||||
s16 func_80109A20(s32 arg0) {
|
||||
return D_801BF170[arg0].unk8;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109A40.s")
|
||||
s32 func_80109A98(s32); /* extern */
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109A98.s")
|
||||
s32 func_80109A40(s32 arg0) {
|
||||
s32 temp_s2;
|
||||
s32 var_s0;
|
||||
s32 var_s1;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109AD8.s")
|
||||
var_s1 = 0;
|
||||
for (var_s0 = 1; var_s0 < arg0+1; var_s0++)
|
||||
{
|
||||
var_s1 += func_80109A98(var_s0 - 1);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109B38.s")
|
||||
return var_s1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109BA0.s")
|
||||
s32 func_80109A98(s32 arg0) {
|
||||
return (D_801BF170[arg0].unk0 * D_801BF170[arg0].unk1) / 2;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109BF4.s")
|
||||
s32 func_80109AD8(s32 arg0) {
|
||||
switch (func_80109714(arg0)) {
|
||||
case 0:
|
||||
return D_801BF3B4[arg0];
|
||||
case 1:
|
||||
return D_801BEFC8[arg0];
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109C38.s")
|
||||
s32 func_80109B38(s32 arg0) {
|
||||
if (func_80109AD8(arg0) != 0x3A) {
|
||||
return 1;
|
||||
}
|
||||
switch (func_80109714(arg0)) {
|
||||
case 0:
|
||||
return 2;
|
||||
case 1:
|
||||
return 0;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109CBC.s")
|
||||
s32 func_80109BA0(s32 arg0) {
|
||||
s32 temp_v0 = func_80109AD8(arg0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109D40.s")
|
||||
if (temp_v0 != 0x3A) {
|
||||
return temp_v0;
|
||||
}
|
||||
if ((arg0 >= 0x100) && (arg0 < 0x162)) {
|
||||
return arg0 - 0xC6;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109DD8.s")
|
||||
s32 func_80109BF4(s32 arg0) {
|
||||
if (arg0 == -1) {
|
||||
return 2;
|
||||
}
|
||||
if (arg0 < 0x3A) {
|
||||
return 1;
|
||||
}
|
||||
if (arg0 >= 0x3A) {
|
||||
return 0;
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109E70.s")
|
||||
s32 func_80109C38(s32 arg0) {
|
||||
if (arg0 == -1) {
|
||||
return 0;
|
||||
}
|
||||
switch (func_80109BF4(arg0)) {
|
||||
case 0:
|
||||
return func_80109670(arg0 + 0xC6);
|
||||
case 1:
|
||||
return func_80109A40(arg0);
|
||||
case 2:
|
||||
return 0;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109EF8.s")
|
||||
s32 func_80109CBC(s32 arg0) {
|
||||
if (arg0 == -1) {
|
||||
return 0;
|
||||
}
|
||||
switch (func_80109BF4(arg0)) {
|
||||
case 0:
|
||||
return func_801096D4(arg0 + 0xC6);
|
||||
case 1:
|
||||
return func_80109A98(arg0);
|
||||
case 2:
|
||||
return 0;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109F78.s")
|
||||
void func_80109D40(s32 arg0, s32* arg1, s32* arg2) {
|
||||
if (arg0 == -1) {
|
||||
*arg2 = 0;
|
||||
*arg1 = 0;
|
||||
return;
|
||||
}
|
||||
switch (func_80109BF4(arg0)) {
|
||||
case 0:
|
||||
func_801095AC(arg0 + 0xC6, arg1, arg2);
|
||||
return;
|
||||
case 1:
|
||||
func_8010997C(arg0, arg1, arg2);
|
||||
return;
|
||||
default:
|
||||
case 2:
|
||||
*arg2 = 0;
|
||||
*arg1 = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80109DD8(s32 arg0, s32* arg1, s32* arg2) {
|
||||
s32 temp_v0;
|
||||
|
||||
if (arg0 == -1) {
|
||||
*arg2 = 0;
|
||||
*arg1 = 0;
|
||||
return;
|
||||
}
|
||||
switch (func_80109BF4(arg0)) {
|
||||
case 0:
|
||||
func_801095DC(arg0 + 0xC6, arg1, arg2);
|
||||
return;
|
||||
case 1:
|
||||
func_801099AC(arg0, arg1, arg2);
|
||||
return;
|
||||
default:
|
||||
case 2:
|
||||
*arg2 = 0;
|
||||
*arg1 = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80109E70(s32 arg0, s32* arg1) {
|
||||
if (arg0 == -1) {
|
||||
*arg1 = 0;
|
||||
return;
|
||||
}
|
||||
switch (func_80109BF4(arg0)) {
|
||||
case 0:
|
||||
func_8010960C(arg0 + 0xC6, arg1);
|
||||
return;
|
||||
case 1:
|
||||
func_801099DC(arg0, arg1);
|
||||
return;
|
||||
case 2:
|
||||
default:
|
||||
*arg1 = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
u8 func_80109EF8(s32 arg0) {
|
||||
if (arg0 == -1) {
|
||||
return 0;
|
||||
}
|
||||
switch (func_80109BF4(arg0)) {
|
||||
case 0:
|
||||
return func_80109630(arg0 + 0xC6);
|
||||
case 1:
|
||||
return func_80109A00(arg0);
|
||||
case 2:
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
s16 func_80109F78(s32 arg0) {
|
||||
if (arg0 == -1) {
|
||||
return 0;
|
||||
}
|
||||
switch (func_80109BF4(arg0)) {
|
||||
case 0:
|
||||
return func_80109650(arg0 + 0xC6);
|
||||
case 1:
|
||||
return func_80109A20(arg0);
|
||||
case 2:
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,9 +13,9 @@ void func_80103A58(PlayState* play, Actor* actor);
|
||||
// s32 func_80106450(PlayState *); /* extern */
|
||||
// s32 func_801064CC(PlayState *); /* extern */
|
||||
// s32 func_8010657C(s32, s32); /* extern */
|
||||
extern T_D_801BEBB8 D_801BEBB8;
|
||||
extern T_801BEBB8 D_801BEBB8;
|
||||
extern s32 D_801BEC1C; //scene rooms
|
||||
extern T_D_801BEC5C D_801BEC5C[5];
|
||||
extern T_801BEC5C D_801BEC5C[5];
|
||||
extern TexturePtr D_801BEB38;
|
||||
|
||||
extern MinimapList D_801BEC14;
|
||||
@@ -39,7 +39,7 @@ void func_80103090(u16* arg0, s32* out1, s32* out2){
|
||||
func_80109754(*arg0, out1, out2);
|
||||
}
|
||||
|
||||
//func_801030B4(u16 *, s32 *, u16 *, T_D_801BEBB8 *);
|
||||
//func_801030B4(u16 *, s32 *, u16 *, T_801BEBB8 *);
|
||||
void func_801030B4(u16 *arg0, s32 *arg1) {
|
||||
func_8010983C(*arg0, arg1);
|
||||
if (*arg1 == 0) {
|
||||
@@ -387,8 +387,8 @@ void func_8010439C(PlayState *play) {
|
||||
|
||||
//#ifdef NON_MATCHING
|
||||
// ? func_80103090(u16*, ?*, ?*); /* extern */
|
||||
// ? func_801030B4(u16*, s32*, GraphicsContext*, T_D_801BEBB8*); /* extern */
|
||||
// ? func_801030F4(f32, f32, u16*, s32*, s32*, T_D_801BEBB8*); /* extern */
|
||||
// ? func_801030B4(u16*, s32*, GraphicsContext*, T_801BEBB8*); /* extern */
|
||||
// ? func_801030F4(f32, f32, u16*, s32*, s32*, T_801BEBB8*); /* extern */
|
||||
// s32 func_80103A10(PlayState*); /* extern */
|
||||
// extern ? D_801BEC2C;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user