Several functions (#18)

* func_800BA760

* func_800BA7BC

* func_800B8F48 & func_800B8F78

* func_800B8FA8

* func_800B8FD8

* func_800B9120

* func_800B9150

* func_800B9298

* func_800B92F8

* func_800B9328 & func_800B9358

* func_800B94A0

* func_800B9730

* func_800BA808

* fix func_8002E4F8 args

* func_800B9388
This commit is contained in:
Alejandro Asenjo Nitti 2023-11-11 22:08:26 -03:00 committed by GitHub
parent 6b4015367d
commit a56edcf8e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 219 additions and 23 deletions

View File

@ -31,6 +31,7 @@
"controller.h": "c", "controller.h": "c",
"os_version.h": "c", "os_version.h": "c",
"stdbool.h": "c", "stdbool.h": "c",
"variables.h": "c" "variables.h": "c",
"random": "c"
}, },
} }

View File

@ -140,11 +140,14 @@ void func_800A5D6C(void);
void func_800B8DD0(Gfx**, s16); void func_800B8DD0(Gfx**, s16);
void func_800BA490(void); void func_800BA490(void);
void func_800BA4F0(void); void func_800BA4F0(void);
s32 func_800BA7BC(s32, s32);
void func_800BA808(u16*, s32); void func_800BA808(u16*, s32);
void func_800BB5D0(void); void func_800BB5D0(void);
void func_800BC4B0(void); void func_800BC4B0(void);
void func_800B6F50(f32, f32, f32, f32, f32, f32); void func_800B6F50(f32, f32, f32, f32, f32, f32);
void func_800B9358(void); void func_800B9358(void);
s32 func_800C2890(u16*);
s32 func_800C2F30(s32, s32);
void func_801988E0(void); void func_801988E0(void);

View File

@ -41,7 +41,26 @@ extern OSMesgQueue* D_800C7C64;
extern char D_800C7C80[]; extern char D_800C7C80[];
extern Gfx D_800D31F8[];
extern Gfx D_800D3240[];
extern Gfx D_800D3288[];
extern Gfx D_800D32D0[];
extern Gfx D_800D33A8[];
extern Gfx D_800D33F0[];
extern Gfx D_800D34C8[];
extern Gfx D_800D3510[];
extern Gfx D_800D3558[];
extern Gfx D_800D35A0[];
extern Gfx D_800D3678[];
extern Gfx D_800D3BD0[];
extern Gfx D_800D36C0[];
extern Gfx D_800D3708[];
extern Gfx D_800D4050[];
extern Gfx D_800D4320[];
extern u16 D_800DD8AA; extern u16 D_800DD8AA;
extern s32 D_800D4A70;
extern u8 gAudioThreadStack[0x1000]; // 800DDAA0 extern u8 gAudioThreadStack[0x1000]; // 800DDAA0
extern OSThread gGraphicsThread; // 800DEAA0 extern OSThread gGraphicsThread; // 800DEAA0
extern u8 gGraphicsThreadStack[0x1000]; // 800DEC50 extern u8 gGraphicsThreadStack[0x1000]; // 800DEC50
@ -109,6 +128,13 @@ extern u16 D_80137E8A;
extern s32 D_80178580; extern s32 D_80178580;
extern s32 *D_80178710; extern s32 *D_80178710;
extern s32 D_80178728;
extern s32 D_8017872C;
extern f32 D_80178730;
extern f32 D_80178734;
extern f32 D_80178738;
extern f32 D_8017873C;
extern f32 D_80178740;
extern s32 D_80387800; extern s32 D_80387800;
extern u16 D_8038F080[]; extern u16 D_8038F080[];
extern u16 D_8038F300[]; extern u16 D_8038F300[];
@ -208,6 +234,7 @@ extern s32 D_80177854;
extern s32 D_80177898; extern s32 D_80177898;
extern s32 D_801778A0; extern s32 D_801778A0;
extern s32 D_801778A8; extern s32 D_801778A8;
extern s32 D_801778B0[];
extern s32 D_801778B8; extern s32 D_801778B8;
extern s32 D_801778E8; extern s32 D_801778E8;
extern f32 D_80177940; extern f32 D_80177940;
@ -218,16 +245,23 @@ extern f32 D_80177988;
extern f32 D_801779A0; extern f32 D_801779A0;
extern f32 D_801779B8; extern f32 D_801779B8;
extern f32 D_801779C0; extern f32 D_801779C0;
extern s32 D_801779F8;
extern s32 D_80177AE0; extern s32 D_80177AE0;
extern s32 D_80177AF8; extern s32 D_80177AF8;
extern u8 D_80177C98; extern u8 D_80177C98;
extern f32 D_80177D08; extern f32 D_80177D08;
extern f32 D_80177D20; extern f32 D_80177D20;
extern f32 D_80177D50;
extern f32 D_80177D68; extern f32 D_80177D68;
extern s32 D_80177DA0[]; extern s32 D_80177DA0[];
extern s32 D_80177DB0; extern s32 D_80177DB0;
extern s32 D_80178234;
extern s32 D_8017829C; extern s32 D_8017829C;
extern s32 D_801782A4; extern s32 D_801782A4;
extern s32 D_801782D8;
extern s32 D_801782E8;
extern s32 D_801782F8;
extern u16* D_80178308;
extern s32 D_80178320; extern s32 D_80178320;
extern s32 D_80178328; extern s32 D_80178328;
extern s32 D_80178330; extern s32 D_80178330;

View File

@ -1,8 +1,15 @@
#include "common.h" #include "global.h"
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_2EFE0/func_8002E3E0.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_2EFE0/func_8002E3E0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_2EFE0/func_8002E4F8.s") s32 func_8002E4F8(u16* arg0, s32 arg1) {
if ((D_8017829C == 0) && (D_80178280->unk_1C8 != 0)) {
func_800BA808(arg0, arg1);
return 1;
} else {
return 0;
}
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_2EFE0/func_8002E548.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_2EFE0/func_8002E548.s")

View File

@ -10,43 +10,75 @@ void func_800B8F18(void) {
gSPDisplayList(gMasterDisp++, D_800D31B0); gSPDisplayList(gMasterDisp++, D_800D31B0);
} }
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B8F48.s") void func_800B8F48(void) {
gSPDisplayList(gMasterDisp++, D_800D31F8);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B8F78.s") void func_800B8F78(void) {
gSPDisplayList(gMasterDisp++, D_800D34C8);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B8FA8.s") void func_800B8FA8(void) {
gSPDisplayList(gMasterDisp++, D_800D3510);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B8FD8.s") void func_800B8FD8(void) {
gSPDisplayList(gMasterDisp++, D_800D3240);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9008.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9008.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9120.s") void func_800B9120(void) {
gSPDisplayList(gMasterDisp++, D_800D32D0);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9150.s") void func_800B9150(void) {
gSPDisplayList(gMasterDisp++, D_800D33A8);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9180.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9180.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9298.s") void func_800B9298(void) {
gSPDisplayList(gMasterDisp++, D_800D33F0);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B92C8.s") void func_800B92C8(void) {
gSPDisplayList(gMasterDisp++, D_800D3558);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B92F8.s") void func_800B92F8(void) {
gSPDisplayList(gMasterDisp++, D_800D35A0);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9328.s") void func_800B9328(void) {
gSPDisplayList(gMasterDisp++, D_800D3678);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9358.s") void func_800B9358(void) {
gSPDisplayList(gMasterDisp++, D_800D3BD0);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9388.s") void func_800B9388(s32 r, s32 g, s32 b, s32 a, s32 nr, s32 fr) {
gSPDisplayList(gMasterDisp++, D_800D4050);
gDPSetFogColor(gMasterDisp++, r, g, b, a);
gSPFogFactor(gMasterDisp++, (0x1F400 / (fr - nr)), (((0x1F4 - nr) * 256) / (fr - nr)));
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B94A0.s") void func_800B94A0(void) {
gSPDisplayList(gMasterDisp++, D_800D4320);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B94D0.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B94D0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B95E8.s") void func_800B95E8(void) {
gSPDisplayList(gMasterDisp++, D_800D36C0);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9618.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9618.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9730.s") void func_800B9730(void) {
gSPDisplayList(gMasterDisp++, D_800D3708);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9760.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_B99D0/func_800B9760.s")

View File

@ -1,10 +1,129 @@
#include "common.h" #include "global.h"
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_BB360/func_800BA760.s") void func_800BA760(void) {
func_800B9358();
if (D_80177D50 == 1.3f) {
D_801782F8 = func_800C2F30(D_80178308, D_801782D8);
}
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_BB360/func_800BA7BC.s") s32 func_800BA7BC(s32 arg0, s32 arg1) {
s32 var_v0 = D_800D4A70;
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_BB360/func_800BA808.s") if (arg1 == var_v0) {
return 0;
}
if (arg1 < var_v0) {
return 1;
}
if (var_v0 < arg1) {
D_800D4A70 = arg1;
return 2;
}
}
void func_800BA808(u16* arg0, s32 arg1) {
s32 var_v1;
s32 temp_v0;
s32 var_a1;
switch (*arg0) {
default:
case 0x08:
var_a1 = 0;
break;
case 0x09:
var_a1 = 1;
break;
case 0x0a:
var_a1 = 2;
break;
case 0x0b:
var_a1 = 3;
break;
}
if (D_80177834 == 7) {
if ((arg1 == 10) || (arg1 == 20) || (arg1 == 30)) {
if (arg1 == 10) {
var_v1 = 1;
}
if (arg1 == 20) {
var_v1 = 2;
}
if (arg1 == 30) {
var_v1 = 3;
}
if ((D_801778B0[var_v1] <= 0) && (D_801778B0[var_v1] != -2)) {
return;
}
}
}
if (D_8017829C != 0) {
temp_v0 = func_800BA7BC(arg0, var_a1);
if (temp_v0 == 1) {
return;
}
}
D_800D4A70 = var_a1;
D_80177D68 = arg1;
if ((D_801779F8 != 0) && ((arg1 == 0) || (arg1 == 5))) {
D_80177D68 = 400;
}
if (D_80178234 == 19) {
switch (arg1) {
case 200:
D_80177D68 = 240;
break;
case 210:
D_80177D68 = 250;
break;
case 220:
D_80177D68 = 260;
break;
case 230:
D_80177D68 = 270;
break;
}
}
D_80178308 = arg0;
D_8017829C = 100;
switch (D_80177834) {
case 2:
case 8:
D_8017872C = 176;
D_80178728 = 85;
D_80178730 = 80.0f;
D_80178734 = 174.0f;
D_80178738 = 4.63f;
D_8017873C = 32.0f;
D_80178740 = 174.0f;
break;
case 7:
D_8017872C = 180;
D_80178728 = 79;
D_80178730 = 74.0f;
D_80178734 = 178.0f;
D_80178738 = 4.53f;
D_8017873C = 26.0f;
D_80178740 = 178.0f;
break;
}
D_801782E8 = func_800C2890(arg0);
func_8001ACDC(D_801782E8);
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_BB360/func_800BAAE8.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_BB360/func_800BAAE8.s")

View File

@ -1,4 +1,4 @@
#include "common.h" #include "global.h"
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_C3430/func_800C2830.s") #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_C3430/func_800C2830.s")