Merge branch 'Rainchus:main' into main
This commit is contained in:
commit
ca02b3b125
58 changed files with 1469 additions and 305 deletions
|
|
@ -35,7 +35,7 @@ void fn_1_1B1C(Process* arg0) {
|
|||
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||
Hu3DCameraPerspectiveSet(1, 45.0f, 10.0f, 40000.0f, 1.2f);
|
||||
lbl_1_bss_30 = omAddObjEx(lbl_1_bss_34, 0x80, 0U, 0U, -1, fn_1_2024);
|
||||
lbl_1_bss_30->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x4C, 0x10000000U);
|
||||
lbl_1_bss_30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData2), 0x10000000);
|
||||
unkData = OM_GET_DATA_PTR(lbl_1_bss_30, unkDominationData2);
|
||||
unkData->unk_04 = 0;
|
||||
fn_1_1CAC(0.0f, 0.0f, 0.0f);
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
#include "game/object.h"
|
||||
#include "game/hsfmotion.h"
|
||||
#include "game/hsfdraw.h"
|
||||
|
||||
//bss
|
||||
s32 bssPad3;
|
||||
Process* lbl_1_bss_3970;
|
||||
omObjData* lbl_1_bss_37E0[100];
|
||||
|
||||
|
|
@ -33,10 +33,8 @@ void fn_1_41CC(Process* arg0) {
|
|||
Process* sp8;
|
||||
u32 i;
|
||||
u32 temp_r30;
|
||||
|
||||
|
||||
lbl_1_bss_3970 = arg0;
|
||||
|
||||
temp_r30 = 0;
|
||||
|
||||
for (i = 0; i < 40; i++) {
|
||||
|
|
@ -146,7 +144,7 @@ void fn_1_46EC(omObjData* arg0) {
|
|||
unkDominationData4* temp_r30;
|
||||
|
||||
arg0->func = fn_1_4680;
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x20, 0x10000000);
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData4), 0x10000000);
|
||||
temp_r30 = arg0->data;
|
||||
temp_r30->unk_00 = arg0->work[0];
|
||||
temp_r30->unk_08 = arg0->work[1];
|
||||
|
|
@ -205,5 +203,3 @@ void fn_1_485C(omObjData* arg0) {
|
|||
temp_r29->unk_1C = 0;
|
||||
}
|
||||
}
|
||||
|
||||
f32 pad3[1] = {0.0f};
|
||||
|
|
@ -5,13 +5,23 @@
|
|||
#include "game/audio.h"
|
||||
#include "game/hsfman.h"
|
||||
|
||||
s32 bssPad2;
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
//bss
|
||||
Process* lbl_1_bss_3980;
|
||||
omObjData* lbl_1_bss_397C;
|
||||
s16 lbl_1_bss_3978;
|
||||
|
||||
s32 fn_1_4C0(s32 arg0);
|
||||
|
||||
//func signatures
|
||||
void fn_1_388(u8, s32);
|
||||
void fn_1_3C4(u8);
|
||||
s32 fn_1_4C0(s32);
|
||||
s32 fn_1_508(u8);
|
||||
s32 fn_1_53C(u8);
|
||||
void fn_1_568(s16, s16, s16);
|
||||
void fn_1_4B7C(void);
|
||||
void fn_1_4C3C(s32);
|
||||
void fn_1_4C6C(omObjData*);
|
||||
void fn_1_4D0C(void);
|
||||
void fn_1_4D54(void);
|
||||
void fn_1_4E8C(void);
|
||||
|
|
@ -25,13 +35,6 @@ void fn_1_5630(void);
|
|||
s16 fn_1_5804(void);
|
||||
void fn_1_5A80(void);
|
||||
void fn_1_5BB0(void);
|
||||
void fn_1_4B7C(void);
|
||||
void fn_1_4C6C(omObjData* obj);
|
||||
void fn_1_4C3C(s32 arg0);
|
||||
void fn_1_568(s16 arg0, s16 arg1, s16 arg2);
|
||||
s32 fn_1_508(u8 arg0);
|
||||
s32 fn_1_53C(u8 arg0);
|
||||
void fn_1_3C4(u8 arg0);
|
||||
|
||||
typedef void (*ObjFuncs)(void);
|
||||
//data
|
||||
|
|
@ -74,7 +77,7 @@ void fn_1_4980(Process* arg0) {
|
|||
|
||||
lbl_1_bss_3980 = arg0;
|
||||
lbl_1_bss_397C = omAddObjEx(lbl_1_bss_3980, 0x40, 0U, 0U, 0, fn_1_4C6C);
|
||||
lbl_1_bss_397C->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x48, 0x10000000U);
|
||||
lbl_1_bss_397C->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData5), 0x10000000);
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
Hu3DShadowCreate(45.0f, 10.0f, 10000.0f);
|
||||
Hu3DShadowTPLvlSet(0.6f);
|
||||
|
|
@ -96,7 +99,7 @@ void fn_1_4980(Process* arg0) {
|
|||
temp_r31->unk_08 = -1;
|
||||
temp_r31->unk_24 = 0;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
for (i = 0; i < ARRAY_COUNT(temp_r31->unk_1C); i++) {
|
||||
temp_r31->unk_1C[i] = -1;
|
||||
}
|
||||
|
||||
|
|
@ -109,7 +112,7 @@ void fn_1_4B7C(void) {
|
|||
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
if (temp_r31->unk_04 == 0) {
|
||||
WipeCreate(2, 0, 0x3C);
|
||||
WipeCreate(2, 0, 60);
|
||||
temp_r31->unk_04++;
|
||||
}
|
||||
if (WipeStatGet() == 0) {
|
||||
|
|
@ -143,15 +146,12 @@ void fn_1_4C3C(s32 arg0) {
|
|||
|
||||
void fn_1_4C6C(omObjData* obj) {
|
||||
unkDominationData5* temp_r30;
|
||||
unkDominationData5* temp_r31;
|
||||
|
||||
temp_r30 = lbl_1_bss_397C->data;
|
||||
lbl_1_data_2A8[temp_r30->unk_00]();
|
||||
|
||||
if (omSysExitReq != 0) {
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
temp_r31->unk_00 = 0xC;
|
||||
temp_r31->unk_04 = 0;
|
||||
fn_1_4C3C(12);
|
||||
omSysExitReq = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -161,9 +161,7 @@ void fn_1_4D0C(void) {
|
|||
unkDominationData5* temp_r31;
|
||||
|
||||
sp8 = lbl_1_bss_397C->data;
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
temp_r31->unk_00 = 1;
|
||||
temp_r31->unk_04 = 0;
|
||||
fn_1_4C3C(1);
|
||||
}
|
||||
|
||||
f32 lbl_1_data_2DC[4] = {850.0f, 900.0f, 1300.0f, 1500.0f};
|
||||
|
|
@ -182,7 +180,6 @@ f32 lbl_1_data_358 = 1900.0f;
|
|||
|
||||
void fn_1_4D54(void) {
|
||||
s16 temp_r0;
|
||||
unkDominationData5* temp_r30;
|
||||
unkDominationData5* temp_r31;
|
||||
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
|
|
@ -202,9 +199,7 @@ void fn_1_4D54(void) {
|
|||
temp_r31->unk_04 = 3;
|
||||
case 3:
|
||||
if (fn_1_1D88() == 0) {
|
||||
temp_r30 = lbl_1_bss_397C->data;
|
||||
temp_r30->unk_00 = 2;
|
||||
temp_r30->unk_04 = 0;
|
||||
fn_1_4C3C(2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -231,17 +226,13 @@ void fn_1_4E8C(void) {
|
|||
temp_r31->unk_10 = 0x258;
|
||||
temp_r31->unk_08 = MGSeqCreate(1, temp_r31->unk_10 / 60, -1, -1);
|
||||
fn_1_1E4();
|
||||
temp_r29 = lbl_1_bss_397C->data;
|
||||
temp_r29->unk_00 = 3;
|
||||
temp_r29->unk_04 = 0;
|
||||
fn_1_4C3C(3);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_4FAC(void) {
|
||||
s16 temp_r0;
|
||||
unkDominationData5* temp_r31;
|
||||
unkDominationData5* temp_r30;
|
||||
unkDominationData5* temp_r29;
|
||||
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
if (temp_r31->unk_10 > 0) {
|
||||
|
|
@ -258,23 +249,18 @@ void fn_1_4FAC(void) {
|
|||
fn_1_5804();
|
||||
|
||||
if (temp_r31->unk_24 > 0) {
|
||||
temp_r30 = lbl_1_bss_397C->data;
|
||||
temp_r30->unk_00 = 4;
|
||||
temp_r30->unk_04 = 0;
|
||||
fn_1_4C3C(4);
|
||||
return;
|
||||
}
|
||||
|
||||
temp_r29 = lbl_1_bss_397C->data;
|
||||
temp_r29->unk_00 = 6;
|
||||
temp_r29->unk_04 = 0;
|
||||
|
||||
fn_1_4C3C(6);
|
||||
}
|
||||
|
||||
void fn_1_50E8(void) {
|
||||
unkDominationData5* temp_r31;
|
||||
unkDominationData5* temp_r30;
|
||||
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
switch (temp_r31->unk_04++) { /* irregular */
|
||||
switch (temp_r31->unk_04++) {
|
||||
case 0xA:
|
||||
fn_1_1DB0(&lbl_1_data_340, &lbl_1_data_34C, &lbl_1_data_358, 0xB4, 4);
|
||||
return;
|
||||
|
|
@ -290,9 +276,7 @@ void fn_1_50E8(void) {
|
|||
case 0xBE:
|
||||
temp_r31->unk_44 = HuAudSeqPlay(0x3A);
|
||||
fn_1_25C0();
|
||||
temp_r30 = lbl_1_bss_397C->data;
|
||||
temp_r30->unk_00 = 5;
|
||||
temp_r30->unk_04 = 0;
|
||||
fn_1_4C3C(5);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -300,123 +284,99 @@ void fn_1_50E8(void) {
|
|||
void fn_1_51E4(void) {
|
||||
Vec sp8;
|
||||
unkDominationData5* temp_r30;
|
||||
unkDominationData5* temp_r31;
|
||||
|
||||
temp_r30 = lbl_1_bss_397C->data;
|
||||
if ((temp_r30->unk_04++ >= 0xF) || (fn_1_2880() != 0)) {
|
||||
if ((temp_r30->unk_04++ >= 15) || (fn_1_2880() != 0)) {
|
||||
if (fn_1_2880() == 0) {
|
||||
fn_1_1CD4(&sp8.z, &sp8.y, &sp8.x);
|
||||
sp8.x += 33.5f;
|
||||
fn_1_1CAC(sp8.z, sp8.y, sp8.x);
|
||||
return;
|
||||
}
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
temp_r31->unk_00 = 6;
|
||||
temp_r31->unk_04 = 0;
|
||||
fn_1_4C3C(6);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_52AC(void) {
|
||||
unkDominationData5* temp_r31;
|
||||
unkDominationData5* temp_r30;
|
||||
unkDominationData5* temp_r29;
|
||||
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
if (temp_r31->unk_04 == 0) {
|
||||
temp_r31->unk_06 = MGSeqCreate(3, 1);
|
||||
temp_r31->unk_04++;
|
||||
HuAudSeqFadeOut(temp_r31->unk_44, 0x64);
|
||||
HuAudSeqFadeOut(temp_r31->unk_44, 100);
|
||||
}
|
||||
if (MGSeqStatGet(temp_r31->unk_06) == 0) {
|
||||
MGSeqKill(temp_r31->unk_06);
|
||||
temp_r31->unk_06 = -1;
|
||||
|
||||
if (temp_r31->unk_08 != 0) {
|
||||
MGSeqKill(temp_r31->unk_08);
|
||||
temp_r31->unk_08 = -1;
|
||||
}
|
||||
|
||||
if (temp_r31->unk_24 > 0) {
|
||||
temp_r30 = lbl_1_bss_397C->data;
|
||||
temp_r30->unk_00 = 7;
|
||||
temp_r30->unk_04 = 0;
|
||||
fn_1_4C3C(7);
|
||||
return;
|
||||
}
|
||||
temp_r29 = lbl_1_bss_397C->data;
|
||||
temp_r29->unk_00 = 0xA;
|
||||
temp_r29->unk_04 = 0;
|
||||
fn_1_4C3C(10);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_53B8(void) {
|
||||
s32 i;
|
||||
unkDominationData5* temp_r31;
|
||||
unkDominationData5* temp_r29;
|
||||
unkDominationData5* temp_r28;
|
||||
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
if (temp_r31->unk_04 == 0) {
|
||||
fn_1_1DB0(&temp_r31->unk_28, &temp_r31->unk_34, &temp_r31->unk_40, 0x3C, 4);
|
||||
fn_1_1DB0(&temp_r31->unk_28, &temp_r31->unk_34, &temp_r31->unk_40, 60, 4);
|
||||
temp_r31->unk_04++;
|
||||
for (i = 0; i < 4; i++) {
|
||||
if ((fn_1_508(i) == 0) && (fn_1_28B8(i) >= 0x64)) {
|
||||
GWGameStat.present[0x38] = 1;
|
||||
if ((fn_1_508(i) == 0) && (fn_1_28B8(i) >= 100)) {
|
||||
GWGameStat.present[56] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (temp_r31->unk_04 == 0x28) {
|
||||
|
||||
if (temp_r31->unk_04 == 40) {
|
||||
fn_1_404();
|
||||
for (i = 0; i < temp_r31->unk_24; i++) {
|
||||
fn_1_2770(temp_r31->unk_1C[i]);
|
||||
fn_1_568(temp_r31->unk_1C[i], 2, 60);
|
||||
}
|
||||
}
|
||||
if (temp_r31->unk_04 == 0x46) {
|
||||
|
||||
if (temp_r31->unk_04 == 70) {
|
||||
for (i = 0; i < temp_r31->unk_24; i++) {
|
||||
if (!(fn_1_508(temp_r31->unk_1C[i])) && (lbl_1_bss_3978 < fn_1_28D4())) {
|
||||
temp_r29 = lbl_1_bss_397C->data;
|
||||
temp_r29->unk_00 = 8;
|
||||
temp_r29->unk_04 = 0;
|
||||
fn_1_4C3C(8);
|
||||
return;
|
||||
}
|
||||
}
|
||||
temp_r28 = lbl_1_bss_397C->data;
|
||||
temp_r28->unk_00 = 9;
|
||||
temp_r28->unk_04 = 0;
|
||||
fn_1_4C3C(9);
|
||||
} else {
|
||||
temp_r31->unk_04++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void fn_1_5574(void) {
|
||||
unkDominationData5* temp_r31;
|
||||
unkDominationData5* temp_r30;
|
||||
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
if (temp_r31->unk_04 == 0) {
|
||||
GWMGRecordSet(1, fn_1_28D4());
|
||||
temp_r31->unk_06 = MGSeqCreate(0xE, fn_1_28D4());
|
||||
temp_r31->unk_06 = MGSeqCreate(14, fn_1_28D4());
|
||||
fn_1_5F40(1);
|
||||
temp_r31->unk_04++;
|
||||
return;
|
||||
}
|
||||
if (MGSeqStatGet(temp_r31->unk_06) == 0) {
|
||||
temp_r30 = lbl_1_bss_397C->data;
|
||||
temp_r30->unk_00 = 9;
|
||||
temp_r30->unk_04 = 0;
|
||||
fn_1_4C3C(9);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_5630(void) {
|
||||
unkDominationData5* temp_r31;
|
||||
unkDominationData5* temp_r29;
|
||||
s32 temp_r28;
|
||||
s16 temp_r27;
|
||||
s32 temp_r26;
|
||||
s32 coins;
|
||||
s32 coins2;
|
||||
s32 temp_r23;
|
||||
s32 temp_r22;
|
||||
s32 temp_r21;
|
||||
s32 i;
|
||||
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
|
|
@ -430,34 +390,21 @@ void fn_1_5630(void) {
|
|||
temp_r31->unk_06 = MGSeqCreate(3, 2);
|
||||
HuAudSStreamPlay(4);
|
||||
} else {
|
||||
temp_r21 = fn_1_4C0(temp_r31->unk_1C[3]);
|
||||
temp_r22 = fn_1_4C0(temp_r31->unk_1C[2]);
|
||||
temp_r23 = fn_1_4C0(temp_r31->unk_1C[1]);
|
||||
temp_r31->unk_06 = MGSeqCreate(5, 3, fn_1_4C0(temp_r31->unk_1C[0]), temp_r23, temp_r22, temp_r21);
|
||||
for (i = 0; i < 4; i++) {
|
||||
temp_r31->unk_06 = MGSeqCreate(5, 3, fn_1_4C0(temp_r31->unk_1C[0]), fn_1_4C0(temp_r31->unk_1C[1]), fn_1_4C0(temp_r31->unk_1C[2]), fn_1_4C0(temp_r31->unk_1C[3]));
|
||||
for (i = 0; i < ARRAY_COUNT(temp_r31->unk_1C); i++) {
|
||||
if (temp_r31->unk_1C[i] != -1) {
|
||||
|
||||
fn_1_3C4(temp_r31->unk_1C[i]);
|
||||
temp_r26 = temp_r31->unk_1C[i];
|
||||
coins = GWPlayer[temp_r26].coin_win;
|
||||
coins2 = coins;
|
||||
temp_r27 = coins2 + 0xA;
|
||||
temp_r28 = temp_r31->unk_1C[i];
|
||||
if (_CheckFlag(0x1000CU) == 0) {
|
||||
GWPlayer[temp_r28].coin_win = temp_r27;
|
||||
}
|
||||
GWPlayerCoinWinSet(temp_r31->unk_1C[i], GWPlayerCoinWinGet(temp_r31->unk_1C[i])+10);
|
||||
}
|
||||
}
|
||||
HuAudSStreamPlay(1);
|
||||
}
|
||||
|
||||
}
|
||||
if (temp_r31->unk_04++ >= 0xD2) {
|
||||
if (temp_r31->unk_04++ >= 210) {
|
||||
MGSeqKill(temp_r31->unk_06);
|
||||
temp_r31->unk_06 = -1;
|
||||
temp_r29 = lbl_1_bss_397C->data;
|
||||
temp_r29->unk_00 = 0xC;
|
||||
temp_r29->unk_04 = 0;
|
||||
fn_1_4C3C(12);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -470,7 +417,6 @@ s16 fn_1_5804(void) {
|
|||
s32 i;
|
||||
s32 var_r27;
|
||||
s32 var_r26;
|
||||
|
||||
s32 var_r30;
|
||||
unkDominationData5* temp_r31;
|
||||
|
||||
|
|
@ -491,7 +437,7 @@ s16 fn_1_5804(void) {
|
|||
if (var_r29 == temp_r28) {
|
||||
if (var_r29 > 0) {
|
||||
temp_r31->unk_1C[temp_r31->unk_24++] = i;
|
||||
fn_1_388((u8) i, 1);
|
||||
fn_1_388(i, 1);
|
||||
}
|
||||
if (var_r27 == 0) {
|
||||
var_r27 = 1;
|
||||
|
|
@ -501,12 +447,14 @@ s16 fn_1_5804(void) {
|
|||
var_f30 = 400.0f * i;
|
||||
}
|
||||
} else {
|
||||
fn_1_388((u8) i, 2);
|
||||
fn_1_388(i, 2);
|
||||
}
|
||||
}
|
||||
|
||||
if (var_r26 == 0) {
|
||||
var_f30 = var_f31;
|
||||
}
|
||||
|
||||
temp_r31->unk_28.x = (600.0f - (0.5f * (var_f30 + var_f31)));
|
||||
temp_r31->unk_28.y = 250.0f;
|
||||
temp_r31->unk_28.z = (200.0f * ((s16) var_r29 + 2));
|
||||
|
|
@ -525,26 +473,23 @@ void fn_1_5A80(void) {
|
|||
f32 sp8;
|
||||
s16 temp_r0;
|
||||
s16 temp_r3;
|
||||
unkDominationData5* temp_r30;
|
||||
unkDominationData5* temp_r31;
|
||||
|
||||
sp8 = 1420.0f;
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
switch (temp_r31->unk_04++) {
|
||||
case 0x0:
|
||||
case 0:
|
||||
MGSeqKill(temp_r31->unk_08);
|
||||
temp_r31->unk_08 = -1;
|
||||
fn_1_1DB0(&sp18, &spC, &sp8, 0x78, 4);
|
||||
return;
|
||||
case 0xA:
|
||||
case 10:
|
||||
fn_1_5F40(0);
|
||||
fn_1_28C();
|
||||
return;
|
||||
case 0x78:
|
||||
case 120:
|
||||
fn_1_404();
|
||||
temp_r30 = lbl_1_bss_397C->data;
|
||||
temp_r30->unk_00 = 9;
|
||||
temp_r30->unk_04 = 0;
|
||||
fn_1_4C3C(9);
|
||||
return;
|
||||
/* fallthrough */
|
||||
case 0x3C:
|
||||
|
|
@ -554,7 +499,6 @@ void fn_1_5A80(void) {
|
|||
}
|
||||
|
||||
void fn_1_5BB0(void) {
|
||||
unkDominationData5* temp_r30;
|
||||
unkDominationData5* temp_r31;
|
||||
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
|
|
@ -565,11 +509,6 @@ void fn_1_5BB0(void) {
|
|||
if (MGSeqStatGet(temp_r31->unk_06) == 0) {
|
||||
MGSeqKill(temp_r31->unk_06);
|
||||
temp_r31->unk_06 = -1;
|
||||
temp_r30 = lbl_1_bss_397C->data;
|
||||
temp_r30->unk_00 = 0xC;
|
||||
temp_r30->unk_04 = 0;
|
||||
fn_1_4C3C(12);
|
||||
}
|
||||
}
|
||||
|
||||
f32 pad4[1] = {0.0f};
|
||||
const f32 pad5 = 0.0f;
|
||||
|
|
@ -3,6 +3,8 @@
|
|||
#include "game/gamework_data.h"
|
||||
#include "game/hsfman.h"
|
||||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
void fn_1_162C(omObjData*);
|
||||
void fn_1_1A8C(omObjData*);
|
||||
|
||||
|
|
@ -39,8 +41,6 @@ Point3d lbl_1_data_208 = {-0.5f, -0.5f, -0.5f};
|
|||
GXColor lbl_1_data_214 = {255, 255, 255, 255};
|
||||
Point3d lbl_1_data_218 = {0.0f, 1.0f, 0.0f};
|
||||
|
||||
f32 pad[1] = {0.0f};
|
||||
|
||||
void fn_1_14F0(Process* arg0, s32 arg1) {
|
||||
LightData* sp10;
|
||||
|
||||
|
|
@ -76,7 +76,7 @@ void fn_1_162C(omObjData* arg0) {
|
|||
arg0->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[3], 0x10000000, HEAP_DATA));
|
||||
Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f);
|
||||
Hu3DModelAttrSet(arg0->model[1], 1U);
|
||||
for (i = 0; i < 4; i++) {
|
||||
for (i = 0; i < ARRAY_COUNT(GWPlayerCfg); i++) {
|
||||
arg0->model[i+2] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[GWPlayerCfg[i].character + 4], 0x10000000, HEAP_DATA));
|
||||
Hu3DModelAmbSet(arg0->model[i + 2], 1.0f, 1.0f, 1.0f);
|
||||
Hu3DModelShadowMapSet(arg0->model[i + 2]);
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
#include "game/hsfman.h"
|
||||
#include "rel_sqrt_consts.h"
|
||||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
//structs
|
||||
typedef struct unkDominationData {
|
||||
u8 unk_00;
|
||||
|
|
@ -30,7 +32,6 @@ typedef struct unkDominationData {
|
|||
s32 unk_38;
|
||||
} unkDominationData;
|
||||
|
||||
s32 pad_20;
|
||||
Process* lbl_1_bss_18;
|
||||
omObjData* lbl_1_bss_8[4];
|
||||
Process* lbl_1_bss_0[2];
|
||||
|
|
@ -265,7 +266,7 @@ void fn_1_64C(omObjData* arg0) {
|
|||
u32 i;
|
||||
|
||||
arg0->func = fn_1_A1C;
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x3C, 0x10000000U);
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData), 0x10000000);
|
||||
temp_r31 = arg0->data;
|
||||
temp_r29 = arg0->work[0];
|
||||
temp_r31->unk_00 = temp_r29;
|
||||
|
|
@ -285,7 +286,7 @@ void fn_1_64C(omObjData* arg0) {
|
|||
Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f);
|
||||
Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f);
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
for (i = 0; i < ARRAY_COUNT(lbl_1_data_0); i++) {
|
||||
arg0->motion[i] = CharModelMotionCreate(temp_r31->unk_01, lbl_1_data_0[temp_r31->unk_01].unk_00[i]);
|
||||
}
|
||||
|
||||
|
|
@ -339,7 +340,7 @@ void fn_1_A8C(omObjData* arg0) {
|
|||
var_r29 = (HuPadBtnDown[temp_r31->unk_0C] & 0x100) ? 1 : 0;
|
||||
} else if ((u32) temp_r31->unk_28 >= (u32) temp_r31->unk_2C) {
|
||||
var_r29 = 1;
|
||||
temp_r31->unk_2C = (f32) (temp_r31->unk_2C + temp_r31->unk_30);
|
||||
temp_r31->unk_2C += temp_r31->unk_30;
|
||||
}
|
||||
|
||||
if (var_r29 != 0) {
|
||||
|
|
@ -405,7 +406,7 @@ void fn_1_DB4(omObjData* arg0) {
|
|||
}
|
||||
|
||||
temp_r31->unk_14 = 30.0f;
|
||||
CharModelMotionShiftSet((s16) temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0U);
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0);
|
||||
SetDominationDataStuff(arg0, 0, 0);
|
||||
}
|
||||
|
||||
|
|
@ -421,7 +422,7 @@ void fn_1_F8C(omObjData* arg0) {
|
|||
HuAudFXPlay(lbl_1_rodata_70[temp_r31->unk_01]);
|
||||
}
|
||||
|
||||
if (temp_r31->unk_20++ >= 0x78) {
|
||||
if (temp_r31->unk_20++ >= 120) {
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[0], 0.0f, 10.0f, 0x40000001);
|
||||
SetDominationDataStuff(arg0, 0, 0);
|
||||
}
|
||||
|
|
@ -431,10 +432,9 @@ void fn_1_1074(omObjData* arg0) {
|
|||
unkDominationData* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
|
||||
if (temp_r31->unk_20 == 0) {
|
||||
CharModelVoiceEnableSet(temp_r31->unk_01, arg0->motion[3], 0);
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, 0U);
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, 0);
|
||||
temp_r31->unk_24 = 0.0f;
|
||||
temp_r31->unk_20 = 1;
|
||||
}
|
||||
|
|
@ -471,7 +471,7 @@ void fn_1_11CC(omObjData* arg0) {
|
|||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0);
|
||||
temp = fn_1_28E4(temp_r31->unk_00);
|
||||
//can remove \0 after matching whole rel likely
|
||||
Hu3DModelHookSet(temp, "itemhook_c\0", arg0->model[0]);
|
||||
Hu3DModelHookSet(temp, "itemhook_c", arg0->model[0]);
|
||||
temp_r31->unk_10 = 0.0f;
|
||||
temp_r31->unk_14 = 0.0f;
|
||||
temp_r31->unk_18 = 0.0f;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
#include "game/object.h"
|
||||
#include "game/esprite.h"
|
||||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
typedef struct unkDominationData6 {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
|
|
@ -39,7 +41,7 @@ void fn_1_5C5C(Process* arg0, s16 arg1) {
|
|||
|
||||
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);
|
||||
lbl_1_bss_3988->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData6), 0x10000000);
|
||||
temp_r31 = lbl_1_bss_3988->data;
|
||||
temp_r31->unk_08 = arg1;
|
||||
temp_r31->unk_0A = 0;
|
||||
|
|
@ -130,7 +132,7 @@ void fn_1_61A0(void) {
|
|||
temp_r31 = lbl_1_bss_3988->data;
|
||||
|
||||
if (temp_r31->unk_04 == 0) {
|
||||
for (i = 0; i < 8; i++) {
|
||||
for (i = 0; i < ARRAY_COUNT(temp_r31->unk_0C); i++) {
|
||||
espDispOff(temp_r31->unk_0C[i]);
|
||||
}
|
||||
temp_r31->unk_04++;
|
||||
|
|
@ -144,7 +146,7 @@ void fn_1_6218(void) {
|
|||
temp_r31 = lbl_1_bss_3988->data;
|
||||
|
||||
if (temp_r31->unk_04 == 0) {
|
||||
for (i = 0; i < 8; i++) {
|
||||
for (i = 0; i < ARRAY_COUNT(temp_r31->unk_0C); i++) {
|
||||
espDispOn(temp_r31->unk_0C[i]);
|
||||
}
|
||||
temp_r31->unk_04++;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ void fn_1_3FF0(omObjData*);
|
|||
void fn_1_3FF4(omObjData* arg0);
|
||||
void fn_1_40F4(omObjData* arg0);
|
||||
|
||||
s32 bssPad;
|
||||
//bss
|
||||
Process* lbl_1_bss_37D8;
|
||||
omObjData* lbl_1_bss_37C8[4];
|
||||
|
||||
|
|
@ -56,7 +56,7 @@ void fn_1_3BB8(s16 arg0, f32 arg8, f32 arg9) {
|
|||
Vec sp14;
|
||||
unkDominationData3* temp_r31;
|
||||
u32 i;
|
||||
s16 temp;;
|
||||
s16 temp;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(lbl_1_bss_37C8); i++) {
|
||||
obj = lbl_1_bss_37C8[i];
|
||||
|
|
@ -100,11 +100,10 @@ void fn_1_3D4C(omObjData* arg0) {
|
|||
}
|
||||
|
||||
void fn_1_3E34(omObjData* arg0) {
|
||||
unkDominationData3* temp_r29;
|
||||
unkDominationData3* temp_r31;
|
||||
|
||||
arg0->func = fn_1_3D4C;
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x24, 0x10000000U);
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData3), 0x10000000);
|
||||
temp_r31 = arg0->data;
|
||||
temp_r31->unk_00 = arg0->work[0];
|
||||
temp_r31->unk_14 = 0;
|
||||
|
|
@ -120,9 +119,7 @@ void fn_1_3E34(omObjData* arg0) {
|
|||
espScaleSet(temp_r31->unk_18[0], 1.8f, 1.8f);
|
||||
temp_r31->unk_08.x = (f32) 0.0f;
|
||||
temp_r31->unk_08.y = (f32) 0.0f;
|
||||
temp_r29 = arg0->data;
|
||||
temp_r29->unk_04 = 0;
|
||||
temp_r29->unk_14 = 0;
|
||||
fn_1_3D28(arg0, 0);
|
||||
}
|
||||
|
||||
void fn_1_3F7C(omObjData* arg0) {
|
||||
|
|
@ -145,7 +142,6 @@ void fn_1_3FF0(omObjData* arg0) {
|
|||
}
|
||||
|
||||
void fn_1_3FF4(omObjData* arg0) {
|
||||
unkDominationData3* temp_r30;
|
||||
unkDominationData3* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
|
|
@ -164,18 +160,16 @@ void fn_1_3FF4(omObjData* arg0) {
|
|||
temp_r31->unk_20 += 0.1f;
|
||||
}
|
||||
|
||||
if (temp_r31->unk_14++ >= 0x3C) {
|
||||
temp_r30 = arg0->data;
|
||||
temp_r30->unk_04 = 2;
|
||||
temp_r30->unk_14 = 0;
|
||||
if (temp_r31->unk_14++ >= 60) {
|
||||
fn_1_3D28(arg0, 2);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_40F4(omObjData* arg0) {
|
||||
unkDominationData3* temp_r30;
|
||||
unkDominationData3* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
|
||||
if (temp_r31->unk_20 > 0.0f) {
|
||||
espTPLvlSet(temp_r31->unk_18[0], temp_r31->unk_20);
|
||||
espTPLvlSet(temp_r31->unk_18[1], temp_r31->unk_20);
|
||||
|
|
@ -184,13 +178,11 @@ void fn_1_40F4(omObjData* arg0) {
|
|||
temp_r31->unk_20 -= 0.05;
|
||||
return;
|
||||
}
|
||||
|
||||
espDispOff(temp_r31->unk_18[0]);
|
||||
espDispOff(temp_r31->unk_18[1]);
|
||||
espDispOff(temp_r31->unk_18[2]);
|
||||
espDispOff(temp_r31->unk_18[3]);
|
||||
temp_r30 = arg0->data;
|
||||
temp_r30->unk_04 = 0;
|
||||
temp_r30->unk_14 = 0;
|
||||
fn_1_3D28(arg0, 0);
|
||||
}
|
||||
|
||||
f32 pad2[1] = {0.0f};
|
||||
|
|
|
|||
|
|
@ -268,8 +268,7 @@ static char *lbl_1_data_440[] = {
|
|||
|
||||
static s32 fn_1_11B0(s16 arg0, s16 arg1) {
|
||||
WindowData *temp_r30;
|
||||
float sp10;
|
||||
float spC;
|
||||
float spC[2];
|
||||
s32 temp_r28;
|
||||
s32 var_r27;
|
||||
s32 var_r26;
|
||||
|
|
@ -288,11 +287,11 @@ static s32 fn_1_11B0(s16 arg0, s16 arg1) {
|
|||
for (i = 0; i < 8; i++) {
|
||||
HuWinInsertMesSizeGet(MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16) i);
|
||||
}
|
||||
HuWinMesMaxSizeGet(1, &spC, temp_r28);
|
||||
if (spC <= 16.0f) {
|
||||
spC = 32.0f;
|
||||
HuWinMesMaxSizeGet(1, &spC[0], temp_r28);
|
||||
if (spC[0] <= 16.0f) {
|
||||
spC[0] = 32.0f;
|
||||
}
|
||||
lbl_1_data_410 = HuWinCreate(-10000.0f, -10000.0f, spC, sp10, 0);
|
||||
lbl_1_data_410 = HuWinCreate(-10000.0f, -10000.0f, spC[0], spC[1], 0);
|
||||
for (i = 0; i < 8; i++) {
|
||||
HuWinInsertMesSet(lbl_1_data_410, MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16) i);
|
||||
}
|
||||
|
|
|
|||
718
src/REL/resultDll/battle.c
Normal file
718
src/REL/resultDll/battle.c
Normal file
|
|
@ -0,0 +1,718 @@
|
|||
#include "dolphin.h"
|
||||
#include "math.h"
|
||||
|
||||
#include "game/hsfanim.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/process.h"
|
||||
#include "game/wipe.h"
|
||||
#include "game/window.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/object.h"
|
||||
#include "game/chrman.h"
|
||||
#include "game/sprite.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/hsfmotion.h"
|
||||
#include "game/armem.h"
|
||||
#include "game/frand.h"
|
||||
|
||||
#include "game/gamework_data.h"
|
||||
|
||||
#include "REL/resultdll.h"
|
||||
|
||||
DataListModel lbl_1_data_4E8[] = {
|
||||
{ 0x6F0008, 0, 0, -1, -1, { -300, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } },
|
||||
{ 0x6F0009, 0, 0, -1, -1, { -100, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } },
|
||||
{ 0x6F000A, 0, 0, -1, -1, { 100, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } },
|
||||
{ 0x6F000A, 0, 0, -1, -1, { 300, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } },
|
||||
{ 0x6F000B, 0, 0, -1, -1, { -300, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } },
|
||||
{ 0x6F000B, 0, 0, -1, -1, { -100, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } },
|
||||
{ 0x6F000B, 0, 0, -1, -1, { 100, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } },
|
||||
{ 0x6F000B, 0, 0, -1, -1, { 300, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } },
|
||||
{ 0x6F000D, 0, 0, -1, -1, { 5000, 0, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } },
|
||||
{ 0x6F000E, 0, 1, -1, 8, { 0, 0, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } },
|
||||
{ 0x6F000F, 0x40000002, 0, -1, -1, { 5000, 0, 0 }, { 0, 0, 0 }, { 2.0f, 2.0f, 2.0f } },
|
||||
{ -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }
|
||||
};
|
||||
|
||||
DataListSprite lbl_1_data_758[] = {
|
||||
{ 0x6F0043, 0, 10, 288, 240, { 255, 255, 255, 255 } },
|
||||
{ 0, 0, 0, 0, 0, { 0, 0, 0, 0 } },
|
||||
};
|
||||
|
||||
HsfanimStruct00 lbl_1_data_780 = {
|
||||
80,
|
||||
{ 0, 0 },
|
||||
3, 30, 90,
|
||||
{ 0, -0.2, 0 },
|
||||
5.0f, 0.95f, 10.0f,
|
||||
0.995f,
|
||||
2,
|
||||
{
|
||||
{ 255, 192, 112, 255 },
|
||||
{ 0, 0, 0, 0 },
|
||||
{ 0, 0, 0, 0 },
|
||||
{ 0, 0, 0, 0 },
|
||||
},
|
||||
{
|
||||
{ 128, 128, 128, 0 },
|
||||
{ 0, 0, 0, 0 },
|
||||
{ 0, 0, 0, 0 },
|
||||
{ 0, 0, 0, 0 },
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
s16 lbl_1_data_7D0[] = {
|
||||
320, 132,
|
||||
500, 132,
|
||||
320, 217,
|
||||
500, 217,
|
||||
320, 302,
|
||||
500, 302,
|
||||
320, 387,
|
||||
500, 387,
|
||||
};
|
||||
|
||||
Vec lbl_1_data_7F0[] = {
|
||||
{ -300, 270, 0 },
|
||||
{ -100, 180, 500 },
|
||||
{ 100, 90, 500 },
|
||||
{ 300, 0, 500 }
|
||||
};
|
||||
|
||||
s16 lbl_1_data_820[] = {
|
||||
-284, 148,
|
||||
-84, 233,
|
||||
116, 318,
|
||||
316, 403
|
||||
};
|
||||
|
||||
s32 lbl_1_data_830[] = {
|
||||
0x6F0008,
|
||||
0x6F0009,
|
||||
0x6F000A,
|
||||
0x6F000A
|
||||
};
|
||||
|
||||
float lbl_1_data_840[] = {
|
||||
130,
|
||||
150,
|
||||
170,
|
||||
150,
|
||||
150,
|
||||
130,
|
||||
170,
|
||||
190
|
||||
};
|
||||
|
||||
float lbl_1_data_860[] = {
|
||||
130,
|
||||
150,
|
||||
180,
|
||||
150,
|
||||
150,
|
||||
170,
|
||||
180,
|
||||
210
|
||||
};
|
||||
|
||||
float lbl_1_data_880[] = {
|
||||
140,
|
||||
160,
|
||||
180,
|
||||
150,
|
||||
150,
|
||||
120,
|
||||
180,
|
||||
210
|
||||
};
|
||||
|
||||
s16 lbl_1_data_8A0[] = {
|
||||
8,
|
||||
0,
|
||||
-8
|
||||
};
|
||||
|
||||
typedef struct struct_unk194 {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
Vec unk4;
|
||||
Vec unk10;
|
||||
float unk1C;
|
||||
} StructUnk194;
|
||||
|
||||
u8 lbl_1_bss_19F8[32];
|
||||
s16 lbl_1_bss_19F0[4];
|
||||
s16 lbl_1_bss_19E8[4];
|
||||
s16 lbl_1_bss_19E0[4];
|
||||
s16 lbl_1_bss_19B8[4][5];
|
||||
s16 lbl_1_bss_19B0[4];
|
||||
s16 lbl_1_bss_1990[4][4];
|
||||
s16 lbl_1_bss_1828[180];
|
||||
s16 lbl_1_bss_181C[6];
|
||||
s16 lbl_1_bss_1814[4];
|
||||
StructUnk194 lbl_1_bss_194[180];
|
||||
s32 lbl_1_bss_190;
|
||||
|
||||
void fn_1_6760(void);
|
||||
void fn_1_6824(void);
|
||||
void fn_1_7544(void);
|
||||
|
||||
void fn_1_6490(void)
|
||||
{
|
||||
s16 player;
|
||||
s16 i;
|
||||
s16 window;
|
||||
s16 button;
|
||||
Process *process = HuPrcCurrentGet();
|
||||
HuAudSeqPlay(10);
|
||||
for(i=player=0; i<4; i++) {
|
||||
if(GWPlayerCfg[i].iscom) {
|
||||
player++;
|
||||
}
|
||||
}
|
||||
if(player == 4) {
|
||||
lbl_1_bss_190 = 1;
|
||||
} else {
|
||||
lbl_1_bss_190 = 0;
|
||||
}
|
||||
fn_1_6824();
|
||||
HuPrcChildCreate(fn_1_6760, 100, 8192, 0, process);
|
||||
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20);
|
||||
while(WipeStatGet()) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
lbl_1_bss_178 = 0;
|
||||
HuPrcChildCreate(fn_1_3FD8, 100, 12288, 0, process);
|
||||
HuPrcSleep(10);
|
||||
if(!lbl_1_bss_174) {
|
||||
HuPrcSleep(20);
|
||||
}
|
||||
fn_1_7544();
|
||||
fn_1_40DC();
|
||||
window = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0);
|
||||
HuWinMesSpeedSet(window, 0);
|
||||
HuWinBGTPLvlSet(window, 0);
|
||||
HuWinAttrSet(window, 0x800);
|
||||
HuWinMesSet(window, 0x240007);
|
||||
i=0;
|
||||
while(1) {
|
||||
if(lbl_1_bss_190 && i > 120) {
|
||||
break;
|
||||
}
|
||||
for(player=button=0; player<4; player++) {
|
||||
if(!GWPlayerCfg[player].iscom) {
|
||||
button |= HuPadBtnDown[GWPlayerCfg[player].pad_idx];
|
||||
}
|
||||
}
|
||||
if(button & PAD_BUTTON_A) {
|
||||
HuAudFXPlay(28);
|
||||
break;
|
||||
}
|
||||
HuPrcVSleep();
|
||||
i++;
|
||||
}
|
||||
HuWinKill(window);
|
||||
while(!lbl_1_bss_178) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
|
||||
HuAudSeqAllFadeOut(500);
|
||||
while(WipeStatGet()) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
omSysPauseEnable(1);
|
||||
Hu3DParManAllKill();
|
||||
omOvlReturnEx(1, 1);
|
||||
HuPrcEnd();
|
||||
while(1) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_6760(void)
|
||||
{
|
||||
Vec temp;
|
||||
temp.z = 0.0f;
|
||||
temp.y = 0.0f;
|
||||
temp.x = 0.0f;
|
||||
while(1) {
|
||||
if (((HuPadBtn[0] | HuPadBtn[1] | HuPadBtn[2] | HuPadBtn[3]) & 0x100) != 0 || lbl_1_bss_190 != 0) {
|
||||
lbl_1_bss_174 = 1;
|
||||
} else {
|
||||
lbl_1_bss_174 = 0;
|
||||
}
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_7F98(void);
|
||||
void fn_1_8338(s16 group, s16 value);
|
||||
void fn_1_8484(void);
|
||||
void fn_1_8658(void);
|
||||
void fn_1_86DC(s16 player);
|
||||
void fn_1_8CB8(struct model_data *model, Mtx matrix);
|
||||
|
||||
void fn_1_6824(void)
|
||||
{
|
||||
s16 i;
|
||||
s16 character;
|
||||
s16 player;
|
||||
s16 x_ofs;
|
||||
AnimData *anim;
|
||||
AnimData *anim2;
|
||||
AnimData *anim3;
|
||||
s16 char_mdl;
|
||||
Vec pos;
|
||||
Vec target;
|
||||
Vec up;
|
||||
s16 gains[5];
|
||||
Process *process = HuPrcCurrentGet();
|
||||
CRot.x = 0;
|
||||
CRot.y = 0;
|
||||
CRot.z = 0;
|
||||
Center.x = 0;
|
||||
Center.y = 330;
|
||||
Center.z = 0;
|
||||
CZoom = 2210;
|
||||
Hu3DShadowCreate(20, 100, 5000);
|
||||
Hu3DShadowTPLvlSet(0.5f);
|
||||
Hu3DShadowSizeSet(192);
|
||||
target.x = target.y = target.z = 0;
|
||||
pos.x = 500;
|
||||
pos.z = 1000;
|
||||
pos.y = 2000;
|
||||
up.x = 0;
|
||||
up.y = 1;
|
||||
up.z = 0;
|
||||
Hu3DShadowPosSet(&pos, &up, &target);
|
||||
i = Hu3DHookFuncCreate(fn_1_8CB8);
|
||||
Hu3DModelPosSet(i, 0, 0, 0);
|
||||
fn_1_8484();
|
||||
fn_1_423C(gains);
|
||||
gains[lbl_1_bss_172] += gains[4];
|
||||
for(i=0; i<4; i++) {
|
||||
lbl_1_data_4E8[i].datanum = lbl_1_data_830[lbl_1_bss_19E8[i]];
|
||||
if(lbl_1_bss_19E8[i] == 3) {
|
||||
lbl_1_data_4E8[i].attr = 1;
|
||||
}
|
||||
}
|
||||
fn_1_8FF8(lbl_1_data_4E8);
|
||||
fn_1_927C(lbl_1_data_758);
|
||||
espDrawNoSet(lbl_1_bss_1A1A[0], 127);
|
||||
for(i=0; i<4; i++) {
|
||||
Hu3DModelShadowSet(lbl_1_bss_1A9C[i]);
|
||||
}
|
||||
for(i=0; i<4; i++) {
|
||||
anim = HuSprAnimRead(HuDataReadNum(lbl_1_bss_19E8[i]+0x6F0044, MEMORY_DEFAULT_NUM));;
|
||||
if(lbl_1_bss_19E8[i] <= 2) {
|
||||
anim2 = HuSprAnimRead(HuDataReadNum(0x6F0048, MEMORY_DEFAULT_NUM));
|
||||
} else {
|
||||
anim2 = HuSprAnimRead(HuDataReadNum(0x6F0048, MEMORY_DEFAULT_NUM));
|
||||
}
|
||||
Hu3DAnimCreate(anim, lbl_1_bss_1A9C[i+4], "ys22_a0");
|
||||
Hu3DAnimCreate(anim2, lbl_1_bss_1A9C[i+4], "ys22_a1");
|
||||
Hu3DModelAttrSet(lbl_1_bss_1A9C[i+4], 0x40000002);
|
||||
}
|
||||
anim = HuSprAnimRead(HuDataReadNum(0x6F003D, MEMORY_DEFAULT_NUM));
|
||||
anim2 = HuSprAnimRead(HuDataReadNum(0x6F003B, MEMORY_DEFAULT_NUM));
|
||||
anim3 = HuSprAnimRead(HuDataReadNum(0x6F003C, MEMORY_DEFAULT_NUM));
|
||||
for(i=0; i<4; i++) {
|
||||
if(gains[lbl_1_bss_19F0[i]] >= 100) {
|
||||
x_ofs = lbl_1_data_8A0[2];
|
||||
} else if(gains[lbl_1_bss_19F0[i]] >= 10) {
|
||||
x_ofs = lbl_1_data_8A0[1];
|
||||
} else {
|
||||
x_ofs = lbl_1_data_8A0[0];
|
||||
}
|
||||
lbl_1_bss_19E0[i] = HuSprGrpCreate(5);
|
||||
lbl_1_bss_19B8[i][0] = HuSprCreate(anim, 10, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_19E0[i], 0, lbl_1_bss_19B8[i][0]);
|
||||
HuSprPosSet(lbl_1_bss_19E0[i], 0, 17, -32);
|
||||
lbl_1_bss_19B8[i][1] = HuSprCreate(anim2, 0, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_19E0[i], 1, lbl_1_bss_19B8[i][1]);
|
||||
HuSprPosSet(lbl_1_bss_19E0[i], 1, x_ofs, -36);
|
||||
lbl_1_bss_19B8[i][2] = HuSprCreate(anim3, 0, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_19E0[i], 2, lbl_1_bss_19B8[i][2]);
|
||||
HuSprPosSet(lbl_1_bss_19E0[i], 2, x_ofs+16, -36);
|
||||
lbl_1_bss_19B8[i][3] = HuSprCreate(anim3, 0, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_19E0[i], 3, lbl_1_bss_19B8[i][3]);
|
||||
HuSprPosSet(lbl_1_bss_19E0[i], 3, x_ofs+32, -36);
|
||||
lbl_1_bss_19B8[i][4] = HuSprCreate(anim3, 0, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_19E0[i], 4, lbl_1_bss_19B8[i][4]);
|
||||
HuSprPosSet(lbl_1_bss_19E0[i], 4, x_ofs+48, -36);
|
||||
HuSprGrpPosSet(lbl_1_bss_19E0[i], 0, 0);
|
||||
fn_1_8338(lbl_1_bss_19E0[i], 9);
|
||||
HuSprGrpScaleSet(lbl_1_bss_19E0[i], 0, 0);
|
||||
}
|
||||
(void)anim3;
|
||||
Hu3DMotionSet(lbl_1_bss_1A9C[8], lbl_1_bss_1A5C[9]);
|
||||
Hu3DModelAttrSet(lbl_1_bss_1A9C[8], 0x40000001);
|
||||
Hu3DModelShadowSet(lbl_1_bss_1A9C[8]);
|
||||
for(i=0; i<180; i++) {
|
||||
if(i == 0) {
|
||||
lbl_1_bss_1828[0] = Hu3DModelCreateFile(0x6F000C);
|
||||
} else {
|
||||
lbl_1_bss_1828[i] = Hu3DModelLink(lbl_1_bss_1828[0]);
|
||||
}
|
||||
Hu3DModelScaleSet(lbl_1_bss_1828[i], 0.5f, 0.5f, 0.5f);
|
||||
Hu3DModelAttrSet(lbl_1_bss_1828[i], 1);
|
||||
}
|
||||
fn_1_8658();
|
||||
anim = HuSprAnimRead(HuAR_ARAMtoMRAMFileRead(0x120004, MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
for(i=0; i<4; i++) {
|
||||
lbl_1_bss_1814[i] = Hu3DParManCreate(anim, 300, &lbl_1_data_780);
|
||||
Hu3DParManAttrSet(lbl_1_bss_1814[i], 0x65);
|
||||
Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(lbl_1_bss_1814[i]), 1);
|
||||
Hu3DParManRotSet(lbl_1_bss_1814[i], 90, 0, 0);
|
||||
}
|
||||
HuDataDirClose(DATADIR_RESULT);
|
||||
for(i=0; i<4; i++) {
|
||||
player = lbl_1_bss_19F0[i];
|
||||
character = GWPlayerCfg[lbl_1_bss_19F0[i]].character;
|
||||
char_mdl = CharModelCreate(character, 2);
|
||||
lbl_1_bss_19B0[player] = char_mdl;
|
||||
lbl_1_bss_1990[player][0] = CharModelMotionCreate(character, 0x5F0000);
|
||||
lbl_1_bss_1990[player][1] = CharModelMotionCreate(character, 0x5F0017);
|
||||
lbl_1_bss_1990[player][2] = CharModelMotionCreate(character, 0x5F0049);
|
||||
CharModelVoiceEnableSet(character, lbl_1_bss_1990[player][1], 0);
|
||||
CharModelMotionSet(character, lbl_1_bss_1990[player][0]);
|
||||
Hu3DModelPosSet(char_mdl, lbl_1_data_7F0[i].x, lbl_1_data_7F0[lbl_1_bss_19E8[i]].y, 0);
|
||||
Hu3DModelAttrSet(char_mdl, 0x40000001);
|
||||
Hu3DModelShadowSet(char_mdl);
|
||||
}
|
||||
CharModelDataClose(-1);
|
||||
}
|
||||
|
||||
Vec lbl_1_data_8B8[] = {
|
||||
{ 8, 0, 0 },
|
||||
{ 0, 8, 0 },
|
||||
{ 10, 5, 0 },
|
||||
{ -5, 10, 0 },
|
||||
{ 0, -8, 0 },
|
||||
{ 8, 10, 0 },
|
||||
{ -10, 8, 0 },
|
||||
{ 15, 0, 0 }
|
||||
};
|
||||
|
||||
void fn_1_7544(void)
|
||||
{
|
||||
s16 i;
|
||||
s16 time;
|
||||
s16 done_cnt;
|
||||
float pos_y;
|
||||
s16 gains[5];
|
||||
s16 time_player[4];
|
||||
fn_1_423C(gains);
|
||||
for(time=0; time<=5; time++) {
|
||||
pos_y = ((5-time)*50)+580;
|
||||
for(i=0; i<4; i++) {
|
||||
Hu3DModelPosSet(lbl_1_bss_1A9C[i+4], lbl_1_data_7F0[i].x, pos_y, 0);
|
||||
}
|
||||
HuPrcVSleep();
|
||||
}
|
||||
for(i=0; i<4; i++) {
|
||||
Hu3DModelAttrReset(lbl_1_bss_1A9C[i+4], 0x40000002);
|
||||
Hu3DMotionSpeedSet(lbl_1_bss_1A9C[i+4], 1.5f);
|
||||
}
|
||||
HuPrcSleep(35);
|
||||
for(i=0; i<4; i++) {
|
||||
if(gains[lbl_1_bss_19F0[i]] > 0) {
|
||||
Hu3DParManAttrReset(lbl_1_bss_1814[i], 1);
|
||||
time_player[i] = frandmod(10);
|
||||
} else {
|
||||
time_player[i] = 0;
|
||||
}
|
||||
Hu3DParManPosSet(lbl_1_bss_1814[i], lbl_1_data_7F0[i].x, 610.0f, 0.0f);
|
||||
}
|
||||
while(1) {
|
||||
for(i=done_cnt=0; i<4; i++) {
|
||||
if(time_player[i]) {
|
||||
time_player[i]--;
|
||||
continue;
|
||||
}
|
||||
if(gains[lbl_1_bss_19F0[i]] <= 0) {
|
||||
Hu3DParManAttrSet(lbl_1_bss_1814[i], 1);
|
||||
done_cnt++;
|
||||
} else {
|
||||
fn_1_86DC(i);
|
||||
gains[lbl_1_bss_19F0[i]]--;
|
||||
if(gains[lbl_1_bss_19F0[i]] <= 10) {
|
||||
time_player[i] = 4;
|
||||
} else {
|
||||
if(gains[lbl_1_bss_19F0[i]] <= 20) {
|
||||
time_player[i] = 3;
|
||||
} else {
|
||||
if(gains[lbl_1_bss_19F0[i]] <= 40) {
|
||||
time_player[i] = 2;
|
||||
} else {
|
||||
time_player[i] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(done_cnt == 4) {
|
||||
break;
|
||||
}
|
||||
HuPrcVSleep();
|
||||
}
|
||||
if(gains[4]) {
|
||||
HuPrcSleep(20);
|
||||
Hu3DModelRotSet(lbl_1_bss_1A9C[8], 0, -90, 0);
|
||||
Hu3DModelScaleSet(lbl_1_bss_1A9C[8], 0.8f, 0.8f, 0.8f);
|
||||
Hu3DMotionSpeedSet(lbl_1_bss_1A9C[8], 2.0f);
|
||||
for(i=0; i<=40; i++) {
|
||||
Hu3DModelPosSet(lbl_1_bss_1A9C[8], 500.0f*(1.0f-(i/40.0f)), 0, 100.0f);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
HuAudFXPlay(828);
|
||||
Hu3DModelAttrReset(lbl_1_bss_1A9C[10], 0x40000002);
|
||||
Hu3DModelPosSet(lbl_1_bss_1A9C[10], 0, 0, 200);
|
||||
for(i=0; i<Hu3DMotionMaxTimeGet(lbl_1_bss_1A9C[10]); i++) {
|
||||
if(i > 10) {
|
||||
Hu3DModelAttrSet(lbl_1_bss_1A9C[8], 1);
|
||||
}
|
||||
Center.x = lbl_1_data_8B8[(i/2) & 0x7].x;
|
||||
Center.y = 330.0f+lbl_1_data_8B8[(i/2) & 0x7].y;
|
||||
Center.z = lbl_1_data_8B8[(i/2) & 0x7].z;
|
||||
espPosSet(lbl_1_bss_1A1A[0], 288.0f+lbl_1_data_8B8[(i/2) & 0x7].x, 240.0f-lbl_1_data_8B8[(i/2) & 0x7].y);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
espPosSet(lbl_1_bss_1A1A[0], 288.0, 240.0);
|
||||
Center.x = 0;
|
||||
Center.y = 330;
|
||||
Center.z = 0;
|
||||
time_player[0] = 10;
|
||||
for(i=0; i<4; i++) {
|
||||
if(lbl_1_bss_172 == lbl_1_bss_19F0[i]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
Hu3DParManAttrReset(lbl_1_bss_1814[i], 1);
|
||||
while(1) {
|
||||
if(time_player[0] != 0) {
|
||||
time_player[0]--;
|
||||
HuPrcVSleep();
|
||||
continue;
|
||||
}
|
||||
if(gains[4] <= 0){
|
||||
Hu3DParManAttrSet(lbl_1_bss_1814[i], 1);
|
||||
break;
|
||||
}
|
||||
fn_1_86DC(i);
|
||||
gains[4]--;
|
||||
time_player[0] = 5;
|
||||
HuPrcVSleep();
|
||||
}
|
||||
Hu3DParManAttrSet(lbl_1_bss_1814[i], 1);
|
||||
}
|
||||
fn_1_423C(gains);
|
||||
gains[lbl_1_bss_172] += gains[4];
|
||||
for(i=0; i<4; i++) {
|
||||
if(gains[lbl_1_bss_19F0[i]]) {
|
||||
CharModelMotionShiftSet(GWPlayerCfg[lbl_1_bss_19F0[i]].character, lbl_1_bss_1990[lbl_1_bss_19F0[i]][1], 0, 4, 0);
|
||||
HuAudPlayerVoicePlay(lbl_1_bss_19F0[i], 293);
|
||||
} else {
|
||||
CharModelMotionShiftSet(GWPlayerCfg[lbl_1_bss_19F0[i]].character, lbl_1_bss_1990[lbl_1_bss_19F0[i]][2], 0, 4, 0);
|
||||
}
|
||||
}
|
||||
HuPrcSleep(20);
|
||||
fn_1_7F98();
|
||||
HuPrcSleep(120);
|
||||
}
|
||||
|
||||
void fn_1_7F98(void)
|
||||
{
|
||||
s16 i;
|
||||
s16 time;
|
||||
s16 delay;
|
||||
s16 gains[5];
|
||||
Vec pos_3d;
|
||||
Vec pos_2d;
|
||||
fn_1_423C(gains);
|
||||
gains[lbl_1_bss_172] += gains[4];
|
||||
for(i=0; i<4; i++) {
|
||||
fn_1_8338(lbl_1_bss_19E0[i], gains[lbl_1_bss_19F0[i]]);
|
||||
pos_3d.x = lbl_1_data_7F0[i].x;
|
||||
if(gains[lbl_1_bss_19F0[i]]) {
|
||||
pos_3d.y = lbl_1_data_7F0[lbl_1_bss_19E8[i]].y+lbl_1_data_860[GWPlayerCfg[lbl_1_bss_19F0[i]].character];
|
||||
} else {
|
||||
pos_3d.y = lbl_1_data_7F0[lbl_1_bss_19E8[i]].y+lbl_1_data_880[GWPlayerCfg[lbl_1_bss_19F0[i]].character];
|
||||
}
|
||||
pos_3d.z = 0;
|
||||
Hu3D3Dto2D(&pos_3d, 1, &pos_2d);
|
||||
HuSprGrpPosSet(lbl_1_bss_19E0[i], pos_2d.x, pos_2d.y);
|
||||
}
|
||||
delay = (lbl_1_bss_174) ? 3 : 10;
|
||||
for(time=0; time<=delay; time++) {
|
||||
float scale = sin(M_PI*((90.0/delay)*time)/180.0);
|
||||
for(i=0; i<4; i++) {
|
||||
HuSprGrpScaleSet(lbl_1_bss_19E0[i], scale, scale);
|
||||
}
|
||||
HuPrcVSleep();
|
||||
}
|
||||
for(i=0; i<4; i++) {
|
||||
HuSprGrpScaleSet(lbl_1_bss_19E0[i], 1.0f, 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_8338(s16 group, s16 value)
|
||||
{
|
||||
s16 digit;
|
||||
s16 digit_value;
|
||||
|
||||
digit = 2;
|
||||
digit_value = value/100;
|
||||
if(digit_value != 0) {
|
||||
HuSprBankSet(group, digit, digit_value);
|
||||
HuSprAttrReset(group, digit, 4);
|
||||
digit++;
|
||||
}
|
||||
value -= digit_value*100;
|
||||
digit_value = value/10;
|
||||
if(digit_value != 0 || digit == 3) {
|
||||
HuSprBankSet(group, digit, digit_value);
|
||||
HuSprAttrReset(group, digit, 4);
|
||||
digit++;
|
||||
}
|
||||
value -= digit_value*10;
|
||||
HuSprBankSet(group, digit, value);
|
||||
HuSprAttrReset(group, digit, 4);
|
||||
digit++;
|
||||
for(digit_value=digit; digit_value<5; digit_value++) {
|
||||
HuSprAttrSet(group, digit_value, 4);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_8484(void)
|
||||
{
|
||||
s16 i;
|
||||
s16 j;
|
||||
for(i=0; i<4; i++) {
|
||||
lbl_1_bss_19E8[i] = GWPlayerCoinWinGet(i);
|
||||
lbl_1_bss_19F0[i] = i;
|
||||
}
|
||||
for(j=1; j<4; j++) {
|
||||
for(i=0; i<4-j; i++) {
|
||||
if(lbl_1_bss_19E8[i] > lbl_1_bss_19E8[i+1]) {
|
||||
s16 temp;
|
||||
temp = lbl_1_bss_19E8[i];
|
||||
lbl_1_bss_19E8[i] = lbl_1_bss_19E8[i+1];
|
||||
lbl_1_bss_19E8[i+1] = temp;
|
||||
temp = lbl_1_bss_19F0[i];
|
||||
lbl_1_bss_19F0[i] = lbl_1_bss_19F0[i+1];
|
||||
lbl_1_bss_19F0[i+1] = temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_8998(void);
|
||||
|
||||
void fn_1_8658(void)
|
||||
{
|
||||
s16 i;
|
||||
Process *process = HuPrcCurrentGet();
|
||||
for(i=0; i<180; i++) {
|
||||
lbl_1_bss_194[i].unk0 = -1;
|
||||
}
|
||||
HuPrcChildCreate(fn_1_8998, 100, 8192, 0, process);
|
||||
}
|
||||
|
||||
void fn_1_86DC(s16 player)
|
||||
{
|
||||
s16 i;
|
||||
for(i=0; i<180; i++) {
|
||||
if(lbl_1_bss_194[i].unk0 == -1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(i == 180) {
|
||||
return;
|
||||
}
|
||||
lbl_1_bss_194[i].unk0 = player;
|
||||
lbl_1_bss_194[i].unk4.x = lbl_1_data_7F0[player].x;
|
||||
lbl_1_bss_194[i].unk4.y = 610.0f;
|
||||
lbl_1_bss_194[i].unk4.z = 0.0f;
|
||||
lbl_1_bss_194[i].unk2 = lbl_1_bss_19E8[player];
|
||||
lbl_1_bss_194[i].unk10.x = frandmod(20)-10.0f;
|
||||
lbl_1_bss_194[i].unk10.y = frandmod(20)-10.0f;
|
||||
lbl_1_bss_194[i].unk10.z = 0;
|
||||
lbl_1_bss_194[i].unk1C = 10.0f;
|
||||
Hu3DModelAttrReset(lbl_1_bss_1828[i], 1);
|
||||
Hu3DModelPosSet(lbl_1_bss_1828[i], 0, 100, 0);
|
||||
Hu3DModelRotSet(lbl_1_bss_1828[i], 0, 0, 0);
|
||||
}
|
||||
|
||||
void fn_1_8998(void)
|
||||
{
|
||||
s16 i;
|
||||
ModelData *model_ptr;
|
||||
s16 player;
|
||||
while(1) {
|
||||
for(i=0; i<180; i++) {
|
||||
if(lbl_1_bss_194[i].unk0 == -1) {
|
||||
continue;
|
||||
}
|
||||
player = lbl_1_bss_194[i].unk0;
|
||||
model_ptr = &Hu3DData[lbl_1_bss_1828[i]];
|
||||
model_ptr->pos = lbl_1_bss_194[i].unk4;
|
||||
model_ptr->rot.x += lbl_1_bss_194[i].unk10.x;
|
||||
model_ptr->rot.y += lbl_1_bss_194[i].unk10.y;
|
||||
lbl_1_bss_194[i].unk4.y -= lbl_1_bss_194[i].unk1C;
|
||||
lbl_1_bss_194[i].unk1C += 0.2f;
|
||||
if(lbl_1_bss_194[i].unk4.y < ((3-lbl_1_bss_194[i].unk2)*100)+lbl_1_data_840[GWPlayerCfg[lbl_1_bss_19F0[player]].character]) {
|
||||
Vec pos;
|
||||
pos.x = lbl_1_data_7F0[player].x;
|
||||
pos.y = ((3-lbl_1_bss_194[i].unk2)*100)+lbl_1_data_840[GWPlayerCfg[lbl_1_bss_19F0[player]].character];
|
||||
pos.z = 0.0f;
|
||||
CharModelCoinEffectCreate(1, &pos);
|
||||
lbl_1_bss_194[i].unk0 = -1;
|
||||
HuAudFXPlay(7);
|
||||
Hu3DModelAttrSet(lbl_1_bss_1828[i], 1);
|
||||
}
|
||||
}
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void fn_1_8CB8(struct model_data *model, Mtx matrix)
|
||||
{
|
||||
s32 sp8 = 0;
|
||||
GXTexObj tex;
|
||||
Mtx final;
|
||||
Mtx inv_camera;
|
||||
Mtx shadow;
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXInitTexObj(&tex, Hu3DShadowData.unk_04, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, GX_TF_I8, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObjLOD(&tex, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
|
||||
GXLoadTexObj(&tex, 0);
|
||||
MTXInverse(Hu3DCameraMtx, inv_camera);
|
||||
MTXConcat(inv_camera, matrix, final);
|
||||
MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, shadow);
|
||||
MTXConcat(shadow, final, final);
|
||||
GXLoadTexMtxImm(final, GX_TEXMTX9, GX_MTX3x4);
|
||||
GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX9);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV);
|
||||
GXSetNumTexGens(1);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0, GX_TRUE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP);
|
||||
GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE);
|
||||
GXLoadPosMtxImm(matrix, GX_PNMTX0);
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
GXPosition3f32(-500.0f, 0, -500.0f);
|
||||
GXPosition3f32(500.0f, 0, -500.0f);
|
||||
GXPosition3f32(500.0f, 0, 500.0f);
|
||||
GXPosition3f32(-500.0f, 0, 500.0f);
|
||||
GXEnd();
|
||||
}
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
// include "REL/resultDll/main.h"
|
||||
#include "dolphin.h"
|
||||
#include "rel_sqrt_consts.h"
|
||||
#include "game/object.h"
|
||||
|
|
@ -14,6 +13,9 @@
|
|||
#include "game/saveload.h"
|
||||
#include "game/gamework.h"
|
||||
#include "game/board/player.h"
|
||||
#include "game/frand.h"
|
||||
|
||||
#include "math.h"
|
||||
|
||||
#include "REL/resultdll.h"
|
||||
|
||||
|
|
@ -83,8 +85,6 @@ void fn_1_888(void);
|
|||
void fn_1_B78(void);
|
||||
void fn_1_1F4C(void);
|
||||
void fn_1_2ADC(void);
|
||||
void fn_1_3FD8(void);
|
||||
void fn_1_40DC(void);
|
||||
void fn_1_461C(void);
|
||||
void fn_1_47FC(void);
|
||||
|
||||
|
|
@ -320,7 +320,6 @@ void fn_1_3B50(s16 group, s16 value);
|
|||
void fn_1_3CAC(s16 group, s16 value);
|
||||
|
||||
void fn_1_3E08(void);
|
||||
void fn_1_423C(s16 *data);
|
||||
|
||||
void fn_1_B78(void)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue