x64 and hsfload improvements, build every REL (#582)
* Port some of hsfload.c * More byteswaps in hsfload.c * Finish hsfload besides cenv * hsfload fixes * Some x64 improvements * More x64 improvements * 64 bit improvements * Link in lots of files * Fix armem bug * Fix dll killing, load modeseldll * Fixes, clearing TODOs * Tons of warning/error fixes * Linux build fixes * Add -fPIC flag to fix build on x64 linux * GXSETARRAY sizes and misc fixes * More fixes * Build all RELs * Implement C_Quat functions * Fix PAL build
This commit is contained in:
parent
bc19d2263b
commit
34cf507e3f
186 changed files with 3256 additions and 1540 deletions
|
|
@ -1,10 +1,17 @@
|
|||
#include "REL/board_executor.h"
|
||||
#include "math.h"
|
||||
|
||||
#ifdef TARGET_PC
|
||||
void ObjectSetup(void) {
|
||||
BoardObjectSetup(BoardCreate, BoardDestroy);
|
||||
}
|
||||
#else
|
||||
static void ObjectSetup(void) {
|
||||
BoardObjectSetup(BoardCreate, BoardDestroy);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __MWERKS__
|
||||
s32 _prolog(void) {
|
||||
const VoidFunc* ctors = _ctors;
|
||||
while (*ctors != 0) {
|
||||
|
|
@ -21,4 +28,5 @@ void _epilog(void) {
|
|||
(**dtors)();
|
||||
dtors++;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
#include "game/wipe.h"
|
||||
#include "math.h"
|
||||
|
||||
#include "port/byteswap.h"
|
||||
|
||||
#include "data_num/title.h"
|
||||
|
||||
|
|
@ -125,10 +126,7 @@ void ObjectSetup(void)
|
|||
HuSprGrpMemberSet(group, 1, sprite_hudson);
|
||||
HuSprPosSet(group, 1, 288, 240);
|
||||
HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF);
|
||||
#ifdef __MWERKS__
|
||||
// TODO PC
|
||||
HuWinInit(1);
|
||||
#endif
|
||||
BootTitleCreate();
|
||||
SystemInitF = 1;
|
||||
}
|
||||
|
|
@ -161,13 +159,10 @@ void ObjectSetup(void)
|
|||
WipeColorSet(255, 255, 255);
|
||||
if (!SystemInitF) {
|
||||
tick_prev = OSGetTick();
|
||||
#ifdef __MWERKS__
|
||||
// TODO PC
|
||||
CharManInit();
|
||||
HuWindowInit();
|
||||
MGSeqInit();
|
||||
HuWinInit(1);
|
||||
#endif
|
||||
BootTitleCreate();
|
||||
data = HuSprAnimReadFile(TITLE_HUDSON_ANM);
|
||||
sprite_hudson = HuSprCreate(data, 0, 0);
|
||||
|
|
@ -269,8 +264,6 @@ void ObjectSetup(void)
|
|||
HuPrcVSleep();
|
||||
}
|
||||
skip_wait = FALSE;
|
||||
#ifdef __MWERKS__
|
||||
// TODO PC
|
||||
while (!HuTHPEndCheck()) {
|
||||
UpdateDemoMess();
|
||||
if (HuPadBtnDown[0] & (PAD_BUTTON_START | PAD_BUTTON_A)) {
|
||||
|
|
@ -279,21 +272,14 @@ void ObjectSetup(void)
|
|||
}
|
||||
HuPrcVSleep();
|
||||
}
|
||||
#endif
|
||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
|
||||
while (WipeStatGet()) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
#ifdef __MWERKS__
|
||||
// TODO PC
|
||||
HuWinKill(demoWinId);
|
||||
HuTHPClose();
|
||||
#endif
|
||||
HuPrcVSleep();
|
||||
#ifdef __MWERKS__
|
||||
// TODO PC
|
||||
HuSprGrpKill(group_thp);
|
||||
#endif
|
||||
if (!skip_wait) {
|
||||
HuPrcSleep(60);
|
||||
}
|
||||
|
|
@ -346,16 +332,10 @@ void ObjectSetup(void)
|
|||
int i;
|
||||
for (i = 0; demoMessTimeTbl[i * 2] != -1; i++) {
|
||||
if (frame == demoMessTimeTbl[i * 2]) {
|
||||
#ifdef __MWERKS__
|
||||
// TODO PC
|
||||
HuWinMesSet(demoWinId, MAKE_MESSID(54, i));
|
||||
#endif
|
||||
}
|
||||
if (frame == demoMessTimeTbl[(i * 2) + 1]) {
|
||||
#ifdef __MWERKS__
|
||||
// TODO PC
|
||||
HuWinHomeClear(demoWinId);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,10 @@
|
|||
#include "ext_math.h"
|
||||
#include "math.h"
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#include "game/audio.h"
|
||||
#endif
|
||||
|
||||
float lbl_2_data_0 = -7.1875f;
|
||||
|
||||
s16 lbl_2_data_4[] = { 0, 1, 2, 3, 4, 5, 6, 7 };
|
||||
|
|
|
|||
|
|
@ -11,6 +11,10 @@
|
|||
|
||||
#include "REL/m401Dll.h"
|
||||
|
||||
#ifndef __MWERKS__
|
||||
extern s32 rand8(void);
|
||||
#endif
|
||||
|
||||
struct Bss13EData {
|
||||
s16 unk0;
|
||||
s16 unk2[3];
|
||||
|
|
@ -43,7 +47,7 @@ void fn_2_10240(Vec *arg0, Vec *arg1)
|
|||
camera = &Hu3DCamera[0];
|
||||
MTXLookAt(lookat, &camera->pos, &camera->up, &camera->target);
|
||||
MTXMultVec(lookat, arg0, arg0);
|
||||
MTXPerspective(proj, camera->fov, camera->aspect, camera->near, camera->far);
|
||||
MTXPerspective(proj, camera->fov, camera->aspect, camera->nnear, camera->ffar);
|
||||
coord[0] = (arg0->x * proj[0][0]) + (arg0->y * proj[0][1]) + (arg0->z * proj[0][2]) + proj[0][3];
|
||||
coord[1] = (arg0->x * proj[1][0]) + (arg0->y * proj[1][1]) + (arg0->z * proj[1][2]) + proj[1][3];
|
||||
coord[2] = (arg0->x * proj[2][0]) + (arg0->y * proj[2][1]) + (arg0->z * proj[2][2]) + proj[2][3];
|
||||
|
|
@ -319,7 +323,6 @@ void fn_2_113AC(omObjData *object)
|
|||
M401WorkPlayer *temp_r28;
|
||||
omObjData *temp_r27;
|
||||
ParticleData *temp_r25;
|
||||
s16 temp_r24;
|
||||
temp_r30 = object->data;
|
||||
temp_r30->unk0.z += (lbl_2_bss_50 * 0.5f);
|
||||
object->trans.x = temp_r30->unk0.x;
|
||||
|
|
@ -564,7 +567,6 @@ void fn_2_123F8(ModelData *model, ParticleData *particle, Mtx matrix)
|
|||
HsfanimStruct01 *temp_r31;
|
||||
s32 temp_r29;
|
||||
s32 temp_r28;
|
||||
UnkWork10A88 *temp_r27;
|
||||
if (!particle->unk_02) {
|
||||
particle->unk_02 = 1;
|
||||
temp_r31 = particle->unk_48;
|
||||
|
|
|
|||
|
|
@ -682,7 +682,9 @@ static void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3)
|
|||
VECAdd((Vec *)&arg0, &sp18, (Vec *)&arg0);
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
static void fn_1_2454(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@ void ObjectSetup(void)
|
|||
var_r29 = Hu3DGLightCreateV(&lbl_1_data_770, &lbl_1_bss_10, &lbl_1_data_788);
|
||||
Hu3DGLightInfinitytSet(var_r29);
|
||||
Hu3DGLightStaticSet(var_r29, 1);
|
||||
Hu3DShadowCreate(45.0f, var_r30->near, var_r30->far);
|
||||
Hu3DShadowCreate(45.0f, var_r30->nnear, var_r30->ffar);
|
||||
Hu3DShadowTPLvlSet(0.625f);
|
||||
Hu3DShadowPosSet(&lbl_1_data_78C, &lbl_1_data_798, &lbl_1_data_77C);
|
||||
HuAudSndGrpSet(29);
|
||||
|
|
@ -471,7 +471,12 @@ void fn_1_7E0(omObjData *object)
|
|||
espTPLvlSet(var_r31->unk_02[var_r30], 0.5f);
|
||||
break;
|
||||
case 2:
|
||||
#ifdef NON_MATCHING
|
||||
// TODO 1 or 0?
|
||||
var_r31->unk_02[var_r30] = espEntry(lbl_1_data_86C[var_r27->unk_02[5]], 0, 0);
|
||||
#else
|
||||
var_r31->unk_02[var_r30] = espEntry(lbl_1_data_86C[var_r27->unk_02[5]]);
|
||||
#endif
|
||||
espPriSet(var_r31->unk_02[var_r30], 255);
|
||||
break;
|
||||
case 3:
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
#include "game/gamework_data.h"
|
||||
#include "game/hsfanim.h"
|
||||
#include "game/hsfdraw.h"
|
||||
#include <game/hsfex.h>
|
||||
#include "game/hsfman.h"
|
||||
#include "game/hsfmotion.h"
|
||||
#include "game/memory.h"
|
||||
|
|
@ -23,6 +24,11 @@
|
|||
#include "dolphin.h"
|
||||
#include "ext_math.h"
|
||||
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#include "game/audio.h"
|
||||
#endif
|
||||
|
||||
#undef ABS
|
||||
#define ABS(x) ((0 > (x)) ? -(x) : (x))
|
||||
|
||||
|
|
@ -1277,7 +1283,9 @@ float fn_1_5664(Vec *arg0)
|
|||
return lbl_1_bss_5AC.unk04[fn_1_23B4(arg0)].y;
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
Vec lbl_1_data_100 = { 0.0f, 1.0f, 0.0f };
|
||||
Vec lbl_1_data_10C = { 450.0f, 300.0f, 500.0f };
|
||||
|
|
|
|||
|
|
@ -8,6 +8,10 @@
|
|||
|
||||
#include "REL/m406Dll.h"
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#include <game/frand.h>
|
||||
#endif
|
||||
|
||||
typedef struct UnkM406Struct {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
|
|
@ -222,7 +226,7 @@ void fn_1_D488(float arg8, Vec *arg0, Vec *arg1, Vec *arg2);
|
|||
void fn_1_D518(Mtx arg0, Vec *arg1);
|
||||
float fn_1_D5CC(Vec *arg0, Vec *arg1, float arg8, float arg9);
|
||||
|
||||
extern u32 GlobalCounter;
|
||||
SHARED_SYM extern u32 GlobalCounter;
|
||||
|
||||
Vec lbl_1_data_F0[0x46] = {
|
||||
{ -495.876f, 50.005f, -0.0f },
|
||||
|
|
@ -455,7 +459,7 @@ UnkM406Struct5 lbl_1_bss_48;
|
|||
Vec lbl_1_bss_3C;
|
||||
s32 lbl_1_bss_30[3];
|
||||
|
||||
extern LightData Hu3DLocalLight[0x20];
|
||||
SHARED_SYM extern LightData Hu3DLocalLight[0x20];
|
||||
|
||||
omObjData *fn_1_2308(Process *arg0)
|
||||
{
|
||||
|
|
@ -1250,7 +1254,11 @@ void fn_1_4964(ModelData *arg0)
|
|||
fn_1_71C4(spC4, spA0, 100.0f + (50.0f * (0.007874016f * (frand() & 0x7F))), -0.1f, sp3C);
|
||||
}
|
||||
var_r29 = var_r30->unk_2C;
|
||||
#ifdef NON_MATCHING
|
||||
memset(&lbl_1_bss_48, 0, sizeof(UnkM406Struct5));
|
||||
#else
|
||||
memset(lbl_1_bss_48, 0, sizeof(UnkM406Struct5));
|
||||
#endif
|
||||
for (var_r27 = 0; var_r27 < 105; var_r27++, var_r29++) {
|
||||
fn_1_D488(var_r29->unk_04, &var_r30->unk_84[var_r29->unk_00], &var_r30->unk_84[var_r29->unk_00 + 1], &var_r29->unk_18);
|
||||
if (var_r29->unk_08 >= 0) {
|
||||
|
|
@ -2946,13 +2954,13 @@ void fn_1_BC18(ModelData *arg0, float (*arg1)[4])
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_40, 0xC);
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_40, var_r31->unk_26 * sizeof(Vec) * 4, sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, 0x44);
|
||||
GXSETARRAY(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, sizeof(GXColor), 0x44);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, var_r31->unk_44, var_r31->unk_26 * sizeof(Vec2f) * 4, sizeof(Vec2f));
|
||||
if (HmfInverseMtxF3X3(arg1, sp128) == 0) {
|
||||
MTXIdentity(sp128);
|
||||
}
|
||||
|
|
@ -3162,10 +3170,10 @@ void fn_1_C86C(ModelData *arg0, Mtx arg1)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_40, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_40, var_r31->unk_26 * sizeof(Vec) * 4, sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, 0x44);
|
||||
GXSETARRAY(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, sizeof(GXColor), 0x44);
|
||||
if (HmfInverseMtxF3X3(arg1, sp9C) == 0) {
|
||||
MTXIdentity(sp9C);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,7 +74,6 @@ ObjFuncs lbl_1_data_258[] = {
|
|||
|
||||
void fn_1_2354(Process *arg0)
|
||||
{
|
||||
Process *sp8;
|
||||
u32 i;
|
||||
u32 j;
|
||||
|
||||
|
|
@ -123,7 +122,7 @@ void fn_1_2564(void)
|
|||
|
||||
void fn_1_25C0(void)
|
||||
{
|
||||
u32 i, j;
|
||||
u32 i;
|
||||
|
||||
lbl_1_bss_38 = 0;
|
||||
|
||||
|
|
@ -371,7 +370,7 @@ void fn_1_31F8(omObjData *arg0)
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_3360(omObjData *) { }
|
||||
void fn_1_3360(omObjData *arg0) { }
|
||||
|
||||
void fn_1_3364(omObjData *arg0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1042,7 +1042,7 @@ void fn_1_10484(UnkFn10484 *arg0, HsfFace *arg1, HsfDrawData *arg2, GXColor *arg
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, temp_r30->data.vertex->data, sizeof(HsfVector3f));
|
||||
GXSETARRAY(GX_VA_POS, temp_r30->data.vertex->data, temp_r30->data.vertex->count * sizeof(HsfVector3f), sizeof(HsfVector3f));
|
||||
if (temp_r25 & 0x2) {
|
||||
GXSetVtxDesc(GX_VA_NBT, GX_DIRECT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NBT, GX_NRM_NBT, GX_S16, 8);
|
||||
|
|
@ -1050,15 +1050,15 @@ void fn_1_10484(UnkFn10484 *arg0, HsfFace *arg1, HsfDrawData *arg2, GXColor *arg
|
|||
else {
|
||||
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_NRM, temp_r30->data.normal->data, sizeof(HsfVector3f));
|
||||
GXSETARRAY(GX_VA_NRM, temp_r30->data.normal->data, temp_r30->data.vertex->count * sizeof(HsfVector3f), sizeof(HsfVector3f));
|
||||
}
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, temp_r30->data.st->data, sizeof(HsfVector2f));
|
||||
GXSETARRAY(GX_VA_TEX0, temp_r30->data.st->data, temp_r30->data.vertex->count * sizeof(HsfVector2f), sizeof(HsfVector2f));
|
||||
if (temp_r25 & 0x4) {
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, arg3, sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_CLR0, arg3, arg0->unk4->data.color->count * sizeof(GXColor), sizeof(GXColor));
|
||||
}
|
||||
GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1);
|
||||
GXSetZCompLoc(GX_FALSE);
|
||||
|
|
@ -1150,7 +1150,7 @@ void fn_1_10830(ModelData *arg0, HsfBitmap *arg1, HsfAttribute *arg2, s16 arg3)
|
|||
GXSetTevColor(reg, color_var); \
|
||||
}
|
||||
|
||||
extern u32 texMtxTbl[];
|
||||
SHARED_SYM extern u32 texMtxTbl[];
|
||||
|
||||
void fn_1_10B60(UnkFn10484 *arg0, HsfMaterial *arg1)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@
|
|||
|
||||
void fn_1_BF88(s16 arg0, s16 arg1)
|
||||
{
|
||||
s32 var_r31;
|
||||
s32 var_r31_2;
|
||||
s32 i;
|
||||
unkStruct8 *var_r29;
|
||||
unkStruct9Sub *var_r30;
|
||||
|
||||
|
|
@ -20,11 +19,11 @@ void fn_1_BF88(s16 arg0, s16 arg1)
|
|||
var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * sizeof(unkStruct9Sub), MEMORY_DEFAULT_NUM);
|
||||
lbl_1_bss_F0.unkC = var_r30;
|
||||
|
||||
for (var_r31 = 0; var_r31 < arg0; var_r31++, var_r29++) {
|
||||
for (i = 0; i < arg0; i++, var_r29++) {
|
||||
var_r29->unk8 = 0;
|
||||
}
|
||||
|
||||
for (var_r31 = 0; var_r31 < arg1; var_r31++, var_r30++) {
|
||||
for (i = 0; i < arg1; i++, var_r30++) {
|
||||
var_r30->unk6 = 0;
|
||||
var_r30->unk8 = 0;
|
||||
}
|
||||
|
|
@ -48,7 +47,7 @@ void fn_1_C0C0(void)
|
|||
Hu3DModelKill(lbl_1_bss_F0.unk4);
|
||||
}
|
||||
|
||||
extern u8 texMtxTbl[];
|
||||
SHARED_SYM extern u8 texMtxTbl[];
|
||||
|
||||
void fn_1_C164(unkStruct8 *arg0)
|
||||
{
|
||||
|
|
@ -214,18 +213,18 @@ void fn_1_C164(unkStruct8 *arg0)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk40, 12);
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk40, sizeof(Vec[4]), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, var_r31->unk44, 4);
|
||||
GXSETARRAY(GX_VA_CLR0, var_r31->unk44, sizeof(GXColor[4]), sizeof(GXColor));
|
||||
for (var_r26 = 0; var_r26 < var_r31->unk32; var_r26++) {
|
||||
GXSetVtxDesc(var_r26 + GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, var_r26 + GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(var_r26 + GX_VA_TEX0, var_r31->unk54[var_r26].unk4, 8);
|
||||
GXSETARRAY(var_r26 + GX_VA_TEX0, var_r31->unk54[var_r26].unk4, sizeof(HsfVector2f[4]), sizeof(HsfVector2f));
|
||||
}
|
||||
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_NRM, var_r31->unk48, 12);
|
||||
GXSETARRAY(GX_VA_NRM, var_r31->unk48, sizeof(Vec), sizeof(Vec));
|
||||
GXCallDisplayList(var_r31->unk3C, var_r31->unk38);
|
||||
}
|
||||
}
|
||||
|
|
@ -745,7 +744,7 @@ s32 fn_1_E2A8(s16 arg0, u8 arg1, u32 arg2, s16 arg3, s16 arg4)
|
|||
}
|
||||
temp_f30 = temp_r30->unk50;
|
||||
temp_f31 = temp_r30->unk4E;
|
||||
var_r29 = var_r28->unk40 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x30, MEMORY_DEFAULT_NUM);
|
||||
var_r29 = var_r28->unk40 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkStruct11), MEMORY_DEFAULT_NUM);
|
||||
|
||||
for (var_r25 = 0; var_r25 < 1; var_r29++, var_r25++) {
|
||||
var_r29->unk0.x = (-0.5f * temp_f31);
|
||||
|
|
|
|||
|
|
@ -212,12 +212,7 @@ void fn_1_DDC(omObjData *object)
|
|||
|
||||
void fn_1_F70(omObjData *object)
|
||||
{
|
||||
s16 *sp8;
|
||||
s16 temp_r3;
|
||||
s16 temp_r3_2;
|
||||
s32 var_r31;
|
||||
|
||||
sp8 = (s16 *)object->data;
|
||||
s16 *sp8 = (s16 *)object->data;
|
||||
switch (fn_1_2454(7)) {
|
||||
case 1:
|
||||
if (lbl_1_bss_6 == 0) {
|
||||
|
|
@ -225,10 +220,11 @@ void fn_1_F70(omObjData *object)
|
|||
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 0x3C);
|
||||
}
|
||||
if (WipeStatGet() == 0) {
|
||||
s32 i;
|
||||
fn_1_2414(7, 2);
|
||||
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
omVibrate(var_r31, 0xC8, 6, 6);
|
||||
for (i = 0; i < 4; i++) {
|
||||
omVibrate(i, 0xC8, 6, 6);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
@ -382,13 +378,7 @@ s8 fn_1_10E8(omObjData *object)
|
|||
|
||||
s8 fn_1_1B74(omObjData *object)
|
||||
{
|
||||
f32 temp_f30;
|
||||
f32 temp_f31;
|
||||
s16 temp_r27;
|
||||
s32 temp_r28;
|
||||
unkStruct4 *temp_r30;
|
||||
|
||||
temp_r30 = (unkStruct4 *)object->data;
|
||||
unkStruct4 *temp_r30 = object->data;
|
||||
switch (lbl_1_bss_8) {
|
||||
case 0:
|
||||
temp_r30->unk2 = MGSeqCreate(3, 1);
|
||||
|
|
@ -440,14 +430,12 @@ s8 fn_1_1B74(omObjData *object)
|
|||
|
||||
void fn_1_2098(omObjData *object)
|
||||
{
|
||||
ModelData *temp_r31;
|
||||
f32 var_f28;
|
||||
f32 var_f29;
|
||||
f32 var_f31;
|
||||
f32 var_f30;
|
||||
s32 var_r30;
|
||||
|
||||
temp_r31 = &Hu3DData[lbl_1_bss_DC->model[4]];
|
||||
ModelData *temp_r31 = &Hu3DData[lbl_1_bss_DC->model[4]];
|
||||
if (fn_1_2454(0x18) != 0x18) {
|
||||
lbl_1_bss_18 += 0.008f;
|
||||
if (lbl_1_bss_18 >= 1.0f) {
|
||||
|
|
@ -584,10 +572,6 @@ void fn_1_2484(omObjData *object)
|
|||
|
||||
void fn_1_2DCC(omObjData *object)
|
||||
{
|
||||
u16 spE;
|
||||
u16 spC;
|
||||
u16 spA;
|
||||
u16 sp8;
|
||||
ModelData *temp_r30;
|
||||
f32 temp_f29;
|
||||
f32 var_f31;
|
||||
|
|
@ -597,8 +581,6 @@ void fn_1_2DCC(omObjData *object)
|
|||
s16 var_r28;
|
||||
s16 var_r27;
|
||||
s16 var_r29;
|
||||
s32 temp_r16;
|
||||
s16 var_r18;
|
||||
unkStruct4 *var_r31;
|
||||
|
||||
if ((lbl_1_bss_24.unk0 == 0) || (fn_1_2454(0x18) == 0x18)) {
|
||||
|
|
@ -991,7 +973,6 @@ void fn_1_4FFC(s16 arg0, f32 arg1, f32 arg2, f32 arg3, s16 arg4)
|
|||
Vec sp2C;
|
||||
Vec sp20;
|
||||
GXColor sp1A;
|
||||
s16 sp18;
|
||||
f32 temp_f31;
|
||||
s16 var_r30;
|
||||
unkStruct5 *temp_r31;
|
||||
|
|
@ -1179,7 +1160,6 @@ unkStruct5 *fn_1_58E0(s16 arg0, Vec *arg1, Vec *arg2, f32 arg3, GXColor *arg4)
|
|||
s16 fn_1_5A18(AnimData *arg0, s16 arg1, f32 arg8, s16 arg2, s16 arg3)
|
||||
{
|
||||
ModelData *temp_r28;
|
||||
f32 temp_f0;
|
||||
s16 var_r21;
|
||||
s16 var_r22;
|
||||
s16 var_r30;
|
||||
|
|
@ -1377,13 +1357,13 @@ void fn_1_602C(ModelData *arg0, f32 (*arg1)[4])
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, temp_r30->unk1C, 12);
|
||||
GXSETARRAY(GX_VA_POS, temp_r30->unk1C, temp_r30->unk0 * sizeof(Vec) * 4, sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, temp_r30->unk24, 4);
|
||||
GXSETARRAY(GX_VA_CLR0, temp_r30->unk24, temp_r30->unk0 * sizeof(GXColor), sizeof(GXColor));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, temp_r30->unk20, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, temp_r30->unk20, temp_r30->unk0 * sizeof(Vec2f) * 4, sizeof(Vec2f));
|
||||
fn_1_40A4(arg1, sp128);
|
||||
MTXReorder(sp128, spF8);
|
||||
if (((u8)omPauseChk() == 0) && (temp_r30->unkC)) {
|
||||
|
|
|
|||
|
|
@ -174,17 +174,11 @@ void fn_1_7344(omObjData *arg0)
|
|||
f32 temp_f28;
|
||||
f32 temp_f29;
|
||||
f32 temp_f30;
|
||||
f32 var_f25;
|
||||
f32 var_f26;
|
||||
f32 var_f27;
|
||||
f32 var_f31;
|
||||
s16 temp_r0;
|
||||
s32 temp_r19;
|
||||
s16 temp_r22;
|
||||
s16 temp_r26;
|
||||
s16 temp_r25;
|
||||
s16 var_r20;
|
||||
s16 var_r21;
|
||||
s16 var_r27;
|
||||
s16 var_r28;
|
||||
s32 var_r24;
|
||||
|
|
@ -379,23 +373,15 @@ void fn_1_7FE8(omObjData *arg0)
|
|||
{
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
s32 sp10;
|
||||
f32 spC;
|
||||
s16 sp8;
|
||||
unkStruct10 *var_r30;
|
||||
unkStruct8Sub *temp_r29;
|
||||
f32 temp_f0;
|
||||
f32 temp_f0_2;
|
||||
f32 temp_f1;
|
||||
f32 temp_f29;
|
||||
f32 temp_f30;
|
||||
f32 var_f28;
|
||||
s32 var_r28;
|
||||
unkStruct7 *temp_r31;
|
||||
|
||||
temp_r31 = (unkStruct7 *)arg0->data;
|
||||
sp10 = arg0->model[0];
|
||||
sp8 = temp_r31->unk1C;
|
||||
unkStruct7 *temp_r31 = (unkStruct7 *)arg0->data;
|
||||
s32 sp10 = arg0->model[0];
|
||||
s16 sp8 = temp_r31->unk1C;
|
||||
temp_r31->unkE = temp_r31->unk10 = 0;
|
||||
temp_r29 = fn_1_CCCC(temp_r31->unk57, 0);
|
||||
sp20.x = sp20.y = sp20.z = 0.0f;
|
||||
|
|
@ -1023,10 +1009,8 @@ s32 fn_1_A584(unkStruct10 *arg0)
|
|||
|
||||
s8 fn_1_A9C0(Vec *arg0, f32 *arg1)
|
||||
{
|
||||
f32 sp8;
|
||||
f32 temp_f29;
|
||||
f32 var_f30;
|
||||
f32 var_f28;
|
||||
s32 var_r27;
|
||||
s32 var_r29;
|
||||
unkStruct10 *var_r31;
|
||||
|
|
@ -1080,8 +1064,6 @@ void fn_1_AC08(s32 *arg0, s32 arg1)
|
|||
f32 fn_1_AD40(f32 arg0, f32 arg1, f32 arg2)
|
||||
{
|
||||
f32 var_f31;
|
||||
f32 var_f30;
|
||||
f32 var_f29;
|
||||
|
||||
var_f31 = fmodf(arg1 - arg0, 360.0);
|
||||
if (var_f31 < 0.0f) {
|
||||
|
|
|
|||
|
|
@ -535,7 +535,6 @@ float fn_1_4FEC(Vec arg0, Vec arg1, float arg8, Vec arg2, Vec arg3, float arg9,
|
|||
float sp2C;
|
||||
|
||||
float var_f28;
|
||||
float var_f26;
|
||||
float var_f25;
|
||||
float var_f24;
|
||||
float var_f23;
|
||||
|
|
@ -777,19 +776,6 @@ void fn_1_61DC(UnkM410Struct2 *arg0, UnkM410Struct2 *arg1)
|
|||
Vec sp68;
|
||||
Vec sp5C;
|
||||
Vec sp50;
|
||||
Vec sp44;
|
||||
Vec sp38;
|
||||
Vec sp2C;
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
|
||||
Vec *var_r29;
|
||||
Vec *var_r28;
|
||||
Vec *var_r27;
|
||||
Vec *var_r26;
|
||||
Vec *var_r25;
|
||||
Vec *var_r24;
|
||||
|
||||
if (arg0->unk_00_field1 || arg1->unk_00_field1) {
|
||||
if (arg0->unk_00_field1) {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
#include "REL/m410Dll.h"
|
||||
|
||||
#include <game/audio.h>
|
||||
|
||||
Process *lbl_1_bss_28;
|
||||
omObjData *lbl_1_bss_24;
|
||||
omObjData *lbl_1_bss_20;
|
||||
|
|
@ -223,11 +225,7 @@ void fn_1_DEC(omObjData *object)
|
|||
|
||||
void fn_1_FF0(omObjData *object)
|
||||
{
|
||||
void *var_r31;
|
||||
UnkM410Struct *var_r29;
|
||||
void *var_r28;
|
||||
|
||||
var_r29 = object->data;
|
||||
UnkM410Struct *var_r29 = object->data;
|
||||
|
||||
fn_1_5A8(object);
|
||||
switch (var_r29->unk_14) {
|
||||
|
|
@ -265,11 +263,8 @@ void fn_1_FF0(omObjData *object)
|
|||
|
||||
void fn_1_139C(omObjData *object)
|
||||
{
|
||||
UnkM410Struct *var_r29;
|
||||
s32 var_r27;
|
||||
|
||||
var_r29 = object->data;
|
||||
var_r27 = 0;
|
||||
UnkM410Struct *var_r29 = object->data;
|
||||
s32 var_r27 = 0;
|
||||
fn_1_5A8(object);
|
||||
|
||||
if (!--var_r29->unk_20) {
|
||||
|
|
@ -470,9 +465,6 @@ s32 fn_1_28DC(void)
|
|||
void fn_1_2914(Vec *arg0, Vec *arg1)
|
||||
{
|
||||
Vec sp10;
|
||||
float var_f29;
|
||||
float var_f28;
|
||||
float var_f27;
|
||||
|
||||
sp10.x = arg1->x - arg0->x;
|
||||
sp10.y = arg1->y - arg0->y;
|
||||
|
|
|
|||
|
|
@ -259,14 +259,8 @@ void fn_1_8414(omObjData *object)
|
|||
|
||||
void fn_1_8678(omObjData *object)
|
||||
{
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
float var_f29;
|
||||
UnkM410Struct5 *var_r31;
|
||||
s32 var_r29;
|
||||
|
||||
var_r31 = object->data;
|
||||
var_r29 = 0;
|
||||
UnkM410Struct5 *var_r31 = object->data;
|
||||
s32 var_r29 = 0;
|
||||
var_r31->unk_10 = 0;
|
||||
if (fn_1_281C() == 2) {
|
||||
var_r31->unk_10 = HuPadBtnDown[GWPlayerCfg[object->work[0]].pad_idx];
|
||||
|
|
@ -465,8 +459,6 @@ void fn_1_9040(omObjData *object)
|
|||
Mtx sp38;
|
||||
Vec sp2C;
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
|
||||
float var_f31;
|
||||
float var_f30;
|
||||
|
|
@ -475,18 +467,11 @@ void fn_1_9040(omObjData *object)
|
|||
float var_f27;
|
||||
float var_f26;
|
||||
float var_f25;
|
||||
float var_f24;
|
||||
float var_f23;
|
||||
float var_f22;
|
||||
double var_f21;
|
||||
double var_f20;
|
||||
|
||||
UnkM410Struct5 *var_r31;
|
||||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
s16 var_r27;
|
||||
Vec *var_r26;
|
||||
Vec *var_r25;
|
||||
|
||||
var_r31 = object->data;
|
||||
fn_1_79F8(object->model[0], lbl_1_data_16C[var_r31->unk_08], sp38);
|
||||
|
|
@ -1117,9 +1102,9 @@ void fn_1_B140(ModelData *arg0, Mtx arg1)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, var_r30->unk_120.unk_1C0, 12);
|
||||
GXSetArray(GX_VA_CLR0, var_r30->unk_120.unk_E40, 4);
|
||||
GXSetArray(GX_VA_TEX0, var_r30->unk_120.unk_940, 8);
|
||||
GXSETARRAY(GX_VA_POS, var_r30->unk_120.unk_1C0, sizeof(var_r30->unk_120.unk_1C0), sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_CLR0, var_r30->unk_120.unk_E40, sizeof(var_r30->unk_120.unk_E40), sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_TEX0, var_r30->unk_120.unk_940, sizeof(var_r30->unk_120.unk_940), sizeof(Vec2f));
|
||||
var_r31 = var_r30->unk_120.unk_00;
|
||||
|
||||
for (var_r29 = 0; var_r29 < 16; var_r29++, var_r31++) {
|
||||
|
|
|
|||
|
|
@ -377,7 +377,7 @@ void fn_1_1074(void)
|
|||
CameraData *var_r31;
|
||||
|
||||
var_r31 = &Hu3DCamera[0];
|
||||
C_MTXPerspective(sp64, var_r31->fov, var_r31->aspect, var_r31->near, var_r31->far);
|
||||
C_MTXPerspective(sp64, var_r31->fov, var_r31->aspect, var_r31->nnear, var_r31->ffar);
|
||||
GXSetProjection(sp64, GX_PERSPECTIVE);
|
||||
GXSetViewport(0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||
GXSetScissor(0, 0, 640, 480);
|
||||
|
|
|
|||
|
|
@ -569,8 +569,6 @@ void fn_1_2064(void)
|
|||
Vec sp28;
|
||||
Vec sp1C;
|
||||
Vec sp10;
|
||||
f32 spC;
|
||||
f32 sp8;
|
||||
Process *temp_r26;
|
||||
s32 var_r30;
|
||||
unkStruct *temp_r28;
|
||||
|
|
@ -701,10 +699,6 @@ s32 fn_1_2708(void)
|
|||
f32 fn_1_27C4(s32 arg0, f32 arg8, f32 arg9)
|
||||
{
|
||||
f32 temp_f31;
|
||||
f32 var_f25;
|
||||
f32 var_f26;
|
||||
f32 var_f27;
|
||||
f32 var_f28;
|
||||
f32 var_f29;
|
||||
|
||||
temp_f31 = arg8 - fn_1_1D08(arg9);
|
||||
|
|
@ -922,18 +916,11 @@ void fn_1_3950(void)
|
|||
f32 sp5C;
|
||||
volatile f32 sp58;
|
||||
f32 sp54;
|
||||
f32 temp_f27;
|
||||
f32 var_f29;
|
||||
f32 temp_f31;
|
||||
f32 temp_f30;
|
||||
f32 var_f18;
|
||||
f32 var_f19;
|
||||
f32 var_f20;
|
||||
f32 var_f21;
|
||||
f32 var_f22;
|
||||
f32 var_f23;
|
||||
f32 var_f24;
|
||||
s32 var_r28;
|
||||
s32 var_r24;
|
||||
s32 var_r25;
|
||||
s32 var_r29;
|
||||
|
|
@ -1269,9 +1256,6 @@ void fn_1_5838(unkStruct3 *arg0)
|
|||
Vec spA8;
|
||||
Vec sp9C;
|
||||
Vec sp90;
|
||||
Vec sp84;
|
||||
Vec sp78;
|
||||
Vec sp6C;
|
||||
s32 sp68;
|
||||
f32 sp64;
|
||||
f32 sp60;
|
||||
|
|
@ -1593,13 +1577,6 @@ void fn_1_6814(unkStruct3 *arg0)
|
|||
void fn_1_7C60(void)
|
||||
{
|
||||
Vec sp1A0;
|
||||
Vec sp188;
|
||||
Vec sp17C;
|
||||
Vec sp170;
|
||||
Vec sp164;
|
||||
Vec sp158;
|
||||
Vec sp14C;
|
||||
Vec sp140;
|
||||
f32 sp13C;
|
||||
f32 sp138;
|
||||
f32 sp134;
|
||||
|
|
@ -2020,8 +1997,6 @@ void fn_1_AA88(ModelData *model, ParticleData *particle, f32 (*matrix)[4])
|
|||
|
||||
void fn_1_ADC8(void)
|
||||
{
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
f32 var_f31;
|
||||
void *temp_r28;
|
||||
Process *var_r29;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
#include "game/hsfex.h"
|
||||
#endif
|
||||
|
||||
s32 rand8(void);
|
||||
extern s32 rand8(void);
|
||||
|
||||
typedef struct struct_bss_2A6C StructBss2A6C;
|
||||
|
||||
|
|
@ -2011,7 +2011,11 @@ void fn_1_C6E0(omObjData *object)
|
|||
lbl_1_bss_FC = 0;
|
||||
memset(lbl_1_bss_D4, 0, sizeof(lbl_1_bss_D4));
|
||||
lbl_1_bss_D0 = 0;
|
||||
#ifdef NON_MATCHING
|
||||
memset(&lbl_1_bss_B8, 0, sizeof(lbl_1_bss_B8));
|
||||
#else
|
||||
memset(lbl_1_bss_B8, 0, sizeof(lbl_1_bss_B8));
|
||||
#endif
|
||||
object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M413, 0x00));
|
||||
omSetTra(object, 0, 0, 0);
|
||||
Hu3DMotionSpeedSet(object->model[0], 0);
|
||||
|
|
|
|||
|
|
@ -421,8 +421,11 @@ void fn_1_1960(omObjData *object)
|
|||
GXDrawDone();
|
||||
temp_r3 = fn_1_9734(object->model[2]);
|
||||
temp_r29 = Hu3DShadowData.unk_02 * Hu3DShadowData.unk_02;
|
||||
#ifdef __MWERKS__
|
||||
// TODO PC
|
||||
memcpy((*temp_r3)->bmp->data, OSCachedToUncached(Hu3DShadowData.unk_04), temp_r29);
|
||||
DCStoreRangeNoSync((*temp_r3)->bmp->data, temp_r29);
|
||||
#endif
|
||||
DCStoreRangeNoSync((*temp_r3)->bmp->data, temp_r29);
|
||||
break;
|
||||
case 2:
|
||||
Hu3DModelShadowMapObjSet(object->model[0], "kyanbasu");
|
||||
|
|
|
|||
|
|
@ -241,19 +241,19 @@ void fn_1_88B8(unkSubStruct2 *arg0)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk40, 12);
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk40, 4 * sizeof(Vec), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, var_r31->unk44, 4);
|
||||
GXSETARRAY(GX_VA_CLR0, var_r31->unk44, 4 * sizeof(GXColor), sizeof(GXColor));
|
||||
|
||||
for (var_r27 = 0; var_r27 < var_r31->unk33; var_r27++) {
|
||||
GXSetVtxDesc(var_r27 + GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, var_r27 + GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(var_r27 + GX_VA_TEX0, var_r31->unk54[var_r27].unk4, 8);
|
||||
GXSETARRAY(var_r27 + GX_VA_TEX0, var_r31->unk54[var_r27].unk4, 4 * sizeof(HsfVector2f), 8);
|
||||
}
|
||||
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_NRM, var_r31->unk48, 12);
|
||||
GXSETARRAY(GX_VA_NRM, var_r31->unk48, sizeof(Vec), sizeof(Vec));
|
||||
GXCallDisplayList(var_r31->unk3C, var_r31->unk38);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -305,7 +305,7 @@ void fn_1_3D58(omObjData *object)
|
|||
for (var_r31 = 0; var_r31 < 2; var_r31++) {
|
||||
lbl_1_bss_178.unk_6BC[var_r31] = HuMemDirectMallocNum(HEAP_SYSTEM, 30 * 36 * sizeof(Vec), MEMORY_DEFAULT_NUM);
|
||||
lbl_1_bss_178.unk_6C4[var_r31] = HuMemDirectMallocNum(HEAP_SYSTEM, 30 * 36 * sizeof(Vec), MEMORY_DEFAULT_NUM);
|
||||
lbl_1_bss_178.unk_6CC[var_r31] = HuMemDirectMallocNum(HEAP_SYSTEM, 1080 * sizeof(GXColor), MEMORY_DEFAULT_NUM);
|
||||
lbl_1_bss_178.unk_6CC[var_r31] = HuMemDirectMallocNum(HEAP_SYSTEM, 30 * 36 * sizeof(GXColor), MEMORY_DEFAULT_NUM);
|
||||
lbl_1_bss_178.unk_6D4[var_r31] = HuMemDirectMallocNum(HEAP_SYSTEM, 30 * 36 * sizeof(Vec2f), MEMORY_DEFAULT_NUM);
|
||||
lbl_1_bss_178.unk_6E0[var_r31] = HuMemDirectMallocNum(HEAP_SYSTEM, lbl_1_bss_178.unk_6DC, MEMORY_DEFAULT_NUM);
|
||||
DCFlushRange(lbl_1_bss_178.unk_6E0[var_r31], lbl_1_bss_178.unk_6DC);
|
||||
|
|
@ -856,10 +856,10 @@ void fn_1_604C(ModelData *arg0, Mtx arg1)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, lbl_1_bss_178.unk_6BC[lbl_1_bss_178.unk_6B4], 12);
|
||||
GXSetArray(GX_VA_NRM, lbl_1_bss_178.unk_6C4[lbl_1_bss_178.unk_6B4], 12);
|
||||
GXSetArray(GX_VA_CLR0, lbl_1_bss_178.unk_6CC[lbl_1_bss_178.unk_6B4], 4);
|
||||
GXSetArray(GX_VA_TEX0, lbl_1_bss_178.unk_6D4[lbl_1_bss_178.unk_6B4], 8);
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_bss_178.unk_6BC[lbl_1_bss_178.unk_6B4], 30 * 36 * sizeof(Vec), sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_NRM, lbl_1_bss_178.unk_6C4[lbl_1_bss_178.unk_6B4], 30 * 36 * sizeof(Vec), sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_CLR0, lbl_1_bss_178.unk_6CC[lbl_1_bss_178.unk_6B4], 30 * 36 * sizeof(GXColor), sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_TEX0, lbl_1_bss_178.unk_6D4[lbl_1_bss_178.unk_6B4], 30 * 36 * sizeof(Vec2f), sizeof(Vec2f));
|
||||
GXCallDisplayList(lbl_1_bss_178.unk_6E0[0], lbl_1_bss_178.unk_6E8[0]);
|
||||
GXSetNumIndStages(0);
|
||||
GXSetTevDirect(GX_TEVSTAGE0);
|
||||
|
|
|
|||
|
|
@ -2857,7 +2857,9 @@ void fn_1_9F94(omObjData *object)
|
|||
object->func = fn_1_9BA4;
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void fn_1_A1F0(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1800,8 +1800,8 @@ void fn_1_ABDC(ModelData *model, Mtx matrix)
|
|||
MTXConcat(sp58, sp88, sp118);
|
||||
MTXConcat(spB8, sp118, spE8);
|
||||
GXLoadTexMtxImm(spE8, 0x1E, GX_MTX3x4);
|
||||
GXSetArray(GX_VA_POS, work->unk_50[var_r28], 0xC);
|
||||
GXSetArray(GX_VA_CLR0, &work->unk_40[var_r28], 4);
|
||||
GXSETARRAY(GX_VA_POS, work->unk_50[var_r28], 14 * sizeof(Vec), sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_CLR0, &work->unk_40[var_r28], sizeof(GXColor), sizeof(GXColor));
|
||||
GXBegin(GX_TRIANGLEFAN, GX_VTXFMT0, 0xE);
|
||||
GXPosition1x8(0);
|
||||
GXPosition1x8(0);
|
||||
|
|
@ -1815,8 +1815,8 @@ void fn_1_ABDC(ModelData *model, Mtx matrix)
|
|||
MTXConcat(sp58, sp88, sp118);
|
||||
MTXConcat(spB8, sp118, spE8);
|
||||
GXLoadTexMtxImm(spE8, 0x1E, GX_MTX3x4);
|
||||
GXSetArray(GX_VA_POS, work->unk_50[var_r28 + 1], 0xC);
|
||||
GXSetArray(GX_VA_CLR0, &work->unk_40[var_r28], 4);
|
||||
GXSETARRAY(GX_VA_POS, work->unk_50[var_r28 + 1], 14 * sizeof(Vec), sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_CLR0, &work->unk_40[var_r28], sizeof(GXColor), sizeof(GXColor));
|
||||
GXBegin(GX_TRIANGLEFAN, GX_VTXFMT0, 0xE);
|
||||
GXPosition1x8(0);
|
||||
GXPosition1x8(0);
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#define frand7() (frand() & 0x7F)
|
||||
|
||||
extern u32 GlobalCounter;
|
||||
SHARED_SYM extern u32 GlobalCounter;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 unk00;
|
||||
|
|
@ -874,16 +874,16 @@ void fn_1_14A0(ModelData *arg0, Mtx arg1)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, lbl_1_data_29C, 12);
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_data_29C, sizeof(lbl_1_data_29C), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, lbl_1_data_30C, 4);
|
||||
GXSETARRAY(GX_VA_CLR0, lbl_1_data_30C, sizeof(lbl_1_data_30C), sizeof(GXColor));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, lbl_1_data_2CC, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, lbl_1_data_2CC, sizeof(lbl_1_data_2CC), sizeof(Vec2f));
|
||||
GXSetVtxDesc(GX_VA_TEX1, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX1, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX1, lbl_1_data_2EC, 8);
|
||||
GXSETARRAY(GX_VA_TEX1, lbl_1_data_2EC, sizeof(lbl_1_data_2EC), sizeof(Vec2f));
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
for (i = 0; i < 4; i++) {
|
||||
GXPosition1x16(i);
|
||||
|
|
@ -1255,8 +1255,8 @@ void fn_1_29BC(ModelData *arg0, Mtx arg1)
|
|||
DCFlushRangeNoSync(temp_r31->unk14, temp_r31->unk00 * sizeof(*temp_r31->unk14));
|
||||
DCFlushRangeNoSync(temp_r31->unk1C, temp_r31->unk00 * sizeof(*temp_r31->unk1C));
|
||||
PPCSync();
|
||||
GXSetArray(GX_VA_POS, temp_r31->unk14, sizeof(*temp_r31->unk14));
|
||||
GXSetArray(GX_VA_CLR0, temp_r31->unk1C, sizeof(*temp_r31->unk1C));
|
||||
GXSETARRAY(GX_VA_POS, temp_r31->unk14, temp_r31->unk00 * sizeof(*temp_r31->unk14), sizeof(*temp_r31->unk14));
|
||||
GXSETARRAY(GX_VA_CLR0, temp_r31->unk1C, temp_r31->unk00 * sizeof(*temp_r31->unk1C), sizeof(*temp_r31->unk1C));
|
||||
GXCallDisplayList(temp_r31->unk38, temp_r31->unk34);
|
||||
}
|
||||
}
|
||||
|
|
@ -4471,9 +4471,9 @@ void fn_1_EF44(ModelData *arg0, Mtx arg1)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, temp_r30->unk20C, 12);
|
||||
GXSetArray(GX_VA_CLR0, temp_r30->unk214, 4);
|
||||
GXSetArray(GX_VA_TEX0, temp_r30->unk210, 8);
|
||||
GXSETARRAY(GX_VA_POS, temp_r30->unk20C, 32 * sizeof(*temp_r30->unk20C), sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_CLR0, temp_r30->unk214, 5 * sizeof(*temp_r30->unk214), sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_TEX0, temp_r30->unk210, 32 * sizeof(*temp_r30->unk210), sizeof(Vec2f));
|
||||
var_r31 = temp_r30->unk00;
|
||||
for (i = 0; i < 16; i++, var_r31++) {
|
||||
if (var_r31->unk00 == 0) {
|
||||
|
|
@ -4864,7 +4864,7 @@ void fn_1_10BC8(void)
|
|||
if (var_r31->fov <= 0.0f) {
|
||||
return;
|
||||
}
|
||||
C_MTXPerspective(sp64, var_r31->fov, var_r31->aspect, var_r31->near, var_r31->far);
|
||||
C_MTXPerspective(sp64, var_r31->fov, var_r31->aspect, var_r31->nnear, var_r31->ffar);
|
||||
GXSetProjection(sp64, GX_PERSPECTIVE);
|
||||
GXSetViewport(0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||
GXSetScissor(0, 0, 640, 480);
|
||||
|
|
@ -5227,13 +5227,13 @@ void fn_1_11900(ModelData *arg0, Mtx arg1)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, temp_r31->unk40, 12);
|
||||
GXSETARRAY(GX_VA_POS, temp_r31->unk40, temp_r31->unk26 * sizeof(Vec) * 4, sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &temp_r31->unk3C->unk44, 76);
|
||||
GXSETARRAY(GX_VA_CLR0, &temp_r31->unk3C->unk44, sizeof(GXColor), 76);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, temp_r31->unk44, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, temp_r31->unk44, temp_r31->unk26 * sizeof(Vec2f) * 4, sizeof(Vec2f));
|
||||
GXCallDisplayList(temp_r31->unk48, temp_r31->unk34);
|
||||
if (shadowModelDrawF == 0) {
|
||||
if (!(temp_r31->unk21 & 2)) {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include "REL/m425Dll.h"
|
||||
|
||||
extern u8 texMtxTbl[]; // TODO maybe put in hsfdraw.h?
|
||||
SHARED_SYM extern u8 texMtxTbl[]; // TODO maybe put in hsfdraw.h?
|
||||
|
||||
typedef struct M425DllWork {
|
||||
u8 unk_00;
|
||||
|
|
@ -1628,19 +1628,19 @@ void fn_1_5C20(ModelData *var_r27, Mtx sp8)
|
|||
GXSetChanCtrl(GX_COLOR0A0, GX_TRUE, GX_SRC_REG, GX_SRC_VTX, var_r26, GX_DF_CLAMP, GX_AF_SPOT);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_14, 0xC);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_14, var_r31->unk_2A * (4 * sizeof(Vec)), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, var_r31->unk_18, 4);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSETARRAY(GX_VA_CLR0, var_r31->unk_18, var_r31->unk_2A * (4 * sizeof(GXColor)), sizeof(GXColor));
|
||||
for (var_r29 = GX_TEXMAP0; var_r29 < (var_r31->unk_28 * var_r31->unk_2A); var_r29++) {
|
||||
GXSetVtxDesc(var_r29 + 0xD, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, var_r29 + 0xD, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(var_r29 + 0xD, var_r31->unk_2C[var_r29].unk_44, 8);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, var_r29 + 0xD, GX_TEX_ST, GX_F32, 0);
|
||||
GXSETARRAY(var_r29 + 0xD, var_r31->unk_2C[var_r29].unk_44, var_r31->unk_2A * (4 * sizeof(Vec2f)), sizeof(Vec2f));
|
||||
}
|
||||
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_NRM, var_r31->unk_1C, 0xC);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
|
||||
GXSETARRAY(GX_VA_NRM, var_r31->unk_1C, var_r31->unk_2A * (4 * sizeof(Vec)), sizeof(Vec));
|
||||
GXCallDisplayList(var_r31->unk_10, var_r31->unk_0C);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@
|
|||
|
||||
#include "REL/m425Dll.h"
|
||||
|
||||
extern u32 GlobalCounter;
|
||||
extern LightData Hu3DLocalLight[0x20];
|
||||
SHARED_SYM extern u32 GlobalCounter;
|
||||
SHARED_SYM extern LightData Hu3DLocalLight[0x20];
|
||||
|
||||
typedef struct M425DllUnkStruct4 {
|
||||
s16 unk_00;
|
||||
|
|
@ -431,24 +431,24 @@ s32 fn_1_6EC4(float var_f24, float sp8, s16 var_r22, s16 var_r24)
|
|||
var_r31->unk_10E = var_r24;
|
||||
var_r31->unk_110 = var_r31->unk_144[24] + var_r31->unk_112[24];
|
||||
var_r31->unk_240 = 0x19;
|
||||
var_r31->unk_178 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 2, var_r23->unk_48);
|
||||
memset(var_r31->unk_178, 0, var_r31->unk_110 * 2);
|
||||
var_r31->unk_17C = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 0xC, var_r23->unk_48);
|
||||
memset(var_r31->unk_17C, 0, var_r31->unk_110 * 0xC);
|
||||
var_r31->unk_180 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 0xC, var_r23->unk_48);
|
||||
memset(var_r31->unk_180, 0, var_r31->unk_110 * 0xC);
|
||||
var_r31->unk_184 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 8, var_r23->unk_48);
|
||||
memset(var_r31->unk_184, 0, var_r31->unk_110 * 8);
|
||||
var_r31->unk_188 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 0xC, var_r23->unk_48);
|
||||
memset(var_r31->unk_188, 0, var_r31->unk_110 * 0xC);
|
||||
var_r31->unk_18C = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 0xC, var_r23->unk_48);
|
||||
memset(var_r31->unk_18C, 0, var_r31->unk_110 * 0xC);
|
||||
var_r31->unk_178 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * sizeof(s16), var_r23->unk_48);
|
||||
memset(var_r31->unk_178, 0, var_r31->unk_110 * sizeof(s16));
|
||||
var_r31->unk_17C = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * sizeof(Vec), var_r23->unk_48);
|
||||
memset(var_r31->unk_17C, 0, var_r31->unk_110 * sizeof(Vec));
|
||||
var_r31->unk_180 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * sizeof(Vec), var_r23->unk_48);
|
||||
memset(var_r31->unk_180, 0, var_r31->unk_110 * sizeof(Vec));
|
||||
var_r31->unk_184 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * sizeof(Vec2f), var_r23->unk_48);
|
||||
memset(var_r31->unk_184, 0, var_r31->unk_110 * sizeof(Vec2f));
|
||||
var_r31->unk_188 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * sizeof(Vec), var_r23->unk_48);
|
||||
memset(var_r31->unk_188, 0, var_r31->unk_110 * sizeof(Vec));
|
||||
var_r31->unk_18C = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * sizeof(Vec), var_r23->unk_48);
|
||||
memset(var_r31->unk_18C, 0, var_r31->unk_110 * sizeof(Vec));
|
||||
var_r31->unk_190 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 6, var_r23->unk_48);
|
||||
memset(var_r31->unk_190, 0, var_r31->unk_110 * 6);
|
||||
var_r31->unk_194 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * 0xC, var_r23->unk_48);
|
||||
memset(var_r31->unk_194, 0, var_r31->unk_110 * 0xC);
|
||||
var_r31->unk_198 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_112[0] * 0xC, var_r23->unk_48);
|
||||
memset(var_r31->unk_198, 0, var_r31->unk_112[0] * 0xC);
|
||||
var_r31->unk_194 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110 * sizeof(Vec), var_r23->unk_48);
|
||||
memset(var_r31->unk_194, 0, var_r31->unk_110 * sizeof(Vec));
|
||||
var_r31->unk_198 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_112[0] * sizeof(Vec), var_r23->unk_48);
|
||||
memset(var_r31->unk_198, 0, var_r31->unk_112[0] * sizeof(Vec));
|
||||
var_r31->unk_1A0 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk_110, var_r23->unk_48);
|
||||
memset(var_r31->unk_1A0, 0, var_r31->unk_110);
|
||||
for (var_r30 = 0; var_r30 < var_r31->unk_110; var_r30++) {
|
||||
|
|
@ -2135,16 +2135,16 @@ void fn_1_101C4(ModelData *var_r29, Mtx var_r28)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_180, 0xC);
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_180, var_r31->unk_110 * sizeof(Vec), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_NRM, var_r31->unk_188, 0xC);
|
||||
GXSETARRAY(GX_VA_NRM, var_r31->unk_188, var_r31->unk_110 * sizeof(Vec), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &var_r31->unk_23A, 4);
|
||||
GXSETARRAY(GX_VA_CLR0, &var_r31->unk_23A, var_r31->unk_110 * sizeof(GXColor), sizeof(GXColor));
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBA6, 0);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk_184, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, var_r31->unk_184, var_r31->unk_110 * sizeof(Vec2f), sizeof(Vec2f));
|
||||
for (var_r30 = 0; var_r30 < var_r31->unk_240; var_r30++) {
|
||||
if (var_r31->unk_2A8[var_r30] && var_r31->unk_244[var_r30] != 0 && var_r30 != 1) {
|
||||
GXCallDisplayList(var_r31->unk_2A8[var_r30], var_r31->unk_244[var_r30]);
|
||||
|
|
@ -2181,16 +2181,16 @@ void fn_1_101C4(ModelData *var_r29, Mtx var_r28)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_180, 0xC);
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_180, var_r31->unk_110 * sizeof(Vec), sizeof(Vec));
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_TEX_S, GX_RGBA6, 0);
|
||||
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
|
||||
GXSetArray(GX_VA_NRM, var_r31->unk_188, 0xC);
|
||||
GXSETARRAY(GX_VA_NRM, var_r31->unk_188, var_r31->unk_110 * sizeof(Vec), sizeof(Vec));
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0);
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetArray(GX_VA_CLR0, &var_r31->unk_23A, 4);
|
||||
GXSETARRAY(GX_VA_CLR0, &var_r31->unk_23A, var_r31->unk_110 * sizeof(GXColor), sizeof(GXColor));
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk_184, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, var_r31->unk_184, var_r31->unk_110 * sizeof(Vec2f), sizeof(Vec2f));
|
||||
if (var_r31->unk_2A8[1] && (var_r31->unk_244[1] != 0)) {
|
||||
GXCallDisplayList(var_r31->unk_2A8[1], var_r31->unk_244[1]);
|
||||
}
|
||||
|
|
@ -2684,13 +2684,13 @@ void fn_1_11EE0(ModelData *var_r24, Mtx var_r21)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_40, 0xC);
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_40, var_r31->unk_24 * sizeof(Vec) * 4, sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, 0x44);
|
||||
GXSETARRAY(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, sizeof(var_r31->unk_3C->unk_3C), 0x44);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSETARRAY(GX_VA_TEX0, var_r31->unk_44, var_r31->unk_24 * sizeof(Vec2f) * 4, sizeof(Vec2f));
|
||||
if (HmfInverseMtxF3X3(var_r21, sp128) == 0) {
|
||||
MTXIdentity(sp128);
|
||||
}
|
||||
|
|
@ -2748,8 +2748,8 @@ void fn_1_11EE0(ModelData *var_r24, Mtx var_r21)
|
|||
}
|
||||
}
|
||||
}
|
||||
DCFlushRangeNoSync(var_r31->unk_40, var_r31->unk_24 * 0xC * 4);
|
||||
DCFlushRangeNoSync(var_r31->unk_44, var_r31->unk_24 * 8 * 4);
|
||||
DCFlushRangeNoSync(var_r31->unk_40, var_r31->unk_24 * sizeof(Vec) * 4);
|
||||
DCFlushRangeNoSync(var_r31->unk_44, var_r31->unk_24 * sizeof(Vec2f) * 4);
|
||||
PPCSync();
|
||||
GXCallDisplayList(var_r31->unk_48, var_r31->unk_34);
|
||||
if (shadowModelDrawF == 0) {
|
||||
|
|
|
|||
|
|
@ -265,7 +265,7 @@ void fn_1_DB8(omObjData *object);
|
|||
void fn_1_E18(omObjData *object);
|
||||
void fn_1_EB8(void);
|
||||
|
||||
extern u32 GlobalCounter;
|
||||
SHARED_SYM extern u32 GlobalCounter;
|
||||
|
||||
Vec lbl_1_data_0[4] = {
|
||||
{ -600.0f, 0.0f, -285.0f },
|
||||
|
|
@ -3035,13 +3035,13 @@ void fn_1_80DC(ModelData *arg0, Mtx arg1)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_40, 12);
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_40, var_r31->unk_24 * sizeof(Vec) * 4, sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, 68);
|
||||
GXSETARRAY(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, sizeof(var_r31->unk_3C->unk_3C), 68);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, var_r31->unk_44, var_r31->unk_24 * sizeof(Vec2f) * 4, sizeof(Vec2f));
|
||||
if (!HmfInverseMtxF3X3(arg1, sp128)) {
|
||||
MTXIdentity(sp128);
|
||||
}
|
||||
|
|
@ -3169,13 +3169,13 @@ void fn_1_88B4(ModelData *arg0, Mtx arg1)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, lbl_1_data_27C, 12);
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_data_27C, sizeof(lbl_1_data_27C), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, lbl_1_data_2AC, 4);
|
||||
GXSETARRAY(GX_VA_CLR0, lbl_1_data_2AC, sizeof(lbl_1_data_2AC), sizeof(GXColor));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, lbl_1_data_2BC, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, lbl_1_data_2BC, sizeof(lbl_1_data_2BC), sizeof(Vec2f));
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
|
||||
GXPosition1x16(0);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
#include "string.h"
|
||||
|
||||
extern s32 rand8(void);
|
||||
extern LightData Hu3DLocalLight[0x20];
|
||||
SHARED_SYM extern LightData Hu3DLocalLight[0x20];
|
||||
|
||||
#define FABS(value) ((value < 0) ? -(value) : (value))
|
||||
|
||||
|
|
@ -837,7 +837,7 @@ void fn_1_510C(s32 arg0, s16 arg1, s16 arg2)
|
|||
var_r31->unk4 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk14 * sizeof(Vec), temp_r28->unk_48);
|
||||
var_r31->unk8 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk14 * sizeof(Vec2f), temp_r28->unk_48);
|
||||
var_r31->unkC = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk14 * sizeof(Vec), temp_r28->unk_48);
|
||||
var_r31->unk10 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk14 * sizeof(Vec), temp_r28->unk_48);
|
||||
var_r31->unk10 = HuMemDirectMallocNum(HEAP_DATA, var_r31->unk14 * (3 * sizeof(GXColor)), temp_r28->unk_48);
|
||||
var_r31->unk1C = HuMemDirectMallocNum(HEAP_DATA, arg2 * (arg1 * sizeof(M427DllMapSubstruct5)), temp_r28->unk_48);
|
||||
var_r30 = var_r31->unk1C;
|
||||
var_r23 = var_r26 = HuMemDirectMallocNum(HEAP_DATA, 0x20000, temp_r28->unk_48);
|
||||
|
|
@ -1013,13 +1013,13 @@ void fn_1_618C(ModelData *arg0, Mtx arg1)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk4, 0xC);
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk4, var_r31->unk14 * sizeof(Vec), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk8, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, var_r31->unk8, var_r31->unk14 * sizeof(Vec2f), sizeof(Vec2f));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, var_r31->unk10, 4);
|
||||
GXSETARRAY(GX_VA_CLR0, var_r31->unk10, var_r31->unk14 * 3 * sizeof(GXColor), sizeof(GXColor));
|
||||
GXInitTexObj(&sp14, var_r31->unk30, 0x280, 0x1E0, GX_TF_RGB5A3, GX_CLAMP, GX_CLAMP, 0);
|
||||
GXInitTexObjLOD(&sp14, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, 0, 0, GX_ANISO_1);
|
||||
GXLoadTexObj(&sp14, GX_TEXMAP0);
|
||||
|
|
@ -1978,13 +1978,13 @@ void fn_1_9B88(ModelData *model, Mtx matrix)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_POS, &var_r31->unkC, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, &var_r31->unkC, sizeof(var_r31->unkC), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_TEX0, &var_r31->unk3C, sizeof(Vec2f));
|
||||
GXSETARRAY(GX_VA_TEX0, &var_r31->unk3C, sizeof(var_r31->unk3C), sizeof(Vec2f));
|
||||
GXSetVtxDesc(GX_VA_TEX1, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX1, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_TEX1, var_r31->unk5C, sizeof(Vec2f));
|
||||
GXSETARRAY(GX_VA_TEX1, var_r31->unk5C, sizeof(var_r31->unk5C), sizeof(Vec2f));
|
||||
HuSprTexLoad(var_r31->unk8, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR);
|
||||
HuSprTexLoad(var_r26->unk_04, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR);
|
||||
HuSprTexLoad(var_r26->unk_00, 0, 2, GX_REPEAT, GX_REPEAT, GX_LINEAR);
|
||||
|
|
@ -2351,13 +2351,13 @@ void fn_1_B3CC(ModelData *model, Mtx matrix)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_2C, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_2C, var_r31->unk_38 * sizeof(Vec), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_NRM, var_r31->unk_34, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_NRM, var_r31->unk_34, var_r31->unk_38 * sizeof(Vec), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk_30, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, var_r31->unk_30, var_r31->unk_38 * sizeof(Vec2f), sizeof(Vec2f));
|
||||
if (var_r31->unk_00 == 0) {
|
||||
GXInitTexObj(&sp44, var_r27->unk4, 0x140, 0x1E0, GX_TF_RGB5A3, GX_CLAMP, GX_CLAMP, 0);
|
||||
}
|
||||
|
|
@ -3015,13 +3015,13 @@ void fn_1_DCD4(ModelData *model, Mtx matrix)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, var_r30->unk_1C, 0xC);
|
||||
GXSETARRAY(GX_VA_POS, var_r30->unk_1C, var_r30->unk_00 * sizeof(Vec) * 4, sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, var_r30->unk_24, 4);
|
||||
GXSETARRAY(GX_VA_CLR0, var_r30->unk_24, var_r30->unk_00 * sizeof(GXColor), sizeof(GXColor));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, var_r30->unk_20, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, var_r30->unk_20, var_r30->unk_00 * sizeof(Vec2f) * 4, sizeof(Vec2f));
|
||||
sp128[0][0] = matrix[0][0];
|
||||
sp128[1][0] = matrix[0][1];
|
||||
sp128[2][0] = matrix[0][2];
|
||||
|
|
@ -3057,20 +3057,20 @@ void fn_1_DCD4(ModelData *model, Mtx matrix)
|
|||
else {
|
||||
if (var_r29->unk_44 == 0.0f) {
|
||||
fn_1_E420(sp68, &sp38, &var_r29->unk_48, 4);
|
||||
PSVECAdd(&sp38, &var_r29->unk_54, var_r31++);
|
||||
PSVECAdd(&sp44, &var_r29->unk_54, var_r31++);
|
||||
PSVECAdd(&sp50, &var_r29->unk_54, var_r31++);
|
||||
PSVECAdd(&sp5C, &var_r29->unk_54, var_r31++);
|
||||
VECAdd(&sp38, &var_r29->unk_54, var_r31++);
|
||||
VECAdd(&sp44, &var_r29->unk_54, var_r31++);
|
||||
VECAdd(&sp50, &var_r29->unk_54, var_r31++);
|
||||
VECAdd(&sp5C, &var_r29->unk_54, var_r31++);
|
||||
}
|
||||
else {
|
||||
fn_1_E420(&var_r30->unk_2C, &sp38, &var_r29->unk_48, 4);
|
||||
MTXRotRad(spC8, 0x5A, MTXDegToRad(var_r29->unk_44));
|
||||
MTXConcat(sp128, spC8, sp98);
|
||||
MTXMultVecArray(sp98, &sp38, &sp8, 4);
|
||||
PSVECAdd(&sp8, &var_r29->unk_54, var_r31++);
|
||||
PSVECAdd(&sp14, &var_r29->unk_54, var_r31++);
|
||||
PSVECAdd(&sp20, &var_r29->unk_54, var_r31++);
|
||||
PSVECAdd(&sp2C, &var_r29->unk_54, var_r31++);
|
||||
VECAdd(&sp8, &var_r29->unk_54, var_r31++);
|
||||
VECAdd(&sp14, &var_r29->unk_54, var_r31++);
|
||||
VECAdd(&sp20, &var_r29->unk_54, var_r31++);
|
||||
VECAdd(&sp2C, &var_r29->unk_54, var_r31++);
|
||||
}
|
||||
if (var_r29->unk_60 != -1) {
|
||||
fn_1_E37C(var_r26, var_r30->unk_5C, var_r29->unk_60, var_r30->unk_60, var_r30->unk_64);
|
||||
|
|
|
|||
|
|
@ -1666,10 +1666,10 @@ void fn_1_13FBC(ModelData *model, Mtx matrix)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_POS, lbl_1_data_260, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_data_260, sizeof(lbl_1_data_260), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &lbl_1_data_648, sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_CLR0, &lbl_1_data_648, sizeof(lbl_1_data_648), sizeof(GXColor));
|
||||
GXBegin(GX_LINESTRIP, GX_VTXFMT0, 0x1D);
|
||||
for (var_r29 = 0; var_r29 < 0x1DU; var_r29++) {
|
||||
GXPosition1x16(var_r29);
|
||||
|
|
@ -1678,10 +1678,10 @@ void fn_1_13FBC(ModelData *model, Mtx matrix)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, &lbl_1_data_3BC, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, &lbl_1_data_3BC, sizeof(lbl_1_data_3BC), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &lbl_1_data_648, sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_CLR0, &lbl_1_data_648, sizeof(lbl_1_data_648), sizeof(GXColor));
|
||||
GXBegin(GX_LINESTRIP, GX_VTXFMT0, 0x1D);
|
||||
for (var_r29 = 0; var_r29 < 0x1DU; var_r29++) {
|
||||
GXPosition1x16(var_r29);
|
||||
|
|
@ -1690,10 +1690,10 @@ void fn_1_13FBC(ModelData *model, Mtx matrix)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, lbl_1_bss_584, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_bss_584, lbl_1_bss_580 * sizeof(Vec), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &lbl_1_data_650, sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_CLR0, &lbl_1_data_650, sizeof(lbl_1_data_650), sizeof(GXColor));
|
||||
GXBegin(GX_LINESTRIP, GX_VTXFMT0, 0x1D);
|
||||
for (var_r29 = 0; var_r29 < lbl_1_bss_580; var_r29++) {
|
||||
GXPosition1x16(var_r29);
|
||||
|
|
|
|||
|
|
@ -239,7 +239,7 @@ s32 fn_1_F288(Vec *arg0, Vec *arg1, float arg8);
|
|||
s32 fn_1_F538(Vec *arg0, Vec *arg1, Vec *arg2, float arg8);
|
||||
s32 fn_1_FB8C(Vec *arg0, Vec *arg1, float arg8, s32 arg2, s32 arg3);
|
||||
|
||||
extern u32 GlobalCounter;
|
||||
SHARED_SYM extern u32 GlobalCounter;
|
||||
|
||||
Vec lbl_1_data_150[4] = {
|
||||
{ -140.0f, -400.0f, 0.0f },
|
||||
|
|
@ -2120,7 +2120,7 @@ void fn_1_FE98(M428DllPlayerUnk120Struct *arg0)
|
|||
}
|
||||
}
|
||||
for (var_r29 = 0, var_r30 = arg0->unk_54; var_r29 < arg0->unk_02; var_r29++, var_r30++) {
|
||||
PSVECSubtract(&var_r30->unk_08[0], &var_r30->unk_08[2], &sp24);
|
||||
VECSubtract(&var_r30->unk_08[0], &var_r30->unk_08[2], &sp24);
|
||||
var_f30 = var_r30->unk_08[0].z;
|
||||
if ((sp8 = fn_1_F88C(&var_r30->unk_08[2], &sp24, &sp18)) != -1) {
|
||||
var_r30->unk_08[0] = sp18;
|
||||
|
|
@ -2137,7 +2137,7 @@ void fn_1_FE98(M428DllPlayerUnk120Struct *arg0)
|
|||
}
|
||||
}
|
||||
|
||||
s32 lbl_1_data_694[2] = { 0xFFA040FF, 0xC8FFFF };
|
||||
GXColor lbl_1_data_694[2] = { { 0xFF, 0xA0, 0x40, 0xFF }, { 0x00, 0xC8, 0xFF, 0xFF } };
|
||||
s16 lbl_1_data_69C[2] = { -0x10, 0x10 };
|
||||
s16 lbl_1_data_6A0[2] = { 0x1A4, 0x60 };
|
||||
Vec lbl_1_data_6A4[4] = {
|
||||
|
|
@ -2181,10 +2181,10 @@ void fn_1_102A8(ModelData *model, Mtx matrix)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_54->unk_08, sizeof(M428DllPlayerUnkStruct));
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_54->unk_08, sizeof(var_r31->unk_54->unk_08), sizeof(M428DllPlayerUnkStruct));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &lbl_1_data_694[var_r31->unk_10], 4);
|
||||
GXSETARRAY(GX_VA_CLR0, &lbl_1_data_694[var_r31->unk_10], sizeof(GXColor), sizeof(GXColor));
|
||||
GXBegin(GX_LINESTRIP, GX_VTXFMT0, var_r31->unk_02);
|
||||
for (var_r30 = 0; var_r30 < var_r31->unk_02; var_r30++) {
|
||||
GXPosition1x16(var_r30);
|
||||
|
|
@ -3182,13 +3182,13 @@ void fn_1_134C0(ModelData *var_r23, Mtx var_r22)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_40, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_40, var_r31->unk_26 * sizeof(Vec) * 4, sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &var_r31->unk_3C->unk_44, sizeof(M428DllPlayerUnkStruct2)); // bug?
|
||||
GXSETARRAY(GX_VA_CLR0, &var_r31->unk_3C->unk_44, sizeof(GXColor), sizeof(M428DllPlayerUnkStruct2)); // bug?
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk_44, sizeof(Vec2f));
|
||||
GXSETARRAY(GX_VA_TEX0, var_r31->unk_44, var_r31->unk_26 * sizeof(Vec2f) * 4, sizeof(Vec2f));
|
||||
GXCallDisplayList(var_r31->unk_48, var_r31->unk_34);
|
||||
if (shadowModelDrawF == 0) {
|
||||
if ((var_r31->unk_21 & 2) == 0) {
|
||||
|
|
|
|||
|
|
@ -1323,7 +1323,9 @@ void fn_1_3DCC(Work8F68 *arg0)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void fn_1_40C0(Work8F68 *arg0, omObjData *arg1, s32 arg2)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1493,11 +1493,11 @@ void fn_1_100A0(void)
|
|||
var_r31->unk_34 = var_r31->unk_38 = var_r31->unk_3C = 0.0f;
|
||||
var_r31->unk_40 = var_r31->unk_44 = var_r31->unk_48 = 1000.0f;
|
||||
var_r31->unk_58 = 0;
|
||||
var_r31->unk_4C = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC0, MEMORY_DEFAULT_NUM);
|
||||
var_r31->unk_4C = HuMemDirectMallocNum(HEAP_SYSTEM, 16 * sizeof(Vec), MEMORY_DEFAULT_NUM);
|
||||
memset(var_r31->unk_4C, 0, 0xC0);
|
||||
var_r31->unk_50 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC0, MEMORY_DEFAULT_NUM);
|
||||
var_r31->unk_50 = HuMemDirectMallocNum(HEAP_SYSTEM, 16 * sizeof(Vec), MEMORY_DEFAULT_NUM);
|
||||
memset(var_r31->unk_50, 0, 0xC0);
|
||||
var_r31->unk_54 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x80, MEMORY_DEFAULT_NUM);
|
||||
var_r31->unk_54 = HuMemDirectMallocNum(HEAP_SYSTEM, 16 * sizeof(Vec2f), MEMORY_DEFAULT_NUM);
|
||||
memset(var_r31->unk_54, 0, 0x80);
|
||||
var_r30 = &Hu3DData[var_r31->unk_04];
|
||||
var_r27 = HuMemDirectMallocNum(HEAP_DATA, 0x200, var_r30->unk_48);
|
||||
|
|
@ -1639,14 +1639,14 @@ void fn_1_10948(ModelData *var_r29, Mtx var_r30)
|
|||
GXSetLineWidth(0x10, GX_TO_ZERO);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_50, 0xC);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_50, 16 * sizeof(Vec), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_TEX_ST, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, &lbl_1_data_308, 4);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSETARRAY(GX_VA_CLR0, &lbl_1_data_308, sizeof(lbl_1_data_308), sizeof(GXColor));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk_54, 8);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSETARRAY(GX_VA_TEX0, var_r31->unk_54, 16 * sizeof(Vec2f), sizeof(Vec2f));
|
||||
GXCallDisplayList(var_r31->unk_60, var_r31->unk_5C);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1276,8 +1276,8 @@ void fn_1_8CE0(ModelData *model, Mtx matrix)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_44[var_r31->unk_40], sizeof(Vec));
|
||||
GXSetArray(GX_VA_CLR0, var_r31->unk_54[var_r31->unk_40], sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_44[var_r31->unk_40], 0x1B8 * sizeof(Vec), sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_CLR0, var_r31->unk_54[var_r31->unk_40], 0x1B8 * sizeof(GXColor), sizeof(GXColor));
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXCallDisplayList(var_r31->unk_60, var_r31->unk_64);
|
||||
GXSetCullMode(GX_CULL_BACK);
|
||||
|
|
@ -1372,8 +1372,8 @@ void fn_1_963C(ModelData *model, Mtx matrix, u32 var_r31)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX8);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_POS, lbl_1_data_60, sizeof(Vec));
|
||||
GXSetArray(GX_VA_CLR0, lbl_1_data_A8, sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_data_60, sizeof(lbl_1_data_60), sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_CLR0, lbl_1_data_A8, sizeof(lbl_1_data_A8), sizeof(GXColor));
|
||||
GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 6);
|
||||
GXPosition1x8(0);
|
||||
GXColor1x8(3);
|
||||
|
|
@ -1490,8 +1490,8 @@ void fn_1_9C90(ModelData *model, Mtx matrix)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX8);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_POS, lbl_1_data_C0, 0xC);
|
||||
GXSetArray(GX_VA_CLR0, lbl_1_data_A8, 4);
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_data_C0, sizeof(lbl_1_data_C0), sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_CLR0, lbl_1_data_A8, sizeof(lbl_1_data_A8), sizeof(GXColor));
|
||||
GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 8);
|
||||
for (var_r30 = 0; var_r30 < 8; var_r30++) {
|
||||
GXPosition1x8(var_r30);
|
||||
|
|
@ -1579,8 +1579,8 @@ void fn_1_A3A8(ModelData *model, Mtx matrix)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX8);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_POS, lbl_1_data_120, 0xC);
|
||||
GXSetArray(GX_VA_CLR0, lbl_1_data_168, 4);
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_data_120, sizeof(lbl_1_data_120), sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_CLR0, lbl_1_data_168, sizeof(lbl_1_data_168), sizeof(GXColor));
|
||||
GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 6);
|
||||
GXPosition1x8(0);
|
||||
GXColor1x8(0);
|
||||
|
|
|
|||
|
|
@ -2087,13 +2087,13 @@ void fn_1_72B4(ModelData *model, Mtx mtx)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, temp_r30->unk1C, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, temp_r30->unk1C, temp_r30->unk0 * sizeof(Vec) * 4, sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, temp_r30->unk24, sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_CLR0, temp_r30->unk24, temp_r30->unk0 * sizeof(GXColor), sizeof(GXColor));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, temp_r30->unk20, sizeof(HsfVector2f));
|
||||
GXSETARRAY(GX_VA_TEX0, temp_r30->unk20, temp_r30->unk0 * sizeof(HsfVector2f) * 4, sizeof(HsfVector2f));
|
||||
fn_1_79FC(mtx, sp128);
|
||||
MTXReorder(sp128, spF8);
|
||||
if (!omPauseChk() && temp_r30->unkC) {
|
||||
|
|
|
|||
|
|
@ -2238,7 +2238,9 @@ void fn_1_AF28(omObjData *object)
|
|||
fn_1_4ED8(&var_r31->unk_00, 0);
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void fn_1_B234(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -342,7 +342,7 @@ void fn_1_2978(ModelData *model, Mtx mtx)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, lbl_1_bss_2868, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_bss_2868, sizeof(lbl_1_bss_2868), sizeof(Vec));
|
||||
GXSetCullMode(GX_CULL_BACK);
|
||||
GXCallDisplayList(lbl_1_bss_450.unk0, lbl_1_bss_450.unk4);
|
||||
GXSetNumIndStages(0);
|
||||
|
|
|
|||
|
|
@ -4252,7 +4252,9 @@ void fn_1_14760(omObjData* arg0) {
|
|||
arg0->func = fn_1_14384;
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void fn_1_14A54(void) {
|
||||
lbl_1_bss_0 = omInitObjMan(62, 0x2000);
|
||||
|
|
|
|||
|
|
@ -3280,7 +3280,9 @@ void fn_1_10670(omObjData *arg0)
|
|||
arg0->func = fn_1_1026C;
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void fn_1_108DC(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3443,7 +3443,9 @@ void fn_1_108A4(omObjData *arg0)
|
|||
arg0->func = fn_1_1043C;
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void fn_1_10B30(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@
|
|||
#define HUSPR_USE_OLD_DEFS
|
||||
#include "game/sprite.h"
|
||||
|
||||
extern u8 texMtxTbl[];
|
||||
#include <ext_math.h>
|
||||
|
||||
SHARED_SYM extern u8 texMtxTbl[];
|
||||
|
||||
// PROTO
|
||||
void fn_1_E790(M438UnkStruct2 *);
|
||||
|
|
@ -264,19 +266,19 @@ void fn_1_E790(M438UnkStruct2 *arg0)
|
|||
}
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_44, 12);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_44, 4 * sizeof(Vec), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, var_r31->unk_48, 4);
|
||||
GXSETARRAY(GX_VA_CLR0, var_r31->unk_48, 4 * sizeof(GXColor), sizeof(GXColor));
|
||||
for (var_r27 = 0; var_r27 < var_r31->unk_34; var_r27++) {
|
||||
GXSetVtxDesc(var_r27 + GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, var_r27 + GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);
|
||||
GXSetArray(var_r27 + GX_VA_TEX0, &var_r31->unk_58[var_r27].unk_04, 8);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, var_r27 + GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSETARRAY(var_r27 + GX_VA_TEX0, &var_r31->unk_58[var_r27].unk_04, 4 * sizeof(Vec2f), sizeof(Vec2f));
|
||||
}
|
||||
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_RGBA6, 0U);
|
||||
GXSetArray(GX_VA_NRM, var_r31->unk_4C, 12);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0U);
|
||||
GXSETARRAY(GX_VA_NRM, var_r31->unk_4C, sizeof(Vec), sizeof(Vec));
|
||||
GXCallDisplayList(var_r31->unk_40, var_r31->unk_3C);
|
||||
}
|
||||
}
|
||||
|
|
@ -593,15 +595,15 @@ s16 fn_1_10258(u8 arg0, u8 arg1)
|
|||
var_r31->unk_30 = NULL;
|
||||
var_r31->unk_02 = arg0;
|
||||
var_r31->unk_04 = arg1;
|
||||
var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0x98, 0x10000000);
|
||||
var_r30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0x98, MEMORY_DEFAULT_NUM);
|
||||
var_r31->unk_3C = var_r30;
|
||||
var_r31->unk_34 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * 2, 0x10000000);
|
||||
var_r31->unk_34 = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * 2, MEMORY_DEFAULT_NUM);
|
||||
var_r31->unk_48 = 0;
|
||||
var_r31->unk_4C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 << 8, 0x10000000);
|
||||
var_r31->unk_50 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0x30, 0x10000000);
|
||||
var_r31->unk_54 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0x10, 0x10000000);
|
||||
var_r31->unk_58 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0xC, 0x10000000);
|
||||
var_r31->unk_5C = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * (arg0 * 0x30), 0x10000000);
|
||||
var_r31->unk_4C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 << 8, MEMORY_DEFAULT_NUM);
|
||||
var_r31->unk_50 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0x30, MEMORY_DEFAULT_NUM);
|
||||
var_r31->unk_54 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0x10, MEMORY_DEFAULT_NUM);
|
||||
var_r31->unk_58 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0 * 0xC, MEMORY_DEFAULT_NUM);
|
||||
var_r31->unk_5C = HuMemDirectMallocNum(HEAP_SYSTEM, arg1 * (arg0 * 0x30), MEMORY_DEFAULT_NUM);
|
||||
DCFlushRangeNoSync(var_r31->unk_4C, arg0 << 8);
|
||||
var_r31->unk_0C.x = var_r31->unk_0C.y = var_r31->unk_0C.z = 0.0f;
|
||||
var_r31->unk_18.x = var_r31->unk_18.y = var_r31->unk_18.z = 0.0f;
|
||||
|
|
|
|||
|
|
@ -1344,12 +1344,12 @@ void fn_1_5C2C(s16 arg0, HsfObject *arg1, unkStruct6 *arg2, u16 arg3)
|
|||
arg2->unk38 = NULL;
|
||||
arg2->unk3C = 0xFF;
|
||||
arg2->unk3E = 0;
|
||||
arg2->unk18 = HuMemDirectMallocNum(HEAP_DATA, arg1->data.vertex->count * 0xC, var_r29->unk_48);
|
||||
arg2->unk18 = HuMemDirectMallocNum(HEAP_DATA, arg1->data.vertex->count * sizeof(Vec), var_r29->unk_48);
|
||||
fn_1_6554(arg2, arg1);
|
||||
fn_1_6B58(arg2, arg1);
|
||||
arg2->unkC = HuMemDirectMallocNum(HEAP_DATA, arg2->unk8 * 0xC, var_r29->unk_48);
|
||||
arg2->unk10 = HuMemDirectMallocNum(HEAP_DATA, arg2->unk8 * 0xC, var_r29->unk_48);
|
||||
arg2->unk14 = HuMemDirectMallocNum(HEAP_DATA, arg2->unk8 * 0xC, var_r29->unk_48);
|
||||
arg2->unkC = HuMemDirectMallocNum(HEAP_DATA, arg2->unk8 * sizeof(Vec), var_r29->unk_48);
|
||||
arg2->unk10 = HuMemDirectMallocNum(HEAP_DATA, arg2->unk8 * sizeof(Vec), var_r29->unk_48);
|
||||
arg2->unk14 = HuMemDirectMallocNum(HEAP_DATA, arg2->unk8 * sizeof(Vec), var_r29->unk_48);
|
||||
if (arg2->unk28->numAttrs != 0) {
|
||||
arg2->unk1C = HuMemDirectMallocNum(HEAP_DATA, arg1->data.st->count * 8, var_r29->unk_48);
|
||||
var_r22 = arg1->data.st->data;
|
||||
|
|
@ -1879,10 +1879,10 @@ void fn_1_806C(ModelData *arg0, Mtx arg1)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, temp_r31->unkC, 12);
|
||||
GXSETARRAY(GX_VA_POS, temp_r31->unkC, temp_r31->unk8 * sizeof(Vec), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_NRM, temp_r31->unk14, 12);
|
||||
GXSETARRAY(GX_VA_NRM, temp_r31->unk14, temp_r31->unk8 * sizeof(Vec), sizeof(Vec));
|
||||
lbl_1_bss_C = temp_r31->unk3C;
|
||||
if (temp_r31->unk28->unk34 == 0) {
|
||||
GXSetNumTevStages(1);
|
||||
|
|
@ -1897,7 +1897,7 @@ void fn_1_806C(ModelData *arg0, Mtx arg1)
|
|||
else {
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, temp_r31->unk1C, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, temp_r31->unk1C, sizeof(Vec2f), sizeof(Vec2f)); // TODO PC
|
||||
temp_r29 = &temp_r31->unk2C[temp_r31->unk28->unk38[0]];
|
||||
fn_1_7D60(temp_r29->unk80, temp_r29, 0);
|
||||
lbl_1_bss_2C = 1;
|
||||
|
|
@ -2269,19 +2269,19 @@ s16 fn_1_956C(AnimData *arg0, s16 arg1, f32 arg2, s16 arg3, s16 arg4)
|
|||
var_r24->unk60 = -1;
|
||||
var_r24->unk62 = 0;
|
||||
}
|
||||
var_r25 = HuMemDirectMallocNum(HEAP_DATA, arg1 * 0xC * 4, temp_r28->unk_48);
|
||||
var_r25 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(Vec) * 4, temp_r28->unk_48);
|
||||
var_r31->unk1C = var_r25;
|
||||
|
||||
for (var_r30 = 0; var_r30 < (arg1 * 4); var_r30++, var_r25++) {
|
||||
var_r25->x = var_r25->y = var_r25->z = 0.0f;
|
||||
}
|
||||
var_r27 = HuMemDirectMallocNum(HEAP_DATA, arg1 * 4, temp_r28->unk_48);
|
||||
var_r27 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(GXColor), temp_r28->unk_48);
|
||||
var_r31->unk24 = var_r27;
|
||||
|
||||
for (var_r30 = 0; var_r30 < arg1; var_r30++, var_r27++) {
|
||||
var_r27->r = var_r27->g = var_r27->b = var_r27->a = 0xFF;
|
||||
}
|
||||
var_r29 = HuMemDirectMallocNum(HEAP_DATA, arg1 * 8 * 4, temp_r28->unk_48);
|
||||
var_r29 = HuMemDirectMallocNum(HEAP_DATA, arg1 * sizeof(Vec2f) * 4, temp_r28->unk_48);
|
||||
var_r31->unk20 = var_r29;
|
||||
|
||||
for (var_r30 = 0; var_r30 < arg1; var_r30++) {
|
||||
|
|
@ -2458,13 +2458,13 @@ void fn_1_9C04(ModelData *arg0, Mtx arg1)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, temp_r30->unk1C, 0xC);
|
||||
GXSETARRAY(GX_VA_POS, temp_r30->unk1C, temp_r30->unk0 * sizeof(Vec) * 4, sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, temp_r30->unk24, 4);
|
||||
GXSETARRAY(GX_VA_CLR0, temp_r30->unk24, temp_r30->unk0 * sizeof(GXColor), sizeof(GXColor));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, temp_r30->unk20, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, temp_r30->unk20, temp_r30->unk0 * sizeof(Vec2f) * 4, sizeof(Vec2f));
|
||||
fn_1_9344(arg1, sp128);
|
||||
MTXReorder(sp128, spF8);
|
||||
if (((u8)omPauseChk() == 0) && (temp_r30->unkC)) {
|
||||
|
|
@ -2510,8 +2510,8 @@ void fn_1_9C04(ModelData *arg0, Mtx arg1)
|
|||
}
|
||||
}
|
||||
}
|
||||
DCFlushRangeNoSync(temp_r30->unk1C, temp_r30->unk0 * 0xC * 4);
|
||||
DCFlushRangeNoSync(temp_r30->unk20, temp_r30->unk0 * 8 * 4);
|
||||
DCFlushRangeNoSync(temp_r30->unk1C, temp_r30->unk0 * sizeof(Vec) * 4);
|
||||
DCFlushRangeNoSync(temp_r30->unk20, temp_r30->unk0 * sizeof(Vec2f) * 4);
|
||||
GXCallDisplayList(temp_r30->unk28, temp_r30->unk4);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,12 @@
|
|||
#include "ext_math.h"
|
||||
#include "version.h"
|
||||
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#include <game/hsfex.h>
|
||||
#include <game/audio.h>
|
||||
#endif
|
||||
|
||||
#undef ABS
|
||||
#define ABS(x) ((0 > (x)) ? -(x) : (x))
|
||||
|
||||
|
|
@ -700,7 +706,9 @@ HsfanimStruct00 lbl_1_data_48C = {
|
|||
{ { 255, 255, 255, 0 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 }, { 255, 255, 255, 0 } },
|
||||
};
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void fn_1_2454(omObjData *object)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ void ObjectSetup(void)
|
|||
var_r29 = Hu3DGLightCreateV(&lbl_1_data_54, &lbl_1_bss_14, &lbl_1_data_6C);
|
||||
Hu3DGLightInfinitytSet(var_r29);
|
||||
Hu3DGLightStaticSet(var_r29, 1);
|
||||
Hu3DShadowCreate(10.0f, var_r30->near, var_r30->far);
|
||||
Hu3DShadowCreate(10.0f, var_r30->nnear, var_r30->ffar);
|
||||
Hu3DShadowTPLvlSet(0.625f);
|
||||
Hu3DShadowPosSet(&lbl_1_data_70, &lbl_1_data_7C, &lbl_1_data_60);
|
||||
HuAudSndGrpSet(0x44);
|
||||
|
|
@ -1527,7 +1527,7 @@ void fn_1_485C(ModelData *model, Mtx mtx)
|
|||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
|
||||
C_MTXPerspective(sp40, var_r29->fov, var_r29->aspect, var_r29->near, var_r29->far);
|
||||
C_MTXPerspective(sp40, var_r29->fov, var_r29->aspect, var_r29->nnear, var_r29->ffar);
|
||||
GXSetProjection(sp40, GX_PERSPECTIVE);
|
||||
MTXInverse(mtx, spA0);
|
||||
spA0[0][3] = spA0[1][3] = spA0[2][3] = 0.0f;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ void fn_1_D9F4(s16 arg0)
|
|||
CameraData *var_r31;
|
||||
|
||||
var_r31 = &Hu3DCamera[0];
|
||||
C_MTXPerspective(sp64, var_r31->fov, var_r31->aspect, var_r31->near, var_r31->far);
|
||||
C_MTXPerspective(sp64, var_r31->fov, var_r31->aspect, var_r31->nnear, var_r31->ffar);
|
||||
GXSetProjection(sp64, GX_PERSPECTIVE);
|
||||
GXSetViewport(0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||
GXSetScissor(0, 0, 0x280, 0x1E0);
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
#include "game/hsfex.h"
|
||||
#endif
|
||||
|
||||
s32 rand8(void);
|
||||
extern s32 rand8(void);
|
||||
|
||||
typedef struct UnkCameraStruct {
|
||||
/* 0x00 */ float unk_00;
|
||||
|
|
|
|||
|
|
@ -1589,13 +1589,13 @@ void fn_1_56C4(ModelData *arg0, Mtx arg1)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetArray(GX_VA_POS, var_r31->unk_14, 0xC);
|
||||
GXSETARRAY(GX_VA_POS, var_r31->unk_14, var_r31->unk_64 * sizeof(Vec) * 4, sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, var_r31->unk_20, 4);
|
||||
GXSETARRAY(GX_VA_CLR0, var_r31->unk_20, var_r31->unk_64 * sizeof(GXColor), sizeof(GXColor));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, var_r31->unk_18, 8);
|
||||
GXSETARRAY(GX_VA_TEX0, var_r31->unk_18, var_r31->unk_64 * sizeof(Vec2f) * 4, sizeof(Vec2f));
|
||||
sp130[0][0] = arg1[0][0];
|
||||
sp130[1][0] = arg1[0][1];
|
||||
sp130[2][0] = arg1[0][2];
|
||||
|
|
@ -1651,8 +1651,8 @@ void fn_1_56C4(ModelData *arg0, Mtx arg1)
|
|||
}
|
||||
}
|
||||
}
|
||||
DCFlushRangeNoSync(var_r31->unk_14, var_r31->unk_64 * 0xC * 4);
|
||||
DCFlushRangeNoSync(var_r31->unk_18, var_r31->unk_64 * 8 * 4);
|
||||
DCFlushRangeNoSync(var_r31->unk_14, var_r31->unk_64 * sizeof(Vec) * 4);
|
||||
DCFlushRangeNoSync(var_r31->unk_18, var_r31->unk_64 * sizeof(Vec2f) * 4);
|
||||
GXCallDisplayList(var_r31->unk_24, var_r31->unk_58);
|
||||
}
|
||||
}
|
||||
|
|
@ -6098,7 +6098,9 @@ void fn_1_1A3F0(void)
|
|||
lbl_1_bss_30C.y += 150.0f;
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void fn_1_1A714(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ void ObjectSetup(void)
|
|||
light = Hu3DGLightCreateV(&lbl_1_data_38, &lbl_1_bss_8, &lbl_1_data_50);
|
||||
Hu3DGLightInfinitytSet(light);
|
||||
Hu3DGLightStaticSet(light, 1);
|
||||
Hu3DShadowCreate(10, camera->near, camera->far);
|
||||
Hu3DShadowCreate(10, camera->nnear, camera->ffar);
|
||||
Hu3DShadowTPLvlSet(0.7f);
|
||||
Hu3DShadowPosSet(&lbl_1_data_54, &lbl_1_data_60, &lbl_1_data_44);
|
||||
HuAudSndGrpSet(77);
|
||||
|
|
|
|||
|
|
@ -630,7 +630,7 @@ void fn_1_4B1C(ModelData *model, Mtx matrix)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetArray(GX_VA_POS, lbl_1_data_278, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_data_278, sizeof(lbl_1_data_278), sizeof(Vec));
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
for(i=0; i<4; i++) {
|
||||
GXPosition1x16(i);
|
||||
|
|
@ -721,16 +721,16 @@ void fn_1_4E64(ModelData *model, Mtx matrix)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
|
||||
GXSetArray(GX_VA_POS, lbl_1_data_2A8, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_data_2A8, sizeof(lbl_1_data_2A8), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, lbl_1_data_3E0, sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_CLR0, lbl_1_data_3E0, sizeof(lbl_1_data_3E0), sizeof(GXColor));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, lbl_1_data_448, sizeof(float)*2);
|
||||
GXSETARRAY(GX_VA_TEX0, lbl_1_data_448, sizeof(lbl_1_data_448), sizeof(float)*2);
|
||||
GXSetVtxDesc(GX_VA_TEX1, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX1, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX1, &work2->unk874[0][0], sizeof(float)*2);
|
||||
GXSETARRAY(GX_VA_TEX1, &work2->unk874[0][0], sizeof(work2->unk874), sizeof(float)*2);
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 48);
|
||||
for(i=0; i<12; i++) {
|
||||
s16 index;
|
||||
|
|
@ -886,8 +886,8 @@ void fn_1_59A0(ModelData *model, Mtx matrix)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX8);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_POS, lbl_1_data_604, sizeof(Vec));
|
||||
GXSetArray(GX_VA_CLR0, lbl_1_data_670, sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_data_604, sizeof(lbl_1_data_604), sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_CLR0, lbl_1_data_670, sizeof(lbl_1_data_670), sizeof(GXColor));
|
||||
GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 6);
|
||||
GXPosition1x8(0);
|
||||
GXColor1x8(0);
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ void ObjectSetup(void)
|
|||
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);
|
||||
Hu3DShadowCreate(10.0f, var_r30->nnear, var_r30->ffar);
|
||||
Hu3DShadowTPLvlSet(0.7f);
|
||||
Hu3DShadowPosSet(&lbl_1_data_54, &lbl_1_data_60, &lbl_1_data_44);
|
||||
HuAudSndGrpSet(0x4E);
|
||||
|
|
|
|||
|
|
@ -518,7 +518,7 @@ void fn_1_464C(ModelData *model, Mtx matrix)
|
|||
GXClearVtxDesc();
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetArray(GX_VA_POS, lbl_1_data_388, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_data_388, sizeof(lbl_1_data_388), sizeof(Vec));
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
for (i = 0; i < 4; i++) {
|
||||
GXPosition1x16(i);
|
||||
|
|
@ -609,16 +609,16 @@ void fn_1_4994(ModelData *model, Mtx matrix)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
|
||||
GXSetArray(GX_VA_POS, lbl_1_data_3B8, sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_data_3B8, sizeof(lbl_1_data_3B8), sizeof(Vec));
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_CLR0, lbl_1_data_4F0, sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_CLR0, lbl_1_data_4F0, sizeof(lbl_1_data_4F0), sizeof(GXColor));
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX0, lbl_1_data_558, sizeof(float) * 2);
|
||||
GXSETARRAY(GX_VA_TEX0, lbl_1_data_558, sizeof(lbl_1_data_558), sizeof(float) * 2);
|
||||
GXSetVtxDesc(GX_VA_TEX1, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX1, GX_TEX_ST, GX_F32, 0);
|
||||
GXSetArray(GX_VA_TEX1, &work2->unk874[0][0], sizeof(float) * 2);
|
||||
GXSETARRAY(GX_VA_TEX1, &work2->unk874[0][0], sizeof(work2->unk874), sizeof(float) * 2);
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 48);
|
||||
for (i = 0; i < 12; i++) {
|
||||
s16 index;
|
||||
|
|
@ -776,8 +776,8 @@ void fn_1_54D0(ModelData *model, Mtx matrix)
|
|||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX8);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetArray(GX_VA_POS, lbl_1_data_714, sizeof(Vec));
|
||||
GXSetArray(GX_VA_CLR0, lbl_1_data_780, sizeof(GXColor));
|
||||
GXSETARRAY(GX_VA_POS, lbl_1_data_714, sizeof(lbl_1_data_714), sizeof(Vec));
|
||||
GXSETARRAY(GX_VA_CLR0, lbl_1_data_780, sizeof(lbl_1_data_780), sizeof(GXColor));
|
||||
GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, 6);
|
||||
GXPosition1x8(0);
|
||||
GXColor1x8(0);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#include "ext_math.h"
|
||||
#include "version.h"
|
||||
|
||||
s32 rand8(void);
|
||||
extern s32 rand8(void);
|
||||
|
||||
#define MSM_SE_BOWSER_LAUGH 0x3A
|
||||
#define MSM_SE_BOWSER_HOWL 0x3E
|
||||
|
|
|
|||
|
|
@ -1127,7 +1127,9 @@ void fn_1_507C(WorkPlayerOld *player, s32 attr)
|
|||
player->unk3C &= ~attr;
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
Vec lbl_1_data_A0 = { 0, 600, 600 };
|
||||
Vec lbl_1_data_AC = { 0, 1, 0 };
|
||||
|
|
|
|||
|
|
@ -29,18 +29,8 @@ s32 lbl_1_data_0[][4] = {
|
|||
|
||||
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)
|
||||
{
|
||||
|
|
@ -58,27 +48,11 @@ void fn_1_4C(omObjData *object)
|
|||
}
|
||||
}
|
||||
|
||||
s32 _prolog(void)
|
||||
{
|
||||
const VoidFunc *ctors = _ctors;
|
||||
while (*ctors != 0) {
|
||||
(**ctors)();
|
||||
ctors++;
|
||||
}
|
||||
fn_1_144();
|
||||
return 0;
|
||||
}
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void _epilog(void)
|
||||
{
|
||||
const VoidFunc *dtors = _dtors;
|
||||
while (*dtors != 0) {
|
||||
(**dtors)();
|
||||
dtors++;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_144(void)
|
||||
void ObjectSetup(void)
|
||||
{
|
||||
_ClearFlag(0x1000BU);
|
||||
boardTutorialF = 0;
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ void fn_1_26C54(s16 layer)
|
|||
Vec pos, target, up;
|
||||
GXColor color;
|
||||
CameraData *camera = &Hu3DCamera[0];
|
||||
MTXPerspective(proj, camera->fov, camera->aspect, camera->near, camera->far);
|
||||
MTXPerspective(proj, camera->fov, camera->aspect, camera->nnear, camera->ffar);
|
||||
GXSetProjection(proj, GX_PERSPECTIVE);
|
||||
GXSetViewport(0, 0, 640, 480, 0, 1);
|
||||
GXSetScissor(0, 0, 640, 480);
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ static inline void HuControlCamCenter(Vec *sp18, Vec *sp30)
|
|||
|
||||
// -------------------------------------------------------------------------- //
|
||||
|
||||
void fn_1_37DC(omObjData *)
|
||||
void fn_1_37DC(omObjData *object)
|
||||
{
|
||||
Vec sp3C;
|
||||
Vec sp30;
|
||||
|
|
@ -135,7 +135,7 @@ void fn_1_37DC(omObjData *)
|
|||
|
||||
// -------------------------------------------------------------------------- //
|
||||
|
||||
void fn_1_439C(omObjData *)
|
||||
void fn_1_439C(omObjData *object)
|
||||
{
|
||||
s16 var_r31;
|
||||
f32 temp_f30;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
#include "REL/modeseldll.h"
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#include "game/esprite.h"
|
||||
#endif
|
||||
|
||||
s16 lbl_1_bss_19A[24];
|
||||
s16 lbl_1_bss_16A[24];
|
||||
s16 lbl_1_bss_152[12];
|
||||
|
|
|
|||
|
|
@ -14,8 +14,11 @@
|
|||
|
||||
#include "REL/modeseldll.h"
|
||||
|
||||
s32 msmSysGetOutputMode(void);
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#include "game/esprite.h"
|
||||
#include "game/hsfex.h"
|
||||
#endif
|
||||
|
||||
s16 lbl_1_data_100 = -1;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
#include "REL/modeseldll.h"
|
||||
#include "ext_math.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/board/ui.h"
|
||||
#include "game/esprite.h"
|
||||
#include "game/gamework_data.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/object.h"
|
||||
|
|
@ -8,7 +11,8 @@
|
|||
#include "game/process.h"
|
||||
#include "game/window.h"
|
||||
#include "game/wipe.h"
|
||||
#include "ext_math.h"
|
||||
|
||||
#include <msm/msmsys.h>
|
||||
|
||||
typedef struct camera_view_params {
|
||||
Vec rot;
|
||||
|
|
@ -103,6 +107,7 @@ void fn_1_414(void)
|
|||
HuWinAllKill();
|
||||
HuWinInit(1);
|
||||
#endif
|
||||
#ifdef __MWERKS__
|
||||
grpId = HuSprGrpCreate(1);
|
||||
sprId = HuTHPSprCreateVol("movie/opmov_s00.thp", 0, 3000, 70.0);
|
||||
HuSprGrpMemberSet(grpId, 0, sprId);
|
||||
|
|
@ -116,6 +121,7 @@ void fn_1_414(void)
|
|||
}
|
||||
HuTHPClose();
|
||||
HuSprGrpKill(grpId);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
espAttrReset(lbl_1_bss_152[9], HUSPR_ATTR_DISPOFF);
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ typedef struct MpexDllUnkStruct4 {
|
|||
/* 0x2C */ char unk2C[0x1C];
|
||||
} MpexDllUnkStruct4; /* size = 0x48 */
|
||||
|
||||
s32 rand8(void);
|
||||
extern s32 rand8(void);
|
||||
float fn_1_1B52C(float arg8, float arg9, float argA, float argB);
|
||||
float fn_1_1B574(float arg0, float arg1, float arg2, float arg3);
|
||||
float fn_1_1B64C(float arg0, float arg1, float arg2, float arg3);
|
||||
|
|
|
|||
|
|
@ -130,7 +130,9 @@ void fn_1_A4(void) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void fn_1_3E4(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -127,7 +127,9 @@ void fn_1_A4(void) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void fn_1_40C(void) {
|
||||
lbl_1_bss_0 = omInitObjMan(62, 0x2000);
|
||||
|
|
|
|||
|
|
@ -222,8 +222,8 @@ void fn_1_1E820(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
temp_r21 = temp_r28->unk24 - (temp_r28->unk24 / 5.0f);
|
||||
temp_r26 = temp_r21 / 2;
|
||||
temp_r20 = temp_r21 - temp_r26;
|
||||
PSVECSubtract(&temp_r28->unk04, &temp_r28->unk10, &sp8);
|
||||
temp_f31 = PSVECMag(&sp8) / temp_r20;
|
||||
VECSubtract(&temp_r28->unk04, &temp_r28->unk10, &sp8);
|
||||
temp_f31 = VECMag(&sp8) / temp_r20;
|
||||
for (var_r22 = 0; var_r22 < particle->unk_30 / (temp_r28->unk24 / 5.0f); var_r22++) {
|
||||
var_r31 = particle->unk_48;
|
||||
for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
|
||||
|
|
@ -254,12 +254,12 @@ void fn_1_1E820(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
continue;
|
||||
}
|
||||
if (var_r31->unk00 == 0) {
|
||||
PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
|
||||
var_r31->unk08.x *= 0.999f;
|
||||
var_r31->unk08.y -= 0.5f;
|
||||
var_r31->unk08.z *= 0.999f;
|
||||
if (var_r31->unk02 > temp_r26 - (temp_r26 / 5.0)) {
|
||||
PSVECScale(&var_r31->unk08, &var_r31->unk08, 1.0 - ((var_r31->unk02 - (temp_r26 - temp_r26 / 5.0)) / (temp_r26 / 5.0)));
|
||||
VECScale(&var_r31->unk08, &var_r31->unk08, 1.0 - ((var_r31->unk02 - (temp_r26 - temp_r26 / 5.0)) / (temp_r26 / 5.0)));
|
||||
}
|
||||
if (var_r31->unk02 == temp_r26) {
|
||||
var_r31->unk00++;
|
||||
|
|
@ -270,18 +270,18 @@ void fn_1_1E820(ModelData* model, ParticleData* particle, Mtx matrix) {
|
|||
}
|
||||
} else if (var_r31->unk00 == 1) {
|
||||
sp8 = temp_r28->unk00[var_r29];
|
||||
PSVECSubtract(&sp8, &var_r31->unk34, &sp8);
|
||||
if (PSVECMag(&sp8) <= 1.0 + temp_f31) {
|
||||
VECSubtract(&sp8, &var_r31->unk34, &sp8);
|
||||
if (VECMag(&sp8) <= 1.0 + temp_f31) {
|
||||
var_r23++;
|
||||
var_r31->unk34 = temp_r28->unk00[var_r29];
|
||||
var_r31->unk00++;
|
||||
continue;
|
||||
}
|
||||
PSVECNormalize(&sp8, &sp8);
|
||||
VECNormalize(&sp8, &sp8);
|
||||
var_r31->unk08.x = sp8.x * temp_f31 + sind(var_r31->unk14.x);
|
||||
var_r31->unk08.y = sp8.y * temp_f31;
|
||||
var_r31->unk08.z = sp8.z * temp_f31;
|
||||
PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
|
||||
VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
|
||||
var_r31->unk14.x += 20.0f;
|
||||
} else {
|
||||
var_r23++;
|
||||
|
|
|
|||
|
|
@ -105,7 +105,6 @@ s32 lbl_1_data_56C[] = {
|
|||
};
|
||||
|
||||
void fn_1_EC(void);
|
||||
void fn_1_12E8(void);
|
||||
void fn_1_13A0(void);
|
||||
|
||||
s32 lbl_1_bss_14;
|
||||
|
|
@ -454,25 +453,11 @@ void fn_1_EC(void)
|
|||
}
|
||||
}
|
||||
|
||||
s32 _prolog(void) {
|
||||
const VoidFunc* ctors = _ctors;
|
||||
while (*ctors != 0) {
|
||||
(**ctors)();
|
||||
ctors++;
|
||||
}
|
||||
fn_1_12E8();
|
||||
return 0;
|
||||
}
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void _epilog(void) {
|
||||
const VoidFunc* dtors = _dtors;
|
||||
while (*dtors != 0) {
|
||||
(**dtors)();
|
||||
dtors++;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_12E8(void)
|
||||
void ObjectSetup(void)
|
||||
{
|
||||
lbl_1_bss_0 = omInitObjMan(62, 8192);
|
||||
omGameSysInit(lbl_1_bss_0);
|
||||
|
|
|
|||
|
|
@ -138,7 +138,9 @@ void fn_1_A4(void) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
||||
void fn_1_488(void) {
|
||||
s32 i;
|
||||
|
|
|
|||
|
|
@ -19,4 +19,6 @@ void fn_1_68(omObjData *object)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#include "src/REL/executor.c"
|
||||
#endif
|
||||
|
|
@ -13,6 +13,10 @@
|
|||
#include "dolphin.h"
|
||||
#include "math.h"
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#include <game/audio.h>
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ omObjData *object[26];
|
||||
/* 0x068 */ OptionWindow *window[13];
|
||||
|
|
@ -110,7 +114,7 @@ static void CreateNote(omObjData *object, s32 type, s32 side, s32 color);
|
|||
static void CreateNoteSpawner(omObjData *object);
|
||||
static void KillNoteSpawner(omObjData *object);
|
||||
static void ExecNoteSpawner(void);
|
||||
static void PlaySound(omObjData *object);
|
||||
static void OptionPlaySound(omObjData *object);
|
||||
static void FadeSound(omObjData *object);
|
||||
|
||||
omObjData *optionSound;
|
||||
|
|
@ -920,7 +924,7 @@ static void ExecMusic(omObjData *object)
|
|||
HuAudSeqFadeOut(work->bgMusicStat, 0x64);
|
||||
work->bgMusicStat = -1;
|
||||
}
|
||||
PlaySound(object);
|
||||
OptionPlaySound(object);
|
||||
}
|
||||
else if (OptionPadCheck(PAD_BUTTON_B)) {
|
||||
HuAudFXPlay(3);
|
||||
|
|
@ -1101,7 +1105,7 @@ static void ExecVoice(omObjData *object)
|
|||
case 6:
|
||||
if (work->window[0]->state == 0 && work->window[1]->state == 0) {
|
||||
if (OptionPadCheck(PAD_BUTTON_A)) {
|
||||
PlaySound(object);
|
||||
OptionPlaySound(object);
|
||||
}
|
||||
else if (OptionPadCheck(PAD_BUTTON_B)) {
|
||||
HuAudFXPlay(3);
|
||||
|
|
@ -1665,7 +1669,7 @@ static void ExecNoteSpawner(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void PlaySound(omObjData *object)
|
||||
static void OptionPlaySound(omObjData *object)
|
||||
{
|
||||
SoundWork *work = object->data;
|
||||
SndSelData *sndSelData;
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ typedef struct PresentDistanceStruct {
|
|||
static void ExecSelectRoom(omObjData *object);
|
||||
static void ChangeRoom(omObjData *object, s32 direction);
|
||||
static void ExecSelectPresent(omObjData *object);
|
||||
static void GetCursorPos(omObjData *object, float *x, float *y, float *z);
|
||||
static void PresentGetCursorPos(omObjData *object, float *x, float *y, float *z);
|
||||
static void SetCameraRot(omObjData *object, float rot, s32 duration);
|
||||
static void RotateCamera(omObjData *object);
|
||||
static BOOL CameraRotationDoneCheck(omObjData *object);
|
||||
|
|
@ -731,7 +731,7 @@ static void ExecSelectPresent(omObjData *object)
|
|||
work->cursorSpeed = 1.0f / 6.0f;
|
||||
if (work->roomNotEmptyF) {
|
||||
Vec cursorPos;
|
||||
GetCursorPos(work->object[roomTbl[room].presentData[idxInRoom].cursorPosIdx], &cursorPos.x, &cursorPos.y, &cursorPos.z);
|
||||
PresentGetCursorPos(work->object[roomTbl[room].presentData[idxInRoom].cursorPosIdx], &cursorPos.x, &cursorPos.y, &cursorPos.z);
|
||||
Hu3D3Dto2D(&cursorPos, 1, &cursorPos);
|
||||
cursorPos.y -= 15.0f;
|
||||
cursorPos.x -= 20.0f;
|
||||
|
|
@ -818,7 +818,7 @@ static void ExecSelectPresent(omObjData *object)
|
|||
}
|
||||
}
|
||||
|
||||
static void GetCursorPos(omObjData *object, float *x, float *y, float *z)
|
||||
static void PresentGetCursorPos(omObjData *object, float *x, float *y, float *z)
|
||||
{
|
||||
Mtx sp8;
|
||||
|
||||
|
|
@ -966,7 +966,7 @@ static s32 MoveCursor(omObjData *object, s32 arg1)
|
|||
return work->idxInRoom;
|
||||
}
|
||||
|
||||
GetCursorPos(work->object[roomTbl[work->room].presentData[work->idxInRoom].cursorPosIdx], &cursorPos.x, &cursorPos.y, &cursorPos.z);
|
||||
PresentGetCursorPos(work->object[roomTbl[work->room].presentData[work->idxInRoom].cursorPosIdx], &cursorPos.x, &cursorPos.y, &cursorPos.z);
|
||||
Hu3D3Dto2D(&cursorPos, 1, &cursorPos);
|
||||
for (i = 0, j = 0; i == 0 && j < 1; j++) {
|
||||
for (i = 0, present = 0; present < totalPresents; present++) {
|
||||
|
|
@ -978,7 +978,7 @@ static s32 MoveCursor(omObjData *object, s32 arg1)
|
|||
if (!PresentUnlocked(object, work->room, present)) {
|
||||
continue;
|
||||
}
|
||||
GetCursorPos(work->object[roomTbl[work->room].presentData[present].cursorPosIdx], &cursorPosNew.x, &cursorPosNew.y, &cursorPosNew.z);
|
||||
PresentGetCursorPos(work->object[roomTbl[work->room].presentData[present].cursorPosIdx], &cursorPosNew.x, &cursorPosNew.y, &cursorPosNew.z);
|
||||
Hu3D3Dto2D(&cursorPosNew, 1, &cursorPosNew);
|
||||
dx = cursorPos.x - cursorPosNew.x;
|
||||
dy = cursorPos.y - cursorPosNew.y;
|
||||
|
|
|
|||
|
|
@ -16,10 +16,13 @@
|
|||
#include "game/wipe.h"
|
||||
#include "math.h"
|
||||
|
||||
|
||||
#ifdef __MWERKS__
|
||||
// MSM Definitions
|
||||
static s8 *msmSeGetIndexPtr(s16 datano);
|
||||
static void msmMusSetMasterVolume(s32 value);
|
||||
#else
|
||||
#include "game/msm.h"
|
||||
#endif
|
||||
|
||||
#define SM_PAGE_MAX 7
|
||||
#define SM_PAGE_SIZE 10
|
||||
|
|
@ -907,9 +910,12 @@ static void SMSound3DDraw(void);
|
|||
|
||||
static void SMSound3DInit(omObjData *object)
|
||||
{
|
||||
#ifdef __MWERKS__
|
||||
// TODO PC
|
||||
s8 *data = msmSeGetIndexPtr(emiCompDataNo);
|
||||
emiCompVal = data[12];
|
||||
object->func = SMSound3DUpdate;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void SMSound3DUpdate(omObjData *object)
|
||||
|
|
|
|||
|
|
@ -60,8 +60,6 @@ typedef struct w03UnkMG {
|
|||
|
||||
// external symbols
|
||||
|
||||
extern u16 HuPadBtnDown[4];
|
||||
|
||||
// function signatures
|
||||
s32 BoardVecDAngleCalcRange(float *value, float min, float range);
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ typedef struct w03UnkWorkStruct {
|
|||
|
||||
extern w03State* lbl_1_bss_0;
|
||||
omObjData* lbl_1_bss_138[2];
|
||||
extern Process *boardObjMan;
|
||||
extern s16 lbl_1_data_1E0;
|
||||
|
||||
void fn_1_79E0(omObjData* arg0);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include "include/REL/w10Dll.h"
|
||||
#include "REL/w10Dll.h"
|
||||
#include "game/data.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/board/lottery.h"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include "include/REL/w10Dll.h"
|
||||
#include "REL/w10Dll.h"
|
||||
#include "game/board/char_wheel.h"
|
||||
#include "game/board/lottery.h"
|
||||
#include "game/board/main.h"
|
||||
|
|
|
|||
|
|
@ -77,10 +77,10 @@ static void __DEMOInitMem()
|
|||
void *arenaHi = OSGetArenaHi();
|
||||
unsigned long fbSize = ((u16)(rmode->fbWidth + 15) & 0xFFF0) * rmode->xfbHeight * 2;
|
||||
|
||||
DemoFrameBuffer1 = (void *)(((u32)arenaLo + 0x1F) & 0xFFFFFFE0);
|
||||
DemoFrameBuffer2 = (void *)(((u32)DemoFrameBuffer1 + fbSize + 0x1F) & 0xFFFFFFE0);
|
||||
DemoFrameBuffer1 = (void *)(((uintptr_t)arenaLo + 0x1F) & ~0x1F);
|
||||
DemoFrameBuffer2 = (void *)(((uintptr_t)DemoFrameBuffer1 + fbSize + 0x1F) & ~0x1F);
|
||||
DemoCurrentBuffer = DemoFrameBuffer2;
|
||||
arenaLo = (void *)(((u32)DemoFrameBuffer2 + fbSize + 0x1F) & 0xFFFFFFE0);
|
||||
arenaLo = (void *)(((uintptr_t)DemoFrameBuffer2 + fbSize + 0x1F) & ~0x1F);
|
||||
OSSetArenaLo(arenaLo);
|
||||
if (((OSGetConsoleType() + 0xF0000000) == 4U) && ((OSGetPhysicalMemSize() + 0xFFC00000) != 0U)
|
||||
&& (OSGetConsoleSimulatedMemSize() < 0x01800000U)) {
|
||||
|
|
@ -91,9 +91,9 @@ static void __DEMOInitMem()
|
|||
arenaHi = OSGetArenaHi();
|
||||
arenaLo = OSInitAlloc(arenaLo, arenaHi, 1);
|
||||
OSSetArenaLo(arenaLo);
|
||||
arenaLo = (void *)(((u32)arenaLo + 0x1F) & 0xFFFFFFE0);
|
||||
arenaHi = (void *)((u32)arenaHi & 0xFFFFFFE0);
|
||||
OSSetCurrentHeap(OSCreateHeap((void *)(((u32)arenaLo)), arenaHi));
|
||||
arenaLo = (void *)(((uintptr_t)arenaLo + 0x1F) & ~0x1F);
|
||||
arenaHi = (void *)((uintptr_t)arenaHi & ~0x1F);
|
||||
OSSetCurrentHeap(OSCreateHeap((void *)(((uintptr_t)arenaLo)), arenaHi));
|
||||
OSSetArenaLo((arenaLo = arenaHi));
|
||||
}
|
||||
|
||||
|
|
@ -210,13 +210,13 @@ static void LoadMemInfo()
|
|||
arenaHi = OSGetArenaHi();
|
||||
arenaLo = OSInitAlloc(arenaLo, arenaHi, 1);
|
||||
OSSetArenaLo(arenaLo);
|
||||
arenaLo = (void *)(((u32)arenaLo + 0x1F) & 0xFFFFFFE0);
|
||||
arenaHi = (void *)((u32)arenaHi & 0xFFFFFFE0);
|
||||
arenaLo = (void *)(((uintptr_t)arenaLo + 0x1F) & ~0x1F);
|
||||
arenaHi = (void *)((uintptr_t)arenaHi & ~0x1F);
|
||||
OSSetCurrentHeap(OSCreateHeap((void *)(((u32)arenaLo)), arenaHi));
|
||||
OSSetArenaLo((arenaLo = arenaHi));
|
||||
return;
|
||||
}
|
||||
memEntry = (void *)((u32)buf + 0x1F & 0xFFFFFFE0);
|
||||
memEntry = (void *)((uintptr_t)buf + 0x1F & ~0x1F);
|
||||
arenaHiOld = OSGetArenaHi();
|
||||
simMemEnd = OSPhysicalToCached(OSGetConsoleSimulatedMemSize());
|
||||
OSSetArenaHi(OSPhysicalToCached(OSGetPhysicalMemSize()));
|
||||
|
|
@ -224,8 +224,8 @@ static void LoadMemInfo()
|
|||
arenaHi = OSGetArenaHi();
|
||||
arenaLo = OSInitAlloc(arenaLo, arenaHi, 1);
|
||||
OSSetArenaLo(arenaLo);
|
||||
arenaLo = (void *)(((u32)arenaLo + 0x1F) & 0xFFFFFFE0);
|
||||
arenaHi = (void *)((u32)arenaHi & 0xFFFFFFE0);
|
||||
arenaLo = (void *)(((uintptr_t)arenaLo + 0x1F) & ~0x1F);
|
||||
arenaHi = (void *)((uintptr_t)arenaHi & ~0x1F);
|
||||
OSSetCurrentHeap(OSCreateHeap((void *)(arenaLo), arenaHi));
|
||||
OSSetArenaLo((arenaLo = arenaHi));
|
||||
OSAllocFixed(&arenaHiOld, &simMemEnd);
|
||||
|
|
@ -234,7 +234,7 @@ static void LoadMemInfo()
|
|||
while (length) {
|
||||
OSReport("loop\n");
|
||||
transferLength = (length < 0x20) ? length : 0x20;
|
||||
if (DVDReadPrio(&fileInfo, memEntry, (transferLength + 0x1F) & 0xFFFFFFE0, offset, 2) < 0) {
|
||||
if (DVDReadPrio(&fileInfo, memEntry, (transferLength + 0x1F) & ~0x1F, offset, 2) < 0) {
|
||||
OSPanic(__FILE__, 0x49F, "An error occurred when issuing read to /meminfo.bin\n");
|
||||
}
|
||||
indexMax = (transferLength / 8);
|
||||
|
|
|
|||
|
|
@ -1367,7 +1367,6 @@ void C_MTXMultVecArray(const Mtx m, const Vec* srcBase, Vec* dstBase, u32 count)
|
|||
|
||||
void C_MTXROMultVecArray(const ROMtx m, const Vec *srcBase, Vec *dstBase, u32 count)
|
||||
{
|
||||
u32 i;
|
||||
for (u32 i = 0; i < count; ++i) {
|
||||
Vec* src = &srcBase[i];
|
||||
Vec* dst = &dstBase[i];
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ void C_QUATAdd(const Quaternion *p, const Quaternion *q, Qtrn *r)
|
|||
r->w = p->w + q->w;
|
||||
}
|
||||
|
||||
#ifdef GEKKO
|
||||
void PSQUATAdd(register const Quaternion *p, register const Quaternion *q, register Quaternion *r)
|
||||
{
|
||||
asm {
|
||||
|
|
@ -27,7 +28,19 @@ void PSQUATAdd(register const Quaternion *p, register const Quaternion *q, regis
|
|||
psq_st f0, 0x8(r5), 0, 0
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef TARGET_PC
|
||||
void C_QUATMultiply(const Quaternion *a, const Quaternion *b, Quaternion *ab)
|
||||
{
|
||||
ab->x = a->w * b->x + a->x * b->w + a->y * b->z - a->z * b->y;
|
||||
ab->y = a->w * b->y - a->x * b->z + a->y * b->w + a->z * b->x;
|
||||
ab->z = a->w * b->z + a->x * b->y - a->y * b->x + a->z * b->w;
|
||||
ab->w = a->w * b->w - a->x * b->x - a->y * b->y - a->z * b->z;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef GEKKO
|
||||
void PSQUATMultiply(register const Quaternion *a, register const Quaternion *b, register Quaternion *ab)
|
||||
{
|
||||
asm {
|
||||
|
|
@ -55,7 +68,26 @@ void PSQUATMultiply(register const Quaternion *a, register const Quaternion *b,
|
|||
psq_st f5, 8(ab), 0, 0
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef TARGET_PC
|
||||
void C_QUATNormalize(const Quaternion *src, Quaternion *unit)
|
||||
{
|
||||
float len = sqrtf(src->x * src->x + src->y * src->y + src->z * src->z + src->w * src->w);
|
||||
if (len > 0.0f) {
|
||||
float inv_len = 1.0f / len;
|
||||
unit->x = src->x * inv_len;
|
||||
unit->y = src->y * inv_len;
|
||||
unit->z = src->z * inv_len;
|
||||
unit->w = src->w * inv_len;
|
||||
} else {
|
||||
unit->x = unit->y = unit->z = 0.0f;
|
||||
unit->w = 1.0f;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef GEKKO
|
||||
void PSQUATNormalize(const register Quaternion *src, register Quaternion *unit)
|
||||
{
|
||||
// sdata2
|
||||
|
|
@ -95,7 +127,27 @@ void PSQUATNormalize(const register Quaternion *src, register Quaternion *unit)
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef TARGET_PC
|
||||
void C_QUATInverse(const Quaternion *src, Quaternion *inv)
|
||||
{
|
||||
float len_squared = src->x * src->x + src->y * src->y + src->z * src->z + src->w * src->w;
|
||||
|
||||
if (len_squared > 0.0f) {
|
||||
float inv_len_squared = 1.0f / len_squared;
|
||||
inv->x = -src->x * inv_len_squared;
|
||||
inv->y = -src->y * inv_len_squared;
|
||||
inv->z = -src->z * inv_len_squared;
|
||||
inv->w = src->w * inv_len_squared;
|
||||
} else {
|
||||
inv->x = inv->y = inv->z = 0.0f;
|
||||
inv->w = 1.0f;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef GEKKO
|
||||
void PSQUATInverse(const register Quaternion *src, register Quaternion *inv)
|
||||
{
|
||||
register f32 vv1, vv2, vv3, vv4;
|
||||
|
|
@ -126,6 +178,7 @@ void PSQUATInverse(const register Quaternion *src, register Quaternion *inv)
|
|||
psq_st vv3, 8(inv), 1, 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void C_QUATRotAxisRad(Quaternion *q, const Vec *axis, f32 rad)
|
||||
{
|
||||
|
|
@ -133,7 +186,7 @@ void C_QUATRotAxisRad(Quaternion *q, const Vec *axis, f32 rad)
|
|||
Vec dst;
|
||||
|
||||
tmp = rad;
|
||||
PSVECNormalize(axis, &dst);
|
||||
VECNormalize(axis, &dst);
|
||||
|
||||
tmp2 = tmp * 0.5f;
|
||||
tmp3 = sinf(tmp * 0.5f);
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ void *OSAllocFromHeap(int heap, unsigned long size)
|
|||
|
||||
hd = &HeapArray[heap];
|
||||
size += 0x20;
|
||||
size = (size + 0x1F) & 0xFFFFFFE0;
|
||||
size = (size + 0x1F) & ~0x1F;
|
||||
|
||||
for (cell = hd->free; cell != NULL; cell = cell->next) {
|
||||
if ((signed)size <= (signed)cell->size) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ void OSStopStopwatch(struct OSStopwatch *sw)
|
|||
}
|
||||
}
|
||||
|
||||
long long OSCheckStopwatch(struct OSStopwatch *sw)
|
||||
OSTime OSCheckStopwatch(OSStopwatch *sw)
|
||||
{
|
||||
long long currTotal;
|
||||
|
||||
|
|
|
|||
|
|
@ -39,8 +39,13 @@ void HuARInit(void) {
|
|||
for (i = 0; i < 64; i++) {
|
||||
ARInfo[i].amemptr = 0;
|
||||
}
|
||||
#ifdef TARGET_PC
|
||||
size = ARGetSize() - 0x20;
|
||||
ARBase = 0x20;
|
||||
#else
|
||||
size = ARGetSize() - 0x808000;
|
||||
ARBase = 0x808000;
|
||||
#endif
|
||||
ARInfo[0].amemptr = ARBase;
|
||||
ARInfo[0].size = size;
|
||||
ARInfo[0].flag = 0;
|
||||
|
|
@ -260,7 +265,11 @@ void *HuAR_ARAMtoMRAMNum(u32 src, s32 num) {
|
|||
|
||||
block = HuARInfoGet(src);
|
||||
if (HuDataReadChk(block->dir << 16) >= 0) {
|
||||
#ifdef NON_MATCHING
|
||||
return 0;
|
||||
#else
|
||||
return;
|
||||
#endif
|
||||
}
|
||||
size = HuARSizeGet(src);
|
||||
dst = HuMemDirectMallocNum(HEAP_DVD, size, num);
|
||||
|
|
@ -272,7 +281,7 @@ void *HuAR_ARAMtoMRAMNum(u32 src, s32 num) {
|
|||
ARQueBuf[arqIdx].dst = dst;
|
||||
arqCnt++;
|
||||
PPCSync();
|
||||
ARQPostRequest(&ARQueBuf[arqIdx].req, 0x1234, 1, 0, src, (u32) dst, size, ArqCallBackAM);
|
||||
ARQPostRequest(&ARQueBuf[arqIdx].req, 0x1234, 1, 0, src, (uintptr_t) dst, size, ArqCallBackAM);
|
||||
arqIdx++;
|
||||
arqIdx &= 0xF;
|
||||
return dst;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#include "game/audio.h"
|
||||
#include "game/board/basic_space.h"
|
||||
#include "game/board/main.h"
|
||||
#include "game/board/model.h"
|
||||
|
|
@ -236,10 +237,10 @@ static void CreateCoinChg(coinChg *coin_chg, Vec *pos) {
|
|||
BoardModelMotionSpeedSet(coin_chg->sign_model, 0.0f);
|
||||
BoardModelMotionSpeedSet(coin_chg->tens_model, 0.0f);
|
||||
BoardModelMotionSpeedSet(coin_chg->ones_model, 0.0f);
|
||||
BoardModelScaleSet(coin_chg->sign_model, 0.001, 0.001, 0.001);
|
||||
BoardModelScaleSet(coin_chg->tens_model, 0.001, 0.001, 0.001);
|
||||
BoardModelScaleSet(coin_chg->ones_model, 0.001, 0.001, 0.001);
|
||||
BoardModelScaleSet(coin_chg->coin_model, 0.001, 0.001, 0.001);
|
||||
BoardModelScaleSet(coin_chg->sign_model, 0.001f, 0.001f, 0.001f);
|
||||
BoardModelScaleSet(coin_chg->tens_model, 0.001f, 0.001f, 0.001f);
|
||||
BoardModelScaleSet(coin_chg->ones_model, 0.001f, 0.001f, 0.001f);
|
||||
BoardModelScaleSet(coin_chg->coin_model, 0.001f, 0.001f, 0.001f);
|
||||
BoardModelLayerSet(coin_chg->sign_model, 1);
|
||||
BoardModelLayerSet(coin_chg->tens_model, 1);
|
||||
BoardModelLayerSet(coin_chg->ones_model, 1);
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
#include "ext_math.h"
|
||||
|
||||
#include <game/hsfex.h>
|
||||
|
||||
typedef struct {
|
||||
struct {
|
||||
u8 unk00_field0 : 1;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#include "ext_math.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/board/main.h"
|
||||
#include "game/board/model.h"
|
||||
#include "game/board/player.h"
|
||||
|
|
@ -8,6 +9,8 @@
|
|||
#include "game/objsub.h"
|
||||
#include "game/process.h"
|
||||
|
||||
#include <game/board/audio.h>
|
||||
#include <game/board/tutorial.h>
|
||||
|
||||
#define BLOCK_SPAWN 0
|
||||
#define BLOCK_HIT 2
|
||||
|
|
|
|||
|
|
@ -95,6 +95,8 @@ typedef struct {
|
|||
float unk04;
|
||||
} BallTakeCoinWork;
|
||||
|
||||
static BOOL CheckBallCoinDone(void);
|
||||
static void TakeBallStar(void);
|
||||
static void ComSetupStealPlayer(s32 arg0);
|
||||
static void ComSetStealPlayerInput(s32 arg0, s32 arg1);
|
||||
static void ExecCoinSteal(void);
|
||||
|
|
@ -131,8 +133,10 @@ static void BallBooAttack(omObjData *arg0, BallBooWork *arg1);
|
|||
static void BallBooFlash(omObjData *arg0, BallBooWork *arg1);
|
||||
static void TakeBallCoin(void);
|
||||
static void ExecTakeBallCoin(omObjData *arg0);
|
||||
static void ExecTakeBallStar(omObjData *arg0);
|
||||
static void TakeBallCoinPosSet(BallTakeCoinData *arg0, Vec *arg1);
|
||||
static void UpdatePlayerCoins(void);
|
||||
static BOOL CheckTakeBallStarDone(void);
|
||||
|
||||
s8 lbl_801D41E2;
|
||||
static s8 stealTarget;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#include "game/audio.h"
|
||||
#include "game/board/boo_house.h"
|
||||
|
||||
#include "game/board/audio.h"
|
||||
#include "game/board/boo.h"
|
||||
#include "game/board/com.h"
|
||||
|
|
@ -16,6 +16,9 @@
|
|||
|
||||
#include "ext_math.h"
|
||||
|
||||
#include <game/board/tutorial.h>
|
||||
#include <game/hsfex.h>
|
||||
|
||||
// bss
|
||||
static s16 houseMdl[6];
|
||||
|
||||
|
|
|
|||
|
|
@ -15,6 +15,10 @@
|
|||
#include "ext_math.h"
|
||||
#include "string.h"
|
||||
|
||||
#include <game/board/tutorial.h>
|
||||
#include <game/chrman.h>
|
||||
#include <game/hsfex.h>
|
||||
|
||||
typedef struct bowser_event_data {
|
||||
s16 sprite[3];
|
||||
s16 delay[3];
|
||||
|
|
@ -1215,7 +1219,6 @@ static void ConfigBowserEvent(void)
|
|||
for(coins=i=0; i<4; i++) {
|
||||
coins += BoardPlayerCoinsGet(i);
|
||||
}
|
||||
retry:
|
||||
while(1) {
|
||||
chance = BoardRandMod(100);
|
||||
if(chance >= 95) {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@
|
|||
|
||||
#include "ext_math.h"
|
||||
|
||||
#include <game/board/boo_house.h>
|
||||
|
||||
typedef BOOL (*UseCheckFunc)(s32 player, s32 item);
|
||||
|
||||
static void ExecComKeyLeft(void);
|
||||
|
|
|
|||
|
|
@ -8,6 +8,10 @@
|
|||
|
||||
#include "game/wipe.h"
|
||||
|
||||
#include <game/audio.h>
|
||||
#include <game/board/window.h>
|
||||
#include <game/objsub.h>
|
||||
|
||||
static Vec camTargetFortune;
|
||||
static Vec camPosFortune;
|
||||
|
||||
|
|
@ -197,7 +201,6 @@ static void FortunePostMG(void)
|
|||
|
||||
static void CreateFortunePlatform(void)
|
||||
{
|
||||
PlayerState *player;
|
||||
Vec pos, rot;
|
||||
PlatformWork *work;
|
||||
fortunePlatformObj = omAddObjEx(boardObjMan, 257, 0, 0, -1, ExecFortunePlatform);
|
||||
|
|
|
|||
|
|
@ -28,6 +28,13 @@
|
|||
|
||||
#include "ext_math.h"
|
||||
|
||||
#include <game/msm.h>
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#include <game/hsfex.h>
|
||||
extern s32 rand8(void);
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 unk00;
|
||||
/* 0x02 */ s16 unk02;
|
||||
|
|
|
|||
|
|
@ -340,7 +340,7 @@ static void SetTeamResultTarget(s32 team, Vec *pos);
|
|||
static void KillTeamResult(void);
|
||||
static void UpdateTeamResult(omObjData *object);
|
||||
|
||||
void BoardLast5Exec()
|
||||
void BoardLast5Exec(void)
|
||||
{
|
||||
GWSystem.player_curr = -1;
|
||||
last5Proc = HuPrcChildCreate(ExecLast5, 8200, 14336, 0, boardMainProc);
|
||||
|
|
@ -703,10 +703,10 @@ static void Last5Main(void)
|
|||
temp_r20 = GetLast5RouletteResult();
|
||||
GWSystem.last5_effect = temp_r20;
|
||||
if(GWSystem.last5_effect == 2) {
|
||||
BoardSpaceTypeForce(2, 3);
|
||||
BoardSpaceTypeForce(2, 3);
|
||||
}
|
||||
if(GWSystem.last5_effect == 3) {
|
||||
BoardSpaceTypeForce(2, 7);
|
||||
BoardSpaceTypeForce(2, 7);
|
||||
}
|
||||
temp_r24 = 18+messBase+temp_r20;
|
||||
BoardWinCreate(2, temp_r24, BoardWinPortraitGetStar());
|
||||
|
|
|
|||
|
|
@ -24,6 +24,10 @@
|
|||
#include "ext_math.h"
|
||||
#include "stdlib.h"
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#include <game/board/shop.h>
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
struct {
|
||||
u8 unk00_field0 : 1;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,7 @@
|
|||
#include "game/gamework_data.h"
|
||||
#include "game/board/main.h"
|
||||
#include "ext_math.h"
|
||||
#include "game/object.h"
|
||||
#include "game/flag.h"
|
||||
#include "game/data.h"
|
||||
#include "game/wipe.h"
|
||||
#include "string.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/hsfdraw.h"
|
||||
#include "game/board/battle.h"
|
||||
#include "game/board/lottery.h"
|
||||
#include "game/board/main.h"
|
||||
#include "game/board/model.h"
|
||||
#include "game/board/pause.h"
|
||||
#include "game/board/player.h"
|
||||
|
|
@ -18,9 +10,30 @@
|
|||
#include "game/board/start.h"
|
||||
#include "game/board/tutorial.h"
|
||||
#include "game/board/ui.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/data.h"
|
||||
#include "game/disp.h"
|
||||
#include "game/flag.h"
|
||||
#include "game/gamework_data.h"
|
||||
#include "game/hsfdraw.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/msm.h"
|
||||
#include "game/object.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/wipe.h"
|
||||
#include "string.h"
|
||||
|
||||
#include <game/armem.h>
|
||||
#include <game/audio.h>
|
||||
#include <game/board/audio.h>
|
||||
#include <game/board/boo_house.h>
|
||||
#include <game/board/bowser.h>
|
||||
#include <game/board/fortune.h>
|
||||
#include <game/board/mg_setup.h>
|
||||
#include <game/board/roll.h>
|
||||
#include <game/board/window.h>
|
||||
#include <game/chrman.h>
|
||||
|
||||
extern void BoardLast5Exec(void);
|
||||
|
||||
typedef struct camera_view {
|
||||
s16 x_rot;
|
||||
|
|
@ -33,11 +46,11 @@ u32 boardRandSeed;
|
|||
static omObjData *last5GfxObj;
|
||||
static omObjData *confettiObj;
|
||||
static omObjData *filterObj;
|
||||
BoardTurnStartHook boardTurnStartFunc;
|
||||
BoardBowserHook boardBowserHook;
|
||||
void (*boardStarShowNextHook)(void);
|
||||
void (*boardStarGiveHook)(void);
|
||||
BoardFunc boardTurnFunc;
|
||||
SHARED_SYM BoardTurnStartHook boardTurnStartFunc;
|
||||
SHARED_SYM BoardBowserHook boardBowserHook;
|
||||
SHARED_SYM void (*boardStarShowNextHook)(void);
|
||||
SHARED_SYM void (*boardStarGiveHook)(void);
|
||||
SHARED_SYM BoardFunc boardTurnFunc;
|
||||
BoardLightHook boardLightResetHook;
|
||||
BoardLightHook boardLightSetHook;
|
||||
static BoardFunc destroyFunc;
|
||||
|
|
@ -297,7 +310,6 @@ void BoardSaveInit(s32 board)
|
|||
GWSystem.block_pos = 0;
|
||||
memset(GWSystem.board_data, 0, sizeof(GWSystem.board_data));
|
||||
for(i=0; i<4; i++) {
|
||||
s32 party_flag;
|
||||
BoardPlayerAutoSizeSet(i, 0);
|
||||
GWPlayer[i].draw_ticket = 0;
|
||||
GWPlayer[i].color = 0;
|
||||
|
|
@ -1016,21 +1028,21 @@ void BoardCameraRotSet(float x, float y)
|
|||
camera->rot.y = y;
|
||||
}
|
||||
|
||||
void BoardCameraNearFarSet(float near, float far)
|
||||
void BoardCameraNearFarSet(float nnear, float ffar)
|
||||
{
|
||||
BoardCameraData *camera = &boardCamera;
|
||||
camera->near = near;
|
||||
camera->far = far;
|
||||
camera->nnear = nnear;
|
||||
camera->ffar = ffar;
|
||||
}
|
||||
|
||||
void BoardCameraNearFarGet(float *near, float *far)
|
||||
void BoardCameraNearFarGet(float *nnear, float *ffar)
|
||||
{
|
||||
BoardCameraData *camera = &boardCamera;
|
||||
if(near) {
|
||||
*near = camera->near;
|
||||
if(nnear) {
|
||||
*nnear = camera->nnear;
|
||||
}
|
||||
if(far) {
|
||||
*far = camera->far;
|
||||
if(ffar) {
|
||||
*ffar = camera->ffar;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1137,8 +1149,8 @@ void BoardCameraInit(void)
|
|||
memset(&boardCamera, 0, sizeof(BoardCameraData));
|
||||
camera = &boardCamera;
|
||||
camera->fov = 25;
|
||||
camera->near = 100;
|
||||
camera->far = 13000;
|
||||
camera->nnear = 100;
|
||||
camera->ffar = 13000;
|
||||
camera->aspect = HU_DISP_ASPECT;
|
||||
camera->viewport_x = 0;
|
||||
camera->viewport_y = 0;
|
||||
|
|
@ -1187,7 +1199,7 @@ static void UpdateCamera(omObjData *object)
|
|||
}
|
||||
CalcCameraView();
|
||||
camera = &boardCamera;
|
||||
Hu3DCameraPerspectiveSet(camera->mask, camera->fov, camera->near, camera->far, camera->aspect);
|
||||
Hu3DCameraPerspectiveSet(camera->mask, camera->fov, camera->nnear, camera->ffar, camera->aspect);
|
||||
Hu3DCameraViewportSet(camera->mask, camera->viewport_x, camera->viewport_y, camera->viewport_w, camera->viewport_h, camera->viewport_near, camera->viewport_far);
|
||||
target = &camera->target;
|
||||
if(camera->pos_calc) {
|
||||
|
|
|
|||
|
|
@ -9,10 +9,15 @@
|
|||
|
||||
#include "game/objsub.h"
|
||||
|
||||
#include "math.h"
|
||||
#include "ext_math.h"
|
||||
#include "math.h"
|
||||
|
||||
extern s32 boardTutorialData[4];
|
||||
#include <game/audio.h>
|
||||
#include <game/board/tutorial.h>
|
||||
#include <game/board/window.h>
|
||||
#include <game/hsfex.h>
|
||||
|
||||
SHARED_SYM extern s32 boardTutorialData[4];
|
||||
|
||||
|
||||
static void KillMushroom();
|
||||
|
|
@ -70,9 +75,6 @@ static void WaitItemGive(void);
|
|||
static void MushroomMain(void) {
|
||||
Vec sp14[2];
|
||||
Vec sp8;
|
||||
s32 temp_r0;
|
||||
s32 temp_r0_2;
|
||||
s32 var_r30;
|
||||
s32 curPlayer;
|
||||
s8 var_r29;
|
||||
boxObjWork* box;
|
||||
|
|
@ -236,7 +238,6 @@ static void ShowBox(ItemGiveWork2*, omObjData*);
|
|||
|
||||
|
||||
static void BoxMain(omObjData* arg0) {
|
||||
s32 temp_r0;
|
||||
ItemGiveWork2* temp_r30;
|
||||
|
||||
temp_r30 = OM_GET_WORK_PTR(arg0, ItemGiveWork2);
|
||||
|
|
|
|||
|
|
@ -18,6 +18,9 @@
|
|||
#include "game/window.h"
|
||||
#include "game/wipe.h"
|
||||
|
||||
#include <game/board/audio.h>
|
||||
#include <game/hsfex.h>
|
||||
|
||||
typedef struct {
|
||||
struct {
|
||||
u8 unk00_field0 : 1;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,8 @@
|
|||
#include "ext_math.h"
|
||||
#include "stdlib.h"
|
||||
|
||||
#include <game/audio.h>
|
||||
|
||||
static void InitJunction(s32, s32, f32);
|
||||
static void UpdateJunctionGfx(omObjData *);
|
||||
static void StopJunctionPlayer(s32);
|
||||
|
|
@ -67,7 +69,7 @@ static HsfMaterial *playerMatCopy[4];
|
|||
static s32 (*postTurnHook[4])();
|
||||
static s32 (*preTurnHook[4])();
|
||||
|
||||
s16 boardPlayerMdl[4];
|
||||
SHARED_SYM s16 boardPlayerMdl[4];
|
||||
static s16 playerMot[4];
|
||||
static s8 itemPrev;
|
||||
static s8 moveAwayPlayer[4];
|
||||
|
|
@ -266,7 +268,6 @@ void BoardPlayerModelInit(void)
|
|||
s32 temp_r25;
|
||||
s32 temp_r24;
|
||||
s16 temp_r3;
|
||||
s32 temp_r4;
|
||||
PlayerState *temp_r27;
|
||||
|
||||
s32 ro0[8] = { DATA_MAKE_NUM(DATADIR_MARIOMDL1, 0x00), DATA_MAKE_NUM(DATADIR_LUIGIMDL1, 0x00), DATA_MAKE_NUM(DATADIR_PEACHMDL1, 0x00),
|
||||
|
|
@ -337,7 +338,6 @@ void BoardPlayerModelKill(void)
|
|||
{
|
||||
s32 var_r31;
|
||||
PlayerState *temp_r30;
|
||||
PlayerState *temp_r29;
|
||||
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
temp_r30 = BoardPlayerGet(var_r31);
|
||||
|
|
@ -689,7 +689,6 @@ s32 BoardPlayerCoinsGet(s32 arg0)
|
|||
void BoardPlayerCoinsAdd(s32 arg0, s32 arg1)
|
||||
{
|
||||
PlayerState *player;
|
||||
s16 coins;
|
||||
|
||||
player = BoardPlayerGet(arg0);
|
||||
if ((arg1 > 0) && (player->coins_total < 0x3E7)) {
|
||||
|
|
@ -730,9 +729,11 @@ s32 BoardPlayerSizeGet(s32 idx)
|
|||
PlayerState *player;
|
||||
|
||||
player = BoardPlayerGet(idx);
|
||||
#ifndef NON_MATCHING
|
||||
if (!player) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
return player->size;
|
||||
}
|
||||
|
||||
|
|
@ -833,7 +834,6 @@ void BoardPlayerTurnExec(s32 arg0)
|
|||
|
||||
void BoardPlayerTurnRollExec(s32 arg0)
|
||||
{
|
||||
s32 temp_r28;
|
||||
s32 temp_r30;
|
||||
|
||||
GWPlayer[arg0].roll = 0;
|
||||
|
|
@ -876,8 +876,6 @@ void BoardPlayerTurnMoveExec(s32 arg0)
|
|||
s32 temp_r30;
|
||||
s32 var_r29;
|
||||
s32 var_r28;
|
||||
s32 temp_r0;
|
||||
s32 temp_r1;
|
||||
|
||||
BoardPauseDisableSet(1);
|
||||
var_r28 = 0;
|
||||
|
|
@ -977,7 +975,6 @@ void BoardPlayerTurnMoveExec(s32 arg0)
|
|||
GWSystem.bowser_event = 0xF;
|
||||
}
|
||||
BoardPlayerZoomRestore(arg0);
|
||||
return;
|
||||
}
|
||||
|
||||
void BoardPlayerPostTurnHookExec(s32 arg0)
|
||||
|
|
@ -1067,9 +1064,6 @@ static inline GetLinkCount(s32 playerIdx, s32 boardIdx)
|
|||
s32 linkCount;
|
||||
BoardSpace *boardSpaceLink;
|
||||
BoardSpace *boardSpaceFlag;
|
||||
PlayerState *player;
|
||||
s32 color;
|
||||
s32 temp;
|
||||
|
||||
linkCount = 0;
|
||||
boardSpaceLink = BoardSpaceGet(0, boardIdx);
|
||||
|
|
@ -1325,7 +1319,6 @@ static s32 DoDebugMove(s32 arg0, s16 *arg1)
|
|||
s32 var_r21;
|
||||
s32 var_r20;
|
||||
s32 var_r18;
|
||||
bitcopy *var_r17;
|
||||
|
||||
var_r18 = -1;
|
||||
|
||||
|
|
@ -1653,7 +1646,6 @@ void BoardPlayerMoveTo(s32 arg0, s32 arg1)
|
|||
{
|
||||
Vec sp18;
|
||||
Vec spC;
|
||||
PlayerState *player;
|
||||
|
||||
BoardModelPosGet(BoardPlayerModelGet(arg0), &sp18);
|
||||
BoardSpacePosGet(0, arg1, &spC);
|
||||
|
|
@ -1667,8 +1659,6 @@ void BoardPlayerMoveBetween(s32 arg0, s32 arg1, s32 arg2)
|
|||
{
|
||||
Vec sp1C;
|
||||
Vec sp10;
|
||||
s32 spC;
|
||||
s32 sp8;
|
||||
|
||||
BoardSpacePosGet(0, arg1, &sp1C);
|
||||
BoardSpacePosGet(0, arg2, &sp10);
|
||||
|
|
@ -1682,7 +1672,6 @@ void BoardPlayerMoveToAsync(s32 arg0, s32 arg1)
|
|||
{
|
||||
Vec sp18;
|
||||
Vec spC;
|
||||
s32 sp8;
|
||||
|
||||
BoardModelPosGet(BoardPlayerModelGet(arg0), &sp18);
|
||||
BoardSpacePosGet(0, arg1, &spC);
|
||||
|
|
@ -1868,11 +1857,8 @@ static void DiceJumpFunc(omObjData *arg0)
|
|||
{
|
||||
Vec sp38;
|
||||
f32 temp_f31;
|
||||
PlayerState *var_r30;
|
||||
bitcopy2 *temp_r31;
|
||||
s16 var_r28;
|
||||
s32 var_r23;
|
||||
s32 var_r17;
|
||||
|
||||
temp_r31 = OM_GET_WORK_PTR(arg0, bitcopy2);
|
||||
if ((temp_r31->field00_bit0 != 0) || (BoardIsKill() != 0)) {
|
||||
|
|
@ -1938,7 +1924,6 @@ void BoardPlayerMotBlendSet(s32 arg0, s16 arg1, s16 arg2)
|
|||
f32 var_f27;
|
||||
f32 var_f22;
|
||||
f32 var_f21;
|
||||
f32 var_f19;
|
||||
omObjData *temp_r3;
|
||||
s32 var_r22;
|
||||
s32 var_r20;
|
||||
|
|
@ -2212,11 +2197,7 @@ static void UpdateRoll(omObjData *arg0)
|
|||
|
||||
void BoardPlayerBtnDownWait(s32 arg0, u32 arg1)
|
||||
{
|
||||
s32 spC;
|
||||
s32 sp8;
|
||||
s32 temp_r31;
|
||||
|
||||
temp_r31 = GWPlayer[arg0].port;
|
||||
s32 temp_r31 = GWPlayer[arg0].port;
|
||||
while (1) {
|
||||
if ((HuPadBtnDown[temp_r31] & arg1) != 0)
|
||||
return;
|
||||
|
|
@ -2226,9 +2207,7 @@ void BoardPlayerBtnDownWait(s32 arg0, u32 arg1)
|
|||
|
||||
void BoardPlayerAutoSizeSet(s32 player, s32 value)
|
||||
{
|
||||
PlayerState *temp_r28;
|
||||
|
||||
temp_r28 = BoardPlayerGet(player);
|
||||
PlayerState *temp_r28 = BoardPlayerGet(player);
|
||||
if ((temp_r28->auto_size != 0) || (value == 0)) {
|
||||
BoardStatusHammerKill(player);
|
||||
}
|
||||
|
|
@ -2243,9 +2222,11 @@ s32 BoardPlayerAutoSizeGet(s32 arg0)
|
|||
PlayerState *player;
|
||||
|
||||
player = BoardPlayerGet(arg0);
|
||||
#ifndef NON_MATCHING
|
||||
if (!player) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
return player->auto_size;
|
||||
}
|
||||
|
||||
|
|
@ -2360,8 +2341,6 @@ void BoardBowserSuitInit(s32 arg0)
|
|||
|
||||
void BoardBowserSuitKill(s32 arg0)
|
||||
{
|
||||
bitcopy3 *temp;
|
||||
|
||||
if (bowserSuitObj != 0) {
|
||||
OM_GET_WORK_PTR(bowserSuitObj, bitcopy3)->field00_bit0 = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@
|
|||
#include "dolphin.h"
|
||||
#include "ext_math.h"
|
||||
|
||||
#include <game/hsfex.h>
|
||||
|
||||
typedef struct {
|
||||
struct {
|
||||
u8 unk00_field0 : 1;
|
||||
|
|
@ -981,8 +983,8 @@ static void CreateShopItemChoice(s32 arg0, s32 arg1)
|
|||
omObjData *temp_r30;
|
||||
ItemChoiceWork *var_r31;
|
||||
s16 spC;
|
||||
s16 i;
|
||||
#if VERSION_PAL
|
||||
s16 i;
|
||||
for (i = 0; i < 6; i++) {
|
||||
cursorPosTbl[i][0] = 190;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,17 @@
|
|||
#include "ext_math.h"
|
||||
#include "string.h"
|
||||
|
||||
#include <game/audio.h>
|
||||
#include <game/board/basic_space.h>
|
||||
#include <game/board/bowser.h>
|
||||
#include <game/board/fortune.h>
|
||||
#include <game/board/warp.h>
|
||||
|
||||
s32 BoardBlockExec(s32 player, s32 space); // wrong
|
||||
extern void BoardMushroomExec(s32 player, s32 space); // wrong
|
||||
extern void BoardBooHouseExec(s32 player, s32 space); // wrong
|
||||
extern void BoardBlockHouseExec(s32 player, s32 space); // wrong
|
||||
|
||||
static BoardSpace spaceData[2][256];
|
||||
s16 boardSpaceStarTbl[8];
|
||||
static GXTexObj spaceHiliteTex;
|
||||
|
|
@ -300,7 +311,6 @@ void BoardSpaceHostSet(s32 space)
|
|||
{
|
||||
s16 host_space;
|
||||
Vec pos;
|
||||
BoardSpace *space_plat;
|
||||
BoardSpaceTypeSet(0, space, 8);
|
||||
host_space = BoardSpaceLinkFlagSearch(0, space, 0x04000000);
|
||||
BoardSpacePosGet(0, host_space, &pos);
|
||||
|
|
@ -817,7 +827,7 @@ static void DrawSpaces(ModelData *model, Mtx matrix)
|
|||
camera = &boardCamera;
|
||||
BoardCameraPosGet(&pos);
|
||||
BoardCameraTargetGet(&target);
|
||||
MTXPerspective(proj, camera->fov, camera->aspect, camera->near, camera->far);
|
||||
MTXPerspective(proj, camera->fov, camera->aspect, camera->nnear, camera->ffar);
|
||||
GXSetProjection(proj, GX_PERSPECTIVE);
|
||||
MTXLookAt(lookat, &pos, &camera->up, &target);
|
||||
GXSetViewport(camera->viewport_x, camera->viewport_y, camera->viewport_w, camera->viewport_h, camera->viewport_near, camera->viewport_far);
|
||||
|
|
@ -1079,14 +1089,11 @@ void BoardSpaceInit(s32 data_num)
|
|||
if (_CheckFlag(FLAG_ID_MAKE(1, 1))) {
|
||||
Vec pos;
|
||||
Vec rot;
|
||||
s16 space;
|
||||
BoardModelVisibilitySet(starPlatMdl, 1);
|
||||
GWSystem.star_flag |= (u8)(1 << GWSystem.star_pos);
|
||||
BoardSpaceTypeSet(0, boardSpaceStarTbl[GWSystem.star_pos], 8);
|
||||
{
|
||||
int space;
|
||||
BoardSpace *space_plat;
|
||||
space = BoardSpaceLinkFlagSearch(0, BoardSpaceStarGetCurr(), 0x04000000);
|
||||
int space = BoardSpaceLinkFlagSearch(0, BoardSpaceStarGetCurr(), 0x04000000);
|
||||
BoardSpacePosGet(0, space, &pos);
|
||||
BoardModelPosSetV(StarPlatGetMdl(), &pos);
|
||||
BoardSpaceRotGet(0, space, &rot);
|
||||
|
|
|
|||
|
|
@ -21,9 +21,14 @@
|
|||
#include "game/objsub.h"
|
||||
#include "game/window.h"
|
||||
#include "game/wipe.h"
|
||||
#include "game/hsfex.h"
|
||||
|
||||
#include "ext_math.h"
|
||||
|
||||
#ifndef __MWERKS__
|
||||
#include <game/board/view.h>
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
struct {
|
||||
u8 unk00_field0 : 1;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
#include "game/board/tutorial.h"
|
||||
#include "game/board/main.h"
|
||||
#include "game/board/model.h"
|
||||
#include "game/flag.h"
|
||||
#include "game/gamework_data.h"
|
||||
#include "game/process.h"
|
||||
#include "game/board/main.h"
|
||||
#include "game/board/model.h"
|
||||
|
||||
s32 boardTutorialData[4]; // maybe a single s32 + padding?
|
||||
#include <game/board/space.h>
|
||||
|
||||
SHARED_SYM s32 boardTutorialData[4]; // maybe a single s32 + padding?
|
||||
static void (*tutorialHook)(s16, s32);
|
||||
s8 boardTutorialDirInputX;
|
||||
s8 boardTutorialDirInputY;
|
||||
|
|
@ -15,7 +17,7 @@ s8 boardTutorialBlockItem;
|
|||
s8 boardTutorialBlockF;
|
||||
s8 boardTutorialUseItem;
|
||||
static s16 hostMdl;
|
||||
s8 boardTutorialF;
|
||||
SHARED_SYM s8 boardTutorialF;
|
||||
static Process *tutorialProcess;
|
||||
static void *playerCfgCopy;
|
||||
static void *playerCopy;
|
||||
|
|
|
|||
|
|
@ -127,8 +127,6 @@ static inline void BoardViewInlineFunc00(Vec *arg0, Vec *arg1, u16 arg2)
|
|||
|
||||
void BoardViewFocusSet(Vec *arg0, u16 arg1)
|
||||
{
|
||||
u16 var_r31;
|
||||
|
||||
if (BoardPauseDisableGet() == 0) {
|
||||
BoardPauseDisableSet(1);
|
||||
pauseDisableF = 1;
|
||||
|
|
@ -143,8 +141,6 @@ void BoardViewFocusSet(Vec *arg0, u16 arg1)
|
|||
|
||||
void BoardViewMoveStart(Vec *arg0, Vec *arg1, u16 arg2)
|
||||
{
|
||||
u16 var_r31;
|
||||
|
||||
if (BoardPauseDisableGet() == 0) {
|
||||
BoardPauseDisableSet(1);
|
||||
pauseDisableF = 1;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "version.h"
|
||||
|
||||
static void *cardWork;
|
||||
u8 UnMountCnt;
|
||||
SHARED_SYM u8 UnMountCnt;
|
||||
|
||||
static void MountCallBack(s32 chan, s32 result);
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue