Merge branch 'Rainchus:main' into main
This commit is contained in:
commit
b8c6af2bf9
25 changed files with 9425 additions and 830 deletions
11
src/REL/m420dll/rand.c
Normal file
11
src/REL/m420dll/rand.c
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#include "dolphin/types.h"
|
||||
|
||||
u32 lbl_1_bss_A48;
|
||||
|
||||
void fn_1_8934 (u32 seed) {
|
||||
lbl_1_bss_A48 = seed;
|
||||
}
|
||||
|
||||
s32 fn_1_8944(void) {
|
||||
return (lbl_1_bss_A48 = (lbl_1_bss_A48 * 0x41C64E6D) + 0x3039) / 65536 & 0x7FFF;
|
||||
}
|
||||
|
|
@ -12,17 +12,13 @@
|
|||
#include "game/minigame_seq.h"
|
||||
#include "game/gamework_data.h"
|
||||
#include "game/chrman.h"
|
||||
#include "REL/m455Dll.h"
|
||||
|
||||
#include "ext_math.h"
|
||||
#include "math.h"
|
||||
|
||||
#include "rel_sqrt_consts.h"
|
||||
|
||||
void fn_1_32C4(Process *objman);
|
||||
void fn_1_340C(void);
|
||||
void fn_1_6698(Vec *arg0, float arg1, float arg2, s32 arg3);
|
||||
float fn_1_687C(void);
|
||||
void fn_1_6CB0(Vec *arg0, float arg1);
|
||||
|
||||
typedef struct camera_view_params {
|
||||
float zoom;
|
||||
|
|
|
|||
1807
src/REL/m455Dll/stage.c
Normal file
1807
src/REL/m455Dll/stage.c
Normal file
File diff suppressed because it is too large
Load diff
1805
src/REL/m456Dll/stage.c
Normal file
1805
src/REL/m456Dll/stage.c
Normal file
File diff suppressed because it is too large
Load diff
948
src/REL/mentDll/common.c
Normal file
948
src/REL/mentDll/common.c
Normal file
|
|
@ -0,0 +1,948 @@
|
|||
#include "math.h"
|
||||
#include "ext_math.h"
|
||||
#include "game/object.h"
|
||||
#include "game/window.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/process.h"
|
||||
#include "game/objsub.h"
|
||||
#include "game/wipe.h"
|
||||
#include "game/board/tutorial.h"
|
||||
#include "game/pad.h"
|
||||
#include "REL/mentDll.h"
|
||||
#include "game/printfunc.h"
|
||||
#include "game/hsfmotion.h"
|
||||
#include "game/sprite.h"
|
||||
|
||||
#include "rel_sqrt_consts.h"
|
||||
|
||||
|
||||
Process* lbl_1_bss_0;
|
||||
//TODO: unknown type
|
||||
extern s32 lbl_1_bss_A8[];
|
||||
|
||||
s32 lbl_1_data_0[][4] = {
|
||||
{ 0x00000037, 0x00000038, 0x00000036, 0x00000039 },
|
||||
{ 0x00000043, 0x00000045, 0x00000044, 0x00000043 },
|
||||
{ 0x00000040, 0x00000042, 0x00000041, 0x00000040 },
|
||||
{ 0x0000004B, 0x0000004D, 0x0000004C, 0x0000004B },
|
||||
{ 0x00000046, 0x00000048, 0x00000047, 0x00000046 },
|
||||
{ 0x0000003E, 0x0000003F, 0x0000003E, 0x0000003E },
|
||||
{ 0x0000003A, 0x0000003B, 0x0000003C, 0xFFFFFFFF },
|
||||
};
|
||||
|
||||
s32 lbl_1_data_70 = -1;
|
||||
|
||||
// char lbl_1_data_74[] = ">>>>>>>>>> CAMERA DATA <<<<<<<<<<";
|
||||
// char lbl_1_data_96[] = "CENTER : %.2f, %.2f, %.2f";
|
||||
// char lbl_1_data_B0[] = "ROT : %.2f, %.2f, %.2f";
|
||||
// char lbl_1_data_CA[] = "ZOOM : %.2f";
|
||||
|
||||
extern s32 _prolog();
|
||||
extern void _epilog();
|
||||
void fn_1_144(void);
|
||||
void fn_1_2318(s32);
|
||||
typedef void (*VoidFunc)(void);
|
||||
extern const VoidFunc _ctors[];
|
||||
extern const VoidFunc _dtors[];
|
||||
|
||||
void fn_1_0(omObjData* arg0) {
|
||||
if (WipeStatGet() == 0) {
|
||||
arg0->func = NULL;
|
||||
omOvlReturnEx(1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_4C(omObjData* object) {
|
||||
if (omSysExitReq != 0) {
|
||||
object->func = fn_1_0;
|
||||
WipeCreate(2, 0, -1);
|
||||
}
|
||||
}
|
||||
|
||||
s32 _prolog(void) {
|
||||
const VoidFunc* ctors = _ctors;
|
||||
while (*ctors != 0) {
|
||||
(**ctors)();
|
||||
ctors++;
|
||||
}
|
||||
fn_1_144();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void _epilog(void) {
|
||||
const VoidFunc* dtors = _dtors;
|
||||
while (*dtors != 0) {
|
||||
(**dtors)();
|
||||
dtors++;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_144(void) {
|
||||
_ClearFlag(0x1000BU);
|
||||
boardTutorialF = 0;
|
||||
lbl_1_bss_0 = omInitObjMan(0x3E, 0x2000);
|
||||
omGameSysInit(lbl_1_bss_0);
|
||||
lbl_1_bss_A8[0] = omovlevtno;
|
||||
lbl_1_bss_A8[1] = omovlstat;
|
||||
fn_1_658C(lbl_1_bss_0);
|
||||
omAddObjEx(lbl_1_bss_0, 0x2000, 0U, 0U, -1, fn_1_4C);
|
||||
}
|
||||
|
||||
f32 fn_1_20C(f32 arg8, f32 arg9, f32 argA, f32 argB) {
|
||||
if (argB <= argA) {
|
||||
return arg9;
|
||||
}
|
||||
return arg8 + ((argA / argB) * (arg9 - arg8));
|
||||
}
|
||||
|
||||
f32 fn_1_234(f32 arg8, f32 arg9, f32 argA) {
|
||||
return (arg9 + (arg8 * (argA - 1.0f))) / argA;
|
||||
}
|
||||
|
||||
//fn_1_254
|
||||
f32 fn_1_254(f32 arg8, f32 arg9, f32 argA, f32 argB) {
|
||||
if (argA >= argB) {
|
||||
return arg9;
|
||||
}
|
||||
return (arg8 + ((arg9 - arg8) * (1.0 - cos((M_PI * ((90.0f / argB) * argA)) / 180.0))));
|
||||
}
|
||||
|
||||
//fn_1_32C
|
||||
f32 fn_1_32C(f32 arg8, f32 arg9, f32 argA, f32 argB) {
|
||||
if (argA >= argB) {
|
||||
return arg9;
|
||||
}
|
||||
return (arg8 + ((arg9 - arg8) * sin((M_PI * ((90.0f / argB) * argA)) / 180.0)));
|
||||
}
|
||||
|
||||
f32 fn_1_3F4(f32 arg8, f32 arg9, f32 argA, f32 argB) {
|
||||
if (argA >= argB) {
|
||||
return arg8;
|
||||
}
|
||||
return (arg8 + ((arg9 - arg8) * sin((M_PI * ((360.0f / argB) * argA)) / 180.0)));
|
||||
}
|
||||
|
||||
void fn_1_4B0(s32 arg0) {
|
||||
HuPrcSleep(arg0);
|
||||
}
|
||||
|
||||
void fn_1_4D8(void) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
void fn_1_4F8(void) {
|
||||
while (1) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_50C(void) {
|
||||
s32 temp_r3 = 0;
|
||||
|
||||
temp_r3 = Hu3DGLightCreate(0.0f, 700.0f, 1200.0f, 0.0f, -1.0f, 0.0f, 255, 255, 255);
|
||||
Hu3DGLightPosAimSet(temp_r3, 0.0f, 700.0f, 1200.0f, 0.0f, 0.0f, 640.0f);
|
||||
Hu3DGLightInfinitytSet(temp_r3);
|
||||
}
|
||||
|
||||
void fn_1_5E8(s32 arg0) {
|
||||
Point3d sp24 = {0.0f, 3000.0f, 800.0f};
|
||||
Point3d sp18 = {0.0f, 0.0f, 640.0f};
|
||||
Point3d spC = {0.0f, 1.0f, 0.0f};
|
||||
|
||||
if (arg0 == 3) {
|
||||
sp24.x = sp18.x = 1200.0f;
|
||||
}
|
||||
Hu3DShadowCreate(45.0f, 2000.0f, 25000.0f);
|
||||
Hu3DShadowTPLvlSet(0.8f);
|
||||
Hu3DShadowPosSet(&sp24, &spC, &sp18);
|
||||
}
|
||||
|
||||
void fn_1_6D0(void) {
|
||||
HuWinInit(1);
|
||||
}
|
||||
|
||||
void fn_1_6F4(s32 window, f32 centerX, f32 centerY, s32 toSmallF)
|
||||
{
|
||||
WindowData* winPtr;
|
||||
f32 smallPosX;
|
||||
f32 smallPosY;
|
||||
f32 winPosX;
|
||||
f32 winPosY;
|
||||
f32 width;
|
||||
f32 height;
|
||||
f32 smallScaleX;
|
||||
f32 smallScaleY;
|
||||
f32 posX;
|
||||
f32 posY;
|
||||
f32 scaleX;
|
||||
f32 scaleY;
|
||||
s32 time;
|
||||
|
||||
winPtr = (WindowData *)&winData[window];
|
||||
winPosX = winPtr->pos_x;
|
||||
winPosY = winPtr->pos_y;
|
||||
width = winPtr->w;
|
||||
height = winPtr->h;
|
||||
smallPosX = winPosX + (width * centerX);
|
||||
smallScaleX = 4.0f / width;
|
||||
|
||||
// adjust horizontal position
|
||||
if (((4.0f + smallPosX) - (winPosX + width)) >= 0.0f) {
|
||||
smallPosX = (winPosX + width) - 4.0f;
|
||||
} else {
|
||||
if ((winPosX - (smallPosX - 2.0f)) >= 0.0f) {
|
||||
smallPosX = winPosX;
|
||||
} else {
|
||||
smallPosX = smallPosX - 2.0f;
|
||||
}
|
||||
}
|
||||
|
||||
smallPosY = winPosY + (height * centerY);
|
||||
smallScaleY = 4.0f / height;
|
||||
|
||||
// adjust vertical position
|
||||
if (((4.0f + smallPosY) - (winPosY + height)) >= 0.0f) {
|
||||
smallPosY = (winPosY + height) - 4.0f;
|
||||
} else {
|
||||
if ((winPosY - (smallPosY - 2.0f)) >= 0.0f) {
|
||||
smallPosY = winPosY;
|
||||
} else {
|
||||
smallPosY = smallPosY - 2.0f;
|
||||
}
|
||||
}
|
||||
|
||||
if (toSmallF != 0) {
|
||||
HuWinPosSet(window, smallPosX, smallPosY);
|
||||
HuWinScaleSet(window, smallScaleX, smallScaleY);
|
||||
posX = smallPosX;
|
||||
scaleX = smallScaleX;
|
||||
posY = smallPosY;
|
||||
scaleY = smallScaleY;
|
||||
} else {
|
||||
HuWinPosSet(window, winPosX, winPosY);
|
||||
HuWinScaleSet(window, 1.0f, 1.0f);
|
||||
posX = winPosX;
|
||||
scaleX = 1.0f;
|
||||
posY = winPosY;
|
||||
scaleY = 1.0f;
|
||||
}
|
||||
HuWinDispOn(window);
|
||||
|
||||
// animation loop
|
||||
for (time = 0; time <= 15; ++time) {
|
||||
HuPrcVSleep();
|
||||
if (toSmallF != 0) {
|
||||
if (time <= 0xA) {
|
||||
posX = (time >= 10.0f) ? winPosX : (f32)(smallPosX + ((winPosX - smallPosX) * sind(9.0f * time)));
|
||||
scaleX = (time >= 10.0f) ? 1.0f : (f32)(smallScaleX + ((1.0f - smallScaleX) * sind(9.0f * time)));
|
||||
} else {
|
||||
posY = ((time - 0xA) >= 5.0f) ? winPosY : (f32)(smallPosY + ((winPosY - smallPosY) * sind(18.0f * (time - 0xA))));
|
||||
scaleY = ((time - 0xA) >= 5.0f) ? 1.0f : (f32)(smallScaleY + ((1.0f - smallScaleY) * sind(18.0f * (time - 0xA))));
|
||||
}
|
||||
} else if (time <= 0xA) {
|
||||
posY = (time >= 10.0f) ? smallPosY : (f32)(winPosY + ((smallPosY - winPosY) * sind(9.0f * time)));
|
||||
scaleY = (time >= 10.0f) ? smallScaleY : (f32)(1.0 + ((smallScaleY - 1.0f) * sind(9.0f * time)));
|
||||
} else {
|
||||
posX = ((time - 0xA) >= 5.0f) ? smallPosX : (f32)(winPosX + ((smallPosX - winPosX) * sind(18.0f * (time - 0xA))));
|
||||
scaleX = ((time - 0xA) >= 5.0f) ? smallScaleX : (f32)(1.0 + ((smallScaleX - 1.0f) * sind(18.0f * (time - 0xA))));
|
||||
}
|
||||
HuWinPosSet(window, posX, posY);
|
||||
HuWinScaleSet(window, scaleX, scaleY);
|
||||
}
|
||||
|
||||
if (toSmallF != 0) {
|
||||
HuWinPosSet(window, winPosX, winPosY);
|
||||
HuWinScaleSet(window, 1.0f, 1.0f);
|
||||
} else {
|
||||
HuWinPosSet(window, smallPosX, smallPosY);
|
||||
HuWinScaleSet(window, smallScaleX, smallScaleY);
|
||||
}
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
s32 fn_1_113C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, f32 arg8, f32 arg9, s32 arg6, s32 arg4, s32 arg5) {
|
||||
f32 sp14[2];
|
||||
s32 temp_r30;
|
||||
|
||||
if (arg6 % 2 == 0) {
|
||||
arg2 = (arg2 * 0x15) + 0x10;
|
||||
arg3 = (arg3 * 0x1A) + 0x10;
|
||||
arg1 = (445.0f - arg3);
|
||||
switch (arg0) {
|
||||
case -1:
|
||||
arg0 = 0x10;
|
||||
break;
|
||||
case 0:
|
||||
arg0 = (1.0f + ((576.0f - arg2) / 2));
|
||||
break;
|
||||
case 1:
|
||||
arg0 = (556.0f - arg2);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
HuWinMesMaxSizeGet(1, sp14, arg5);
|
||||
arg2 = sp14[0];
|
||||
arg3 = sp14[1];
|
||||
arg0 = (556.0f - arg2);
|
||||
arg1 = (445.0f - arg3);
|
||||
}
|
||||
temp_r30 = HuWinExCreateStyled(arg0, arg1, arg2, arg3, -1, 1);
|
||||
if (arg6 == 1) {
|
||||
HuWinAttrSet(temp_r30, 0x10U);
|
||||
}
|
||||
HuWinMesPalSet(temp_r30, 7U, 0U, 0U, 0U);
|
||||
winData[temp_r30].active_pad = 1;
|
||||
fn_1_6F4(temp_r30, arg8, arg9, 1);
|
||||
return temp_r30;
|
||||
}
|
||||
|
||||
s32 fn_1_1434(s32 arg0, s32 arg1, s32 arg2) {
|
||||
return fn_1_113C(arg0, 0, 0x15, 2, 0.5f, 0.5f, 2, 0, 0);
|
||||
}
|
||||
|
||||
void fn_1_164C(s32 arg0, f32 arg8, f32 arg9) {
|
||||
HuWinMesSet(arg0, 0x250004);
|
||||
HuPrcVSleep();
|
||||
fn_1_6F4(arg0, arg8, arg9, 0);
|
||||
HuWinExCleanup(arg0);
|
||||
}
|
||||
|
||||
void fn_1_16AC(s32 arg0) {
|
||||
HuWinMesSet(arg0, 0x250004);
|
||||
HuPrcVSleep();
|
||||
fn_1_6F4(arg0, 0.5f, 0.5f, 0);
|
||||
HuWinExCleanup(arg0);
|
||||
}
|
||||
|
||||
void fn_1_1714(s32 arg0, s32 arg1) {
|
||||
if ((arg1 == -999) || (arg1 == 0)) {
|
||||
return;
|
||||
}
|
||||
if (arg1 == -1000) {
|
||||
do {
|
||||
HuPrcVSleep();
|
||||
} while (HuWinStatGet(arg0) == 1);
|
||||
return;
|
||||
}
|
||||
if (arg1 > 0) {
|
||||
HuPrcSleep(arg1);
|
||||
return;
|
||||
}
|
||||
HuWinComKeyReset();
|
||||
HuWinMesWait(arg0);
|
||||
HuWinComKeyReset();
|
||||
}
|
||||
|
||||
void fn_1_17A4(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||
s32 i;
|
||||
s32 temp_r28 = 0;
|
||||
s32 var_r30 = 0;
|
||||
|
||||
(void)arg0;
|
||||
|
||||
temp_r28 = HuWinKeyWaitNumGet(arg1);
|
||||
if ((arg2 == -1) || (arg2 >= (s32) (temp_r28 - 1))) {
|
||||
arg2 = temp_r28 - 1;
|
||||
}
|
||||
HuWinComKeyReset();
|
||||
for (i = 0; i < temp_r28; i++) {
|
||||
var_r30 = 0;
|
||||
do {
|
||||
HuPrcVSleep();
|
||||
} while (HuWinStatGet(arg0) != 1);
|
||||
|
||||
if (i == arg2) {
|
||||
HuWinAttrSet(arg0, 0x400);
|
||||
var_r30 = 1;
|
||||
}
|
||||
|
||||
while (1) {
|
||||
HuPrcVSleep();
|
||||
if (var_r30 != 0) {
|
||||
if (var_r30 == 1 && HuWinStatGet(arg0) != 1) {
|
||||
var_r30 = 2;
|
||||
} else if (var_r30 == 2) {
|
||||
HuPrcSleep(arg3);
|
||||
HuWinAttrReset(arg0, 0x400);
|
||||
HuWinKeyWaitEntry(arg0);
|
||||
break;
|
||||
}
|
||||
} else if (HuWinStatGet(arg0) != 1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
HuWinComKeyReset();
|
||||
HuWinMesWait(arg0);
|
||||
HuWinComKeyReset();
|
||||
HuWinComKeyReset();
|
||||
}
|
||||
|
||||
s32 fn_1_18D8(s32 arg0, s32 arg1) {
|
||||
s32 temp_r31;
|
||||
|
||||
HuWinComKeyReset();
|
||||
temp_r31 = HuWinChoiceGet(arg0, arg1);
|
||||
HuWinComKeyReset();
|
||||
return temp_r31;
|
||||
}
|
||||
|
||||
void fn_1_1928(s32 arg0, s32 arg1, s32 arg2) {
|
||||
HuWinInsertMesSet(arg0, arg1, arg2);
|
||||
}
|
||||
|
||||
void fn_1_1968(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||
if (arg3 == -999) {
|
||||
HuWinMesSpeedSet(arg0, 0);
|
||||
} else {
|
||||
HuWinMesSpeedSet(arg0, 1);
|
||||
}
|
||||
HuWinMesSet(arg0, arg1);
|
||||
if (arg2 == -1) {
|
||||
if ((arg3 != -999) && (arg3 != 0)) {
|
||||
if (arg3 == -1000) {
|
||||
do {
|
||||
HuPrcVSleep();
|
||||
} while (HuWinStatGet(arg0) == 1);
|
||||
return;
|
||||
}
|
||||
if (arg3 > 0) {
|
||||
HuPrcSleep(arg3);
|
||||
return;
|
||||
}
|
||||
HuWinComKeyReset();
|
||||
HuWinMesWait(arg0);
|
||||
HuWinComKeyReset();
|
||||
}
|
||||
} else {
|
||||
fn_1_17A4(arg0, arg1, arg2, arg3);
|
||||
}
|
||||
}
|
||||
|
||||
s32 fn_1_1A5C(s32 arg0, s32 arg1, s32 arg2) {
|
||||
s32 var_r28;
|
||||
s32 var_r25 = 0;
|
||||
|
||||
var_r28 = fn_1_113C(0, 0, 0, 0, 0.5f, 0.5f, arg1, 0, arg0);
|
||||
HuWinMesSet(var_r28, arg0);
|
||||
var_r25 = fn_1_18D8(var_r28, 0);
|
||||
fn_1_164C(var_r28, 0.5f, 0.5f);
|
||||
return var_r25;
|
||||
}
|
||||
|
||||
s32 fn_1_1DD8(s32 arg0, s32 arg1, s32 arg2) {
|
||||
s32 var_r28;
|
||||
s32 var_r25 = 0;
|
||||
|
||||
var_r28 = fn_1_113C(0, 0, 0, 0, 0.5f, 0.5f, arg1, 0, arg0);
|
||||
HuWinMesSet(var_r28, arg0);
|
||||
var_r25 = fn_1_18D8(var_r28, 1);
|
||||
fn_1_164C(var_r28, 0.5f, 0.5f);
|
||||
return var_r25;
|
||||
}
|
||||
|
||||
s32 fn_1_2154(s32 arg0) {
|
||||
f32 sp8[2];
|
||||
f32 temp_f29;
|
||||
f32 temp_f28;
|
||||
s32 ret;
|
||||
f32 sizeX;
|
||||
f32 sizeY;
|
||||
|
||||
HuWinMesMaxSizeGet(1, sp8, arg0);
|
||||
sizeX = sp8[0];
|
||||
sizeY = sp8[1];
|
||||
temp_f29 = (576.0f - sizeX) / 2;
|
||||
temp_f28 = 385.0f - sizeY;
|
||||
if (lbl_1_data_70 == -1) {
|
||||
lbl_1_data_70 = ret = HuWinExCreateStyled(temp_f29, temp_f28, sizeX, sizeY, -1, 1);
|
||||
} else {
|
||||
fn_1_2318(0);
|
||||
lbl_1_data_70 = ret = HuWinExCreateStyled(temp_f29, temp_f28, sizeX, sizeY, -1, 1);
|
||||
}
|
||||
HuWinBGTPLvlSet(lbl_1_data_70, 0.0f);
|
||||
HuWinMesSet(lbl_1_data_70, arg0);
|
||||
HuWinMesSpeedSet(lbl_1_data_70, 0);
|
||||
HuWinDispOn(lbl_1_data_70);
|
||||
return lbl_1_data_70;
|
||||
}
|
||||
|
||||
void fn_1_2318(s32 arg0) {
|
||||
if (lbl_1_data_70 != -1) {
|
||||
HuWinExCleanup(lbl_1_data_70);
|
||||
lbl_1_data_70 = -1;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_236C(f32 arg9) {
|
||||
MentDllUnkBss64Struct* temp = &lbl_1_bss_64;
|
||||
|
||||
if ((HuPadBtn[0] & 0x200)) {
|
||||
if ((HuPadBtn[0] & 0x20)) {
|
||||
temp->center.z = temp->center.z - (HuPadStkY[0] / 10.0f);
|
||||
} else {
|
||||
temp->center.x += HuPadStkX[0] / 10.0f;
|
||||
temp->center.y = temp->center.y + (HuPadStkY[0] / 10.0f);
|
||||
}
|
||||
}
|
||||
if ((HuPadBtn[0] & 0x800)) {
|
||||
temp->rot.x -= HuPadStkY[0] / 100.0f;
|
||||
temp->rot.y = temp->rot.y + (HuPadStkX[0] / 100.0f);
|
||||
if (temp->rot.x < 0.0f) {
|
||||
temp->rot.x += 360.0f;
|
||||
}
|
||||
|
||||
if (temp->rot.x >= 360.0f) {
|
||||
temp->rot.x -= 360.0f;
|
||||
}
|
||||
if (temp->rot.y < 0.0f) {
|
||||
temp->rot.y += 360.0f;
|
||||
}
|
||||
if (temp->rot.y >= 360.0f) {
|
||||
temp->rot.y -= 360.0f;
|
||||
}
|
||||
}
|
||||
if ((HuPadBtn[0] & 0x400)) {
|
||||
temp->zoom = temp->zoom - (HuPadStkY[0] / 10.0f);
|
||||
}
|
||||
print8(0x18, 0x28, 1.0f, ">>>>>>>>>> CAMERA DATA <<<<<<<<<<");
|
||||
print8(0x18, 0x32, 1.0f, "CENTER : %.2f, %.2f, %.2f", temp->center.x, temp->center.y, temp->center.z);
|
||||
print8(0x18, 0x3C, 1.0f, "ROT : %.2f, %.2f, %.2f", temp->rot.x, temp->rot.y, temp->rot.z);
|
||||
print8(0x18, 0x46, 1.0f, "ZOOM : %.2f", temp->zoom);
|
||||
}
|
||||
|
||||
void fn_1_2750(omObjData* obj) {
|
||||
MentDllUnkBss64Struct* temp = &lbl_1_bss_64;
|
||||
if (temp->func != NULL) {
|
||||
temp->func();
|
||||
}
|
||||
Center.x = temp->center.x;
|
||||
Center.y = temp->center.y;
|
||||
Center.z = temp->center.z;
|
||||
CRot.x = temp->rot.x;
|
||||
CRot.y = temp->rot.y;
|
||||
CRot.z = temp->rot.z;
|
||||
CZoom = temp->zoom;
|
||||
}
|
||||
|
||||
void fn_1_2808(void (*arg0)(void)) {
|
||||
fn_1_29A0(&lbl_1_bss_64);
|
||||
lbl_1_bss_64.func = arg0;
|
||||
}
|
||||
|
||||
void fn_1_2844(Process* arg0, void (*arg1)(void)) {
|
||||
Hu3DCameraCreate(1);
|
||||
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||
Hu3DCameraPerspectiveSet(1, 42.0f, 20.0f, 5000.0f, 1.2f);
|
||||
lbl_1_bss_64.func = arg1;
|
||||
lbl_1_bss_64.func2 = &fn_1_236C;
|
||||
omAddObjEx(arg0, 0x7FDA, 0U, 0U, -1, omOutView);
|
||||
omAddObjEx(arg0, 0x7FD9, 0U, 0U, -1, fn_1_2750);
|
||||
}
|
||||
|
||||
void fn_1_2964(MentDllUnkBss64Struct* arg0) {
|
||||
arg0->center.x = arg0->prevCenter.x;
|
||||
arg0->center.y = arg0->prevCenter.y;
|
||||
arg0->center.z = arg0->prevCenter.z;
|
||||
arg0->rot.x = arg0->prevRot.x;
|
||||
arg0->rot.y = arg0->prevRot.y;
|
||||
arg0->rot.z = arg0->prevRot.z;
|
||||
arg0->zoom = arg0->prevZoom;
|
||||
}
|
||||
|
||||
void fn_1_29A0(MentDllUnkBss64Struct* arg0) {
|
||||
arg0->unk_40 = 0.0f;
|
||||
arg0->prevCenter.x = arg0->center.x;
|
||||
arg0->prevCenter.y = arg0->center.y;
|
||||
arg0->prevCenter.z = arg0->center.z;
|
||||
arg0->prevRot.x = arg0->rot.x;
|
||||
arg0->prevRot.y = arg0->rot.y;
|
||||
arg0->prevRot.z = arg0->rot.z;
|
||||
arg0->prevZoom = arg0->zoom;
|
||||
}
|
||||
|
||||
static inline f32 SmoothInterpolate(f32 arg0, f32 arg1, f32 arg2) {
|
||||
return (arg1 + arg0 * (arg2 - 1.0f)) / arg2;
|
||||
}
|
||||
|
||||
void fn_1_29E4(MentDllUnkBss64Struct* arg0, MentDllUnkBss64Struct* arg1, f32 arg8) {
|
||||
arg0->center.x = SmoothInterpolate(arg0->center.x, arg1->prevCenter.x, arg8);
|
||||
arg0->center.y = SmoothInterpolate(arg0->center.y, arg1->prevCenter.y, arg8);
|
||||
arg0->center.z = SmoothInterpolate(arg0->center.z, arg1->prevCenter.z, arg8);
|
||||
arg0->rot.x = SmoothInterpolate(arg0->rot.x, arg1->prevRot.x, arg8);
|
||||
arg0->rot.y = SmoothInterpolate(arg0->rot.y, arg1->prevRot.y, arg8);
|
||||
arg0->rot.z = SmoothInterpolate(arg0->rot.z, arg1->prevRot.z, arg8);
|
||||
arg0->zoom = SmoothInterpolate(arg0->zoom, arg1->prevZoom, arg8);
|
||||
}
|
||||
|
||||
void fn_1_2C50(MentDllUnkBss64Struct* arg0, f32 arg8) {
|
||||
arg0->center.x = SmoothInterpolate(arg0->center.x, arg0->prevCenter.x, arg8);
|
||||
arg0->center.y = SmoothInterpolate(arg0->center.y, arg0->prevCenter.y, arg8);
|
||||
arg0->center.z = SmoothInterpolate(arg0->center.z, arg0->prevCenter.z, arg8);
|
||||
arg0->rot.x = SmoothInterpolate(arg0->rot.x, arg0->prevRot.x, arg8);
|
||||
arg0->rot.y = SmoothInterpolate(arg0->rot.y, arg0->prevRot.y, arg8);
|
||||
arg0->rot.z = SmoothInterpolate(arg0->rot.z, arg0->prevRot.z, arg8);
|
||||
arg0->zoom = SmoothInterpolate(arg0->zoom, arg0->prevZoom, arg8);
|
||||
}
|
||||
|
||||
inline f32 LinearInterpolation(f32 arg0, f32 arg1, f32 arg8, f32 arg9) {
|
||||
if (arg9 <= arg8) {
|
||||
return arg1;
|
||||
} else {
|
||||
return arg0 + ((arg8 / arg9) * (arg1 - arg0));
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2EBC(MentDllUnkBss64Struct* arg0, MentDllUnkBss64Struct* arg1, f32 arg8, f32 arg9) {
|
||||
arg1->prevCenter.x = LinearInterpolation(arg0->prevCenter.x, arg1->center.x, arg8, arg9);
|
||||
arg1->prevCenter.y = LinearInterpolation(arg0->prevCenter.y, arg1->center.y, arg8, arg9);
|
||||
arg1->prevCenter.z = LinearInterpolation(arg0->prevCenter.z, arg1->center.z, arg8, arg9);
|
||||
|
||||
arg1->prevRot.x = LinearInterpolation(arg0->prevRot.x, arg1->rot.x, arg8, arg9);
|
||||
arg1->prevRot.y = LinearInterpolation(arg0->prevRot.y, arg1->rot.y, arg8, arg9);
|
||||
arg1->prevRot.z = LinearInterpolation(arg0->prevRot.z, arg1->rot.z, arg8, arg9);
|
||||
|
||||
arg1->prevZoom = LinearInterpolation(arg0->prevZoom, arg1->zoom, arg8, arg9);
|
||||
}
|
||||
|
||||
void fn_1_3138(MentDllUnkBss64Struct* arg0, MentDllUnkBss64Struct* arg1, f32 arg8, f32 arg9) {
|
||||
arg1->prevCenter.x = LinearInterpolation(arg0->prevCenter.x, arg1->center.x, arg8, arg9);
|
||||
arg1->prevCenter.y = LinearInterpolation(arg0->prevCenter.y, arg1->center.y, arg8, arg9);
|
||||
arg1->prevCenter.z = LinearInterpolation(arg0->prevCenter.z, arg1->center.z, arg8, arg9);
|
||||
|
||||
arg1->prevRot.x = LinearInterpolation(arg0->prevRot.x, arg1->rot.x, arg8, arg9);
|
||||
arg1->prevRot.y = LinearInterpolation(arg0->prevRot.y, arg1->rot.y, arg8, arg9);
|
||||
arg1->prevRot.z = LinearInterpolation(arg0->prevRot.z, arg1->rot.z, arg8, arg9);
|
||||
|
||||
arg1->prevZoom = LinearInterpolation(arg0->prevZoom, arg1->zoom, arg8, arg9);
|
||||
|
||||
arg0->center.x = arg1->prevCenter.x;
|
||||
arg0->center.y = arg1->prevCenter.y;
|
||||
arg0->center.z = arg1->prevCenter.z;
|
||||
arg0->rot.x = arg1->prevRot.x;
|
||||
arg0->rot.y = arg1->prevRot.y;
|
||||
arg0->rot.z = arg1->prevRot.z;
|
||||
arg0->zoom = arg1->prevZoom;
|
||||
}
|
||||
|
||||
void fn_1_33EC(MentDllUnkBss64Struct* arg0, MentDllUnkBss64Struct* arg1, f32 arg8, f32 arg9, f32 argA) {
|
||||
arg1->prevCenter.x = LinearInterpolation(arg0->prevCenter.x, arg1->center.x, arg8, arg9);
|
||||
arg1->prevCenter.y = LinearInterpolation(arg0->prevCenter.y, arg1->center.y, arg8, arg9);
|
||||
arg1->prevCenter.z = LinearInterpolation(arg0->prevCenter.z, arg1->center.z, arg8, arg9);
|
||||
|
||||
arg1->prevRot.x = LinearInterpolation(arg0->prevRot.x, arg1->rot.x, arg8, arg9);
|
||||
arg1->prevRot.y = LinearInterpolation(arg0->prevRot.y, arg1->rot.y, arg8, arg9);
|
||||
arg1->prevRot.z = LinearInterpolation(arg0->prevRot.z, arg1->rot.z, arg8, arg9);
|
||||
|
||||
arg1->prevZoom = LinearInterpolation(arg0->prevZoom, arg1->zoom, arg8, arg9);
|
||||
|
||||
arg0->center.x = SmoothInterpolate(arg0->center.x, arg1->prevCenter.x, argA);
|
||||
arg0->center.y = SmoothInterpolate(arg0->center.y, arg1->prevCenter.y, argA);
|
||||
arg0->center.z = SmoothInterpolate(arg0->center.z, arg1->prevCenter.z, argA);
|
||||
|
||||
arg0->rot.x = SmoothInterpolate(arg0->rot.x, arg1->prevRot.x, argA);
|
||||
arg0->rot.y = SmoothInterpolate(arg0->rot.y, arg1->prevRot.y, argA);
|
||||
arg0->rot.z = SmoothInterpolate(arg0->rot.z, arg1->prevRot.z, argA);
|
||||
|
||||
arg0->zoom = SmoothInterpolate(arg0->zoom, arg1->prevZoom, argA);
|
||||
}
|
||||
|
||||
void fn_1_3858(MentDllUnkBss64Struct* arg0, MentDllUnkBss64Struct* arg1, f32 arg8, f32 arg9) {
|
||||
arg1->prevCenter.x = fn_1_32C(arg0->prevCenter.x, arg1->center.x, arg8, arg9);
|
||||
arg1->prevCenter.y = fn_1_32C(arg0->prevCenter.y, arg1->center.y, arg8, arg9);
|
||||
arg1->prevCenter.z = fn_1_32C(arg0->prevCenter.z, arg1->center.z, arg8, arg9);
|
||||
|
||||
arg1->prevRot.x = fn_1_32C(arg0->prevRot.x, arg1->rot.x, arg8, arg9);
|
||||
arg1->prevRot.y = fn_1_32C(arg0->prevRot.y, arg1->rot.y, arg8, arg9);
|
||||
arg1->prevRot.z = fn_1_32C(arg0->prevRot.z, arg1->rot.z, arg8, arg9);
|
||||
|
||||
arg1->prevZoom = fn_1_32C(arg0->prevZoom, arg1->zoom, arg8, arg9);
|
||||
}
|
||||
|
||||
void fn_1_3CAC(MentDllUnkBss64Struct* arg0, MentDllUnkBss64Struct* arg1, f32 arg8, f32 arg9) {
|
||||
arg1->prevCenter.x = fn_1_32C(arg0->prevCenter.x, arg1->center.x, arg8, arg9);
|
||||
arg1->prevCenter.y = fn_1_32C(arg0->prevCenter.y, arg1->center.y, arg8, arg9);
|
||||
arg1->prevCenter.z = fn_1_32C(arg0->prevCenter.z, arg1->center.z, arg8, arg9);
|
||||
|
||||
arg1->prevRot.x = fn_1_32C(arg0->prevRot.x, arg1->rot.x, arg8, arg9);
|
||||
arg1->prevRot.y = fn_1_32C(arg0->prevRot.y, arg1->rot.y, arg8, arg9);
|
||||
arg1->prevRot.z = fn_1_32C(arg0->prevRot.z, arg1->rot.z, arg8, arg9);
|
||||
|
||||
arg1->prevZoom = fn_1_32C(arg0->prevZoom, arg1->zoom, arg8, arg9);
|
||||
|
||||
arg0->center.x = arg1->prevCenter.x;
|
||||
arg0->center.y = arg1->prevCenter.y;
|
||||
arg0->center.z = arg1->prevCenter.z;
|
||||
|
||||
arg0->rot.x = arg1->prevRot.x;
|
||||
arg0->rot.y = arg1->prevRot.y;
|
||||
arg0->rot.z = arg1->prevRot.z;
|
||||
|
||||
arg0->zoom = arg1->prevZoom;
|
||||
}
|
||||
|
||||
void fn_1_4138(MentDllUnkBss64Struct* arg0, MentDllUnkBss64Struct* arg1, f32 arg8, f32 arg9, f32 argA) {
|
||||
arg1->prevCenter.x = fn_1_32C(arg0->prevCenter.x, arg1->center.x, arg8, arg9);
|
||||
arg1->prevCenter.y = fn_1_32C(arg0->prevCenter.y, arg1->center.y, arg8, arg9);
|
||||
arg1->prevCenter.z = fn_1_32C(arg0->prevCenter.z, arg1->center.z, arg8, arg9);
|
||||
|
||||
arg1->prevRot.x = fn_1_32C(arg0->prevRot.x, arg1->rot.x, arg8, arg9);
|
||||
arg1->prevRot.y = fn_1_32C(arg0->prevRot.y, arg1->rot.y, arg8, arg9);
|
||||
arg1->prevRot.z = fn_1_32C(arg0->prevRot.z, arg1->rot.z, arg8, arg9);
|
||||
|
||||
arg1->prevZoom = fn_1_32C(arg0->prevZoom, arg1->zoom, arg8, arg9);
|
||||
|
||||
arg0->center.x = SmoothInterpolate(arg0->center.x, arg1->prevCenter.x, argA);
|
||||
arg0->center.y = SmoothInterpolate(arg0->center.y, arg1->prevCenter.y, argA);
|
||||
arg0->center.z = SmoothInterpolate(arg0->center.z, arg1->prevCenter.z, argA);
|
||||
|
||||
arg0->rot.x = SmoothInterpolate(arg0->rot.x, arg1->prevRot.x, argA);
|
||||
arg0->rot.y = SmoothInterpolate(arg0->rot.y, arg1->prevRot.y, argA);
|
||||
arg0->rot.z = SmoothInterpolate(arg0->rot.z, arg1->prevRot.z, argA);
|
||||
|
||||
arg0->zoom = SmoothInterpolate(arg0->zoom, arg1->prevZoom, argA);
|
||||
}
|
||||
|
||||
void fn_1_4790(MentDllUnkBss64Struct* arg0, MentDllUnkBss64Struct* arg1, f32 arg8, f32 arg9) {
|
||||
arg1->prevCenter.x = fn_1_254(arg0->prevCenter.x, arg1->center.x, arg8, arg9);
|
||||
arg1->prevCenter.y = fn_1_254(arg0->prevCenter.y, arg1->center.y, arg8, arg9);
|
||||
arg1->prevCenter.z = fn_1_254(arg0->prevCenter.z, arg1->center.z, arg8, arg9);
|
||||
|
||||
arg1->prevRot.x = fn_1_254(arg0->prevRot.x, arg1->rot.x, arg8, arg9);
|
||||
arg1->prevRot.y = fn_1_254(arg0->prevRot.y, arg1->rot.y, arg8, arg9);
|
||||
arg1->prevRot.z = fn_1_254(arg0->prevRot.z, arg1->rot.z, arg8, arg9);
|
||||
|
||||
arg1->prevZoom = fn_1_254(arg0->prevZoom, arg1->zoom, arg8, arg9);
|
||||
}
|
||||
|
||||
void fn_1_4C54(MentDllUnkBss64Struct* arg0, MentDllUnkBss64Struct* arg1, f32 arg8, f32 arg9) {
|
||||
arg1->prevCenter.x = fn_1_254(arg0->prevCenter.x, arg1->center.x, arg8, arg9);
|
||||
arg1->prevCenter.y = fn_1_254(arg0->prevCenter.y, arg1->center.y, arg8, arg9);
|
||||
arg1->prevCenter.z = fn_1_254(arg0->prevCenter.z, arg1->center.z, arg8, arg9);
|
||||
|
||||
arg1->prevRot.x = fn_1_254(arg0->prevRot.x, arg1->rot.x, arg8, arg9);
|
||||
arg1->prevRot.y = fn_1_254(arg0->prevRot.y, arg1->rot.y, arg8, arg9);
|
||||
arg1->prevRot.z = fn_1_254(arg0->prevRot.z, arg1->rot.z, arg8, arg9);
|
||||
|
||||
arg1->prevZoom = fn_1_254(arg0->prevZoom, arg1->zoom, arg8, arg9);
|
||||
|
||||
arg0->center.x = arg1->prevCenter.x;
|
||||
arg0->center.y = arg1->prevCenter.y;
|
||||
arg0->center.z = arg1->prevCenter.z;
|
||||
|
||||
arg0->rot.x = arg1->prevRot.x;
|
||||
arg0->rot.y = arg1->prevRot.y;
|
||||
arg0->rot.z = arg1->prevRot.z;
|
||||
|
||||
arg0->zoom = arg1->prevZoom;
|
||||
}
|
||||
|
||||
void fn_1_5150(MentDllUnkBss64Struct* arg0, MentDllUnkBss64Struct* arg1, f32 arg8, f32 arg9, f32 argA) {
|
||||
arg1->prevCenter.x = fn_1_254(arg0->prevCenter.x, arg1->center.x, arg8, arg9);
|
||||
arg1->prevCenter.y = fn_1_254(arg0->prevCenter.y, arg1->center.y, arg8, arg9);
|
||||
arg1->prevCenter.z = fn_1_254(arg0->prevCenter.z, arg1->center.z, arg8, arg9);
|
||||
|
||||
arg1->prevRot.x = fn_1_254(arg0->prevRot.x, arg1->rot.x, arg8, arg9);
|
||||
arg1->prevRot.y = fn_1_254(arg0->prevRot.y, arg1->rot.y, arg8, arg9);
|
||||
arg1->prevRot.z = fn_1_254(arg0->prevRot.z, arg1->rot.z, arg8, arg9);
|
||||
|
||||
arg1->prevZoom = fn_1_254(arg0->prevZoom, arg1->zoom, arg8, arg9);
|
||||
|
||||
arg0->center.x = SmoothInterpolate(arg0->center.x, arg1->prevCenter.x, argA);
|
||||
arg0->center.y = SmoothInterpolate(arg0->center.y, arg1->prevCenter.y, argA);
|
||||
arg0->center.z = SmoothInterpolate(arg0->center.z, arg1->prevCenter.z, argA);
|
||||
|
||||
arg0->rot.x = SmoothInterpolate(arg0->rot.x, arg1->prevRot.x, argA);
|
||||
arg0->rot.y = SmoothInterpolate(arg0->rot.y, arg1->prevRot.y, argA);
|
||||
arg0->rot.z = SmoothInterpolate(arg0->rot.z, arg1->prevRot.z, argA);
|
||||
|
||||
arg0->zoom = SmoothInterpolate(arg0->zoom, arg1->prevZoom, argA);
|
||||
}
|
||||
|
||||
void fn_1_5818(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
switch (arg4) {
|
||||
case 0:
|
||||
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0);
|
||||
break;
|
||||
case 1:
|
||||
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001);
|
||||
break;
|
||||
case 2:
|
||||
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002);
|
||||
break;
|
||||
}
|
||||
arg0->work[0] = arg0->work[1] = arg0->work[2] = 0;
|
||||
}
|
||||
|
||||
void fn_1_59A0(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
if (arg0->work[3] != arg0->motion[arg2]) {
|
||||
arg0->work[3] = arg0->motion[arg2];
|
||||
switch (arg4) {
|
||||
case 0:
|
||||
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0);
|
||||
break;
|
||||
case 1:
|
||||
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001);
|
||||
break;
|
||||
case 2:
|
||||
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002);
|
||||
break;
|
||||
}
|
||||
arg0->work[0] = arg0->work[1] = arg0->work[2] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_5B50(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||
(void)arg1;
|
||||
Hu3DMotionShiftSet(arg0->model[1], arg0->motion[arg1], 0.0f, arg3, 0);
|
||||
arg0->work[0] = arg0->work[1] = arg0->work[2] = 0;
|
||||
arg0->work[0] = 1;
|
||||
arg0->work[1] = arg2;
|
||||
arg0->work[2] = arg3 + 1;
|
||||
}
|
||||
|
||||
void fn_1_5C08(omObjData* arg0) {
|
||||
s32 temp;
|
||||
|
||||
if (arg0->work[0] != 0) {
|
||||
if (arg0->work[2] != 0) {
|
||||
arg0->work[2] -= 1;
|
||||
return;
|
||||
}
|
||||
if ((arg0->work[2] == 0) && (Hu3DMotionEndCheck(arg0->model[1]) != 0)) {
|
||||
temp = arg0->work[1];
|
||||
Hu3DMotionShiftSet(arg0->model[1], arg0->motion[temp], 0.0f, 15.0f, 0x40000001);
|
||||
arg0->work[0] = arg0->work[1] = arg0->work[2] = 0;
|
||||
arg0->work[0] = arg0->work[1] = arg0->work[2] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_5CDC(omObjData* arg0, s32 arg1, s32 arg2) {
|
||||
HuPrcSleep(arg2 + 1);
|
||||
do {
|
||||
HuPrcVSleep();
|
||||
} while (Hu3DMotionEndCheck(arg0->model[arg1]) == 0);
|
||||
}
|
||||
|
||||
void fn_1_5D38(omObjData *arg0, s32 arg1, Vec arg2, float arg8, float arg9, float argA, s32 arg3, s32 arg4)
|
||||
{
|
||||
s32 temp_r29 = 0;
|
||||
s32 temp_r28 = 0;
|
||||
|
||||
Vec sp4C;
|
||||
Vec sp40;
|
||||
Vec sp34;
|
||||
Vec sp28;
|
||||
Vec sp1C;
|
||||
Vec sp10;
|
||||
sp40.x = Hu3DData[arg0->model[arg1]].pos.x;
|
||||
sp40.y = Hu3DData[arg0->model[arg1]].pos.y;
|
||||
sp40.z = Hu3DData[arg0->model[arg1]].pos.z;
|
||||
sp34.x = arg2.x;
|
||||
sp34.y = arg2.y;
|
||||
sp34.z = arg2.z;
|
||||
sp1C.x = Hu3DData[arg0->model[arg1]].rot.x;
|
||||
sp1C.y = Hu3DData[arg0->model[arg1]].rot.y;
|
||||
sp1C.z = Hu3DData[arg0->model[arg1]].rot.z;
|
||||
sp10.x = 0;
|
||||
sp10.y = arg8;
|
||||
sp10.z = 0;
|
||||
if(sp34.x-sp40.x >= 0.0f) {
|
||||
temp_r29 = 1;
|
||||
} else {
|
||||
temp_r29 = 0;
|
||||
}
|
||||
if(sp34.z-sp40.z >= 0.0f) {
|
||||
temp_r28 = 1;
|
||||
} else {
|
||||
temp_r28 = 0;
|
||||
}
|
||||
while(arg3) {
|
||||
fn_1_4D8();
|
||||
sp28.y = -(atan2d(sp34.z-sp40.z, sp34.x-sp40.x)-90);
|
||||
if(sp28.y < 0.0f) {
|
||||
sp28.y += 360.0f;
|
||||
} else if(sp28.y >= 360.0f) {
|
||||
sp28.y -= 360.0f;
|
||||
}
|
||||
if(arg4) {
|
||||
if(sp28.y >= 180.0f) {
|
||||
if(sp1C.y-sp28.y >= 180.0f) {
|
||||
sp1C.y -= 360.0f;
|
||||
}
|
||||
if(sp1C.y-sp28.y < -180.0f) {
|
||||
sp1C.y += 360.0f;
|
||||
}
|
||||
} else {
|
||||
if(sp1C.y-sp28.y > 180.0f) {
|
||||
sp1C.y -= 360.0f;
|
||||
}
|
||||
if(sp1C.y-sp28.y <= -180.0f) {
|
||||
sp1C.y += 360.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
sp4C.x = sp40.x = sp40.x+(arg9*sind(sp28.y));
|
||||
sp4C.z = sp40.z = sp40.z+(arg9*cosd(sp28.y));
|
||||
if(temp_r29 == 1) {
|
||||
if(sp40.x >= sp34.x) {
|
||||
sp4C.x = sp40.x = sp34.x;
|
||||
temp_r29 = 2;
|
||||
}
|
||||
} else if(temp_r29 == 0) {
|
||||
if(sp40.x <= sp34.x) {
|
||||
sp4C.x = sp40.x = sp34.x;
|
||||
temp_r29 = 2;
|
||||
}
|
||||
}
|
||||
if(temp_r28 == 1) {
|
||||
if(sp40.z >= sp34.z) {
|
||||
sp4C.z = sp40.z = sp34.z;
|
||||
temp_r28 = 2;
|
||||
}
|
||||
} else if(temp_r28 == 0) {
|
||||
if(sp40.z <= sp34.z) {
|
||||
sp4C.z = sp40.z = sp34.z;
|
||||
temp_r28 = 2;
|
||||
}
|
||||
}
|
||||
if(arg4) {
|
||||
sp1C.y = fn_1_234(sp1C.y, sp28.y, argA);
|
||||
}
|
||||
Hu3DModelPosSet(arg0->model[arg1], sp4C.x, sp40.y, sp4C.z);
|
||||
Hu3DModelRotSet(arg0->model[arg1], sp1C.x, sp1C.y, sp1C.z);
|
||||
if(temp_r29 == 2 && temp_r28 == 2) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
sp1C.y = Hu3DData[arg0->model[arg1]].rot.y;
|
||||
if(arg4) {
|
||||
s32 temp_r27;
|
||||
for(temp_r27=0; temp_r27<=argA; temp_r27++) {
|
||||
fn_1_4D8();
|
||||
if(sp10.y >= 180.0f) {
|
||||
if(sp1C.y-sp10.y >= 180.0f) {
|
||||
sp1C.y -= 360.0f;
|
||||
}
|
||||
if(sp1C.y-sp10.y < -180.0f) {
|
||||
sp1C.y += 360.0f;
|
||||
}
|
||||
} else {
|
||||
if(sp1C.y-sp10.y > 180.0f) {
|
||||
sp1C.y -= 360.0f;
|
||||
}
|
||||
if(sp1C.y-sp10.y <= -180.0f) {
|
||||
sp1C.y += 360.0f;
|
||||
}
|
||||
}
|
||||
sp10.z = fn_1_20C(sp1C.y, sp10.y, temp_r27, argA);
|
||||
Hu3DModelRotSet(arg0->model[arg1], sp1C.x, sp10.z, sp1C.z);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_6534(s32 grpId, s32 memberNo, float posX, float posY)
|
||||
{
|
||||
HuSprPosSet(grpId, memberNo, posX, posY+0.5f);
|
||||
}
|
||||
|
|
@ -13,7 +13,6 @@
|
|||
#include "game/sprite.h"
|
||||
#include "game/window.h"
|
||||
#include "game/wipe.h"
|
||||
|
||||
#include "REL/mentDll.h"
|
||||
|
||||
typedef struct MentDllUnkBssE4Struct {
|
||||
|
|
@ -156,23 +155,6 @@ void fn_1_C174(s32 arg0);
|
|||
void fn_1_E654(s32 arg0);
|
||||
void fn_1_E71C(s32 arg0);
|
||||
|
||||
s32 lbl_1_data_0[][4] = {
|
||||
{ 0x00000037, 0x00000038, 0x00000036, 0x00000039 },
|
||||
{ 0x00000043, 0x00000045, 0x00000044, 0x00000043 },
|
||||
{ 0x00000040, 0x00000042, 0x00000041, 0x00000040 },
|
||||
{ 0x0000004B, 0x0000004D, 0x0000004C, 0x0000004B },
|
||||
{ 0x00000046, 0x00000048, 0x00000047, 0x00000046 },
|
||||
{ 0x0000003E, 0x0000003F, 0x0000003E, 0x0000003E },
|
||||
{ 0x0000003A, 0x0000003B, 0x0000003C, 0xFFFFFFFF },
|
||||
};
|
||||
|
||||
s32 lbl_1_data_70 = -1;
|
||||
|
||||
char lbl_1_data_74[] = ">>>>>>>>>> CAMERA DATA <<<<<<<<<<";
|
||||
char lbl_1_data_96[] = "CENTER : %.2f, %.2f, %.2f";
|
||||
char lbl_1_data_B0[] = "ROT : %.2f, %.2f, %.2f";
|
||||
char lbl_1_data_CA[] = "ZOOM : %.2f";
|
||||
|
||||
Vec lbl_1_data_D8[6] = {
|
||||
{ 0.0f, 0.0f, 460.0f },
|
||||
{ -240.0f, 0.0f, 460.0f },
|
||||
|
|
@ -204,7 +186,7 @@ s32 lbl_1_bss_A8[8];
|
|||
MentDllUnkBss64Struct lbl_1_bss_64;
|
||||
s32 lbl_1_bss_24[16];
|
||||
s32 lbl_1_bss_14[4];
|
||||
s32 lbl_1_bss_0[5];
|
||||
s32 lbl_1_bss_8[3];
|
||||
|
||||
void fn_1_658C(Process *arg0)
|
||||
{
|
||||
|
|
@ -315,7 +297,7 @@ void fn_1_6C4C(void)
|
|||
s32 var_r28 = 0;
|
||||
{
|
||||
GXColor sp10 = { 0x00, 0x00, 0x80, 0x80 };
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
if (HuPadBtnDown[0] & PAD_TRIGGER_R) {
|
||||
var_r28++;
|
||||
|
|
@ -452,7 +434,7 @@ void fn_1_7218(void)
|
|||
}
|
||||
lbl_1_bss_D8 = 1;
|
||||
HuPrcEnd();
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
|
@ -520,7 +502,7 @@ void fn_1_7684(void)
|
|||
CharARAMOpen(GWPlayerCfg[2].character);
|
||||
CharARAMOpen(GWPlayerCfg[3].character);
|
||||
omOvlCallEx(spC[GWSystem.board], 1, 0, 0);
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
}
|
||||
}
|
||||
|
|
@ -558,18 +540,18 @@ void fn_1_7858(void)
|
|||
|
||||
void fn_1_7900(void)
|
||||
{
|
||||
float sp8[18];
|
||||
MentDllUnkBss64Struct sp8;
|
||||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
sp8[2] = lbl_1_bss_DC;
|
||||
sp8[3] = 60.0f;
|
||||
sp8[4] = 0.0f;
|
||||
sp8[8] = 0.0f;
|
||||
sp8[9] = 0.0f;
|
||||
sp8[10] = 0.0f;
|
||||
sp8[14] = 850.0f;
|
||||
fn_1_4138(var_r31, sp8, var_r31->unk_40++, 10.0f, 5.0f);
|
||||
sp8.center.x = lbl_1_bss_DC;
|
||||
sp8.center.y = 60.0f;
|
||||
sp8.center.z = 0.0f;
|
||||
sp8.rot.x = 0.0f;
|
||||
sp8.rot.y = 0.0f;
|
||||
sp8.rot.z = 0.0f;
|
||||
sp8.zoom = 850.0f;
|
||||
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 10.0f, 5.0f);
|
||||
}
|
||||
|
||||
s32 lbl_1_data_2F0 = -1;
|
||||
|
|
@ -783,7 +765,7 @@ void fn_1_85C8(void)
|
|||
saveExecF = 0;
|
||||
if (GWGameStat.party_continue == 1) {
|
||||
var_r31 = fn_1_1434(0, 0, 0);
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
|
||||
fn_1_1968(var_r31, 0x1A0001, -1, 5);
|
||||
|
|
@ -887,7 +869,7 @@ s32 fn_1_8B68(void)
|
|||
}
|
||||
var_r27 = fn_1_1434(0, 0, 0);
|
||||
HuAudFXPlay(lbl_1_data_0[var_r28][2]);
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
fn_1_4D8();
|
||||
fn_1_5818(lbl_1_bss_33AC[var_r28].unk_00, 1, 4, 0xF, 1);
|
||||
|
|
@ -898,7 +880,7 @@ s32 fn_1_8B68(void)
|
|||
lbl_1_bss_35BC[0].unk_04 = (MentDllUnkFunc)fn_1_1FF4C;
|
||||
var_r25 = 0x63;
|
||||
var_r23 = 0;
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
var_r30 = 0;
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
|
|
@ -1021,7 +1003,7 @@ s32 fn_1_8FB8(void)
|
|||
lbl_1_bss_3114[var_r31].unk_04 = (MentDllUnkFunc)fn_1_15CB4;
|
||||
}
|
||||
}
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
if ((lbl_1_bss_3114[var_r31].unk_60 == 0) && (HuPadBtnDown[lbl_1_bss_3114[var_r31].unk_6C] & PAD_BUTTON_A)) {
|
||||
|
|
@ -1813,7 +1795,7 @@ void fn_1_B654(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
|
|||
case 0:
|
||||
var_r30 = 1;
|
||||
fn_1_14CE0();
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
switch (var_r29) {
|
||||
case 1:
|
||||
|
|
@ -1974,7 +1956,7 @@ void fn_1_C174(s32 arg0)
|
|||
omOvlCallEx(spC[GWSystem.board], 1, 0, 0);
|
||||
break;
|
||||
}
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
}
|
||||
}
|
||||
|
|
@ -2027,7 +2009,7 @@ void fn_1_C4B8(void)
|
|||
return;
|
||||
}
|
||||
var_r31 = fn_1_1434(0, 0, 0);
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
|
||||
fn_1_1968(var_r31, 0x1E0001, -1, 5);
|
||||
|
|
@ -2108,7 +2090,7 @@ void fn_1_C4B8(void)
|
|||
}
|
||||
}
|
||||
}
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
}
|
||||
}
|
||||
|
|
@ -2176,14 +2158,14 @@ s32 fn_1_CD8C(void)
|
|||
sp8 = 0;
|
||||
fn_1_1CF68();
|
||||
var_r31 = fn_1_1434(0, 0, 0);
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
|
||||
fn_1_1968(var_r31, 0x1E005E, -1, -1);
|
||||
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
|
||||
fn_1_2154(0x1A0020);
|
||||
lbl_1_bss_3114->unk_04 = (MentDllUnkFunc)fn_1_1E404;
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
if (lbl_1_bss_3114->unk_70[0] == 1) {
|
||||
var_r30 = 1;
|
||||
break;
|
||||
|
|
@ -2230,7 +2212,7 @@ s32 fn_1_CF8C(void)
|
|||
var_r28 = -1;
|
||||
var_r27 = -1;
|
||||
var_r31 = fn_1_1434(0, 0, 0);
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
|
||||
fn_1_1968(var_r31, 0x1E0009, -1, -1);
|
||||
|
|
@ -2239,7 +2221,7 @@ s32 fn_1_CF8C(void)
|
|||
lbl_1_bss_35BC[1].unk_08[1] = 0;
|
||||
fn_1_1DED8();
|
||||
lbl_1_bss_35BC[0].unk_04 = (MentDllUnkFunc)fn_1_1E8A4;
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
if ((var_r28 != lbl_1_bss_35BC[0].unk_08[0]) || (var_r27 != lbl_1_bss_35BC[0].unk_1C[lbl_1_bss_35BC[0].unk_08[0] - 1])) {
|
||||
var_r28 = lbl_1_bss_35BC[0].unk_08[0];
|
||||
|
|
@ -2679,7 +2661,7 @@ void fn_1_E71C(s32 arg0)
|
|||
HuAudSeqAllFadeOut(0x3E8);
|
||||
HuAudSStreamAllFadeOut(0x3E8);
|
||||
omOvlCallEx(spC[GWSystem.board], 1, 0, 0);
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
}
|
||||
}
|
||||
|
|
@ -2855,7 +2837,7 @@ void fn_1_1053C(void)
|
|||
HuAudFXAllStop();
|
||||
HuAudSStreamAllStop();
|
||||
omOvlGotoEx(OVL_OPTION, 1, 0, 0);
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
}
|
||||
}
|
||||
|
|
@ -2913,7 +2895,7 @@ void fn_1_10C5C(void)
|
|||
HuAudFXAllStop();
|
||||
HuAudSStreamAllStop();
|
||||
omOvlGotoEx(OVL_PRESENT, 1, 0, 0);
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
}
|
||||
}
|
||||
|
|
@ -2988,7 +2970,7 @@ void fn_1_114A0(void)
|
|||
MGSeqKillAll();
|
||||
HuAudFadeOut(1);
|
||||
omOvlReturnEx(1, 1);
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
}
|
||||
}
|
||||
|
|
@ -3033,7 +3015,7 @@ void fn_1_116F4(void)
|
|||
lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_FEAC;
|
||||
break;
|
||||
}
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
if (lbl_1_bss_366C.unk_04 == NULL) {
|
||||
continue;
|
||||
|
|
@ -3208,7 +3190,7 @@ void fn_1_121D8(void)
|
|||
fn_1_18788(lbl_1_bss_35BC, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
if (lbl_1_bss_35BC[var_r30].unk_04 == NULL) {
|
||||
continue;
|
||||
|
|
@ -3343,7 +3325,7 @@ void fn_1_12E40(void)
|
|||
lbl_1_bss_33AC[var_r30].unk_04 = NULL;
|
||||
lbl_1_bss_33AC[var_r30].unk_30 = var_r30;
|
||||
fn_1_12A0C(var_r31, var_r30);
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
if (lbl_1_bss_33AC[var_r30].unk_04 != NULL) {
|
||||
lbl_1_bss_33AC[var_r30].unk_04(var_r31, &lbl_1_bss_33AC[var_r30]);
|
||||
|
|
@ -3376,7 +3358,7 @@ void fn_1_134A8(void)
|
|||
lbl_1_bss_3354.unk_00 = var_r31;
|
||||
lbl_1_bss_3354.unk_04 = NULL;
|
||||
fn_1_13348(var_r31);
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
if (lbl_1_bss_3354.unk_04 != NULL) {
|
||||
lbl_1_bss_3354.unk_04(var_r31, &lbl_1_bss_3354);
|
||||
|
|
@ -3461,7 +3443,7 @@ void fn_1_13970(void)
|
|||
else {
|
||||
fn_1_1368C(var_r27, var_r26);
|
||||
}
|
||||
while (TRUE) {
|
||||
while (1) {
|
||||
fn_1_4D8();
|
||||
if (lbl_1_bss_3114[var_r26].unk_04 == NULL) {
|
||||
continue;
|
||||
|
|
@ -3475,29 +3457,29 @@ void fn_1_13D60(void)
|
|||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
var_r31->unk_08 = 0.0f;
|
||||
var_r31->unk_0C = 0.0f;
|
||||
var_r31->unk_10 = 0.0f;
|
||||
var_r31->unk_20 = -10.0f;
|
||||
var_r31->unk_24 = 0.0f;
|
||||
var_r31->unk_28 = 0.0f;
|
||||
var_r31->unk_38 = 2900.0f;
|
||||
var_r31->center.x = 0.0f;
|
||||
var_r31->center.y = 0.0f;
|
||||
var_r31->center.z = 0.0f;
|
||||
var_r31->rot.x = -10.0f;
|
||||
var_r31->rot.y = 0.0f;
|
||||
var_r31->rot.z = 0.0f;
|
||||
var_r31->zoom = 2900.0f;
|
||||
}
|
||||
|
||||
void fn_1_13DEC(void)
|
||||
{
|
||||
float sp8[18];
|
||||
MentDllUnkBss64Struct sp8;
|
||||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
sp8[2] = 0.0f;
|
||||
sp8[3] = 0.0f;
|
||||
sp8[4] = 0.0f;
|
||||
sp8[8] = -10.0f;
|
||||
sp8[9] = 0.0f;
|
||||
sp8[10] = 0.0f;
|
||||
sp8[14] = 1150.0f;
|
||||
fn_1_4138(var_r31, sp8, var_r31->unk_40++, 180.0f, 15.0f);
|
||||
sp8.center.x = 0.0f;
|
||||
sp8.center.y = 0.0f;
|
||||
sp8.center.z = 0.0f;
|
||||
sp8.rot.x = -10.0f;
|
||||
sp8.rot.y = 0.0f;
|
||||
sp8.rot.z = 0.0f;
|
||||
sp8.zoom = 1150.0f;
|
||||
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 180.0f, 15.0f);
|
||||
}
|
||||
|
||||
void fn_1_13EDC(void)
|
||||
|
|
@ -3505,98 +3487,98 @@ void fn_1_13EDC(void)
|
|||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
var_r31->unk_08 = 0.0f;
|
||||
var_r31->unk_0C = 0.0f;
|
||||
var_r31->unk_10 = 0.0f;
|
||||
var_r31->unk_20 = -10.0f;
|
||||
var_r31->unk_24 = 0.0f;
|
||||
var_r31->unk_28 = 0.0f;
|
||||
var_r31->unk_38 = 2900.0f;
|
||||
var_r31->center.x = 0.0f;
|
||||
var_r31->center.y = 215.0f;
|
||||
var_r31->center.z = 0.0f;
|
||||
var_r31->rot.x = 0.0f;
|
||||
var_r31->rot.y = 0.0f;
|
||||
var_r31->rot.z = 0.0f;
|
||||
var_r31->zoom = 1600.0f;
|
||||
}
|
||||
|
||||
void fn_1_13F68(void)
|
||||
{
|
||||
float sp8[18];
|
||||
MentDllUnkBss64Struct sp8;
|
||||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
sp8[2] = 0.0f;
|
||||
sp8[3] = 215.0f;
|
||||
sp8[4] = 0.0f;
|
||||
sp8[8] = 0.0f;
|
||||
sp8[9] = 0.0f;
|
||||
sp8[10] = 0.0f;
|
||||
sp8[14] = 1600.0f;
|
||||
fn_1_4138(var_r31, sp8, var_r31->unk_40++, 60.0f, 10.0f);
|
||||
sp8.center.x = 0.0f;
|
||||
sp8.center.y = 215.0f;
|
||||
sp8.center.z = 0.0f;
|
||||
sp8.rot.x = 0.0f;
|
||||
sp8.rot.y = 0.0f;
|
||||
sp8.rot.z = 0.0f;
|
||||
sp8.zoom = 1600.0f;
|
||||
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 60.0f, 10.0f);
|
||||
}
|
||||
|
||||
void fn_1_14058(void)
|
||||
{
|
||||
float sp8[18];
|
||||
MentDllUnkBss64Struct sp8;
|
||||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
sp8[2] = 0.0f;
|
||||
sp8[3] = 215.0f;
|
||||
sp8[4] = 0.0f;
|
||||
sp8[8] = 0.0f;
|
||||
sp8[9] = 0.0f;
|
||||
sp8[10] = 0.0f;
|
||||
sp8[14] = 1600.0f;
|
||||
fn_1_4138(var_r31, sp8, var_r31->unk_40++, 10.0f, 5.0f);
|
||||
sp8.center.x = 0.0f;
|
||||
sp8.center.y = 215.0f;
|
||||
sp8.center.z = 0.0f;
|
||||
sp8.rot.x = 0.0f;
|
||||
sp8.rot.y = 0.0f;
|
||||
sp8.rot.z = 0.0f;
|
||||
sp8.zoom = 1600.0f;
|
||||
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 10.0f, 5.0f);
|
||||
}
|
||||
|
||||
void fn_1_14148(void)
|
||||
{
|
||||
float sp8[18];
|
||||
MentDllUnkBss64Struct sp8;
|
||||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
sp8[2] = 1200.0f;
|
||||
sp8[3] = 215.0f;
|
||||
sp8[4] = 0.0f;
|
||||
sp8[8] = 0.0f;
|
||||
sp8[9] = 0.0f;
|
||||
sp8[10] = 0.0f;
|
||||
sp8[14] = 1600.0f;
|
||||
fn_1_4138(var_r31, sp8, var_r31->unk_40++, 10.0f, 5.0f);
|
||||
sp8.center.x = 1200.0f;
|
||||
sp8.center.y = 215.0f;
|
||||
sp8.center.z = 0.0f;
|
||||
sp8.rot.x = 0.0f;
|
||||
sp8.rot.y = 0.0f;
|
||||
sp8.rot.z = 0.0f;
|
||||
sp8.zoom = 1600.0f;
|
||||
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 10.0f, 5.0f);
|
||||
}
|
||||
|
||||
void fn_1_14238(void)
|
||||
{
|
||||
float sp8[18];
|
||||
MentDllUnkBss64Struct sp8;
|
||||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
sp8[2] = 0.0f;
|
||||
sp8[3] = 125.0f;
|
||||
sp8[4] = 0.0f;
|
||||
sp8[8] = -5.0f;
|
||||
sp8[9] = 0.0f;
|
||||
sp8[10] = 0.0f;
|
||||
sp8[14] = 1750.0f;
|
||||
fn_1_4138(var_r31, sp8, var_r31->unk_40++, 30.0f, 10.0f);
|
||||
sp8.center.x = 0.0f;
|
||||
sp8.center.y = 125.0f;
|
||||
sp8.center.z = 0.0f;
|
||||
sp8.rot.x = -5.0f;
|
||||
sp8.rot.y = 0.0f;
|
||||
sp8.rot.z = 0.0f;
|
||||
sp8.zoom = 1750.0f;
|
||||
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 30.0f, 10.0f);
|
||||
}
|
||||
|
||||
void fn_1_14328(void)
|
||||
{
|
||||
float sp8[18];
|
||||
MentDllUnkBss64Struct sp8;
|
||||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
sp8[2] = 1200.0f;
|
||||
sp8[3] = 125.0f;
|
||||
sp8[4] = 0.0f;
|
||||
sp8[8] = -5.0f;
|
||||
sp8[9] = 0.0f;
|
||||
sp8[10] = 0.0f;
|
||||
sp8[14] = 1750.0f;
|
||||
fn_1_4138(var_r31, sp8, var_r31->unk_40++, 30.0f, 10.0f);
|
||||
sp8.center.x = 1200.0f;
|
||||
sp8.center.y = 125.0f;
|
||||
sp8.center.z = 0.0f;
|
||||
sp8.rot.x = -5.0f;
|
||||
sp8.rot.y = 0.0f;
|
||||
sp8.rot.z = 0.0f;
|
||||
sp8.zoom = 1750.0f;
|
||||
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 30.0f, 10.0f);
|
||||
}
|
||||
|
||||
void fn_1_14418(void)
|
||||
{
|
||||
float sp8[18];
|
||||
MentDllUnkBss64Struct sp8;
|
||||
MentDllUnkBss64Struct *var_r31;
|
||||
s32 var_r30;
|
||||
|
||||
|
|
@ -3607,19 +3589,19 @@ void fn_1_14418(void)
|
|||
fn_1_5818(lbl_1_bss_35BC[var_r30].unk_00, 5, 5, 0, 0);
|
||||
HuAudFXPlay(0x7D);
|
||||
}
|
||||
sp8[2] = 0.0f;
|
||||
sp8.center.x = 0.0f;
|
||||
if (var_r30 == 1) {
|
||||
sp8[2] = 1200.0f;
|
||||
sp8.center.x = 1200.0f;
|
||||
}
|
||||
sp8[3] = 100.0f;
|
||||
sp8[4] = 460.0f;
|
||||
sp8[8] = 0.0f;
|
||||
sp8[9] = 0.0f;
|
||||
sp8[10] = 0.0f;
|
||||
sp8[14] = 125.0f;
|
||||
fn_1_4138(var_r31, sp8, var_r31->unk_40, 180.0f, 10.0f);
|
||||
if (var_r31->unk_40++ >= 0x5A) {
|
||||
if (var_r31->unk_40 == 0x5B) {
|
||||
sp8.center.y = 100.0f;
|
||||
sp8.center.z = 460.0f;
|
||||
sp8.rot.x = 0.0f;
|
||||
sp8.rot.y = 0.0f;
|
||||
sp8.rot.z = 0.0f;
|
||||
sp8.zoom = 125.0f;
|
||||
fn_1_4138(var_r31, &sp8, var_r31->unk_40, 180.0f, 10.0f);
|
||||
if (var_r31->unk_40++ >= 90) {
|
||||
if (var_r31->unk_40 == 91) {
|
||||
if (var_r30 == 0) {
|
||||
lbl_1_bss_24[10] = HuAudFXPlay(0x22);
|
||||
}
|
||||
|
|
@ -3627,57 +3609,57 @@ void fn_1_14418(void)
|
|||
lbl_1_bss_24[10] = HuAudFXPlay(0x23);
|
||||
}
|
||||
}
|
||||
var_r31->unk_20 = fn_1_20C(var_r31->unk_20, -45.0f, var_r31->unk_40 - 0x5A, 90.0f);
|
||||
var_r31->rot.x = fn_1_20C(var_r31->rot.x, -45.0f, var_r31->unk_40 - 0x5A, 90.0f);
|
||||
Hu3DData[lbl_1_bss_35BC[var_r30].unk_00->model[4]].rot.x = fn_1_20C(0.0f, 45.0f, var_r31->unk_40 - 0x5A, 90.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_146D0(void)
|
||||
{
|
||||
float sp8[18];
|
||||
MentDllUnkBss64Struct sp8;
|
||||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
sp8[2] = 0.0f;
|
||||
sp8[3] = 215.0f;
|
||||
sp8[4] = 0.0f;
|
||||
sp8[8] = 0.0f;
|
||||
sp8[9] = 0.0f;
|
||||
sp8[10] = 0.0f;
|
||||
sp8[14] = 1600.0f;
|
||||
fn_1_5150(var_r31, sp8, var_r31->unk_40++, 30.0f, 10.0f);
|
||||
sp8.center.x = 0.0f;
|
||||
sp8.center.y = 215.0f;
|
||||
sp8.center.z = 0.0f;
|
||||
sp8.rot.x = 0.0f;
|
||||
sp8.rot.y = 0.0f;
|
||||
sp8.rot.z = 0.0f;
|
||||
sp8.zoom = 1600.0f;
|
||||
fn_1_5150(var_r31, &sp8, var_r31->unk_40++, 30.0f, 10.0f);
|
||||
}
|
||||
|
||||
void fn_1_147C0(void)
|
||||
{
|
||||
float sp8[18];
|
||||
MentDllUnkBss64Struct sp8;
|
||||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
sp8[2] = 1200.0f;
|
||||
sp8[3] = 215.0f;
|
||||
sp8[4] = 0.0f;
|
||||
sp8[8] = 0.0f;
|
||||
sp8[9] = 0.0f;
|
||||
sp8[10] = 0.0f;
|
||||
sp8[14] = 1600.0f;
|
||||
fn_1_5150(var_r31, sp8, var_r31->unk_40++, 30.0f, 10.0f);
|
||||
sp8.center.x = 1200.0f;
|
||||
sp8.center.y = 215.0f;
|
||||
sp8.center.z = 0.0f;
|
||||
sp8.rot.x = 0.0f;
|
||||
sp8.rot.y = 0.0f;
|
||||
sp8.rot.z = 0.0f;
|
||||
sp8.zoom = 1600.0f;
|
||||
fn_1_5150(var_r31, &sp8, var_r31->unk_40++, 30.0f, 10.0f);
|
||||
}
|
||||
|
||||
void fn_1_148B0(void)
|
||||
{
|
||||
float sp8[18];
|
||||
MentDllUnkBss64Struct sp8;
|
||||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
sp8[2] = 0.0f;
|
||||
sp8[3] = 30.0f;
|
||||
sp8[4] = 0.0f;
|
||||
sp8[8] = -5.0f;
|
||||
sp8[9] = 0.0f;
|
||||
sp8[10] = 0.0f;
|
||||
sp8[14] = 1100.0f;
|
||||
fn_1_4138(var_r31, sp8, var_r31->unk_40++, 30.0f, 10.0f);
|
||||
sp8.center.x = 0.0f;
|
||||
sp8.center.y = 30.0f;
|
||||
sp8.center.z = 0.0f;
|
||||
sp8.rot.x = -5.0f;
|
||||
sp8.rot.y = 0.0f;
|
||||
sp8.rot.z = 0.0f;
|
||||
sp8.zoom = 1100.0f;
|
||||
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 10.0f, 5.0f);
|
||||
}
|
||||
|
||||
void fn_1_149A0(void)
|
||||
|
|
@ -3685,13 +3667,13 @@ void fn_1_149A0(void)
|
|||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
var_r31->unk_08 = 0.0f;
|
||||
var_r31->unk_0C = 125.0f;
|
||||
var_r31->unk_10 = 0.0f;
|
||||
var_r31->unk_20 = 5.0f;
|
||||
var_r31->unk_24 = 0.0f;
|
||||
var_r31->unk_28 = 0.0f;
|
||||
var_r31->unk_38 = 1750.0f;
|
||||
var_r31->center.x = 0.0f;
|
||||
var_r31->center.y = 125.0f;
|
||||
var_r31->center.z = 0.0f;
|
||||
var_r31->rot.x = -5.0f;
|
||||
var_r31->rot.y = 0.0f;
|
||||
var_r31->rot.z = 0.0f;
|
||||
var_r31->zoom = 1750.0f;
|
||||
}
|
||||
|
||||
void fn_1_14A2C(void)
|
||||
|
|
@ -3699,29 +3681,29 @@ void fn_1_14A2C(void)
|
|||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
var_r31->unk_08 = 1200.0f;
|
||||
var_r31->unk_0C = 125.0f;
|
||||
var_r31->unk_10 = 0.0f;
|
||||
var_r31->unk_20 = -4.0f;
|
||||
var_r31->unk_24 = 0.0f;
|
||||
var_r31->unk_28 = 0.0f;
|
||||
var_r31->unk_38 = 1750.0f;
|
||||
var_r31->center.x = 1200.0f;
|
||||
var_r31->center.y = 125.0f;
|
||||
var_r31->center.z = 0.0f;
|
||||
var_r31->rot.x = -5.0f;
|
||||
var_r31->rot.y = 0.0f;
|
||||
var_r31->rot.z = 0.0f;
|
||||
var_r31->zoom = 1750.0f;
|
||||
}
|
||||
|
||||
void fn_1_14AB8(void)
|
||||
{
|
||||
float sp8[18];
|
||||
MentDllUnkBss64Struct sp8;
|
||||
MentDllUnkBss64Struct *var_r31;
|
||||
|
||||
var_r31 = &lbl_1_bss_64;
|
||||
sp8[2] = 0.0f;
|
||||
sp8[3] = 125.0f;
|
||||
sp8[4] = 0.0f;
|
||||
sp8[8] = 0.0f;
|
||||
sp8[9] = 0.0f;
|
||||
sp8[10] = 0.0f;
|
||||
sp8[14] = 125.0f;
|
||||
fn_1_5150(var_r31, sp8, var_r31->unk_40++, 120.0f, 10.0f);
|
||||
sp8.center.x = 0.0f;
|
||||
sp8.center.y = 125.0f;
|
||||
sp8.center.z = 460.0f;
|
||||
sp8.rot.x = 0.0f;
|
||||
sp8.rot.y = 0.0f;
|
||||
sp8.rot.z = 0.0f;
|
||||
sp8.zoom = 125.0f;
|
||||
fn_1_5150(var_r31, &sp8, var_r31->unk_40++, 120.0f, 10.0f);
|
||||
}
|
||||
|
||||
void fn_1_14BA8(void)
|
||||
|
|
@ -4087,86 +4069,71 @@ s32 fn_1_1648C(MentDllUnkBss3114Struct *arg0)
|
|||
|
||||
var_r28 = 0;
|
||||
var_r29 = lbl_1_bss_35BC[0].unk_30;
|
||||
loop_1:
|
||||
fn_1_4D8();
|
||||
var_r28 = 0;
|
||||
var_r26 = arg0->unk_64;
|
||||
if (HuPadStkX[lbl_1_bss_3114->unk_6C] >= 5) {
|
||||
block_3:
|
||||
if (lbl_1_bss_A8[5] == 1) {
|
||||
arg0->unk_64++;
|
||||
var_r28 = 1;
|
||||
if (arg0->unk_64 > 3) {
|
||||
arg0->unk_64 = 0;
|
||||
while(1) {
|
||||
fn_1_4D8();
|
||||
var_r28 = 0;
|
||||
var_r26 = arg0->unk_64;
|
||||
if(HuPadStkX[lbl_1_bss_3114->unk_6C] >= 5 || (HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_RIGHT)) {
|
||||
if(lbl_1_bss_A8[5] == 1) {
|
||||
arg0->unk_64++;
|
||||
var_r28 = 1;
|
||||
if(arg0->unk_64 > 3) {
|
||||
arg0->unk_64 = 0;
|
||||
}
|
||||
} else {
|
||||
arg0->unk_64++;
|
||||
var_r28 = 1;
|
||||
if(arg0->unk_64 > 2) {
|
||||
arg0->unk_64 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
arg0->unk_64++;
|
||||
var_r28 = 1;
|
||||
if (arg0->unk_64 > 2) {
|
||||
arg0->unk_64 = 0;
|
||||
} else if(HuPadStkX[lbl_1_bss_3114->unk_6C] <= -5 || (HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_LEFT)) {
|
||||
if(lbl_1_bss_A8[5] == 1) {
|
||||
arg0->unk_64--;
|
||||
var_r28 = -1;
|
||||
if(arg0->unk_64 < 0) {
|
||||
arg0->unk_64 = 3;
|
||||
}
|
||||
} else {
|
||||
arg0->unk_64--;
|
||||
var_r28 = -1;
|
||||
if(arg0->unk_64 < 0) {
|
||||
arg0->unk_64 = 2;
|
||||
}
|
||||
}
|
||||
} else if(HuPadBtnDown[0] & PAD_BUTTON_A) {
|
||||
var_r27 = 1;
|
||||
HuAudFXPlay(2);
|
||||
break;
|
||||
} else if(HuPadBtnDown[0] & PAD_BUTTON_B) {
|
||||
var_r27 = 0;
|
||||
HuAudFXPlay(3);
|
||||
break;
|
||||
}
|
||||
block_19:
|
||||
if (arg0->unk_64 != var_r26) {
|
||||
if(arg0->unk_64 != var_r26) {
|
||||
HuAudFXPlay(0);
|
||||
for (var_r30 = 0; var_r30 <= 5; var_r30++) {
|
||||
for(var_r30=0; var_r30<=5; var_r30++) {
|
||||
fn_1_4D8();
|
||||
var_f31 = fn_1_32C(lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 % 4][0] + (var_r28 * 0xA), var_r30, 5.0f);
|
||||
HuSprPosSet(var_r29, arg0->unk_58 + 0x20, var_f31, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x23);
|
||||
HuSprPosSet(var_r29, arg0->unk_58 + 0x24, 1.0f + var_f31, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x25);
|
||||
var_f31 = fn_1_32C(lbl_1_data_57C[arg0->unk_68%4][0], lbl_1_data_57C[arg0->unk_68%4][0]+(var_r28*10), var_r30, 5);
|
||||
HuSprPosSet(var_r29, arg0->unk_58+32, var_f31, lbl_1_data_57C[arg0->unk_68/4][1]+35);
|
||||
HuSprPosSet(var_r29, arg0->unk_58+36, 1+var_f31, lbl_1_data_57C[arg0->unk_68/4][1]+37);
|
||||
}
|
||||
HuSprBankSet(var_r29, arg0->unk_58 + 0x20, arg0->unk_64);
|
||||
for (var_r30 = 0; var_r30 <= 5; var_r30++) {
|
||||
HuSprBankSet(var_r29, arg0->unk_58+32, arg0->unk_64);
|
||||
for(var_r30=0; var_r30<=5; var_r30++) {
|
||||
fn_1_4D8();
|
||||
var_f31 = fn_1_32C(lbl_1_data_57C[arg0->unk_68 % 4][0] + (var_r28 * 0xA), lbl_1_data_57C[arg0->unk_68 % 4][0], var_r30, 5.0f);
|
||||
HuSprPosSet(var_r29, arg0->unk_58 + 0x20, var_f31, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x23);
|
||||
HuSprPosSet(var_r29, arg0->unk_58 + 0x24, 1.0f + var_f31, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x25);
|
||||
var_f31 = fn_1_32C(lbl_1_data_57C[arg0->unk_68%4][0]+(var_r28*10), lbl_1_data_57C[arg0->unk_68%4][0], var_r30, 5);
|
||||
HuSprPosSet(var_r29, arg0->unk_58+32, var_f31, lbl_1_data_57C[arg0->unk_68/4][1]+35);
|
||||
HuSprPosSet(var_r29, arg0->unk_58+36, 1+var_f31, lbl_1_data_57C[arg0->unk_68/4][1]+37);
|
||||
}
|
||||
}
|
||||
goto loop_1;
|
||||
}
|
||||
if ((HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_RIGHT) != 0) {
|
||||
goto block_3;
|
||||
}
|
||||
if (HuPadStkX[lbl_1_bss_3114->unk_6C] <= -5) {
|
||||
block_10:
|
||||
if (lbl_1_bss_A8[5] == 1) {
|
||||
arg0->unk_64--;
|
||||
var_r28 = -1;
|
||||
if (arg0->unk_64 < 0) {
|
||||
arg0->unk_64 = 3;
|
||||
}
|
||||
}
|
||||
else {
|
||||
arg0->unk_64--;
|
||||
var_r28 = -1;
|
||||
if (arg0->unk_64 < 0) {
|
||||
arg0->unk_64 = 2;
|
||||
}
|
||||
}
|
||||
goto block_19;
|
||||
}
|
||||
if ((HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_LEFT) != 0) {
|
||||
goto block_10;
|
||||
}
|
||||
if ((HuPadBtnDown[0] & PAD_BUTTON_A) != 0) {
|
||||
var_r27 = 1;
|
||||
HuAudFXPlay(2);
|
||||
}
|
||||
else if ((HuPadBtnDown[0] & PAD_BUTTON_B) != 0) {
|
||||
var_r27 = 0;
|
||||
HuAudFXPlay(3);
|
||||
}
|
||||
else {
|
||||
goto block_19;
|
||||
}
|
||||
if (var_r27 == 1) {
|
||||
HuSprPosSet(var_r29, arg0->unk_58 + 0x31, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x23);
|
||||
HuSprBankSet(var_r29, arg0->unk_58 + 0x31, arg0->unk_64);
|
||||
HuSprAttrReset(var_r29, arg0->unk_58 + 0x31, 4);
|
||||
HuSprAttrSet(var_r29, arg0->unk_58 + 0x20, 4);
|
||||
if(var_r27 == 1) {
|
||||
HuSprPosSet(var_r29, arg0->unk_58+49, lbl_1_data_57C[arg0->unk_68%4][0], lbl_1_data_57C[arg0->unk_68/4][1]+35);
|
||||
HuSprBankSet(var_r29, arg0->unk_58+49, arg0->unk_64);
|
||||
HuSprAttrReset(var_r29, arg0->unk_58+49, 4);
|
||||
HuSprAttrSet(var_r29, arg0->unk_58+32, 4);
|
||||
}
|
||||
|
||||
return var_r27;
|
||||
}
|
||||
|
||||
|
|
@ -5438,7 +5405,7 @@ void fn_1_1D4FC(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3)
|
|||
{ 0x00000070, 0x0000011A },
|
||||
{ 0x000001D2, 0x0000011A },
|
||||
};
|
||||
arg0->unk_30 = var_r30 = HuSprGrpCreate(0x22);
|
||||
arg0->unk_30 = var_r30 = (s16)HuSprGrpCreate(0x22);
|
||||
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x58)), 0x7D0, 0);
|
||||
HuSprGrpMemberSet(var_r30, 0, var_r29);
|
||||
HuSprTPLvlSet(var_r30, 0, 0.8f);
|
||||
|
|
@ -6264,7 +6231,7 @@ void fn_1_21134(omObjData *object)
|
|||
|
||||
var_r29 = &lbl_1_bss_64;
|
||||
for (var_r31 = 1; var_r31 < 0xA; var_r31++) {
|
||||
if ((var_r29->unk_38 <= 1200.0f) || (lbl_1_bss_16C4[var_r31].unk_1C == -200.0f)) {
|
||||
if ((var_r29->zoom <= 1200.0f) || (lbl_1_bss_16C4[var_r31].unk_1C == -200.0f)) {
|
||||
if (lbl_1_bss_16C4[var_r31].unk_1C >= -100.0f) {
|
||||
lbl_1_bss_16C4[var_r31].unk_00 = 0;
|
||||
lbl_1_bss_16C4[var_r31].unk_1C = -200.0f;
|
||||
|
|
@ -6285,9 +6252,9 @@ void fn_1_21134(omObjData *object)
|
|||
}
|
||||
}
|
||||
for (var_r31 = 0xA; var_r31 < 0x8C; var_r31++) {
|
||||
if ((lbl_1_bss_16C4[var_r31].unk_24 == 0.0f) && (lbl_1_bss_16C4[var_r31].unk_14 > (var_r29->unk_38 - 400.0f))
|
||||
&& (lbl_1_bss_16C4[var_r31].unk_0C < (200.0f + var_r29->unk_08)) && (lbl_1_bss_16C4[var_r31].unk_0C > (var_r29->unk_08 - 200.0f))) {
|
||||
if (var_r29->unk_08 >= lbl_1_bss_16C4[var_r31].unk_0C) {
|
||||
if ((lbl_1_bss_16C4[var_r31].unk_24 == 0.0f) && (lbl_1_bss_16C4[var_r31].unk_14 > (var_r29->zoom - 400.0f))
|
||||
&& (lbl_1_bss_16C4[var_r31].unk_0C < (200.0f + var_r29->center.x)) && (lbl_1_bss_16C4[var_r31].unk_0C > (var_r29->center.x - 200.0f))) {
|
||||
if (var_r29->center.x >= lbl_1_bss_16C4[var_r31].unk_0C) {
|
||||
lbl_1_bss_16C4[var_r31].unk_24 = -300.0f;
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
3107
src/REL/mpexDll/charsel.c
Normal file
3107
src/REL/mpexDll/charsel.c
Normal file
File diff suppressed because it is too large
Load diff
501
src/REL/mpexDll/main.c
Normal file
501
src/REL/mpexDll/main.c
Normal file
|
|
@ -0,0 +1,501 @@
|
|||
#include "ext_math.h"
|
||||
#include "game/armem.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/hsfmotion.h"
|
||||
#include "game/objsub.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/printfunc.h"
|
||||
#include "game/wipe.h"
|
||||
#include "rel_sqrt_consts.h"
|
||||
|
||||
#include "REL/mpexDll.h"
|
||||
|
||||
void fn_1_230();
|
||||
void fn_1_A70(MpexDllUnkStruct *arg0);
|
||||
|
||||
MpexDllUnkStruct lbl_1_bss_64;
|
||||
s32 lbl_1_bss_4[0x18];
|
||||
Process *lbl_1_bss_0;
|
||||
|
||||
void fn_1_A0(void)
|
||||
{
|
||||
if (HuPadBtnDown[0] & PAD_BUTTON_Y) {
|
||||
OSReport("\n###################################################################### HEAP\n\n");
|
||||
HuMemHeapDump(HuMemHeapPtrGet(HEAP_SYSTEM), -1);
|
||||
OSReport("\n###################################################################### SOUND\n\n");
|
||||
HuMemHeapDump(HuMemHeapPtrGet(HEAP_MUSIC), -1);
|
||||
OSReport("\n###################################################################### MODEL\n\n");
|
||||
HuMemHeapDump(HuMemHeapPtrGet(HEAP_DATA), -1);
|
||||
OSReport("\n###################################################################### DVD\n\n");
|
||||
HuMemHeapDump(HuMemHeapPtrGet(HEAP_DVD), -1);
|
||||
OSReport("\n###################################################################### SPACE\n\n");
|
||||
HuMemHeapDump(HuMemHeapPtrGet(HEAP_MISC), -1);
|
||||
OSReport("\n###################################################################### ARAM\n\n");
|
||||
HuAMemDump();
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_188(omObjData *object)
|
||||
{
|
||||
if (WipeStatGet() == 0) {
|
||||
omOvlReturnEx(1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_1C0(omObjData *object)
|
||||
{
|
||||
if (omSysExitReq != 0) {
|
||||
HuAudFadeOut(0x3E8);
|
||||
WipeColorSet(0, 0, 0);
|
||||
WipeCreate(2, 0, -1);
|
||||
object->func = fn_1_188;
|
||||
}
|
||||
}
|
||||
|
||||
void ObjectSetup(void)
|
||||
{
|
||||
mgPracticeEnableF = 0;
|
||||
lbl_1_bss_0 = omInitObjMan(0x3E, 0x2000);
|
||||
GWSystem.mg_next = 0xFFFF;
|
||||
fn_1_3044(lbl_1_bss_0);
|
||||
}
|
||||
|
||||
void fn_1_298(void)
|
||||
{
|
||||
s32 var_r31;
|
||||
|
||||
var_r31 = -1;
|
||||
var_r31 = Hu3DGLightCreate(0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0xFF, 0xFF, 0xFF);
|
||||
Hu3DGLightPosAimSet(var_r31, 0.0f, 1000.0f, 1000.0f, 0.0f, 0.0f, 0.0f);
|
||||
Hu3DGLightInfinitytSet(var_r31);
|
||||
}
|
||||
|
||||
void fn_1_374(void)
|
||||
{
|
||||
Vec sp20 = { 0.0f, 3000.0f, 3000.0f };
|
||||
Vec sp14 = { 0.0f, 0.0f, 0.0f };
|
||||
Vec sp8 = { 0.0f, 1.0f, 0.0f };
|
||||
|
||||
Hu3DShadowCreate(45.0f, 2000.0f, 25000.0f);
|
||||
Hu3DShadowPosSet(&sp20, &sp8, &sp14);
|
||||
Hu3DShadowTPLvlSet(0.8f);
|
||||
}
|
||||
|
||||
void fn_1_438(void)
|
||||
{
|
||||
MpexDllUnkStruct *var_r31 = &lbl_1_bss_64;
|
||||
|
||||
if (HuPadBtn[0] & PAD_BUTTON_B) {
|
||||
if (HuPadBtn[0] & 0x20) {
|
||||
var_r31->unk_08.z -= (HuPadStkY[0] / 10.0f);
|
||||
}
|
||||
else {
|
||||
var_r31->unk_08.x += HuPadStkX[0] / 10.0f;
|
||||
var_r31->unk_08.y += (HuPadStkY[0] / 10.0f);
|
||||
}
|
||||
}
|
||||
if (HuPadBtn[0] & PAD_BUTTON_Y) {
|
||||
var_r31->unk_20.x -= HuPadStkY[0] / 100.0f;
|
||||
var_r31->unk_20.y += (HuPadStkX[0] / 100.0f);
|
||||
if (var_r31->unk_20.x < 0.0f) {
|
||||
var_r31->unk_20.x += 360.0f;
|
||||
}
|
||||
if (var_r31->unk_20.x >= 360.0f) {
|
||||
var_r31->unk_20.x -= 360.0f;
|
||||
}
|
||||
if (var_r31->unk_20.y < 0.0f) {
|
||||
var_r31->unk_20.y += 360.0f;
|
||||
}
|
||||
if (var_r31->unk_20.y >= 360.0f) {
|
||||
var_r31->unk_20.y -= 360.0f;
|
||||
}
|
||||
}
|
||||
if (HuPadBtn[0] & PAD_BUTTON_X) {
|
||||
var_r31->unk_38 -= (HuPadStkY[0] / 10.0f);
|
||||
}
|
||||
print8(0x18, 0x28, 1.0f, ">>>>>>>>>> CAMERA DATA <<<<<<<<<<");
|
||||
print8(0x18, 0x32, 1.0f, "CENTER : %.2f, %.2f, %.2f", var_r31->unk_08.x, var_r31->unk_08.y, var_r31->unk_08.z);
|
||||
print8(0x18, 0x3C, 1.0f, "ROT : %.2f, %.2f, %.2f", var_r31->unk_20.x, var_r31->unk_20.y, var_r31->unk_20.z);
|
||||
print8(0x18, 0x46, 1.0f, "ZOOM : %.2f", var_r31->unk_38);
|
||||
}
|
||||
|
||||
void fn_1_81C(omObjData *object)
|
||||
{
|
||||
MpexDllUnkStruct *var_r31 = &lbl_1_bss_64;
|
||||
if (var_r31->unk_00 != NULL) {
|
||||
var_r31->unk_00();
|
||||
}
|
||||
Center.x = var_r31->unk_08.x;
|
||||
Center.y = var_r31->unk_08.y;
|
||||
Center.z = var_r31->unk_08.z;
|
||||
CRot.x = var_r31->unk_20.x;
|
||||
CRot.y = var_r31->unk_20.y;
|
||||
CRot.z = var_r31->unk_20.z;
|
||||
CZoom = var_r31->unk_38;
|
||||
}
|
||||
|
||||
void fn_1_8D4(MpexDllUnkFunc arg0)
|
||||
{
|
||||
lbl_1_bss_64.unk_00 = arg0;
|
||||
fn_1_A70(&lbl_1_bss_64);
|
||||
}
|
||||
|
||||
void fn_1_910(MpexDllUnkFunc arg0)
|
||||
{
|
||||
Hu3DCameraCreate(1);
|
||||
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||
Hu3DCameraPerspectiveSet(1, 45.0f, 20.0f, 5000.0f, 1.2f);
|
||||
lbl_1_bss_64.unk_00 = arg0;
|
||||
lbl_1_bss_64.unk_04 = fn_1_438;
|
||||
omAddObjEx(lbl_1_bss_0, 0x7FDA, 0, 0, -1, omOutView);
|
||||
omAddObjEx(lbl_1_bss_0, 0x7FD9, 0, 0, -1, fn_1_81C);
|
||||
}
|
||||
|
||||
void fn_1_A34(MpexDllUnkStruct *arg0)
|
||||
{
|
||||
arg0->unk_08.x = arg0->unk_14.x;
|
||||
arg0->unk_08.y = arg0->unk_14.y;
|
||||
arg0->unk_08.z = arg0->unk_14.z;
|
||||
arg0->unk_20.x = arg0->unk_2C.x;
|
||||
arg0->unk_20.y = arg0->unk_2C.y;
|
||||
arg0->unk_20.z = arg0->unk_2C.z;
|
||||
arg0->unk_38 = arg0->unk_3C;
|
||||
}
|
||||
|
||||
void fn_1_A70(MpexDllUnkStruct *arg0)
|
||||
{
|
||||
arg0->unk_40 = 0;
|
||||
arg0->unk_14.x = arg0->unk_08.x;
|
||||
arg0->unk_14.y = arg0->unk_08.y;
|
||||
arg0->unk_14.z = arg0->unk_08.z;
|
||||
arg0->unk_2C.x = arg0->unk_20.x;
|
||||
arg0->unk_2C.y = arg0->unk_20.y;
|
||||
arg0->unk_2C.z = arg0->unk_20.z;
|
||||
arg0->unk_3C = arg0->unk_38;
|
||||
}
|
||||
|
||||
void fn_1_AB4(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8)
|
||||
{
|
||||
arg0->unk_08.x = fn_1_1B554(arg0->unk_08.x, arg1->unk_14.x, arg8);
|
||||
arg0->unk_08.y = fn_1_1B554(arg0->unk_08.y, arg1->unk_14.y, arg8);
|
||||
arg0->unk_08.z = fn_1_1B554(arg0->unk_08.z, arg1->unk_14.z, arg8);
|
||||
arg0->unk_20.x = fn_1_1B554(arg0->unk_20.x, arg1->unk_2C.x, arg8);
|
||||
arg0->unk_20.y = fn_1_1B554(arg0->unk_20.y, arg1->unk_2C.y, arg8);
|
||||
arg0->unk_20.z = fn_1_1B554(arg0->unk_20.z, arg1->unk_2C.z, arg8);
|
||||
arg0->unk_38 = fn_1_1B554(arg0->unk_38, arg1->unk_3C, arg8);
|
||||
}
|
||||
|
||||
void fn_1_C84(MpexDllUnkStruct *arg0, float arg8, float argB)
|
||||
{
|
||||
arg0->unk_08.x = fn_1_1B554(arg0->unk_08.x, arg0->unk_14.x, arg8);
|
||||
arg0->unk_08.y = fn_1_1B554(arg0->unk_08.y, arg0->unk_14.y, arg8);
|
||||
arg0->unk_08.z = fn_1_1B554(arg0->unk_08.z, arg0->unk_14.z, arg8);
|
||||
arg0->unk_20.x = fn_1_1B554(arg0->unk_20.x, arg0->unk_2C.x, arg8);
|
||||
arg0->unk_20.y = fn_1_1B554(arg0->unk_20.y, arg0->unk_2C.y, arg8);
|
||||
arg0->unk_20.z = fn_1_1B554(arg0->unk_20.z, arg0->unk_2C.z, arg8);
|
||||
arg0->unk_38 = fn_1_1B554(arg0->unk_38, arg0->unk_3C, arg8);
|
||||
}
|
||||
|
||||
void fn_1_E48(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argC)
|
||||
{
|
||||
arg1->unk_14.x = fn_1_1B52C(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9);
|
||||
arg1->unk_14.y = fn_1_1B52C(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9);
|
||||
arg1->unk_14.z = fn_1_1B52C(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9);
|
||||
arg1->unk_2C.x = fn_1_1B52C(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9);
|
||||
arg1->unk_2C.y = fn_1_1B52C(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9);
|
||||
arg1->unk_2C.z = fn_1_1B52C(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9);
|
||||
arg1->unk_3C = fn_1_1B52C(arg0->unk_3C, arg1->unk_38, arg8, arg9);
|
||||
}
|
||||
|
||||
void fn_1_1048(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argC)
|
||||
{
|
||||
arg1->unk_14.x = fn_1_1B52C(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9);
|
||||
arg1->unk_14.y = fn_1_1B52C(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9);
|
||||
arg1->unk_14.z = fn_1_1B52C(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9);
|
||||
arg1->unk_2C.x = fn_1_1B52C(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9);
|
||||
arg1->unk_2C.y = fn_1_1B52C(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9);
|
||||
arg1->unk_2C.z = fn_1_1B52C(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9);
|
||||
arg1->unk_3C = fn_1_1B52C(arg0->unk_3C, arg1->unk_38, arg8, arg9);
|
||||
arg0->unk_08.x = arg1->unk_14.x;
|
||||
arg0->unk_08.y = arg1->unk_14.y;
|
||||
arg0->unk_08.z = arg1->unk_14.z;
|
||||
arg0->unk_20.x = arg1->unk_2C.x;
|
||||
arg0->unk_20.y = arg1->unk_2C.y;
|
||||
arg0->unk_20.z = arg1->unk_2C.z;
|
||||
arg0->unk_38 = arg1->unk_3C;
|
||||
}
|
||||
|
||||
void fn_1_1280(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argA, float argC)
|
||||
{
|
||||
arg1->unk_14.x = fn_1_1B52C(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9);
|
||||
arg1->unk_14.y = fn_1_1B52C(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9);
|
||||
arg1->unk_14.z = fn_1_1B52C(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9);
|
||||
arg1->unk_2C.x = fn_1_1B52C(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9);
|
||||
arg1->unk_2C.y = fn_1_1B52C(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9);
|
||||
arg1->unk_2C.z = fn_1_1B52C(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9);
|
||||
arg1->unk_3C = fn_1_1B52C(arg0->unk_3C, arg1->unk_38, arg8, arg9);
|
||||
arg0->unk_08.x = fn_1_1B554(arg0->unk_08.x, arg1->unk_14.x, argA);
|
||||
arg0->unk_08.y = fn_1_1B554(arg0->unk_08.y, arg1->unk_14.y, argA);
|
||||
arg0->unk_08.z = fn_1_1B554(arg0->unk_08.z, arg1->unk_14.z, argA);
|
||||
arg0->unk_20.x = fn_1_1B554(arg0->unk_20.x, arg1->unk_2C.x, argA);
|
||||
arg0->unk_20.y = fn_1_1B554(arg0->unk_20.y, arg1->unk_2C.y, argA);
|
||||
arg0->unk_20.z = fn_1_1B554(arg0->unk_20.z, arg1->unk_2C.z, argA);
|
||||
arg0->unk_38 = fn_1_1B554(arg0->unk_38, arg1->unk_3C, argA);
|
||||
}
|
||||
|
||||
void fn_1_161C(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argC)
|
||||
{
|
||||
arg1->unk_14.x = fn_1_1B64C(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9);
|
||||
arg1->unk_14.y = fn_1_1B64C(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9);
|
||||
arg1->unk_14.z = fn_1_1B64C(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9);
|
||||
arg1->unk_2C.x = fn_1_1B64C(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9);
|
||||
arg1->unk_2C.y = fn_1_1B64C(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9);
|
||||
arg1->unk_2C.z = fn_1_1B64C(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9);
|
||||
arg1->unk_3C = fn_1_1B64C(arg0->unk_3C, arg1->unk_38, arg8, arg9);
|
||||
}
|
||||
|
||||
void fn_1_181C(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argC)
|
||||
{
|
||||
arg1->unk_14.x = fn_1_1B64C(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9);
|
||||
arg1->unk_14.y = fn_1_1B64C(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9);
|
||||
arg1->unk_14.z = fn_1_1B64C(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9);
|
||||
arg1->unk_2C.x = fn_1_1B64C(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9);
|
||||
arg1->unk_2C.y = fn_1_1B64C(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9);
|
||||
arg1->unk_2C.z = fn_1_1B64C(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9);
|
||||
arg1->unk_3C = fn_1_1B64C(arg0->unk_3C, arg1->unk_38, arg8, arg9);
|
||||
arg0->unk_08.x = arg1->unk_14.x;
|
||||
arg0->unk_08.y = arg1->unk_14.y;
|
||||
arg0->unk_08.z = arg1->unk_14.z;
|
||||
arg0->unk_20.x = arg1->unk_2C.x;
|
||||
arg0->unk_20.y = arg1->unk_2C.y;
|
||||
arg0->unk_20.z = arg1->unk_2C.z;
|
||||
arg0->unk_38 = arg1->unk_3C;
|
||||
}
|
||||
|
||||
void fn_1_1A54(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argA, float argC)
|
||||
{
|
||||
arg1->unk_14.x = fn_1_1B64C(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9);
|
||||
arg1->unk_14.y = fn_1_1B64C(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9);
|
||||
arg1->unk_14.z = fn_1_1B64C(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9);
|
||||
arg1->unk_2C.x = fn_1_1B64C(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9);
|
||||
arg1->unk_2C.y = fn_1_1B64C(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9);
|
||||
arg1->unk_2C.z = fn_1_1B64C(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9);
|
||||
arg1->unk_3C = fn_1_1B64C(arg0->unk_3C, arg1->unk_38, arg8, arg9);
|
||||
arg0->unk_08.x = fn_1_1B554(arg0->unk_08.x, arg1->unk_14.x, argA);
|
||||
arg0->unk_08.y = fn_1_1B554(arg0->unk_08.y, arg1->unk_14.y, argA);
|
||||
arg0->unk_08.z = fn_1_1B554(arg0->unk_08.z, arg1->unk_14.z, argA);
|
||||
arg0->unk_20.x = fn_1_1B554(arg0->unk_20.x, arg1->unk_2C.x, argA);
|
||||
arg0->unk_20.y = fn_1_1B554(arg0->unk_20.y, arg1->unk_2C.y, argA);
|
||||
arg0->unk_20.z = fn_1_1B554(arg0->unk_20.z, arg1->unk_2C.z, argA);
|
||||
arg0->unk_38 = fn_1_1B554(arg0->unk_38, arg1->unk_3C, argA);
|
||||
}
|
||||
|
||||
void fn_1_1DF0(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argC)
|
||||
{
|
||||
arg1->unk_14.x = fn_1_1B574(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9);
|
||||
arg1->unk_14.y = fn_1_1B574(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9);
|
||||
arg1->unk_14.z = fn_1_1B574(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9);
|
||||
arg1->unk_2C.x = fn_1_1B574(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9);
|
||||
arg1->unk_2C.y = fn_1_1B574(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9);
|
||||
arg1->unk_2C.z = fn_1_1B574(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9);
|
||||
arg1->unk_3C = fn_1_1B574(arg0->unk_3C, arg1->unk_38, arg8, arg9);
|
||||
}
|
||||
|
||||
void fn_1_1FF0(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argC)
|
||||
{
|
||||
arg1->unk_14.x = fn_1_1B574(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9);
|
||||
arg1->unk_14.y = fn_1_1B574(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9);
|
||||
arg1->unk_14.z = fn_1_1B574(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9);
|
||||
arg1->unk_2C.x = fn_1_1B574(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9);
|
||||
arg1->unk_2C.y = fn_1_1B574(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9);
|
||||
arg1->unk_2C.z = fn_1_1B574(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9);
|
||||
arg1->unk_3C = fn_1_1B574(arg0->unk_3C, arg1->unk_38, arg8, arg9);
|
||||
arg0->unk_08.x = arg1->unk_14.x;
|
||||
arg0->unk_08.y = arg1->unk_14.y;
|
||||
arg0->unk_08.z = arg1->unk_14.z;
|
||||
arg0->unk_20.x = arg1->unk_2C.x;
|
||||
arg0->unk_20.y = arg1->unk_2C.y;
|
||||
arg0->unk_20.z = arg1->unk_2C.z;
|
||||
arg0->unk_38 = arg1->unk_3C;
|
||||
}
|
||||
|
||||
void fn_1_2228(MpexDllUnkStruct *arg0, MpexDllUnkStruct *arg1, float arg8, float arg9, float argA, float argC)
|
||||
{
|
||||
arg1->unk_14.x = fn_1_1B574(arg0->unk_14.x, arg1->unk_08.x, arg8, arg9);
|
||||
arg1->unk_14.y = fn_1_1B574(arg0->unk_14.y, arg1->unk_08.y, arg8, arg9);
|
||||
arg1->unk_14.z = fn_1_1B574(arg0->unk_14.z, arg1->unk_08.z, arg8, arg9);
|
||||
arg1->unk_2C.x = fn_1_1B574(arg0->unk_2C.x, arg1->unk_20.x, arg8, arg9);
|
||||
arg1->unk_2C.y = fn_1_1B574(arg0->unk_2C.y, arg1->unk_20.y, arg8, arg9);
|
||||
arg1->unk_2C.z = fn_1_1B574(arg0->unk_2C.z, arg1->unk_20.z, arg8, arg9);
|
||||
arg1->unk_3C = fn_1_1B574(arg0->unk_3C, arg1->unk_38, arg8, arg9);
|
||||
arg0->unk_08.x = fn_1_1B554(arg0->unk_08.x, arg1->unk_14.x, argA);
|
||||
arg0->unk_08.y = fn_1_1B554(arg0->unk_08.y, arg1->unk_14.y, argA);
|
||||
arg0->unk_08.z = fn_1_1B554(arg0->unk_08.z, arg1->unk_14.z, argA);
|
||||
arg0->unk_20.x = fn_1_1B554(arg0->unk_20.x, arg1->unk_2C.x, argA);
|
||||
arg0->unk_20.y = fn_1_1B554(arg0->unk_20.y, arg1->unk_2C.y, argA);
|
||||
arg0->unk_20.z = fn_1_1B554(arg0->unk_20.z, arg1->unk_2C.z, argA);
|
||||
arg0->unk_38 = fn_1_1B554(arg0->unk_38, arg1->unk_3C, argA);
|
||||
}
|
||||
|
||||
void fn_1_25C4(MpexDllUnkStruct2 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4)
|
||||
{
|
||||
switch (arg4) {
|
||||
case 0:
|
||||
Hu3DMotionShiftSet(arg0->unk_40[arg1], arg0->unk_48[arg2], 0.0f, arg3, 0);
|
||||
break;
|
||||
case 1:
|
||||
Hu3DMotionShiftSet(arg0->unk_40[arg1], arg0->unk_48[arg2], 0.0f, arg3, 0x40000001);
|
||||
break;
|
||||
case 2:
|
||||
Hu3DMotionShiftSet(arg0->unk_40[arg1], arg0->unk_48[arg2], 0.0f, arg3, 0x40000002);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_273C(MpexDllUnkStruct2 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4)
|
||||
{
|
||||
if (arg0->unk_58 != arg0->unk_48[arg2]) {
|
||||
arg0->unk_58 = arg0->unk_48[arg2];
|
||||
switch (arg4) {
|
||||
case 0:
|
||||
Hu3DMotionShiftSet(arg0->unk_40[arg1], arg0->unk_48[arg2], 0.0f, arg3, 0);
|
||||
break;
|
||||
case 1:
|
||||
Hu3DMotionShiftSet(arg0->unk_40[arg1], arg0->unk_48[arg2], 0.0f, arg3, 0x40000001);
|
||||
break;
|
||||
case 2:
|
||||
Hu3DMotionShiftSet(arg0->unk_40[arg1], arg0->unk_48[arg2], 0.0f, arg3, 0x40000002);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_28DC(void) { }
|
||||
|
||||
void fn_1_28E0(MpexDllUnkStruct2 *arg0, s32 arg1, Vec *arg2, float arg8, float arg9, float argA, s32 arg3, s32 arg4)
|
||||
{
|
||||
Vec sp4C;
|
||||
Vec sp40;
|
||||
Vec sp34;
|
||||
Vec sp28;
|
||||
Vec sp1C;
|
||||
Vec sp10;
|
||||
|
||||
s32 var_r29 = 0;
|
||||
s32 var_r28 = 0;
|
||||
s32 var_r26;
|
||||
|
||||
sp40.x = Hu3DData[arg0->unk_40[arg1]].pos.x;
|
||||
sp40.y = Hu3DData[arg0->unk_40[arg1]].pos.y;
|
||||
sp40.z = Hu3DData[arg0->unk_40[arg1]].pos.z;
|
||||
|
||||
sp34.x = arg2->x;
|
||||
sp34.y = arg2->y;
|
||||
sp34.z = arg2->z;
|
||||
|
||||
sp1C.x = Hu3DData[arg0->unk_40[arg1]].rot.x;
|
||||
sp1C.y = Hu3DData[arg0->unk_40[arg1]].rot.y;
|
||||
sp1C.z = Hu3DData[arg0->unk_40[arg1]].rot.z;
|
||||
|
||||
sp10.x = 0.0f;
|
||||
sp10.y = arg8;
|
||||
sp10.z = 0.0f;
|
||||
|
||||
if ((sp34.x - sp40.x) >= 0.0f) {
|
||||
var_r29 = 1;
|
||||
}
|
||||
else {
|
||||
var_r29 = 0;
|
||||
}
|
||||
if ((sp34.z - sp40.z) >= 0.0f) {
|
||||
var_r28 = 1;
|
||||
}
|
||||
else {
|
||||
var_r28 = 0;
|
||||
}
|
||||
while (arg3 != 0) {
|
||||
fn_1_1B7D0(1);
|
||||
sp28.y = -((atan2d(sp34.z - sp40.z, sp34.x - sp40.x)) - 90.0);
|
||||
if (sp28.y < 0.0f) {
|
||||
sp28.y += 360.0f;
|
||||
}
|
||||
else if (sp28.y >= 360.0f) {
|
||||
sp28.y -= 360.0f;
|
||||
}
|
||||
if (arg4 != 0) {
|
||||
if (sp28.y >= 180.0f) {
|
||||
if ((sp1C.y - sp28.y) >= 180.0f) {
|
||||
sp1C.y -= 360.0f;
|
||||
}
|
||||
if ((sp1C.y - sp28.y) < -180.0f) {
|
||||
sp1C.y += 360.0f;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ((sp1C.y - sp28.y) > 180.0f) {
|
||||
sp1C.y -= 360.0f;
|
||||
}
|
||||
if ((sp1C.y - sp28.y) <= -180.0f) {
|
||||
sp1C.y += 360.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
sp4C.x = (sp40.x += (arg9 * sind(sp28.y)));
|
||||
sp4C.z = (sp40.z += (arg9 * cosd(sp28.y)));
|
||||
if (var_r29 == 1) {
|
||||
if (sp40.x >= sp34.x) {
|
||||
sp4C.x = sp40.x = sp34.x;
|
||||
var_r29 = 2;
|
||||
}
|
||||
}
|
||||
else if ((var_r29 == 0) && (sp40.x <= sp34.x)) {
|
||||
sp4C.x = sp40.x = sp34.x;
|
||||
var_r29 = 2;
|
||||
}
|
||||
if (var_r28 == 1) {
|
||||
if (sp40.z >= sp34.z) {
|
||||
sp4C.z = sp40.z = sp34.z;
|
||||
var_r28 = 2;
|
||||
}
|
||||
}
|
||||
else if ((var_r28 == 0) && (sp40.z <= sp34.z)) {
|
||||
sp4C.z = sp40.z = sp34.z;
|
||||
var_r28 = 2;
|
||||
}
|
||||
if (arg4 != 0) {
|
||||
sp1C.y = fn_1_1B554(sp1C.y, sp28.y, argA);
|
||||
}
|
||||
Hu3DModelPosSet(arg0->unk_40[arg1], sp4C.x, sp40.y, sp4C.z);
|
||||
Hu3DModelRotSet(arg0->unk_40[arg1], sp1C.x, sp1C.y, sp1C.z);
|
||||
|
||||
if (var_r29 == 2 && var_r28 == 2) {
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
sp1C.y = Hu3DData[arg0->unk_40[arg1]].rot.y;
|
||||
if (arg4 != 0) {
|
||||
for (var_r26 = 0; var_r26 <= argA; var_r26++) {
|
||||
fn_1_1B7D0(1);
|
||||
if (sp10.y >= 180.0f) {
|
||||
if ((sp1C.y - sp10.y) >= 180.0f) {
|
||||
sp1C.y -= 360.0f;
|
||||
}
|
||||
if ((sp1C.y - sp10.y) < -180.0f) {
|
||||
sp1C.y += 360.0f;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ((sp1C.y - sp10.y) > 180.0f) {
|
||||
sp1C.y -= 360.0f;
|
||||
}
|
||||
if ((sp1C.y - sp10.y) <= -180.0f) {
|
||||
sp1C.y += 360.0f;
|
||||
}
|
||||
}
|
||||
sp10.z = fn_1_1B52C(sp1C.y, sp10.y, var_r26, argA);
|
||||
Hu3DModelRotSet(arg0->unk_40[arg1], sp1C.x, sp10.z, sp1C.z);
|
||||
}
|
||||
}
|
||||
}
|
||||
378
src/REL/mpexDll/mgname.c
Normal file
378
src/REL/mpexDll/mgname.c
Normal file
|
|
@ -0,0 +1,378 @@
|
|||
#include "ext_math.h"
|
||||
#include "game/armem.h"
|
||||
#include "game/audio.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 "REL/mpexDll.h"
|
||||
|
||||
s32 lbl_1_data_788[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,
|
||||
0x140025,
|
||||
0x140026,
|
||||
0x140027,
|
||||
0x140028,
|
||||
0x140029,
|
||||
0x14002A,
|
||||
0x14002B,
|
||||
0x14002C,
|
||||
0x14002D,
|
||||
0x14002E,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x14002F,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140034,
|
||||
0x140035,
|
||||
0x140036,
|
||||
0x140037,
|
||||
0x140038,
|
||||
0x140039,
|
||||
0x14003A,
|
||||
0x14003B,
|
||||
0x14003C,
|
||||
0x14003D,
|
||||
0x14003E,
|
||||
0x14003F,
|
||||
0x140040,
|
||||
0x140041,
|
||||
0x140042,
|
||||
0x140043,
|
||||
0x140044,
|
||||
0x140045,
|
||||
0x140046,
|
||||
0x140047,
|
||||
0x140048,
|
||||
0x140049,
|
||||
0x14004A,
|
||||
0x14004B,
|
||||
0x14004C,
|
||||
0x14004D,
|
||||
0x140042,
|
||||
0x140032,
|
||||
0x140042,
|
||||
0x140042,
|
||||
0x140042,
|
||||
0x140042,
|
||||
0x14004E,
|
||||
0x14004F,
|
||||
0x140050,
|
||||
0x140051,
|
||||
0x140052,
|
||||
0x140053,
|
||||
0x140054,
|
||||
0x140055,
|
||||
0x140056,
|
||||
0x140057,
|
||||
0x140058,
|
||||
0x140059,
|
||||
0x14005A,
|
||||
0x14005B,
|
||||
0x14005C,
|
||||
0x14005D,
|
||||
0x14005E,
|
||||
0x14005F,
|
||||
0x140060,
|
||||
0x140061,
|
||||
0x140062,
|
||||
0x140063,
|
||||
0x140064,
|
||||
0x140065,
|
||||
0x140066,
|
||||
0x140067,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x14002F,
|
||||
0x140033,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140025,
|
||||
0x140030,
|
||||
0x140031,
|
||||
0x140025,
|
||||
0x140025,
|
||||
};
|
||||
|
||||
s32 fn_1_1CB80(SeqWork *arg0, u8 *arg1, s16 arg2)
|
||||
{
|
||||
u8 *var_r31;
|
||||
s16 var_r30;
|
||||
s16 *var_r29;
|
||||
s16 var_r28;
|
||||
s32 *var_r27;
|
||||
s16 var_r26;
|
||||
s32 var_r25;
|
||||
s16 var_r23;
|
||||
s16 *var_r22;
|
||||
AnimData **var_r21;
|
||||
s16 var_r20;
|
||||
s16 var_r19;
|
||||
|
||||
var_r27 = lbl_1_data_788;
|
||||
|
||||
for (var_r23 = 0; var_r23 < 0x10; var_r23++) {
|
||||
if (arg0->spr_grp[var_r23] == -1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_r23 == 0x10) {
|
||||
return -1;
|
||||
}
|
||||
var_r21 = HuMemDirectMalloc(HEAP_SYSTEM, 0x190);
|
||||
var_r22 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
|
||||
var_r29 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
|
||||
|
||||
for (var_r31 = arg1, var_r30 = 0, var_r28 = 0; var_r31[0] != 0; var_r31++) {
|
||||
if (var_r31[0] == 0x20 || var_r31[0] == 0x10) {
|
||||
var_r30 += 0xE;
|
||||
}
|
||||
else if (var_r31[0] < 0x30 || var_r31[0] == 0x80 || var_r31[0] == 0x81) {
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
if (var_r31[1] == 0x80) {
|
||||
if ((var_r31[0] >= 0x96) && (var_r31[0] <= 0xA4)) {
|
||||
var_r25 = var_r27[var_r31[0] + 0x6A];
|
||||
}
|
||||
else if ((var_r31[0] >= 0xAA) && (var_r31[0] <= 0xAE)) {
|
||||
var_r25 = var_r27[var_r31[0] + 0x65];
|
||||
}
|
||||
else if ((var_r31[0] >= 0xD6) && (var_r31[0] <= 0xE4)) {
|
||||
var_r25 = var_r27[var_r31[0] + 0x43];
|
||||
}
|
||||
else if ((var_r31[0] >= 0xEA) && (var_r31[0] <= 0xEE)) {
|
||||
var_r25 = var_r27[var_r31[0] + 0x3E];
|
||||
}
|
||||
}
|
||||
else if (var_r31[1] == 0x81) {
|
||||
if ((var_r31[0] >= 0xAA) && (var_r31[0] <= 0xAE)) {
|
||||
var_r25 = var_r27[var_r31[0] + 0x6A];
|
||||
}
|
||||
else if ((var_r31[0] >= 0xEA) && (var_r31[0] <= 0xEE)) {
|
||||
var_r25 = var_r27[var_r31[0] + 0x43];
|
||||
}
|
||||
}
|
||||
else {
|
||||
var_r25 = var_r27[var_r31[0]];
|
||||
}
|
||||
var_r21[var_r28] = HuSprAnimReadFile(var_r25);
|
||||
var_r22[var_r28] = var_r30;
|
||||
if ((var_r31[0] >= 0x61) && (var_r31[0] <= 0x7A)) {
|
||||
var_r29[var_r28] = 2;
|
||||
var_r30 += 0x12;
|
||||
}
|
||||
else if ((var_r31[0] == 0xC2) || (var_r31[0] == 0xC3)) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x12;
|
||||
}
|
||||
else if (var_r31[0] == 0x5C) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 8;
|
||||
}
|
||||
else if ((var_r31[0] >= 0x87) && (var_r31[0] <= 0x8F)) {
|
||||
var_r29[var_r28] = 4;
|
||||
var_r30 += 0x18;
|
||||
}
|
||||
else if ((var_r31[0] >= 0xC7) && (var_r31[0] <= 0xCF)) {
|
||||
var_r29[var_r28] = 4;
|
||||
var_r30 += 0x18;
|
||||
}
|
||||
else if ((var_r31[0] == 0x3D) || (var_r31[0] == 0x84)) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x14;
|
||||
}
|
||||
else {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x1C;
|
||||
}
|
||||
var_r28++;
|
||||
}
|
||||
}
|
||||
var_r20 = HuSprGrpCreate(var_r28);
|
||||
arg0->spr_grp[var_r23] = var_r20;
|
||||
arg0->alt_word_len = var_r30;
|
||||
var_r30 = (var_r30 / 2) - 0xE;
|
||||
for (var_r26 = 0; var_r26 < var_r28; var_r26++) {
|
||||
var_r19 = HuSprCreate(var_r21[var_r26], 0, 0);
|
||||
HuSprGrpMemberSet(var_r20, var_r26, var_r19);
|
||||
HuSprPosSet(var_r20, var_r26, var_r22[var_r26] - var_r30, var_r29[var_r26]);
|
||||
}
|
||||
|
||||
arg0->word_len = var_r28;
|
||||
HuMemDirectFree(var_r21);
|
||||
HuMemDirectFree(var_r22);
|
||||
HuMemDirectFree(var_r29);
|
||||
return var_r20;
|
||||
}
|
||||
|
||||
s32 fn_1_1D02C(s32 arg0)
|
||||
{
|
||||
SeqWork sp10;
|
||||
s16 spC[2];
|
||||
|
||||
u8 *var_r31;
|
||||
s32 var_r30;
|
||||
s16 var_r29;
|
||||
u8 *var_r28;
|
||||
s32 var_r27;
|
||||
s32 var_r26;
|
||||
s16 var_r25;
|
||||
|
||||
var_r25 = GWGameStat.language;
|
||||
lbl_1_bss_6AC = var_r25;
|
||||
for (var_r30 = 0; var_r30 < 0x10; var_r30++) {
|
||||
sp10.sprite[var_r30] = sp10.spr_grp[var_r30] = -1;
|
||||
}
|
||||
var_r28 = MessData_MesPtrGet(messDataPtr, arg0);
|
||||
var_r31 = var_r28;
|
||||
var_r30 = 0;
|
||||
var_r29 = 0;
|
||||
|
||||
while (TRUE) {
|
||||
if (var_r31[0] == 0 || var_r31[0] == 0xA) {
|
||||
if (var_r31[0] == 0) {
|
||||
var_r30 = 1;
|
||||
}
|
||||
var_r31[0] = 0;
|
||||
if (lbl_1_bss_6AC == 0) {
|
||||
var_r27 = 1;
|
||||
}
|
||||
else {
|
||||
var_r27 = 0;
|
||||
}
|
||||
var_r26 = fn_1_1CB80(&sp10, var_r28, var_r27);
|
||||
HuSprGrpPosSet(sp10.spr_grp[var_r29], 288.0f, 240.0f);
|
||||
spC[var_r29] = sp10.alt_word_len;
|
||||
var_r29++;
|
||||
if (var_r30 == 0) {
|
||||
var_r28 = var_r31 + 1;
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
var_r31++;
|
||||
}
|
||||
return var_r26;
|
||||
}
|
||||
|
|
@ -2797,9 +2797,9 @@ static s32 SeqInitWin(SeqWork *work, va_list params)
|
|||
word_x = (((HU_DISP_WIDTH-word_x)/2.0f)+(winnerNameW[1]/2))-HU_DISP_CENTERX;
|
||||
}
|
||||
} else {
|
||||
if(abs(winPosOfs[num_winners-1][j][0]) == (HU_DISP_WIDTHF/4)) {
|
||||
if(abs(winPosOfs[num_winners-1][j][0]) == 144.0f) {
|
||||
if(winnerNameW[j]+32 < HU_DISP_CENTERX) {
|
||||
word_x = (HU_DISP_WIDTHF/4)+32.0f;
|
||||
word_x = 176.0f;
|
||||
} else {
|
||||
word_x = 32.0f+((winnerNameW[j]*work->win_scale)/2.0f);
|
||||
}
|
||||
|
|
@ -2900,9 +2900,9 @@ static s32 SeqUpdateWin(SeqWork *work)
|
|||
pos_x = winnerNameW[1]+winnerNameW[0]+32;
|
||||
pos_x = (((HU_DISP_WIDTH-pos_x)/2.0f)+(winnerNameW[1]/2))-HU_DISP_CENTERX;
|
||||
} else {
|
||||
if(abs(winPosOfs[work->word_len-2][idx][0]) == (HU_DISP_WIDTHF/4)) {
|
||||
if(abs(winPosOfs[work->word_len-2][idx][0]) == 144.0f) {
|
||||
if(winnerNameW[idx]+32 < HU_DISP_CENTERX) {
|
||||
pos_x = (HU_DISP_WIDTHF/4)+32;
|
||||
pos_x = 176.0f;
|
||||
} else {
|
||||
pos_x = 32.0f+((winnerNameW[idx]*work->win_scale)/2.0f);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue