Merge pull request #473 from dbalatoni13/main

More PAL porting of RELs
This commit is contained in:
Liam Coleman 2024-11-17 21:10:15 -06:00 committed by GitHub
commit eaab26c769
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 873 additions and 786 deletions

View file

@ -14,6 +14,7 @@
#include "math.h"
#include "string.h"
#include "version.h"
// bss
omObjData *lbl_1_bss_6C;
@ -117,7 +118,7 @@ s32 fn_1_4A4(void)
var_r31 = &lbl_1_data_78[0];
var_r30 = 0;
lbl_1_bss_4++;
var_f31 = lbl_1_bss_4 / 120.0f;
var_f31 = lbl_1_bss_4 / (2 * REFRESH_RATE_F);
if (var_f31 > 1.0f) {
lbl_1_bss_4 = 0;
var_f31 = 1.0f;
@ -144,7 +145,7 @@ s32 fn_1_6C8(void)
var_r31 = &lbl_1_data_78[1];
var_r30 = 0;
lbl_1_bss_4++;
var_f31 = lbl_1_bss_4 / 120.0f;
var_f31 = lbl_1_bss_4 / (2 * REFRESH_RATE_F);
if (var_f31 > 1.0f) {
lbl_1_bss_4 = 0;
var_f31 = 1.0f;
@ -173,7 +174,7 @@ void fn_1_8F0(omObjData *arg0)
temp_r31->unk0 = 1;
temp_r31->unk4 = -1;
temp_r31->unk8 = -1;
temp_r31->unk6 = 0x12C;
temp_r31->unk6 = 5 * REFRESH_RATE;
temp_r31->unkA = 0;
temp_r31->unkC = -1;
@ -215,7 +216,7 @@ void fn_1_AE0(omObjData *arg0)
break;
case 3:
if (temp_r31->unk8 != -1) {
MGSeqParamSet(temp_r31->unk8, 1, ((temp_r31->unk6 + 0x3B) / 60));
MGSeqParamSet(temp_r31->unk8, 1, ((temp_r31->unk6 + REFRESH_RATE - 1) / REFRESH_RATE));
}
if ((temp_r31->unkC < 0) && ((MGSeqStatGet(temp_r31->unk4) & 0x10) != 0)) {
temp_r31->unkC = HuAudSeqPlay(0x49);
@ -226,7 +227,7 @@ void fn_1_AE0(omObjData *arg0)
temp_f31 = (((rand8() << 8) | rand8()) % 361);
Center.x = (lbl_1_data_78[1].center.x + (10.0 * sind(temp_f31)));
Center.y = (lbl_1_data_78[1].center.y + (10.0 * cosd(temp_f31)));
if (temp_r31->unkA > 0x28) {
if (temp_r31->unkA > (2 * REFRESH_RATE / 3)) {
temp_r31->unkA = 0;
return;
}
@ -265,7 +266,7 @@ u8 fn_1_E14(omObjData *arg0)
lbl_1_bss_6++;
break;
case 1:
if (++lbl_1_bss_8 > 0x1E) {
if (++lbl_1_bss_8 > (s16)(0.5f * REFRESH_RATE_F)) {
fn_1_F168();
lbl_1_bss_8 = 0;
lbl_1_bss_6++;
@ -275,7 +276,7 @@ u8 fn_1_E14(omObjData *arg0)
var_r31 = lbl_1_data_78;
var_r30 = 0;
lbl_1_bss_4++;
var_f31 = lbl_1_bss_4 / 120.0f;
var_f31 = lbl_1_bss_4 / (2 * REFRESH_RATE_F);
if (var_f31 > 1.0f) {
lbl_1_bss_4 = 0;
var_f31 = 1.0f;
@ -319,7 +320,7 @@ u8 fn_1_1138(omObjData *object)
temp_r30->unk40 = temp_r30->unk34;
}
lbl_1_bss_8++;
var_f30 = lbl_1_bss_8 / 30.0f;
var_f30 = lbl_1_bss_8 / (0.5f * REFRESH_RATE_F);
if (var_f30 >= 1.0f) {
var_f30 = 1.0f;
if (lbl_1_bss_B == 0) {
@ -331,7 +332,7 @@ u8 fn_1_1138(omObjData *object)
var_r31 = &lbl_1_data_78[1]; // could be fn_1_6C8
var_r28 = 0;
lbl_1_bss_4++;
var_f31 = lbl_1_bss_4 / 120.0f;
var_f31 = lbl_1_bss_4 / (2 * REFRESH_RATE_F);
if (var_f31 > 1.0f) {
lbl_1_bss_4 = 0;
var_f31 = 1.0f;
@ -357,7 +358,7 @@ u8 fn_1_1138(omObjData *object)
lbl_1_bss_8 = 0;
break;
case 2:
if (++lbl_1_bss_8 > 210.0f) {
if (++lbl_1_bss_8 > (3.5f * REFRESH_RATE)) {
lbl_1_bss_6 = 0;
return 1;
}
@ -392,7 +393,7 @@ void fn_1_1768(void)
temp_r31 = (unkStruct2 *)lbl_1_bss_6C->data;
if (temp_r31->unk8 == -1) {
temp_r31->unk6 = 0x12C;
temp_r31->unk6 = 5 * REFRESH_RATE;
temp_r31->unk8 = MGSeqCreate(1, 5, -1, -1);
}
}
@ -695,7 +696,7 @@ void fn_1_2B04(omObjData *object)
switch (lbl_1_data_E4[0]) {
case 0:
lbl_1_data_E8[0]++;
temp_f31 = lbl_1_data_E8[0] / 360.0f;
temp_f31 = lbl_1_data_E8[0] / (6 * REFRESH_RATE_F);
if (temp_f31 > 1.0f) {
temp_f31 = 1.0f;
Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF);
@ -752,15 +753,15 @@ void fn_1_2D28(omObjData *object)
break;
case 0x1:
lbl_1_data_F0[0]++;
var_f31 = lbl_1_data_F0[0] / 120.0f;
var_f31 = lbl_1_data_F0[0] / (2 * REFRESH_RATE_F);
if (var_f31 > 1.0f) {
var_f31 = 1.0f;
lbl_1_data_F0[0] = 0;
lbl_1_data_F0[1] = 0xF;
lbl_1_data_F0[1] = REFRESH_RATE / 4;
lbl_1_data_EC[1] = (lbl_1_data_EC[0] + 1);
lbl_1_data_EC[0] = 0x63;
}
if (110.0f == lbl_1_data_F0[0]) {
if ((11 * REFRESH_RATE_F / 6) == lbl_1_data_F0[0]) {
HuAudFXPlay(0x70A);
}
var_f31 = sin((M_PI * (90.0f * var_f31)) / 180.0);
@ -771,11 +772,11 @@ void fn_1_2D28(omObjData *object)
HuAudFXPlay(0x713);
}
lbl_1_data_F0[0]++;
var_f31 = lbl_1_data_F0[0] / 60.0f;
var_f31 = lbl_1_data_F0[0] / REFRESH_RATE_F;
if (var_f31 > 1.0f) {
var_f31 = 1.0f;
lbl_1_data_F0[0] = 0;
lbl_1_data_F0[1] = 0xF;
lbl_1_data_F0[1] = REFRESH_RATE / 4;
lbl_1_data_EC[1] = lbl_1_data_EC[0] + 1;
lbl_1_data_EC[0] = 0x63;
HuAudFXPlay(0x714);
@ -788,7 +789,7 @@ void fn_1_2D28(omObjData *object)
if (lbl_1_data_F0[0] == 0) {
HuAudFXPlay(0x711);
}
if (++lbl_1_data_F0[0] > 12.0) {
if (++lbl_1_data_F0[0] > (0.2 * REFRESH_RATE)) {
if (fn_1_4EA8(0x40) != 0) {
fn_1_4EEC(0x40, 0);
fn_1_F228();
@ -801,7 +802,7 @@ void fn_1_2D28(omObjData *object)
break;
case 0x4:
lbl_1_data_F0[0]++;
var_f31 = lbl_1_data_F0[0] / 360.0f;
var_f31 = lbl_1_data_F0[0] / (6 * REFRESH_RATE_F);
if (var_f31 > 1.0f) {
var_f31 = 1.0f;
Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF);
@ -1021,7 +1022,7 @@ void fn_1_46E0(omObjData *object)
break;
case 0x1:
lbl_1_data_108[0]++;
var_f31 = lbl_1_data_108[0] / 60.0f;
var_f31 = lbl_1_data_108[0] / REFRESH_RATE_F;
if (var_f31 > 1.0f) {
var_f31 = 1.0f;
lbl_1_data_108[0] = 0;
@ -1083,7 +1084,7 @@ void fn_1_4B44(omObjData *object)
switch (lbl_1_data_104[0]) {
case 0:
lbl_1_data_108[0]++;
var_f31 = lbl_1_data_108[0] / 60.0f;
var_f31 = lbl_1_data_108[0] / REFRESH_RATE_F;
if (var_f31 > 1.0f) {
var_f31 = 1.0f;
lbl_1_data_108[0] = 0;
@ -1094,7 +1095,7 @@ void fn_1_4B44(omObjData *object)
break;
case 1:
lbl_1_data_108[0]++;
var_f31 = (lbl_1_data_108[0] / 30.0f);
var_f31 = (lbl_1_data_108[0] / (0.5f * REFRESH_RATE_F));
if (var_f31 >= 1.0f) {
lbl_1_data_108[0] = 0;
lbl_1_data_104[0] = 0;
@ -1301,7 +1302,7 @@ void fn_1_57B4(unkStruct6 *arg0)
}
}
if ((arg0->unk2 & 4) != 0) {
if (++arg0->unk3E > 0x50) {
if (++arg0->unk3E > (4 * REFRESH_RATE / 3)) {
arg0->unk3C = ((arg0->unk3C - 10) < 0) ? 0 : arg0->unk3C - 10;
}
}

View file

@ -8,6 +8,12 @@
#include "game/pad.h"
#include "math.h"
#include "string.h"
#include "version.h"
#ifdef __MWERKS__
#include "game/audio.h"
#endif
// bss
@ -78,7 +84,7 @@ void fn_1_AEE4(omObjData *arg0)
temp_r31->unk30.x = temp_r31->unk30.y = temp_r31->unk30.z = 0.0f;
temp_r31->unk3C.y = 90.0f;
temp_r31->unkC = 0;
temp_r31->unkE = 0x78;
temp_r31->unkE = 2 * REFRESH_RATE_F;
temp_r31->unk10 = temp_r31->unk12 = temp_r31->unk14 = 0;
if (temp_r31->unk8 == 5) {
var_f31 = 350.0f;
@ -173,7 +179,7 @@ void fn_1_B3A4(omObjData *arg0)
var_r31->unk18.y = 0.0f;
var_r31->unk18.z = var_r31->unk24.z + (lbl_1_bss_88[var_r28].z - var_r31->unk24.z) * var_f31;
var_r31->unk14++;
var_f31 = var_r31->unk14 / 20.0f;
var_f31 = var_r31->unk14 / (REFRESH_RATE_F / 3.0f);
if (var_f31 >= 1.0f) {
var_f31 = 1.0f;
}
@ -181,7 +187,7 @@ void fn_1_B3A4(omObjData *arg0)
break;
case 7:
var_r31->unkC++;
var_f31 = (f32)var_r31->unkC / 40.0f;
var_f31 = (f32)var_r31->unkC / (2.0f * REFRESH_RATE_F / 3);
if (var_f31 >= 1.0f) {
var_f31 = 1.0f;
var_r31->unkC = 0;
@ -239,7 +245,7 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1)
switch (lbl_1_bss_74) {
case 0:
lbl_1_data_250 -= 0.5f;
lbl_1_data_250 -= (REFRESH_RATE_F / 120);
if (lbl_1_data_250 <= 45.0f) {
lbl_1_data_250 = 45.0f;
lbl_1_bss_74++;
@ -258,14 +264,14 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1)
return;
case 1:
arg1->unkE++;
var_f31 = arg1->unkE / 10.0f;
var_f31 = arg1->unkE / (REFRESH_RATE_F / 6.0f);
if (var_f31 >= 1.0f) {
var_f31 = 1.0f;
}
var_f30 = 225.0f;
arg1->unk30.y = arg1->unk68 + (var_f31 * (var_f30 - arg1->unk68));
arg1->unkC++;
var_f31 = arg1->unkC / 50.0f;
var_f31 = arg1->unkC / (5.0f * REFRESH_RATE_F / 6.0f);
if (var_f31 >= 1.0f) {
var_f31 = 1.0f;
arg1->unkC = arg1->unkE = 0;
@ -294,7 +300,7 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1)
}
break;
case 2:
lbl_1_data_250++;
lbl_1_data_250 += REFRESH_RATE_F / 60.0f;
if (lbl_1_data_250 >= lbl_1_data_0[arg1->unk60]) {
lbl_1_data_250 = lbl_1_data_0[arg1->unk60];
lbl_1_bss_74++;
@ -309,7 +315,7 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1)
var_f30 += 360.0f;
}
arg1->unkC++;
var_f31 = arg1->unkC / 10.0f;
var_f31 = arg1->unkC / (REFRESH_RATE_F / 6.0f);
if (var_f31 < 1.0f) {
arg1->unk30.y = arg1->unk68 + (var_f31 * (var_f30 - arg1->unk68));
}
@ -320,7 +326,7 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1)
return;
case 3:
arg1->unkE++;
var_f31 = arg1->unkE / 10.0f;
var_f31 = arg1->unkE / (REFRESH_RATE_F / 6.0f);
if (var_f31 >= 1.0f) {
var_f31 = 1.0f;
arg1->unkC = arg1->unkE = 0;
@ -332,7 +338,7 @@ void fn_1_B884(omObjData *arg0, unkObjStruct *arg1)
arg1->unk30.y = fn_1_927C(arg1->unk6C, var_f30, var_f31);
return;
case 4:
if (++arg1->unkC > 15) {
if (++arg1->unkC > (REFRESH_RATE / 4)) {
lbl_1_bss_74++;
}
break;
@ -443,7 +449,7 @@ void fn_1_C1D4(omObjData *arg0, unkObjStruct *arg1)
if (var_f30 < 5.0f) {
if (arg1->unk5A != 0) {
arg1->unk56++;
var_f31 = arg1->unk56 / 40.0f;
var_f31 = arg1->unk56 / (2.0f * REFRESH_RATE_F / 3.0f);
if (var_f31 > 1.0f) {
var_f31 = 1.0f;
arg1->unk5A = 0;
@ -523,7 +529,7 @@ void fn_1_C944(omObjData *arg0, unkObjStruct *arg1)
}
}
if ((arg1->unk48 & 1) != 0) {
arg1->unk68 -= 1.0f;
arg1->unk68 -= REFRESH_RATE_F / 60.0f;
if ((var_r30 != -1) && (lbl_1_data_0[var_r30] > arg1->unk68)) {
arg1->unk68 = lbl_1_data_0[var_r30];
arg1->unk4A = var_r30;
@ -531,7 +537,7 @@ void fn_1_C944(omObjData *arg0, unkObjStruct *arg1)
}
}
else if ((arg1->unk48 & 2) != 0) {
arg1->unk68++;
arg1->unk68 += REFRESH_RATE_F / 60.0f;
if ((var_r30 != -1) && (lbl_1_data_0[var_r30] < arg1->unk68)) {
arg1->unk68 = lbl_1_data_0[var_r30];
arg1->unk4A = var_r30;
@ -659,7 +665,7 @@ void fn_1_D24C(unkObjStruct *arg0, f32 arg1, f32 arg2)
f32 var_f30;
f32 var_f31;
var_f28 = 10.0f;
var_f28 = REFRESH_RATE_F / 6.0f;
arg0->unk6C = arg1;
arg0->unk70 = arg2;
var_f31 = ABS(arg1 - arg2);
@ -702,7 +708,7 @@ void fn_1_D34C(omObjData *arg0, unkObjStruct *arg1)
arg1->unk6C = 0.0f;
arg1->unk48 = 0;
lbl_1_data_14[arg1->unk4A] = 0;
if (fn_1_17CC() < 270.0f) {
if (fn_1_17CC() < (4.5f * REFRESH_RATE)) {
fn_1_1708();
}
fn_1_F4D4(arg1, 15, 4);
@ -793,7 +799,7 @@ void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1)
}
break;
case 1:
if (++arg1->unkC > 0xA) {
if (++arg1->unkC > (REFRESH_RATE / 6)) {
arg1->unkC = 0;
Hu3DMotionSpeedSet(arg0->model[0], 2.0f);
if ((arg1->unk6C - arg1->unk68) > 0.0f) {
@ -808,7 +814,7 @@ void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1)
break;
case 2:
arg1->unkC++;
var_f31 = arg1->unkC / 30.0f;
var_f31 = arg1->unkC / (0.5f * REFRESH_RATE_F);
arg1->unk18.x = ((410.0f + (var_f31 * (arg1->unk5C - 410.0f))) * cosd(lbl_1_data_0[arg1->unk4A]));
arg1->unk18.z = ((410.0f + (var_f31 * (arg1->unk5C - 410.0f))) * sind(lbl_1_data_0[arg1->unk4A]));
if (var_f31 >= 1.0f) {
@ -825,7 +831,7 @@ void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1)
arg1->unk30.y = fn_1_927C(arg1->unk68, arg1->unk6C, var_f31);
break;
case 3:
if (++arg1->unkC > 0x3C) {
if (++arg1->unkC > (s32)REFRESH_RATE_F) {
if (fn_1_4E54(arg1->unk4A) == 0) {
fn_1_4EEC(7U, 3U);
}
@ -852,7 +858,7 @@ void fn_1_D7F8(omObjData *arg0, unkObjStruct *arg1)
break;
}
if (fn_1_17F4() >= 0) {
if (fn_1_17CC() < 270.0f) {
if (fn_1_17CC() < (4.5f * REFRESH_RATE)) {
fn_1_1708();
return;
}
@ -874,7 +880,11 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1)
switch (arg1->unk60) {
case 0:
lbl_1_bss_84 = lbl_1_data_0[arg1->unk4A];
#if VERSION_NTSC
Hu3DMotionShiftSet(arg0->model[0], arg0->motion[4], 0.0f, 7.0f, HU3D_MOTATTR_LOOP);
#else
Hu3DMotionSet(arg0->model[0], arg0->motion[4]);
#endif
HuAudCharVoicePlay(arg1->unk8, 0x125);
arg1->unk60++;
break;
@ -898,7 +908,7 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1)
}
break;
case 2:
lbl_1_bss_84++;
lbl_1_bss_84 += REFRESH_RATE_F / 60.0f;
if (lbl_1_bss_84 >= 135.0f) {
lbl_1_bss_84 = 135.0f;
arg1->unkE = arg1->unk10 = 0;
@ -915,7 +925,7 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1)
var_f30 += 360.0f;
}
arg1->unkC++;
var_f31 = arg1->unkC / 10.0f;
var_f31 = arg1->unkC / (REFRESH_RATE_F / 6.0f);
if (var_f31 >= 1.0f) {
var_f31 = 1.0f;
}
@ -924,14 +934,14 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1)
break;
case 3:
arg1->unkE++;
var_f31 = arg1->unkE / 10.0f;
var_f31 = arg1->unkE / (REFRESH_RATE_F / 6.0f);
if (var_f31 >= 1.0f) {
var_f31 = 1.0f;
}
var_f30 = 315.0f;
arg1->unk30.y = arg1->unk6C + (var_f31 * (var_f30 - arg1->unk6C));
arg1->unk10++;
var_f31 = arg1->unk10 / 50.0f;
var_f31 = arg1->unk10 / (5.0f * REFRESH_RATE_F / 6.0f);
if (var_f31 >= 1.0f) {
var_f31 = 1.0f;
arg1->unkC = arg1->unkE = arg1->unk10 = 0;
@ -953,12 +963,12 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1)
}
break;
case 4:
lbl_1_bss_84 -= 0.5f;
lbl_1_bss_84 -= REFRESH_RATE_F / 120;
if (lbl_1_bss_84 <= 110.0f) {
lbl_1_bss_84 = 110.0f;
arg1->unk60 = 0;
arg1->unkC = 0;
arg1->unkE = (3 - lbl_1_data_1D8) * 0x1E;
arg1->unkE = (3 - lbl_1_data_1D8) * (s32)(0.5f * REFRESH_RATE_F);
arg1->unk14 = 0;
arg1->unk3C.y = 90.0f;
fn_1_F4D4(arg1, 15, 1);
@ -973,7 +983,7 @@ void fn_1_E034(omObjData *arg0, unkObjStruct *arg1)
var_f30 += 360.0f;
}
arg1->unk10++;
var_f31 = arg1->unk10 / 10.0f;
var_f31 = arg1->unk10 / (REFRESH_RATE_F / 6.0f);
if (var_f31 >= 1.0f) {
var_f31 = 1.0f;
}
@ -1025,7 +1035,7 @@ u8 fn_1_E8AC(omObjData *arg0, unkObjStruct *arg1)
case 2:
arg1->unkC++;
arg1->unk68 += 40.0f;
var_f31 = arg1->unkC / 90.0f;
var_f31 = arg1->unkC / (1.5f * REFRESH_RATE_F);
if (var_f31 >= 1.0f) {
var_f31 = 1.0f;
arg1->unk60++;
@ -1165,7 +1175,7 @@ void fn_1_F228(void)
temp_r31->unkA--;
temp_r31->unk24 = temp_r31->unk18;
temp_r31->unkC = 0;
temp_r31->unkE = 0x1E;
temp_r31->unkE = (s32)(0.5f * REFRESH_RATE_F);
temp_r31->unk14 = 0;
fn_1_F4D4(temp_r31, 15, 1);
}

View file

@ -872,7 +872,7 @@ void fn_1_3404(Work53E8 *arg0)
}
arg0->unk94 = 1;
arg0->unk8C = arg0->unk0[1] + ((frandf() * arg0->unk0[1]) / 2);
temp_f25 = 1.0f - (lbl_1_bss_1A4 / 3600.0f);
temp_f25 = 1.0f - (lbl_1_bss_1A4 / (60.0f * REFRESH_RATE));
if (0.25f < temp_f25) {
arg0->unk8C *= arg0->unk90 / (arg0->unk0[2] * temp_f25);
}
@ -1491,7 +1491,7 @@ void fn_1_5C04(omObjData *object)
if (2.0f > temp_f23) {
temp_r31->unk24.x--;
if (0.0f > temp_r31->unk24.x) {
temp_r31->unk24.x = 60.0f;
temp_r31->unk24.x = 1.0f * REFRESH_RATE;
if (frandmod(100) > 50) {
temp_r31->unk24.y = (frandf() * 220.0f) + 80.0f;
}
@ -1619,7 +1619,7 @@ void fn_1_74F4(s32 arg0)
work->unk18.z = 0;
work->unk38 = 0;
work->unk18.y = 2;
work->unk24.x = (frandf() * 180.0f) + 180.0f;
work->unk24.x = (frandf() * (3.0f * REFRESH_RATE)) + (3.0f * REFRESH_RATE);
if (arg0) {
work->unk18.y = 3;
work->unk18.x = 180.0f - (frandf() * 120.0f);
@ -1821,7 +1821,7 @@ void fn_1_8D58(omObjData *object)
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
object->func = fn_1_AA4C;
}
lbl_1_bss_24 += (1.0f / 60.0f);
lbl_1_bss_24 += (1.0f / REFRESH_RATE);
if (360.0f <= lbl_1_bss_24) {
lbl_1_bss_24 -= 360.0f;
}
@ -1850,8 +1850,8 @@ void fn_1_8D58(omObjData *object)
case 1002:
lbl_1_bss_28++;
fn_1_13DC(lbl_1_bss_28 / 180.0f, &lbl_1_data_40);
if (180.0f <= lbl_1_bss_28) {
fn_1_13DC(lbl_1_bss_28 / (3.0f * REFRESH_RATE), &lbl_1_data_40);
if ((3.0f * REFRESH_RATE) <= lbl_1_bss_28) {
object->work[0]++;
fn_1_1350(&lbl_1_data_34, &lbl_1_data_40, &lbl_1_data_4C);
}
@ -1869,8 +1869,8 @@ void fn_1_8D58(omObjData *object)
}
if (!MGSeqStatGet(lbl_1_bss_19E)) {
object->work[0]++;
lbl_1_bss_1A4 = 3600;
lbl_1_bss_19C = MGSeqTimerCreate(lbl_1_bss_1A4 / 60);
lbl_1_bss_1A4 = 60 * REFRESH_RATE;
lbl_1_bss_19C = MGSeqTimerCreate(lbl_1_bss_1A4 / REFRESH_RATE);
lbl_1_bss_19E = -1;
}
}
@ -1881,7 +1881,7 @@ void fn_1_8D58(omObjData *object)
lbl_1_bss_1A4--;
if (lbl_1_bss_1A4 < 0) {
object->work[0] = 1005;
lbl_1_bss_1A4 = 3600;
lbl_1_bss_1A4 = 60 * REFRESH_RATE;
lbl_1_bss_28 = 0;
}
break;
@ -1913,9 +1913,9 @@ void fn_1_8D58(omObjData *object)
case 1006:
lbl_1_bss_28++;
fn_1_13DC(lbl_1_bss_28 / 120.0f, &lbl_1_data_64);
if (120.0f <= lbl_1_bss_28) {
lbl_1_bss_28 = 120.0f;
fn_1_13DC(lbl_1_bss_28 / (2.0f * REFRESH_RATE), &lbl_1_data_64);
if ((2.0f * REFRESH_RATE) <= lbl_1_bss_28) {
lbl_1_bss_28 = 2.0f * REFRESH_RATE;
for (i = 0; i < 4; i++) {
float temp;
if (OM_GET_DATA_PTR(lbl_1_bss_48[i], Work53E8)->unk98 != 2010) {

View file

@ -1,3 +1,4 @@
#include "version.h"
#define HUSPR_USE_OLD_DEFS
#include "ext_math.h"
#include "game/audio.h"
@ -213,6 +214,9 @@ M442StructBssC084 lbl_1_bss_C084[11][11];
M442StructBssC05C lbl_1_bss_C05C[2];
M442StructBss5C lbl_1_bss_5C[0x400];
float lbl_1_bss_20[0xF];
#if VERSION_PAL
s32 lbl_1_bss_20_pal;
#endif
Vec lbl_1_bss_14;
s16 lbl_1_bss_12;
s16 lbl_1_bss_10;
@ -268,9 +272,9 @@ u32 fn_1_384(void)
void fn_1_394(omObjData *object)
{
lbl_1_bss_11F30 = 0;
lbl_1_bss_11F24 = 60;
lbl_1_bss_11F24 = REFRESH_RATE;
lbl_1_bss_11F1C = 60;
lbl_1_bss_11F1A = 60;
lbl_1_bss_11F1A = REFRESH_RATE;
lbl_1_bss_11F18 = -1;
lbl_1_bss_11F16 = 0;
lbl_1_bss_11EE8 = 0;
@ -286,19 +290,19 @@ void fn_1_448(omObjData *object)
switch (lbl_1_bss_11F30) {
case 0:
if (lbl_1_bss_11F24 == 60) {
if (lbl_1_bss_11F24 == REFRESH_RATE) {
HuAudFXPlay(0x71B);
HuAudFXPlay(0x71F);
}
if (--lbl_1_bss_11F24 == 0) {
lbl_1_bss_11F30 = 1;
lbl_1_bss_11F24 = 0x78;
lbl_1_bss_11F24 = 2 * REFRESH_RATE;
}
break;
case 1:
if (--lbl_1_bss_11F24 == 0) {
lbl_1_bss_11F30 = 2;
lbl_1_bss_11F24 = 0x78;
lbl_1_bss_11F24 = 2 * REFRESH_RATE;
}
break;
case 2:
@ -320,7 +324,7 @@ void fn_1_448(omObjData *object)
if (--lbl_1_bss_11F1A == 0) {
lbl_1_bss_11F1C -= 1;
MGSeqParamSet(lbl_1_bss_10, 1, lbl_1_bss_11F1C);
lbl_1_bss_11F1A = 0x3C;
lbl_1_bss_11F1A = REFRESH_RATE;
}
if (lbl_1_bss_11F1C == 0 || lbl_1_bss_11EE4 == 0) {
lbl_1_bss_11F30 = 5;
@ -337,13 +341,13 @@ void fn_1_448(omObjData *object)
if (GWMGRecordGet(4) < lbl_1_bss_11EE8) {
GWMGRecordSet(4, lbl_1_bss_11EE8);
lbl_1_bss_11F30 = 6;
lbl_1_bss_11F24 = 60;
lbl_1_bss_11F24 = REFRESH_RATE;
lbl_1_bss_12 = MGSeqCreate(0xE, lbl_1_bss_11EE8);
fn_1_94AC(1);
}
else {
lbl_1_bss_11F30 = 9;
lbl_1_bss_11F24 = 60;
lbl_1_bss_11F24 = REFRESH_RATE;
}
mgRecordExtra = lbl_1_bss_11EE8;
}
@ -351,7 +355,7 @@ void fn_1_448(omObjData *object)
case 6:
if (MGSeqStatGet(lbl_1_bss_12) == 0) {
lbl_1_bss_11F30 = 9;
lbl_1_bss_11F24 = 60;
lbl_1_bss_11F24 = REFRESH_RATE;
}
break;
case 9:
@ -363,7 +367,7 @@ void fn_1_448(omObjData *object)
else {
HuAudSStreamPlay(4);
}
lbl_1_bss_11F24 = 0xD2;
lbl_1_bss_11F24 = 3.5f * REFRESH_RATE;
}
break;
case 11:
@ -410,6 +414,10 @@ void fn_1_A90(Process *arg0)
lbl_1_bss_11F28[0] = lbl_1_bss_11F28[1] = lbl_1_bss_11F28[2] = lbl_1_bss_11F28[3] = -1;
lbl_1_bss_11F20 = 0;
#if VERSION_PAL
lbl_1_bss_20_pal = fn_1_90FC();
#endif
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (GWPlayerCfg[var_r31].iscom != 1) {
break;
@ -495,7 +503,11 @@ void fn_1_E88(omObjData *object)
memset(var_r30, 0, sizeof(M442MainWork));
var_r30->unk_02 = lbl_1_bss_11F20++;
var_r30->unk_04 = GWPlayerCfg[var_r30->unk_02].pad_idx;
#if VERSION_NTSC
var_r30->unk_0C = fn_1_90FC();
#else
var_r30->unk_0C = lbl_1_bss_20_pal;
#endif
var_r26 = GWPlayerCfg[var_r30->unk_02].character;
var_r30->unk_10 = var_r26;
var_r30->unk_12 = GWPlayerCfg[var_r30->unk_02].diff;
@ -740,7 +752,7 @@ void fn_1_1230(omObjData *object)
var_r30->unk_06 = var_f29 * sind(var_r30->unk_18);
var_r30->unk_07 = var_f29 * -cosd(var_r30->unk_18);
if (++var_r30->unk_7C > 300) {
if (++var_r30->unk_7C > 5 * REFRESH_RATE) {
var_r30->unk_00_field2 = 1;
var_r30->unk_7C = 0;
}
@ -863,18 +875,18 @@ void fn_1_2254(omObjData *object)
if (var_f27 > 72.0f) {
var_f27 = 72.0f;
}
var_f26 = (10.0f * var_f27) / 72.0f;
var_f26 = ((VERSION_NTSC ? 10.0f : 12.0f) * var_f27) / 72.0f;
var_r31->unk_24.x = var_f31 * var_f26;
var_r31->unk_24.z = var_f30 * var_f26;
var_r31->unk_1C = var_f26;
object->rot.y = fn_1_85E8(object->rot.y, atan2d(var_r31->unk_24.x, var_r31->unk_24.z), 0.5f);
if (var_r31->unk_1C < 7.5f) {
if (var_r31->unk_1C < (450.0f / REFRESH_RATE)) {
var_r29 = 1;
var_f28 = var_r31->unk_1C / 7.5f;
var_f28 = var_r31->unk_1C / (450.0f / REFRESH_RATE);
}
else {
var_r29 = 2;
var_f28 = var_r31->unk_1C / 10.0f;
var_f28 = var_r31->unk_1C / (VERSION_NTSC ? 10.0f : 12.0f);
}
}
else {
@ -935,7 +947,7 @@ void fn_1_2254(omObjData *object)
}
if ((var_r31->unk_48 >= 0) && (lbl_1_bss_C9F8[var_r31->unk_48].unk_0C < 3)) {
lbl_1_bss_C9F8[var_r31->unk_48].unk_0C += 1;
lbl_1_bss_C9F8[var_r31->unk_48].unk_0E = 120;
lbl_1_bss_C9F8[var_r31->unk_48].unk_0E = 2 * REFRESH_RATE;
HuAudFXPlay(0x71C);
if (lbl_1_bss_C9F8[var_r31->unk_48].unk_0C == 3) {
var_r31->unk_00_field2 = 1;
@ -998,21 +1010,27 @@ void fn_1_2254(omObjData *object)
}
switch (var_r31->unk_40) {
case 0:
var_r31->unk_44 = 0.75 + sind(((90.0f * (var_r31->unk_42 % 15)) / 15.0f));
if ((var_r31->unk_42 % 20) == 0) {
omVibrate(var_r31->unk_02, 0xC, 0xC, 0);
var_r31->unk_44 = 0.75 + sind(((90.0f * (var_r31->unk_42 % (REFRESH_RATE / 4))) / (float)(REFRESH_RATE / 4)));
if (VERSION_NTSC ? 1 : var_r31->unk_0C == 1) {
if ((var_r31->unk_42 % (REFRESH_RATE / 3)) == 0) {
omVibrate(var_r31->unk_02, 0xC, 0xC, 0);
}
}
break;
case 1:
var_r31->unk_44 = 0.75 + (0.75 * sind(((90.0f * (var_r31->unk_42 % 30)) / 30.0f)));
if ((var_r31->unk_42 % 20) == 0) {
omVibrate(var_r31->unk_02, 0xC, 4, 2);
var_r31->unk_44 = 0.75 + (0.75 * sind(((90.0f * (var_r31->unk_42 % (REFRESH_RATE / 2))) / (0.5f * REFRESH_RATE))));
if (VERSION_NTSC ? 1 : var_r31->unk_0C == 1) {
if ((var_r31->unk_42 % (REFRESH_RATE / 3)) == 0) {
omVibrate(var_r31->unk_02, 0xC, 4, 2);
}
}
break;
case 2:
var_r31->unk_44 = 0.75 + (0.5 * sind(((90.0f * (var_r31->unk_42 % 60)) / 60.0f)));
if ((var_r31->unk_42 % 20) == 0) {
omVibrate(var_r31->unk_02, 12, 6, 6);
var_r31->unk_44 = 0.75 + (0.5 * sind(((90.0f * (var_r31->unk_42 % REFRESH_RATE)) / (1.0f * REFRESH_RATE))));
if (VERSION_NTSC ? 1 : var_r31->unk_0C == 1) {
if ((var_r31->unk_42 % (REFRESH_RATE / 3)) == 0) {
omVibrate(var_r31->unk_02, 12, 6, 6);
}
}
break;
}
@ -1273,7 +1291,7 @@ void fn_1_3C20(omObjData *object)
Hu3DMotionOverlayReset(object->model[0]);
Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF);
Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF);
var_r30->unk_3C = 10;
var_r30->unk_3C = REFRESH_RATE / 5.5;
object->func = fn_1_3C94;
}
@ -1414,7 +1432,7 @@ void fn_1_4444(s32 arg0)
lbl_1_bss_5C[arg0].unk_04 = 0.0f;
lbl_1_bss_5C[arg0].unk_08 = 100.0f * (18.0f * ((frand() & 0x1FF) - 256.0f)) / 256;
lbl_1_bss_5C[arg0].unk_0C = lbl_1_bss_5C[arg0].unk_00;
lbl_1_bss_5C[arg0].unk_10 = 0.41666666f + (1.6666666f * (frand() & 0xFF) / 256);
lbl_1_bss_5C[arg0].unk_10 = (25.0f / REFRESH_RATE) + ((100.0f / REFRESH_RATE) * (frand() & 0xFF) / 256);
lbl_1_bss_5C[arg0].unk_18 = lbl_1_bss_5C[arg0].unk_1A = (frand() & 0x3F) + 0x20;
lbl_1_bss_5C[arg0].unk_1C = 0.1f + (0.9f * (frand() & 0xFF) / 256);
lbl_1_bss_5C[arg0].unk_20 = 360.0f * (frand() & 0xFF) / 256;
@ -1965,7 +1983,7 @@ void fn_1_72C4(omObjData *object)
Hu3DModelAttrReset(object->model[1], HU3D_ATTR_DISPOFF);
var_r31->unk_02 = 1;
var_r31->unk_18 = 0.0f;
var_r31->unk_0C = 60;
var_r31->unk_0C = REFRESH_RATE;
}
break;
case 1:
@ -1973,7 +1991,7 @@ void fn_1_72C4(omObjData *object)
var_r31->unk_18 += 0.05f;
}
var_r31->unk_02 = 2;
var_r31->unk_0C = var_r31->unk_0E = 45;
var_r31->unk_0C = var_r31->unk_0E = 0.75 * REFRESH_RATE;
var_r31->unk_10 = HuAudFXPlay(lbl_1_data_23C[var_r31->unk_14]);
break;
case 2:
@ -2070,11 +2088,11 @@ void fn_1_7890(ModelData *model, ParticleData *particle, Mtx matrix)
var_r31->unk34.x = 100.0 * (0.20000000298023224 * sind(var_f31));
var_r31->unk34.y = 0.0f;
var_r31->unk34.z = 100.0 * (0.20000000298023224 * cosd(var_f31));
var_f30 = 1.6666666f + (2.5f * (frand() & 0xFF) / 256);
var_f30 = (100.0f / REFRESH_RATE) + ((150.0f / REFRESH_RATE) * (frand() & 0xFF) / 256);
var_f31 = 360.0f * (frand() & 0xFF) / 256;
var_r31->unk08.x = var_f30 * sind(var_f31);
var_r31->unk08.z = var_f30 * cosd(var_f31);
var_r31->unk08.y = 16.666666f * (frand() & 0xFF) / 256;
var_r31->unk08.y = (1000.0f / REFRESH_RATE) * (frand() & 0xFF) / 256;
var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = var_r31->unk40.a = 0xFF;
}
}
@ -2085,7 +2103,7 @@ void fn_1_7890(ModelData *model, ParticleData *particle, Mtx matrix)
var_r28++;
}
else {
var_r31->unk08.y += -0.50000006f;
var_r31->unk08.y += VERSION_NTSC ? -0.50000006f : -0.6f;
var_r31->unk34.x += var_r31->unk08.x;
var_r31->unk34.y += var_r31->unk08.y;
var_r31->unk34.z += var_r31->unk08.z;
@ -2210,7 +2228,7 @@ void fn_1_8988(omObjData *arg0)
case 1:
fn_1_8738(0, 1, sind((90.0f * lbl_1_data_250[0])));
if (lbl_1_data_250[0] < 1.0f) {
lbl_1_data_250[0] += 0.016666668f;
lbl_1_data_250[0] += 1.0f / REFRESH_RATE;
if (lbl_1_data_250[0] > 1.0f) {
lbl_1_data_250[0] = 1.0f;
return;
@ -2222,7 +2240,7 @@ void fn_1_8988(omObjData *arg0)
case 2:
fn_1_8738(1, 2, 1.0 - cosd((90.0f * lbl_1_data_250[1])));
if (lbl_1_data_250[1] < 1.0f) {
lbl_1_data_250[1] += 0.016666668f;
lbl_1_data_250[1] += 1.0f / REFRESH_RATE;
if (lbl_1_data_250[1] > 1.0f) {
lbl_1_data_250[1] = 1.0f;
return;