Matched REL/w01/mg_item + some data cleanup

This commit is contained in:
mrshigure 2024-03-31 17:59:41 -07:00
parent fc06ca8f49
commit 9dcac2c156
18 changed files with 1142 additions and 197 deletions

View file

@ -1303,7 +1303,7 @@ static void ExecItemLight(void) {
HuAudFXPlay(0x350);
ItemShowProc(NULL, NULL);
BoardWinCreateChoice(2, DATA_MAKE_NUM(DATADIR_EFFECT, 15), -1, 0);
BoardWinCreateChoice(2, MAKE_MESSID(18, 15), -1, 0);
BoardWinInsertMesSet(MAKE_MESSID(8, 8), 3);
if (GWPlayer[currItemRestore].com) {
BoardComKeySetRight();
@ -1800,7 +1800,7 @@ static void ExecItemBooBall(void) {
sp68.x = 0.0f;
sp68.y = 0.0f;
sp68.z = 0.0f;
BoardCameraMotionStartEx(suitMdl, 0, &sp68, 325.0f, -1.0f, 0x15);
BoardCameraMotionStartEx(suitMdl, NULL, &sp68, 325.0f, -1.0f, 21);
BoardBooStealMain();
BoardCameraViewSet(2);
BoardCameraMotionWait();
@ -1852,7 +1852,7 @@ static void ExecItemBooBall(void) {
sp68.x = 0.0f;
sp68.y = 0.0f;
sp68.z = 0.0f;
BoardCameraMotionStartEx(suitMdl, 0, &sp68, 325.0f, -1.0f, 0x15);
BoardCameraMotionStartEx(suitMdl, NULL, &sp68, 325.0f, -1.0f, 21);
BoardBooStealMain();
var_r29 = BoardBooStealLightCheck();
BoardCameraViewSet(2);

View file

@ -525,7 +525,7 @@ static void ExecLottery(void) {
sp8.x = 0.0f;
sp8.y = 200.0f;
sp8.z = 0.0f;
BoardCameraMotionStartEx(lotteryMdl[0], &sp14, &sp8, 1300.0f, -1.0f, 0x1B);
BoardCameraMotionStartEx(lotteryMdl[0], &sp14, &sp8, 1300.0f, -1.0f, 27);
if (BoardPlayerSizeGet(temp_r31) == 1) {
BoardModelVisibilitySet(lotteryMdl[3], 1);
}
@ -890,7 +890,7 @@ static void ExecBallGame(void) {
sp4C.x = 0.0f;
sp4C.y = 210.0f;
sp4C.z = 0.0f;
BoardCameraMotionStartEx(lotteryMdl[0], NULL, &sp4C, 980.0f, -1.0f, 0x15);
BoardCameraMotionStartEx(lotteryMdl[0], NULL, &sp4C, 980.0f, -1.0f, 21);
LotteryInlineFunc00(0, 0);
BoardCameraMotionWait();
BoardWinCreate(2, lotteryMessBase + 1, BoardWinPortraitGet());
@ -1836,7 +1836,7 @@ static void ExecPrize(void) {
sp14.x = 0.0f;
sp14.y = 200.0f;
sp14.z = 0.0f;
BoardCameraMotionStartEx(lotteryMdl[0], 0, &sp14, 1300.0f, -1.0f, 21);
BoardCameraMotionStartEx(lotteryMdl[0], NULL, &sp14, 1300.0f, -1.0f, 21);
temp_r30 = GWSystem.player_curr;
BoardStatusShowSetForce(temp_r30);
BoardStatusShowSet(temp_r30, 1);
@ -2039,7 +2039,7 @@ void BoardLotteryTutorialExec(void) {
sp8.x = 0.0f;
sp8.y = 200.0f;
sp8.z = 0.0f;
BoardCameraMotionStartEx(lotteryMdl[0], &sp14, &sp8, 1300.0f, -1.0f, 0x15);
BoardCameraMotionStartEx(lotteryMdl[0], &sp14, &sp8, 1300.0f, -1.0f, 21);
HuAudFXPlay(0x331);
HuAudFXPlay(0x344);
BoardModelMotionStart(lotteryMdl[0], 0, 0);

View file

@ -1059,7 +1059,7 @@ void BoardCameraNearFarGet(float *near, float *far)
void BoardCameraMotionStart(s16 model_target, Vec *rot_target, float zoom_target, float fov_target)
{
BoardCameraMotionStartEx(model_target, rot_target, 0, zoom_target, fov_target, 21);
BoardCameraMotionStartEx(model_target, rot_target, NULL, zoom_target, fov_target, 21);
}
void BoardCameraMotionStartEx(s16 model_target, Vec *rot_target, Vec *offset_end, float zoom_target, float fov_target, s16 max_time)

View file

@ -175,7 +175,7 @@ static void ExecMGSetup(void) {
sp54.x = 0.0f;
sp54.y = 150.0f;
sp54.z = 0.0f;
BoardCameraMotionStartEx(-1, NULL, &sp54, 1300.0f, -1.0f, 0x15);
BoardCameraMotionStartEx(-1, NULL, &sp54, 1300.0f, -1.0f, 21);
BoardCameraMotionWait();
WipeCreate(1, 0, 0x15);

View file

@ -269,7 +269,7 @@ static void ExecShop(void) {
sp8.x = 0.0f;
sp8.y = 170.0f;
sp8.z = 0.0f;
BoardCameraMotionStartEx(shopMdlPtr[0], &sp14, &sp8, 1360.0f, -1.0f, 0x1B);
BoardCameraMotionStartEx(shopMdlPtr[0], &sp14, &sp8, 1360.0f, -1.0f, 27);
HuAudFXPlay(0x330);
HuAudFXPlay(0x32D);
PopupShop();
@ -1144,7 +1144,7 @@ void BoardShopTutorialExec(s32 arg0) {
sp18.x = 0.0f;
sp18.y = 170.0f;
sp18.z = 0.0f;
BoardCameraMotionStartEx(shopMdlPtr[0], &sp24, &sp18, 1360.0f, -1.0f, 0x15);
BoardCameraMotionStartEx(shopMdlPtr[0], &sp24, &sp18, 1360.0f, -1.0f, 21);
HuAudFXPlay(0x330);
HuAudFXPlay(0x32D);
PopupShop();

View file

@ -8,6 +8,7 @@
#include "game/hsfman.h"
#include "game/msm.h"
#include "game/objsub.h"
#include "game/window.h"
#include "game/wipe.h"
#include "game/board/audio.h"
#include "game/board/com.h"
@ -72,27 +73,27 @@ static s16 starParman = -1;
static s16 hostMdl = -1;
const s32 lbl_8011E040[9] = {
0x000C0000,
0x000C0009,
0x000C0012,
0x000C001B,
0x000C0024,
0x000C002D,
0x000C0000,
0x000C0000,
0x000C0000
MAKE_MESSID(12, 0),
MAKE_MESSID(12, 9),
MAKE_MESSID(12, 18),
MAKE_MESSID(12, 27),
MAKE_MESSID(12, 36),
MAKE_MESSID(12, 45),
MAKE_MESSID(12, 0),
MAKE_MESSID(12, 0),
MAKE_MESSID(12, 0)
};
const s32 lbl_8011E064[9][2] = {
{ 0x00150022, 0x00150028 },
{ 0x00150023, 0x00150029 },
{ 0x00150024, 0x0015002A },
{ 0x00150025, 0x0015002B },
{ 0x00150026, 0x0015002C },
{ 0x00150027, 0x0015002D },
{ 0x00150022, 0x00150028 },
{ 0x00150022, 0x00150028 },
{ 0x00150022, 0x00150028 }
{ MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) },
{ MAKE_MESSID(21, 35), MAKE_MESSID(21, 41) },
{ MAKE_MESSID(21, 36), MAKE_MESSID(21, 42) },
{ MAKE_MESSID(21, 37), MAKE_MESSID(21, 43) },
{ MAKE_MESSID(21, 38), MAKE_MESSID(21, 44) },
{ MAKE_MESSID(21, 39), MAKE_MESSID(21, 45) },
{ MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) },
{ MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) },
{ MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) }
};
s32 boardStarSndTbl[] = {
@ -106,16 +107,13 @@ s32 boardStarSndTbl[] = {
0x000002E0
};
static s32 hostMotTbl[][2] = {
{ 0x00750021, 0x0007009D },
{ 0x00760007, 0x0007009E },
{ 0x0077001F, 0x0007009F },
{ 0x0078000B, 0x000700A0 },
{ 0x00790009, 0x000700A1 },
{ 0x007A0015, 0x000700A2 },
{ 0x00000000, 0x00000000 },
{ 0x00000000, 0x00000000 },
{ 0x00000000, 0x00000000 }
static s32 hostMotTbl[9][2] = {
{ DATA_MAKE_NUM(DATADIR_W01, 33), DATA_MAKE_NUM(DATADIR_BOARD, 157) },
{ DATA_MAKE_NUM(DATADIR_W02, 7), DATA_MAKE_NUM(DATADIR_BOARD, 158) },
{ DATA_MAKE_NUM(DATADIR_W03, 31), DATA_MAKE_NUM(DATADIR_BOARD, 159) },
{ DATA_MAKE_NUM(DATADIR_W04, 11), DATA_MAKE_NUM(DATADIR_BOARD, 160) },
{ DATA_MAKE_NUM(DATADIR_W05, 9), DATA_MAKE_NUM(DATADIR_BOARD, 161) },
{ DATA_MAKE_NUM(DATADIR_W06, 21), DATA_MAKE_NUM(DATADIR_BOARD, 162) }
};
static HsfanimStruct00 starEffParam = {
@ -219,9 +217,9 @@ static void ExecStar(void) {
var_f28 = BoardDAngleCalc(temp_f30 - temp_f29);
}
if (var_f28 > 90.0f) {
var_r25 = 0x1E;
var_r25 = 30;
} else {
var_r25 = 0xF;
var_r25 = 15;
}
BoardPlayerMotBlendSet(temp_r31, temp_f30, var_r25);
temp_f27 = BoardModelRotYGet(temp_r30);
@ -340,9 +338,9 @@ block_A:
}
_SetFlag(0x10017);
BoardModelMotionShiftSet(temp_r30, hostMot[0], 0.0f, 10.0f, 0);
HuPrcSleep(0x1E);
HuPrcSleep(30);
starDoneF = 1;
BoardAudSeqFadeOut(0, 0x3E8);
BoardAudSeqFadeOut(0, 1000);
BoardModelPosGet(temp_r30, &sp24);
sp24.y += 130.0f;
BoardStarGive(temp_r31, &sp24);
@ -438,7 +436,7 @@ static void UpdateStarAngle(GiveStarWork *arg0, omObjData *arg1) {
if (arg0->unk02 < 16.0f) {
arg0->unk02 += 2.0f;
if (arg0->unk02 > 16.0f) {
arg0->unk02 = 0x10;
arg0->unk02 = 16;
}
}
OSs8tof32(&arg0->unk02, &var_f31);
@ -472,7 +470,7 @@ static void MoveGiveStar(GiveStarWork *arg0, omObjData *arg1) {
BoardPlayerPosGet(arg0->unk00_field3, &sp8);
if (arg0->unk00_field2 == 0) {
if (BoardModelMotionTimeGet(arg0->unk0C) >= 50.0f) {
BoardModelMotionStartEndSet(arg0->unk0C, 0x32, 0x96);
BoardModelMotionStartEndSet(arg0->unk0C, 50, 150);
arg0->unk00_field2 = 1;
}
}
@ -520,7 +518,7 @@ static void ShrinkGiveStar(GiveStarWork *arg0, omObjData *arg1) {
arg1->scale.y = arg1->scale.x;
arg1->scale.z = arg1->scale.x;
} else {
omVibrate(arg0->unk00_field3, 0xC, 0xC, 0);
omVibrate(arg0->unk00_field3, 12, 0xC, 0);
arg0->unk00_field0 = 1;
arg0->unk01 = 4;
arg1->scale.x = arg1->scale.y = arg1->scale.z = 0.001f;
@ -542,7 +540,7 @@ static void InitGiveStarEffect(void) {
s16 temp_r3;
void *var_r30;
var_r30 = HuDataSelHeapReadNum(0x120001, MEMORY_DEFAULT_NUM, HEAP_DATA);
var_r30 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 1), MEMORY_DEFAULT_NUM, HEAP_DATA);
starEffAnim = HuSprAnimRead(var_r30);
starParman = Hu3DParManCreate(starEffAnim, 0x64, &starEffParam);
Hu3DParManAttrSet(starParman, 0x64);
@ -550,7 +548,7 @@ static void InitGiveStarEffect(void) {
temp_r3 = Hu3DParManModelIDGet(starParman);
Hu3DParticleBlendModeSet(temp_r3, 1);
Hu3DModelLayerSet(temp_r3, 2);
HuDataDirClose(0x120000);
HuDataDirClose(DATADIR_EFFECT);
}
static void KillGiveStarEffect(void) {
@ -579,7 +577,7 @@ static inline void StarInlineFunc02(void) {
GiveStarWork *temp_r29 = OM_GET_WORK_PTR(giveStarObj, GiveStarWork);
temp_r29->unk00_field1 = 1;
temp_r29->unk04 = 0x2D;
temp_r29->unk04 = 45;
temp_r29->unk08 = 0;
temp_r29->unk01 = 2;
}
@ -605,7 +603,7 @@ void BoardStarGive(s32 arg0, Vec *arg1) {
temp_r31->unk06 = 0;
temp_r31->unk02 = 0;
temp_r31->unk08 = 0;
temp_r31->unk0C = BoardModelCreate(0x7000B, NULL, 0);
temp_r31->unk0C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 11), NULL, 0);
BoardModelVisibilitySet(temp_r31->unk0C, 0);
BoardModelPassSet(temp_r31->unk0C, 0);
BoardModelMotionSpeedSet(temp_r31->unk0C, 0.0f);
@ -628,7 +626,7 @@ void BoardStarGive(s32 arg0, Vec *arg1) {
HuAudFXPlay(boardStarSndTbl[GWPlayer[arg0].character]);
BoardPlayerStarsAdd(arg0, 1);
HuAudFXPlay(8);
HuPrcSleep(0xA);
HuPrcSleep(10);
if (_CheckFlag(0x1000B)) {
BoardPlayerMotionEndWait(arg0);
} else {
@ -665,12 +663,12 @@ void BoardStarShowNext(s32 arg0) {
var_r26 = &wipeData;
if (var_r26->mode == 0) {
WipeColorSet(0, 0, 0);
WipeCreate(2, 0, 0x15);
WipeCreate(2, 0, 21);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}
} else {
HuPrcSleep(0x12);
HuPrcSleep(18);
}
BoardStatusItemSet(0);
if (GWBoardGet() == 5 && BoardRollTypeGet() != 9 && boardStarGiveHook) {
@ -729,7 +727,7 @@ void BoardStarShowNext(s32 arg0) {
BoardCameraMotionWait();
BoardCameraMoveSet(1);
HuPrcSleep(1);
WipeCreate(1, 0, 0x15);
WipeCreate(1, 0, 21);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}
@ -744,7 +742,7 @@ void BoardStarShowNext(s32 arg0) {
while (!BoardViewMoveCheck()) {
HuPrcVSleep();
}
HuPrcSleep(0x1E);
HuPrcSleep(30);
BoardWinKill();
HuPrcSleep(3);
if (var_r28 == 0) {
@ -758,9 +756,9 @@ void BoardStarShowNext(s32 arg0) {
if (GWBoardGet() == 5 && BoardRollTypeGet() != 9 && boardStarShowNextHook) {
boardStarShowNextHook();
}
BoardAudSeqFadeOut(1, 0x3E8);
BoardAudSeqFadeOut(1, 1000);
WipeColorSet(0, 0, 0);
WipeCreate(2, 0, 0x15);
WipeCreate(2, 0, 21);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}
@ -776,7 +774,7 @@ void BoardStarShowNext(s32 arg0) {
BoardCameraMotionWait();
BoardCameraMoveSet(1);
BoardStatusItemSet(1);
WipeCreate(1, 0, 0x15);
WipeCreate(1, 0, 21);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}

View file

@ -293,7 +293,7 @@ static void FocusStart(void) {
sp8.x = -22.0f;
sp8.y = 0.0f;
sp8.z = 0.0f;
BoardCameraMotionStartEx(camFocus, &sp8, 0, 1500.0f, -1.0f, 0x15);
BoardCameraMotionStartEx(camFocus, &sp8, NULL, 1500.0f, -1.0f, 21);
}
static void CreatePlayerStart(void) {

View file

@ -364,7 +364,7 @@ static void SetTargetView(void) {
sp8.x = -45.0f;
sp8.y = 0.0f;
sp8.z = 0.0f;
BoardCameraMotionStartEx(focusMdl, &sp8, NULL, 3000.0f, -1.0f, 0x15);
BoardCameraMotionStartEx(focusMdl, &sp8, NULL, 3000.0f, -1.0f, 21);
BoardCameraMotionWait();
} else {
BoardModelPosSet(focusMdl, 0.0f, 0.0f, 0.0f);

View file

@ -74,7 +74,7 @@ s16 Hu3DAnimCreate(void *arg0, s16 arg1, char *arg2) {
var_r29 = temp_r27->attribute;
for (i = var_r25 = 0; i < temp_r27->attributeCnt; i++, var_r29++) {
if (strcmp(arg2, var_r29->bitmap->name) == 0) {
if (var_r29->unk04 == 0) {
if (!var_r29->unk04) {
var_r30 = HuMemDirectMallocNum(HEAP_DATA, sizeof(HsfanimStruct01), (u32) Hu3DData[arg1].unk_48);
var_r29->unk04 = var_r30;
var_r30->unk00 = 0;
@ -92,7 +92,7 @@ s16 Hu3DAnimCreate(void *arg0, s16 arg1, char *arg2) {
OSReport("Error: Not Found TexAnim Name\n");
return -1;
}
if (arg0 == 0) {
if (!arg0) {
var_r31->unk10 = NULL;
} else {
var_r31->unk10 = HuSprAnimRead(arg0);
@ -131,7 +131,7 @@ s16 Hu3DAnimLink(s16 arg0, s16 arg1, char *arg2) {
var_r29 = temp_r27->attribute;
for (i = var_r25 = 0; i < temp_r27->attributeCnt; i++, var_r29++) {
if (strcmp(arg2, var_r29->bitmap->name) == 0) {
if (var_r29->unk04 == 0) {
if (!var_r29->unk04) {
var_r30 = HuMemDirectMallocNum(HEAP_DATA, sizeof(HsfanimStruct01), (u32) Hu3DData[arg1].unk_48);
var_r29->unk04 = var_r30;
} else {
@ -234,7 +234,7 @@ void Hu3DAnimBankSet(s16 arg0, s32 arg1) {
temp_r31->unk04 = temp_r31->unk08 = 0.0f;
}
void Hu3DAnmNoSet(s16 arg0, s32 arg1) {
void Hu3DAnmNoSet(s16 arg0, u16 arg1) {
Hu3DTexAnimDataStruct *temp_r31 = &Hu3DTexAnimData[arg0];
temp_r31->unk04 = arg1;
@ -378,7 +378,7 @@ s16 Hu3DTexScrollCreate(s16 arg0, char *arg1) {
var_r29 = temp_r27->attribute;
for (i = var_r25 = 0; i < temp_r27->attributeCnt; i++, var_r29++) {
if (strcmp(arg1, var_r29->bitmap->name) == 0) {
if (var_r29->unk04 == 0) {
if (!var_r29->unk04) {
var_r30 = HuMemDirectMallocNum(HEAP_DATA, sizeof(HsfanimStruct01), (u32) Hu3DData[arg0].unk_48);
var_r29->unk04 = var_r30;
var_r30->unk00 = 0;
@ -865,7 +865,7 @@ s16 Hu3DParManCreate(AnimData *arg0, s16 arg1, HsfanimStruct00 *arg2) {
s16 var_r30;
for (var_r30 = 0; var_r30 < 64; var_r30++) {
if (parManProc[var_r30] == 0) {
if (!parManProc[var_r30]) {
break;
}
}
@ -907,7 +907,7 @@ s16 Hu3DParManLink(s16 arg0, HsfanimStruct00 *arg1) {
s16 var_r30;
for (var_r30 = 0; var_r30 < 64; var_r30++) {
if (parManProc[var_r30] == 0) {
if (!parManProc[var_r30]) {
break;
}
}