Merge branch 'main' of https://github.com/abnormalhare/marioparty4
This commit is contained in:
commit
f1951c49bc
82 changed files with 15979 additions and 6067 deletions
|
|
@ -94,6 +94,7 @@ s32 lbl_1_bss_1C;
|
|||
u32 lbl_1_bss_18;
|
||||
s32 lbl_1_bss_14;
|
||||
s32 lbl_1_bss_10;
|
||||
s32 lbl_1_bss_C;
|
||||
s32 lbl_1_bss_8;
|
||||
s32 lbl_1_bss_4;
|
||||
Process* lbl_1_bss_0;
|
||||
|
|
|
|||
2987
src/REL/m419Dll/main.c
Executable file
2987
src/REL/m419Dll/main.c
Executable file
File diff suppressed because it is too large
Load diff
1887
src/REL/m422Dll/main.c
Executable file
1887
src/REL/m422Dll/main.c
Executable file
File diff suppressed because it is too large
Load diff
|
|
@ -2396,8 +2396,8 @@ void fn_1_B01C(void)
|
|||
temp_f31 = lbl_1_bss_98[lbl_1_bss_28].x - temp_r30->unk4.x;
|
||||
temp_f30 = lbl_1_bss_98[lbl_1_bss_28].z - temp_r30->unk4.z;
|
||||
temp_r30->unk64 = atan2d(temp_f31, temp_f30);
|
||||
omVibrate(temp_r31->unk114, 2 * REFRESH_RATE, 6, 6);
|
||||
omVibrate(temp_r30->unk114, 2 * REFRESH_RATE, 6, 6);
|
||||
omVibrate(temp_r31->unk114, (VERSION_JP ? 3 : 2) * REFRESH_RATE, 6, 6);
|
||||
omVibrate(temp_r30->unk114, (VERSION_JP ? 3 : 2) * REFRESH_RATE, 6, 6);
|
||||
}
|
||||
|
||||
void fn_1_B754(float *arg0, float arg1, float arg2, s32 arg3)
|
||||
|
|
|
|||
4271
src/REL/m435Dll/main.c
Executable file
4271
src/REL/m435Dll/main.c
Executable file
File diff suppressed because it is too large
Load diff
|
|
@ -322,7 +322,7 @@ void fn_1_195F4(omObjData* arg0, s32 arg1, Vec* arg2, Vec* arg3, s32 arg4, s32 a
|
|||
fn_1_1906C(arg0, arg1, arg2, arg3, arg4, arg5, arg6, 1, 1);
|
||||
}
|
||||
|
||||
void fn_1_19658(omObjData* arg0, s32 arg1, s32 arg2, float arg3) {
|
||||
void fn_1_19658(omObjData* arg0, s32 arg1, float arg2, s32 arg3) {
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
|
||||
|
|
@ -332,7 +332,7 @@ void fn_1_19658(omObjData* arg0, s32 arg1, s32 arg2, float arg3) {
|
|||
} else if (var_f31 >= 360.0f) {
|
||||
var_f31 -= 360.0f;
|
||||
}
|
||||
var_f30 = arg3;
|
||||
var_f30 = arg2;
|
||||
if (var_f30 < 0.0f) {
|
||||
var_f30 += 360.0f;
|
||||
} else if (var_f30 >= 360.0f) {
|
||||
|
|
@ -353,7 +353,7 @@ void fn_1_19658(omObjData* arg0, s32 arg1, s32 arg2, float arg3) {
|
|||
var_f31 += 360.0f;
|
||||
}
|
||||
}
|
||||
var_f31 = (var_f30 + var_f31 * (arg2 - 1)) / arg2;
|
||||
var_f31 = (var_f30 + var_f31 * (arg3 - 1)) / arg3;
|
||||
if (arg1 == 0) {
|
||||
arg0->rot.y = var_f31;
|
||||
} else {
|
||||
|
|
@ -393,7 +393,7 @@ void fn_1_19960(StructFn19894* arg0, s32 arg1) {
|
|||
arg0->unk464 = arg1;
|
||||
}
|
||||
|
||||
void fn_1_19968(StructFn19894* arg0) {
|
||||
void fn_1_19968(StructFn19894* arg0, s32 arg1) {
|
||||
arg0->unk464 = -1;
|
||||
}
|
||||
|
||||
|
|
@ -526,7 +526,7 @@ void fn_1_1A33C(Process* arg0, StructFn19894* arg1, s32 arg2, char* arg3, s32 ar
|
|||
fn_1_19974(arg1, 1);
|
||||
arg1->unk08 = arg2;
|
||||
strcpy(arg1->unk10, arg3);
|
||||
fn_1_19968(arg1);
|
||||
fn_1_19968(arg1, -1);
|
||||
fn_1_198F8(arg1, -1);
|
||||
arg1->unk470 = 5.0f;
|
||||
arg1->unk474 = 10000.0f;
|
||||
|
|
|
|||
|
|
@ -128,6 +128,9 @@ void ObjectSetup(void)
|
|||
lbl_1_bss_30C = omAddObjEx(lbl_1_bss_308, 32730, 0, 0, -1, fn_1_6EDC);
|
||||
omAddObjEx(lbl_1_bss_308, 0, 32, 32, -1, fn_1_7290);
|
||||
Hu3DBGColorSet(0, 0, 0);
|
||||
#if VERSION_JP
|
||||
GWGameStat.language = 0;
|
||||
#endif
|
||||
HuWinInit(1);
|
||||
BoardStatusCreate();
|
||||
}
|
||||
|
|
|
|||
969
src/REL/m456Dll/main.c
Normal file
969
src/REL/m456Dll/main.c
Normal file
|
|
@ -0,0 +1,969 @@
|
|||
#include "ext_math.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/chrman.h"
|
||||
#include "game/gamework.h"
|
||||
#include "game/gamework_data.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/hsfmotion.h"
|
||||
#include "game/memory.h"
|
||||
#include "game/minigame_seq.h"
|
||||
#include "game/object.h"
|
||||
#include "game/objsub.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/sprite.h"
|
||||
#include "game/wipe.h"
|
||||
#include "string.h"
|
||||
|
||||
#include "REL/m456Dll.h"
|
||||
#include "version.h"
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#include "game/esprite.h"
|
||||
#include "game/frand.h"
|
||||
#endif
|
||||
|
||||
typedef struct M456DllMainWork {
|
||||
struct {
|
||||
u8 unk_00_field0 : 1;
|
||||
u8 unk_00_field1 : 1;
|
||||
u8 unk_00_field2 : 1;
|
||||
u8 unk_00_field3 : 1;
|
||||
};
|
||||
s16 unk_02;
|
||||
s16 unk_04;
|
||||
s8 unk_06;
|
||||
s8 unk_07;
|
||||
u16 unk_08;
|
||||
u16 unk_0A;
|
||||
s32 unk_0C;
|
||||
s32 unk_10;
|
||||
s16 unk_14;
|
||||
s16 unk_16;
|
||||
s16 unk_18;
|
||||
s16 unk_1A;
|
||||
char unk1C[4];
|
||||
s32 unk_20;
|
||||
s32 unk_24;
|
||||
s16 unk_28;
|
||||
s16 unk_2A;
|
||||
s16 unk_2C;
|
||||
s16 unk_2E;
|
||||
s16 unk_30;
|
||||
} M456DllMainWork; /* size = 0x34 */
|
||||
|
||||
typedef struct M456DllData0Struct {
|
||||
/* 0x00 */ float unk_00;
|
||||
/* 0x04 */ float unk_04;
|
||||
/* 0x08 */ float unk_08;
|
||||
/* 0x0C */ float unk_0C;
|
||||
/* 0x10 */ float unk_10;
|
||||
/* 0x14 */ float unk_14;
|
||||
/* 0x18 */ float unk_18;
|
||||
} M456DllData0Struct; /* size = 0x1C */
|
||||
|
||||
typedef struct M456DllData1B0Struct {
|
||||
/* 0x00 */ u32 unk_00;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
} M456DllData1B0Struct; /* size = 0x08 */
|
||||
|
||||
typedef struct M456DllDataE4Struct {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ u32 unk_04;
|
||||
} M456DllDataE4Struct; /* size = 0x08 */
|
||||
|
||||
typedef struct M456DllBss18Struct {
|
||||
s32 unk_00;
|
||||
s32 unk_04;
|
||||
s32 unk_08;
|
||||
float unk_0C;
|
||||
float unk_10;
|
||||
s32 unk_14;
|
||||
s32 unk_18;
|
||||
float unk_1C;
|
||||
s16 unk_20[0x10];
|
||||
} M456DllBss18Struct; /* size 0x40 */
|
||||
|
||||
void fn_1_1304(omObjData *object);
|
||||
void fn_1_2040(omObjData *object);
|
||||
float fn_1_2090(float arg8, float arg9, float argA);
|
||||
void fn_1_2194(Process *process);
|
||||
void fn_1_21F8(s32 arg0, s32 arg1, float arg8);
|
||||
void fn_1_2448(omObjData *object);
|
||||
void fn_1_2918(Process *process);
|
||||
void fn_1_2AC4(omObjData *object);
|
||||
void fn_1_3C0(omObjData *object);
|
||||
void fn_1_498(omObjData *);
|
||||
void fn_1_BE4(omObjData *);
|
||||
void fn_1_C40(Process *process);
|
||||
void fn_1_CC4(void);
|
||||
s32 fn_1_D2C(void);
|
||||
s32 fn_1_F4C(void);
|
||||
void fn_1_FD0(omObjData *object);
|
||||
|
||||
M456DllData0Struct lbl_1_data_0[2] = {
|
||||
{ 500.0f, 0.0f, 1000.0f, 0.0f, 40.0f, 0.0f, 0.0f },
|
||||
{ 1985.0f, 0.0f, 100.0f, 100.0f, -13.0f, 0.0f, 0.0f },
|
||||
};
|
||||
Vec lbl_1_data_38 = { 700.0f, 2500.0f, -700.0f };
|
||||
Vec lbl_1_data_44 = { 0.0f, 0.0f, 0.0f };
|
||||
GXColor lbl_1_data_50 = { 0xFF, 0xFF, 0xFF, 0xFF };
|
||||
Vec lbl_1_data_54 = { 200.0f, 15000.0f, -200.0f };
|
||||
Vec lbl_1_data_60 = { 0.0f, 1.0f, 0.0f };
|
||||
|
||||
omObjData *lbl_1_bss_8C;
|
||||
omObjData *lbl_1_bss_88;
|
||||
omObjData *lbl_1_bss_84;
|
||||
s32 lbl_1_bss_80;
|
||||
s32 lbl_1_bss_70[4];
|
||||
s32 lbl_1_bss_6C;
|
||||
s32 lbl_1_bss_68;
|
||||
s32 lbl_1_bss_64;
|
||||
s16 lbl_1_bss_62;
|
||||
s16 lbl_1_bss_60;
|
||||
u32 lbl_1_bss_5C;
|
||||
u32 lbl_1_bss_58;
|
||||
M456DllBss18Struct lbl_1_bss_18;
|
||||
u32 lbl_1_bss_14;
|
||||
Vec lbl_1_bss_8;
|
||||
s16 lbl_1_bss_6;
|
||||
s16 lbl_1_bss_4;
|
||||
s32 lbl_1_bss_0;
|
||||
|
||||
void ObjectSetup(void)
|
||||
{
|
||||
Process *var_r31;
|
||||
CameraData *var_r30;
|
||||
s16 var_r29;
|
||||
|
||||
var_r30 = Hu3DCamera;
|
||||
OSReport("******* M456ObjectSetup *********\n");
|
||||
var_r31 = omInitObjMan(0x32, 0x2000);
|
||||
omGameSysInit(var_r31);
|
||||
Hu3DCameraCreate(1);
|
||||
Hu3DCameraPerspectiveSet(1, -1.0f, 20.0f, 25000.0f, 1.2f);
|
||||
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||
lbl_1_bss_88 = omAddObjEx(var_r31, 0x7FDA, 0, 0, -1, omOutView);
|
||||
lbl_1_bss_8.x = lbl_1_data_44.x - lbl_1_data_38.x;
|
||||
lbl_1_bss_8.y = lbl_1_data_44.y - lbl_1_data_38.y;
|
||||
lbl_1_bss_8.z = lbl_1_data_44.z - lbl_1_data_38.z;
|
||||
PSVECNormalize(&lbl_1_bss_8, &lbl_1_bss_8);
|
||||
var_r29 = Hu3DGLightCreateV(&lbl_1_data_38, &lbl_1_bss_8, &lbl_1_data_50);
|
||||
Hu3DGLightInfinitytSet(var_r29);
|
||||
Hu3DGLightStaticSet(var_r29, 1);
|
||||
Hu3DShadowCreate(10.0f, var_r30->near, var_r30->far);
|
||||
Hu3DShadowTPLvlSet(0.7f);
|
||||
Hu3DShadowPosSet(&lbl_1_data_54, &lbl_1_data_60, &lbl_1_data_44);
|
||||
HuAudSndGrpSet(0x4E);
|
||||
lbl_1_bss_84 = omAddObjEx(var_r31, 0, 0, 0, -1, fn_1_3C0);
|
||||
fn_1_2194(var_r31);
|
||||
fn_1_C40(var_r31);
|
||||
fn_1_2DF4(var_r31);
|
||||
lbl_1_bss_5C = GWMGRecordGet(0xA);
|
||||
if (lbl_1_bss_5C == 0) {
|
||||
lbl_1_bss_5C = 5 * REFRESH_RATE;
|
||||
}
|
||||
lbl_1_bss_58 = 0;
|
||||
fn_1_2918(var_r31);
|
||||
lbl_1_bss_18.unk_14 = lbl_1_bss_5C;
|
||||
lbl_1_bss_18.unk_00 = 1;
|
||||
lbl_1_bss_18.unk_0C = 536.0f;
|
||||
}
|
||||
|
||||
s32 lbl_1_data_90 = -1;
|
||||
s32 lbl_1_data_94 = -1;
|
||||
|
||||
void fn_1_3A0(u32 arg0)
|
||||
{
|
||||
lbl_1_bss_80 = arg0;
|
||||
}
|
||||
|
||||
s32 fn_1_3B0(void)
|
||||
{
|
||||
return lbl_1_bss_80;
|
||||
}
|
||||
|
||||
void fn_1_3C0(omObjData *object)
|
||||
{
|
||||
CameraData *var_r31 = Hu3DCamera;
|
||||
fn_1_3A0(0);
|
||||
lbl_1_bss_6C = REFRESH_RATE;
|
||||
lbl_1_bss_70[0] = lbl_1_bss_70[1] = lbl_1_bss_70[2] = lbl_1_bss_70[3] = -1;
|
||||
lbl_1_bss_62 = 5;
|
||||
lbl_1_bss_60 = REFRESH_RATE;
|
||||
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 0x3C);
|
||||
var_r31->fov = 30.0f;
|
||||
object->func = fn_1_498;
|
||||
}
|
||||
|
||||
void fn_1_498(omObjData *object)
|
||||
{
|
||||
s16 sp8[4];
|
||||
|
||||
s32 var_r31;
|
||||
omObjData **var_r29;
|
||||
M456DllMainWork *var_r28;
|
||||
|
||||
switch (fn_1_3B0()) {
|
||||
case 0:
|
||||
if (lbl_1_data_94 < 0) {
|
||||
lbl_1_data_94 = HuAudFXPlay(0x7D1);
|
||||
}
|
||||
if (--lbl_1_bss_6C == 0) {
|
||||
fn_1_3A0(1);
|
||||
lbl_1_bss_6C = 2 * REFRESH_RATE;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (--lbl_1_bss_6C == 0) {
|
||||
fn_1_3A0(2);
|
||||
lbl_1_bss_6 = MGSeqCreate(3, 0);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (MGSeqStatGet(lbl_1_bss_6) == 0) {
|
||||
fn_1_3A0(3);
|
||||
lbl_1_bss_4 = MGSeqCreate(1, 5, -1, -1);
|
||||
}
|
||||
if ((lbl_1_data_90 < 0) && ((MGSeqStatGet(lbl_1_bss_6) & 0x10) != 0)) {
|
||||
lbl_1_data_90 = HuAudSeqPlay(0x43);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (--lbl_1_bss_60 == 0) {
|
||||
lbl_1_bss_62--;
|
||||
MGSeqParamSet(lbl_1_bss_4, 1, lbl_1_bss_62);
|
||||
lbl_1_bss_60 = REFRESH_RATE;
|
||||
}
|
||||
if (lbl_1_bss_62 == 0) {
|
||||
lbl_1_bss_64 = fn_1_D2C();
|
||||
if (lbl_1_bss_64 == 0) {
|
||||
fn_1_3A0(5);
|
||||
lbl_1_bss_6 = MGSeqCreate(3, 1);
|
||||
HuAudSeqFadeOut(lbl_1_data_90, 0x64);
|
||||
}
|
||||
else {
|
||||
fn_1_3A0(4);
|
||||
HuAudFXPlay(0x11);
|
||||
lbl_1_bss_6C = 2 * REFRESH_RATE;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (lbl_1_bss_4 >= 0) {
|
||||
MGSeqParamSet(lbl_1_bss_4, 2, -1);
|
||||
lbl_1_bss_4 = -1;
|
||||
}
|
||||
if (lbl_1_bss_6C != 0) {
|
||||
lbl_1_bss_6C--;
|
||||
}
|
||||
else if (lbl_1_bss_18.unk_18 < lbl_1_bss_14) {
|
||||
lbl_1_bss_18.unk_18++;
|
||||
}
|
||||
if (fn_1_F4C() != 0) {
|
||||
fn_1_3A0(5);
|
||||
lbl_1_bss_6 = MGSeqCreate(3, 1);
|
||||
HuAudSeqFadeOut(lbl_1_data_90, 0x64);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (lbl_1_bss_4 >= 0) {
|
||||
MGSeqParamSet(lbl_1_bss_4, 2, -1);
|
||||
lbl_1_bss_4 = -1;
|
||||
}
|
||||
if (MGSeqStatGet(lbl_1_bss_6) == 0) {
|
||||
if (lbl_1_bss_58 == 0) {
|
||||
fn_1_3A0(9);
|
||||
lbl_1_bss_6C = 2 * REFRESH_RATE;
|
||||
}
|
||||
else {
|
||||
fn_1_3A0(6);
|
||||
lbl_1_bss_6 = MGSeqCreate(0xE, lbl_1_bss_58);
|
||||
GWMGRecordSet(0xA, lbl_1_bss_58);
|
||||
lbl_1_bss_18.unk_04 = 1;
|
||||
lbl_1_bss_18.unk_14 = lbl_1_bss_18.unk_18;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (MGSeqStatGet(lbl_1_bss_6) == 0) {
|
||||
fn_1_3A0(9);
|
||||
lbl_1_bss_6C = 2 * REFRESH_RATE;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
if (lbl_1_bss_6C != 0) {
|
||||
lbl_1_bss_6C--;
|
||||
}
|
||||
if (lbl_1_bss_6C == 0) {
|
||||
if (fn_1_F4C() != 0) {
|
||||
fn_1_3A0(0xB);
|
||||
if (lbl_1_bss_64 != 0) {
|
||||
var_r29 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0);
|
||||
for (var_r31 = 0; var_r31 < lbl_1_bss_64; var_r31++) {
|
||||
var_r28 = var_r29[lbl_1_bss_70[var_r31]]->data;
|
||||
sp8[var_r31] = var_r28->unk_14;
|
||||
GWPlayerCoinWinSet(lbl_1_bss_70[var_r31], 10);
|
||||
}
|
||||
for (; var_r31 < 4; var_r31++) {
|
||||
sp8[var_r31] = -1;
|
||||
}
|
||||
lbl_1_bss_6 = MGSeqCreate(5, 3, sp8[0], sp8[1], sp8[2], sp8[3]);
|
||||
HuAudSStreamPlay(1);
|
||||
}
|
||||
else {
|
||||
lbl_1_bss_6 = MGSeqCreate(3, 2);
|
||||
HuAudSStreamPlay(4);
|
||||
}
|
||||
lbl_1_bss_6C = 3.5 * REFRESH_RATE;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 11:
|
||||
if (--lbl_1_bss_6C == 0) {
|
||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C);
|
||||
HuAudFXStop(lbl_1_data_94);
|
||||
object->func = fn_1_BE4;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if ((omSysExitReq != 0) && (WipeStatGet() == 0)) {
|
||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C);
|
||||
object->func = fn_1_BE4;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_BE4(omObjData *object)
|
||||
{
|
||||
if (WipeStatGet() == 0) {
|
||||
fn_1_CC4();
|
||||
fn_1_2F3C();
|
||||
MGSeqKillAll();
|
||||
HuAudFadeOut(1);
|
||||
omOvlReturnEx(1, 1);
|
||||
OSReport("******* M456Exit *********\n");
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_C40(Process *process)
|
||||
{
|
||||
s32 var_r31;
|
||||
|
||||
lbl_1_bss_68 = 0;
|
||||
omMakeGroupEx(process, 0, 4);
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
omAddObjEx(process, 5, 0xA, 0x32, 0, fn_1_FD0);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_CC4(void)
|
||||
{
|
||||
s32 var_r31;
|
||||
omObjData **var_r30;
|
||||
|
||||
var_r30 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0);
|
||||
if (var_r30 != NULL) {
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
fn_1_2040(var_r30[var_r31]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 fn_1_D2C(void)
|
||||
{
|
||||
s32 sp8[4];
|
||||
|
||||
s32 var_r31;
|
||||
M456DllMainWork *var_r30;
|
||||
s32 var_r29;
|
||||
u32 var_r28;
|
||||
omObjData **var_r27;
|
||||
|
||||
var_r29 = 0;
|
||||
var_r28 = 0;
|
||||
var_r27 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0);
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
var_r30 = var_r27[var_r31]->data;
|
||||
if ((var_r30->unk_30 != 0) && (var_r30->unk_30 < 5)) {
|
||||
var_r30->unk_30 = 5;
|
||||
}
|
||||
if (var_r30->unk_30 > var_r28) {
|
||||
var_r28 = var_r30->unk_30;
|
||||
var_r29 = 0;
|
||||
sp8[var_r29++] = var_r31;
|
||||
}
|
||||
else if (var_r30->unk_30 == var_r28) {
|
||||
sp8[var_r29++] = var_r31;
|
||||
}
|
||||
}
|
||||
if (var_r28 == 0) {
|
||||
lbl_1_bss_70[var_r31] = -1;
|
||||
return 0;
|
||||
}
|
||||
lbl_1_bss_14 = (var_r28 * REFRESH_RATE) / 5;
|
||||
for (var_r31 = 0; var_r31 < var_r29; var_r31++) {
|
||||
if (GWPlayerCfg[sp8[var_r31]].iscom == 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_r31 < var_r29) {
|
||||
if (lbl_1_bss_14 > lbl_1_bss_5C) {
|
||||
lbl_1_bss_58 = lbl_1_bss_14;
|
||||
}
|
||||
if (lbl_1_bss_14 >= 7.5f * REFRESH_RATE) {
|
||||
GWGameStat.present[0x33] = 1;
|
||||
}
|
||||
}
|
||||
for (var_r31 = 0; var_r31 < var_r29; var_r31++) {
|
||||
lbl_1_bss_70[var_r31] = sp8[var_r31];
|
||||
}
|
||||
return var_r29;
|
||||
}
|
||||
|
||||
s32 fn_1_F4C(void)
|
||||
{
|
||||
s32 var_r31;
|
||||
omObjData **var_r30;
|
||||
M456DllMainWork *var_r29;
|
||||
|
||||
var_r30 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0);
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
var_r29 = var_r30[var_r31]->data;
|
||||
if (var_r29->unk_00_field2 == 0) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
M456DllDataE4Struct lbl_1_data_E4[0xA] = {
|
||||
{ 0x5F0000, 0 },
|
||||
{ 0x55001C, 1 },
|
||||
{ 0x550024, 1 },
|
||||
{ 0x55002C, 1 },
|
||||
{ 0x550034, 1 },
|
||||
{ 0x5F002A, 0 },
|
||||
{ 0x5F0005, 0 },
|
||||
{ 0x5F0017, 0 },
|
||||
{ 0x5F0018, 0 },
|
||||
{ 0x55003C, 1 },
|
||||
};
|
||||
Vec lbl_1_data_134[4] = {
|
||||
{ -300.0f, 0.0f, 0.0f },
|
||||
{ -100.0f, 0.0f, 0.0f },
|
||||
{ 100.0f, 0.0f, 0.0f },
|
||||
{ 300.0f, 0.0f, 0.0f },
|
||||
};
|
||||
float lbl_1_data_164[8] = { -50.0f, -50.0f, -50.0f, -50.0f, -50.0f, -50.0f, -50.0f, -50.0f };
|
||||
u16 lbl_1_data_184[2] = { 0x40, 0x20 };
|
||||
|
||||
void fn_1_FD0(omObjData *object)
|
||||
{
|
||||
M456DllMainWork *var_r31;
|
||||
u32 var_r29;
|
||||
s32 var_r28;
|
||||
s32 var_r27;
|
||||
|
||||
var_r31 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(M456DllMainWork), MEMORY_DEFAULT_NUM);
|
||||
object->data = var_r31;
|
||||
memset(var_r31, 0, sizeof(M456DllMainWork));
|
||||
var_r31->unk_02 = lbl_1_bss_68++;
|
||||
var_r31->unk_04 = GWPlayerCfg[var_r31->unk_02].pad_idx;
|
||||
var_r27 = GWGameStat.rumble;
|
||||
var_r31->unk_10 = var_r27;
|
||||
var_r28 = GWPlayerCfg[var_r31->unk_02].character;
|
||||
var_r31->unk_14 = var_r28;
|
||||
var_r31->unk_16 = GWPlayerCfg[var_r31->unk_02].diff;
|
||||
var_r31->unk_18 = GWPlayerCfg[var_r31->unk_02].group;
|
||||
var_r31->unk_0C = -1;
|
||||
object->model[0] = CharModelCreate(var_r28, 8);
|
||||
Hu3DModelShadowSet(object->model[0]);
|
||||
Hu3DModelLayerSet(object->model[0], 3);
|
||||
Hu3DModelCameraSet(object->model[0], 1);
|
||||
var_r31->unk_20 = 0;
|
||||
for (var_r29 = 0; var_r29 < 0xA; var_r29++) {
|
||||
if (lbl_1_data_E4[var_r29].unk_04 == 0) {
|
||||
object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_14, lbl_1_data_E4[var_r29].unk_00);
|
||||
}
|
||||
else {
|
||||
object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_14, var_r31->unk_14 + lbl_1_data_E4[var_r29].unk_00);
|
||||
}
|
||||
}
|
||||
Hu3DMotionSet(object->model[0], object->motion[var_r31->unk_20]);
|
||||
Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP);
|
||||
CharModelVoiceEnableSet(var_r31->unk_14, object->motion[5], 0);
|
||||
CharModelVoiceEnableSet(var_r31->unk_14, object->motion[6], 0);
|
||||
var_r31->unk_2E = REFRESH_RATE;
|
||||
object->trans.x = lbl_1_data_134[var_r31->unk_02].x;
|
||||
object->trans.y = lbl_1_data_134[var_r31->unk_02].y;
|
||||
object->trans.z = lbl_1_data_134[var_r31->unk_02].z;
|
||||
object->rot.y = 0.0f;
|
||||
CharModelDataClose(var_r31->unk_14);
|
||||
object->func = fn_1_1304;
|
||||
}
|
||||
|
||||
#if VERSION_PAL
|
||||
#define fn_1_1288_COND (((var_r31->unk_16 + 4) * 60) / 50.0f)
|
||||
#else
|
||||
#define fn_1_1288_COND (var_r31->unk_16 + 4)
|
||||
#endif
|
||||
|
||||
void fn_1_1288(omObjData *object)
|
||||
{
|
||||
M456DllMainWork *var_r31 = object->data;
|
||||
|
||||
if ((frand() & 0x3F) < fn_1_1288_COND) {
|
||||
if (var_r31->unk_0C <= 0) {
|
||||
var_r31->unk_0A |= 0x40;
|
||||
return;
|
||||
}
|
||||
var_r31->unk_0A |= 0x20;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_1304(omObjData *var_r30)
|
||||
{
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
float var_f31;
|
||||
|
||||
M456DllMainWork *var_r31;
|
||||
s32 var_r29;
|
||||
u32 var_r28;
|
||||
void *var_r27;
|
||||
s32 var_r26;
|
||||
omObjData **var_r25;
|
||||
s32 var_r24;
|
||||
|
||||
var_r31 = var_r30->data;
|
||||
var_r29 = var_r31->unk_20;
|
||||
var_r28 = var_r31->unk_24;
|
||||
if (var_r31->unk_00_field0 == 0) {
|
||||
var_r30->trans.y = fn_1_63AC();
|
||||
}
|
||||
if (fn_1_3B0() < 3) {
|
||||
return;
|
||||
}
|
||||
switch (var_r31->unk_1A) {
|
||||
case 0:
|
||||
if (fn_1_3B0() == 5) {
|
||||
var_r31->unk_00_field2 = 1;
|
||||
var_r31->unk_1A = 6;
|
||||
return;
|
||||
}
|
||||
if (fn_1_3B0() == 4) {
|
||||
if (var_r31->unk_30 != 0) {
|
||||
var_r31->unk_1A = 1;
|
||||
var_r31->unk_28 = REFRESH_RATE;
|
||||
}
|
||||
else {
|
||||
var_r31->unk_1A = 6;
|
||||
var_r31->unk_00_field2 = 1;
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (GWPlayerCfg[var_r31->unk_02].iscom == 0) {
|
||||
var_r31->unk_06 = HuPadStkX[var_r31->unk_04];
|
||||
var_r31->unk_07 = HuPadStkY[var_r31->unk_04];
|
||||
var_r31->unk_08 = HuPadBtn[var_r31->unk_04];
|
||||
var_r31->unk_0A = HuPadBtnDown[var_r31->unk_04] & 0xFFFF9FFF;
|
||||
}
|
||||
else {
|
||||
var_r31->unk_08 = var_r31->unk_0A = 0;
|
||||
var_r31->unk_06 = var_r31->unk_07 = 0;
|
||||
fn_1_1288(var_r30);
|
||||
}
|
||||
if (var_r31->unk_2C != 0) {
|
||||
if (--var_r31->unk_2C == 0) {
|
||||
var_r29 = 0;
|
||||
var_r28 = 0x40000001;
|
||||
}
|
||||
}
|
||||
if ((var_r31->unk_0A & 0x60) != 0) {
|
||||
if (var_r31->unk_0C < 0) {
|
||||
var_r31->unk_0C = (var_r31->unk_0A & 0x40) ? 0 : 1;
|
||||
}
|
||||
if (((var_r31->unk_0A & lbl_1_data_184[var_r31->unk_0C]) != 0) && ((var_r31->unk_0A & ~lbl_1_data_184[var_r31->unk_0C]) == 0)) {
|
||||
var_r31->unk_30++;
|
||||
var_r31->unk_2C = var_r31->unk_2E;
|
||||
var_r29 = 1;
|
||||
var_r28 = 0x40000001;
|
||||
var_r31->unk_0C ^= 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (--var_r31->unk_28 == 0) {
|
||||
var_r31->unk_00_field0 = 1;
|
||||
var_r31->unk_1A = 2;
|
||||
var_r31->unk_28 = var_r31->unk_2A = REFRESH_RATE;
|
||||
}
|
||||
var_r29 = 2;
|
||||
var_r28 = 0;
|
||||
break;
|
||||
case 2:
|
||||
var_r29 = 3;
|
||||
var_r28 = 0;
|
||||
if (var_r31->unk_28 < (var_r31->unk_2A - 0xF)) {
|
||||
var_f31 = (float)var_r31->unk_28 / (var_r31->unk_2A - 0xF);
|
||||
var_r30->trans.y = -300.0 * cosd((270.0f * var_f31));
|
||||
var_r30->trans.z = 400.0f + (-400.0f * var_f31);
|
||||
if ((var_r31->unk_00_field1 == 0) && (var_f31 < 0.35f)) {
|
||||
var_r31->unk_00_field1 = 1;
|
||||
fn_1_67E0(&var_r30->trans, -1.0f);
|
||||
fn_1_61C8(&var_r30->trans, -1.0f, -1.0f, -1);
|
||||
fn_1_7F78();
|
||||
HuAudFXPlay(0x7D2);
|
||||
}
|
||||
}
|
||||
if (--var_r31->unk_28 == 0) {
|
||||
var_r30->trans.y = -300.0f;
|
||||
var_r30->trans.z = 400.0f;
|
||||
var_r31->unk_1A = 3;
|
||||
var_r31->unk_28 = (var_r31->unk_30 * REFRESH_RATE) / 5;
|
||||
for (var_r26 = 0; var_r26 < lbl_1_bss_64; var_r26++) {
|
||||
if (var_r31->unk_02 == lbl_1_bss_70[var_r26]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_r26 < lbl_1_bss_64) {
|
||||
var_r31->unk_00_field3 = 1;
|
||||
var_r31->unk_28 -= VERSION_PAL ? 16.5f : 19.800001f;
|
||||
}
|
||||
else {
|
||||
var_r31->unk_28 -= 0.8f * REFRESH_RATE;
|
||||
}
|
||||
var_r31->unk_2A = var_r31->unk_28;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
var_r29 = 5;
|
||||
var_r28 = 0x40000001;
|
||||
if (var_r31->unk_28 < 1.0f * REFRESH_RATE) {
|
||||
if ((frand() & 3) == 0) {
|
||||
sp14.x = var_r30->trans.x;
|
||||
sp14.y = 100.0f + var_r30->trans.y;
|
||||
sp14.z = var_r30->trans.z;
|
||||
fn_1_74F8(&sp14, -1.0f);
|
||||
}
|
||||
}
|
||||
else if ((frand() & 0xF) == 0) {
|
||||
sp14.x = var_r30->trans.x;
|
||||
sp14.y = 100.0f + var_r30->trans.y;
|
||||
sp14.z = var_r30->trans.z;
|
||||
fn_1_74F8(&sp14, -1.0f);
|
||||
}
|
||||
if (--var_r31->unk_28 == 0) {
|
||||
var_r31->unk_00_field1 = 0;
|
||||
if (var_r31->unk_00_field3 == 0) {
|
||||
var_r31->unk_1A = 4;
|
||||
var_r31->unk_28 = var_r31->unk_2A = REFRESH_RATE / 1.25;
|
||||
}
|
||||
else {
|
||||
var_r31->unk_1A = 5;
|
||||
var_r31->unk_28 = var_r31->unk_2A = REFRESH_RATE;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
var_r29 = 4;
|
||||
var_r28 = 0x40000001;
|
||||
var_f31 = (float)var_r31->unk_28 / var_r31->unk_2A;
|
||||
var_r30->trans.y = -300.0 * sind((90.0f * var_f31));
|
||||
if ((frand() & 3) == 0) {
|
||||
fn_1_74F8(&var_r30->trans, -1.0f);
|
||||
}
|
||||
if ((var_r31->unk_00_field1 == 0) && (var_f31 < 0.2f)) {
|
||||
var_r31->unk_00_field1 = 1;
|
||||
fn_1_67E0(&var_r30->trans, -1.0f);
|
||||
fn_1_61C8(&var_r30->trans, -1.0f, -1.0f, -1);
|
||||
HuAudFXPlay(0x7D3);
|
||||
}
|
||||
if (--var_r31->unk_28 == 0) {
|
||||
var_r31->unk_00_field2 = 1;
|
||||
var_r31->unk_1A = 6;
|
||||
var_r30->trans.y = lbl_1_data_164[var_r31->unk_14];
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
var_r29 = 6;
|
||||
var_r28 = 0;
|
||||
var_f31 = (float)var_r31->unk_28 / var_r31->unk_2A;
|
||||
var_r30->trans.y = -300.0 * -sind((270.0f * var_f31));
|
||||
if ((var_r31->unk_00_field1 == 0) && (var_f31 < 0.7f)) {
|
||||
var_r31->unk_00_field1 = 1;
|
||||
fn_1_67E0(&var_r30->trans, 5.0f);
|
||||
fn_1_61C8(&var_r30->trans, -1.0f, -1.0f, -1);
|
||||
HuAudFXPlay(0x7D3);
|
||||
HuAudCharVoicePlay(var_r31->unk_14, 0x125);
|
||||
}
|
||||
if (--var_r31->unk_28 == 0) {
|
||||
var_r31->unk_00_field2 = 1;
|
||||
var_r31->unk_1A = 6;
|
||||
var_r30->trans.y = lbl_1_data_164[var_r31->unk_14];
|
||||
fn_1_67E0(&var_r30->trans, -1.0f);
|
||||
fn_1_61C8(&var_r30->trans, -1.0f, -1.0f, -1);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (var_r31->unk_00_field0 == 0) {
|
||||
var_r29 = 0;
|
||||
}
|
||||
else {
|
||||
var_r29 = 5;
|
||||
}
|
||||
var_r28 = 0x40000001;
|
||||
if ((fn_1_3B0() == 5) && (var_r31->unk_00_field3 == 0) && (lbl_1_bss_64 == 1)) {
|
||||
var_r25 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0);
|
||||
PSVECSubtract(&var_r25[*lbl_1_bss_70]->trans, &var_r30->trans, &sp8);
|
||||
var_r30->rot.y = fn_1_2090(var_r30->rot.y, atan2d(sp8.x, sp8.z), 0.1f);
|
||||
}
|
||||
if (fn_1_3B0() == 0xB) {
|
||||
var_r31->unk_1A = 7;
|
||||
if (var_r31->unk_00_field3 != 0) {
|
||||
Hu3DMotionOverlaySet(var_r30->model[0], var_r30->motion[9]);
|
||||
HuAudCharVoicePlay(var_r31->unk_14, 0x124);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (var_r31->unk_00_field3 != 0) {
|
||||
var_r29 = 5;
|
||||
var_r28 = 0x40000001;
|
||||
if (73.0f <= Hu3DMotionOverlayTimeGet(var_r30->model[0])) {
|
||||
Hu3DMotionOverlayTimeSet(var_r30->model[0], 35.0f);
|
||||
Hu3DModelAttrReset(var_r30->model[0], HU3D_MOTATTR_OVL_PAUSE);
|
||||
}
|
||||
}
|
||||
else if (var_r31->unk_00_field0 == 0) {
|
||||
var_r29 = 8;
|
||||
var_r28 = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if ((var_r31->unk_00_field0 != 0) && (var_r31->unk_1A >= 6) && (var_r31->unk_1A <= 7) && ((frand() & 0x3F) == 0)) {
|
||||
fn_1_61C8(&var_r30->trans, 0.3f, -1.0f, -1);
|
||||
}
|
||||
if ((var_r29 != var_r31->unk_20) || (var_r28 != var_r31->unk_24)) {
|
||||
var_r31->unk_20 = var_r29;
|
||||
var_r31->unk_24 = var_r28;
|
||||
CharModelMotionShiftSet(var_r31->unk_14, var_r30->motion[var_r31->unk_20], 0.0f, 8.0f, var_r28);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2040(omObjData *object)
|
||||
{
|
||||
M456DllMainWork *sp8 = object->data;
|
||||
if (object->data != NULL) {
|
||||
HuMemDirectFree(object->data);
|
||||
object->data = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
float fn_1_2090(float var_f29, float sp8, float spC)
|
||||
{
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
|
||||
var_f31 = fmod(sp8 - var_f29, 360.0);
|
||||
if (var_f31 < 0.0f) {
|
||||
var_f31 += 360.0f;
|
||||
}
|
||||
if (var_f31 > 180.0f) {
|
||||
var_f31 -= 360.0f;
|
||||
}
|
||||
var_f30 = fmod(var_f29 + (spC * var_f31), 360.0);
|
||||
if (var_f30 < 0.0f) {
|
||||
var_f30 += 360.0f;
|
||||
}
|
||||
return var_f30;
|
||||
}
|
||||
|
||||
void fn_1_2194(Process *process)
|
||||
{
|
||||
fn_1_21F8(0, 0, 0.0f);
|
||||
lbl_1_bss_8C = omAddObjEx(process, 0xA, 0, 0, -1, fn_1_2448);
|
||||
}
|
||||
|
||||
void fn_1_21F8(s32 arg0, s32 arg1, float arg8)
|
||||
{
|
||||
CZoom = lbl_1_data_0[arg0].unk_00 + (arg8 * (lbl_1_data_0[arg1].unk_00 - lbl_1_data_0[arg0].unk_00));
|
||||
Center.x = lbl_1_data_0[arg0].unk_04 + (arg8 * (lbl_1_data_0[arg1].unk_04 - lbl_1_data_0[arg0].unk_04));
|
||||
Center.y = lbl_1_data_0[arg0].unk_08 + (arg8 * (lbl_1_data_0[arg1].unk_08 - lbl_1_data_0[arg0].unk_08));
|
||||
Center.z = lbl_1_data_0[arg0].unk_0C + (arg8 * (lbl_1_data_0[arg1].unk_0C - lbl_1_data_0[arg0].unk_0C));
|
||||
CRot.x = lbl_1_data_0[arg0].unk_10 + (arg8 * (lbl_1_data_0[arg1].unk_10 - lbl_1_data_0[arg0].unk_10));
|
||||
CRot.y = lbl_1_data_0[arg0].unk_14 + (arg8 * (lbl_1_data_0[arg1].unk_14 - lbl_1_data_0[arg0].unk_14));
|
||||
CRot.z = lbl_1_data_0[arg0].unk_18 + (arg8 * (lbl_1_data_0[arg1].unk_18 - lbl_1_data_0[arg0].unk_18));
|
||||
}
|
||||
|
||||
float lbl_1_data_1A8[2] = { 0.0f, 0.0f };
|
||||
|
||||
void fn_1_2448(omObjData *object)
|
||||
{
|
||||
CameraData *sp8 = Hu3DCamera;
|
||||
|
||||
switch (fn_1_3B0()) {
|
||||
case 1:
|
||||
fn_1_21F8(0, 1, sind((90.0f * lbl_1_data_1A8[0])));
|
||||
if (lbl_1_data_1A8[0] < 1.0f) {
|
||||
lbl_1_data_1A8[0] += 1.0f / REFRESH_RATE;
|
||||
if (lbl_1_data_1A8[0] > 1.0f) {
|
||||
lbl_1_data_1A8[0] = 1.0f;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
break;
|
||||
case 8:
|
||||
fn_1_21F8(1, 1, 0.0f);
|
||||
break;
|
||||
case 9:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
M456DllData1B0Struct lbl_1_data_1B0[0x10] = {
|
||||
{ 0x550044, 0x10E },
|
||||
{ 0x610037, 0xFA },
|
||||
{ 0x610030, 0xFA },
|
||||
{ 0x610030, 0xFA },
|
||||
{ 0x610030, 0xFA },
|
||||
{ 0x610030, 0xFA },
|
||||
{ 0x610030, 0xFA },
|
||||
{ 0x610030, 0xFA },
|
||||
{ 0x610030, 0xFA },
|
||||
{ 0x610031, 0xFA },
|
||||
{ 0x610031, 0xFA },
|
||||
{ 0x610031, 0xFA },
|
||||
{ 0x610031, 0xFA },
|
||||
{ 0x610031, 0xFA },
|
||||
{ 0x610031, 0xFA },
|
||||
{ 0x610031, 0xFA },
|
||||
};
|
||||
|
||||
Vec2f lbl_1_data_230[0x17] = {
|
||||
{ 0.0f, 0.0f },
|
||||
{ -52.0f, -9.0f },
|
||||
{ 53.0f, -8.0f },
|
||||
{ 35.0f, -8.0f },
|
||||
{ 9.0f, -8.0f },
|
||||
{ -9.0f, -8.0f },
|
||||
{ -31.0f, -8.0f },
|
||||
{ 23.0f, -8.0f },
|
||||
{ -17.0f, -8.0f },
|
||||
{ 53.0f, 8.0f },
|
||||
{ 35.0f, 8.0f },
|
||||
{ 9.0f, 8.0f },
|
||||
{ -9.0f, 8.0f },
|
||||
{ -31.0f, 8.0f },
|
||||
{ 23.0f, 8.0f },
|
||||
{ -17.0f, 8.0f },
|
||||
{ 355.0f, 0.0f },
|
||||
{ 0.0f, 0.0f },
|
||||
{ 275.0f, 128.0f },
|
||||
{ 950.0f, 6.0f },
|
||||
{ 0.0f, 0.0f },
|
||||
{ 0.0f, 190.0f },
|
||||
{ 0.0f, 550.0f },
|
||||
};
|
||||
|
||||
void fn_1_2918(Process *sp8)
|
||||
{
|
||||
M456DllBss18Struct *var_r31;
|
||||
s32 var_r30;
|
||||
omObjData *var_r29;
|
||||
|
||||
var_r29 = omAddObjEx(sp8, 0x7FD9, 0, 0, -1, fn_1_2AC4);
|
||||
var_r31 = &lbl_1_bss_18;
|
||||
var_r29->data = var_r31;
|
||||
memset(var_r31, 0, sizeof(M456DllBss18Struct));
|
||||
var_r31->unk_14 = 60 * REFRESH_RATE;
|
||||
var_r31->unk_0C = 320.0f;
|
||||
var_r31->unk_10 = 64.0f;
|
||||
var_r31->unk_1C = 1.0f;
|
||||
for (var_r30 = 0; var_r30 < 0x10; var_r30++) {
|
||||
var_r31->unk_20[var_r30] = -1;
|
||||
if (lbl_1_data_1B0[var_r30].unk_00 != 0) {
|
||||
var_r31->unk_20[var_r30] = espEntry(lbl_1_data_1B0[var_r30].unk_00, lbl_1_data_1B0[var_r30].unk_04, 0);
|
||||
espAttrSet(var_r31->unk_20[var_r30], HUSPR_ATTR_LINEAR);
|
||||
espDispOff(var_r31->unk_20[var_r30]);
|
||||
}
|
||||
}
|
||||
espColorSet(var_r31->unk_20[0], 0, 0, 0);
|
||||
espTPLvlSet(var_r31->unk_20[0], 0.699999988079071);
|
||||
espBankSet(var_r31->unk_20[7], 0xB);
|
||||
espBankSet(var_r31->unk_20[8], 0xA);
|
||||
espBankSet(var_r31->unk_20[14], 0xB);
|
||||
espBankSet(var_r31->unk_20[15], 0xA);
|
||||
}
|
||||
|
||||
void fn_1_2AC4(omObjData *var_r26)
|
||||
{
|
||||
u32 sp8[3];
|
||||
|
||||
M456DllBss18Struct *var_r31;
|
||||
s32 var_r30;
|
||||
u32 var_r29;
|
||||
s32 var_r28;
|
||||
s32 var_r27;
|
||||
|
||||
var_r31 = var_r26->data;
|
||||
for (var_r30 = 0; var_r30 < 0x10; var_r30++) {
|
||||
if (var_r31->unk_20[var_r30] >= 0) {
|
||||
if (var_r31->unk_00 == 0) {
|
||||
espDispOff(var_r31->unk_20[var_r30]);
|
||||
}
|
||||
else {
|
||||
espDispOn(var_r31->unk_20[var_r30]);
|
||||
espPosSet(
|
||||
var_r31->unk_20[var_r30], 0.9f * (var_r31->unk_0C + lbl_1_data_230[var_r30].x), var_r31->unk_10 + lbl_1_data_230[var_r30].y);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (var_r30 = 0; var_r30 < 2; var_r30++) {
|
||||
if (var_r30 != 0) {
|
||||
var_r29 = var_r31->unk_18;
|
||||
var_r27 = 9;
|
||||
}
|
||||
else {
|
||||
var_r29 = var_r31->unk_14;
|
||||
var_r27 = 2;
|
||||
}
|
||||
sp8[0] = var_r29 % REFRESH_RATE;
|
||||
var_r29 = (var_r29 - sp8[0]) / REFRESH_RATE;
|
||||
#if VERSION_PAL
|
||||
sp8[0] = 100.0f * (sp8[0] / (float)REFRESH_RATE);
|
||||
#else
|
||||
sp8[0] = 100.0f * (1.0f / REFRESH_RATE * sp8[0]);
|
||||
#endif
|
||||
sp8[1] = var_r29 % 60;
|
||||
var_r29 = (var_r29 - sp8[1]) / 60;
|
||||
sp8[2] = var_r29;
|
||||
for (var_r28 = 0; var_r28 < 3; var_r28++) {
|
||||
espBankSet(var_r31->unk_20[var_r27++], sp8[var_r28] % 10);
|
||||
if (var_r28 < 2) {
|
||||
espBankSet(var_r31->unk_20[var_r27++], sp8[var_r28] / 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (var_r31->unk_04 != 0) {
|
||||
if (var_r31->unk_08 == 0) {
|
||||
if ((var_r31->unk_1C += 0.02f) >= 1.2f) {
|
||||
var_r31->unk_1C = 1.2f;
|
||||
var_r31->unk_08 = 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ((var_r31->unk_1C -= 0.04f) <= 1.0f) {
|
||||
var_r31->unk_1C = 1.0f;
|
||||
var_r31->unk_08 = 0;
|
||||
}
|
||||
}
|
||||
for (var_r30 = 1; var_r30 < 9; var_r30++) {
|
||||
espScaleSet(var_r31->unk_20[var_r30], var_r31->unk_1C, var_r31->unk_1C);
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
2138
src/REL/m459dll/main.c
Normal file
2138
src/REL/m459dll/main.c
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -83,10 +83,28 @@ static s16 lbl_1_bss_7A8;
|
|||
static s32 lbl_1_bss_7A4;
|
||||
static AnimData *lbl_1_bss_7A0;
|
||||
|
||||
static s32 lbl_1_data_F08[] = { DATA_MAKE_NUM(DATADIR_BOARD, 109), DATA_MAKE_NUM(DATADIR_BOARD, 110), DATA_MAKE_NUM(DATADIR_BOARD, 111),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 112), DATA_MAKE_NUM(DATADIR_BOARD, 113), DATA_MAKE_NUM(DATADIR_BOARD, 114), DATA_MAKE_NUM(DATADIR_BOARD, 115),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 116), DATA_MAKE_NUM(DATADIR_BOARD, 118), DATA_MAKE_NUM(DATADIR_BOARD, 119), DATA_MAKE_NUM(DATADIR_BOARD, 120),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 121), DATA_MAKE_NUM(DATADIR_BOARD, 122), DATA_MAKE_NUM(DATADIR_BOARD, 123) };
|
||||
#if VERSION_JP
|
||||
#define MDL_ID_SHIFT 0
|
||||
#else
|
||||
#define MDL_ID_SHIFT 1
|
||||
#endif
|
||||
|
||||
static s32 lbl_1_data_F08[] = {
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 108 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 109 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 110 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 111 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 112 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 113 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 114 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 115 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 117 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 118 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 119 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 120 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 121 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 122 + MDL_ID_SHIFT),
|
||||
};
|
||||
|
||||
static s32 lbl_1_data_F40[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 23), DATA_MAKE_NUM(DATADIR_PEACHMOT, 23),
|
||||
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 23), DATA_MAKE_NUM(DATADIR_WARIOMOT, 23), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 23),
|
||||
|
|
|
|||
|
|
@ -10,21 +10,27 @@
|
|||
|
||||
#include "game/minigame_seq.h"
|
||||
|
||||
#if VERSION_JP
|
||||
#define MDL_ID_SHIFT 0
|
||||
#else
|
||||
#define MDL_ID_SHIFT 1
|
||||
#endif
|
||||
|
||||
s32 lbl_1_data_428[14] = {
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6D),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6E),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6F),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x70),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x71),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x72),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x73),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x74),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x76),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x77),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x78),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x79),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x7A),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x7B),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6C + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6D + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6E + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6F + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x70 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x71 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x72 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x73 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x75 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x76 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x77 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x78 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x79 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x7A + MDL_ID_SHIFT),
|
||||
};
|
||||
|
||||
char *lbl_1_data_474[3] = { "item", "item1", "item2" };
|
||||
|
|
|
|||
|
|
@ -106,21 +106,27 @@ s8 lbl_1_data_4E6[] = { 1, 1, 3, 3, 2, 2, 2, 1, 2, 3, 0, 4, 5, 0 };
|
|||
|
||||
char *lbl_1_data_508[] = { "item", "item1", "item2" };
|
||||
|
||||
#if VERSION_JP
|
||||
#define MDL_ID_SHIFT 0
|
||||
#else
|
||||
#define MDL_ID_SHIFT 1
|
||||
#endif
|
||||
|
||||
s32 lbl_1_data_514[] = {
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6D),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6E),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6F),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x70),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x71),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x72),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x73),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x74),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x76),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x77),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x78),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x79),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x7A),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x7B),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6C + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6D + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6E + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6F + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x70 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x71 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x72 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x73 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x75 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x76 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x77 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x78 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x79 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x7A + MDL_ID_SHIFT),
|
||||
};
|
||||
|
||||
// BSS
|
||||
|
|
|
|||
|
|
@ -913,7 +913,7 @@ static void fn_1_8A60(void) {
|
|||
HuPrcVSleep();
|
||||
}
|
||||
fn_1_7300();
|
||||
#if VERSION_NTSC
|
||||
#if VERSION_ENG
|
||||
sprintf(sp10, "%d", var_r29);
|
||||
BoardWinCreate(2, MAKE_MESSID(32, 11), 9);
|
||||
BoardWinInsertMesSet(MAKE_MESSID_PTR(sp10), 0);
|
||||
|
|
|
|||
|
|
@ -45,21 +45,27 @@ static s32 lbl_1_data_534[] = {
|
|||
0x00000468
|
||||
};
|
||||
|
||||
#if VERSION_JP
|
||||
#define MDL_ID_SHIFT 0
|
||||
#else
|
||||
#define MDL_ID_SHIFT 1
|
||||
#endif
|
||||
|
||||
static s32 lbl_1_data_540[] = {
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 109),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 110),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 111),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 112),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 113),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 114),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 115),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 116),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 118),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 119),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 120),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 121),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 122),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 123),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 108 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 109 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 110 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 111 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 112 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 113 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 114 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 115 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 117 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 118 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 119 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 120 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 121 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 122 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 24),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 25),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 26),
|
||||
|
|
|
|||
|
|
@ -172,21 +172,27 @@ void fn_1_7400(void)
|
|||
HuPrcEnd();
|
||||
}
|
||||
|
||||
#if VERSION_JP
|
||||
#define MDL_ID_SHIFT 0
|
||||
#else
|
||||
#define MDL_ID_SHIFT 1
|
||||
#endif
|
||||
|
||||
s32 lbl_1_data_350[14] = {
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6D),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6E),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6F),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x70),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x71),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x72),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x73),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x74),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x76),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x77),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x78),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x79),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x7A),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x7B),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6C + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6D + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6E + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x6F + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x70 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x71 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x72 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x73 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x75 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x76 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x77 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x78 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x79 + MDL_ID_SHIFT),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x7A + MDL_ID_SHIFT),
|
||||
};
|
||||
|
||||
s16 lbl_1_data_388[92] = { 0, 1, -1, 2, 0, -1, 1, 2, 0, -1, 2, 1, 0, 2, -1, 1, 0, 2, 1, -1, 1, 2, -1, 0, 1, 2, 0, -1, 1, -1, 0, 2, 1, -1, 2, 0, 1, 0,
|
||||
|
|
|
|||
|
|
@ -89,6 +89,12 @@ static s32 lbl_1_data_4CC[8] = {
|
|||
0x000002E3
|
||||
};
|
||||
|
||||
#if VERSION_JP
|
||||
#define MDL_ID_SHIFT 0
|
||||
#else
|
||||
#define MDL_ID_SHIFT 1
|
||||
#endif
|
||||
|
||||
static s32 lbl_1_data_4EC[] = {
|
||||
DATA_MAKE_NUM(DATADIR_BKOOPA, 8),
|
||||
DATA_MAKE_NUM(DATADIR_BKOOPA, 10),
|
||||
|
|
@ -1036,7 +1042,7 @@ static void fn_1_C40C(void) {
|
|||
BoardCameraMotionWait();
|
||||
BoardCameraTargetModelSet(-1);
|
||||
BoardModelRotYSet(lbl_1_data_498, var_f30);
|
||||
lbl_1_data_4A0 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 99), NULL, 0);
|
||||
lbl_1_data_4A0 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 98 + MDL_ID_SHIFT), NULL, 0);
|
||||
BoardModelVisibilitySet(lbl_1_data_4A0, 0);
|
||||
BoardModelLayerSet(lbl_1_data_4A0, 2);
|
||||
var_r29 = BoardSpaceStarGet(lbl_1_bss_0->unk04 - 1);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
#include "game/sprite.h"
|
||||
#include "game/minigame_seq.h"
|
||||
#include "game/sprite.h"
|
||||
|
||||
#include "REL/ztardll.h"
|
||||
|
||||
#if VERSION_ENG
|
||||
s32 lbl_1_data_B0[0xC6] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x01), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x02),
|
||||
DATA_MAKE_NUM(DATADIR_INSTFONT, 0x03), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x04), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x05),
|
||||
|
|
@ -54,6 +55,55 @@ s32 lbl_1_data_B0[0xC6] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
|||
DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00),
|
||||
DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x0B),
|
||||
DATA_MAKE_NUM(DATADIR_INSTFONT, 0x0C), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00) };
|
||||
#elif VERSION_PAL
|
||||
s32 lbl_1_data_B0[0x130] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0x00140025, 0x00140026, 0x00140027, 0x00140028, 0x00140029, 0x0014002A, 0x0014002B, 0x0014002C, 0x0014002D, 0x0014002E,
|
||||
0x00140025, 0x00140025, 0x00140025, 0x0014002F, 0x00140025, 0x00140025, 0x00140025, 0x00140035, 0x00140036, 0x00140037, 0x00140038, 0x00140039,
|
||||
0x0014003A, 0x0014003B, 0x0014003C, 0x0014003D, 0x0014003E, 0x0014003F, 0x00140040, 0x00140041, 0x00140042, 0x00140043, 0x00140044, 0x00140045,
|
||||
0x00140046, 0x00140047, 0x00140048, 0x00140049, 0x0014004A, 0x0014004B, 0x0014004C, 0x0014004D, 0x0014004E, 0x00140043, 0x00140032, 0x00140043,
|
||||
0x00140043, 0x00140043, 0x00140043, 0x0014004F, 0x00140050, 0x00140051, 0x00140052, 0x00140053, 0x00140054, 0x00140055, 0x00140056, 0x00140057,
|
||||
0x00140058, 0x00140059, 0x0014005A, 0x0014005B, 0x0014005C, 0x0014005D, 0x0014005E, 0x0014005F, 0x00140060, 0x00140061, 0x00140062, 0x00140063,
|
||||
0x00140064, 0x00140065, 0x00140066, 0x00140067, 0x00140068, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025,
|
||||
0x00140025, 0x00140025, 0x0014002F, 0x00140033, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025,
|
||||
0x00140025, 0x00140025, 0x00140025, 0x00140069, 0x0014006A, 0x0014006B, 0x0014006C, 0x0014006D, 0x0014006E, 0x0014006F, 0x00140070, 0x00140071,
|
||||
0x00140072, 0x00140073, 0x00140074, 0x00140075, 0x00140076, 0x00140077, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025,
|
||||
0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025,
|
||||
0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025,
|
||||
0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140030, 0x00140031, 0x00140025, 0x00140025, 0x0014008F, 0x0014008E, 0x00140025, 0x00140025,
|
||||
0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140078, 0x00140079, 0x0014007A, 0x0014007B, 0x0014007C,
|
||||
0x0014007D, 0x0014007E, 0x0014007F, 0x00140080, 0x00140081, 0x00140082, 0x00140083, 0x00140084, 0x00140085, 0x00140086, 0x00140087, 0x00140088,
|
||||
0x00140089, 0x0014008A, 0x0014008B, 0x0014008C, 0x0014008D, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025,
|
||||
0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025,
|
||||
0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025,
|
||||
0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025,
|
||||
0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025,
|
||||
0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025,
|
||||
0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025, 0x00140025 };
|
||||
#else
|
||||
s32 lbl_1_data_B0[0x132] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0x00150000, 0x00150001, 0x00150002, 0x00150003, 0x00150004, 0x00150005, 0x00150006, 0x00150007, 0x00150008, 0x00150009,
|
||||
0x0013000A, 0x0013000A, 0x0013000A, 0x0015000A, 0x0013000A, 0x0013000A, 0x0013000A, 0x00130014, 0x00130015, 0x00130016, 0x00130017, 0x00130018,
|
||||
0x00130019, 0x001500AE, 0x0013001B, 0x0013001C, 0x0013001D, 0x0013001E, 0x0013001F, 0x00130020, 0x00130021, 0x001500AF, 0x00130023, 0x00130024,
|
||||
0x00130025, 0x00130026, 0x00130027, 0x00130028, 0x00130029, 0x0013002A, 0x0013002B, 0x0013002C, 0x0013002D, 0x00130022, 0x00130022, 0x00130022,
|
||||
0x00130022, 0x00130022, 0x00130022, 0x0013002E, 0x0013002F, 0x00130030, 0x00130031, 0x00130032, 0x00130033, 0x00130034, 0x00130035, 0x00130036,
|
||||
0x00130037, 0x00130038, 0x00130039, 0x0013003A, 0x0013003B, 0x0013003C, 0x0013003D, 0x0013003E, 0x0013003F, 0x00130040, 0x00130041, 0x00130042,
|
||||
0x00130043, 0x00130044, 0x00130045, 0x00130046, 0x00130047, 0x0013000A, 0x0013000A, 0x0013000A, 0x0013000A, 0x0013000A, 0x0013000A, 0x0013000A,
|
||||
0x0013000A, 0x0013000A, 0x0015000A, 0x0013000A, 0x0015008A, 0x0015008C, 0x0015008D, 0x0015008E, 0x0015008F, 0x00150090, 0x00150091, 0x00150092,
|
||||
0x00150093, 0x00150094, 0x0013000A, 0x0015005E, 0x0015005F, 0x00150060, 0x00150061, 0x00150062, 0x00150063, 0x00150064, 0x00150065, 0x00150066,
|
||||
0x00150067, 0x00150068, 0x00150069, 0x0015006A, 0x0015006B, 0x0015006C, 0x0015006D, 0x0015006E, 0x0015006F, 0x00150070, 0x00150071, 0x00150072,
|
||||
0x00150073, 0x00150074, 0x00150075, 0x00150076, 0x00150077, 0x00150078, 0x00150079, 0x0015007A, 0x0015007B, 0x0015007C, 0x0015007D, 0x0015007E,
|
||||
0x0015007F, 0x00150080, 0x00150081, 0x00150082, 0x00150083, 0x00150084, 0x00150085, 0x00150086, 0x00150087, 0x00150088, 0x00150089, 0x0015008B,
|
||||
0x0013000A, 0x0013000A, 0x0013000A, 0x0013000A, 0x0015000B, 0x0015000C, 0x0013000A, 0x0013000A, 0x0015003A, 0x0015003C, 0x0015003D, 0x0015003E,
|
||||
0x0015003F, 0x00150040, 0x00150041, 0x00150042, 0x00150043, 0x00150044, 0x0013000A, 0x0015000E, 0x0015000F, 0x00150010, 0x00150011, 0x00150012,
|
||||
0x00150013, 0x00150014, 0x00150015, 0x00150016, 0x00150017, 0x00150018, 0x00150019, 0x0015001A, 0x0015001B, 0x0015001C, 0x0015001D, 0x0015001E,
|
||||
0x0015001F, 0x00150020, 0x00150021, 0x00150022, 0x00150023, 0x00150024, 0x00150025, 0x00150026, 0x00150027, 0x00150028, 0x00150029, 0x0015002A,
|
||||
0x0015002B, 0x0015002C, 0x0015002D, 0x0015002E, 0x0015002F, 0x00150030, 0x00150031, 0x00150032, 0x00150033, 0x00150034, 0x00150035, 0x00150036,
|
||||
0x00150037, 0x00150038, 0x00150039, 0x0015003B, 0x0013000A, 0x0013000A, 0x00150095, 0x00150096, 0x00150097, 0x00150098, 0x00150099, 0x0015009A,
|
||||
0x0015009B, 0x0015009C, 0x0015009D, 0x0015009E, 0x0015009F, 0x001500A0, 0x001500A1, 0x001500A2, 0x001500A3, 0x001500A4, 0x001500A5, 0x001500A6,
|
||||
0x001500A7, 0x001500A8, 0x001500A9, 0x001500AA, 0x001500AB, 0x001500AC, 0x001500AD, 0x00150045, 0x00150046, 0x00150047, 0x00150048, 0x00150049,
|
||||
0x0015004A, 0x0015004B, 0x0015004C, 0x0015004D, 0x0015004E, 0x0015004F, 0x00150050, 0x00150051, 0x00150052, 0x00150053, 0x00150054, 0x00150055,
|
||||
0x00150056, 0x00150057, 0x00150058, 0x00150059, 0x0015005A, 0x0015005B, 0x0015005C, 0x0015005D };
|
||||
#endif
|
||||
|
||||
s32 fn_1_7754(SeqWork *work, char *mess)
|
||||
{
|
||||
|
|
@ -69,6 +119,7 @@ s32 fn_1_7754(SeqWork *work, char *mess)
|
|||
AnimData **var_r21;
|
||||
s16 var_r20;
|
||||
s16 var_r19;
|
||||
s32 var_r19_2;
|
||||
|
||||
var_r27 = lbl_1_data_B0;
|
||||
for (var_r25 = 0; var_r25 < 0x10; var_r25++) {
|
||||
|
|
@ -84,8 +135,48 @@ s32 fn_1_7754(SeqWork *work, char *mess)
|
|||
var_r29 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
|
||||
for (var_r31 = mess, var_r30 = 0, var_r28 = 0; var_r31[0] != 0; var_r31++) {
|
||||
if (var_r31[0] == 0x20 || var_r31[0] == 0x10) {
|
||||
var_r30 += 0xE;
|
||||
var_r30 += VERSION_JP ? 0x1C : 0xE;
|
||||
}
|
||||
#if VERSION_PAL
|
||||
else if (*var_r31 >= 0x30) {
|
||||
var_r19_2 = var_r27[*var_r31];
|
||||
var_r21[var_r28] = HuSprAnimReadFile(var_r19_2);
|
||||
var_r22[var_r28] = var_r30;
|
||||
if ((*var_r31 >= 0x61) && (*var_r31 <= 0x7A)) {
|
||||
var_r29[var_r28] = 2;
|
||||
var_r30 += 0x12;
|
||||
}
|
||||
else if ((*var_r31 == 0xC2) || (*var_r31 == 0xC3) || (*var_r31 == 0xC7)) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x12;
|
||||
}
|
||||
else if (*var_r31 == 0xC6) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x18;
|
||||
}
|
||||
else if (*var_r31 == 0x5C) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 8;
|
||||
}
|
||||
else if ((*var_r31 >= 0x90) && (*var_r31 <= 0x9F)) {
|
||||
var_r29[var_r28] = -2;
|
||||
var_r30 += 0x18;
|
||||
}
|
||||
else if ((*var_r31 >= 0xD0) && (*var_r31 <= 0xEF)) {
|
||||
var_r29[var_r28] = -2;
|
||||
var_r30 += 0x12;
|
||||
}
|
||||
else if ((*var_r31 == 0x3D) || (*var_r31 == 0x84)) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x14;
|
||||
}
|
||||
else {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x1C;
|
||||
}
|
||||
var_r28++;
|
||||
}
|
||||
#else
|
||||
else if (var_r31[0] < 0x30) {
|
||||
}
|
||||
else if (var_r31[0] == 0x80) {
|
||||
|
|
@ -140,16 +231,19 @@ s32 fn_1_7754(SeqWork *work, char *mess)
|
|||
var_r29[var_r28] = 4;
|
||||
var_r30 += 0x18;
|
||||
}
|
||||
#if !VERSION_JP
|
||||
else if ((var_r31[0] == 0x3D) || (var_r31[0] == 0x84)) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x14;
|
||||
}
|
||||
#endif
|
||||
else {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x1C;
|
||||
}
|
||||
var_r28++;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
var_r20 = HuSprGrpCreate(var_r28);
|
||||
work->spr_grp[var_r25] = var_r20;
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@
|
|||
|
||||
#include "REL/ztardll.h"
|
||||
|
||||
extern s32 charVoiceGroupStat[8];
|
||||
|
||||
void fn_1_1774(void);
|
||||
void fn_1_1CF0(void);
|
||||
void fn_1_1DA0(void);
|
||||
|
|
@ -763,7 +765,7 @@ void fn_1_33B0(void)
|
|||
var_r30 = HuSprCreate(var_r29, 0x64, mgBattleStarMax + 1);
|
||||
}
|
||||
HuSprGrpMemberSet(lbl_1_bss_50, 1, var_r30);
|
||||
HuSprPosSet(lbl_1_bss_50, 1, 342.0f, 80.0f);
|
||||
HuSprPosSet(lbl_1_bss_50, 1, VERSION_JP ? 234.0f : 342.0f, 80.0f);
|
||||
HuSprScaleSet(lbl_1_bss_50, 1, 0.0f, 0.0f);
|
||||
HuSprGrpDrawNoSet(lbl_1_bss_50, 0x7F);
|
||||
var_r29 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_ZTAR, 9));
|
||||
|
|
@ -1096,17 +1098,41 @@ void fn_1_4948(void)
|
|||
|
||||
void fn_1_51BC(s16 arg0)
|
||||
{
|
||||
omOvlHisData *var_r31;
|
||||
s16 var_r31;
|
||||
omOvlHisData *var_r30;
|
||||
u32 var_r29;
|
||||
|
||||
WipeColorSet(0xFF, 0xFF, 0xFF);
|
||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
|
||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C);
|
||||
HuAudSeqAllFadeOut(0x3E8);
|
||||
|
||||
while (WipeStatGet() != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
var_r31 = omOvlHisGet(0);
|
||||
omOvlHisChg(0, OVL_ZTAR, arg0, var_r31->stat);
|
||||
#if !VERSION_ENG
|
||||
if ((GWPlayerCfg->character >= 8) && (GWPlayerCfg->character >= 8) && (GWPlayerCfg->character >= 8) && (GWPlayerCfg->character >= 8)) {
|
||||
msmMusStopAll(1, 0);
|
||||
msmSeStopAll(1, 0);
|
||||
var_r29 = OSGetTick();
|
||||
while (TRUE) {
|
||||
if ((msmMusGetNumPlay(1) != 0) || (msmSeGetNumPlay(1) != 0)) {
|
||||
if (((OSGetTick() - var_r29) / (*((u32 *)0x800000F8) / 4 / 1000)) >= 0x1F4) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
msmSysDelGroupBase(0);
|
||||
#if VERSION_PAL
|
||||
for (var_r31 = 0; var_r31 < 8; var_r31++) {
|
||||
charVoiceGroupStat[var_r31] = 0;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
var_r30 = omOvlHisGet(0);
|
||||
omOvlHisChg(0, OVL_ZTAR, arg0, var_r30->stat);
|
||||
omOvlCallEx(OVL_M433, 1, 0, 0);
|
||||
while (TRUE) {
|
||||
HuPrcVSleep();
|
||||
|
|
@ -1239,6 +1265,9 @@ s32 fn_1_524C(s32 arg0)
|
|||
var_r22 = &winData[var_r24];
|
||||
HuWinPriSet(var_r24, 5);
|
||||
HuWinPosSet(var_r24, (576.0f - var_r22->w) / 2, 300.0f);
|
||||
#if VERSION_PAL
|
||||
HuWinScaleSet(var_r24, 0.95f, 1.0f);
|
||||
#endif
|
||||
HuWinAttrSet(var_r24, 0x800);
|
||||
var_r30 = 0;
|
||||
var_r23 = 0;
|
||||
|
|
@ -1400,6 +1429,11 @@ void fn_1_66F8(void)
|
|||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
GWPlayerCfg[var_r31].character = -1;
|
||||
}
|
||||
#if VERSION_PAL
|
||||
for (var_r31 = 0; var_r31 < 8; var_r31++) {
|
||||
charVoiceGroupStat[var_r31] = 0;
|
||||
}
|
||||
#endif
|
||||
mgPracticeEnableF = 0;
|
||||
omOvlReturnEx(1, 1);
|
||||
HuPrcEnd();
|
||||
|
|
|
|||
|
|
@ -3028,6 +3028,12 @@ void fn_1_114EC(u32 arg0, s32 arg1)
|
|||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
|
||||
#if VERSION_JP
|
||||
if (lbl_1_data_670 != -1) {
|
||||
HuWinMesSet(lbl_1_data_670, arg0);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
HuWinMesMaxSizeGet(1, spC, arg0);
|
||||
var_r29 = spC[0];
|
||||
var_r31 = spC[1];
|
||||
|
|
@ -3038,6 +3044,9 @@ void fn_1_114EC(u32 arg0, s32 arg1)
|
|||
else {
|
||||
var_r30 = 0x181 - var_r31;
|
||||
}
|
||||
#if VERSION_JP
|
||||
lbl_1_data_670 = HuWinExCreateStyled(var_r28, var_r30, var_r29, var_r31, -1, 1);
|
||||
#else
|
||||
if (lbl_1_data_670 != -1) {
|
||||
fn_1_1190C();
|
||||
lbl_1_data_670 = HuWinExCreateStyled(var_r28, var_r30, var_r29, var_r31, -1, 1);
|
||||
|
|
@ -3045,6 +3054,7 @@ void fn_1_114EC(u32 arg0, s32 arg1)
|
|||
else {
|
||||
lbl_1_data_670 = HuWinExCreateStyled(var_r28, var_r30, var_r29, var_r31, -1, 1);
|
||||
}
|
||||
#endif
|
||||
HuWinBGTPLvlSet(lbl_1_data_670, 0.0f);
|
||||
HuWinDispOn(lbl_1_data_670);
|
||||
HuWinMesSet(lbl_1_data_670, arg0);
|
||||
|
|
@ -3059,11 +3069,21 @@ void fn_1_11708(u32 arg0)
|
|||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
|
||||
#if VERSION_JP
|
||||
if (lbl_1_data_670 != -1) {
|
||||
HuWinMesSet(lbl_1_data_670, arg0);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
HuWinMesMaxSizeGet(1, sp8, arg0);
|
||||
var_r30 = sp8[0];
|
||||
var_r31 = sp8[1];
|
||||
var_r28 = (0x240 - var_r30) / 2.0f;
|
||||
var_r29 = 0x181 - var_r31;
|
||||
#if VERSION_JP
|
||||
lbl_1_data_670 = HuWinExCreateStyled(var_r28, var_r29, var_r30, var_r31, -1, 1);
|
||||
(void)var_r29;
|
||||
#else
|
||||
if (lbl_1_data_670 != -1) {
|
||||
fn_1_1190C();
|
||||
lbl_1_data_670 = HuWinExCreateStyled(var_r28, var_r29, var_r30, var_r31, -1, 1);
|
||||
|
|
@ -3071,6 +3091,7 @@ void fn_1_11708(u32 arg0)
|
|||
else {
|
||||
lbl_1_data_670 = HuWinExCreateStyled(var_r28, var_r29, var_r30, var_r31, -1, 1);
|
||||
}
|
||||
#endif
|
||||
HuWinBGTPLvlSet(lbl_1_data_670, 0.0f);
|
||||
HuWinDispOn(lbl_1_data_670);
|
||||
HuWinMesSet(lbl_1_data_670, arg0);
|
||||
|
|
|
|||
|
|
@ -1988,7 +1988,7 @@ void BoardLast5GfxInit(void)
|
|||
} else {
|
||||
prio = 1400;
|
||||
}
|
||||
#if !VERSION_JPN
|
||||
#if !VERSION_JP
|
||||
spr_file = last5GfxSprTbl[i];
|
||||
if(i == 2 && work->is_last && GWLanguageGet() != 0) {
|
||||
spr_file = DATA_MAKE_NUM(DATADIR_BOARD, 98);
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ static s32 bowserSuitCharMdlTbl[] = {
|
|||
static s32 bowserSuitMotTbl[] = { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x19), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x1A),
|
||||
DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x1B), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x1E), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x1F) };
|
||||
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
static s32 sparkMotTbl[] = {
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x94),
|
||||
DATA_MAKE_NUM(DATADIR_BOARD, 0x95),
|
||||
|
|
@ -2512,7 +2512,7 @@ static s32 DoSparkSpace(s32 player, s32 pause_cam)
|
|||
BoardCameraMotionWait();
|
||||
BoardCameraTargetPlayerSet(player);
|
||||
BoardPlayerIdleSet(player);
|
||||
temp_r28 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, VERSION_JPN ? 0x73 : 0x74), NULL, 0);
|
||||
temp_r28 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, VERSION_JP ? 0x73 : 0x74), NULL, 0);
|
||||
BoardModelMotionStart(temp_r28, 0, 0x40000002);
|
||||
BoardModelMotionTimeSet(temp_r28, 30.0f);
|
||||
BoardModelAttrSet(temp_r28, 0x40000002);
|
||||
|
|
@ -2520,7 +2520,7 @@ static s32 DoSparkSpace(s32 player, s32 pause_cam)
|
|||
BoardModelScaleSet(temp_r28, 2.0f, 2.0f, 2.0f);
|
||||
BoardModelVisibilitySet(temp_r28, 0);
|
||||
BoardModelLayerSet(temp_r28, 1);
|
||||
sp2E = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, VERSION_JPN ? 0x66 : 0x67), NULL, 0);
|
||||
sp2E = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, VERSION_JP ? 0x66 : 0x67), NULL, 0);
|
||||
BoardModelLayerSet(sp2E, 1);
|
||||
BoardModelMotionStart(sp2E, 0, 0);
|
||||
HuAudFXPlay(796);
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ void GWInit(void)
|
|||
_InitFlag();
|
||||
GWErase();
|
||||
InitPlayerConfig();
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
GWGameStat.language = 0;
|
||||
#elif VERSION_ENG
|
||||
GWGameStat.language = 1;
|
||||
|
|
@ -131,7 +131,7 @@ void GWGameStatReset(void)
|
|||
GameStat *game_stat = &GWGameStatDefault;
|
||||
memset(game_stat, 0, sizeof(GameStat));
|
||||
game_stat->unk_00 = 0;
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
game_stat->language = 0;
|
||||
#elif VERSION_ENG
|
||||
game_stat->language = 1;
|
||||
|
|
|
|||
|
|
@ -808,7 +808,7 @@ static s32 SeqMakeWord(SeqWork *work, char *str, s16 flags)
|
|||
s16 x;
|
||||
s16 i;
|
||||
s16 grp_idx;
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
char *str_ptr;
|
||||
AnimData **char_anim;
|
||||
s16 *char_pos;
|
||||
|
|
@ -832,7 +832,7 @@ static s32 SeqMakeWord(SeqWork *work, char *str, s16 flags)
|
|||
x = 0;
|
||||
len = 0;
|
||||
while (*str_ptr != '\0') {
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
if (*str_ptr == ' ') {
|
||||
x += 56;
|
||||
}
|
||||
|
|
@ -876,26 +876,26 @@ static AnimData *SeqLoadFontChar(char *str, s16 flags)
|
|||
if (c == 222 || c == 223) {
|
||||
return NULL;
|
||||
}
|
||||
#if !VERSION_JPN
|
||||
#if !VERSION_JP
|
||||
if (c == 32) {
|
||||
return HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 10)));
|
||||
}
|
||||
#endif
|
||||
for (id = 0, list = seqFontAlphaTbl; *list != 0; id++, list++) {
|
||||
if (*list == c) {
|
||||
data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JPN ? 20 : 21));
|
||||
data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JP ? 20 : 21));
|
||||
return HuSprAnimRead(SeqReadFile(data_num));
|
||||
}
|
||||
}
|
||||
for (id = 0, list = seqFontNumTbl; *list != 0; id++, list++) {
|
||||
if (*list == c) {
|
||||
data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JPN ? 10 : 11));
|
||||
data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JP ? 10 : 11));
|
||||
return HuSprAnimRead(SeqReadFile(data_num));
|
||||
}
|
||||
}
|
||||
for (id = 0, list = seqPunctTbl; *list != 0; id++, list++) {
|
||||
if (*list == c) {
|
||||
data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JPN ? 153 : 154));
|
||||
data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JP ? 153 : 154));
|
||||
return HuSprAnimRead(SeqReadFile(data_num));
|
||||
}
|
||||
}
|
||||
|
|
@ -916,10 +916,10 @@ static AnimData *SeqLoadFontChar(char *str, s16 flags)
|
|||
while (*list != 0) {
|
||||
if (*list == c) {
|
||||
if (flags & 0x1) {
|
||||
data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JPN ? 155 : 156));
|
||||
data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JP ? 155 : 156));
|
||||
}
|
||||
else {
|
||||
data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JPN ? 72 : 73));
|
||||
data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JP ? 72 : 73));
|
||||
}
|
||||
return HuSprAnimRead(SeqReadFile(data_num));
|
||||
}
|
||||
|
|
@ -2685,7 +2685,7 @@ static char *winCharNameTbl[] = {
|
|||
"ワリオ",
|
||||
"WARIO",
|
||||
"ドンキー",
|
||||
VERSION_JPN ? "DK" : " DK ",
|
||||
VERSION_JP ? "DK" : " DK ",
|
||||
"デイジー",
|
||||
"DAISY",
|
||||
"ワルイージ",
|
||||
|
|
@ -2695,21 +2695,21 @@ static char *winCharNameTbl[] = {
|
|||
"キノピオ",
|
||||
"TOAD",
|
||||
"ヘイホー",
|
||||
VERSION_JPN ? "HEHOH" : "SHY GUY",
|
||||
VERSION_JP ? "HEHOH" : "SHY GUY",
|
||||
"テレサ",
|
||||
VERSION_JPN ? "TERETHA" : "BOO",
|
||||
VERSION_JP ? "TERETHA" : "BOO",
|
||||
"ノコノコ",
|
||||
VERSION_JPN ? "NOKONOKO" : "KOOPA",
|
||||
VERSION_JP ? "NOKONOKO" : "KOOPA",
|
||||
"ミニクッパ",
|
||||
VERSION_NTSC ? (VERSION_ENG ? "KOOPA KID" : "BABYBOWSER") : "MINI BOWSER",
|
||||
"クリボー",
|
||||
VERSION_JPN ? "KURIBO" : "GOOMBA",
|
||||
VERSION_JP ? "KURIBO" : "GOOMBA",
|
||||
};
|
||||
|
||||
static char *winWordTbl[] = { "カチ", "WON!", "ハイボク", "LOSE", "ユウショウ!", "CHAMPION!" };
|
||||
|
||||
static s16 winPosOfs[][5][2] = {
|
||||
{ { VERSION_JPN ? 144 : 114, 0 }, { -144, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } },
|
||||
{ { VERSION_JP ? 144 : 114, 0 }, { -144, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } },
|
||||
{ { 0, 35 }, { -144, -35 }, { 144, -35 }, { 0, 0 }, { 0, 0 } },
|
||||
{ { 0, 105 }, { 0, -105 }, { -144, 0 }, { 144, 0 }, { 0, 0 } },
|
||||
{ { 0, 105 }, { -144, -105 }, { 144, -105 }, { -144, 0 }, { 144, 0 } },
|
||||
|
|
@ -2745,15 +2745,15 @@ s32 MGSeqInitWin(SeqWork *work, va_list params)
|
|||
}
|
||||
}
|
||||
word_grp = SeqMakeWord(work, winWordTbl[word_idx], GET_WIN_KANAF());
|
||||
winnerNameW[0] = work->word_len * (VERSION_JPN ? 56 : 50);
|
||||
#if !VERSION_JPN
|
||||
winnerNameW[0] = work->word_len * (VERSION_JP ? 56 : 50);
|
||||
#if !VERSION_JP
|
||||
for (i = 0; i < work->word_len; i++) {
|
||||
HuSprPosSet(work->spr_grp[word_grp], i, 25.0f + ((i * 50) - (0.5f * (work->word_len * 50))), 0.0f);
|
||||
HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR);
|
||||
}
|
||||
#endif
|
||||
num_winners = 0;
|
||||
#if !VERSION_JPN
|
||||
#if !VERSION_JP
|
||||
work->win_scale = 1.0f;
|
||||
#endif
|
||||
for (j = 0; j < 4; j++) {
|
||||
|
|
@ -2855,7 +2855,7 @@ s32 MGSeqInitWin(SeqWork *work, va_list params)
|
|||
work->type = 0;
|
||||
for (j = 0; j < num_winners + 1; j++) {
|
||||
if (num_winners == 1) {
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
word_x = 32 + (winnerNameW[1] + winnerNameW[0]);
|
||||
#else
|
||||
word_x = 32.0f + ((float)winnerNameW[0] + (winnerNameW[1] * work->win_scale));
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ s32 saveExecF;
|
|||
u8 curBoxNo;
|
||||
s16 curSlotNo;
|
||||
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
static u8 commentTbl[2][32] = { "マリオパーティ4", "??月??日 データ?です。" };
|
||||
static u8 sjisNumTbl[20] = "0123456789";
|
||||
#else
|
||||
|
|
@ -48,7 +48,7 @@ s32 SaveEnableF = 1;
|
|||
|
||||
static char *SlotNameTbl[] = { "A", "B" };
|
||||
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
static char *slotIconMesTbl[] = { "\x0E\x16", "\x0E\x17" };
|
||||
static u8 sjisSpace[] = " ";
|
||||
#endif
|
||||
|
|
@ -498,7 +498,7 @@ s32 SLSave(void)
|
|||
#define SAVEWIN_POS 120
|
||||
#endif
|
||||
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
#define SAVEWIN_MESS slotIconMesTbl
|
||||
#else
|
||||
#define SAVEWIN_MESS SlotNameTbl
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ extern s32 HuDvdErrWait;
|
|||
|
||||
static s32 SR_PreRstChk[4] = {};
|
||||
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
static s32 padding[4] = {};
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ u8 charWETbl[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0
|
|||
17, 13, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
|
||||
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 16, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
|
||||
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 };
|
||||
#elif VERSION_JPN
|
||||
#elif VERSION_JP
|
||||
u8 charWETbl[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 13, 8, 11, 12, 13, 12, 11, 11, 12, 11, 18, 20, 12, 12, 11, 14, 8, 13, 12, 12, 12, 12, 12, 12, 12, 9, 11, 12, 11, 15, 12, 13, 12,
|
||||
13, 12, 12, 11, 12, 11, 15, 12, 13, 11, 12, 6, 8, 8, 12, 20, 12, 11, 12, 11, 11, 9, 12, 11, 4, 8, 11, 4, 14, 11, 12, 11, 12, 9, 11, 9, 11, 11, 15,
|
||||
|
|
@ -257,7 +257,7 @@ s16 HuWinCreate(float x, float y, s16 w, s16 h, s16 frame)
|
|||
sprite_ptr->work[0] = window_id;
|
||||
HuSprGrpMemberSet(group, 1, sprite);
|
||||
window->num_chars = 0;
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
window->max_chars = (w / 20) * (h / 24) * 3;
|
||||
#else
|
||||
window->max_chars = (w / 8) * (h / 24) * 4;
|
||||
|
|
@ -290,7 +290,7 @@ s16 HuWinCreate(float x, float y, s16 w, s16 h, s16 frame)
|
|||
window->scissor_h = 0x1E0;
|
||||
window->tab_w = 24;
|
||||
window->push_key = 0x300;
|
||||
#if !VERSION_JPN
|
||||
#if !VERSION_JP
|
||||
window->key_auto = 0;
|
||||
#endif
|
||||
if (frame == 0 || frame == 2) {
|
||||
|
|
@ -425,12 +425,12 @@ static void MesDispFunc(HuSprite *sprite)
|
|||
MTXConcat(*sprite->group_mtx, modelview, modelview);
|
||||
GXLoadPosMtxImm(modelview, 0);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
|
||||
HuSprTexLoad(fontAnim, 0, 0, GX_CLAMP, GX_CLAMP, VERSION_JPN ? GX_NEAR : GX_LINEAR);
|
||||
HuSprTexLoad(fontAnim, 0, 0, GX_CLAMP, GX_CLAMP, VERSION_JP ? GX_NEAR : GX_LINEAR);
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, window->num_chars * 4);
|
||||
char_uv_h = (LanguageNo == 0) ? (24.0f / 408.0f) : (24.0f / 312.0f);
|
||||
for (i = 0; i < window->num_chars; i++) {
|
||||
char_w = fontWidthP[window->char_data[i].character + 48];
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
uv_minx = 0.003125 + (20.0f / 320.0f) * (window->char_data[i].character % 16);
|
||||
#else
|
||||
uv_minx = (20.0f / 320.0f) * (window->char_data[i].character % 16);
|
||||
|
|
@ -605,9 +605,9 @@ static void HuWinDrawMes(s16 window)
|
|||
s16 color;
|
||||
s16 mess_w;
|
||||
|
||||
window_ptr->mess_time += VERSION_JPN ? 1 : 3;
|
||||
window_ptr->mess_time += VERSION_JP ? 1 : 3;
|
||||
while (window_ptr->mess_time >= window_ptr->speed || (window_ptr->attr & 0x2000)) {
|
||||
#if VERSION_JPN
|
||||
#if VERSION_JP
|
||||
window_ptr->mess_time = 0;
|
||||
#else
|
||||
window_ptr->mess_time -= window_ptr->speed;
|
||||
|
|
@ -634,7 +634,7 @@ static void HuWinDrawMes(s16 window)
|
|||
}
|
||||
window_ptr->mess_stackptr--;
|
||||
window_ptr->mess = window_ptr->mess_stack[window_ptr->mess_stackptr];
|
||||
#if !VERSION_JPN
|
||||
#if !VERSION_JP
|
||||
window_ptr->mess_time = 0;
|
||||
#endif
|
||||
break;
|
||||
|
|
@ -1108,14 +1108,14 @@ static void HuWinChoice(WindowData *window)
|
|||
window->choice = choice_next;
|
||||
HuAudFXPlay(0);
|
||||
}
|
||||
else if (key & (VERSION_JPN ? PAD_BUTTON_A : (window->key_auto | PAD_BUTTON_A))) {
|
||||
else if (key & (VERSION_JP ? PAD_BUTTON_A : (window->key_auto | PAD_BUTTON_A))) {
|
||||
HuAudFXPlay(2);
|
||||
window->key_down = key;
|
||||
window->stat = 0;
|
||||
}
|
||||
else if ((key & PAD_BUTTON_B) && !(window->attr & 0x10)) {
|
||||
HuAudFXPlay(3);
|
||||
#if !VERSION_JPN
|
||||
#if !VERSION_JP
|
||||
window->key_down = key;
|
||||
#else
|
||||
(void)key; // hack to match Japanese version
|
||||
|
|
@ -1324,7 +1324,7 @@ void HuWinMesSet(s16 window, u32 mess)
|
|||
window_ptr->mess = MessData_MesPtrGet(messDataPtr, mess);
|
||||
if (window_ptr->mess == 0) {
|
||||
OSReport("Error: No Message data\n");
|
||||
#if !VERSION_JPN
|
||||
#if !VERSION_JP
|
||||
HuWinMesSet(window, 0);
|
||||
return;
|
||||
#endif
|
||||
|
|
@ -1335,7 +1335,7 @@ void HuWinMesSet(s16 window, u32 mess)
|
|||
}
|
||||
if (!(window_ptr->attr & 0x80)) {
|
||||
window_ptr->mess_color = 7;
|
||||
#if !VERSION_JPN
|
||||
#if !VERSION_JP
|
||||
window_ptr->mess_time = 0;
|
||||
#endif
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue