Fix mstory2 data locality and apply DATA_MAKE_NUM macros (#522)

* Make rodata and strings local in mstory2

* use DATA_MAKE_NUM macros
This commit is contained in:
dbalatoni13 2025-01-11 15:50:52 +01:00 committed by GitHub
parent f28e9d19aa
commit f79a3f88b1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 2589 additions and 2337 deletions

View file

@ -10,12 +10,13 @@
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/minigame_seq.h"
#include "game/objsub.h"
#include "game/pad.h"
#include "game/printfunc.h"
#include "game/sprite.h"
#include "game/window.h"
#include "game/wipe.h"
#include "game/pad.h"
#include "game/objsub.h"
typedef struct {
/* 0x000 */ s32 unk00;
@ -42,17 +43,17 @@ void fn_1_C858(void);
void fn_1_CCCC(int arg0, int arg1, int arg2, int arg3, int arg4);
void fn_1_CD78(void);
void fn_1_D224(int arg0, int arg1, int arg2, int arg3, int arg4);
void fn_1_D2D0(omObjData* arg0, StructBss16C* arg1);
void fn_1_D2D0(omObjData *arg0, StructBss16C *arg1);
void fn_1_D478(void);
void fn_1_D764(int arg0);
void fn_1_DB58(int arg0, int arg1, int arg2, int arg3, int arg4);
void fn_1_DC54(omObjData* arg0, StructBss16C* arg1);
void fn_1_DC54(omObjData *arg0, StructBss16C *arg1);
void fn_1_DDC4(void);
void fn_1_E1B8(void);
void fn_1_E244(void);
void fn_1_E334(void);
void fn_1_B37C(omObjData* arg0, StructBss16C* arg1)
void fn_1_B37C(omObjData *arg0, StructBss16C *arg1)
{
fn_1_BE8(30);
fn_1_DB58(4, -1, 15, 1, 0);
@ -60,7 +61,7 @@ void fn_1_B37C(omObjData* arg0, StructBss16C* arg1)
arg1->unk04 = NULL;
}
void fn_1_B3E4(Process* arg0, s32 arg1)
void fn_1_B3E4(Process *arg0, s32 arg1)
{
int i;
lbl_1_bss_298 = arg0;
@ -73,20 +74,19 @@ void fn_1_B3E4(Process* arg0, s32 arg1)
HuPrcChildCreate(fn_1_C858, 100, 8192, 0, HuPrcCurrentGet());
HuPrcChildCreate(fn_1_CD78, 100, 8192, 0, HuPrcCurrentGet());
HuPrcChildCreate(fn_1_D478, 100, 8192, 0, HuPrcCurrentGet());
for(i=0; i<4; i++) {
for (i = 0; i < 4; i++) {
HuPrcChildCreate(fn_1_DDC4, 100, 8192, 0, HuPrcCurrentGet());
}
HuPrcChildCreate(fn_1_C4C0, 100, 8192, 0, HuPrcCurrentGet());
}
void fn_1_B518(omObjData *object)
{
if(object->work[2]) {
if (object->work[2]) {
object->work[2]--;
return;
}
if(object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) {
if (object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) {
fn_1_1DFC(object, 1, object->work[1], 15, 1);
object->work[0] = object->work[1] = object->work[2] = 0;
}
@ -98,42 +98,47 @@ void fn_1_B5A4(void)
int posY = 40;
GXColor winColor = { 0, 0, 128, 128 };
int i;
while(1) {
while (1) {
fn_1_BC8();
printWin(posX, posY, 220, 160, &winColor);
if(lbl_1_bss_3B4.unk04 == NULL) {
if (lbl_1_bss_3B4.unk04 == NULL) {
print8(posX, posY, 1, "PROC_MAIN -> FALSE");
} else {
}
else {
print8(posX, posY, 1, "PROC_MAIN -> TRUE");
}
if(lbl_1_bss_38C.unk04 == NULL) {
print8(posX, posY+10, 1, "PROC_MAP -> FALSE");
} else {
print8(posX, posY+10, 1, "PROC_MAP -> TRUE");
if (lbl_1_bss_38C.unk04 == NULL) {
print8(posX, posY + 10, 1, "PROC_MAP -> FALSE");
}
if(lbl_1_bss_364.unk04 == NULL) {
print8(posX, posY+20, 1, "PROC_KOOPA -> FALSE");
} else {
print8(posX, posY+20, 1, "PROC_KOOPA -> TRUE");
else {
print8(posX, posY + 10, 1, "PROC_MAP -> TRUE");
}
if(lbl_1_bss_33C.unk04 == NULL) {
print8(posX, posY+30, 1, "PROC_MKOOPA -> FALSE");
} else {
print8(posX, posY+30, 1, "PROC_MKOOPA -> TRUE");
if (lbl_1_bss_364.unk04 == NULL) {
print8(posX, posY + 20, 1, "PROC_KOOPA -> FALSE");
}
for(i=0; i<4; i++) {
if(lbl_1_bss_29C[i].unk04 == NULL) {
print8(posX, posY+40+(i*10), 1, "PROC_PLAYER%d -> FALSE", i);
} else {
print8(posX, posY+40+(i*10), 1, "PROC_PLAYER%d -> TRUE", i);
else {
print8(posX, posY + 20, 1, "PROC_KOOPA -> TRUE");
}
if (lbl_1_bss_33C.unk04 == NULL) {
print8(posX, posY + 30, 1, "PROC_MKOOPA -> FALSE");
}
else {
print8(posX, posY + 30, 1, "PROC_MKOOPA -> TRUE");
}
for (i = 0; i < 4; i++) {
if (lbl_1_bss_29C[i].unk04 == NULL) {
print8(posX, posY + 40 + (i * 10), 1, "PROC_PLAYER%d -> FALSE", i);
}
else {
print8(posX, posY + 40 + (i * 10), 1, "PROC_PLAYER%d -> TRUE", i);
}
}
print8(posX, posY+90, 1, "P:%d W:%d", lbl_1_bss_3DC.unk00, lbl_1_bss_3DC.unk0C);
print8(posX, posY+110, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for(i=0; i<4; i++) {
print8(posX, posY+120+(i*10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_3DC.unk30[i].unk00, lbl_1_bss_3DC.unk30[i].unk04, lbl_1_bss_3DC.unk30[i].unk08, lbl_1_bss_3DC.unk30[i].unk0C, lbl_1_bss_3DC.unk30[i].unk14, lbl_1_bss_3DC.unk30[i].unk10);
print8(posX, posY + 90, 1, "P:%d W:%d", lbl_1_bss_3DC.unk00, lbl_1_bss_3DC.unk0C);
print8(posX, posY + 110, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for (i = 0; i < 4; i++) {
print8(posX, posY + 120 + (i * 10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_3DC.unk30[i].unk00, lbl_1_bss_3DC.unk30[i].unk04,
lbl_1_bss_3DC.unk30[i].unk08, lbl_1_bss_3DC.unk30[i].unk0C, lbl_1_bss_3DC.unk30[i].unk14, lbl_1_bss_3DC.unk30[i].unk10);
}
}
}
@ -152,15 +157,15 @@ void fn_1_B9E0(void)
lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk04 = (void *)fn_1_DC54;
fn_1_3854(&lbl_1_bss_24);
fn_1_2750(fn_1_E244);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk04 == NULL) {
if (lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk04 == NULL) {
break;
}
}
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_33C.unk04 == NULL) {
if (lbl_1_bss_33C.unk04 == NULL) {
break;
}
}
@ -181,8 +186,8 @@ void fn_1_BA90(void)
fn_1_1A94(lbl_1_bss_3DC.unk04);
HuAudSeqFadeOut(lbl_1_bss_78[0], 1000);
fn_1_BE8(60);
for(i=0; i<4; i++) {
if(lbl_1_bss_3DC.unk30[i].unk00 != lbl_1_bss_3DC.unk30[lbl_1_bss_3DC.unk00].unk00) {
for (i = 0; i < 4; i++) {
if (lbl_1_bss_3DC.unk30[i].unk00 != lbl_1_bss_3DC.unk30[lbl_1_bss_3DC.unk00].unk00) {
Hu3DModelAttrSet(lbl_1_bss_29C[i].unk00->model[1], 1);
}
Hu3DModelAttrSet(lbl_1_bss_29C[i].unk00->model[2], 1);
@ -236,9 +241,9 @@ void fn_1_BF48(void)
int padNo;
WipeColorSet(0, 0, 0);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while(1) {
while (1) {
fn_1_BC8();
if(!WipeStatGet()) {
if (!WipeStatGet()) {
break;
}
}
@ -253,14 +258,14 @@ void fn_1_BF48(void)
GWPlayerCfg[0].pad_idx = padNo;
GWPlayerCfg[0].group = 0;
GWPlayerCfg[0].iscom = FALSE;
for(i=0; i<4; i++) {
for (i = 0; i < 4; i++) {
GWPlayer[i].character = GWPlayerCfg[i].character;
GWPlayer[i].port = GWPlayerCfg[i].pad_idx;
GWPlayer[i].com = GWPlayerCfg[i].iscom;
GWPlayer[i].team = GWPlayerCfg[i].group;
}
GWPlayerCfg[1].character = 8;
for(i=1; i<4; i++) {
for (i = 1; i < 4; i++) {
GWPlayerCfg[i].iscom = GWPlayerCfg[i].group = 1;
}
his = omOvlHisGet(0);
@ -269,14 +274,14 @@ void fn_1_BF48(void)
HuAudSStreamAllFadeOut(1000);
GWSystem.mg_type = -1;
GWMGAvailSet(450);
GWSystem.mg_next = 450-401;
GWSystem.mg_next = 450 - 401;
omOvlCallEx(OVL_M450, 1, 0, 0);
while(1) {
while (1) {
fn_1_BC8();
}
}
void fn_1_C270(omObjData* arg0, StructBss16C* arg1)
void fn_1_C270(omObjData *arg0, StructBss16C *arg1)
{
int temp = 0;
fn_1_B984();
@ -293,9 +298,9 @@ void fn_1_C4C0(void)
lbl_1_bss_3B4.unk00 = obj = omAddObjEx(lbl_1_bss_298, 256, 16, 16, -1, NULL);
lbl_1_bss_3B4.unk04 = (void *)fn_1_C270;
lbl_1_bss_3B4.unk00->data = &lbl_1_bss_3B4;
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_3B4.unk04 != NULL) {
if (lbl_1_bss_3B4.unk04 != NULL) {
lbl_1_bss_3B4.unk04(obj, &lbl_1_bss_3B4);
}
}
@ -324,10 +329,10 @@ void fn_1_C574(omObjData *object)
fn_1_1DFC(object, 6, 6, 0, 2);
}
void fn_1_C79C(omObjData* arg0, StructBss16C* arg1)
void fn_1_C79C(omObjData *arg0, StructBss16C *arg1)
{
Hu3DData[arg0->model[5]].pos.y = fn_1_B08(80, 90, arg1->unk08++, 360);
if(arg1->unk08 >= 360) {
if (arg1->unk08 >= 360) {
arg1->unk08 = 0;
}
}
@ -339,9 +344,9 @@ void fn_1_C858(void)
lbl_1_bss_38C.unk04 = (void *)fn_1_C79C;
lbl_1_bss_38C.unk00->data = &lbl_1_bss_38C;
fn_1_C574(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_38C.unk04 != NULL) {
if (lbl_1_bss_38C.unk04 != NULL) {
lbl_1_bss_38C.unk04(obj, &lbl_1_bss_38C);
}
}
@ -365,12 +370,12 @@ void fn_1_CB0C(omObjData *object)
void fn_1_CCCC(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_364.unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_364.unk00->work[0] = arg4;
lbl_1_bss_364.unk00->work[1] = arg1;
lbl_1_bss_364.unk00->work[2] = arg2+1;
lbl_1_bss_364.unk00->work[2] = arg2 + 1;
}
void fn_1_CD78(void)
@ -380,15 +385,16 @@ void fn_1_CD78(void)
lbl_1_bss_364.unk04 = NULL;
lbl_1_bss_364.unk00->data = &lbl_1_bss_38C;
fn_1_CB0C(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_364.unk04 != NULL) {
if (lbl_1_bss_364.unk04 != NULL) {
lbl_1_bss_364.unk04(obj, &lbl_1_bss_364);
}
if(obj->work[0]) {
if(obj->work[2]) {
if (obj->work[0]) {
if (obj->work[2]) {
obj->work[2]--;
} else if(obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
}
else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
fn_1_1DFC(obj, 1, obj->work[1], 15, 1);
obj->work[0] = obj->work[1] = obj->work[2] = 0;
}
@ -415,25 +421,25 @@ void fn_1_D030(omObjData *object)
void fn_1_D224(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_33C.unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_33C.unk00->work[0] = arg4;
lbl_1_bss_33C.unk00->work[1] = arg1;
lbl_1_bss_33C.unk00->work[2] = arg2+1;
lbl_1_bss_33C.unk00->work[2] = arg2 + 1;
}
void fn_1_D2D0(omObjData* arg0, StructBss16C* arg1)
void fn_1_D2D0(omObjData *arg0, StructBss16C *arg1)
{
int i;
for(i=0; i<15; i++) {
for (i = 0; i < 15; i++) {
fn_1_BC8();
Hu3DData[arg0->model[1]].rot.y = fn_1_864(0, 135, i, 15);
}
arg1->unk04 = NULL;
}
void fn_1_D394(omObjData* arg0, StructBss16C* arg1)
void fn_1_D394(omObjData *arg0, StructBss16C *arg1)
{
Vec pos = { -120, 0, 800 };
fn_1_1DFC(arg0, 1, 2, 15, 1);
@ -449,15 +455,16 @@ void fn_1_D478(void)
lbl_1_bss_33C.unk04 = NULL;
lbl_1_bss_33C.unk00->data = &lbl_1_bss_33C;
fn_1_D030(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_33C.unk04 != NULL) {
if (lbl_1_bss_33C.unk04 != NULL) {
lbl_1_bss_33C.unk04(obj, &lbl_1_bss_33C);
}
if(obj->work[0]) {
if(obj->work[2]) {
if (obj->work[0]) {
if (obj->work[2]) {
obj->work[2]--;
} else if(obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
}
else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
fn_1_1DFC(obj, 1, obj->work[1], 15, 1);
obj->work[0] = obj->work[1] = obj->work[2] = 0;
}
@ -470,20 +477,20 @@ void fn_1_D764(int arg0)
int i;
int order[4];
order[0] = 0;
for(i=1; i<4; i++) {
order[i] = order[i-1]+1;
if(order[i] >= 4) {
for (i = 1; i < 4; i++) {
order[i] = order[i - 1] + 1;
if (order[i] >= 4) {
order[i] = 0;
}
if(arg0 == order[i]) {
if (arg0 == order[i]) {
lbl_1_bss_3DC.unk00 = i;
}
}
for(i=0; i<4; i++) {
for (i = 0; i < 4; i++) {
fn_1_357C(&lbl_1_bss_3DC.unk30[i], order[i]);
}
for(i=0; i<4; i++) {
lbl_1_bss_3DC.unk30[i].unk18 = GWPlayer[order[i]].rank+1;
for (i = 0; i < 4; i++) {
lbl_1_bss_3DC.unk30[i].unk18 = GWPlayer[order[i]].rank + 1;
}
}
@ -499,20 +506,22 @@ void fn_1_D898(omObjData *object, int player)
int playerNo = player;
int charNo = lbl_1_bss_3DC.unk30[playerNo].unk10;
object->model[1] = CharModelCreate(charNo, 4);
object->motion[1] = CharModelMotionCreate(charNo, 0x5F0000);
object->motion[2] = CharModelMotionCreate(charNo, 0x5F0003);
object->motion[3] = CharModelMotionCreate(charNo, 0x5F0005);
object->motion[4] = CharModelMotionCreate(charNo, 0x5F001A);
object->motion[5] = CharModelMotionCreate(charNo, 0x5F006D);
object->motion[1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00));
object->motion[2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03));
object->motion[3] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05));
object->motion[4] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1A));
object->motion[5] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x6D));
CharModelMotionDataClose(charNo);
Hu3DModelPosSet(object->model[1], lbl_1_data_668[playerNo].x, lbl_1_data_668[lbl_1_bss_3DC.unk30[playerNo].unk18-1].y+90, lbl_1_data_668[playerNo].z);
Hu3DModelPosSet(
object->model[1], lbl_1_data_668[playerNo].x, lbl_1_data_668[lbl_1_bss_3DC.unk30[playerNo].unk18 - 1].y + 90, lbl_1_data_668[playerNo].z);
Hu3DModelRotSet(object->model[1], 0, 0, 0);
Hu3DModelScaleSet(object->model[1], 1, 1, 1);
Hu3DModelShadowSet(object->model[1]);
fn_1_1DFC(object, 1, 1, 0, 1);
object->model[2] = Hu3DModelCreateFile(0x660056);
Hu3DModelPosSet(object->model[2], lbl_1_data_668[playerNo].x, lbl_1_data_668[lbl_1_bss_3DC.unk30[playerNo].unk18-1].y, lbl_1_data_668[playerNo].z);
if(lbl_1_bss_3DC.unk30[playerNo].unk18 == 4) {
Hu3DModelPosSet(
object->model[2], lbl_1_data_668[playerNo].x, lbl_1_data_668[lbl_1_bss_3DC.unk30[playerNo].unk18 - 1].y, lbl_1_data_668[playerNo].z);
if (lbl_1_bss_3DC.unk30[playerNo].unk18 == 4) {
Hu3DModelAttrSet(object->model[2], 1);
}
Hu3DModelScaleSet(object->model[2], 1.5, 1, 1.5);
@ -522,15 +531,15 @@ void fn_1_D898(omObjData *object, int player)
void fn_1_DB58(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk00->work[0] = arg4;
lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk00->work[1] = arg1;
lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk00->work[2] = arg2+1;
lbl_1_bss_29C[lbl_1_bss_3DC.unk00].unk00->work[2] = arg2 + 1;
}
void fn_1_DC54(omObjData* arg0, StructBss16C* arg1)
void fn_1_DC54(omObjData *arg0, StructBss16C *arg1)
{
Vec pos = { 120, 0, 800 };
fn_1_2948(arg0, 1, pos, -1, 30, 10);
@ -550,15 +559,16 @@ void fn_1_DDC4(void)
lbl_1_bss_29C[playerNo].unk04 = NULL;
lbl_1_bss_29C[playerNo].unk00->data = &lbl_1_bss_29C[0];
fn_1_D898(obj, playerNo);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_29C[playerNo].unk04 != NULL) {
if (lbl_1_bss_29C[playerNo].unk04 != NULL) {
lbl_1_bss_29C[playerNo].unk04(obj, &lbl_1_bss_29C[playerNo]);
}
if(obj->work[0]) {
if(obj->work[2]) {
if (obj->work[0]) {
if (obj->work[2]) {
obj->work[2]--;
} else if(obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
}
else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
fn_1_1DFC(obj, 1, obj->work[1], 15, 1);
obj->work[0] = obj->work[1] = obj->work[2] = 0;
}
@ -596,7 +606,7 @@ void fn_1_E334(void)
{
StructBss24 *work = &lbl_1_bss_24;
StructBss24 temp;
if(work->unk40 == 50) {
if (work->unk40 == 50) {
fn_1_1DFC(lbl_1_bss_38C.unk00, 5, 5, 0, 0);
fn_1_1DFC(lbl_1_bss_38C.unk00, 6, 6, 0, 0);
HuAudFXPlay(161);
@ -609,11 +619,11 @@ void fn_1_E334(void)
temp.unk20.z = 0;
temp.unk38 = 150;
fn_1_4FEC(work, &temp, work->unk40, 180, 10);
if(work->unk40++ >= 90) {
if(work->unk40 == 91) {
if (work->unk40++ >= 90) {
if (work->unk40 == 91) {
lbl_1_bss_88[0] = HuAudFXPlay(32);
}
work->unk20.x = fn_1_864(work->unk20.x, -45, work->unk40-90, 90);
Hu3DData[lbl_1_bss_38C.unk00->model[5]].rot.x = fn_1_864(0, 45, work->unk40-90, 90);
work->unk20.x = fn_1_864(work->unk20.x, -45, work->unk40 - 90, 90);
Hu3DData[lbl_1_bss_38C.unk00->model[5]].rot.x = fn_1_864(0, 45, work->unk40 - 90, 90);
}
}
}

View file

@ -9,12 +9,13 @@
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/minigame_seq.h"
#include "game/objsub.h"
#include "game/pad.h"
#include "game/printfunc.h"
#include "game/sprite.h"
#include "game/window.h"
#include "game/wipe.h"
#include "game/pad.h"
#include "game/objsub.h"
typedef struct {
/* 0x000 */ s32 unk00;
@ -38,26 +39,10 @@ Process *lbl_1_bss_C8;
s32 lbl_1_bss_88[16];
s32 lbl_1_bss_78[4];
u32 lbl_1_data_3A0[11] = {
0x00250000,
0x00250000,
0x00250000,
0x00250000,
0x00250000,
0x00250000,
0x00250000,
0x00250000,
0x00250000,
0x00250000,
0x00250000
};
u32 lbl_1_data_3A0[11]
= { 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000, 0x00250000 };
s32 lbl_1_data_3CC[2][2] = {
20,
70,
1,
1
};
s32 lbl_1_data_3CC[2][2] = { 20, 70, 1, 1 };
s32 lbl_1_data_3DC = -1;
s32 lbl_1_data_3E0[2] = { -1, -1 };
@ -65,11 +50,11 @@ s32 lbl_1_data_3E0[2] = { -1, -1 };
void fn_1_9768(void);
void fn_1_9A10(void);
void fn_1_9BD4(s32 arg0);
void fn_1_9ECC(omObjData* arg0, StructBss16C* arg1);
void fn_1_9ECC(omObjData *arg0, StructBss16C *arg1);
void fn_1_9FDC(void);
void fn_1_A4A8(omObjData* arg0, StructBss16C* arg1);
void fn_1_A4A8(omObjData *arg0, StructBss16C *arg1);
void fn_1_A58C(void);
void fn_1_AB10(omObjData* arg0, StructBss16C* arg1);
void fn_1_AB10(omObjData *arg0, StructBss16C *arg1);
void fn_1_AE5C(void);
void fn_1_B1C0(void);
@ -78,30 +63,28 @@ void fn_1_B24C(void);
void fn_1_7DB0(void)
{
int i;
while(1) {
while (1) {
do {
HuPrcVSleep();
} while(lbl_1_data_3DC == -1 || lbl_1_data_3E0[0] == -1 || lbl_1_data_3E0[1] == -1 || lbl_1_data_3E0[0] != Hu3DMotionIDGet(lbl_1_data_3DC));
for(i=0; i<2; i++) {
if(lbl_1_data_3CC[1][i] != -1) {
if(Hu3DMotionTimeGet(lbl_1_data_3DC) >= lbl_1_data_3CC[0][i]) {
} while (lbl_1_data_3DC == -1 || lbl_1_data_3E0[0] == -1 || lbl_1_data_3E0[1] == -1 || lbl_1_data_3E0[0] != Hu3DMotionIDGet(lbl_1_data_3DC));
for (i = 0; i < 2; i++) {
if (lbl_1_data_3CC[1][i] != -1) {
if (Hu3DMotionTimeGet(lbl_1_data_3DC) >= lbl_1_data_3CC[0][i]) {
OSReport("KE-System TIME:%d\n", lbl_1_data_3CC[0][i]);
HuAudFXPlay(81);
lbl_1_data_3CC[1][i] = -1;
}
}
}
if(Hu3DMotionTimeGet(lbl_1_data_3DC) <= 10) {
for(i=0; i<2; i++) {
if (Hu3DMotionTimeGet(lbl_1_data_3DC) <= 10) {
for (i = 0; i < 2; i++) {
lbl_1_data_3CC[1][i] = 1;
}
}
}
}
void fn_1_7F54(Process* arg0, s32 arg1)
void fn_1_7F54(Process *arg0, s32 arg1)
{
lbl_1_bss_C8 = arg0;
lbl_1_bss_194.unk0C = arg1;
@ -119,11 +102,11 @@ void fn_1_7F54(Process* arg0, s32 arg1)
void fn_1_806C(omObjData *object)
{
if(object->work[2]) {
if (object->work[2]) {
object->work[2]--;
return;
}
if(object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) {
if (object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) {
fn_1_1DFC(object, 1, object->work[1], 15, 1);
object->work[0] = object->work[1] = object->work[2] = 0;
}
@ -135,44 +118,51 @@ void fn_1_80F8(void)
int posY = 40;
GXColor winColor = { 0, 0, 128, 128 };
int i;
while(1) {
while (1) {
fn_1_BC8();
fontcolor = FONT_COLOR_WHITE;
printWin(posX, posY, 220, 130, &winColor);
if(lbl_1_bss_16C.unk04 == NULL) {
if (lbl_1_bss_16C.unk04 == NULL) {
print8(posX, posY, 1, "PROC_MAIN -> FALSE");
} else {
}
else {
print8(posX, posY, 1, "PROC_MAIN -> TRUE");
}
if(lbl_1_bss_144.unk04 == NULL) {
print8(posX, posY+10, 1, "PROC_MAP -> FALSE");
} else {
print8(posX, posY+10, 1, "PROC_MAP -> TRUE");
if (lbl_1_bss_144.unk04 == NULL) {
print8(posX, posY + 10, 1, "PROC_MAP -> FALSE");
}
if(lbl_1_bss_11C.unk04 == NULL) {
print8(posX, posY+20, 1, "PROC_PLAYER -> FALSE");
} else {
print8(posX, posY+20, 1, "PROC_PLAYER -> TRUE");
else {
print8(posX, posY + 10, 1, "PROC_MAP -> TRUE");
}
if(lbl_1_bss_F4.unk04 == NULL) {
print8(posX, posY+30, 1, "PROC_SUB -> FALSE");
} else {
print8(posX, posY+30, 1, "PROC_SUB -> TRUE");
if (lbl_1_bss_11C.unk04 == NULL) {
print8(posX, posY + 20, 1, "PROC_PLAYER -> FALSE");
}
if(lbl_1_bss_CC.unk04 == NULL) {
print8(posX, posY+40, 1, "PROC_KOOPA -> FALSE");
} else {
print8(posX, posY+40, 1, "PROC_KOOPA -> TRUE");
else {
print8(posX, posY + 20, 1, "PROC_PLAYER -> TRUE");
}
print8(posX, posY+60, 1, "P:%d W:%d", lbl_1_bss_194.unk00, lbl_1_bss_194.unk0C);
print8(posX, posY+80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for(i=0; i<4; i++) {
print8(posX, posY+90+(i*10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_194.unk30[i].unk00, lbl_1_bss_194.unk30[i].unk04, lbl_1_bss_194.unk30[i].unk08, lbl_1_bss_194.unk30[i].unk0C, lbl_1_bss_194.unk30[i].unk14, lbl_1_bss_194.unk30[i].unk10);
if (lbl_1_bss_F4.unk04 == NULL) {
print8(posX, posY + 30, 1, "PROC_SUB -> FALSE");
}
if(HuPadBtnDown[0] & PAD_BUTTON_X) {
else {
print8(posX, posY + 30, 1, "PROC_SUB -> TRUE");
}
if (lbl_1_bss_CC.unk04 == NULL) {
print8(posX, posY + 40, 1, "PROC_KOOPA -> FALSE");
}
else {
print8(posX, posY + 40, 1, "PROC_KOOPA -> TRUE");
}
print8(posX, posY + 60, 1, "P:%d W:%d", lbl_1_bss_194.unk00, lbl_1_bss_194.unk0C);
print8(posX, posY + 80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for (i = 0; i < 4; i++) {
print8(posX, posY + 90 + (i * 10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_194.unk30[i].unk00, lbl_1_bss_194.unk30[i].unk04,
lbl_1_bss_194.unk30[i].unk08, lbl_1_bss_194.unk30[i].unk0C, lbl_1_bss_194.unk30[i].unk14, lbl_1_bss_194.unk30[i].unk10);
}
if (HuPadBtnDown[0] & PAD_BUTTON_X) {
fn_1_7384(lbl_1_bss_11C.unk00->model[1], lbl_1_bss_194.unk30[lbl_1_bss_194.unk00].unk10, 30, 120, TRUE);
} else if(HuPadBtnDown[0] & PAD_BUTTON_Y) {
}
else if (HuPadBtnDown[0] & PAD_BUTTON_Y) {
fn_1_7384(lbl_1_bss_11C.unk00->model[1], lbl_1_bss_194.unk30[lbl_1_bss_194.unk00].unk10, 30, 120, FALSE);
}
}
@ -200,10 +190,10 @@ void fn_1_85DC(void)
fn_1_1DFC(lbl_1_bss_144.unk00, 2, 2, 0, 0);
do {
fn_1_BC8();
} while(lbl_1_bss_11C.unk04 != NULL);
} while (lbl_1_bss_11C.unk04 != NULL);
do {
fn_1_BC8();
} while(lbl_1_bss_F4.unk04 != NULL);
} while (lbl_1_bss_F4.unk04 != NULL);
lbl_1_bss_194.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_194.unk0C);
HuAudFXPlay(lbl_1_data_0[0][2]);
fn_1_1DFC(lbl_1_bss_F4.unk00, 1, 3, 5, 1);
@ -227,17 +217,17 @@ void fn_1_87D4(void)
fn_1_BC8();
Hu3DMotionTimeSet(lbl_1_bss_CC.unk00->model[1], 100);
Hu3DModelAttrReset(lbl_1_bss_CC.unk00->model[1], 1);
while(1) {
while (1) {
fn_1_BC8();
if(Hu3DMotionTimeGet(lbl_1_bss_CC.unk00->model[1]) >= 132) {
if (Hu3DMotionTimeGet(lbl_1_bss_CC.unk00->model[1]) >= 132) {
break;
}
}
fn_1_1DFC(lbl_1_bss_F4.unk00, 1, 4, 0, 0);
fn_1_BC8();
while(1) {
while (1) {
fn_1_BC8();
if(Hu3DMotionTimeGet(lbl_1_bss_F4.unk00->model[1]) >= 5) {
if (Hu3DMotionTimeGet(lbl_1_bss_F4.unk00->model[1]) >= 5) {
break;
}
}
@ -247,8 +237,8 @@ void fn_1_87D4(void)
HuAudFXPlay(156);
omVibrate(lbl_1_bss_194.unk0C, 45, 12, 0);
speed = 50;
for(i=0; i<60; i++) {
float weight = fn_1_B08(0, speed, i%15, 15);
for (i = 0; i < 60; i++) {
float weight = fn_1_B08(0, speed, i % 15, 15);
speed = fn_1_88C(speed, 0, 30);
lbl_1_bss_194.unk100 = fn_1_88C(lbl_1_bss_194.unk100, weight, 5);
fn_1_BC8();
@ -326,9 +316,9 @@ void fn_1_9034(void)
fn_1_1D18(lbl_1_bss_194.unk04, 0x1F0007);
fn_1_1AFC(lbl_1_bss_194.unk04, -1);
fn_1_1A94(lbl_1_bss_194.unk04);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_CC.unk04 == NULL) {
if (lbl_1_bss_CC.unk04 == NULL) {
break;
}
}
@ -349,9 +339,9 @@ void fn_1_9198(void)
HuAudFXFadeOut(lbl_1_bss_88[0], 1000);
WipeColorSet(0, 0, 0);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while(1) {
while (1) {
fn_1_BC8();
if(!WipeStatGet()) {
if (!WipeStatGet()) {
break;
}
}
@ -364,7 +354,7 @@ void fn_1_9198(void)
omOvlGotoEx(OVL_MENT, 1, 11, 0);
}
void fn_1_92BC(omObjData* arg0, StructBss16C* arg1)
void fn_1_92BC(omObjData *arg0, StructBss16C *arg1)
{
int temp = 0;
fn_1_8580();
@ -382,9 +372,9 @@ void fn_1_9768(void)
lbl_1_bss_16C.unk00 = obj = omAddObjEx(lbl_1_bss_C8, 256, 16, 16, -1, NULL);
lbl_1_bss_16C.unk04 = (void *)fn_1_92BC;
lbl_1_bss_16C.unk00->data = &lbl_1_bss_16C;
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_16C.unk04 != NULL) {
if (lbl_1_bss_16C.unk04 != NULL) {
lbl_1_bss_16C.unk04(obj, &lbl_1_bss_16C);
}
}
@ -403,10 +393,10 @@ void fn_1_981C(omObjData *object)
object->model[4] = Hu3DModelCreateFile(0x660051);
}
void fn_1_9954(omObjData* arg0, StructBss16C* arg1)
void fn_1_9954(omObjData *arg0, StructBss16C *arg1)
{
Hu3DData[arg0->model[5]].pos.y = fn_1_B08(125, 130, arg1->unk08++, 360);
if(arg1->unk08 >= 360) {
if (arg1->unk08 >= 360) {
arg1->unk08 = 0;
}
}
@ -418,9 +408,9 @@ void fn_1_9A10(void)
lbl_1_bss_144.unk04 = (void *)fn_1_9954;
lbl_1_bss_144.unk00->data = &lbl_1_bss_144;
fn_1_981C(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_144.unk04 != NULL) {
if (lbl_1_bss_144.unk04 != NULL) {
lbl_1_bss_144.unk04(obj, &lbl_1_bss_144);
}
}
@ -431,16 +421,16 @@ void fn_1_9BD4(s32 arg0)
int i;
int order[4];
order[0] = 0;
for(i=1; i<4; i++) {
order[i] = order[i-1]+1;
if(order[i] >= 4) {
for (i = 1; i < 4; i++) {
order[i] = order[i - 1] + 1;
if (order[i] >= 4) {
order[i] = 0;
}
if(arg0 == order[i]) {
if (arg0 == order[i]) {
lbl_1_bss_194.unk00 = i;
}
}
for(i=0; i<4; i++) {
for (i = 0; i < 4; i++) {
fn_1_357C(&lbl_1_bss_194.unk30[i], order[i]);
}
}
@ -449,13 +439,13 @@ void fn_1_9CB8(omObjData *object)
{
int charNo = lbl_1_bss_194.unk30[lbl_1_bss_194.unk00].unk10;
object->model[1] = CharModelCreate(charNo, 1);
object->motion[1] = CharModelMotionCreate(charNo, 0x5F0000);
object->motion[2] = CharModelMotionCreate(charNo, 0x5F0035);
object->motion[3] = Hu3DJointMotionFile(object->model[1], 0x660018+charNo);
object->motion[7] = Hu3DJointMotionFile(object->model[1], 0x660048+charNo);
object->motion[8] = Hu3DJointMotionFile(object->model[1], 0x660040+charNo);
object->motion[9] = Hu3DJointMotionFile(object->model[1], 0x660020+charNo);
object->motion[10] = CharModelMotionCreate(charNo, 0x5F0012);
object->motion[1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00));
object->motion[2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x35));
object->motion[3] = Hu3DJointMotionFile(object->model[1], 0x660018 + charNo);
object->motion[7] = Hu3DJointMotionFile(object->model[1], 0x660048 + charNo);
object->motion[8] = Hu3DJointMotionFile(object->model[1], 0x660040 + charNo);
object->motion[9] = Hu3DJointMotionFile(object->model[1], 0x660020 + charNo);
object->motion[10] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x12));
CharModelMotionDataClose(charNo);
Hu3DModelPosSet(object->model[1], 120, 0, 800);
Hu3DModelRotSet(object->model[1], 0, -135, 0);
@ -464,13 +454,13 @@ void fn_1_9CB8(omObjData *object)
fn_1_1DFC(object, 1, 1, 0, 1);
}
void fn_1_9ECC(omObjData* arg0, StructBss16C* arg1)
void fn_1_9ECC(omObjData *arg0, StructBss16C *arg1)
{
int i;
fn_1_1DFC(arg0, 1, 2, 0, 0);
fn_1_BC8();
Hu3DMotionTimeSet(arg0->model[1], 60);
for(i=0; i<60; i++) {
for (i = 0; i < 60; i++) {
fn_1_BC8();
Hu3DData[arg0->model[1]].rot.y = fn_1_864(-135, -90, i, 60);
}
@ -485,12 +475,12 @@ void fn_1_9FDC(void)
lbl_1_bss_11C.unk04 = NULL;
lbl_1_bss_11C.unk00->data = &lbl_1_bss_11C;
fn_1_9CB8(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_11C.unk04 != NULL) {
if (lbl_1_bss_11C.unk04 != NULL) {
lbl_1_bss_11C.unk04(obj, &lbl_1_bss_11C);
}
if(obj->work[0]) {
if (obj->work[0]) {
fn_1_6704(obj);
}
}
@ -513,7 +503,7 @@ void fn_1_A288(omObjData *object)
CharModelEffectNpcInit(object->model[1], object->motion[2], 1, 9);
}
void fn_1_A4A8(omObjData* arg0, StructBss16C* arg1)
void fn_1_A4A8(omObjData *arg0, StructBss16C *arg1)
{
Vec pos = { -120, 0, 800 };
fn_1_1DFC(arg0, 1, 2, 15, 1);
@ -529,12 +519,12 @@ void fn_1_A58C(void)
lbl_1_bss_F4.unk04 = NULL;
lbl_1_bss_F4.unk00->data = &lbl_1_bss_F4;
fn_1_A288(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_F4.unk04 != NULL) {
if (lbl_1_bss_F4.unk04 != NULL) {
lbl_1_bss_F4.unk04(obj, &lbl_1_bss_F4);
}
if(obj->work[0]) {
if (obj->work[0]) {
fn_1_6704(obj);
}
}
@ -563,11 +553,11 @@ void fn_1_A848(omObjData *object)
HuPrcChildCreate(fn_1_7DB0, 100, 8192, 0, HuPrcCurrentGet());
}
void fn_1_AB10(omObjData* arg0, StructBss16C* arg1)
void fn_1_AB10(omObjData *arg0, StructBss16C *arg1)
{
int i;
fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 8, 15, 1);
for(i=0; i<30; i++) {
for (i = 0; i < 30; i++) {
fn_1_BC8();
Hu3DData[lbl_1_bss_CC.unk00->model[1]].pos.x = fn_1_864(-120, -60, i, 30);
}
@ -576,7 +566,7 @@ void fn_1_AB10(omObjData* arg0, StructBss16C* arg1)
fn_1_2264(lbl_1_bss_CC.unk00, 1, 6, 15);
fn_1_1DFC(lbl_1_bss_CC.unk00, 1, 7, 15, 1);
fn_1_1DFC(lbl_1_bss_11C.unk00, 1, 10, 15, 1);
for(i=0; i<240; i++) {
for (i = 0; i < 240; i++) {
fn_1_BC8();
Hu3DData[lbl_1_bss_CC.unk00->model[1]].pos.x = fn_1_864(-60, 540, i, 180);
Hu3DData[lbl_1_bss_11C.unk00->model[1]].pos.x = fn_1_864(120, 840, i, 180);
@ -588,12 +578,12 @@ void fn_1_AB10(omObjData* arg0, StructBss16C* arg1)
void fn_1_ADB0(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_CC.unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_CC.unk00->work[0] = arg4;
lbl_1_bss_CC.unk00->work[1] = arg1;
lbl_1_bss_CC.unk00->work[2] = arg2+1;
lbl_1_bss_CC.unk00->work[2] = arg2 + 1;
}
void fn_1_AE5C(void)
@ -603,12 +593,12 @@ void fn_1_AE5C(void)
lbl_1_bss_CC.unk04 = NULL;
lbl_1_bss_CC.unk00->data = &lbl_1_bss_CC;
fn_1_A848(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_CC.unk04 != NULL) {
if (lbl_1_bss_CC.unk04 != NULL) {
lbl_1_bss_CC.unk04(obj, &lbl_1_bss_CC);
}
if(obj->work[0]) {
if (obj->work[0]) {
fn_1_6704(obj);
}
}
@ -638,7 +628,7 @@ void fn_1_B24C(void)
temp.unk20.z = 0;
temp.unk38 = 1400;
fn_1_42A0(work, &temp, work->unk40++, 60, 10);
if(0.0f != lbl_1_bss_194.unk100) {
work->unk08.y = 100+lbl_1_bss_194.unk100;
if (0.0f != lbl_1_bss_194.unk100) {
work->unk08.y = 100 + lbl_1_bss_194.unk100;
}
}
}

View file

@ -10,13 +10,13 @@
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/minigame_seq.h"
#include "game/objsub.h"
#include "game/pad.h"
#include "game/printfunc.h"
#include "game/sprite.h"
#include "game/window.h"
#include "game/wipe.h"
#include "game/pad.h"
#include "game/objsub.h"
#include "game/board/main.h"
typedef struct {
/* 0x000 */ s32 unk00;
@ -59,27 +59,19 @@ s32 lbl_1_data_698[7] = {
DATADIR_W10,
};
s32 lbl_1_data_6B4[8] = {
DATADIR_MARIOMDL1,
DATADIR_LUIGIMDL1,
DATADIR_PEACHMDL1,
DATADIR_YOSHIMDL1,
DATADIR_WARIOMDL1,
DATADIR_DONKEYMDL1,
DATADIR_DAISYMDL1,
DATADIR_WALUIGIMDL1
};
s32 lbl_1_data_6B4[8] = { DATADIR_MARIOMDL1, DATADIR_LUIGIMDL1, DATADIR_PEACHMDL1, DATADIR_YOSHIMDL1, DATADIR_WARIOMDL1, DATADIR_DONKEYMDL1,
DATADIR_DAISYMDL1, DATADIR_WALUIGIMDL1 };
void fn_1_FDFC(void);
void fn_1_10194(void);
void fn_1_106B0(omObjData* arg0, StructBss16C* arg1);
void fn_1_106B0(omObjData *arg0, StructBss16C *arg1);
void fn_1_1094C(void);
void fn_1_10DF4(int arg0, int arg1, int arg2, int arg3, int arg4);
void fn_1_10EA0(omObjData* arg0, StructBss16C* arg1);
void fn_1_10EA0(omObjData *arg0, StructBss16C *arg1);
void fn_1_1112C(void);
void fn_1_11418(int arg0);
void fn_1_11934(omObjData* arg0, StructBss16C* arg1);
void fn_1_11A98(omObjData* arg0, StructBss16C* arg1);
void fn_1_11934(omObjData *arg0, StructBss16C *arg1);
void fn_1_11A98(omObjData *arg0, StructBss16C *arg1);
void fn_1_11BB0(void);
void fn_1_11FD0(void);
void fn_1_1205C(void);
@ -88,25 +80,25 @@ void fn_1_1218C(void);
void fn_1_E570(void)
{
int statId = HuDataDirReadAsync(DATADIR_BOARD);
if(statId != -1) {
while(!HuDataGetAsyncStat(statId)) {
if (statId != -1) {
while (!HuDataGetAsyncStat(statId)) {
HuPrcVSleep();
}
}
HuAR_MRAMtoARAM(DATADIR_BOARD);
while(HuARDMACheck()) {
while (HuARDMACheck()) {
HuPrcVSleep();
}
HuDataDirClose(DATADIR_BOARD);
statId = HuDataDirReadAsync(lbl_1_data_698[GWSystem.board]);
if(statId != -1) {
while(!HuDataGetAsyncStat(statId)) {
if (statId != -1) {
while (!HuDataGetAsyncStat(statId)) {
HuPrcVSleep();
}
}
lbl_1_bss_4E4 = TRUE;
HuPrcEnd();
while(1) {
while (1) {
HuPrcVSleep();
}
}
@ -119,22 +111,22 @@ void fn_1_E638(void)
lbl_1_bss_4E8[0].unk10 = lbl_1_bss_688.unk30[lbl_1_bss_688.unk00].unk10;
lbl_1_bss_4E8[0].unk14 = lbl_1_bss_688.unk30[lbl_1_bss_688.unk00].unk14;
lbl_1_bss_4E8[0].unk08 = 0;
for(i=1; i<4; i++) {
for (i = 1; i < 4; i++) {
lbl_1_bss_4E8[i].unk10 = -1;
lbl_1_bss_4E8[i].unk14 = i;
lbl_1_bss_4E8[i].unk08 = 1;
}
for(i=1; i<4; i++) {
for (i = 1; i < 4; i++) {
do {
lbl_1_bss_4E8[i].unk10 = rand8()%8;
for(j=0; j<4; j++) {
if(i != j && lbl_1_bss_4E8[j].unk10 != -1 && lbl_1_bss_4E8[i].unk10 == lbl_1_bss_4E8[j].unk10) {
lbl_1_bss_4E8[i].unk10 = rand8() % 8;
for (j = 0; j < 4; j++) {
if (i != j && lbl_1_bss_4E8[j].unk10 != -1 && lbl_1_bss_4E8[i].unk10 == lbl_1_bss_4E8[j].unk10) {
break;
}
}
} while(j != 4);
} while (j != 4);
}
for(i=0; i<4; i++) {
for (i = 0; i < 4; i++) {
GWPlayerCfg[i].character = lbl_1_bss_4E8[i].unk10;
GWPlayerCfg[i].pad_idx = lbl_1_bss_4E8[i].unk14;
GWPlayerCfg[i].group = 0;
@ -148,15 +140,7 @@ void fn_1_E638(void)
void fn_1_E8EC(void)
{
int ovlTbl[7] = {
OVL_W01,
OVL_W02,
OVL_W03,
OVL_W04,
OVL_W05,
OVL_W06,
OVL_W10
};
int ovlTbl[7] = { OVL_W01, OVL_W02, OVL_W03, OVL_W04, OVL_W05, OVL_W06, OVL_W10 };
omOvlHisData *his;
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet()) {
@ -168,7 +152,7 @@ void fn_1_E8EC(void)
omOvlHisChg(0, OVL_MSTORY3, 0, his->stat);
do {
fn_1_BC8();
} while(lbl_1_bss_4E4 != 1);
} while (lbl_1_bss_4E4 != 1);
CharARAMOpen(GWPlayerCfg[0].character);
CharARAMOpen(GWPlayerCfg[1].character);
CharARAMOpen(GWPlayerCfg[2].character);
@ -176,12 +160,12 @@ void fn_1_E8EC(void)
HuAudSeqAllFadeOut(1000);
HuAudSStreamAllFadeOut(1000);
omOvlCallEx(ovlTbl[GWSystem.board], 1, 0, 0);
while(1) {
while (1) {
fn_1_BC8();
}
}
void fn_1_EA2C(Process* arg0, s32 arg1)
void fn_1_EA2C(Process *arg0, s32 arg1)
{
int i;
lbl_1_bss_4E0 = arg0;
@ -194,7 +178,7 @@ void fn_1_EA2C(Process* arg0, s32 arg1)
HuPrcChildCreate(fn_1_10194, 100, 8192, 0, HuPrcCurrentGet());
HuPrcChildCreate(fn_1_1094C, 100, 8192, 0, HuPrcCurrentGet());
HuPrcChildCreate(fn_1_1112C, 100, 8192, 0, HuPrcCurrentGet());
for(i=0; i<4; i++) {
for (i = 0; i < 4; i++) {
HuPrcChildCreate(fn_1_11BB0, 100, 8192, 0, HuPrcCurrentGet());
}
HuPrcChildCreate(fn_1_FDFC, 100, 8192, 0, HuPrcCurrentGet());
@ -202,11 +186,11 @@ void fn_1_EA2C(Process* arg0, s32 arg1)
void fn_1_EB60(omObjData *object)
{
if(object->work[2]) {
if (object->work[2]) {
object->work[2]--;
return;
}
if(object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) {
if (object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) {
fn_1_1DFC(object, 1, object->work[1], 15, 1);
object->work[0] = object->work[1] = object->work[2] = 0;
}
@ -218,40 +202,46 @@ void fn_1_EBEC(void)
int posY = 40;
GXColor winColor = { 0, 0, 128, 128 };
int i;
while(1) {
while (1) {
fn_1_BC8();
printWin(posX, posY, 220, 160, &winColor);
if(lbl_1_bss_660.unk04 == NULL) {
if (lbl_1_bss_660.unk04 == NULL) {
print8(posX, posY, 1, "PROC_MAIN -> FALSE");
} else {
}
else {
print8(posX, posY, 1, "PROC_MAIN -> TRUE");
}
if(lbl_1_bss_638.unk04 == NULL) {
print8(posX, posY+10, 1, "PROC_MAP -> FALSE");
} else {
print8(posX, posY+10, 1, "PROC_MAP -> TRUE");
if (lbl_1_bss_638.unk04 == NULL) {
print8(posX, posY + 10, 1, "PROC_MAP -> FALSE");
}
if(lbl_1_bss_610.unk04 == NULL) {
print8(posX, posY+20, 1, "PROC_KOOPA -> FALSE");
} else {
print8(posX, posY+20, 1, "PROC_KOOPA -> TRUE");
else {
print8(posX, posY + 10, 1, "PROC_MAP -> TRUE");
}
if(lbl_1_bss_5E8.unk04 == NULL) {
print8(posX, posY+30, 1, "PROC_MKOOPA -> FALSE");
} else {
print8(posX, posY+30, 1, "PROC_MKOOPA -> TRUE");
if (lbl_1_bss_610.unk04 == NULL) {
print8(posX, posY + 20, 1, "PROC_KOOPA -> FALSE");
}
for(i=0; i<4; i++) {
if(lbl_1_bss_548[i].unk04 == NULL) {
print8(posX, posY+40+(i*10), 1, "PROC_PLAYER%d -> FALSE", i);
} else {
print8(posX, posY+40+(i*10), 1, "PROC_PLAYER%d -> TRUE", i);
else {
print8(posX, posY + 20, 1, "PROC_KOOPA -> TRUE");
}
if (lbl_1_bss_5E8.unk04 == NULL) {
print8(posX, posY + 30, 1, "PROC_MKOOPA -> FALSE");
}
else {
print8(posX, posY + 30, 1, "PROC_MKOOPA -> TRUE");
}
for (i = 0; i < 4; i++) {
if (lbl_1_bss_548[i].unk04 == NULL) {
print8(posX, posY + 40 + (i * 10), 1, "PROC_PLAYER%d -> FALSE", i);
}
else {
print8(posX, posY + 40 + (i * 10), 1, "PROC_PLAYER%d -> TRUE", i);
}
}
print8(posX, posY+90, 1, "P:%d W:%d", lbl_1_bss_688.unk00, lbl_1_bss_688.unk0C);
print8(posX, posY+110, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for(i=0; i<4; i++) {
print8(posX, posY+120+(i*10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_688.unk30[i].unk00, lbl_1_bss_688.unk30[i].unk04, lbl_1_bss_688.unk30[i].unk08, lbl_1_bss_688.unk30[i].unk0C, lbl_1_bss_688.unk30[i].unk14, lbl_1_bss_688.unk30[i].unk10);
print8(posX, posY + 90, 1, "P:%d W:%d", lbl_1_bss_688.unk00, lbl_1_bss_688.unk0C);
print8(posX, posY + 110, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for (i = 0; i < 4; i++) {
print8(posX, posY + 120 + (i * 10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_688.unk30[i].unk00, lbl_1_bss_688.unk30[i].unk04,
lbl_1_bss_688.unk30[i].unk08, lbl_1_bss_688.unk30[i].unk0C, lbl_1_bss_688.unk30[i].unk14, lbl_1_bss_688.unk30[i].unk10);
}
}
}
@ -269,46 +259,46 @@ void fn_1_EFCC(void)
void fn_1_F028(void)
{
int i;
for(i=0; i<4; i++) {
for (i = 0; i < 4; i++) {
lbl_1_bss_548[i].unk04 = (void *)fn_1_11934;
}
do {
fn_1_BC8();
for(i=0; i<4; i++) {
if(lbl_1_bss_548[i].unk04 != NULL) {
for (i = 0; i < 4; i++) {
if (lbl_1_bss_548[i].unk04 != NULL) {
break;
}
}
} while(i != 4);
} while (i != 4);
lbl_1_bss_548[lbl_1_bss_688.unk00].unk04 = (void *)fn_1_11A98;
fn_1_3854(&lbl_1_bss_24);
fn_1_2750(fn_1_1205C);
do {
fn_1_BC8();
} while(lbl_1_bss_548[lbl_1_bss_688.unk00].unk04 != NULL);
} while (lbl_1_bss_548[lbl_1_bss_688.unk00].unk04 != NULL);
do {
fn_1_BC8();
} while(lbl_1_bss_5E8.unk04 != NULL);
} while (lbl_1_bss_5E8.unk04 != NULL);
fn_1_BE8(30);
if(0) {
//Dummy code to stop this function from inlining
if (0) {
// Dummy code to stop this function from inlining
do {
fn_1_BC8();
for(i=0; i<4; i++) {
if(lbl_1_bss_548[i].unk04 != NULL) {
for (i = 0; i < 4; i++) {
if (lbl_1_bss_548[i].unk04 != NULL) {
break;
}
}
} while(i != 4);
} while (i != 4);
lbl_1_bss_548[lbl_1_bss_688.unk00].unk04 = (void *)fn_1_11A98;
fn_1_3854(&lbl_1_bss_24);
fn_1_2750(fn_1_1205C);
do {
fn_1_BC8();
} while(lbl_1_bss_548[lbl_1_bss_688.unk00].unk04 != NULL);
} while (lbl_1_bss_548[lbl_1_bss_688.unk00].unk04 != NULL);
do {
fn_1_BC8();
} while(lbl_1_bss_5E8.unk04 != NULL);
} while (lbl_1_bss_5E8.unk04 != NULL);
fn_1_BE8(30);
}
}
@ -363,11 +353,11 @@ void fn_1_F3D0(void)
HuAudSeqFadeOut(lbl_1_bss_78[0], 1000);
do {
fn_1_BC8();
} while(lbl_1_bss_5E8.unk04 != NULL);
} while (lbl_1_bss_5E8.unk04 != NULL);
lbl_1_bss_610.unk04 = (void *)fn_1_106B0;
do {
fn_1_BC8();
} while(lbl_1_bss_610.unk04 != NULL);
} while (lbl_1_bss_610.unk04 != NULL);
fn_1_7384(lbl_1_bss_548[lbl_1_bss_688.unk00].unk00->model[1], lbl_1_bss_688.unk30[lbl_1_bss_688.unk00].unk10, 1, 20, 1);
lbl_1_bss_78[1] = HuAudSeqPlay(6);
fn_1_BE8(30);
@ -404,10 +394,7 @@ void fn_1_F3D0(void)
fn_1_BE8(150);
}
void fn_1_F838(void)
{
}
void fn_1_F838(void) { }
void fn_1_F83C(void)
{
@ -422,7 +409,7 @@ void fn_1_F83C(void)
omOvlReturnEx(1, 1);
}
void fn_1_F8B4(omObjData* arg0, StructBss16C* arg1)
void fn_1_F8B4(omObjData *arg0, StructBss16C *arg1)
{
int mode = 0;
int i;
@ -430,36 +417,37 @@ void fn_1_F8B4(omObjData* arg0, StructBss16C* arg1)
fn_1_F028();
fn_1_F150();
lbl_1_bss_688.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_688.unk0C);
while(1) {
while (1) {
fn_1_BC8();
if(fn_1_F22C()) {
if (fn_1_F22C()) {
mode = 0;
break;
} else if(fn_1_F2FC()) {
}
else if (fn_1_F2FC()) {
mode = 1;
break;
}
}
fn_1_1A94(lbl_1_bss_688.unk04);
for(i=0; i<4; i++) {
if(lbl_1_bss_688.unk30[i].unk00 != lbl_1_bss_688.unk30[lbl_1_bss_688.unk00].unk00) {
for (i = 0; i < 4; i++) {
if (lbl_1_bss_688.unk30[i].unk00 != lbl_1_bss_688.unk30[lbl_1_bss_688.unk00].unk00) {
Hu3DModelAttrSet(lbl_1_bss_548[i].unk00->model[1], 1);
}
Hu3DModelAttrSet(lbl_1_bss_548[i].unk00->model[2], 1);
}
switch(mode) {
switch (mode) {
case 0:
fn_1_F3D0();
break;
case 1:
break;
}
switch(mode) {
switch (mode) {
case 0:
fn_1_E8EC();
break;
case 1:
fn_1_F83C();
break;
@ -473,9 +461,9 @@ void fn_1_FDFC(void)
lbl_1_bss_660.unk00 = obj = omAddObjEx(lbl_1_bss_4E0, 256, 16, 16, -1, NULL);
lbl_1_bss_660.unk04 = (void *)fn_1_F8B4;
lbl_1_bss_660.unk00->data = &lbl_1_bss_660;
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_660.unk04 != NULL) {
if (lbl_1_bss_660.unk04 != NULL) {
lbl_1_bss_660.unk04(obj, &lbl_1_bss_660);
}
}
@ -504,10 +492,10 @@ void fn_1_FEB0(omObjData *object)
fn_1_1DFC(object, 6, 6, 0, 2);
}
void fn_1_100D8(omObjData* arg0, StructBss16C* arg1)
void fn_1_100D8(omObjData *arg0, StructBss16C *arg1)
{
Hu3DData[arg0->model[5]].pos.y = fn_1_B08(80, 90, arg1->unk08++, 360);
if(arg1->unk08 >= 360) {
if (arg1->unk08 >= 360) {
arg1->unk08 = 0;
}
}
@ -519,9 +507,9 @@ void fn_1_10194(void)
lbl_1_bss_638.unk04 = (void *)fn_1_100D8;
lbl_1_bss_638.unk00->data = &lbl_1_bss_638;
fn_1_FEB0(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_638.unk04 != NULL) {
if (lbl_1_bss_638.unk04 != NULL) {
lbl_1_bss_638.unk04(obj, &lbl_1_bss_638);
}
}
@ -545,38 +533,38 @@ void fn_1_10448(omObjData *object)
void fn_1_10604(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_610.unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_610.unk00->work[0] = arg4;
lbl_1_bss_610.unk00->work[1] = arg1;
lbl_1_bss_610.unk00->work[2] = arg2+1;
lbl_1_bss_610.unk00->work[2] = arg2 + 1;
}
void fn_1_106B0(omObjData* arg0, StructBss16C* arg1)
void fn_1_106B0(omObjData *arg0, StructBss16C *arg1)
{
int i = 0;
float speed = 50;
HuAudFXPlay(153);
fn_1_10604(2, 1, 0, 0, 1);
fn_1_BE8(5);
Hu3DMotionTimeSet(lbl_1_bss_610.unk00->model[1], 100);
fn_1_BC8();
Hu3DModelAttrReset(arg0->model[1], 1);
while(1) {
while (1) {
fn_1_BC8();
if(Hu3DMotionTimeGet(lbl_1_bss_610.unk00->model[1]) >= 137) {
if (Hu3DMotionTimeGet(lbl_1_bss_610.unk00->model[1]) >= 137) {
break;
}
}
HuAudFXPlay(156);
omVibrate(lbl_1_bss_688.unk0C, 45, 12, 0);
fn_1_67D8(lbl_1_bss_548[lbl_1_bss_688.unk00].unk00, 6, 1, 5, 0);
for(i=0; i<60; i++) {
for (i = 0; i < 60; i++) {
float posY;
fn_1_BC8();
posY = fn_1_B08(0, speed, i%15, 15);
posY = fn_1_B08(0, speed, i % 15, 15);
speed = fn_1_88C(speed, 0, 30);
lbl_1_bss_688.unk100 = fn_1_88C(lbl_1_bss_688.unk100, posY, 5);
}
@ -591,15 +579,16 @@ void fn_1_1094C(void)
lbl_1_bss_610.unk04 = NULL;
lbl_1_bss_610.unk00->data = &lbl_1_bss_638;
fn_1_10448(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_610.unk04 != NULL) {
if (lbl_1_bss_610.unk04 != NULL) {
lbl_1_bss_610.unk04(obj, &lbl_1_bss_610);
}
if(obj->work[0]) {
if(obj->work[2]) {
if (obj->work[0]) {
if (obj->work[2]) {
obj->work[2]--;
} else if(obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
}
else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
fn_1_1DFC(obj, 1, obj->work[1], 15, 1);
obj->work[0] = obj->work[1] = obj->work[2] = 0;
}
@ -626,15 +615,15 @@ void fn_1_10C00(omObjData *object)
void fn_1_10DF4(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_5E8.unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_5E8.unk00->work[0] = arg4;
lbl_1_bss_5E8.unk00->work[1] = arg1;
lbl_1_bss_5E8.unk00->work[2] = arg2+1;
lbl_1_bss_5E8.unk00->work[2] = arg2 + 1;
}
void fn_1_10EA0(omObjData* arg0, StructBss16C* arg1)
void fn_1_10EA0(omObjData *arg0, StructBss16C *arg1)
{
Vec pos = { -600, 0, 800 };
fn_1_1DFC(arg0, 1, 2, 15, 1);
@ -643,17 +632,17 @@ void fn_1_10EA0(omObjData* arg0, StructBss16C* arg1)
arg1->unk04 = NULL;
}
void fn_1_10F84(omObjData* arg0, StructBss16C* arg1)
void fn_1_10F84(omObjData *arg0, StructBss16C *arg1)
{
int i;
for(i=0; i<15; i++) {
for (i = 0; i < 15; i++) {
fn_1_BC8();
Hu3DData[arg0->model[1]].rot.y = fn_1_864(0, 135, i, 15);
}
arg1->unk04 = NULL;
}
void fn_1_11048(omObjData* arg0, StructBss16C* arg1)
void fn_1_11048(omObjData *arg0, StructBss16C *arg1)
{
Vec pos = { -120, 0, 800 };
fn_1_1DFC(arg0, 1, 2, 15, 1);
@ -669,15 +658,16 @@ void fn_1_1112C(void)
lbl_1_bss_5E8.unk04 = NULL;
lbl_1_bss_5E8.unk00->data = &lbl_1_bss_5E8;
fn_1_10C00(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_5E8.unk04 != NULL) {
if (lbl_1_bss_5E8.unk04 != NULL) {
lbl_1_bss_5E8.unk04(obj, &lbl_1_bss_5E8);
}
if(obj->work[0]) {
if(obj->work[2]) {
if (obj->work[0]) {
if (obj->work[2]) {
obj->work[2]--;
} else if(obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
}
else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
fn_1_1DFC(obj, 1, obj->work[1], 15, 1);
obj->work[0] = obj->work[1] = obj->work[2] = 0;
}
@ -690,20 +680,20 @@ void fn_1_11418(int arg0)
int i;
int order[4];
order[0] = 0;
for(i=1; i<4; i++) {
order[i] = order[i-1]+1;
if(order[i] >= 4) {
for (i = 1; i < 4; i++) {
order[i] = order[i - 1] + 1;
if (order[i] >= 4) {
order[i] = 0;
}
if(arg0 == order[i]) {
if (arg0 == order[i]) {
lbl_1_bss_688.unk00 = i;
}
}
for(i=0; i<4; i++) {
for (i = 0; i < 4; i++) {
fn_1_357C(&lbl_1_bss_688.unk30[i], order[i]);
}
for(i=0; i<4; i++) {
lbl_1_bss_688.unk30[i].unk18 = GWPlayer[order[i]].rank+1;
for (i = 0; i < 4; i++) {
lbl_1_bss_688.unk30[i].unk18 = GWPlayer[order[i]].rank + 1;
}
}
@ -719,21 +709,23 @@ void fn_1_1154C(omObjData *object, int player)
int playerNo = player;
int charNo = lbl_1_bss_688.unk30[playerNo].unk10;
object->model[1] = CharModelCreate(charNo, 4);
object->motion[1] = CharModelMotionCreate(charNo, 0x5F0000);
object->motion[2] = CharModelMotionCreate(charNo, 0x5F0003);
object->motion[3] = CharModelMotionCreate(charNo, 0x5F0005);
object->motion[4] = CharModelMotionCreate(charNo, 0x5F001A);
object->motion[5] = CharModelMotionCreate(charNo, 0x5F006D);
object->motion[6] = Hu3DJointMotionFile(object->model[1], 0x660018+charNo);
object->motion[1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00));
object->motion[2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03));
object->motion[3] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x05));
object->motion[4] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1A));
object->motion[5] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x6D));
object->motion[6] = Hu3DJointMotionFile(object->model[1], 0x660018 + charNo);
CharModelMotionDataClose(charNo);
Hu3DModelPosSet(object->model[1], lbl_1_data_81C[playerNo].x, lbl_1_data_81C[lbl_1_bss_688.unk30[playerNo].unk18-1].y+90, lbl_1_data_81C[playerNo].z);
Hu3DModelPosSet(
object->model[1], lbl_1_data_81C[playerNo].x, lbl_1_data_81C[lbl_1_bss_688.unk30[playerNo].unk18 - 1].y + 90, lbl_1_data_81C[playerNo].z);
Hu3DModelRotSet(object->model[1], 0, 0, 0);
Hu3DModelScaleSet(object->model[1], 1, 1, 1);
Hu3DModelShadowSet(object->model[1]);
fn_1_1DFC(object, 1, 1, 0, 1);
object->model[2] = Hu3DModelCreateFile(0x660056);
Hu3DModelPosSet(object->model[2], lbl_1_data_81C[playerNo].x, lbl_1_data_81C[lbl_1_bss_688.unk30[playerNo].unk18-1].y, lbl_1_data_81C[playerNo].z);
if(lbl_1_bss_688.unk30[playerNo].unk18 == 4) {
Hu3DModelPosSet(
object->model[2], lbl_1_data_81C[playerNo].x, lbl_1_data_81C[lbl_1_bss_688.unk30[playerNo].unk18 - 1].y, lbl_1_data_81C[playerNo].z);
if (lbl_1_bss_688.unk30[playerNo].unk18 == 4) {
Hu3DModelAttrSet(object->model[2], 1);
}
Hu3DModelScaleSet(object->model[2], 1.5, 1, 1.5);
@ -743,28 +735,28 @@ void fn_1_1154C(omObjData *object, int player)
void fn_1_11838(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_548[lbl_1_bss_688.unk00].unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_548[lbl_1_bss_688.unk00].unk00->work[0] = arg4;
lbl_1_bss_548[lbl_1_bss_688.unk00].unk00->work[1] = arg1;
lbl_1_bss_548[lbl_1_bss_688.unk00].unk00->work[2] = arg2+1;
lbl_1_bss_548[lbl_1_bss_688.unk00].unk00->work[2] = arg2 + 1;
}
void fn_1_11934(omObjData* arg0, StructBss16C* arg1)
void fn_1_11934(omObjData *arg0, StructBss16C *arg1)
{
float posY = Hu3DData[arg0->model[1]].pos.y;
int i;
for(i=0; i<60; i++) {
for (i = 0; i < 60; i++) {
fn_1_BC8();
Hu3DData[arg0->model[1]].pos.y = fn_1_984(posY, 0, i, 60);
Hu3DData[arg0->model[2]].pos.y = fn_1_984(posY-90, -90, i, 60);
Hu3DData[arg0->model[2]].pos.y = fn_1_984(posY - 90, -90, i, 60);
}
Hu3DModelAttrSet(arg0->model[2], 1);
arg1->unk04 = NULL;
}
void fn_1_11A98(omObjData* arg0, StructBss16C* arg1)
void fn_1_11A98(omObjData *arg0, StructBss16C *arg1)
{
Vec pos = { 120, 0, 800 };
lbl_1_bss_5E8.unk04 = (void *)fn_1_11048;
@ -783,15 +775,16 @@ void fn_1_11BB0(void)
lbl_1_bss_548[playerNo].unk04 = NULL;
lbl_1_bss_548[playerNo].unk00->data = &lbl_1_bss_548[0];
fn_1_1154C(obj, playerNo);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_548[playerNo].unk04 != NULL) {
if (lbl_1_bss_548[playerNo].unk04 != NULL) {
lbl_1_bss_548[playerNo].unk04(obj, &lbl_1_bss_548[playerNo]);
}
if(obj->work[0]) {
if(obj->work[2]) {
if (obj->work[0]) {
if (obj->work[2]) {
obj->work[2]--;
} else if(obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
}
else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
fn_1_1DFC(obj, 1, obj->work[1], 15, 1);
obj->work[0] = obj->work[1] = obj->work[2] = 0;
}
@ -823,8 +816,8 @@ void fn_1_1205C(void)
temp.unk20.z = 0;
temp.unk38 = 1750;
fn_1_4FEC(work, &temp, work->unk40++, 60, 30);
if(0.0f != lbl_1_bss_688.unk100) {
work->unk08.y = lbl_1_bss_688.unk100+125;
if (0.0f != lbl_1_bss_688.unk100) {
work->unk08.y = lbl_1_bss_688.unk100 + 125;
}
}
@ -832,7 +825,7 @@ void fn_1_1218C(void)
{
StructBss24 *work = &lbl_1_bss_24;
StructBss24 temp;
if(work->unk40 == 50) {
if (work->unk40 == 50) {
fn_1_1DFC(lbl_1_bss_638.unk00, 5, 5, 0, 0);
fn_1_1DFC(lbl_1_bss_638.unk00, 6, 6, 0, 0);
HuAudFXPlay(161);
@ -845,11 +838,11 @@ void fn_1_1218C(void)
temp.unk20.z = 0;
temp.unk38 = 125;
fn_1_4FEC(work, &temp, work->unk40, 180, 10);
if(work->unk40++ >= 90) {
if(work->unk40 == 91) {
if (work->unk40++ >= 90) {
if (work->unk40 == 91) {
lbl_1_bss_88[0] = HuAudFXPlay(32);
}
work->unk20.x = fn_1_864(work->unk20.x, -45, work->unk40-90, 90);
Hu3DData[lbl_1_bss_638.unk00->model[5]].rot.x = fn_1_864(0, 45, work->unk40-90, 90);
work->unk20.x = fn_1_864(work->unk20.x, -45, work->unk40 - 90, 90);
Hu3DData[lbl_1_bss_638.unk00->model[5]].rot.x = fn_1_864(0, 45, work->unk40 - 90, 90);
}
}
}

View file

@ -3,19 +3,20 @@
#include "game/board/main.h"
#include "game/chrman.h"
#include "game/data.h"
#include "game/esprite.h"
#include "game/gamework.h"
#include "game/gamework_data.h"
#include "game/hsfanim.h"
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/minigame_seq.h"
#include "game/objsub.h"
#include "game/pad.h"
#include "game/printfunc.h"
#include "game/sprite.h"
#include "game/window.h"
#include "game/wipe.h"
#include "game/pad.h"
#include "game/objsub.h"
#include "game/esprite.h"
typedef struct {
/* 0x000 */ s32 unk00;
@ -46,11 +47,11 @@ s32 lbl_1_data_F14 = 127;
void fn_1_19F14(void);
void fn_1_1A160(void);
void fn_1_1A538(omObjData* arg0, StructBss16C* arg1);
void fn_1_1A538(omObjData *arg0, StructBss16C *arg1);
void fn_1_1A578(void);
void fn_1_1A9D0(omObjData* arg0, StructBss16C* arg1);
void fn_1_1A9D0(omObjData *arg0, StructBss16C *arg1);
void fn_1_1AAB4(void);
void fn_1_1AFD4(omObjData* arg0, StructBss16C* arg1);
void fn_1_1AFD4(omObjData *arg0, StructBss16C *arg1);
void fn_1_1B0E4(void);
void fn_1_1AD3C(int arg0);
void fn_1_1B318(void);
@ -60,44 +61,44 @@ void fn_1_1B430(void);
void fn_1_186D0(void)
{
int i;
while(1) {
while (1) {
HuPrcVSleep();
if(lbl_1_data_F08 != -1 && lbl_1_data_F0C[0] != -1 && lbl_1_data_F0C[1] != -1 && lbl_1_data_F0C[0] == Hu3DMotionIDGet(lbl_1_data_F08)) {
for(i=0; i<2; i++) {
if(lbl_1_data_EF8[1][i] != -1) {
if(Hu3DMotionTimeGet(lbl_1_data_F08) >= lbl_1_data_EF8[0][i]) {
if (lbl_1_data_F08 != -1 && lbl_1_data_F0C[0] != -1 && lbl_1_data_F0C[1] != -1 && lbl_1_data_F0C[0] == Hu3DMotionIDGet(lbl_1_data_F08)) {
for (i = 0; i < 2; i++) {
if (lbl_1_data_EF8[1][i] != -1) {
if (Hu3DMotionTimeGet(lbl_1_data_F08) >= lbl_1_data_EF8[0][i]) {
OSReport("KE-System TIME:%d\n", lbl_1_data_EF8[0][i]);
HuAudFXPlayVol(81, lbl_1_data_F14);
lbl_1_data_EF8[1][i] = -1;
}
}
}
if(Hu3DMotionTimeGet(lbl_1_data_F08) <= 10) {
for(i=0; i<2; i++) {
if (Hu3DMotionTimeGet(lbl_1_data_F08) <= 10) {
for (i = 0; i < 2; i++) {
lbl_1_data_EF8[1][i] = 1;
}
}
}
if(lbl_1_bss_B3C == 1) {
if (lbl_1_bss_B3C == 1) {
lbl_1_data_F14--;
if(lbl_1_data_F14 <= 0) {
if (lbl_1_data_F14 <= 0) {
lbl_1_data_F14 = 0;
}
}
if(lbl_1_bss_B3C == 2) {
if (lbl_1_bss_B3C == 2) {
break;
}
}
HuPrcEnd();
while(1) {
while (1) {
HuPrcVSleep();
}
}
void fn_1_188F0(Process* arg0, s32 arg1)
void fn_1_188F0(Process *arg0, s32 arg1)
{
lbl_1_bss_B38 = arg0;
if(GWSystem.diff_story == 2) {
if (GWSystem.diff_story == 2) {
GWGameStat.field10E_bit4 = TRUE;
}
lbl_1_bss_C0C.unk0C = arg1;
@ -115,11 +116,11 @@ void fn_1_188F0(Process* arg0, s32 arg1)
void fn_1_18A34(omObjData *object)
{
if(object->work[2]) {
if (object->work[2]) {
object->work[2]--;
return;
}
if(object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) {
if (object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) {
fn_1_1DFC(object, 1, object->work[1], 15, 1);
object->work[0] = object->work[1] = object->work[2] = 0;
}
@ -131,40 +132,46 @@ void fn_1_18AC0(void)
int posY = 40;
GXColor winColor = { 0, 0, 128, 128 };
int i;
while(1) {
while (1) {
fn_1_BC8();
fontcolor = FONT_COLOR_WHITE;
printWin(posX, posY, 220, 130, &winColor);
if(lbl_1_bss_BE4.unk04 == NULL) {
if (lbl_1_bss_BE4.unk04 == NULL) {
print8(posX, posY, 1, "PROC_MAIN -> FALSE");
} else {
}
else {
print8(posX, posY, 1, "PROC_MAIN -> TRUE");
}
if(lbl_1_bss_BBC.unk04 == NULL) {
print8(posX, posY+10, 1, "PROC_MAP -> FALSE");
} else {
print8(posX, posY+10, 1, "PROC_MAP -> TRUE");
if (lbl_1_bss_BBC.unk04 == NULL) {
print8(posX, posY + 10, 1, "PROC_MAP -> FALSE");
}
if(lbl_1_bss_B94.unk04 == NULL) {
print8(posX, posY+20, 1, "PROC_PLAYER -> FALSE");
} else {
print8(posX, posY+20, 1, "PROC_PLAYER -> TRUE");
else {
print8(posX, posY + 10, 1, "PROC_MAP -> TRUE");
}
if(lbl_1_bss_B6C.unk04 == NULL) {
print8(posX, posY+30, 1, "PROC_SUB -> FALSE");
} else {
print8(posX, posY+30, 1, "PROC_SUB -> TRUE");
if (lbl_1_bss_B94.unk04 == NULL) {
print8(posX, posY + 20, 1, "PROC_PLAYER -> FALSE");
}
if(lbl_1_bss_B44.unk04 == NULL) {
print8(posX, posY+40, 1, "PROC_KOOPA -> FALSE");
} else {
print8(posX, posY+40, 1, "PROC_KOOPA -> TRUE");
else {
print8(posX, posY + 20, 1, "PROC_PLAYER -> TRUE");
}
print8(posX, posY+60, 1, "P:%d W:%d", lbl_1_bss_C0C.unk00, lbl_1_bss_C0C.unk0C);
print8(posX, posY+80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for(i=0; i<4; i++) {
print8(posX, posY+90+(i*10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_C0C.unk30[i].unk00, lbl_1_bss_C0C.unk30[i].unk04, lbl_1_bss_C0C.unk30[i].unk08, lbl_1_bss_C0C.unk30[i].unk0C, lbl_1_bss_C0C.unk30[i].unk14, lbl_1_bss_C0C.unk30[i].unk10);
if (lbl_1_bss_B6C.unk04 == NULL) {
print8(posX, posY + 30, 1, "PROC_SUB -> FALSE");
}
else {
print8(posX, posY + 30, 1, "PROC_SUB -> TRUE");
}
if (lbl_1_bss_B44.unk04 == NULL) {
print8(posX, posY + 40, 1, "PROC_KOOPA -> FALSE");
}
else {
print8(posX, posY + 40, 1, "PROC_KOOPA -> TRUE");
}
print8(posX, posY + 60, 1, "P:%d W:%d", lbl_1_bss_C0C.unk00, lbl_1_bss_C0C.unk0C);
print8(posX, posY + 80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for (i = 0; i < 4; i++) {
print8(posX, posY + 90 + (i * 10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_C0C.unk30[i].unk00, lbl_1_bss_C0C.unk30[i].unk04,
lbl_1_bss_C0C.unk30[i].unk08, lbl_1_bss_C0C.unk30[i].unk0C, lbl_1_bss_C0C.unk30[i].unk14, lbl_1_bss_C0C.unk30[i].unk10);
}
}
}
@ -211,7 +218,7 @@ void fn_1_18EC4(void)
do {
fn_1_BC8();
} while (WipeStatGet());
if(0) {
if (0) {
fn_1_BC8();
}
}
@ -226,15 +233,15 @@ void fn_1_19138(void)
fn_1_2750(fn_1_1B430);
fn_1_BE8(30);
fn_1_1DFC(lbl_1_bss_BBC.unk00, 2, 2, 0, 0);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_B94.unk04 == NULL) {
if (lbl_1_bss_B94.unk04 == NULL) {
break;
}
}
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_B6C.unk04 == NULL) {
if (lbl_1_bss_B6C.unk04 == NULL) {
break;
}
}
@ -251,16 +258,8 @@ void fn_1_19138(void)
fn_1_BE8(60);
}
char *lbl_1_data_10E4[8] = {
"movie/endmov_ma0.thp",
"movie/endmov_lu0.thp",
"movie/endmov_pe0.thp",
"movie/endmov_yo0.thp",
"movie/endmov_wa0.thp",
"movie/endmov_do0.thp",
"movie/endmov_da0.thp",
"movie/endmov_wl0.thp"
};
char *lbl_1_data_10E4[8] = { "movie/endmov_ma0.thp", "movie/endmov_lu0.thp", "movie/endmov_pe0.thp", "movie/endmov_yo0.thp", "movie/endmov_wa0.thp",
"movie/endmov_do0.thp", "movie/endmov_da0.thp", "movie/endmov_wl0.thp" };
void fn_1_19334(void)
{
@ -303,7 +302,7 @@ void fn_1_19334(void)
lbl_1_bss_B94.unk04 = NULL;
lbl_1_bss_B44.unk04 = NULL;
lbl_1_bss_B6C.unk04 = NULL;
CharModelKill(-1);
Hu3DAllKill();
fn_1_BE8(60);
@ -320,7 +319,7 @@ void fn_1_19334(void)
sprid = HuSprCreate(HuSprAnimRead(HuDataReadNum(0x660061, 0x10000000)), 950, 0);
HuSprGrpMemberSet(gid, 2, sprid);
HuSprBankSet(gid, 2, lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10);
if(GWLanguageGet() == 0 && lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10 == 5) {
if (GWLanguageGet() == 0 && lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10 == 5) {
HuSprBankSet(gid, 2, 8);
}
HuSprPosSet(gid, 2, 288, 254);
@ -328,28 +327,28 @@ void fn_1_19334(void)
HuPrcSleep(5);
WipeColorSet(0, 0, 0);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10);
while(WipeStatGet()) {
while (WipeStatGet()) {
HuPrcVSleep();
}
while(!HuTHPEndCheck()) {
if(time >= 3300) {
while (!HuTHPEndCheck()) {
if (time >= 3300) {
HuSprAttrReset(gid, 1, HUSPR_ATTR_DISPOFF);
HuSprAttrReset(gid, 2, HUSPR_ATTR_DISPOFF);
} else {
}
else {
time++;
}
HuPrcVSleep();
}
WipeColorSet(0, 0, 0);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
while(WipeStatGet()) {
while (WipeStatGet()) {
HuPrcVSleep();
}
HuTHPClose();
HuPrcVSleep();
HuSprGrpKill(gid);
}
}
void fn_1_199A0(void)
@ -423,13 +422,13 @@ void fn_1_19BE8(void)
HuAudFadeOut(1);
his = omOvlHisGet(0);
omOvlHisChg(0, OVL_MSTORY2, 20, 1);
omOvlCallEx(OVL_STAFF, 1, 0, 0);
while(1) {
omOvlCallEx(OVL_STAFF, 1, 0, 0);
while (1) {
fn_1_BC8();
}
}
void fn_1_19C6C(omObjData* arg0, StructBss16C* arg1)
void fn_1_19C6C(omObjData *arg0, StructBss16C *arg1)
{
int temp = 0;
fn_1_18E7C();
@ -446,9 +445,9 @@ void fn_1_19F14(void)
lbl_1_bss_BE4.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL);
lbl_1_bss_BE4.unk04 = (void *)fn_1_19C6C;
lbl_1_bss_BE4.unk00->data = &lbl_1_bss_BE4;
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_BE4.unk04 != NULL) {
if (lbl_1_bss_BE4.unk04 != NULL) {
lbl_1_bss_BE4.unk04(obj, &lbl_1_bss_BE4);
}
}
@ -477,9 +476,9 @@ void fn_1_1A160(void)
lbl_1_bss_BBC.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL);
lbl_1_bss_BBC.unk04 = NULL;
fn_1_19FC8(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_BBC.unk04 != NULL) {
if (lbl_1_bss_BBC.unk04 != NULL) {
lbl_1_bss_BBC.unk04(obj, &lbl_1_bss_BBC);
}
}
@ -501,7 +500,7 @@ void fn_1_1A368(omObjData *object)
HuPrcChildCreate(fn_1_186D0, 100, 8192, 0, HuPrcCurrentGet());
}
void fn_1_1A538(omObjData* arg0, StructBss16C* arg1)
void fn_1_1A538(omObjData *arg0, StructBss16C *arg1)
{
Hu3DData[lbl_1_bss_B44.unk00->model[1]].pos.z -= 2.5f;
}
@ -512,12 +511,12 @@ void fn_1_1A578(void)
lbl_1_bss_B44.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL);
lbl_1_bss_B44.unk04 = NULL;
fn_1_1A368(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_B44.unk04 != NULL) {
if (lbl_1_bss_B44.unk04 != NULL) {
lbl_1_bss_B44.unk04(obj, &lbl_1_bss_B44);
}
if(obj->work[0]) {
if (obj->work[0]) {
fn_1_6704(obj);
}
}
@ -540,8 +539,7 @@ void fn_1_1A7CC(omObjData *object)
CharModelEffectNpcInit(object->model[1], object->motion[2], 1, 9);
}
void fn_1_1A9D0(omObjData* arg0, StructBss16C* arg1)
void fn_1_1A9D0(omObjData *arg0, StructBss16C *arg1)
{
Vec pos = { -120, 0, 800 };
fn_1_1DFC(arg0, 1, 2, 15, 1);
@ -556,12 +554,12 @@ void fn_1_1AAB4(void)
lbl_1_bss_B6C.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL);
lbl_1_bss_B6C.unk04 = NULL;
fn_1_1A7CC(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_B6C.unk04 != NULL) {
if (lbl_1_bss_B6C.unk04 != NULL) {
lbl_1_bss_B6C.unk04(obj, &lbl_1_bss_B6C);
}
if(obj->work[0]) {
if (obj->work[0]) {
fn_1_6704(obj);
}
}
@ -572,16 +570,16 @@ void fn_1_1AD3C(int arg0)
int i;
int order[4];
order[0] = 0;
for(i=1; i<4; i++) {
order[i] = order[i-1]+1;
if(order[i] >= 4) {
for (i = 1; i < 4; i++) {
order[i] = order[i - 1] + 1;
if (order[i] >= 4) {
order[i] = 0;
}
if(arg0 == order[i]) {
if (arg0 == order[i]) {
lbl_1_bss_C0C.unk00 = i;
}
}
for(i=0; i<4; i++) {
for (i = 0; i < 4; i++) {
fn_1_357C(&lbl_1_bss_C0C.unk30[i], order[i]);
}
}
@ -590,10 +588,10 @@ void fn_1_1AE20(omObjData *object)
{
int charNo = lbl_1_bss_C0C.unk30[lbl_1_bss_C0C.unk00].unk10;
object->model[1] = CharModelCreate(charNo, 1);
object->motion[1] = CharModelMotionCreate(charNo, 0x5F0000);
object->motion[2] = CharModelMotionCreate(charNo, 0x5F0035);
object->motion[3] = Hu3DJointMotionFile(object->model[1], 0x660010+charNo);
object->motion[4] = Hu3DJointMotionFile(object->model[1], 0x660008+charNo);
object->motion[1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00));
object->motion[2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x35));
object->motion[3] = Hu3DJointMotionFile(object->model[1], 0x660010 + charNo);
object->motion[4] = Hu3DJointMotionFile(object->model[1], 0x660008 + charNo);
CharModelMotionDataClose(charNo);
Hu3DModelPosSet(object->model[1], 120, 0, 800);
Hu3DModelRotSet(object->model[1], 0, -135, 0);
@ -603,13 +601,13 @@ void fn_1_1AE20(omObjData *object)
fn_1_1DFC(object, 1, 1, 0, 1);
}
void fn_1_1AFD4(omObjData* arg0, StructBss16C* arg1)
void fn_1_1AFD4(omObjData *arg0, StructBss16C *arg1)
{
int i;
fn_1_1DFC(arg0, 1, 2, 0, 0);
fn_1_BC8();
Hu3DMotionTimeSet(arg0->model[1], 60);
for(i=0; i<60; i++) {
for (i = 0; i < 60; i++) {
fn_1_BC8();
Hu3DData[arg0->model[1]].rot.y = fn_1_864(-135, -90, i, 60);
}
@ -623,12 +621,12 @@ void fn_1_1B0E4(void)
lbl_1_bss_B94.unk00 = obj = omAddObjEx(lbl_1_bss_B38, 256, 16, 16, -1, NULL);
lbl_1_bss_B94.unk04 = NULL;
fn_1_1AE20(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_B94.unk04 != NULL) {
if (lbl_1_bss_B94.unk04 != NULL) {
lbl_1_bss_B94.unk04(obj, &lbl_1_bss_B94);
}
if(obj->work[0]) {
if (obj->work[0]) {
fn_1_6704(obj);
}
}
@ -670,7 +668,7 @@ void fn_1_1B430(void)
temp.unk20.z = 0;
temp.unk38 = 1400;
fn_1_42A0(work, &temp, work->unk40++, 60, 10);
if(0.0f != lbl_1_bss_C0C.unk100) {
work->unk08.y = 125+lbl_1_bss_C0C.unk100;
if (0.0f != lbl_1_bss_C0C.unk100) {
work->unk08.y = 125 + lbl_1_bss_C0C.unk100;
}
}
}

View file

@ -9,70 +9,71 @@
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/minigame_seq.h"
#include "game/objsub.h"
#include "game/pad.h"
#include "game/printfunc.h"
#include "game/sprite.h"
#include "game/window.h"
#include "game/wipe.h"
#include "game/pad.h"
#include "game/objsub.h"
typedef struct struct_data850 {
s32 unk0;
s32 unk4;
s32 unk8;
s32 unkC;
s32 unk10;
s32 unk0;
s32 unk4;
s32 unk8;
s32 unkC;
s32 unk10;
} StructData850;
StructData850 lbl_1_data_850[] = {
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x00), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x01), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x02), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x03), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x04), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x05), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x06), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x07), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x08), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x09), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0A), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0B), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0C), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0D), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0E), 1, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0F), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x10), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x11), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x12), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x13), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x14), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x15), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x16), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x17), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x18), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x19), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1A), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1B), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1C), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1D), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1E), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1F), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x20), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x21), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x22), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x23), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x24), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x25), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x26), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x27), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x28), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x29), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2A), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2B), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2C), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2D), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2E), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2F), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x00), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x01), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x02), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x03), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x04), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x05), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x06), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x07), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x08), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x09), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0A), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0B), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0C), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0D), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0E), 1, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x0F), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x10), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x11), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x12), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x13), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x14), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x15), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x16), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x17), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x18), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x19), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1A), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1B), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1C), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1D), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1E), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x1F), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x20), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x21), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x22), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x23), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x24), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x25), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x26), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x27), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x28), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x29), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2A), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2B), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2C), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2D), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2E), 0, 0, 0, 1 },
{ DATA_MAKE_NUM(DATADIR_MSTORY4, 0x2F), 0, 0, 0, 1 },
};
s32 lbl_1_data_C10[2][2] = { 20, 70, 1, 1 };
@ -101,15 +102,15 @@ BOOL lbl_1_bss_794;
Process *lbl_1_bss_790;
void fn_1_13BB8(void);
void fn_1_13FB4(omObjData* arg0, StructBss16C* arg1);
void fn_1_140A0(omObjData* arg0, StructBss16C* arg1);
void fn_1_13FB4(omObjData *arg0, StructBss16C *arg1);
void fn_1_140A0(omObjData *arg0, StructBss16C *arg1);
void fn_1_1449C(void);
void fn_1_14A9C(int arg0, int arg1, int arg2, int arg3, int arg4);
void fn_1_14B48(omObjData* arg0, StructBss16C* arg1);
void fn_1_14B48(omObjData *arg0, StructBss16C *arg1);
void fn_1_14C40(void);
void fn_1_15134(int arg0, int arg1, int arg2, int arg3, int arg4);
void fn_1_151E0(omObjData* arg0, StructBss16C* arg1);
void fn_1_152C4(omObjData* arg0, StructBss16C* arg1);
void fn_1_151E0(omObjData *arg0, StructBss16C *arg1);
void fn_1_152C4(omObjData *arg0, StructBss16C *arg1);
void fn_1_153A8(void);
void fn_1_15668(int arg0);
void fn_1_159F0(void);
@ -121,28 +122,28 @@ void fn_1_15F70(void);
void fn_1_123C8(void)
{
int i;
while(1) {
while (1) {
do {
HuPrcVSleep();
} while(lbl_1_data_C20 == -1 || lbl_1_data_C24[0] == -1 || lbl_1_data_C24[1] == -1 || lbl_1_data_C24[0] != Hu3DMotionIDGet(lbl_1_data_C20));
for(i=0; i<2; i++) {
if(lbl_1_data_C10[1][i] != -1) {
if(Hu3DMotionTimeGet(lbl_1_data_C20) >= lbl_1_data_C10[0][i]) {
} while (lbl_1_data_C20 == -1 || lbl_1_data_C24[0] == -1 || lbl_1_data_C24[1] == -1 || lbl_1_data_C24[0] != Hu3DMotionIDGet(lbl_1_data_C20));
for (i = 0; i < 2; i++) {
if (lbl_1_data_C10[1][i] != -1) {
if (Hu3DMotionTimeGet(lbl_1_data_C20) >= lbl_1_data_C10[0][i]) {
OSReport("KE-System TIME:%d\n", lbl_1_data_C10[0][i]);
HuAudFXPlay(81);
lbl_1_data_C10[1][i] = -1;
}
}
}
if(Hu3DMotionTimeGet(lbl_1_data_C20) <= 10) {
for(i=0; i<2; i++) {
if (Hu3DMotionTimeGet(lbl_1_data_C20) <= 10) {
for (i = 0; i < 2; i++) {
lbl_1_data_C10[1][i] = 1;
}
}
}
}
void fn_1_1256C(Process* arg0, s32 arg1)
void fn_1_1256C(Process *arg0, s32 arg1)
{
lbl_1_bss_790 = arg0;
lbl_1_bss_860.unk0C = arg1;
@ -160,11 +161,11 @@ void fn_1_1256C(Process* arg0, s32 arg1)
void fn_1_12690(omObjData *object)
{
if(object->work[2]) {
if (object->work[2]) {
object->work[2]--;
return;
}
if(object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) {
if (object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) {
fn_1_1DFC(object, 1, object->work[1], 15, 1);
object->work[0] = object->work[1] = object->work[2] = 0;
}
@ -176,38 +177,44 @@ void fn_1_1271C(void)
int posY = 40;
GXColor winColor = { 0, 0, 128, 128 };
int i;
while(1) {
while (1) {
fn_1_BC8();
printWin(posX, posY, 220, 130, &winColor);
if(lbl_1_bss_838.unk04 == NULL) {
if (lbl_1_bss_838.unk04 == NULL) {
print8(posX, posY, 1, "PROC_MAIN -> FALSE");
} else {
}
else {
print8(posX, posY, 1, "PROC_MAIN -> TRUE");
}
if(lbl_1_bss_810.unk04 == NULL) {
print8(posX, posY+10, 1, "PROC_MAP -> FALSE");
} else {
print8(posX, posY+10, 1, "PROC_MAP -> TRUE");
if (lbl_1_bss_810.unk04 == NULL) {
print8(posX, posY + 10, 1, "PROC_MAP -> FALSE");
}
if(lbl_1_bss_7E8.unk04 == NULL) {
print8(posX, posY+20, 1, "PROC_KOOPA -> FALSE");
} else {
print8(posX, posY+20, 1, "PROC_KOOPA -> TRUE");
else {
print8(posX, posY + 10, 1, "PROC_MAP -> TRUE");
}
if(lbl_1_bss_7C0.unk04 == NULL) {
print8(posX, posY+30, 1, "PROC_MKOOPA -> FALSE");
} else {
print8(posX, posY+30, 1, "PROC_MKOOPA -> TRUE");
if (lbl_1_bss_7E8.unk04 == NULL) {
print8(posX, posY + 20, 1, "PROC_KOOPA -> FALSE");
}
if(lbl_1_bss_798.unk04 == NULL) {
print8(posX, posY+40, 1, "PROC_PLAYER -> FALSE");
} else {
print8(posX, posY+40, 1, "PROC_PLAYER -> TRUE");
else {
print8(posX, posY + 20, 1, "PROC_KOOPA -> TRUE");
}
print8(posX, posY+60, 1, "P:%d W:%d", lbl_1_bss_860.unk00, lbl_1_bss_860.unk0C);
print8(posX, posY+80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for(i=0; i<4; i++) {
print8(posX, posY+90+(i*10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_860.unk30[i].unk00, lbl_1_bss_860.unk30[i].unk04, lbl_1_bss_860.unk30[i].unk08, lbl_1_bss_860.unk30[i].unk0C, lbl_1_bss_860.unk30[i].unk14, lbl_1_bss_860.unk30[i].unk10);
if (lbl_1_bss_7C0.unk04 == NULL) {
print8(posX, posY + 30, 1, "PROC_MKOOPA -> FALSE");
}
else {
print8(posX, posY + 30, 1, "PROC_MKOOPA -> TRUE");
}
if (lbl_1_bss_798.unk04 == NULL) {
print8(posX, posY + 40, 1, "PROC_PLAYER -> FALSE");
}
else {
print8(posX, posY + 40, 1, "PROC_PLAYER -> TRUE");
}
print8(posX, posY + 60, 1, "P:%d W:%d", lbl_1_bss_860.unk00, lbl_1_bss_860.unk0C);
print8(posX, posY + 80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for (i = 0; i < 4; i++) {
print8(posX, posY + 90 + (i * 10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_860.unk30[i].unk00, lbl_1_bss_860.unk30[i].unk04,
lbl_1_bss_860.unk30[i].unk08, lbl_1_bss_860.unk30[i].unk0C, lbl_1_bss_860.unk30[i].unk14, lbl_1_bss_860.unk30[i].unk10);
}
}
}
@ -239,16 +246,16 @@ void fn_1_12B10(void)
fn_1_BE8(60);
fn_1_1DFC(lbl_1_bss_798.unk00, 1, 4, 15, 0);
fn_1_BE8(16);
while(1) {
while (1) {
fn_1_BC8();
if(Hu3DMotionTimeGet(lbl_1_bss_798.unk00->model[1]) >= 20) {
if (Hu3DMotionTimeGet(lbl_1_bss_798.unk00->model[1]) >= 20) {
break;
}
}
Hu3DMotionSpeedSet(lbl_1_bss_798.unk00->model[1], 0);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_7E8.unk04 == NULL) {
if (lbl_1_bss_7E8.unk04 == NULL) {
break;
}
}
@ -259,9 +266,9 @@ void fn_1_12B10(void)
fn_1_BE8(80);
Hu3DMotionSpeedSet(lbl_1_bss_798.unk00->model[1], 1);
fn_1_1DFC(lbl_1_bss_798.unk00, 1, 1, 15, 1);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_7C0.unk04 == NULL) {
if (lbl_1_bss_7C0.unk04 == NULL) {
break;
}
}
@ -304,20 +311,20 @@ void fn_1_12DD4(void)
fn_1_1AFC(lbl_1_bss_860.unk04, -1);
fn_1_1D18(lbl_1_bss_860.unk04, 0x250004);
fn_1_1A94(lbl_1_bss_860.unk04);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_7C0.unk04 == NULL) {
if (lbl_1_bss_7C0.unk04 == NULL) {
break;
}
}
}
void fn_1_13150(omObjData* arg0, StructBss16C* arg1)
void fn_1_13150(omObjData *arg0, StructBss16C *arg1)
{
int streamNo = HuAudSStreamPlay(7);
while(1) {
while (1) {
fn_1_BC8();
if(HuAudSStreamStatGet(streamNo) == 0) {
if (HuAudSStreamStatGet(streamNo) == 0) {
break;
}
}
@ -325,12 +332,12 @@ void fn_1_13150(omObjData* arg0, StructBss16C* arg1)
arg1->unk04 = NULL;
}
void fn_1_131C0(omObjData* arg0, StructBss16C* arg1)
void fn_1_131C0(omObjData *arg0, StructBss16C *arg1)
{
int presentSe = (lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10*6)+5;
int presentSe = (lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 * 6) + 5;
fn_1_BE8(150);
OSReport("########## PRESENT_SE : %d\n", presentSe);
HuAudFXPlay(presentSe+2260);
HuAudFXPlay(presentSe + 2260);
fn_1_1DFC(lbl_1_bss_810.unk00, 7, 7, 1, 0);
arg1->unk04 = NULL;
}
@ -339,23 +346,24 @@ void fn_1_13264(void)
{
int i;
fn_1_1DFC(lbl_1_bss_798.unk00, 1, 2, 15, 1);
for(i=0; i<30; i++) {
for (i = 0; i < 30; i++) {
fn_1_BC8();
if(lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 != 5) {
if (lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 != 5) {
Hu3DData[lbl_1_bss_798.unk00->model[1]].pos.x = fn_1_864(120, 80, i, 30);
}
Hu3DData[lbl_1_bss_798.unk00->model[1]].rot.y = fn_1_864(-60, -90, i, 30);
}
fn_1_1DFC(lbl_1_bss_798.unk00, 1, 5, 5, 0);
fn_1_BE8(10);
while(1) {
while (1) {
fn_1_BC8();
if(Hu3DMotionTimeGet(lbl_1_bss_798.unk00->model[1]) >= 30) {
if (Hu3DMotionTimeGet(lbl_1_bss_798.unk00->model[1]) >= 30) {
break;
}
}
Hu3DModelPosSet(lbl_1_bss_810.unk00->model[5], 0, 0, 0);
Hu3DModelHookSet(lbl_1_bss_798.unk00->model[1], CharModelHookNameGet(lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10, 1, 1), lbl_1_bss_810.unk00->model[5]);
Hu3DModelHookSet(
lbl_1_bss_798.unk00->model[1], CharModelHookNameGet(lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10, 1, 1), lbl_1_bss_810.unk00->model[5]);
fn_1_BE8(60);
lbl_1_bss_810.unk04 = (void *)fn_1_13FB4;
HuAudFXPlay(163);
@ -367,9 +375,9 @@ void fn_1_13264(void)
HuAudSeqPause(lbl_1_bss_78[0], 1, 1000);
WipeColorSet(255, 255, 255);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
while(1) {
while (1) {
fn_1_BC8();
if(!WipeStatGet()) {
if (!WipeStatGet()) {
break;
}
}
@ -381,9 +389,9 @@ void fn_1_13264(void)
fn_1_BE8(30);
HuAudFXPlay(169);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60);
while(1) {
while (1) {
fn_1_BC8();
if(!WipeStatGet()) {
if (!WipeStatGet()) {
break;
}
}
@ -393,9 +401,9 @@ void fn_1_13264(void)
lbl_1_bss_798.unk04 = (void *)fn_1_131C0;
lbl_1_bss_860.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_860.unk0C);
lbl_1_bss_7C0.unk04 = (void *)fn_1_13150;
fn_1_1D4C(lbl_1_bss_860.unk04, (lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10*6)+0x32000B, 0);
fn_1_1D4C(lbl_1_bss_860.unk04, (lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 * 6) + 0x32000B, 0);
fn_1_6DBC(lbl_1_bss_860.unk04, 0x320086, 0, 300);
fn_1_1D18(lbl_1_bss_860.unk04,0x250004);
fn_1_1D18(lbl_1_bss_860.unk04, 0x250004);
fn_1_1A94(lbl_1_bss_860.unk04);
fn_1_3854(&lbl_1_bss_24);
fn_1_2750(fn_1_15E58);
@ -435,7 +443,7 @@ void fn_1_13828(void)
void fn_1_138CC(void)
{
omOvlHisData* var_r31;
omOvlHisData *var_r31;
msmSeStopAll(FALSE, 1000);
do {
@ -444,15 +452,16 @@ void fn_1_138CC(void)
CharModelKill(-1);
HuAudFXAllStop();
HuAudSStreamAllStop();
GWMGAvailSet(omMgIndexGet(58)+401);
GWMGAvailSet(omMgIndexGet(58) + 401);
GWGameStat.present[lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 * 6 + 5] = 1;
OSReport("########## PRESENTFLG CHR:%d, MAP:5, PRESENT:%d\n", lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10, lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 * 6 + 5);
OSReport("########## PRESENTFLG CHR:%d, MAP:5, PRESENT:%d\n", lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10,
lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 * 6 + 5);
var_r31 = omOvlHisGet(0);
omOvlHisChg(0, OVL_MSTORY2, 20, var_r31->stat);
omOvlCallEx(OVL_PRESENT, 1, lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10 * 6 + 5 + 1, 0);
}
void fn_1_13A18(omObjData* arg0, StructBss16C* arg1)
void fn_1_13A18(omObjData *arg0, StructBss16C *arg1)
{
int temp = 0;
fn_1_12AC8();
@ -469,15 +478,15 @@ void fn_1_13BB8(void)
lbl_1_bss_838.unk00 = obj = omAddObjEx(lbl_1_bss_790, 256, 16, 16, -1, NULL);
lbl_1_bss_838.unk04 = (void *)fn_1_13A18;
lbl_1_bss_838.unk00->data = &lbl_1_bss_838;
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_838.unk04 != NULL) {
if (lbl_1_bss_838.unk04 != NULL) {
lbl_1_bss_838.unk04(obj, &lbl_1_bss_838);
}
}
}
void fn_1_13C6C(omObjData* object)
void fn_1_13C6C(omObjData *object)
{
s32 charNo;
charNo = lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10;
@ -511,28 +520,27 @@ void fn_1_13C6C(omObjData* object)
fn_1_1DFC(object, 8, 8, 0, 1);
}
void fn_1_13FB4(omObjData* arg0, StructBss16C* arg1)
void fn_1_13FB4(omObjData *arg0, StructBss16C *arg1)
{
Mtx matrix;
Hu3DData[arg0->model[7]].pos.y = fn_1_B08(180, 185, arg1->unk08++, 360);
Hu3DModelObjMtxGet(arg0->model[7], "effect", matrix);
Hu3DModelPosSet(arg0->model[8], matrix[0][3], matrix[1][3], matrix[2][3]);
if(arg1->unk08 >= 360) {
if (arg1->unk08 >= 360) {
arg1->unk08 = 0;
}
}
void fn_1_140A0(omObjData* arg0, StructBss16C* arg1)
void fn_1_140A0(omObjData *arg0, StructBss16C *arg1)
{
Mtx matrix;
Hu3DData[arg0->model[7]].pos.y += arg1->unk0C/100.0f;
Hu3DData[arg0->model[7]].pos.y += arg1->unk0C / 100.0f;
Hu3DModelObjMtxGet(arg0->model[7], "effect", matrix);
Hu3DModelPosSet(arg0->model[8], matrix[0][3], matrix[1][3], matrix[2][3]);
arg1->unk0C += 2;
}
void fn_1_1416C(omObjData* arg0, StructBss16C* arg1)
void fn_1_1416C(omObjData *arg0, StructBss16C *arg1)
{
int i;
Vec pos;
@ -540,19 +548,20 @@ void fn_1_1416C(omObjData* arg0, StructBss16C* arg1)
Hu3DModelPosSet(arg0->model[5], -180, 100, 800);
Hu3DModelRotSet(arg0->model[5], 0, 0, 0);
Hu3DModelAttrReset(arg0->model[5], 1);
for(i=0; i<60; i++) {
for (i = 0; i < 60; i++) {
fn_1_BC8();
if(i == 30) {
if (i == 30) {
HuAudFXPlay(151);
}
if(i <= 30) {
pos.y = fn_1_A4C(0, 100, i+30, 60);
if (i <= 30) {
pos.y = fn_1_A4C(0, 100, i + 30, 60);
pos.x = fn_1_864(-180, -45, i, 30);
rotY = fn_1_984(0, -90, i, 30);
} else {
pos.x = fn_1_864(-45, 0, i-30, 30);
pos.y = fn_1_A4C(0, 25, i-30, 30);
rotY = fn_1_984(-90, -360, i-30, 30);
}
else {
pos.x = fn_1_864(-45, 0, i - 30, 30);
pos.y = fn_1_A4C(0, 25, i - 30, 30);
rotY = fn_1_984(-90, -360, i - 30, 30);
}
Hu3DModelPosSet(arg0->model[5], pos.x, pos.y, 800);
Hu3DModelRotSet(arg0->model[5], 0, rotY, 0);
@ -567,9 +576,9 @@ void fn_1_1449C(void)
lbl_1_bss_810.unk04 = NULL;
lbl_1_bss_810.unk00->data = &lbl_1_bss_810;
fn_1_13C6C(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_810.unk04 != NULL) {
if (lbl_1_bss_810.unk04 != NULL) {
lbl_1_bss_810.unk04(obj, &lbl_1_bss_810);
}
}
@ -597,15 +606,15 @@ void fn_1_14868(omObjData *object)
void fn_1_14A9C(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_7E8.unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_7E8.unk00->work[0] = arg4;
lbl_1_bss_7E8.unk00->work[1] = arg1;
lbl_1_bss_7E8.unk00->work[2] = arg2+1;
lbl_1_bss_7E8.unk00->work[2] = arg2 + 1;
}
void fn_1_14B48(omObjData* arg0, StructBss16C* arg1)
void fn_1_14B48(omObjData *arg0, StructBss16C *arg1)
{
Vec pos = { -1000, 0, 810 };
lbl_1_bss_810.unk04 = (void *)fn_1_1416C;
@ -622,15 +631,16 @@ void fn_1_14C40(void)
lbl_1_bss_7E8.unk04 = NULL;
lbl_1_bss_7E8.unk00->data = &lbl_1_bss_810;
fn_1_14868(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_7E8.unk04 != NULL) {
if (lbl_1_bss_7E8.unk04 != NULL) {
lbl_1_bss_7E8.unk04(obj, &lbl_1_bss_7E8);
}
if(obj->work[0]) {
if(obj->work[2]) {
if (obj->work[0]) {
if (obj->work[2]) {
obj->work[2]--;
} else if(obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
}
else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
fn_1_1DFC(obj, 1, obj->work[1], 15, 1);
obj->work[0] = obj->work[1] = obj->work[2] = 0;
}
@ -656,15 +666,15 @@ void fn_1_14F6C(omObjData *object)
void fn_1_15134(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_7C0.unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_7C0.unk00->work[0] = arg4;
lbl_1_bss_7C0.unk00->work[1] = arg1;
lbl_1_bss_7C0.unk00->work[2] = arg2+1;
lbl_1_bss_7C0.unk00->work[2] = arg2 + 1;
}
void fn_1_151E0(omObjData* arg0, StructBss16C* arg1)
void fn_1_151E0(omObjData *arg0, StructBss16C *arg1)
{
Vec pos = { -800, 0, 800 };
fn_1_1DFC(arg0, 1, 2, 15, 1);
@ -673,7 +683,7 @@ void fn_1_151E0(omObjData* arg0, StructBss16C* arg1)
arg1->unk04 = NULL;
}
void fn_1_152C4(omObjData* arg0, StructBss16C* arg1)
void fn_1_152C4(omObjData *arg0, StructBss16C *arg1)
{
Vec pos = { -120, 0, 800 };
fn_1_1DFC(arg0, 1, 2, 15, 1);
@ -689,15 +699,16 @@ void fn_1_153A8(void)
lbl_1_bss_7C0.unk04 = NULL;
lbl_1_bss_7C0.unk00->data = &lbl_1_bss_7C0;
fn_1_14F6C(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_7C0.unk04 != NULL) {
if (lbl_1_bss_7C0.unk04 != NULL) {
lbl_1_bss_7C0.unk04(obj, &lbl_1_bss_7C0);
}
if(obj->work[0]) {
if(obj->work[2]) {
if (obj->work[0]) {
if (obj->work[2]) {
obj->work[2]--;
} else if(obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
}
else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
fn_1_1DFC(obj, 1, obj->work[1], 15, 1);
obj->work[0] = obj->work[1] = obj->work[2] = 0;
}
@ -710,16 +721,16 @@ void fn_1_15668(int arg0)
int i;
int order[4];
order[0] = 0;
for(i=1; i<4; i++) {
order[i] = order[i-1]+1;
if(order[i] >= 4) {
for (i = 1; i < 4; i++) {
order[i] = order[i - 1] + 1;
if (order[i] >= 4) {
order[i] = 0;
}
if(arg0 == order[i]) {
if (arg0 == order[i]) {
lbl_1_bss_860.unk00 = i;
}
}
for(i=0; i<4; i++) {
for (i = 0; i < 4; i++) {
fn_1_357C(&lbl_1_bss_860.unk30[i], order[i]);
}
}
@ -728,12 +739,12 @@ void fn_1_1574C(omObjData *object)
{
int charNo = lbl_1_bss_860.unk30[lbl_1_bss_860.unk00].unk10;
object->model[1] = CharModelCreate(charNo, 1);
object->motion[1] = CharModelMotionCreate(charNo, 0x5F0000);
object->motion[2] = CharModelMotionCreate(charNo, 0x5F0002);
object->motion[3] = Hu3DJointMotionFile(object->model[1], 0x660028+charNo);
object->motion[4] = Hu3DJointMotionFile(object->model[1], 0x660030+charNo);
object->motion[5] = Hu3DJointMotionFile(object->model[1], 0x660038+charNo);
object->motion[6] = Hu3DJointMotionFile(object->model[1], 0x660000+charNo);
object->motion[1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00));
object->motion[2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02));
object->motion[3] = Hu3DJointMotionFile(object->model[1], 0x660028 + charNo);
object->motion[4] = Hu3DJointMotionFile(object->model[1], 0x660030 + charNo);
object->motion[5] = Hu3DJointMotionFile(object->model[1], 0x660038 + charNo);
object->motion[6] = Hu3DJointMotionFile(object->model[1], 0x660000 + charNo);
CharModelMotionDataClose(charNo);
Hu3DModelPosSet(object->model[1], 120, 0, 800);
Hu3DModelRotSet(object->model[1], 0, -60, 0);
@ -745,12 +756,12 @@ void fn_1_1574C(omObjData *object)
void fn_1_15944(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_798.unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_798.unk00->work[0] = arg4;
lbl_1_bss_798.unk00->work[1] = arg1;
lbl_1_bss_798.unk00->work[2] = arg2+1;
lbl_1_bss_798.unk00->work[2] = arg2 + 1;
}
void fn_1_159F0(void)
@ -760,15 +771,16 @@ void fn_1_159F0(void)
lbl_1_bss_798.unk04 = NULL;
lbl_1_bss_798.unk00->data = &lbl_1_bss_798;
fn_1_1574C(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_798.unk04 != NULL) {
if (lbl_1_bss_798.unk04 != NULL) {
lbl_1_bss_798.unk04(obj, &lbl_1_bss_798);
}
if(obj->work[0]) {
if(obj->work[2]) {
if (obj->work[0]) {
if (obj->work[2]) {
obj->work[2]--;
} else if(obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
}
else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
fn_1_1DFC(obj, 1, obj->work[1], 15, 1);
obj->work[0] = obj->work[1] = obj->work[2] = 0;
}
@ -800,7 +812,6 @@ void fn_1_15D68(void)
temp.unk20.z = 0;
temp.unk38 = 1400;
fn_1_4FEC(work, &temp, work->unk40++, 120, 10);
}
void fn_1_15E58(void)
@ -828,4 +839,4 @@ void fn_1_15F70(void)
temp.unk20.z = 0;
temp.unk38 = 1200;
fn_1_6004(work, &temp, work->unk40++, 10, 5);
}
}

View file

@ -9,12 +9,13 @@
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/minigame_seq.h"
#include "game/objsub.h"
#include "game/pad.h"
#include "game/printfunc.h"
#include "game/sprite.h"
#include "game/window.h"
#include "game/wipe.h"
#include "game/pad.h"
#include "game/objsub.h"
typedef struct {
/* 0x000 */ s32 unk00;
@ -47,7 +48,7 @@ void fn_1_18184(void);
void fn_1_18408(void);
void fn_1_18494(void);
void fn_1_16060(Process* arg0, s32 arg1)
void fn_1_16060(Process *arg0, s32 arg1)
{
lbl_1_bss_968 = arg0;
lbl_1_bss_A34.unk0C = arg1;
@ -65,11 +66,11 @@ void fn_1_16060(Process* arg0, s32 arg1)
void fn_1_16178(omObjData *object)
{
if(object->work[2]) {
if (object->work[2]) {
object->work[2]--;
return;
}
if(object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) {
if (object->work[2] == 0 && Hu3DMotionEndCheck(object->model[1])) {
fn_1_1DFC(object, 1, object->work[1], 15, 1);
object->work[0] = object->work[1] = object->work[2] = 0;
}
@ -81,38 +82,44 @@ void fn_1_16204(void)
int posY = 40;
GXColor winColor = { 0, 0, 128, 128 };
int i;
while(1) {
while (1) {
fn_1_BC8();
printWin(posX, posY, 220, 130, &winColor);
if(lbl_1_bss_A0C.unk04 == NULL) {
if (lbl_1_bss_A0C.unk04 == NULL) {
print8(posX, posY, 1, "PROC_MAIN -> FALSE");
} else {
}
else {
print8(posX, posY, 1, "PROC_MAIN -> TRUE");
}
if(lbl_1_bss_9E4.unk04 == NULL) {
print8(posX, posY+10, 1, "PROC_MAP -> FALSE");
} else {
print8(posX, posY+10, 1, "PROC_MAP -> TRUE");
if (lbl_1_bss_9E4.unk04 == NULL) {
print8(posX, posY + 10, 1, "PROC_MAP -> FALSE");
}
if(lbl_1_bss_9BC.unk04 == NULL) {
print8(posX, posY+20, 1, "PROC_KOOPA -> FALSE");
} else {
print8(posX, posY+20, 1, "PROC_KOOPA -> TRUE");
else {
print8(posX, posY + 10, 1, "PROC_MAP -> TRUE");
}
if(lbl_1_bss_994.unk04 == NULL) {
print8(posX, posY+30, 1, "PROC_MKOOPA -> FALSE");
} else {
print8(posX, posY+30, 1, "PROC_MKOOPA -> TRUE");
if (lbl_1_bss_9BC.unk04 == NULL) {
print8(posX, posY + 20, 1, "PROC_KOOPA -> FALSE");
}
if(lbl_1_bss_96C.unk04 == NULL) {
print8(posX, posY+40, 1, "PROC_PLAYER -> FALSE");
} else {
print8(posX, posY+40, 1, "PROC_PLAYER -> TRUE");
else {
print8(posX, posY + 20, 1, "PROC_KOOPA -> TRUE");
}
print8(posX, posY+60, 1, "P:%d W:%d", lbl_1_bss_A34.unk00, lbl_1_bss_A34.unk0C);
print8(posX, posY+80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for(i=0; i<4; i++) {
print8(posX, posY+90+(i*10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_A34.unk30[i].unk00, lbl_1_bss_A34.unk30[i].unk04, lbl_1_bss_A34.unk30[i].unk08, lbl_1_bss_A34.unk30[i].unk0C, lbl_1_bss_A34.unk30[i].unk14, lbl_1_bss_A34.unk30[i].unk10);
if (lbl_1_bss_994.unk04 == NULL) {
print8(posX, posY + 30, 1, "PROC_MKOOPA -> FALSE");
}
else {
print8(posX, posY + 30, 1, "PROC_MKOOPA -> TRUE");
}
if (lbl_1_bss_96C.unk04 == NULL) {
print8(posX, posY + 40, 1, "PROC_PLAYER -> FALSE");
}
else {
print8(posX, posY + 40, 1, "PROC_PLAYER -> TRUE");
}
print8(posX, posY + 60, 1, "P:%d W:%d", lbl_1_bss_A34.unk00, lbl_1_bss_A34.unk0C);
print8(posX, posY + 80, 1, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for (i = 0; i < 4; i++) {
print8(posX, posY + 90 + (i * 10), 1, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", i, lbl_1_bss_A34.unk30[i].unk00, lbl_1_bss_A34.unk30[i].unk04,
lbl_1_bss_A34.unk30[i].unk08, lbl_1_bss_A34.unk30[i].unk0C, lbl_1_bss_A34.unk30[i].unk14, lbl_1_bss_A34.unk30[i].unk10);
}
}
}
@ -150,7 +157,7 @@ int fn_1_1670C(void)
result = fn_1_1C64(lbl_1_bss_A34.unk08);
fn_1_1D18(lbl_1_bss_A34.unk08, 0x250004);
fn_1_71DC(lbl_1_bss_A34.unk08);
if(result) {
if (result) {
HuAudFXPlay(lbl_1_data_0[6][2]);
fn_1_1774C(3, 1, 15, 1, 0);
fn_1_1D18(lbl_1_bss_A34.unk04, 0x1F0012);
@ -183,14 +190,11 @@ void fn_1_16984(void)
fn_1_BE8(150);
}
void fn_1_169D4(void)
{
}
void fn_1_169D4(void) { }
void fn_1_169D8(int arg0)
{
omOvlHisData* his;
omOvlHisData *his;
if (arg0 != 0) {
HuAudSeqFadeOut(lbl_1_bss_78[0], 1000);
@ -206,32 +210,34 @@ void fn_1_169D8(int arg0)
HuAudSeqAllFadeOut(1000);
HuAudSStreamAllFadeOut(1000);
GWMGAvailSet(450);
GWSystem.mg_next = 450-401;
GWSystem.mg_next = 450 - 401;
omOvlCallEx(OVL_M450, 1, 0, 0);
} else {
}
else {
HuAudFadeOut(1);
omOvlReturnEx(1, 1);
}
}
void fn_1_16ACC(omObjData* arg0, StructBss16C* arg1)
void fn_1_16ACC(omObjData *arg0, StructBss16C *arg1)
{
int mode = 0;
fn_1_165B0();
fn_1_1661C();
lbl_1_bss_A34.unk04 = fn_1_185C(1, 0, 21, 2, lbl_1_bss_A34.unk0C);
while(1) {
while (1) {
fn_1_BC8();
if(fn_1_1670C()) {
if (fn_1_1670C()) {
mode = 0;
break;
} else if(fn_1_168B0()) {
}
else if (fn_1_168B0()) {
mode = 1;
break;
}
}
fn_1_1A94(lbl_1_bss_A34.unk04);
switch(mode) {
switch (mode) {
case 0:
fn_1_16984();
break;
@ -248,9 +254,9 @@ void fn_1_16FC0(void)
lbl_1_bss_A0C.unk00 = obj = omAddObjEx(lbl_1_bss_968, 256, 16, 16, -1, NULL);
lbl_1_bss_A0C.unk04 = (void *)fn_1_16ACC;
lbl_1_bss_A0C.unk00->data = &lbl_1_bss_A0C;
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_A0C.unk04 != NULL) {
if (lbl_1_bss_A0C.unk04 != NULL) {
lbl_1_bss_A0C.unk04(obj, &lbl_1_bss_A0C);
}
}
@ -277,10 +283,10 @@ void fn_1_17074(omObjData *object)
fn_1_1DFC(object, 6, 6, 0, 2);
}
void fn_1_1727C(omObjData* arg0, StructBss16C* arg1)
void fn_1_1727C(omObjData *arg0, StructBss16C *arg1)
{
Hu3DData[arg0->model[5]].pos.y = fn_1_B08(80, 90, arg1->unk08++, 360);
if(arg1->unk08 >= 360) {
if (arg1->unk08 >= 360) {
arg1->unk08 = 0;
}
}
@ -292,9 +298,9 @@ void fn_1_17338(void)
lbl_1_bss_9E4.unk04 = (void *)fn_1_1727C;
lbl_1_bss_9E4.unk00->data = &lbl_1_bss_9E4;
fn_1_17074(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_9E4.unk04 != NULL) {
if (lbl_1_bss_9E4.unk04 != NULL) {
lbl_1_bss_9E4.unk04(obj, &lbl_1_bss_9E4);
}
}
@ -316,12 +322,12 @@ void fn_1_175CC(omObjData *object)
void fn_1_1774C(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_9BC.unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_9BC.unk00->work[0] = arg4;
lbl_1_bss_9BC.unk00->work[1] = arg1;
lbl_1_bss_9BC.unk00->work[2] = arg2+1;
lbl_1_bss_9BC.unk00->work[2] = arg2 + 1;
}
void fn_1_177F8(void)
@ -331,15 +337,16 @@ void fn_1_177F8(void)
lbl_1_bss_9BC.unk04 = NULL;
lbl_1_bss_9BC.unk00->data = &lbl_1_bss_9E4;
fn_1_175CC(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_9BC.unk04 != NULL) {
if (lbl_1_bss_9BC.unk04 != NULL) {
lbl_1_bss_9BC.unk04(obj, &lbl_1_bss_9BC);
}
if(obj->work[0]) {
if(obj->work[2]) {
if (obj->work[0]) {
if (obj->work[2]) {
obj->work[2]--;
} else if(obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
}
else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
fn_1_1DFC(obj, 1, obj->work[1], 15, 1);
obj->work[0] = obj->work[1] = obj->work[2] = 0;
}
@ -361,12 +368,12 @@ void fn_1_17A70(omObjData *object)
void fn_1_17B98(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_994.unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_994.unk00->work[0] = arg4;
lbl_1_bss_994.unk00->work[1] = arg1;
lbl_1_bss_994.unk00->work[2] = arg2+1;
lbl_1_bss_994.unk00->work[2] = arg2 + 1;
}
void fn_1_17C44(void)
@ -376,15 +383,16 @@ void fn_1_17C44(void)
lbl_1_bss_994.unk04 = NULL;
lbl_1_bss_994.unk00->data = &lbl_1_bss_994;
fn_1_17A70(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_994.unk04 != NULL) {
if (lbl_1_bss_994.unk04 != NULL) {
lbl_1_bss_994.unk04(obj, &lbl_1_bss_994);
}
if(obj->work[0]) {
if(obj->work[2]) {
if (obj->work[0]) {
if (obj->work[2]) {
obj->work[2]--;
} else if(obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
}
else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
fn_1_1DFC(obj, 1, obj->work[1], 15, 1);
obj->work[0] = obj->work[1] = obj->work[2] = 0;
}
@ -397,16 +405,16 @@ void fn_1_17E64(s32 arg0)
int i;
int order[4];
order[0] = 0;
for(i=1; i<4; i++) {
order[i] = order[i-1]+1;
if(order[i] >= 4) {
for (i = 1; i < 4; i++) {
order[i] = order[i - 1] + 1;
if (order[i] >= 4) {
order[i] = 0;
}
if(arg0 == order[i]) {
if (arg0 == order[i]) {
lbl_1_bss_A34.unk00 = i;
}
}
for(i=0; i<4; i++) {
for (i = 0; i < 4; i++) {
fn_1_357C(&lbl_1_bss_A34.unk30[i], order[i]);
}
}
@ -415,10 +423,10 @@ void fn_1_17F48(omObjData *object)
{
int charNo = lbl_1_bss_A34.unk30[lbl_1_bss_A34.unk00].unk10;
object->model[1] = CharModelCreate(charNo, 1);
object->motion[1] = CharModelMotionCreate(charNo, 0x5F0000);
object->motion[2] = CharModelMotionCreate(charNo, 0x5F0018);
object->motion[3] = CharModelMotionCreate(charNo, 0x5F0034);
object->motion[4] = CharModelMotionCreate(charNo, 0x5F0048);
object->motion[1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00));
object->motion[2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x18));
object->motion[3] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x34));
object->motion[4] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x48));
CharModelVoiceEnableSet(charNo, object->motion[2], FALSE);
CharModelMotionDataClose(charNo);
Hu3DModelPosSet(object->model[1], 120, 0, 800);
@ -431,12 +439,12 @@ void fn_1_17F48(omObjData *object)
void fn_1_180D8(int arg0, int arg1, int arg2, int arg3, int arg4)
{
fn_1_1DFC(lbl_1_bss_96C.unk00, 1, arg0, arg2, arg3);
if(arg3 == 1) {
if (arg3 == 1) {
arg4 = 0;
}
lbl_1_bss_96C.unk00->work[0] = arg4;
lbl_1_bss_96C.unk00->work[1] = arg1;
lbl_1_bss_96C.unk00->work[2] = arg2+1;
lbl_1_bss_96C.unk00->work[2] = arg2 + 1;
}
void fn_1_18184(void)
@ -446,15 +454,16 @@ void fn_1_18184(void)
lbl_1_bss_96C.unk04 = NULL;
lbl_1_bss_96C.unk00->data = &lbl_1_bss_96C;
fn_1_17F48(obj);
while(1) {
while (1) {
fn_1_BC8();
if(lbl_1_bss_96C.unk04 != NULL) {
if (lbl_1_bss_96C.unk04 != NULL) {
lbl_1_bss_96C.unk04(obj, &lbl_1_bss_96C);
}
if(obj->work[0]) {
if(obj->work[2]) {
if (obj->work[0]) {
if (obj->work[2]) {
obj->work[2]--;
} else if(obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
}
else if (obj->work[2] == 0 && Hu3DMotionEndCheck(obj->model[1])) {
fn_1_1DFC(obj, 1, obj->work[1], 15, 1);
obj->work[0] = obj->work[1] = obj->work[2] = 0;
}
@ -478,7 +487,7 @@ void fn_1_18494(void)
{
StructBss24 *work = &lbl_1_bss_24;
StructBss24 temp;
if(work->unk40 == 50) {
if (work->unk40 == 50) {
fn_1_1DFC(lbl_1_bss_9E4.unk00, 5, 5, 0, 0);
fn_1_1DFC(lbl_1_bss_9E4.unk00, 6, 6, 0, 0);
HuAudFXPlay(161);
@ -491,11 +500,11 @@ void fn_1_18494(void)
temp.unk20.z = 0;
temp.unk38 = 150;
fn_1_4FEC(work, &temp, work->unk40, 180, 10);
if(work->unk40++ >= 90) {
if(work->unk40 == 91) {
if (work->unk40++ >= 90) {
if (work->unk40 == 91) {
lbl_1_bss_88[0] = HuAudFXPlay(32);
}
work->unk20.x = fn_1_864(work->unk20.x, -45, work->unk40-90, 90);
Hu3DData[lbl_1_bss_9E4.unk00->model[5]].rot.x = fn_1_864(0, 45, work->unk40-90, 90);
work->unk20.x = fn_1_864(work->unk20.x, -45, work->unk40 - 90, 90);
Hu3DData[lbl_1_bss_9E4.unk00->model[5]].rot.x = fn_1_864(0, 45, work->unk40 - 90, 90);
}
}
}