labeling pfsManager functions

This commit is contained in:
Banjo Kazooie
2022-12-08 17:17:59 -06:00
parent 143182f44a
commit bbe9f8d384
30 changed files with 281 additions and 281 deletions

View File

@@ -154,7 +154,7 @@ VLA * vector_defrag(VLA *this);
void actor_collisionOff(Actor *); void actor_collisionOff(Actor *);
void *assetcache_get(s32 arg0); void *assetcache_get(enum asset_e assetId);
Actor *actor_new(s32 (*position)[3], s32 yaw, ActorInfo *actorInfo, u32 flags); Actor *actor_new(s32 (*position)[3], s32 yaw, ActorInfo *actorInfo, u32 flags);
Actor *func_802C8A54(s32 position[3], s32 yaw, ActorInfo* actorInfo, u32 flags); Actor *func_802C8A54(s32 position[3], s32 yaw, ActorInfo* actorInfo, u32 flags);
@@ -256,7 +256,7 @@ void particleEmitter_setSpawnInterval(ParticleEmitter *, f32);
int func_8024DC04(f32, f32, f32); int func_8024DC04(f32, f32, f32);
void func_8024E3A8(f32 [3], f32); void func_8024E3A8(f32 [3], f32);
OSMesgQueue *func_8024F344(void); OSMesgQueue *pfsManager_getFrameReplyQ(void);
void ml_vec3f_clear(f32 dst[3]); void ml_vec3f_clear(f32 dst[3]);
void ml_vec3f_roll_rotate_copy(f32[3], f32[3], f32); void ml_vec3f_roll_rotate_copy(f32[3], f32[3], f32);

View File

@@ -165,10 +165,10 @@ void func_8038A750(void){
for(v1 = &D_8038C1F0[0]; v1->unk0 != 0; v1++){ for(v1 = &D_8038C1F0[0]; v1->unk0 != 0; v1++){
v1->unk4 += f20; v1->unk4 += f20;
if(v1->unk3 == 1){ if(v1->unk3 == 1){
func_8033F120(MMM_D_8038C510.unk0, v1->unk0, MMM_func_8038A2F0, v1); BKModel_transformMesh(MMM_D_8038C510.unk0, v1->unk0, MMM_func_8038A2F0, v1);
} }
else if(v1->unk3 == 3){ else if(v1->unk3 == 3){
func_8033F120(MMM_D_8038C510.unk0, v1->unk0, func_8038A58C, v1); BKModel_transformMesh(MMM_D_8038C510.unk0, v1->unk0, func_8038A58C, v1);
} }
} }
} }

View File

@@ -221,11 +221,11 @@ void func_8038AA2C(void) {
for(var_s0 = D_8038C984; var_s0->unk0 != 0; var_s0++){ for(var_s0 = D_8038C984; var_s0->unk0 != 0; var_s0++){
var_s0->unk4 += temp_f20; var_s0->unk4 += temp_f20;
if (var_s0->unk3 == 1) { if (var_s0->unk3 == 1) {
func_8033F120(D_8038D720.unk0, var_s0->unk0, func_8038A37C, (s32)var_s0); BKModel_transformMesh(D_8038D720.unk0, var_s0->unk0, func_8038A37C, (s32)var_s0);
} else if (var_s0->unk3 == 3) { } else if (var_s0->unk3 == 3) {
func_8033F120(D_8038D720.unk0, var_s0->unk0, func_8038A618, (s32)var_s0); BKModel_transformMesh(D_8038D720.unk0, var_s0->unk0, func_8038A618, (s32)var_s0);
} else if (var_s0->unk3 == 5) { } else if (var_s0->unk3 == 5) {
func_8033F120(D_8038D720.unk0, var_s0->unk0, func_8038A7DC, (s32)var_s0); BKModel_transformMesh(D_8038D720.unk0, var_s0->unk0, func_8038A7DC, (s32)var_s0);
} }
} }
} }
@@ -439,7 +439,7 @@ void func_8038B094(void){
if( jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE) if( jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE)
&& !func_803203FC(2) && !func_803203FC(2)
){ ){
func_8033F120(D_8038D720.unk4, 0x3C, func_8038A23C, 0); BKModel_transformMesh(D_8038D720.unk4, 0x3C, func_8038A23C, 0);
D_8038D720.unk8 = 3; D_8038D720.unk8 = 3;
}//L8038B2CC }//L8038B2CC
func_8038AB44(); func_8038AB44();
@@ -491,7 +491,7 @@ void func_8038B2F0(void) {
} }
} else if (D_8038D720.unk8 == 2) { } else if (D_8038D720.unk8 == 2) {
D_8038D720.unkC = (f32) (D_8038D720.unkC + sp24); D_8038D720.unkC = (f32) (D_8038D720.unkC + sp24);
func_8033F120(D_8038D720.unk4, 0x3C, func_8038A220, 0); BKModel_transformMesh(D_8038D720.unk4, 0x3C, func_8038A220, 0);
if (D_8038D720.unkC > 4.0f) { if (D_8038D720.unkC > 4.0f) {
D_8038D720.unk8 = 3; D_8038D720.unk8 = 3;
func_8030E2C4(D_8038D720.unkA); func_8030E2C4(D_8038D720.unkA);

View File

@@ -110,9 +110,9 @@ void func_8023DC0C(void){
func_8025AFB0(); func_8025AFB0();
func_8033EF58(); func_8033EF58();
assetCache_init(); assetCache_init();
func_8024F05C(); pfsManager_init();
func_80250C84(); func_80250C84();
func_8023FB1C(); audioManager_init();
func_8025425C(); func_8025425C();
func_80257424(); func_80257424();
gctransition_reset(); gctransition_reset();

View File

@@ -42,21 +42,21 @@ s32 D_80275D38 = 0;
/* .bss */ /* .bss */
UNK_TYPE(s32) D_802810E0[4][5]; UNK_TYPE(s32) D_802810E0[4][5];
u8 D_80281130; u8 pfsManagerBitPattern;
Struct_core1_10A00_0 D_80281138[4]; Struct_core1_10A00_0 D_80281138[4];
Struct_core1_10A00_0 D_80281218; Struct_core1_10A00_0 D_80281218;
Struct_core1_10A00_1 D_80281250[4]; Struct_core1_10A00_1 D_80281250[4];
OSMesg D_802812B0; OSMesg pfsManagerContPollingMsqBuf;
OSMesg D_802812B4; OSMesg pfsManagerContReplyMsgBuf;
OSContPad D_802812B8[4]; OSContPad pfsManagerContPadData[4];
OSContPad D_802812D0; OSContPad D_802812D0;
OSMesgQueue D_802812D8; OSMesgQueue pfsManagerContPollingMsqQ;
OSMesgQueue D_802812F0; OSMesgQueue pfsManagerContReplyMsgQ;
f32 D_80281308[4]; f32 D_80281308[4];
OSContStatus D_80281318; OSContStatus pfsManagerContStatus;
u8 pad_D_80281320[0x8]; u8 pad_D_80281320[0x8];
volatile s32 D_80281328; volatile s32 pfsManagerBusy;
OSThread D_80281330; OSThread pfsManagerThread;
u8 D_802814E0[0x200]; u8 D_802814E0[0x200];
f32 D_802816E0; f32 D_802816E0;
OSMesgQueue D_802816E8; OSMesgQueue D_802816E8;
@@ -152,8 +152,8 @@ void func_8024E71C(s32 controller_index, f32 dst[2]){
dst[1] = D_80281250[controller_index].joystick[1]; dst[1] = D_80281250[controller_index].joystick[1];
} }
else{ else{
dst[0] = func_8024E420(D_802812B8[controller_index].stick_x, 7, 0x3B); dst[0] = func_8024E420(pfsManagerContPadData[controller_index].stick_x, 7, 0x3B);
dst[1] = func_8024E420(D_802812B8[controller_index].stick_y, 7, 0x3D); dst[1] = func_8024E420(pfsManagerContPadData[controller_index].stick_y, 7, 0x3D);
} }
} }
@@ -173,9 +173,9 @@ void func_8024E7C8(void){
func_802E4384(); func_802E4384();
osSetThreadPri(NULL, 0x29); osSetThreadPri(NULL, 0x29);
D_802812D0.stick_x = D_802812B8[0].stick_x; D_802812D0.stick_x = pfsManagerContPadData[0].stick_x;
D_802812D0.stick_y = D_802812B8[0].stick_y; D_802812D0.stick_y = pfsManagerContPadData[0].stick_y;
D_802812D0.button = D_802812B8[0].button; D_802812D0.button = pfsManagerContPadData[0].button;
if( getGameMode() == GAME_MODE_6_FILE_PLAYBACK if( getGameMode() == GAME_MODE_6_FILE_PLAYBACK
|| getGameMode() == GAME_MODE_7_ATTRACT_DEMO || getGameMode() == GAME_MODE_7_ATTRACT_DEMO
|| getGameMode() == GAME_MODE_8_BOTTLES_BONUS || getGameMode() == GAME_MODE_8_BOTTLES_BONUS
@@ -189,7 +189,7 @@ void func_8024E7C8(void){
if(D_802816E0 < 1.0 || getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE){ if(D_802816E0 < 1.0 || getGameMode() == GAME_MODE_9_BANJO_AND_KAZOOIE){
s0 = 0; s0 = 0;
} }
temp_t6 = demo_readInput(&D_802812B8, &sp5C) == 0; temp_t6 = demo_readInput(&pfsManagerContPadData, &sp5C) == 0;
if(D_802812D0.button & s0 || temp_t6){ if(D_802812D0.button & s0 || temp_t6){
if(D_802812D0.button & s0){ if(D_802812D0.button & s0){
func_803204E4(0x64, 1); func_803204E4(0x64, 1);
@@ -206,15 +206,15 @@ void func_8024E7C8(void){
randf(); randf();
// var_s0_2 = &D_80281250; // var_s0_2 = &D_80281250;
// var_s1 = &D_802812B8 // var_s1 = &pfsManagerContPadData
for(i = 0; i < 4; i++){ for(i = 0; i < 4; i++){
// temp_t5 = var_s1->unk0; // temp_t5 = var_s1->unk0;
// temp_t1 = temp_t5 & 0x20; // temp_t1 = temp_t5 & 0x20;
if ((D_802812B8[i].button & 0x20) && (D_802812B8[i].button & 0x10)) { if ((pfsManagerContPadData[i].button & 0x20) && (pfsManagerContPadData[i].button & 0x10)) {
D_802810E0[i][0] = (D_802812B8[i].button & 0x0004) ? D_802810E0[i][0] + 1 : 0; D_802810E0[i][0] = (pfsManagerContPadData[i].button & 0x0004) ? D_802810E0[i][0] + 1 : 0;
D_802810E0[i][1] = (D_802812B8[i].button & 0x2000) ? D_802810E0[i][1] + 1 : 0; D_802810E0[i][1] = (pfsManagerContPadData[i].button & 0x2000) ? D_802810E0[i][1] + 1 : 0;
D_802810E0[i][2] = (D_802812B8[i].button & 0x8000) ? D_802810E0[i][2] + 1 : 0; D_802810E0[i][2] = (pfsManagerContPadData[i].button & 0x8000) ? D_802810E0[i][2] + 1 : 0;
D_802810E0[i][3] = (D_802812B8[i].button & 0x4000) ? D_802810E0[i][3] + 1 : 0; D_802810E0[i][3] = (pfsManagerContPadData[i].button & 0x4000) ? D_802810E0[i][3] + 1 : 0;
D_802810E0[i][4] = (D_802812D0.button & 0x4000) ? D_802810E0[i][4] + 1 : 0; D_802810E0[i][4] = (D_802812D0.button & 0x4000) ? D_802810E0[i][4] + 1 : 0;
for(j = 0; j < 0xE; j++){ for(j = 0; j < 0xE; j++){
((s32*)&D_80281138[i])[j] = 0; ((s32*)&D_80281138[i])[j] = 0;
@@ -239,22 +239,22 @@ void func_8024E7C8(void){
D_802810E0[i][j] = 0; D_802810E0[i][j] = 0;
} }
D_80281138[i].face_button[0] = (D_802812B8[i].button & 0x8000) ? D_80281138[i].face_button[0] + 1 : 0; D_80281138[i].face_button[0] = (pfsManagerContPadData[i].button & 0x8000) ? D_80281138[i].face_button[0] + 1 : 0;
D_80281138[i].face_button[1] = (D_802812B8[i].button & 0x4000) ? D_80281138[i].face_button[1] + 1 : 0; D_80281138[i].face_button[1] = (pfsManagerContPadData[i].button & 0x4000) ? D_80281138[i].face_button[1] + 1 : 0;
D_80281138[i].face_button[2] = (D_802812B8[i].button & 0x0002) ? D_80281138[i].face_button[2] + 1 : 0; D_80281138[i].face_button[2] = (pfsManagerContPadData[i].button & 0x0002) ? D_80281138[i].face_button[2] + 1 : 0;
D_80281138[i].face_button[3] = (D_802812B8[i].button & 0x0004) ? D_80281138[i].face_button[3] + 1 : 0; D_80281138[i].face_button[3] = (pfsManagerContPadData[i].button & 0x0004) ? D_80281138[i].face_button[3] + 1 : 0;
D_80281138[i].face_button[4] = (D_802812B8[i].button & 0x0008) ? D_80281138[i].face_button[4] + 1 : 0; D_80281138[i].face_button[4] = (pfsManagerContPadData[i].button & 0x0008) ? D_80281138[i].face_button[4] + 1 : 0;
D_80281138[i].face_button[5] = (D_802812B8[i].button & 0x0001) ? D_80281138[i].face_button[5] + 1 : 0; D_80281138[i].face_button[5] = (pfsManagerContPadData[i].button & 0x0001) ? D_80281138[i].face_button[5] + 1 : 0;
D_80281138[i].side_button[0] = (D_802812B8[i].button & 0x2000) ? D_80281138[i].side_button[0] + 1 : 0; D_80281138[i].side_button[0] = (pfsManagerContPadData[i].button & 0x2000) ? D_80281138[i].side_button[0] + 1 : 0;
D_80281138[i].side_button[1] = (D_802812B8[i].button & 0x0020) ? D_80281138[i].side_button[1] + 1 : 0; D_80281138[i].side_button[1] = (pfsManagerContPadData[i].button & 0x0020) ? D_80281138[i].side_button[1] + 1 : 0;
D_80281138[i].side_button[2] = (D_802812B8[i].button & 0x0010) ? D_80281138[i].side_button[2] + 1 : 0; D_80281138[i].side_button[2] = (pfsManagerContPadData[i].button & 0x0010) ? D_80281138[i].side_button[2] + 1 : 0;
D_80281138[i].unk24[0] = (D_802812B8[i].button & 0x0800) ? D_80281138[i].unk24[0] + 1 : 0; D_80281138[i].unk24[0] = (pfsManagerContPadData[i].button & 0x0800) ? D_80281138[i].unk24[0] + 1 : 0;
D_80281138[i].unk24[1] = (D_802812B8[i].button & 0x0400) ? D_80281138[i].unk24[1] + 1 : 0; D_80281138[i].unk24[1] = (pfsManagerContPadData[i].button & 0x0400) ? D_80281138[i].unk24[1] + 1 : 0;
D_80281138[i].unk24[2] = (D_802812B8[i].button & 0x0200) ? D_80281138[i].unk24[2] + 1 : 0; D_80281138[i].unk24[2] = (pfsManagerContPadData[i].button & 0x0200) ? D_80281138[i].unk24[2] + 1 : 0;
D_80281138[i].unk24[3] = (D_802812B8[i].button & 0x0100) ? D_80281138[i].unk24[3] + 1 : 0; D_80281138[i].unk24[3] = (pfsManagerContPadData[i].button & 0x0100) ? D_80281138[i].unk24[3] + 1 : 0;
D_80281138[i].start_button = (D_802812B8[i].button & 0x1000) ? D_80281138[i].start_button + 1 : 0; D_80281138[i].start_button = (pfsManagerContPadData[i].button & 0x1000) ? D_80281138[i].start_button + 1 : 0;
if(i == 0){ if(i == 0){
D_80281218.face_button[0] = (D_802812D0.button & 0x8000) ? D_80281218.face_button[0] + 1 : 0; D_80281218.face_button[0] = (D_802812D0.button & 0x8000) ? D_80281218.face_button[0] + 1 : 0;
@@ -282,8 +282,8 @@ void func_8024E7C8(void){
D_80281250[i].unk2 = temp_v0_3; //previous buttons D_80281250[i].unk2 = temp_v0_3; //previous buttons
D_80281250[i].unk8 = D_80281250[i].joystick[0]; D_80281250[i].unk8 = D_80281250[i].joystick[0];
D_80281250[i].unkC = D_80281250[i].joystick[1]; D_80281250[i].unkC = D_80281250[i].joystick[1];
D_80281250[i].joystick[0] = func_8024E420(D_802812B8[i].stick_x, 7, 0x3B); D_80281250[i].joystick[0] = func_8024E420(pfsManagerContPadData[i].stick_x, 7, 0x3B);
D_80281250[i].joystick[1] = func_8024E420(D_802812B8[i].stick_y, 7, 0x3D); D_80281250[i].joystick[1] = func_8024E420(pfsManagerContPadData[i].stick_y, 7, 0x3D);
D_80281308[i] = ((D_80281250[i].unk4 != 0) D_80281308[i] = ((D_80281250[i].unk4 != 0)
|| (D_80281250[i].unk8 != D_80281250[i].joystick[0]) || (D_80281250[i].unk8 != D_80281250[i].joystick[0])
@@ -297,82 +297,82 @@ void func_8024E7C8(void){
} }
#endif #endif
void func_8024EF74(){ void pfsManager_readData(){
func_8024F35C(0); func_8024F35C(0);
if(!D_80281318.errno) if(!pfsManagerContStatus.errno)
osContGetReadData(D_802812B8); osContGetReadData(pfsManagerContPadData);
} }
void func_8024EFB0(void *arg0){ void pfsManager_handle(void *arg0){
do{ do{
osRecvMesg(&D_802812D8, 0, 1); osRecvMesg(&pfsManagerContPollingMsqQ, 0, 1);
if(D_80281328 == TRUE){ if(pfsManagerBusy == TRUE){
func_8024EF74(); pfsManager_readData();
} }
else{ else{
osSendMesg(&D_802812F0, 0, 0); osSendMesg(&pfsManagerContReplyMsgQ, 0, 0);
} }
}while(1); }while(1);
} }
void func_8024F05C(void){ void pfsManager_init(void){
osCreateMesgQueue(&D_802812D8, &D_802812B0, 1); osCreateMesgQueue(&pfsManagerContPollingMsqQ, &pfsManagerContPollingMsqBuf, 1);
osCreateMesgQueue(&D_802812F0, &D_802812B4, 1); osCreateMesgQueue(&pfsManagerContReplyMsgQ, &pfsManagerContReplyMsgBuf, 1);
osCreateThread(&D_80281330, 7, func_8024EFB0, NULL, D_802814E0 + 0x200, 0x28); osCreateThread(&pfsManagerThread, 7, pfsManager_handle, NULL, D_802814E0 + 0x200, 0x28);
osSetEventMesg(OS_EVENT_SI, &D_802812D8, &D_802812B0); osSetEventMesg(OS_EVENT_SI, &pfsManagerContPollingMsqQ, &pfsManagerContPollingMsqBuf);
osContInit(&D_802812D8, &D_80281130, &D_80281318); osContInit(&pfsManagerContPollingMsqQ, &pfsManagerBitPattern, &pfsManagerContStatus);
osContSetCh(1); osContSetCh(1);
func_8024F224(); func_8024F224();
func_802476DC(); func_802476DC();
osStartThread(&D_80281330); osStartThread(&pfsManagerThread);
} }
int func_8024F12C(void){ bool pfsManager_contErr(void){
return D_80281318.errno ? 1 : 0; return pfsManagerContStatus.errno ? TRUE : FALSE;
} }
void func_8024F150(void){ void func_8024F150(void){
if(func_8024F12C()) if(pfsManager_contErr())
chOverlayNoController_spawn(0,0); chOverlayNoController_spawn(0,0);
} }
void func_8024F180(void){ void func_8024F180(void){
if(func_8024F12C()) if(pfsManager_contErr())
chOverlayNoController_func_802DD040(0,0); chOverlayNoController_func_802DD040(0,0);
} }
void func_8024F1B0(void){ void pfsManager_getStartReadData(void){
if(D_80281328 == 0){ if(pfsManagerBusy == 0){
func_8024F35C(1); func_8024F35C(1);
osContStartReadData(&D_802812D8); osContStartReadData(&pfsManagerContPollingMsqQ);
} }
} }
void func_8024F1F0(void){ void func_8024F1F0(void){
osRecvMesg(&D_802812D8, NULL, 1); osRecvMesg(&pfsManagerContPollingMsqQ, NULL, 1);
func_8024E7C8(); func_8024E7C8();
} }
void func_8024F224(void){ void func_8024F224(void){
s32 iController, j; s32 iCont, j;
for(iController = 0; iController < 4; iController++){ for(iCont = 0; iCont < 4; iCont++){
D_80281250[iController].unk0 = 0; D_80281250[iCont].unk0 = 0;
D_80281250[iController].unk2 = 0; D_80281250[iCont].unk2 = 0;
D_80281250[iController].unk4 = 0; D_80281250[iCont].unk4 = 0;
D_80281250[iController].unk6 = 0; D_80281250[iCont].unk6 = 0;
D_80281250[iController].joystick[0] = 0.0f; D_80281250[iCont].joystick[0] = 0.0f;
D_80281250[iController].joystick[1] = 0.0f; D_80281250[iCont].joystick[1] = 0.0f;
D_80281250[iController].unk8 = 0.0f; D_80281250[iCont].unk8 = 0.0f;
D_80281250[iController].unkC = 0.0f; D_80281250[iCont].unkC = 0.0f;
for(j = 0; j < 5; j++){ for(j = 0; j < 5; j++){
D_802810E0[iController][j] = 0; D_802810E0[iCont][j] = 0;
} }
for(j = 0; j < 14; j++){ for(j = 0; j < 14; j++){
D_80281138[iController].face_button[j] = 0; D_80281138[iCont].face_button[j] = 0;
} }
D_80281308[iController] = 0.0f; D_80281308[iCont] = 0.0f;
} }
} }
@@ -384,12 +384,12 @@ void func_8024F328(s32 controller_index, s32 arg1){
D_80281138[controller_index].side_button[SIDE_BUTTON(BUTTON_Z)] = arg1; D_80281138[controller_index].side_button[SIDE_BUTTON(BUTTON_Z)] = arg1;
} }
OSMesgQueue * func_8024F344(void){ OSMesgQueue * pfsManager_getFrameReplyQ(void){
return &D_802812F0; return &pfsManagerContReplyMsgQ;
} }
OSMesgQueue *func_8024F350(void){ OSMesgQueue *pfsManager_getFrameMesgQ(void){
return &D_802812D8; return &pfsManagerContPollingMsqQ;
} }
void func_8024F35C(bool arg0){ void func_8024F35C(bool arg0){
@@ -399,16 +399,16 @@ void func_8024F35C(bool arg0){
func_8024F450(); func_8024F450();
if(arg0 || D_802816E8.validCount == 1){ if(arg0 || D_802816E8.validCount == 1){
D_80281328 = arg0; pfsManagerBusy = arg0;
} }
} }
s32 func_8024F3B4(void){ bool pfsManager_isBusy(void){
return D_80281328; return pfsManagerBusy;
} }
int func_8024F3C4(int arg0){ int func_8024F3C4(int arg0){
return D_802812B8[arg0].button + D_802812B8[arg0].stick_x + D_802812B8[arg0].stick_y; return pfsManagerContPadData[arg0].button + pfsManagerContPadData[arg0].stick_x + pfsManagerContPadData[arg0].stick_y;
} }
OSContPad *func_8024F3F4(void){ OSContPad *func_8024F3F4(void){
@@ -425,8 +425,8 @@ void func_8024F400(void){
void func_8024F450(void){ void func_8024F450(void){
if(!D_80275D38) if(!D_80275D38)
func_8024F400(); func_8024F400();
osRecvMesg(&D_802816E8, 0, 1); osRecvMesg(&D_802816E8, NULL, OS_MESG_BLOCK);
osSetEventMesg(OS_EVENT_SI, &D_802812D8, &D_802812B0); osSetEventMesg(OS_EVENT_SI, &pfsManagerContPollingMsqQ, &pfsManagerContPollingMsqBuf);
} }
void func_8024F4AC(void){ void func_8024F4AC(void){

View File

@@ -214,7 +214,7 @@ ALBank * D_80282108;
structBs D_80282110[0x20]; structBs D_80282110[0x20];
/* .code */ /* .code */
void func_8024F4E0(void){ void musicInstruments_init(void){
s32 size; s32 size;
ALBankFile * bnk_f; //sp38 ALBankFile * bnk_f; //sp38
s32 i; s32 i;

View File

@@ -110,7 +110,7 @@ void func_80250C84(void){
s32 pfs_status; s32 pfs_status;
func_8024F35C(4); func_8024F35C(4);
D_802823B4 = func_8024F344(); D_802823B4 = pfsManager_getFrameReplyQ();
pfs_status = osPfsInit(D_802823B4, &D_802823B8, 0); pfs_status = osPfsInit(D_802823B4, &D_802823B8, 0);
if(pfs_status == PFS_ERR_ID_FATAL || pfs_status == PFS_ERR_DEVICE){ if(pfs_status == PFS_ERR_ID_FATAL || pfs_status == PFS_ERR_DEVICE){
pfs_status = osMotorInit(D_802823B4, &D_802823B8, 0); pfs_status = osMotorInit(D_802823B4, &D_802823B8, 0);

View File

@@ -12,7 +12,7 @@ s32 write_file_blocks(s32 filenum, s32 blockOffset, u8 *buffer, s32 blockCount)
s32 ret; s32 ret;
func_8024F35C(3); func_8024F35C(3);
ret = osEepromLongWrite(func_8024F344(), address, buffer, blockCount * EEPROM_BLOCK_SIZE); ret = osEepromLongWrite(pfsManager_getFrameReplyQ(), address, buffer, blockCount * EEPROM_BLOCK_SIZE);
func_8024F35C(0); func_8024F35C(0);
return ret; return ret;
} }
@@ -22,7 +22,7 @@ s32 load_file_blocks(s32 filenum, s32 blockOffset, u8 *buffer, s32 blockCount) {
s32 ret; s32 ret;
func_8024F35C(3); func_8024F35C(3);
ret = osEepromLongRead(func_8024F344(), address, buffer, blockCount * EEPROM_BLOCK_SIZE); ret = osEepromLongRead(pfsManager_getFrameReplyQ(), address, buffer, blockCount * EEPROM_BLOCK_SIZE);
func_8024F35C(0); func_8024F35C(0);
return ret; return ret;
} }

View File

@@ -51,13 +51,13 @@ typedef struct struct_core1_1D00_5_s{
}unkC; }unkC;
}OscState; }OscState;
void amgrCreate(void); void audioManager_create(void);
void func_8023FE80(void *); void audioManager_handle(void *);
// void func_802403B8(void); // void func_802403B8(void);
void amgrHandleDoneMsg(AudioInfo *info); void audioManager_handleDoneMsg(AudioInfo *info);
void *func_802403B8(void *state); void *func_802403B8(void *state);
void func_802403F0(void); void func_802403F0(void);
void amgrStartThread(void); void audioManager_startThread(void);
s32 D_80275770 = 0; s32 D_80275770 = 0;
@@ -141,7 +141,7 @@ struct {
OSMesg audioFrameMsgBuf[8]; OSMesg audioFrameMsgBuf[8];
OSMesgQueue audioReplyMsgQ; OSMesgQueue audioReplyMsgQ;
OSMesg audioReplyMsgBuf[8]; OSMesg audioReplyMsgBuf[8];
} g_AudioManager; } audioManager;
u8 pad_8027C178[0xE78]; u8 pad_8027C178[0xE78];
ALHeap D_8027CFF0; ALHeap D_8027CFF0;
u8 * D_8027D000; u8 * D_8027D000;
@@ -281,25 +281,25 @@ void func_8023FA64(ALSeqpConfig *arg0) {
arg0->stopOsc = stopOsc; arg0->stopOsc = stopOsc;
} }
void func_8023FB1C(void){ void audioManager_init(void){
D_8027D000 = (u8 *) malloc(0x21000); D_8027D000 = (u8 *) malloc(0x21000);
bzero(D_8027D000, 0x21000); bzero(D_8027D000, 0x21000);
alHeapInit(&D_8027CFF0, D_8027D000, 0x21000); alHeapInit(&D_8027CFF0, D_8027D000, 0x21000);
if(osTvType != OS_TV_NTSC) if(osTvType != OS_TV_NTSC)
osViClock = 0x2e6025c; osViClock = 0x2e6025c;
amgrCreate(); audioManager_create();
func_80335220(); sfxInstruments_init();
func_8024F4E0(); musicInstruments_init();
amgrStartThread(); audioManager_startThread();
} }
void amgrCreate(void) { void audioManager_create(void) {
int i; int i;
f32 var_f0; f32 var_f0;
osCreateMesgQueue(&D_8027D008, &D_8027D020, 0x32); osCreateMesgQueue(&D_8027D008, &D_8027D020, 0x32);
osCreateMesgQueue(&g_AudioManager.audioReplyMsgQ, g_AudioManager.audioReplyMsgBuf, 8); //audioReplyMesgQueue osCreateMesgQueue(&audioManager.audioReplyMsgQ, audioManager.audioReplyMsgBuf, 8); //audioReplyMesgQueue
osCreateMesgQueue(&g_AudioManager.audioFrameMsgQ, g_AudioManager.audioFrameMsgBuf, 8); osCreateMesgQueue(&audioManager.audioFrameMsgQ, audioManager.audioFrameMsgBuf, 8);
var_f0 = 733.333313f; var_f0 = 733.333313f;
D_8027DD74 = (s32)var_f0; D_8027DD74 = (s32)var_f0;
if ((f32) D_8027DD74 < var_f0) { if ((f32) D_8027DD74 < var_f0) {
@@ -326,28 +326,28 @@ void amgrCreate(void) {
D_8027D5C0[i].unk10 = alHeapDBAlloc(0, 0, D_8027DD50.heap, 1, 0x200); D_8027D5C0[i].unk10 = alHeapDBAlloc(0, 0, D_8027DD50.heap, 1, 0x200);
for(i = 0; i < 2; i++){ for(i = 0; i < 2; i++){
g_AudioManager.ACMDList[i] = malloc(20000); audioManager.ACMDList[i] = malloc(20000);
} }
D_8027DD80 = 2500; D_8027DD80 = 2500;
for(i = 0; i < 3; i++){ for(i = 0; i < 3; i++){
g_AudioManager.audioInfo[i] = alHeapDBAlloc(0, 0, D_8027DD50.heap, 1, 0x10); audioManager.audioInfo[i] = alHeapDBAlloc(0, 0, D_8027DD50.heap, 1, 0x10);
g_AudioManager.audioInfo[i]->unk8 = 0; audioManager.audioInfo[i]->unk8 = 0;
g_AudioManager.audioInfo[i]->unkC = g_AudioManager.audioInfo[i]; audioManager.audioInfo[i]->unkC = audioManager.audioInfo[i];
g_AudioManager.audioInfo[i]->data = malloc(D_8027DD7C * 4); audioManager.audioInfo[i]->data = malloc(D_8027DD7C * 4);
} }
osCreateThread(&g_AudioManager.thread, 4, &func_8023FE80, 0, &D_8027CFF0, 0x32); osCreateThread(&audioManager.thread, 4, &audioManager_handle, 0, &D_8027CFF0, 0x32);
} }
void func_8023FE80(void *arg0) { void audioManager_handle(void *arg0) {
s32 phi_s1; s32 phi_s1;
phi_s1 = 1; phi_s1 = 1;
while(1){ while(1){
osRecvMesg(&g_AudioManager.audioFrameMsgQ, NULL, OS_MESG_BLOCK); osRecvMesg(&audioManager.audioFrameMsgQ, NULL, OS_MESG_BLOCK);
if (amgr_handleFrameMsg(g_AudioManager.audioInfo[D_8027DCC8 % 3], D_80275848)){ if (audioManager_handleFrameMsg(audioManager.audioInfo[D_8027DCC8 % 3], D_80275848)){
if(phi_s1 == 0){ if(phi_s1 == 0){
osRecvMesg(&g_AudioManager.audioReplyMsgQ, &D_80275844, OS_MESG_BLOCK); osRecvMesg(&audioManager.audioReplyMsgQ, &D_80275844, OS_MESG_BLOCK);
amgrHandleDoneMsg(D_80275844->unk4); audioManager_handleDoneMsg(D_80275844->unk4);
D_80275848 = D_80275844->unk4; D_80275848 = D_80275844->unk4;
}else{ }else{
phi_s1 += -1; phi_s1 += -1;
@@ -364,7 +364,7 @@ void func_8023FFD4(s32 arg0, s32 arg1, s32 arg2){
return; return;
} }
bool amgr_handleFrameMsg(AudioInfo *info, AudioInfo *prev_info){ bool audioManager_handleFrameMsg(AudioInfo *info, AudioInfo *prev_info){
s16 *outbuffer; s16 *outbuffer;
Acmd *sp38; Acmd *sp38;
s32 sp34; s32 sp34;
@@ -399,7 +399,7 @@ bool amgr_handleFrameMsg(AudioInfo *info, AudioInfo *prev_info){
info->frameSamples = D_8027DD78; info->frameSamples = D_8027DD78;
} }
sp38 = n_alAudioFrame(g_AudioManager.ACMDList[D_8027DCD0], &sp34, outbuffer, info->frameSamples); sp38 = n_alAudioFrame(audioManager.ACMDList[D_8027DCD0], &sp34, outbuffer, info->frameSamples);
if(D_8027DD80 < sp34){ if(D_8027DD80 < sp34){
func_80247F24(2, 2000); func_80247F24(2, 2000);
@@ -411,14 +411,14 @@ bool amgr_handleFrameMsg(AudioInfo *info, AudioInfo *prev_info){
if(sp34 == 0){ if(sp34 == 0){
return 0; return 0;
}else{ }else{
func_802535A8(g_AudioManager.ACMDList[D_8027DCD0], sp38, &g_AudioManager.audioReplyMsgQ, &info->unk8); func_802535A8(audioManager.ACMDList[D_8027DCD0], sp38, &audioManager.audioReplyMsgQ, &info->unk8);
func_80250650(); func_80250650();
D_8027DCD0 ^= 1; D_8027DCD0 ^= 1;
return 1; return 1;
} }
} }
void amgrHandleDoneMsg(AudioInfo *info) void audioManager_handleDoneMsg(AudioInfo *info)
{ {
static int D_8027584C = TRUE; static int D_8027584C = TRUE;
if (osAiGetLength() >> 2 == 0 && D_8027584C == FALSE) { if (osAiGetLength() >> 2 == 0 && D_8027584C == FALSE) {
@@ -527,22 +527,22 @@ void func_802403F0(void) {
D_8027DCC8 += 1; D_8027DCC8 += 1;
} }
void amgrStopThread(void){ void audioManager_stopThread(void){
if(D_80275774){ if(D_80275774){
D_80275774 = 0; D_80275774 = 0;
osStopThread(&g_AudioManager.thread); osStopThread(&audioManager.thread);
} }
} }
void amgrStartThread(void){ void audioManager_startThread(void){
if(D_80275774 == 0){ if(D_80275774 == 0){
D_80275774 = 1; D_80275774 = 1;
osStartThread(&g_AudioManager.thread); osStartThread(&audioManager.thread);
} }
} }
OSThread * amgrGetThread(void){ OSThread * audioManager_getThread(void){
return &g_AudioManager.thread; return &audioManager.thread;
} }
ALHeap * func_802405B8(void){ ALHeap * func_802405B8(void){
@@ -557,6 +557,6 @@ OSIoMesg * func_802405D0(void){
return &D_8027D0E8; return &D_8027D0E8;
} }
OSMesgQueue * amgr_getFrameMesgQueue(void){ OSMesgQueue * audioManager_getFrameMesgQueue(void){
return &g_AudioManager.audioFrameMsgQ; return &audioManager.audioFrameMsgQ;
} }

View File

@@ -74,7 +74,7 @@ s32 D_8027FC18;
s32 D_8027FC1C; s32 D_8027FC1C;
s32 D_8027FC20; s32 D_8027FC20;
s32 D_8027FC24; s32 D_8027FC24;
u8 pad_8027FC28[2040]; //stack for thread D_80280428; u8 D_8027FC28[2040]; //stack for thread D_80280428;
OSThread D_80280428; OSThread D_80280428;
Struct_Core1_8C50_s * D_802805D8[20]; Struct_Core1_8C50_s * D_802805D8[20];
volatile s32 D_80280628; volatile s32 D_80280628;
@@ -332,7 +332,7 @@ void func_802471D8(OSMesg arg0){
} }
void func_802471EC(void){ void func_802471EC(void){
osSendMesg(amgr_getFrameMesgQueue(), NULL, OS_MESG_NOBLOCK); osSendMesg(audioManager_getFrameMesgQueue(), NULL, OS_MESG_NOBLOCK);
func_80247224(); func_80247224();
} }
@@ -426,7 +426,7 @@ void func_802473B4(void *arg0){
else if((u32)msg == CORE1_8C50_EVENT_FAULT) { do{}while(1); } else if((u32)msg == CORE1_8C50_EVENT_FAULT) { do{}while(1); }
else if((u32)msg == CORE1_8C50_EVENT_PRENMI) { func_8024730C(); } else if((u32)msg == CORE1_8C50_EVENT_PRENMI) { func_8024730C(); }
else if((u32)msg == 12) { } else if((u32)msg == 12) { }
else if((u32)msg == CORE1_8C50_EVENT_CONT_TIMER) { func_8024F1B0(); } else if((u32)msg == CORE1_8C50_EVENT_CONT_TIMER) { pfsManager_getStartReadData(); }
else if((u32)msg >= 100) { else if((u32)msg >= 100) {
if(*(u32*)msg == 0){ func_80246A64(msg); } if(*(u32*)msg == 0){ func_80246A64(msg); }
else if(*(u32*)msg == 1){ func_80246A84(msg); } else if(*(u32*)msg == 1){ func_80246A84(msg); }
@@ -458,7 +458,7 @@ void func_80247560(void){
tmp_v0 = D_8027EF40; tmp_v0 = D_8027EF40;
while((u32)tmp_v0 % 0x10){((u32)tmp_v0)++;} while((u32)tmp_v0 % 0x10){((u32)tmp_v0)++;}
D_80275950.t.yield_data_ptr = tmp_v0; D_80275950.t.yield_data_ptr = tmp_v0;
osCreateThread(&D_80280428, 5, func_802473B4, NULL, &pad_8027FC28[2040], 60); osCreateThread(&D_80280428, 5, func_802473B4, NULL, &D_8027FC28[2040], 60);
osStartThread(&D_80280428); osStartThread(&D_80280428);
} }

View File

@@ -2,13 +2,12 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
//BKMeshList_getVtxCount s32 meshList_getVtxCount(BKMeshList *meshList){
s32 func_802E9F60(BKMeshList *arg0){
s32 i; s32 i;
s32 v1 = 0; s32 v1 = 0;
BKMesh *v0 = (BKMesh *)(arg0 + 1); BKMesh *v0 = (BKMesh *)(meshList + 1);
for(i = 0; i < arg0->meshCount_0; ++i){ for(i = 0; i < meshList->meshCount_0; ++i){
v1 += v0->vtxCount_2; v1 += v0->vtxCount_2;
v0 = (BKMesh *)&((s16*)(v0 +1))[v0->vtxCount_2]; v0 = (BKMesh *)&((s16*)(v0 +1))[v0->vtxCount_2];
@@ -16,11 +15,11 @@ s32 func_802E9F60(BKMeshList *arg0){
return v1; return v1;
} }
BKMesh * func_802E9F9C(BKMeshList *arg0, s32 mesh_id){ BKMesh * meshList_getMesh(BKMeshList *meshList, s32 mesh_id){
s32 i; s32 i;
BKMesh *v1 = (BKMesh *)(arg0 + 1); BKMesh *v1 = (BKMesh *)(meshList + 1);
for(i=0; i < arg0->meshCount_0; i++){ for(i=0; i < meshList->meshCount_0; i++){
if(v1->uid_0 == mesh_id){ if(v1->uid_0 == mesh_id){
return v1; return v1;
} }
@@ -29,9 +28,9 @@ BKMesh * func_802E9F9C(BKMeshList *arg0, s32 mesh_id){
return NULL; return NULL;
} }
bool func_802E9FEC(BKMeshList * arg0, s32 mesh_id, void *vtx_id){ bool meshList_meshContainsVtx(BKMeshList * meshList, s32 mesh_id, void *vtx_id){
s32 i; s32 i;
BKMesh *v0 = func_802E9F9C(arg0, mesh_id); BKMesh *v0 = meshList_getMesh(meshList, mesh_id);
if(v0){ if(v0){
for(i = 0; i < v0->vtxCount_2; i++){ for(i = 0; i < v0->vtxCount_2; i++){

View File

@@ -262,7 +262,7 @@ void func_80334B20(enum map_e arg0, s32 arg1, s32 arg2) {
if (func_802E4A08() == 0) { if (func_802E4A08() == 0) {
func_802F5188(); func_802F5188();
} }
if (arg0 != 0x1F) { if (arg0 != MAP_1F_CS_START_RAREWARE) {
func_8024F150(); func_8024F150();
} }
} }

View File

@@ -18,7 +18,7 @@ struct {
ALBank * D_80383604; ALBank * D_80383604;
/* .code */ /* .code */
void func_80335220(void){ void sfxInstruments_init(void){
ALBank *bnk; ALBank *bnk;
s32 size; s32 size;
ALInstrument *inst; ALInstrument *inst;

View File

@@ -12,23 +12,23 @@ f32 D_803709E0[] = {
1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f 0.0f, 0.0f, 0.0f, 0.0f
}; };
s32 D_80370A10 = 0; s32 assetCacheCurrentSize = 0;
u8 D_80370A14 = 0; //assetCache_size; u8 assetCacheLength = 0; //assetCache_size;
u8 D_80370A18 = 0; u8 assetCacheCurrentIndex = 0;
u8 D_80370A1C = 0; u8 D_80370A1C = 0;
/* .bss */ /* .bss */
s32 D_80383CB0; s32 D_80383CB0;
u8 pad_80383CB8[0x8]; u8 pad_80383CB8[0x8];
AssetROMHead *D_80383CC0; AssetROMHead *assetSectionRomHeader;
AssetFileMeta *D_80383CC4; AssetFileMeta *assetSectionRomMetaList;
u32 D_80383CC8; u32 D_80383CC8;
s32 D_80383CCC; //asset_data_rom_offset s32 D_80383CCC; //asset_data_rom_offset
void** D_80383CD0; //assetCache_ptrs; void** assetCachePtrList; //assetCache_ptrs;
BKSpriteDisplayData **D_80383CD4; BKSpriteDisplayData **D_80383CD4;
u8* assetCache_depCount; //assetCache_dependencies; u8* assetCacheDependencyCount; //assetCache_dependencies;
s16 *D_80383CDC; //assetCache_indexs s16 *assetCacheAssetIdList; //assetCache_indexs
vector(struct21s) *D_80383CE0[2]; vector(struct21s) *D_80383CE0[2];
/* .public */ /* .public */
@@ -225,11 +225,11 @@ void func_8033B268(void){
} }
void func_8033B2A4(s32 arg0) { void func_8033B2A4(s32 arg0) {
D_80383CD0[D_80370A14] = malloc(arg0); assetCachePtrList[assetCacheLength] = malloc(arg0);
D_80383CD4[D_80370A14] = NULL; D_80383CD4[assetCacheLength] = NULL;
assetCache_depCount[D_80370A14] = 1; assetCacheDependencyCount[assetCacheLength] = 1;
D_80383CDC[D_80370A14] = -1; assetCacheAssetIdList[assetCacheLength] = -1;
D_80370A14 += 1; assetCacheLength += 1;
} }
bool func_8033B338(void **sprite_ptr, BKSpriteDisplayData **arg1) bool func_8033B338(void **sprite_ptr, BKSpriteDisplayData **arg1)
@@ -262,25 +262,25 @@ bool func_8033B388(BKSprite **sprite_ptr, BKSpriteDisplayData **arg1){
s32 assetcache_release(void * arg0){ s32 assetcache_release(void * arg0){
s32 i; s32 i;
if(arg0){ if(arg0){
for(i = 0; i < D_80370A14 && arg0 != D_80383CD0[i]; i++); for(i = 0; i < assetCacheLength && arg0 != assetCachePtrList[i]; i++);
if(i == D_80370A14) if(i == assetCacheLength)
return 2; return 2;
D_80370A18 = i; assetCacheCurrentIndex = i;
if(assetCache_depCount[i] == 1){ if(assetCacheDependencyCount[i] == 1){
if(D_80383CD4[i]) if(D_80383CD4[i])
func_803449DC(D_80383CD4[i]); func_803449DC(D_80383CD4[i]);
free(arg0); free(arg0);
D_80370A14--; assetCacheLength--;
assetCache_depCount[i] = assetCache_depCount[D_80370A14]; assetCacheDependencyCount[i] = assetCacheDependencyCount[assetCacheLength];
D_80383CD0[i] = D_80383CD0[D_80370A14]; assetCachePtrList[i] = assetCachePtrList[assetCacheLength];
D_80383CD4[i] = D_80383CD4[D_80370A14]; D_80383CD4[i] = D_80383CD4[assetCacheLength];
D_80383CDC[i] = D_80383CDC[D_80370A14]; assetCacheAssetIdList[i] = assetCacheAssetIdList[assetCacheLength];
return 0; return 0;
} }
else{ else{
assetCache_depCount[i]--; assetCacheDependencyCount[i]--;
return 1; return 1;
} }
} else{ } else{
@@ -294,10 +294,10 @@ void assetcache_update_ptr(void * arg0, void* arg1){
if((arg0 == NULL) || (arg1 == NULL) || (arg0 == arg1)) if((arg0 == NULL) || (arg1 == NULL) || (arg0 == arg1))
return; return;
for(i = 0; i < D_80370A14 && arg0 != D_80383CD0[i]; i++); for(i = 0; i < assetCacheLength && arg0 != assetCachePtrList[i]; i++);
if(i != D_80370A14 && arg1 != D_80383CD0[i]) if(i != assetCacheLength && arg1 != assetCachePtrList[i])
D_80383CD0[i] = arg1; assetCachePtrList[i] = arg1;
} }
void func_8033B5FC(void){ void func_8033B5FC(void){
@@ -311,35 +311,35 @@ void func_8033B61C(void){
} }
s32 func_8033B64C(s32 arg0){ s32 func_8033B64C(s32 arg0){
return D_80383CC4[arg0].unk6; return assetSectionRomMetaList[arg0].unk6;
} }
s32 func_8033B664(void){//asset get rom count s32 assetSection_getCount(void){
return D_80383CC0->count-1; return assetSectionRomHeader->count-1;
} }
s32 func_8033B678(void ){//static last asset decompressed size s32 func_8033B678(void ){
return D_80370A10; return assetCacheCurrentSize;
} }
s32 func_8033B684(s32 arg0){ //asset_size s32 asset_getSize(s32 arg0){
return D_80383CC4[arg0+1].offset - D_80383CC4[arg0].offset; return assetSectionRomMetaList[arg0+1].offset - assetSectionRomMetaList[arg0].offset;
} }
s32 func_8033B6A4(enum asset_e arg0){ //asset_compressed? bool asset_isCompressed(enum asset_e arg0){ //asset_compressed?
return (D_80383CC4[arg0].compFlag & 1) !=0; return (assetSectionRomMetaList[arg0].compFlag & 1) !=0;
} }
//returns raw sprite(as saved in ROM) and points arg1 to a parsed sprite(?) //returns raw sprite(as saved in ROM) and points arg1 to a parsed sprite(?)
BKSprite *func_8033B6C4(enum asset_e sprite_id, BKSpriteDisplayData **arg1){ BKSprite *func_8033B6C4(enum asset_e sprite_id, BKSpriteDisplayData **arg1){
BKSprite *s0; BKSprite *s0;
s0 = assetcache_get(sprite_id); s0 = assetcache_get(sprite_id);
if(D_80383CD4[D_80370A18] == NULL){ if(D_80383CD4[assetCacheCurrentIndex] == NULL){
func_803382E4(-1); func_803382E4(-1);
func_80338308(func_802510A0(s0), func_802510A8(s0)); func_80338308(func_802510A0(s0), func_802510A8(s0));
D_80383CD4[D_80370A18] = func_80344A1C(s0); D_80383CD4[assetCacheCurrentIndex] = func_80344A1C(s0);
} }
*arg1 = D_80383CD4[D_80370A18]; *arg1 = D_80383CD4[assetCacheCurrentIndex];
return s0; return s0;
} }
@@ -347,7 +347,7 @@ void func_8033B788(void ){
D_80370A1C = 1; D_80370A1C = 1;
} }
void *assetcache_get(s32 arg0) { void *assetcache_get(enum asset_e assetId) {
s32 comp_size;//sp_44 s32 comp_size;//sp_44
s32 i; s32 i;
volatile s32 sp3C; //sp3C volatile s32 sp3C; //sp3C
@@ -359,24 +359,24 @@ void *assetcache_get(s32 arg0) {
sp28 = (s32 )D_80370A1C; sp28 = (s32 )D_80370A1C;
D_80370A1C = (u8)0U; D_80370A1C = (u8)0U;
for(i = 0; i < D_80370A14 && arg0 != D_80383CDC[i]; i++); for(i = 0; i < assetCacheLength && assetId != assetCacheAssetIdList[i]; i++);
D_80370A18 = i; assetCacheCurrentIndex = i;
if(i == 0x96) if(i == 0x96)
return NULL; return NULL;
if(i < D_80370A14){ //asset exists in array; if(i < assetCacheLength){ //asset exists in array;
assetCache_depCount[i]++; assetCacheDependencyCount[i]++;
return D_80383CD0[i]; return assetCachePtrList[i];
} }
comp_size = D_80383CC4[arg0+1].offset - D_80383CC4[arg0].offset; comp_size = assetSectionRomMetaList[assetId+1].offset - assetSectionRomMetaList[assetId].offset;
if(comp_size & 1) if(comp_size & 1)
comp_size++; comp_size++;
sp3C = comp_size; sp3C = comp_size;
if(D_80383CC4[arg0].compFlag & 0x0001){//compressed if(assetSectionRomMetaList[assetId].compFlag & 0x0001){//compressed
func_8033BAB0(arg0, 0, 0x10, &D_80383CB0); func_8033BAB0(assetId, 0, 0x10, &D_80383CB0);
D_80370A10 = rarezip_get_uncompressed_size(&D_80383CB0); assetCacheCurrentSize = rarezip_get_uncompressed_size(&D_80383CB0);
uncomp_size = D_80370A10; uncomp_size = assetCacheCurrentSize;
if(uncomp_size & 0xF){ if(uncomp_size & 0xF){
uncomp_size -= uncomp_size & 0xF; uncomp_size -= uncomp_size & 0xF;
uncomp_size += 0x10; uncomp_size += 0x10;
@@ -398,63 +398,62 @@ void *assetcache_get(s32 arg0) {
uncompressed_file = malloc(comp_size); uncompressed_file = malloc(comp_size);
compressed_file = uncompressed_file; compressed_file = uncompressed_file;
} }
func_802405F0(compressed_file, D_80383CC4[arg0].offset + D_80383CCC, sp3C); func_802405F0(compressed_file, assetSectionRomMetaList[assetId].offset + D_80383CCC, sp3C);
if(D_80383CC4[arg0].compFlag & 0x0001){//decompress if(assetSectionRomMetaList[assetId].compFlag & 0x0001){//decompress
rarezip_inflate(compressed_file, uncompressed_file); rarezip_inflate(compressed_file, uncompressed_file);
realloc(uncompressed_file, D_80370A10); realloc(uncompressed_file, assetCacheCurrentSize);
osWritebackDCache(uncompressed_file, D_80370A10); osWritebackDCache(uncompressed_file, assetCacheCurrentSize);
if (sp33 == 2) { if (sp33 == 2) {
free(compressed_file); free(compressed_file);
} }
} }
D_80370A18 = D_80370A14; assetCacheCurrentIndex = assetCacheLength;
assetCache_depCount[D_80370A14] = 1; assetCacheDependencyCount[assetCacheLength] = 1;
D_80383CD0[D_80370A14] = uncompressed_file; assetCachePtrList[assetCacheLength] = uncompressed_file;
D_80383CD4[D_80370A14] = 0; D_80383CD4[assetCacheLength] = 0;
D_80383CDC[D_80370A14] = arg0; assetCacheAssetIdList[assetCacheLength] = assetId;
D_80370A14++; assetCacheLength++;
return uncompressed_file; return uncompressed_file;
} }
void func_8033BAB0(enum asset_e asset_id, s32 offset, s32 size, void *dst_ptr) { void func_8033BAB0(enum asset_e asset_id, s32 offset, s32 size, void *dst_ptr) {
func_802405F0(dst_ptr, D_80383CC4[asset_id].offset + D_80383CCC + offset, size); func_802405F0(dst_ptr, assetSectionRomMetaList[asset_id].offset + D_80383CCC + offset, size);
} }
void func_8033BB00(void *arg0, s32 arg1){ void assetCache_resizeAsset(void *assetPtr, s32 size){
s32 tmp; s32 tmp;
s32 i; s32 i;
for(i = 0; i < D_80370A14 && arg0 != D_80383CD0[i]; i++); for(i = 0; i < assetCacheLength && assetPtr != assetCachePtrList[i]; i++);
D_80383CD0[i] = realloc(arg0, arg1); assetCachePtrList[i] = realloc(assetPtr, size);
} }
//assetCache_init
void assetCache_init(void){ void assetCache_init(void){
D_80370A1C = 0; D_80370A1C = 0;
func_8033B180(); func_8033B180();
D_80383CD0 = malloc(600); assetCachePtrList = (void **)malloc(150*sizeof(void*));
D_80383CD4 = malloc(600); D_80383CD4 = malloc(600);
assetCache_depCount = malloc(150); assetCacheDependencyCount = (u8*)malloc(150*sizeof(u8));
D_80383CDC = malloc(150*sizeof(s16)); assetCacheAssetIdList = (s16 *)malloc(150*sizeof(s16));
D_80370A14 = 0; assetCacheLength = 0;
D_80383CC0 = malloc(sizeof(AssetROMHead)); assetSectionRomHeader = (AssetROMHead *)malloc(sizeof(AssetROMHead));
D_80383CC8 = (u32) &D_5E90; D_80383CC8 = (u32) &D_5E90;
func_802405F0(D_80383CC0, D_80383CC8, sizeof(AssetROMHead)); func_802405F0(assetSectionRomHeader, D_80383CC8, sizeof(AssetROMHead));
D_80383CC4 = malloc(D_80383CC0->count*sizeof(AssetFileMeta)); assetSectionRomMetaList = (AssetFileMeta *)malloc(assetSectionRomHeader->count*sizeof(AssetFileMeta));
func_802405F0(D_80383CC4, D_80383CC8 + sizeof(AssetROMHead),D_80383CC0->count*sizeof(AssetFileMeta)); func_802405F0(assetSectionRomMetaList, D_80383CC8 + sizeof(AssetROMHead),assetSectionRomHeader->count*sizeof(AssetFileMeta));
D_80383CCC = D_80383CC8 + sizeof(AssetROMHead) + D_80383CC0->count*sizeof(AssetFileMeta); D_80383CCC = D_80383CC8 + sizeof(AssetROMHead) + assetSectionRomHeader->count*sizeof(AssetFileMeta);
} }
s32 func_8033BC94(s32 arg0){ //asset_compressedSize s32 asset_getCompressedSize(enum asset_e arg0){
return D_80383CC4[arg0+1].offset - D_80383CC4[arg0].offset; return assetSectionRomMetaList[arg0+1].offset - assetSectionRomMetaList[arg0].offset;
} }
s32 func_8033BCB4(s32 arg0){ //asset_getDependencyCount s32 assetCache_getDependencyCount(enum asset_e arg0){
s32 i; s32 i;
for(i = 0; i < D_80370A14 && arg0 != D_80383CDC[i]; i++); for(i = 0; i < assetCacheLength && arg0 != assetCacheAssetIdList[i]; i++);
if(i < D_80370A14){ if(i < assetCacheLength){
return assetCache_depCount[i]; return assetCacheDependencyCount[i];
} }
return 0; return 0;
} }
@@ -486,23 +485,23 @@ s32 func_8033BDAC(enum asset_e id, void *dst, s32 size) {
s32 sp20; s32 sp20;
//find asset in cache //find asset in cache
for(phi_v0 = 0; phi_v0 < D_80370A14 && id != D_80383CDC[phi_v0]; phi_v0++); for(phi_v0 = 0; phi_v0 < assetCacheLength && id != assetCacheAssetIdList[phi_v0]; phi_v0++);
D_80370A18 = phi_v0; assetCacheCurrentIndex = phi_v0;
if (phi_v0 == 0x96) { if (phi_v0 == 150) { //asset not in cache
return 0; return 0;
} }
comp_ptr = D_80383CC4[id + 1].offset - D_80383CC4[id].offset; comp_ptr = assetSectionRomMetaList[id + 1].offset - assetSectionRomMetaList[id].offset;
if (comp_ptr & 1) { if (comp_ptr & 1) {
comp_ptr++; comp_ptr++;
} }
sp34 = comp_ptr; sp34 = comp_ptr;
if (D_80383CC4[id].compFlag & 1) { if (assetSectionRomMetaList[id].compFlag & 1) {
func_8033BAB0(id, 0, 0x10, &D_80383CB0); func_8033BAB0(id, 0, 0x10, &D_80383CB0);
D_80370A10 = rarezip_get_uncompressed_size(&D_80383CB0); assetCacheCurrentSize = rarezip_get_uncompressed_size(&D_80383CB0);
// get aligned uncompressed size // get aligned uncompressed size
var_s0 = D_80370A10; var_s0 = assetCacheCurrentSize;
if (var_s0 & 0xF) { if (var_s0 & 0xF) {
var_s0 = (var_s0 - (var_s0 & 0xF)) + 0x10; var_s0 = (var_s0 - (var_s0 & 0xF)) + 0x10;
} }
@@ -531,11 +530,11 @@ s32 func_8033BDAC(enum asset_e id, void *dst, s32 size) {
return 0; return 0;
} }
} }
comp_size = D_80383CC4[id].offset + D_80383CCC; comp_size = assetSectionRomMetaList[id].offset + D_80383CCC;
func_802405F0(comp_ptr, comp_size, sp34); func_802405F0(comp_ptr, comp_size, sp34);
if (D_80383CC4[id].compFlag & 1) { if (assetSectionRomMetaList[id].compFlag & 1) {
rarezip_inflate(comp_ptr, dst); rarezip_inflate(comp_ptr, dst);
osWritebackDCache(dst, D_80370A10); osWritebackDCache(dst, assetCacheCurrentSize);
if (sp2B == 2) { if (sp2B == 2) {
free((void *)comp_ptr); free((void *)comp_ptr);
} }

View File

@@ -3,11 +3,11 @@
#include "variables.h" #include "variables.h"
void func_8033F2B4(BKModel *model, s32 mesh_id, s16 arg2[3], s16 arg3[3]); void BKModel_getMeshCoordRange(BKModel *model, s32 mesh_id, s16 min[3], s16 max[3]);
s32 func_8033F3E8(BKModel *model, f32 position[3], s32 min_id, s32 max_id); s32 func_8033F3E8(BKModel *model, f32 position[3], s32 min_id, s32 max_id);
/* .code */ /* .code */
//performs operation "fn" for every vtx in every mesh of a model //performs operation "fn" for every vtx in every mesh of a model
void func_8033F010(BKModel *model, void (*fn)(s32, BKVtxRef *, Vtx *, s32), s32 arg3) { void BKModel_transformMeshes(BKModel *model, void (*fn)(s32, BKVtxRef *, Vtx *, s32), s32 arg3) {
s32 i; s32 i;
BKMesh *iMesh; BKMesh *iMesh;
BKVtxRef *iVtx; BKVtxRef *iVtx;
@@ -28,7 +28,7 @@ void func_8033F010(BKModel *model, void (*fn)(s32, BKVtxRef *, Vtx *, s32), s32
} }
//performs operation "fn" for every vtx in a model's mesh //performs operation "fn" for every vtx in a model's mesh
void func_8033F120(BKModel *model, s32 mesh_id, void (*fn)(s32, BKVtxRef *, Vtx *, s32), s32 arg3) { void BKModel_transformMesh(BKModel *model, s32 mesh_id, void (*fn)(s32, BKVtxRef *, Vtx *, s32), s32 arg3) {
s32 i; s32 i;
BKMesh *iMesh; BKMesh *iMesh;
BKVtxRef *iVtx; BKVtxRef *iVtx;
@@ -52,22 +52,22 @@ void func_8033F120(BKModel *model, s32 mesh_id, void (*fn)(s32, BKVtxRef *, Vtx
} }
//BKModel_getAveragePositionOfMesh //BKModel_getAveragePositionOfMesh
void func_8033F220(BKModel *model, s32 mesh_id, s16 arg2[3]) { void BKModel_getMeshCenter(BKModel *model, s32 mesh_id, s16 arg2[3]) {
s16 min[3]; s16 min[3];
s16 max[3]; s16 max[3];
func_8033F2B4(model, mesh_id, min, max); BKModel_getMeshCoordRange(model, mesh_id, min, max);
arg2[0] = (min[0] + max[0]) / 2; arg2[0] = (min[0] + max[0]) / 2;
arg2[1] = (min[1] + max[1]) / 2; arg2[1] = (min[1] + max[1]) / 2;
arg2[2] = (min[2] + max[2]) / 2; arg2[2] = (min[2] + max[2]) / 2;
} }
BKMeshList *func_8033F2AC(BKModel *arg0){ BKMeshList *BKModel_getMeshList(BKModel *arg0){
return arg0->meshList_0; return arg0->meshList_0;
} }
void func_8033F2B4(BKModel *model, s32 mesh_id, s16 arg2[3], s16 arg3[3]) { void BKModel_getMeshCoordRange(BKModel *model, s32 mesh_id, s16 min[3], s16 max[3]) {
s32 pad2C; s32 pad2C;
s32 pad28; s32 pad28;
BKMesh *mesh; BKMesh *mesh;
@@ -78,7 +78,7 @@ void func_8033F2B4(BKModel *model, s32 mesh_id, s16 arg2[3], s16 arg3[3]) {
s16 *phi_t4; s16 *phi_t4;
s32 i; s32 i;
mesh = func_802E9F9C(model->meshList_0, mesh_id); mesh = meshList_getMesh(model->meshList_0, mesh_id);
vtx_pool = vtxList_getVertices(model->vtxList_4); vtx_pool = vtxList_getVertices(model->vtxList_4);
if (mesh == NULL) return; if (mesh == NULL) return;
@@ -88,10 +88,10 @@ void func_8033F2B4(BKModel *model, s32 mesh_id, s16 arg2[3], s16 arg3[3]) {
i_vtx = &vtx_pool[*phi_t4]; i_vtx = &vtx_pool[*phi_t4];
for(i = 0; i < 3; i++){ for(i = 0; i < 3; i++){
if (phi_t4 == (s16*)(mesh + 1)) { if (phi_t4 == (s16*)(mesh + 1)) {
arg2[i] = arg3[i] = i_vtx->v.ob[i]; min[i] = max[i] = i_vtx->v.ob[i];
} else { } else {
arg2[i] = MIN(i_vtx->v.ob[i], arg2[i]); min[i] = MIN(i_vtx->v.ob[i], min[i]);
arg3[i] = MAX(i_vtx->v.ob[i], arg3[i]); max[i] = MAX(i_vtx->v.ob[i], max[i]);
} }
} }
} }
@@ -181,7 +181,7 @@ BKModel *func_8033F5F8(BKMeshList *arg0, BKVertexList *arg1) {
s32 phi_s1; s32 phi_s1;
s32 phi_s6; s32 phi_s6;
sp40 = (BKModel *)malloc((func_802E9F60(arg0) * sizeof(BKVtxRef)) + (arg0->meshCount_0 * sizeof(BKMesh)) + sizeof(BKModel)); sp40 = (BKModel *)malloc((meshList_getVtxCount(arg0) * sizeof(BKVtxRef)) + (arg0->meshCount_0 * sizeof(BKMesh)) + sizeof(BKModel));
sp40->meshList_0 = arg0; sp40->meshList_0 = arg0;
sp40->vtxList_4 = arg1; sp40->vtxList_4 = arg1;
phi_s3 = (BKMesh *)(arg0 + 1); phi_s3 = (BKMesh *)(arg0 + 1);

View File

@@ -162,7 +162,7 @@ void func_8034B580(s32 arg0) {
if ((D_80386128 >= 2.5) && (sp1C < 2.5) && (D_80371F9C == 0)) { if ((D_80386128 >= 2.5) && (sp1C < 2.5) && (D_80371F9C == 0)) {
func_802DC9DC(0, 0); func_802DC9DC(0, 0);
} }
if ((D_80386128 >= 4.0) && (sp1C < 4.0) && (func_8024F12C() == 0)) { if ((D_80386128 >= 4.0) && (sp1C < 4.0) && !pfsManager_contErr()) {
chOverlayPressStart_spawn(0, 0); chOverlayPressStart_spawn(0, 0);
if (D_80371F9C != 0) { if (D_80371F9C != 0) {
chOverlayPressStart_func_802DCDB0(); chOverlayPressStart_func_802DCDB0();
@@ -174,7 +174,7 @@ void func_8034B580(s32 arg0) {
if ((D_80386128 >= 2.5) && (sp1C < 2.5)) { if ((D_80386128 >= 2.5) && (sp1C < 2.5)) {
chOverlayCopyright_func_802DCB0C(0, 0); chOverlayCopyright_func_802DCB0C(0, 0);
} }
if ((D_80386128 >= 4.0) && (sp1C < 4.0) && (func_8024F12C() == 0)) { if ((D_80386128 >= 4.0) && (sp1C < 4.0) && !pfsManager_contErr()) {
chOverlayPressStart_spawn(0, 0); chOverlayPressStart_spawn(0, 0);
} }
break; break;

View File

@@ -83,7 +83,7 @@ void func_8034BFF8(ActorMarker *marker) {
if (marker->unk48 != NULL) { if (marker->unk48 != NULL) {
marker->unk4C = vector_new(sizeof(Struct6Es), 0); marker->unk4C = vector_new(sizeof(Struct6Es), 0);
sp2C = func_8033F2AC(marker->unk48); sp2C = BKModel_getMeshList(marker->unk48);
phi_s1 = (BKMesh *)(sp2C + 1); phi_s1 = (BKMesh *)(sp2C + 1);
for(phi_s2 = 0; phi_s2 < sp2C->meshCount_0; phi_s2++){ for(phi_s2 = 0; phi_s2 < sp2C->meshCount_0; phi_s2++){
if ((phi_s1->uid_0 >= 0x65) && (phi_s1->uid_0 < 0xC8)) { if ((phi_s1->uid_0 >= 0x65) && (phi_s1->uid_0 < 0xC8)) {

View File

@@ -122,7 +122,7 @@ Struct70s *func_8034C630(s32 arg0){
for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){ for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){
if( (iPtr->unk6 == 3) if( (iPtr->unk6 == 3)
&& func_802E9FEC(func_8033F2AC(iPtr->unk0), iPtr->unk4, arg0) && meshList_meshContainsVtx(BKModel_getMeshList(iPtr->unk0), iPtr->unk4, arg0)
){ ){
return &iPtr->unk8; return &iPtr->unk8;
} }
@@ -131,7 +131,7 @@ Struct70s *func_8034C630(s32 arg0){
} }
void func_8034C6DC(BKModel *arg0){ void func_8034C6DC(BKModel *arg0){
BKMeshList * sp2C = func_8033F2AC(arg0); BKMeshList * sp2C = BKModel_getMeshList(arg0);
s32 i; s32 i;
BKMesh * s1 = (sp2C + 1); BKMesh * s1 = (sp2C + 1);
for(i = 0; i < sp2C->meshCount_0; i++){ for(i = 0; i < sp2C->meshCount_0; i++){

View File

@@ -26,5 +26,5 @@ void func_8034CB9C(Struct6Fs *arg0, BKModel *model, s32 mesh_id) {
arg0->unk0 = 0.3f; arg0->unk0 = 0.3f;
arg0->unk4 = -arg0->unk4; arg0->unk4 = -arg0->unk4;
} }
func_8033F120(model, mesh_id, func_8034CA80, (s32) arg0); BKModel_transformMesh(model, mesh_id, func_8034CA80, (s32) arg0);
} }

View File

@@ -45,5 +45,5 @@ void func_8034CD8C(Struct71s *arg0, BKModel *arg1, s32 arg2) {
if ((arg0->unk0 == 2) && func_8025773C(&arg0->unkC, temp_f14)) { if ((arg0->unk0 == 2) && func_8025773C(&arg0->unkC, temp_f14)) {
func_8034CD08(arg0, 1); func_8034CD08(arg0, 1);
} }
func_8033F120(arg1, arg2, func_8034CC50, (s32) arg0); BKModel_transformMesh(arg1, arg2, func_8034CC50, (s32) arg0);
} }

View File

@@ -20,7 +20,7 @@ void func_8034CF90(Struct72s *arg0, BKModel *arg1, s32 arg2) {
arg0->unk0 += randf2(-0.04f, 0.04f); arg0->unk0 += randf2(-0.04f, 0.04f);
arg0->unk0 = (arg0->unk0 > 1.0f) ? 1.0f : arg0->unk0; arg0->unk0 = (arg0->unk0 > 1.0f) ? 1.0f : arg0->unk0;
arg0->unk0 = (arg0->unk0 < 0.8) ? 0.8 : arg0->unk0; arg0->unk0 = (arg0->unk0 < 0.8) ? 0.8 : arg0->unk0;
func_8033F120(arg1, arg2, func_8034CE90, (s32) arg0); BKModel_transformMesh(arg1, arg2, func_8034CE90, (s32) arg0);
} }
void func_8034D048(Struct72s *arg0, BKModel *arg1, s32 arg2) { void func_8034D048(Struct72s *arg0, BKModel *arg1, s32 arg2) {
@@ -28,5 +28,5 @@ void func_8034D048(Struct72s *arg0, BKModel *arg1, s32 arg2) {
arg0->unk0 += (osGetCount() & 0x1F) / 387.5; arg0->unk0 += (osGetCount() & 0x1F) / 387.5;
arg0->unk0 = (arg0->unk0 > 1.0f) ? 1.0f : arg0->unk0; arg0->unk0 = (arg0->unk0 > 1.0f) ? 1.0f : arg0->unk0;
arg0->unk0 = (arg0->unk0 < 0.8) ? 0.8 : arg0->unk0; arg0->unk0 = (arg0->unk0 < 0.8) ? 0.8 : arg0->unk0;
func_8033F120(arg1, arg2, func_8034CE90, (s32) arg0); BKModel_transformMesh(arg1, arg2, func_8034CE90, (s32) arg0);
} }

View File

@@ -28,5 +28,5 @@ void func_8034D194(Struct_core2_C61C0_0 *arg0, BKModel *model, s32 mesh_id) {
arg0->unk0 -= 16384.0f; arg0->unk0 -= 16384.0f;
} }
arg0->unk4 = (s16)arg0->unk0; arg0->unk4 = (s16)arg0->unk0;
func_8033F120(model, mesh_id, func_8034D150, (s32) arg0); BKModel_transformMesh(model, mesh_id, func_8034D150, (s32) arg0);
} }

View File

@@ -4,7 +4,7 @@
void func_8034E174(Struct6Ds *arg0); void func_8034E174(Struct6Ds *arg0);
void func_8033F120(BKModel *, s32, void (*)(s32, BKVtxRef*, Vtx*, s32), s32); void BKModel_transformMesh(BKModel *, s32, void (*)(s32, BKVtxRef*, Vtx*, s32), s32);
extern f32 D_80379200; extern f32 D_80379200;
extern f64 D_80379208; extern f64 D_80379208;
@@ -145,7 +145,7 @@ void func_8034DD74(Struct6Ds *arg0, s32 arg1, BKModel *model, s32 mesh_id) {
arg0->unk98 = 0.0f; arg0->unk98 = 0.0f;
arg0->unk44 = 0.0f; arg0->unk44 = 0.0f;
arg0->unk48 = 0.0f; arg0->unk48 = 0.0f;
func_8033F2B4(model, mesh_id, arg0->unk14, arg0->unk1A); BKModel_getMeshCoordRange(model, mesh_id, arg0->unk14, arg0->unk1A);
} }
void func_8034DDF0(Struct6Ds *arg0, f32 arg1[3], f32 arg2[3], f32 arg3, s32 arg4){ void func_8034DDF0(Struct6Ds *arg0, f32 arg1[3], f32 arg2[3], f32 arg3, s32 arg4){
@@ -281,7 +281,7 @@ void func_8034E26C(Struct6Ds *arg0, BKModel *model, s32 mesh_id) {
arg0->unk28 = 2; arg0->unk28 = 2;
} }
} }
func_8033F120(model, mesh_id, func_8034D240, (s32) arg0); BKModel_transformMesh(model, mesh_id, func_8034D240, (s32) arg0);
if (arg0->unk28 != 0) { if (arg0->unk28 != 0) {
arg0->unk28--; arg0->unk28--;
if (arg0->unk28 == 0) { if (arg0->unk28 == 0) {
@@ -300,9 +300,9 @@ void func_8034E26C(Struct6Ds *arg0, BKModel *model, s32 mesh_id) {
} }
if (arg0->unk29 == 5) { if (arg0->unk29 == 5) {
func_8033F120(model, mesh_id, func_8034D9C8, (s32) arg0); BKModel_transformMesh(model, mesh_id, func_8034D9C8, (s32) arg0);
} else { } else {
func_8033F120(model, mesh_id, func_8034D740, (s32) arg0); BKModel_transformMesh(model, mesh_id, func_8034D740, (s32) arg0);
} }
if (arg0->unk28 != 0) { if (arg0->unk28 != 0) {
@@ -340,16 +340,16 @@ void func_8034E26C(Struct6Ds *arg0, BKModel *model, s32 mesh_id) {
} }
switch (arg0->unk29) { switch (arg0->unk29) {
case 1: case 1:
func_8033F120(model, mesh_id, func_8034D554, (s32) arg0); BKModel_transformMesh(model, mesh_id, func_8034D554, (s32) arg0);
break; break;
case 2: case 2:
func_8033F120(model, mesh_id, func_8034D634, (s32) arg0); BKModel_transformMesh(model, mesh_id, func_8034D634, (s32) arg0);
break; break;
case 3: case 3:
func_8033F120(model, mesh_id, func_8034D700, (s32) arg0); BKModel_transformMesh(model, mesh_id, func_8034D700, (s32) arg0);
break; break;
case 4: case 4:
func_8033F120(model, mesh_id, func_8034DA7C, (s32) arg0); BKModel_transformMesh(model, mesh_id, func_8034DA7C, (s32) arg0);
break; break;
} }
if (arg0->unk48 <= arg0->unk44) { if (arg0->unk48 <= arg0->unk44) {

View File

@@ -39,7 +39,7 @@ void func_8034E71C(Struct73s *arg0, s32 arg1, f32 arg2) {
if (arg2 == 0.0f) { if (arg2 == 0.0f) {
arg0->dy = arg1; arg0->dy = arg1;
sp18 = func_8034C4F0(arg0); sp18 = func_8034C4F0(arg0);
func_8033F120(sp18, func_8034C50C(arg0), func_8034E660, (s32) arg0); BKModel_transformMesh(sp18, func_8034C50C(arg0), func_8034E660, (s32) arg0);
} }
} }
@@ -104,5 +104,5 @@ void func_8034E8E4(Struct73s *arg0, BKModel *arg1, s32 arg2) {
sp28 = ((arg0->unk14 < arg0->unk1C) ? arg0->unkC + ((arg0->unk14 / arg0->unk1C) * (arg0->unkE - arg0->unkC)) : arg0->unkE); sp28 = ((arg0->unk14 < arg0->unk1C) ? arg0->unkC + ((arg0->unk14 / arg0->unk1C) * (arg0->unkE - arg0->unkC)) : arg0->unkE);
sp28 += sp2C; sp28 += sp2C;
arg0->dy = (sp28 >= 0.0) ? sp28 + 0.5 : sp28 - 0.5; arg0->dy = (sp28 >= 0.0) ? sp28 + 0.5 : sp28 - 0.5;
func_8033F120(arg1, arg2, func_8034E660, (s32) arg0); BKModel_transformMesh(arg1, arg2, func_8034E660, (s32) arg0);
} }

View File

@@ -28,7 +28,7 @@ void func_8034EE2C(Struct77s *arg0, s32 arg1, BKModel *arg2, s32 arg3) {
s16 sp28[3]; s16 sp28[3];
s16 sp20[3]; s16 sp20[3];
func_8033F2B4(arg2, arg3, sp28, sp20); BKModel_getMeshCoordRange(arg2, arg3, sp28, sp20);
arg0->unk0 = 1.0f; arg0->unk0 = 1.0f;
arg0->unk4 = 0.0f; arg0->unk4 = 0.0f;
arg0->unk8 = 0.0f; arg0->unk8 = 0.0f;
@@ -57,5 +57,5 @@ void func_8034EF60(Struct77s *arg0, BKModel *arg1, s32 arg2) {
sp2C[1] = ((50.0f * sinf(arg0->unk2C * 0.5 * BAD_PI)) + (cosf(arg0->unk2C * 0.22 * BAD_PI) * 100.0f)) * 0.8; sp2C[1] = ((50.0f * sinf(arg0->unk2C * 0.5 * BAD_PI)) + (cosf(arg0->unk2C * 0.22 * BAD_PI) * 100.0f)) * 0.8;
arg0->unk28[0] = (sp2C[0] >= 0.0) ? (sp2C[0] + 0.5) : (sp2C[0] - 0.5); arg0->unk28[0] = (sp2C[0] >= 0.0) ? (sp2C[0] + 0.5) : (sp2C[0] - 0.5);
arg0->unk28[1] = (sp2C[1] >= 0.0) ? (sp2C[1] + 0.5) : (sp2C[1] - 0.5); arg0->unk28[1] = (sp2C[1] >= 0.0) ? (sp2C[1] + 0.5) : (sp2C[1] - 0.5);
func_8033F120(arg1, arg2, &func_8034EC50, arg0); BKModel_transformMesh(arg1, arg2, &func_8034EC50, arg0);
} }

View File

@@ -28,5 +28,5 @@ void func_8034F268(Struct75s *arg0, BKModel *arg1, s32 arg2) {
} else { } else {
arg0->unk0 = 0.0f; arg0->unk0 = 0.0f;
} }
func_8033F120(arg1, arg2, func_8034F1C0, (s32) arg0); BKModel_transformMesh(arg1, arg2, func_8034F1C0, (s32) arg0);
} }

View File

@@ -32,5 +32,5 @@ void func_8034F398(f32 *arg0, BKModel *arg1, s32 arg2) {
} else { } else {
*arg0 = 0.0f; *arg0 = 0.0f;
} }
func_8033F120(arg1, arg2, func_8034F2F0, (s32) arg0); BKModel_transformMesh(arg1, arg2, func_8034F2F0, (s32) arg0);
} }

View File

@@ -67,5 +67,5 @@ void func_8034F5B0(Struct76s *arg0, BKModel *arg1, s32 arg2){
func_8034F434(arg0, 0); func_8034F434(arg0, 0);
} }
} }
func_8033F120(arg1, arg2, func_8034F420, (s32) arg0); BKModel_transformMesh(arg1, arg2, func_8034F420, (s32) arg0);
} }

View File

@@ -56,7 +56,7 @@ extern void func_8028FA14(enum map_e, s32);
extern void quizQuestionAskedBitfield_set(u32, int); // ff_isAsked_flag_set extern void quizQuestionAskedBitfield_set(u32, int); // ff_isAsked_flag_set
extern int quizQuestionAskedBitfield_get(u32); // ff_isAsked_flag_get extern int quizQuestionAskedBitfield_get(u32); // ff_isAsked_flag_get
extern void func_8033F220(BKModel *model, s32 mesh_id, s16 [3]); //! $a2 type unk extern void BKModel_getMeshCenter(BKModel *model, s32 mesh_id, s16 [3]); //! $a2 type unk
extern s32 func_803203FC(s32); // get volatile flag extern s32 func_803203FC(s32); // get volatile flag
extern void func_80295864(s32); // set unlocked moves bitfield extern void func_80295864(s32); // set unlocked moves bitfield
@@ -484,7 +484,7 @@ void lair_func_8038C6BC(void)
ptr->unk10 = 0.45f; ptr->unk10 = 0.45f;
} }
func_8033F220(D_8037DCB8->unk0, s1, &ptr->unkA); BKModel_getMeshCenter(D_8037DCB8->unk0, s1, &ptr->unkA);
} }
} }
@@ -506,11 +506,11 @@ void func_8038C9D0(void) {
} else if ((phi_s0->unk9 != 0) && (phi_s0->unk10 < 0.95)) { } else if ((phi_s0->unk9 != 0) && (phi_s0->unk10 < 0.95)) {
phi_s0->unk10 = MIN(phi_s0->unk10 + 0.05, 0.95); phi_s0->unk10 = MIN(phi_s0->unk10 + 0.05, 0.95);
} }
func_8033F120(D_8037DCB8->unk0, phi_s1, func_8038C3A0, (s32) phi_s0); BKModel_transformMesh(D_8037DCB8->unk0, phi_s1, func_8038C3A0, (s32) phi_s0);
phi_s0++; phi_s0++;
} }
func_8033F120(D_8037DCB8->unk0, 0x1F1, func_8038C7A0, (s32) phi_s0); BKModel_transformMesh(D_8037DCB8->unk0, 0x1F1, func_8038C7A0, (s32) phi_s0);
if ( !((D_8037DCB8->currFfMode != FFA_3_TRIGGER_QUESTION) && (D_8037DCB8->currFfMode != FFA_4_UNK)) if ( !((D_8037DCB8->currFfMode != FFA_3_TRIGGER_QUESTION) && (D_8037DCB8->currFfMode != FFA_4_UNK))
&& (0.5 < D_8037DCB8->unk14) && (0.5 < D_8037DCB8->unk14)
) { ) {

View File

@@ -737,6 +737,8 @@ mapSavestate_defrag_all = 0x802E2ED4;
mapSavestate_save = 0x802E2F2C; mapSavestate_save = 0x802E2F2C;
mapSavestate_apply = 0x802E30AC; mapSavestate_apply = 0x802E30AC;
getGameMode = 0x802E49FC; getGameMode = 0x802E49FC;
meshList_getVtxVCount = 0x802E9F60;
vtxList_getVertices = 0x802EC450; vtxList_getVertices = 0x802EC450;
vtxList_free = 0x802EC994; vtxList_free = 0x802EC994;
vtxList_clone = 0x802EC9B4; vtxList_clone = 0x802EC9B4;
@@ -1148,7 +1150,7 @@ D_80381E90 = 0x80381E90;
jiggyscore = 0x803832C0; jiggyscore = 0x803832C0;
sHoneycombScore = 0x803832E0; sHoneycombScore = 0x803832E0;
sMumboTokenScore = 0x803832F0; sMumboTokenScore = 0x803832F0;
assetCache_depCount = 0x80383CD8; assetCacheDependencyCount = 0x80383CD8;
D_A00001D8 = 0xA00001D8; D_A00001D8 = 0xA00001D8;
D_5E90 = 0x5E90; D_5E90 = 0x5E90;
D_D846C0 = 0xD846C0; D_D846C0 = 0xD846C0;