Attempt to decompile acousticReset
This commit is contained in:
parent
3561f42f0a
commit
e769524c34
|
|
@ -426,7 +426,7 @@ void coreLoadStage(s32 stagenum)
|
|||
}
|
||||
}
|
||||
|
||||
func0f0b6764();
|
||||
acousticReset();
|
||||
func0f0b65f8();
|
||||
func0f001bdc();
|
||||
setCurrentPlayerNum(0);
|
||||
|
|
|
|||
|
|
@ -84,8 +84,8 @@ const char var7f1ad2f0[] = "Acoustic Reset -> Allocating %d bytes for %d roomaco
|
|||
const char var7f1ad33c[] = "ACOUSTIC -> room %d bb %f %f\n";
|
||||
const char var7f1ad360[] = "ACOUSTIC -> DGD: acousticReset room %d does not have a 3D bounding box => radata[room].roomvolume is bodged!\n";
|
||||
const char var7f1ad3d0[] = "%s%sL2 -> Surface area bodged for room %d - using %f\n";
|
||||
const u32 var7f1ad408[] = {0x00000000};
|
||||
const u32 var7f1ad40c[] = {0x00000000};
|
||||
const char var7f1ad408[] = "";
|
||||
const char var7f1ad40c[] = "";
|
||||
|
||||
const u32 var7f1ad410[] = {0x3b808081};
|
||||
const u32 var7f1ad414[] = {0x3d888889};
|
||||
|
|
@ -314,7 +314,7 @@ void func0f0b65f8(void)
|
|||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0b6764
|
||||
glabel acousticReset
|
||||
/* f0b6764: 3c0b800a */ lui $t3,%hi(g_Vars)
|
||||
/* f0b6768: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars)
|
||||
/* f0b676c: 8d6402bc */ lw $a0,0x2bc($t3)
|
||||
|
|
@ -332,8 +332,8 @@ glabel func0f0b6764
|
|||
/* f0b679c: 3c0b800a */ lui $t3,%hi(g_Vars)
|
||||
/* f0b67a0: 256b9fc0 */ addiu $t3,$t3,%lo(g_Vars)
|
||||
/* f0b67a4: 8d6302bc */ lw $v1,0x2bc($t3)
|
||||
/* f0b67a8: 3c07800a */ lui $a3,%hi(var8009dd70)
|
||||
/* f0b67ac: 24e7dd70 */ addiu $a3,$a3,%lo(var8009dd70)
|
||||
/* f0b67a8: 3c07800a */ lui $a3,%hi(g_RoomAcousticData)
|
||||
/* f0b67ac: 24e7dd70 */ addiu $a3,$a3,%lo(g_RoomAcousticData)
|
||||
/* f0b67b0: ace20000 */ sw $v0,0x0($a3)
|
||||
/* f0b67b4: 18600066 */ blez $v1,.L0f0b6950
|
||||
/* f0b67b8: 00003025 */ or $a2,$zero,$zero
|
||||
|
|
@ -487,6 +487,80 @@ glabel func0f0b6764
|
|||
/* f0b69cc: 27bd0030 */ addiu $sp,$sp,0x30
|
||||
);
|
||||
|
||||
// Mismatch: regalloc for range variable
|
||||
//void acousticReset(void)
|
||||
//{
|
||||
// s32 i;
|
||||
// s32 j;
|
||||
// u32 size = ALIGN16(g_Vars.roomcount * sizeof(struct roomacousticdata));
|
||||
// f32 range;
|
||||
// f32 width;
|
||||
// f32 height;
|
||||
// f32 depth;
|
||||
// f32 halfsurfacearea;
|
||||
//
|
||||
// osSyncPrintf("Acoustic Reset -> Allocating %d bytes for %d roomacousticdata structures\n", size, g_Vars.roomcount);
|
||||
//
|
||||
// g_RoomAcousticData = malloc(size, 4);
|
||||
//
|
||||
// for (i = 0; i < g_Vars.roomcount; i++) {
|
||||
// bool allgood = true;
|
||||
//
|
||||
// g_RoomAcousticData[i].roomvolume = 1;
|
||||
// g_RoomAcousticData[i].surfacearea = 1;
|
||||
//
|
||||
// for (j = 0; j < 3; j++) {
|
||||
// osSyncPrintf("ACOUSTIC -> room %d bb %f %f\n", i, g_Rooms[i].bbmin[j], g_Rooms[i].bbmax[j]);
|
||||
//
|
||||
// range = g_Rooms[i].bbmax[j] - g_Rooms[i].bbmin[j];
|
||||
//
|
||||
// if (range > 0) {
|
||||
// g_RoomAcousticData[i].roomvolume *= range / 100;
|
||||
// } else {
|
||||
// osSyncPrintf("ACOUSTIC -> DGD: acousticReset room %d does not have a 3D bounding box => radata[room].roomvolume is bodged!\n", i);
|
||||
// allgood = false;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (allgood) {
|
||||
// if (g_Rooms[i].bbmin[0] < g_Rooms[i].bbmax[0]) {
|
||||
// width = g_Rooms[i].bbmax[0] - g_Rooms[i].bbmin[0];
|
||||
// } else {
|
||||
// width = -(g_Rooms[i].bbmax[0] - g_Rooms[i].bbmin[0]);
|
||||
// }
|
||||
//
|
||||
// if (g_Rooms[i].bbmin[1] < g_Rooms[i].bbmax[1]) {
|
||||
// height = g_Rooms[i].bbmax[1] - g_Rooms[i].bbmin[1];
|
||||
// } else {
|
||||
// height = -(g_Rooms[i].bbmax[1] - g_Rooms[i].bbmin[1]);
|
||||
// }
|
||||
//
|
||||
// if (g_Rooms[i].bbmin[2] < g_Rooms[i].bbmax[2]) {
|
||||
// depth = g_Rooms[i].bbmax[2] - g_Rooms[i].bbmin[2];
|
||||
// } else {
|
||||
// depth = -(g_Rooms[i].bbmax[2] - g_Rooms[i].bbmin[2]);
|
||||
// }
|
||||
//
|
||||
// halfsurfacearea = width * height + width * depth + height * depth;
|
||||
//
|
||||
// g_RoomAcousticData[i].surfacearea = halfsurfacearea + halfsurfacearea;
|
||||
// } else {
|
||||
// osSyncPrintf("%s%sL2 -> Surface area bodged for room %d - using %f\n", "", "", i, 20000000);
|
||||
// g_RoomAcousticData[i].surfacearea = 20000000;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// for (j = 0; j < g_Vars.roomcount; j++) {
|
||||
// g_RoomAcousticData[j].unk08 = 0;
|
||||
// g_RoomAcousticData[j].unk04 = g_RoomAcousticData[j].unk08;
|
||||
// }
|
||||
//
|
||||
// for (j = 0; j < ARRAYCOUNT(var8009dd78); j++) {
|
||||
// var8009dd78[j].unk00 = -1;
|
||||
// var8009dd78[j].unk04 = 0;
|
||||
// }
|
||||
//}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0b69d0
|
||||
/* f0b69d0: 27bdfd78 */ addiu $sp,$sp,-648
|
||||
|
|
|
|||
|
|
@ -6782,21 +6782,21 @@ bool func0f15cd90(u32 room, struct screenbox *screen)
|
|||
|
||||
for (i = 0; i != 8; i++) {
|
||||
if (i & 1) {
|
||||
corner.x = g_Rooms[room].unk18.x;
|
||||
corner.x = g_Rooms[room].bbmin[0];
|
||||
} else {
|
||||
corner.x = g_Rooms[room].unk24.x;
|
||||
corner.x = g_Rooms[room].bbmax[0];
|
||||
}
|
||||
|
||||
if (i & 2) {
|
||||
corner.y = g_Rooms[room].unk18.y;
|
||||
corner.y = g_Rooms[room].bbmin[1];
|
||||
} else {
|
||||
corner.y = g_Rooms[room].unk24.y;
|
||||
corner.y = g_Rooms[room].bbmax[1];
|
||||
}
|
||||
|
||||
if (i & 4) {
|
||||
corner.z = g_Rooms[room].unk18.z;
|
||||
corner.z = g_Rooms[room].bbmin[2];
|
||||
} else {
|
||||
corner.z = g_Rooms[room].unk24.z;
|
||||
corner.z = g_Rooms[room].bbmax[2];
|
||||
}
|
||||
|
||||
if (func0f15d08c(&corner, &roomscreenpos) == 0) {
|
||||
|
|
|
|||
|
|
@ -14702,28 +14702,9 @@ u32 var8009dd60 = 0;
|
|||
u32 var8009dd64 = 0;
|
||||
u32 var8009dd68 = 0;
|
||||
u32 var8009dd6c = 0;
|
||||
u32 var8009dd70 = 0;
|
||||
struct roomacousticdata *g_RoomAcousticData = NULL;
|
||||
u32 var8009dd74 = 0;
|
||||
u32 var8009dd78 = 0;
|
||||
u32 var8009dd7c = 0;
|
||||
u32 var8009dd80 = 0;
|
||||
u32 var8009dd84 = 0;
|
||||
u32 var8009dd88 = 0;
|
||||
u32 var8009dd8c = 0;
|
||||
u32 var8009dd90 = 0;
|
||||
u32 var8009dd94 = 0;
|
||||
u32 var8009dd98 = 0;
|
||||
u32 var8009dd9c = 0;
|
||||
u32 var8009dda0 = 0;
|
||||
u32 var8009dda4 = 0;
|
||||
u32 var8009dda8 = 0;
|
||||
u32 var8009ddac = 0;
|
||||
u32 var8009ddb0 = 0;
|
||||
u32 var8009ddb4 = 0;
|
||||
u32 var8009ddb8 = 0;
|
||||
u32 var8009ddbc = 0;
|
||||
u32 var8009ddc0 = 0;
|
||||
u32 var8009ddc4 = 0;
|
||||
struct var8009dd78 var8009dd78[10] = {0};
|
||||
u16 *var8009ddc8 = NULL;
|
||||
s32 var8009ddcc = 0;
|
||||
s32 g_DefaultWeapons[2] = {0};
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ void func0f0b6534(s32 arg0);
|
|||
void func0f0b656c(s32 arg0);
|
||||
u32 func0f0b65a8(void);
|
||||
void func0f0b65f8(void);
|
||||
void func0f0b6764(void);
|
||||
void acousticReset(void);
|
||||
f32 func0f0b69d0(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop, s16 *spawnpads, s16 numspawnpads);
|
||||
f32 func0f0b72a8(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop);
|
||||
void func0f0b72dc(void);
|
||||
|
|
|
|||
|
|
@ -579,8 +579,8 @@ extern u32 var8009dd40;
|
|||
extern u32 var8009dd50;
|
||||
extern u32 var8009dd60;
|
||||
extern u32 var8009dd6c;
|
||||
extern u32 var8009dd70;
|
||||
extern u32 var8009dd78;
|
||||
extern struct roomacousticdata *g_RoomAcousticData;
|
||||
extern struct var8009dd78 var8009dd78[10];
|
||||
extern u16 *var8009ddc8;
|
||||
extern s32 var8009ddcc;
|
||||
extern s32 g_DefaultWeapons[2];
|
||||
|
|
|
|||
|
|
@ -3503,8 +3503,8 @@ struct room {
|
|||
/*0x0e*/ s16 unk0e;
|
||||
/*0x10*/ u32 unk10;
|
||||
/*0x14*/ struct room14 *unk14;
|
||||
/*0x18*/ struct coord unk18;
|
||||
/*0x24*/ struct coord unk24;
|
||||
/*0x18*/ f32 bbmin[3];
|
||||
/*0x24*/ f32 bbmax[3];
|
||||
/*0x30*/ u32 unk30;
|
||||
/*0x34*/ u32 unk34;
|
||||
/*0x38*/ u32 unk38;
|
||||
|
|
@ -6792,4 +6792,16 @@ struct var8009cb08 {
|
|||
u32 unk24;
|
||||
};
|
||||
|
||||
struct roomacousticdata {
|
||||
f32 surfacearea;
|
||||
f32 unk04;
|
||||
f32 unk08;
|
||||
f32 roomvolume;
|
||||
};
|
||||
|
||||
struct var8009dd78 {
|
||||
s16 unk00;
|
||||
f32 unk04;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue