* Fix REL includes till mgmodedll * hsfload fixes * update aurora, fixups * Minor tweaks * update aurora * Mess byteswapping and comment out 3D render code
178 lines
4.4 KiB
C
178 lines
4.4 KiB
C
#include "game/esprite.h"
|
|
#include "game/flag.h"
|
|
#include "game/memory.h"
|
|
#include "game/object.h"
|
|
#include "game/objsub.h"
|
|
#include "game/sprite.h"
|
|
|
|
#include "REL/m453Dll.h"
|
|
|
|
typedef struct M453ScoreUnkStruct {
|
|
s32 unk_00;
|
|
s32 unk_04;
|
|
s16 unk_08;
|
|
s16 unk_0A;
|
|
s16 unk_0C[4];
|
|
s16 unk_14;
|
|
s16 unk_16;
|
|
s32 unk_18;
|
|
float unk_1C;
|
|
} M453ScoreUnkStruct; /* size = 0x20 */
|
|
|
|
typedef void (*M453ScoreUnkFunc)(void);
|
|
|
|
void fn_1_92C0(s32 arg0);
|
|
void fn_1_92F0(omObjData *object);
|
|
void fn_1_940C(void);
|
|
void fn_1_9484(void);
|
|
void fn_1_9510(void);
|
|
|
|
M453ScoreUnkFunc lbl_1_data_BC0[3] = { fn_1_940C, fn_1_9484, fn_1_9510 };
|
|
|
|
Process *lbl_1_bss_C4;
|
|
omObjData *lbl_1_bss_C0;
|
|
|
|
void fn_1_8F48(Process *arg0, s16 arg1)
|
|
{
|
|
M453ScoreUnkStruct *var_r31;
|
|
u32 var_r30;
|
|
|
|
lbl_1_bss_C4 = arg0;
|
|
lbl_1_bss_C0 = omAddObjEx(lbl_1_bss_C4, 0x800, 0, 0, 7, fn_1_92F0);
|
|
lbl_1_bss_C0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M453ScoreUnkStruct), MEMORY_DEFAULT_NUM);
|
|
var_r31 = lbl_1_bss_C0->data;
|
|
var_r31->unk_08 = arg1;
|
|
var_r31->unk_0A = 0;
|
|
var_r31->unk_14 = espEntry(0x530000, 2, 0);
|
|
espTPLvlSet(var_r31->unk_14, 0.5f);
|
|
espPosSet(var_r31->unk_14, 520.0f, 64.0f);
|
|
espColorSet(var_r31->unk_14, 0, 0, 0);
|
|
var_r31->unk_16 = espEntry(0x610037, 1, 0);
|
|
espPosSet(var_r31->unk_16, 501.0f, 55.0f);
|
|
for (var_r30 = 0; var_r30 < 2; var_r30++) {
|
|
var_r31->unk_0C[var_r30] = espEntry(0x610030, 0, 0);
|
|
espPosSet(var_r31->unk_0C[var_r30], (var_r30 * 0x12) + 0x20A, 56.0f);
|
|
espDispOff(var_r31->unk_0C[var_r30]);
|
|
}
|
|
for (var_r30 = 0; var_r30 < 2; var_r30++) {
|
|
var_r31->unk_0C[var_r30 + 2] = espEntry(0x610031, 1, 0);
|
|
espPosSet(var_r31->unk_0C[var_r30 + 2], (var_r30 * 0x12) + 0x20A, 72.0f);
|
|
}
|
|
for (var_r30 = 0; var_r30 < 6; var_r30++) {
|
|
espDispOff(var_r31->unk_0C[var_r30]);
|
|
}
|
|
HuDataDirClose(0x530000);
|
|
HuDataDirClose(0x610000);
|
|
fn_1_92C0(0);
|
|
}
|
|
|
|
void fn_1_91D8(void)
|
|
{
|
|
s32 var_r31;
|
|
M453ScoreUnkStruct *var_r30 = lbl_1_bss_C0->data;
|
|
|
|
for (var_r31 = 0; var_r31 < 7; var_r31++) {
|
|
espKill(var_r30->unk_0C[var_r31]);
|
|
}
|
|
HuMemDirectFree(lbl_1_bss_C0->data);
|
|
}
|
|
|
|
void fn_1_924C(s32 arg0)
|
|
{
|
|
switch (arg0) {
|
|
case 0:
|
|
fn_1_92C0(1);
|
|
break;
|
|
case 1:
|
|
fn_1_92C0(2);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void fn_1_929C(void)
|
|
{
|
|
fn_1_92C0(0);
|
|
}
|
|
|
|
void fn_1_92C0(s32 arg0)
|
|
{
|
|
M453ScoreUnkStruct *var_r31 = lbl_1_bss_C0->data;
|
|
|
|
var_r31->unk_00 = arg0;
|
|
var_r31->unk_04 = 0;
|
|
}
|
|
|
|
void fn_1_92F0(omObjData *arg0)
|
|
{
|
|
s16 var_r30;
|
|
|
|
M453ScoreUnkStruct *var_r31 = lbl_1_bss_C0->data;
|
|
|
|
lbl_1_data_BC0[var_r31->unk_00]();
|
|
var_r30 = var_r31->unk_08;
|
|
espBankSet(var_r31->unk_0C[0], var_r30 / 10);
|
|
var_r30 -= (var_r30 / 10) * 10;
|
|
espBankSet(var_r31->unk_0C[1], var_r30);
|
|
var_r30 = var_r31->unk_0A;
|
|
espBankSet(var_r31->unk_0C[2], var_r30 / 10);
|
|
var_r30 -= (var_r30 / 10) * 10;
|
|
espBankSet(var_r31->unk_0C[3], var_r30);
|
|
}
|
|
|
|
void fn_1_940C(void)
|
|
{
|
|
s32 var_r30;
|
|
|
|
M453ScoreUnkStruct *var_r31 = lbl_1_bss_C0->data;
|
|
if (var_r31->unk_04 == 0) {
|
|
for (var_r30 = 0; var_r30 < 6; var_r30++) {
|
|
espDispOff(var_r31->unk_0C[var_r30]);
|
|
}
|
|
var_r31->unk_04 = var_r31->unk_04 + 1;
|
|
}
|
|
}
|
|
|
|
void fn_1_9484(void)
|
|
{
|
|
s16 var_r30;
|
|
M453ScoreUnkStruct *var_r31 = lbl_1_bss_C0->data;
|
|
|
|
if (var_r31->unk_04 == 0) {
|
|
for (var_r30 = 0; var_r30 < 6; var_r30++) {
|
|
espDispOn(var_r31->unk_0C[var_r30]);
|
|
}
|
|
var_r31->unk_04 = var_r31->unk_04 + 1;
|
|
}
|
|
var_r31->unk_0A = fn_1_639C();
|
|
}
|
|
|
|
void fn_1_9510(void)
|
|
{
|
|
s32 var_r30;
|
|
M453ScoreUnkStruct *var_r31 = lbl_1_bss_C0->data;
|
|
|
|
if (var_r31->unk_04 == 0) {
|
|
var_r31->unk_18 = 0;
|
|
var_r31->unk_1C = 1.0f;
|
|
if (var_r31->unk_0A > var_r31->unk_08) {
|
|
var_r31->unk_08 = var_r31->unk_0A;
|
|
}
|
|
var_r31->unk_04 = var_r31->unk_04 + 1;
|
|
}
|
|
if (var_r31->unk_18 == 0) {
|
|
if ((var_r31->unk_1C += 0.02f) >= 1.2f) {
|
|
var_r31->unk_1C = 1.2f;
|
|
var_r31->unk_18 = 1;
|
|
}
|
|
}
|
|
else {
|
|
if ((var_r31->unk_1C -= 0.04f) <= 1.0f) {
|
|
var_r31->unk_1C = 1.0f;
|
|
var_r31->unk_18 = 0;
|
|
}
|
|
}
|
|
for (var_r30 = 0; var_r30 <= 1; var_r30++) {
|
|
espScaleSet(var_r31->unk_0C[var_r30], var_r31->unk_1C, var_r31->unk_1C);
|
|
}
|
|
espScaleSet(var_r31->unk_16, var_r31->unk_1C, var_r31->unk_1C);
|
|
}
|