Port m432 and m434

This commit is contained in:
dbalatoni13 2024-11-17 16:22:11 +01:00
parent 383feca5f5
commit 900a533d59
12 changed files with 627 additions and 560 deletions

View file

@ -26,6 +26,7 @@
#include "ext_math.h"
#include "string.h"
#include "version.h"
#ifndef __MWERKS__
#include "game/audio.h"
@ -76,6 +77,12 @@ float lbl_1_bss_568;
s32 lbl_1_bss_528[16];
UnkBss428Struct lbl_1_bss_428[32];
#if VERSION_NTSC
#define _1606_BY_REFRESH_RATE 26.766666f
#else
#define _1606_BY_REFRESH_RATE 32.120003f
#endif
void fn_1_0(void)
{
lbl_1_bss_5D0.unk04 = NULL;
@ -738,7 +745,7 @@ void fn_1_2E34(WorkPlayerOld *player)
player->unk_3C |= 0x100;
player->unk_A4 = 0;
if (!(player2->unk_3C & 0x100)) {
player->unk_84.y = 26.766666f;
player->unk_84.y = _1606_BY_REFRESH_RATE;
}
}
if (state == 3) {
@ -842,7 +849,7 @@ void fn_1_3CE0(WorkPlayerOld *player, s32 *state, u32 *motAttr)
}
if (player->unk_14[3] >= 0 && (player->unk_28 & 0x100)) {
fn_1_2BD0(player, 26.766666f, 1);
fn_1_2BD0(player, _1606_BY_REFRESH_RATE, 1);
*motAttr = HU3D_MOTATTR_NONE;
*state = 3;
}
@ -857,14 +864,14 @@ void fn_1_3DB8(WorkPlayerOld *player, s32 *state, u32 *motAttr)
player->unk_A4 = 0;
}
else {
player->unk_84.y += 3.65f;
player->unk_84.y += 219.0f / REFRESH_RATE;
}
}
else {
player->unk_A4 = 0;
}
}
player->unk_84.y += -2.4333334f;
player->unk_84.y += -146.0f / REFRESH_RATE;
if (player->unk_14[5] >= 0 && (player->unk_28 & 0x140)) {
player->unk_38 = 3;
player->unk_84.y = 0;
@ -1317,7 +1324,7 @@ void fn_1_52B8(UnkM432DllBss0SubStruct *arg0, Vec *arg1)
void fn_1_5364(s32 arg0, omObjData *object)
{
if (lbl_1_bss_0[arg0].unk_1D8 >= 0) {
lbl_1_bss_0[arg0].unk_1DC -= 0.016666668f;
lbl_1_bss_0[arg0].unk_1DC -= 1.0f / REFRESH_RATE;
if (0.0f >= lbl_1_bss_0[arg0].unk_1DC) {
HuAudFXStop(lbl_1_bss_0[arg0].unk_1D8);
lbl_1_bss_0[arg0].unk_1D8 = -1;
@ -2241,7 +2248,7 @@ void fn_1_B234(void)
u32 var_r28;
if (HuPadBtn[0] & 2) {
lbl_1_bss_57C = 0x4650;
lbl_1_bss_57C = 300 * REFRESH_RATE;
}
print8(0x18, 0x20, 1.5f, "COUNT:%d MODE:%d MES:%d", lbl_1_bss_580, lbl_1_bss_41C->work[0], lbl_1_bss_576);
print8(0x18, 0x30, 1.5f, "%f %f %f %f", lbl_1_bss_0[0].unk_64, lbl_1_bss_0[0].unk_68, lbl_1_bss_0[0].unk_6C, lbl_1_bss_0[0].unk_28.z);
@ -2487,7 +2494,7 @@ void fn_1_C724(UnkM432DllStruct *var_r31, omObjData *var_r25, omObjData *var_r24
var_r30 = &lbl_1_bss_0[var_r31->unk_184 >> 1];
fn_1_BF9C(var_r31);
if (fn_1_BF08(var_r31) == 0x7D4) {
var_r30->unk_1D4 += 1.0f - (2.0f * (var_r31->unk_14C / 60.0f));
var_r30->unk_1D4 += 1.0f - (2.0f * (var_r31->unk_14C / REFRESH_RATE));
if (0.0f > var_r30->unk_1D4) {
var_r30->unk_1D4 = 0.0f;
}
@ -2502,7 +2509,7 @@ void fn_1_C724(UnkM432DllStruct *var_r31, omObjData *var_r25, omObjData *var_r24
}
else {
var_r31->unk_14C += 1.0f;
var_r30->unk_1D4 -= 0.016666668f;
var_r30->unk_1D4 -= 1.0f / REFRESH_RATE;
if (0.0f > var_r30->unk_1D4) {
var_r30->unk_1D4 = 0.0f;
}
@ -2538,7 +2545,7 @@ void fn_1_D0E0(UnkM432DllStruct *arg0, omObjData *arg1, omObjData *arg2)
{
fn_1_BF9C(arg0);
if (fn_1_BF08(arg0) == 0x7D5) {
lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC += 1.0f - (2.0f * (arg0->unk_14C / 60.0f));
lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC += 1.0f - (2.0f * (arg0->unk_14C / REFRESH_RATE));
if (0.0f > lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC) {
lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC = 0.0f;
}
@ -2705,7 +2712,7 @@ void fn_1_E9E4(UnkM432DllStruct *arg0)
var_f28 = 100.0f;
}
if ((arg0->unk_C8->unk_2C.y + var_f28) > arg0->unk_00.unk_6C.y) {
arg0->unk_00.unk_84.y = 26.766666f;
arg0->unk_00.unk_84.y = _1606_BY_REFRESH_RATE;
arg0->unk_00.unk_A4 = 1.0f;
return;
}
@ -2938,7 +2945,7 @@ void fn_1_10250(omObjData *object)
var_r31->unk_00.unk_2C = 0x100;
fn_1_40C0(&var_r31->unk_00);
if (200.0f > var_r31->unk_00.unk_6C.y) {
var_r31->unk_00.unk_84.y = 26.766666f;
var_r31->unk_00.unk_84.y = _1606_BY_REFRESH_RATE;
var_r31->unk_00.unk_A4 = 1.0f;
}
else {
@ -3296,6 +3303,7 @@ void fn_1_128C8(omObjData *object)
lbl_1_bss_0[var_r31].unk_1F0[1] = 0.0f;
}
}
#if VERSION_NTSC
if (lbl_1_bss_41C->work[0] >= 0x3EC) {
for (var_r31 = 0; var_r31 < 2; var_r31++) {
if (lbl_1_bss_0[var_r31].unk_1CC >= 0) {
@ -3312,6 +3320,7 @@ void fn_1_128C8(omObjData *object)
lbl_1_bss_0[var_r31].unk_1D8 = -1;
}
}
#endif
}
}
@ -3416,16 +3425,16 @@ void fn_1_131A8(omObjData *var_r28)
case 0x3EB:
lbl_1_bss_57C++;
if (lbl_1_bss_574 >= 0) {
MGSeqParamSet(lbl_1_bss_574, 1, (0x468B - lbl_1_bss_57C) / 60);
MGSeqParamSet(lbl_1_bss_574, 1, (300 * REFRESH_RATE + REFRESH_RATE - 1 - lbl_1_bss_57C) / REFRESH_RATE);
}
else if (lbl_1_bss_57C > 0x3F48) {
lbl_1_bss_574 = MGSeqCreate(1, (0x468B - lbl_1_bss_57C) / 60, -1, -1);
else if (lbl_1_bss_57C > 270 * REFRESH_RATE) {
lbl_1_bss_574 = MGSeqCreate(1, (300 * REFRESH_RATE + REFRESH_RATE - 1 - lbl_1_bss_57C) / REFRESH_RATE, -1, -1);
MGSeqPosSet(lbl_1_bss_574, 288.0f, 400.0f);
}
fn_1_580(lbl_1_bss_528, 0, lbl_1_bss_57C);
fn_1_12EA8();
if ((lbl_1_bss_57C >= 0x4650) || (lbl_1_bss_3FC >= 0)) {
if ((lbl_1_bss_57C >= 300 * REFRESH_RATE) || (lbl_1_bss_3FC >= 0)) {
var_r28->work[0] = 0x3EC;
lbl_1_bss_3F0 = 0.0f;
}
@ -3453,7 +3462,7 @@ void fn_1_131A8(omObjData *var_r28)
lbl_1_bss_3F0 += 1.0f;
if ((var_r17 >= 4) && (60.0f <= lbl_1_bss_3F0) && (MGSeqStatGet(lbl_1_bss_576) == 0)) {
var_r28->work[0] = 0x3EE;
if ((lbl_1_bss_3FC >= 0) && (lbl_1_bss_57C < 0x1518)) {
if ((lbl_1_bss_3FC >= 0) && (lbl_1_bss_57C < (VERSION_NTSC ? 5400 : 5250))) {
if (GWPlayerCfg[fn_1_51A8(lbl_1_bss_3FC)->unk_188].iscom != 0) {
if (GWPlayerCfg[fn_1_51A8(lbl_1_bss_3FC + 1)->unk_188].iscom == 0) {
goto block_81;
@ -3535,17 +3544,17 @@ void fn_1_131A8(omObjData *var_r28)
case 0x3F0:
var_r29 = &lbl_1_bss_0[lbl_1_bss_3FC >> 1];
lbl_1_bss_3F0 += 1.0f;
var_f31 = lbl_1_bss_3F0 / 180.0f;
var_f31 = lbl_1_bss_3F0 / (3.0f * REFRESH_RATE);
var_f30 = sind((90.0f * var_f31)) * sind((90.0f * var_f31));
var_r29->unk_28.y = var_r29->unk_4C.y + (var_f30 * (var_r29->unk_58.y - var_r29->unk_4C.y));
var_r29->unk_1C.y = var_r29->unk_34.y + (var_f30 * (var_r29->unk_40.y - var_r29->unk_34.y));
if (90.0f < lbl_1_bss_3F0) {
var_f31 = (lbl_1_bss_3F0 - 90.0f) / 90.0f;
if ((1.5f * REFRESH_RATE) < lbl_1_bss_3F0) {
var_f31 = (lbl_1_bss_3F0 - 1.5f * REFRESH_RATE) / (1.5f * REFRESH_RATE);
var_f30 = sind((90.0f * var_f31)) * sind((90.0f * var_f31));
var_r29->unk_1C.z = var_r29->unk_34.z + (var_f30 * (var_r29->unk_40.z - var_r29->unk_34.z));
}
Hu3DCameraPosSetV(lbl_1_data_A0[lbl_1_bss_3FC >> 1], &var_r29->unk_1C, &lbl_1_data_C8, &var_r29->unk_28);
if (180.0f <= lbl_1_bss_3F0) {
if ((3 * REFRESH_RATE) <= lbl_1_bss_3F0) {
var_r28->work[0]++;
lbl_1_bss_3F0 = 0.0f;
}
@ -3654,7 +3663,7 @@ void ObjectSetup(void)
lbl_1_bss_578 = GWMGRecordGet(3);
lbl_1_bss_568 = -1.0f;
if (lbl_1_bss_578 == 0) {
lbl_1_bss_578 = 0x1C20;
lbl_1_bss_578 = 120 * REFRESH_RATE;
}
fn_1_414();
for (var_r30 = 0; var_r30 < 2; var_r30++) {