marioparty4/src/REL/m407dll/score.c
dbalatoni13 887cb00c5b
Cleanup and get rid of many warnings when compiling with stricter warnings (#578)
* Mini improvements

* Fix some splits

* Remove last comma from enums

* Fix symbols

* Fix some headers and missing prototypes

* Replace most of f32 with float

* Replace most of Point3d with Vec

* Add missing esprite include with guard

* Add HuSetVecF to ext_math behind a guard

* More includes
2025-04-01 00:11:31 -05:00

194 lines
4.7 KiB
C

#include "game/esprite.h"
#include "game/object.h"
#include "game/process.h"
#include "game/sprite.h"
#include "REL/m407dll.h"
typedef struct unkDominationData6 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s16 unk_08;
/* 0x0A */ s16 unk_0A;
/* 0x0C */ s16 unk_0C[8]; // what size is this??
/* 0x1C */ s32 unk_1C;
/* 0x20 */ f32 unk_20;
} unkDominationData6; // sizeof 0x24
// func signatures
void fn_1_61A0(void);
void fn_1_6218(void);
void fn_1_62A0(void);
void fn_1_5FE4(omObjData *arg0);
void fn_1_5FB4(s32 arg0);
s16 fn_1_28D4(void);
// bss
Process *lbl_1_bss_398C;
omObjData *lbl_1_bss_3988;
// data
VoidFuncs lbl_1_data_360[] = { fn_1_61A0, fn_1_6218, fn_1_62A0 };
void fn_1_5C5C(Process *arg0, s16 arg1)
{
unkDominationData6 *temp_r31;
u32 i;
lbl_1_bss_398C = arg0;
lbl_1_bss_3988 = omAddObjEx(lbl_1_bss_398C, 0x800, 0, 0, 7, fn_1_5FE4);
lbl_1_bss_3988->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData6), MEMORY_DEFAULT_NUM);
temp_r31 = lbl_1_bss_3988->data;
temp_r31->unk_08 = arg1;
temp_r31->unk_0A = 0;
temp_r31->unk_0C[6] = espEntry(DATA_MAKE_NUM(DATADIR_M407, 0x25), 2, 0);
espTPLvlSet(temp_r31->unk_0C[6], 0.5f);
espPosSet(temp_r31->unk_0C[6], 508.0f, 64.0f);
temp_r31->unk_0C[7] = espEntry(DATA_MAKE_NUM(DATADIR_M407, 0x22), 1, 0);
espPosSet(temp_r31->unk_0C[7], 480.0f, 56.0f);
for (i = 0; i < 3; i++) {
temp_r31->unk_0C[i] = espEntry(DATA_MAKE_NUM(DATADIR_M407, 0x1F), 0, 0);
espPosSet(temp_r31->unk_0C[i], i * 16 + 0x1F4, 56.0f);
espDispOff(temp_r31->unk_0C[i]);
}
for (i = 0; i < 3; i++) {
temp_r31->unk_0C[i + 3] = espEntry(DATA_MAKE_NUM(DATADIR_M407, 0x20), 1, 0);
espPosSet(temp_r31->unk_0C[i + 3], i * 16 + 0x1F4, 74.0f);
}
for (i = 0; i < 8; i++) {
espDispOff(temp_r31->unk_0C[i]);
}
fn_1_5FB4(0);
}
void fn_1_5ECC(void)
{
s32 i;
unkDominationData6 *temp_r30;
temp_r30 = lbl_1_bss_3988->data;
for (i = 0; i < 7; i++) {
espKill(temp_r30->unk_0C[i]);
}
HuMemDirectFree(lbl_1_bss_3988->data);
}
void fn_1_5F40(s32 arg0)
{
switch (arg0) {
case 0:
fn_1_5FB4(1);
break;
case 1:
fn_1_5FB4(2);
break;
}
}
void fn_1_5F90(void)
{
fn_1_5FB4(0);
}
void fn_1_5FB4(s32 arg0)
{
unkDominationData6 *temp_r31;
temp_r31 = lbl_1_bss_3988->data;
temp_r31->unk_00 = arg0;
temp_r31->unk_04 = 0;
}
void fn_1_5FE4(omObjData *arg0)
{
s16 temp_r31;
unkDominationData6 *temp_r30;
temp_r30 = lbl_1_bss_3988->data;
lbl_1_data_360[temp_r30->unk_00]();
temp_r31 = temp_r30->unk_08;
espBankSet(temp_r30->unk_0C[0], temp_r31 / 100);
temp_r31 = (temp_r31 - ((temp_r31 / 100) * 100));
espBankSet(temp_r30->unk_0C[1], (temp_r31 / 10));
temp_r31 = (temp_r31 - ((temp_r31 / 10) * 10));
espBankSet(temp_r30->unk_0C[2], temp_r31);
temp_r31 = temp_r30->unk_0A;
espBankSet(temp_r30->unk_0C[3], (temp_r31 / 100));
temp_r31 = (temp_r31 - ((temp_r31 / 100) * 100));
espBankSet(temp_r30->unk_0C[4], (temp_r31 / 10));
temp_r31 = (temp_r31 - ((temp_r31 / 10) * 10));
espBankSet(temp_r30->unk_0C[5], temp_r31);
}
void fn_1_61A0(void)
{
s32 i;
unkDominationData6 *temp_r31;
temp_r31 = lbl_1_bss_3988->data;
if (temp_r31->unk_04 == 0) {
for (i = 0; i < ARRAY_COUNT(temp_r31->unk_0C); i++) {
espDispOff(temp_r31->unk_0C[i]);
}
temp_r31->unk_04++;
}
}
void fn_1_6218(void)
{
s16 i;
unkDominationData6 *temp_r31;
temp_r31 = lbl_1_bss_3988->data;
if (temp_r31->unk_04 == 0) {
for (i = 0; i < ARRAY_COUNT(temp_r31->unk_0C); i++) {
espDispOn(temp_r31->unk_0C[i]);
}
temp_r31->unk_04++;
}
temp_r31->unk_0A = fn_1_28D4();
}
void fn_1_62A0(void)
{
s32 i;
unkDominationData6 *temp_r31;
temp_r31 = lbl_1_bss_3988->data;
if (temp_r31->unk_04 == 0) {
temp_r31->unk_1C = 0;
temp_r31->unk_20 = 1.0f;
if (temp_r31->unk_0A > temp_r31->unk_08) {
temp_r31->unk_08 = temp_r31->unk_0A;
}
temp_r31->unk_04++;
}
if (temp_r31->unk_1C == 0) {
if ((temp_r31->unk_20 += 0.02f) >= 1.2f) {
temp_r31->unk_20 = 1.2f;
temp_r31->unk_1C = 1;
}
}
else {
if ((temp_r31->unk_20 -= 0.04f) <= 1.0f) {
temp_r31->unk_20 = 1.0f;
temp_r31->unk_1C = 0;
}
}
for (i = 0; i <= 2; i++) {
espScaleSet(temp_r31->unk_0C[i], temp_r31->unk_20, temp_r31->unk_20);
}
espScaleSet(temp_r31->unk_0C[7], temp_r31->unk_20, temp_r31->unk_20);
}