match m407/score.c
This commit is contained in:
parent
ebd8bf2491
commit
aa65939684
3 changed files with 203 additions and 15 deletions
|
|
@ -197,17 +197,17 @@ lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:
|
|||
lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0xC scope:local data:4byte
|
||||
lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0xC scope:local data:4byte
|
||||
lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0x100
|
||||
lbl_1_data_100 = .data:0x00000100; // type:object size:0x20
|
||||
lbl_1_data_120 = .data:0x00000120; // type:object size:0x19 data:string
|
||||
|
|
|
|||
|
|
@ -841,7 +841,7 @@ config.libs = [
|
|||
Object(Matching, "REL/m407dll/whomp_score.c"),
|
||||
Object(Matching, "REL/m407dll/effect.c"),
|
||||
Object(Matching, "REL/m407dll/main.c"),
|
||||
Object(NonMatching, "REL/m407dll/score.c"),
|
||||
Object(Matching, "REL/m407dll/score.c"),
|
||||
}
|
||||
),
|
||||
Rel('m408Dll',
|
||||
|
|
@ -1055,7 +1055,7 @@ config.libs = [
|
|||
Object(Matching, "REL/executor.c"),
|
||||
Object(NonMatching, "REL/resultDll/main.c"),
|
||||
Object(NonMatching, "REL/resultDll/battle.c"),
|
||||
Object(Matching, "REL/resultDll/datalist.c"),
|
||||
Object(NonMatching, "REL/resultDll/datalist.c"),
|
||||
}
|
||||
),
|
||||
Rel('safDll',
|
||||
|
|
@ -1141,8 +1141,8 @@ config.libs = [
|
|||
Object(Matching, "REL/w06Dll/main.c"),
|
||||
Object(Matching, "REL/w06Dll/mg_item.c"),
|
||||
Object(Matching, "REL/w06Dll/mg_coin.c"),
|
||||
Object(Matching, "REL/w06Dll/fire.c"),
|
||||
Object(Matching, "REL/w06Dll/bridge.c"),
|
||||
Object(NonMatching, "REL/w06Dll/fire.c"),
|
||||
Object(NonMatching, "REL/w06Dll/bridge.c"),
|
||||
Object(NonMatching, "REL/w06Dll/bowser.c"),
|
||||
}
|
||||
),
|
||||
|
|
|
|||
188
src/REL/m407dll/score.c
Normal file
188
src/REL/m407dll/score.c
Normal file
|
|
@ -0,0 +1,188 @@
|
|||
#include "game/process.h"
|
||||
#include "game/object.h"
|
||||
#include "game/esprite.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
|
||||
typedef void (*ObjFuncs)(void);
|
||||
|
||||
ObjFuncs 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, 0U, 0U, 7, fn_1_5FE4);
|
||||
lbl_1_bss_3988->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x24, 0x10000000U);
|
||||
temp_r31 = lbl_1_bss_3988->data;
|
||||
temp_r31->unk_08 = arg1;
|
||||
temp_r31->unk_0A = 0;
|
||||
temp_r31->unk_0C[6] = espEntry(0x260025, 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(0x260022, 1, 0);
|
||||
espPosSet(temp_r31->unk_0C[7], 480.0f, 56.0f);
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
temp_r31->unk_0C[i] = espEntry(0x26001F, 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(0x260020, 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);
|
||||
}
|
||||
|
||||
//this function is an inline for other TUs, but not this one
|
||||
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 < 8; 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 < 8; 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);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue