Some PAL symbols, ported m457Dll, naming progress on m457Dll (#568)

* Add missing imports and mark uninitialized variables

* Work on PAL symbols

* Ported m457Dll to all versions

* Some naming progress on m457Dll
Changed some names in present and option
This commit is contained in:
dbalatoni13 2025-03-14 22:09:49 +01:00 committed by GitHub
parent 75d49a9e05
commit 62803cc21f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
52 changed files with 5922 additions and 5837 deletions

View file

@ -4,6 +4,7 @@
#include "game/data.h"
#include "game/gamework_data.h"
#include "game/hsfman.h"
#include "game/minigame_seq.h"
#include "game/memory.h"
#include "game/msm.h"
#include "game/object.h"
@ -783,4 +784,4 @@ void *NintendoDataDecode(void)
HuDecodeData(src, dst, size, decode_type);
}
return dst;
}
}

View file

@ -14,6 +14,13 @@
#include "ext_math.h"
#ifndef __MWERKS__
#include "string.h"
#include "game/hsfex.h"
#endif
s32 rand8(void);
typedef struct struct_bss_2A6C StructBss2A6C;
typedef struct struct_sp_14C8 StructSp14C8;

View file

@ -1593,7 +1593,7 @@ void fn_1_78B4(StructBss200 *arg0)
float sp118;
float sp114;
float sp110;
float var_f27;
float var_f27; // ! - uninitialized
float var_f29;
float var_f28;
float var_f30;

View file

@ -2800,7 +2800,7 @@ void fn_1_8CB4(omObjData *arg0)
float temp_f28;
float var_f30;
float var_f31;
float var_f26;
float var_f26; // ! - uninitialized
float temp_f27;
StructBssBCData *temp_r31;
ModelData *sp8;

View file

@ -1162,7 +1162,7 @@ void fn_1_C604(s32 arg0, s32 arg1)
Vec *var_r31;
f32 temp_f31;
f32 var_f30;
s32 var_r30;
s32 var_r30; // ! - uninitialized
M424DllBallStruct2 *var_r28;
Vec *var_r27;

View file

@ -132,7 +132,7 @@ void fn_1_41C(omObjData* object) {
s16 sp12;
s16 spE;
s16 spA;
f32 var_f31;
f32 var_f31; // ! - uninitalized
s32 var_r31;
s32 var_r30;
CameraData* var_r29;

View file

@ -800,7 +800,7 @@ void fn_1_2A94(s16 arg0, Vec *arg1, Vec *arg2, float arg8)
void fn_1_2B2C(omObjData *object)
{
s32 sp8;
s32 sp8; // ! - uninitialized
M425DllWork *var_r31;
s32 var_r29;
s32 var_r28;

View file

@ -3874,7 +3874,7 @@ void fn_1_11D5C(omObjData *object)
UnkM450Struct3 *var_r31;
s32 var_r29;
s32 var_r27;
s32 var_r27; // ! - uninitialized
s32 *var_r26;
(void)var_r27;

File diff suppressed because it is too large Load diff

View file

@ -1280,7 +1280,7 @@ s32 fn_1_65D0(StructBss340 *arg0)
{
float var_f31;
float var_f30;
s32 sp8;
s32 sp8; // ! - uninitialized
var_f31 = fn_1_1534(arg0->unk4C.z, arg0->unk84);
var_f30 = fn_1_1534(arg0->unk4C.x, arg0->unk84);

View file

@ -44,7 +44,7 @@ s32 fn_1_E72C(void)
temp_r29 = 0;
fn_1_279FC(0);
fn_1_FF5C();
if (lbl_1_bss_4 == 3) {
if (mgModeEvtNo == 3) {
mgTypeCurr = mgInfoTbl[GWSystem.mg_next].type;
if (mgTypeCurr >= 4) {
mgTypeCurr = 3;
@ -105,7 +105,7 @@ s32 fn_1_E72C(void)
}
repeat_mode:
if (lbl_1_bss_20AA == 0) {
HuPrcChildCreate(fn_1_27080, 100, 12288, 0, lbl_1_bss_2D8);
HuPrcChildCreate(fn_1_27080, 100, 12288, 0, objman);
lbl_1_bss_20AA = 1;
}
lbl_1_bss_3A4 = fn_1_25CA8(0x1A0020);
@ -843,7 +843,7 @@ void fn_1_12B64(s16 arg0)
{
Process *process;
s32 *data;
process = HuPrcChildCreate(fn_1_12BEC, 100, 12288, 0, lbl_1_bss_2D8);
process = HuPrcChildCreate(fn_1_12BEC, 100, 12288, 0, objman);
data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(s32), MEMORY_DEFAULT_NUM);
process->user_data = data;
*data = arg0;

View file

@ -1,131 +1,135 @@
#include "REL/mgmodedll.h"
#ifndef __MWERKS__
#include "game/esprite.h"
#endif
DataListModel lbl_1_data_490[] = {
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x00), 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x01), 0x40000001, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x02), 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x03), 0, 1, -1, 2, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x04), 0, 1, -1, 2, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x5E), 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x5F), 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x60), 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x61), 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x05), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x06), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x07), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x08), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x00), 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x01), 0x40000001, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x02), 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x03), 0, 1, -1, 2, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x04), 0, 1, -1, 2, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x5E), 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x5F), 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x60), 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x61), 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x05), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x06), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x07), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x08), 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
};
DataListSprite lbl_1_data_768[] = {
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x0C), 0, 10, 288, -200, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x09), 0, 10, 288, -200, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x0A), 0, 10, 288, -200, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x0D), 4, 100, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x18), 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x1A), 4, 20, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x1B), 4, 30, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x1C), 4, 40, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x1D), 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x1E), 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x1F), 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x20), 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x21), 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x25), 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x0E), 4, 210, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x0F), 4, 210, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x19), 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x28), 4, 10, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x28), 4, 10, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x2A), 4, 10, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x2E), 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x2F), 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x32), 4, 5, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x31), 4, 4, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x30), 4, 4, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x29), 4, 4, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x29), 4, 4, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x33), 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x34), 4, 50, 288, 256, { 255, 255, 255, 255 } },
{ 0, 0, 0, 0, 0, { 0, 0, 0, 0 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x0C), 0, 10, 288, -200, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x09), 0, 10, 288, -200, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x0A), 0, 10, 288, -200, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x0D), 4, 100, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x18), 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x1A), 4, 20, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x1B), 4, 30, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x1C), 4, 40, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x1D), 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x1E), 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x1F), 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x20), 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x21), 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x25), 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x0E), 4, 210, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x0F), 4, 210, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x19), 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x28), 4, 10, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x28), 4, 10, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x2A), 4, 10, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x2E), 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x2F), 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x32), 4, 5, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x31), 4, 4, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x30), 4, 4, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x29), 4, 4, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x29), 4, 4, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x33), 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ DATA_MAKE_NUM(DATADIR_MGMODE, 0x34), 4, 50, 288, 256, { 255, 255, 255, 255 } },
{ 0, 0, 0, 0, 0, { 0, 0, 0, 0 } },
};
void fn_1_267E8(DataListModel *model_list)
{
DataListModel *list;
s16 i;
s16 model;
s16 clear_i;
ModelData *model_ptr;
void *data;
list = model_list;
for(clear_i=0; clear_i<13; clear_i++) {
lbl_1_bss_2C80[clear_i] = lbl_1_bss_2C66[clear_i] = -1;
}
for(i=0; list->datanum != DATA_NUM_LISTEND; list++, i++) {
if(list->type == 0) {
data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA);
model = Hu3DModelCreate(data);
lbl_1_bss_2C80[i] = model;
Hu3DModelAttrSet(model, list->attr);
Hu3DModelPosSetV(model, &list->pos);
Hu3DModelRotSetV(model, &list->rot);
Hu3DModelScaleSetV(model, &list->scale);
model_ptr = &Hu3DData[model];
if(model_ptr->unk_08 != -1) {
lbl_1_bss_2C66[i] = model_ptr->unk_08;
}
} else if(list->type == 1) {
data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA);
lbl_1_bss_2C66[i] = Hu3DJointMotion(lbl_1_bss_2C80[list->mot_link], data);
}
(void)i;
}
list = model_list;
for(i=0; list->datanum != DATA_NUM_LISTEND; list++, i++) {
if(list->type == 2) {
model = Hu3DModelLink(lbl_1_bss_2C80[list->link]);
lbl_1_bss_2C80[i] = model;
Hu3DModelAttrSet(model, list->attr);
Hu3DModelPosSetV(model, &list->pos);
Hu3DModelRotSetV(model, &list->rot);
Hu3DModelScaleSetV(model, &list->scale);
}
if(list->type == 0 && list->mot_link != -1) {
Hu3DMotionSet(lbl_1_bss_2C80[i], lbl_1_bss_2C66[list->mot_link]);
}
(void)i;
}
DataListModel *list;
s16 i;
s16 model;
s16 clear_i;
ModelData *model_ptr;
void *data;
list = model_list;
for (clear_i = 0; clear_i < 13; clear_i++) {
lbl_1_bss_2C80[clear_i] = lbl_1_bss_2C66[clear_i] = -1;
}
for (i = 0; list->datanum != DATA_NUM_LISTEND; list++, i++) {
if (list->type == 0) {
data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA);
model = Hu3DModelCreate(data);
lbl_1_bss_2C80[i] = model;
Hu3DModelAttrSet(model, list->attr);
Hu3DModelPosSetV(model, &list->pos);
Hu3DModelRotSetV(model, &list->rot);
Hu3DModelScaleSetV(model, &list->scale);
model_ptr = &Hu3DData[model];
if (model_ptr->unk_08 != -1) {
lbl_1_bss_2C66[i] = model_ptr->unk_08;
}
}
else if (list->type == 1) {
data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA);
lbl_1_bss_2C66[i] = Hu3DJointMotion(lbl_1_bss_2C80[list->mot_link], data);
}
(void)i;
}
list = model_list;
for (i = 0; list->datanum != DATA_NUM_LISTEND; list++, i++) {
if (list->type == 2) {
model = Hu3DModelLink(lbl_1_bss_2C80[list->link]);
lbl_1_bss_2C80[i] = model;
Hu3DModelAttrSet(model, list->attr);
Hu3DModelPosSetV(model, &list->pos);
Hu3DModelRotSetV(model, &list->rot);
Hu3DModelScaleSetV(model, &list->scale);
}
if (list->type == 0 && list->mot_link != -1) {
Hu3DMotionSet(lbl_1_bss_2C80[i], lbl_1_bss_2C66[list->mot_link]);
}
(void)i;
}
}
void fn_1_26A78(DataListSprite *sprite_list)
{
DataListSprite *list;
s16 sprite;
s16 clear_i;
s16 i;
list = sprite_list;
for(clear_i=0; clear_i<29; clear_i++) {
lbl_1_bss_2C2C[clear_i] = -1;
}
for(i=0; list->datanum; i++, list++) {
sprite = espEntry(list->datanum, 100, 0);
lbl_1_bss_2C2C[i] = sprite;
espPosSet(sprite, list->x, list->y);
espColorSet(sprite, list->color.r, list->color.g, list->color.b);
espTPLvlSet(sprite, list->color.a/255.0f);
espPriSet(sprite, list->prio);
espAttrSet(sprite, list->attr);
}
DataListSprite *list;
s16 sprite;
s16 clear_i;
s16 i;
list = sprite_list;
for (clear_i = 0; clear_i < 29; clear_i++) {
lbl_1_bss_2C2C[clear_i] = -1;
}
for (i = 0; list->datanum; i++, list++) {
sprite = espEntry(list->datanum, 100, 0);
lbl_1_bss_2C2C[i] = sprite;
espPosSet(sprite, list->x, list->y);
espColorSet(sprite, list->color.r, list->color.g, list->color.b);
espTPLvlSet(sprite, list->color.a / 255.0f);
espPriSet(sprite, list->prio);
espAttrSet(sprite, list->attr);
}
}
void fn_1_26BB0(void)
{
s16 i;
for(i=0; i<29; i++) {
if(lbl_1_bss_2C2C[i] != -1) {
espKill(lbl_1_bss_2C2C[i]);
}
}
s16 i;
for (i = 0; i < 29; i++) {
if (lbl_1_bss_2C2C[i] != -1) {
espKill(lbl_1_bss_2C2C[i]);
}
}
}

View file

@ -88,7 +88,7 @@ s32 fn_1_6D28(void)
else {
temp_r28 = lbl_1_bss_2C2C[2];
}
if (lbl_1_bss_4 == 1 || lbl_1_bss_4 == 2) {
if (mgModeEvtNo == 1 || mgModeEvtNo == 2) {
mgTypeCurr = fn_1_B5A8(&spA, &sp8);
espAttrReset(lbl_1_bss_2C2C[3], HUSPR_ATTR_DISPOFF);
espTPLvlSet(lbl_1_bss_2C2C[3], 1.0f);
@ -99,7 +99,7 @@ s32 fn_1_6D28(void)
if (lbl_1_bss_2A6 == 0) {
espAttrReset(lbl_1_bss_2C2C[4], HUSPR_ATTR_DISPOFF);
espPosSet(lbl_1_bss_2C2C[4], 450, 404);
if (lbl_1_bss_4 == 1) {
if (mgModeEvtNo == 1) {
fn_1_BFA0(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA + sp8]);
espAttrReset(lbl_1_bss_2C2C[14], HUSPR_ATTR_DISPOFF);
espPosSet(lbl_1_bss_2C2C[14], 450, 348);

View file

@ -7,6 +7,10 @@
#include "ext_math.h"
#ifndef __MWERKS__
#include "game/hsfex.h"
#endif
typedef struct camera_view_params {
Vec rot;
Vec pos;
@ -15,8 +19,8 @@ typedef struct camera_view_params {
CameraViewParams lbl_1_data_0[1] = { { { -5, 0, 0 }, { 0, 125, 0 }, 1750 } };
omObjData *lbl_1_bss_2DC;
Process *lbl_1_bss_2D8;
omObjData *outViewObj;
Process *objman;
s32 lbl_1_bss_2D4;
s32 lbl_1_bss_2D0;
s16 lbl_1_bss_2CE;
@ -31,7 +35,7 @@ Vec lbl_1_bss_28C[2];
Vec lbl_1_bss_274[2];
float lbl_1_bss_26C[2];
StructBss8 lbl_1_bss_8;
s16 lbl_1_bss_4;
s16 mgModeEvtNo;
s32 lbl_1_bss_0;
void fn_1_464(void);
@ -42,7 +46,7 @@ void ObjectSetup(void)
s32 glight;
OSReport("******* MG ObjectSetup *********\n");
lbl_1_bss_2D8 = omInitObjMan(50, 8192);
objman = omInitObjMan(50, 8192);
lbl_1_bss_28C[0].x = -70;
lbl_1_bss_28C[0].y = 0;
lbl_1_bss_28C[0].z = 0;
@ -58,8 +62,8 @@ void ObjectSetup(void)
_ClearFlag(0x10008);
GWSystem.mg_type = -1;
GWSystem.player_curr = 0;
lbl_1_bss_4 = omovlevtno;
if (lbl_1_bss_4 == 0) {
mgModeEvtNo = omovlevtno;
if (mgModeEvtNo == 0) {
mgGameStatBackup = GWGameStat;
}
lbl_1_bss_2CE = -1;
@ -70,9 +74,9 @@ void ObjectSetup(void)
Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1);
glight = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255);
Hu3DGLightInfinitytSet(glight);
HuPrcChildCreate(fn_1_464, 100, 12288, 0, lbl_1_bss_2D8);
HuPrcChildCreate(fn_1_54F4, 200, 4096, 0, lbl_1_bss_2D8);
lbl_1_bss_2DC = omAddObjEx(lbl_1_bss_2D8, 32730, 0, 0, -1, omOutView);
HuPrcChildCreate(fn_1_464, 100, 12288, 0, objman);
HuPrcChildCreate(fn_1_54F4, 200, 4096, 0, objman);
outViewObj = omAddObjEx(objman, 32730, 0, 0, -1, omOutView);
Hu3DBGColorSet(0, 0, 0);
HuWinInit(1);
fn_1_279FC(0);
@ -86,7 +90,7 @@ void fn_1_464(void)
{
s16 i;
fn_1_52DC();
if (lbl_1_bss_4 == 0) {
if (mgModeEvtNo == 0) {
HuAudSStreamPlay(12);
fn_1_19018();
}
@ -103,7 +107,7 @@ void fn_1_464(void)
Center.y = 215;
CRot.x = 0;
CRot.y = CRot.z = 0;
if (lbl_1_bss_4 == 1 || lbl_1_bss_4 == 2 || lbl_1_bss_4 == 3 || lbl_1_bss_4 == 4) {
if (mgModeEvtNo == 1 || mgModeEvtNo == 2 || mgModeEvtNo == 3 || mgModeEvtNo == 4) {
Hu3DModelPosSet(lbl_1_bss_2C80[5], 0, 0, 640);
Hu3DMotionSet(lbl_1_bss_2C80[5], lbl_1_bss_2C66[6]);
Hu3DModelAttrSet(lbl_1_bss_2C80[5], HU3D_MOTATTR_LOOP);
@ -136,7 +140,7 @@ void fn_1_6F8(void)
{
s16 i;
s16 time;
if (lbl_1_bss_4 == 1 || lbl_1_bss_4 == 2 || lbl_1_bss_4 == 3 || lbl_1_bss_4 == 4) {
if (mgModeEvtNo == 1 || mgModeEvtNo == 2 || mgModeEvtNo == 3 || mgModeEvtNo == 4) {
lbl_1_bss_2A6 = 0;
goto freeplay;
}
@ -218,7 +222,7 @@ void fn_1_6F8(void)
HuPrcVSleep();
}
fn_1_25E74(lbl_1_bss_2CC);
lbl_1_bss_4 = 0;
mgModeEvtNo = 0;
espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF);
if (lbl_1_bss_2A6 == 0) {
freeplay:
@ -253,19 +257,19 @@ void fn_1_DF0(void)
Vec posModel;
float weight;
if (lbl_1_bss_4 == 1) {
if (mgModeEvtNo == 1) {
lbl_1_bss_2A4 = 0;
goto freeplay;
}
if (lbl_1_bss_4 == 2) {
if (mgModeEvtNo == 2) {
lbl_1_bss_2A4 = 1;
goto teamplay;
}
if (lbl_1_bss_4 == 3) {
if (mgModeEvtNo == 3) {
lbl_1_bss_2A4 = 2;
goto battle;
}
if (lbl_1_bss_4 == 4) {
if (mgModeEvtNo == 4) {
lbl_1_bss_2A4 = 3;
goto tictactoe;
}
@ -386,7 +390,7 @@ void fn_1_DF0(void)
}
HuWinPushKeySet(lbl_1_bss_2CE, PAD_BUTTON_A | PAD_BUTTON_B);
}
lbl_1_bss_4 = 0;
mgModeEvtNo = 0;
pos2D = lbl_1_data_40[0];
pos2D.z = 800;
Hu3D2Dto3D(&pos2D, 1, &pos3D);
@ -429,7 +433,7 @@ s32 fn_1_1B0C(void)
ModelData *modelP;
s16 temp_r29 = 0;
if (lbl_1_bss_4 == 1) {
if (mgModeEvtNo == 1) {
pos2D.x = 60;
pos2D.y = 70;
pos2D.z = 1000;
@ -480,12 +484,12 @@ s32 fn_1_1B0C(void)
}
mgPracticeEnableF = 1;
if (fn_1_6D28()) {
lbl_1_bss_4 = 0;
mgModeEvtNo = 0;
goto charsel;
}
exit:
mgPracticeEnableF = 0;
lbl_1_bss_4 = 0;
mgModeEvtNo = 0;
pos2D.x = 168;
pos2D.y = 190;
pos2D.z = 800;
@ -518,7 +522,7 @@ s32 fn_1_21C4(void)
s16 i;
ModelData *modelP;
s16 temp_r29 = 1;
if (lbl_1_bss_4 == 2) {
if (mgModeEvtNo == 2) {
pos2D.x = 60;
pos2D.y = 70;
pos2D.z = 1000;
@ -570,12 +574,12 @@ s32 fn_1_21C4(void)
}
mgPracticeEnableF = 1;
if (fn_1_6D28()) {
lbl_1_bss_4 = 0;
mgModeEvtNo = 0;
goto charsel;
}
exit:
mgPracticeEnableF = 0;
lbl_1_bss_4 = 0;
mgModeEvtNo = 0;
pos2D.x = 168;
pos2D.y = 190;
pos2D.z = 800;
@ -611,7 +615,7 @@ s32 fn_1_2940(void)
for (i = 0; i < 4; i++) {
Hu3DModelLayerSet(lbl_1_bss_2C80[i + 9], 2);
}
if (lbl_1_bss_4 == 3) {
if (mgModeEvtNo == 3) {
OSReport("Eliminate Play STart\n");
pos2D.x = 50;
pos2D.y = 70;
@ -665,7 +669,7 @@ s32 fn_1_2940(void)
}
if (fn_1_E72C() == 0) {
lbl_1_bss_4 = 0;
mgModeEvtNo = 0;
goto charsel;
}
exit:
@ -673,7 +677,7 @@ exit:
for (i = 0; i < 4; i++) {
Hu3DModelLayerSet(lbl_1_bss_2C80[i + 9], 3);
}
lbl_1_bss_4 = 0;
mgModeEvtNo = 0;
pos2D.x = 168;
pos2D.y = 190;
pos2D.z = 800;
@ -706,7 +710,7 @@ s32 fn_1_3150(void)
s16 i;
ModelData *modelP;
s16 temp_r29 = 1;
if (lbl_1_bss_4 == 4) {
if (mgModeEvtNo == 4) {
pos2D.x = 60;
pos2D.y = 70;
pos2D.z = 1000;
@ -759,12 +763,12 @@ s32 fn_1_3150(void)
}
if (fn_1_13418() == 0) {
lbl_1_bss_4 = 0;
mgModeEvtNo = 0;
goto charsel;
}
exit:
HuDataDirClose(DATADIR_INSTPIC);
lbl_1_bss_4 = 0;
mgModeEvtNo = 0;
pos2D.x = 168;
pos2D.y = 190;
pos2D.z = 800;
@ -1130,7 +1134,7 @@ void fn_1_52DC(void)
lbl_1_bss_8.unk10 = lbl_1_bss_2C66[6];
lbl_1_bss_8.unk14 = lbl_1_bss_2C66[7];
lbl_1_bss_8.unk18 = lbl_1_bss_2C66[6];
fn_1_18DF8(lbl_1_bss_2D8, &lbl_1_bss_8);
fn_1_18DF8(objman, &lbl_1_bss_8);
Hu3DModelShadowSet(lbl_1_bss_2C80[5]);
Hu3DModelShadowMapSet(lbl_1_bss_2C80[0]);
}

View file

@ -13,17 +13,10 @@ void fn_1_DE3C(void);
void fn_1_DFB8(void);
void fn_1_E02C(float x, float y, s16 recordNo);
s16 lbl_1_bss_37C[6];
s16 lbl_1_bss_370[6];
static s16 lbl_1_bss_37C[6];
static s16 lbl_1_bss_370[6];
s16 lbl_1_data_120[6][3] = {
0, 2, 13,
1, 0, 15,
2, 1, 35,
3, 2, 40,
5, 1, 51,
10, 1, 62
};
s16 mgRecordIdxTbl[6][3] = { 0, 2, 13, 1, 0, 15, 2, 1, 35, 3, 2, 40, 5, 1, 51, 10, 1, 62 };
void fn_1_D8D0(void)
{
@ -32,48 +25,48 @@ void fn_1_D8D0(void)
fn_1_DE3C();
espAttrReset(lbl_1_bss_2C2C[3], HUSPR_ATTR_DISPOFF);
espTPLvlSet(lbl_1_bss_2C2C[3], 0);
for(i=0; i<=20; i++) {
espTPLvlSet(lbl_1_bss_2C2C[3], i/20.0);
for (i = 0; i <= 20; i++) {
espTPLvlSet(lbl_1_bss_2C2C[3], i / 20.0);
HuPrcVSleep();
}
for(i=0; i<=20; i++) {
weight = i/20.0;
for (i = 0; i <= 20; i++) {
weight = i / 20.0;
espAttrReset(lbl_1_bss_2C2C[27], HUSPR_ATTR_DISPOFF);
espPosSet(lbl_1_bss_2C2C[27], 288, -100.0+(164.0*sind(weight*90.0f)));
espPosSet(lbl_1_bss_2C2C[27], 288, -100.0 + (164.0 * sind(weight * 90.0f)));
espAttrReset(lbl_1_bss_2C2C[28], HUSPR_ATTR_DISPOFF);
espTPLvlSet(lbl_1_bss_2C2C[28], weight);
espAttrReset(lbl_1_bss_2C2C[20], HUSPR_ATTR_DISPOFF);
espPosSet(lbl_1_bss_2C2C[20], ((1-sind(weight*90.0f))*400)+288, 424);
espPosSet(lbl_1_bss_2C2C[20], ((1 - sind(weight * 90.0f)) * 400) + 288, 424);
HuPrcVSleep();
}
for(i=0; i<6; i++) {
fn_1_E02C(288, (i*42)+150.0f, i);
for (i = 0; i < 6; i++) {
fn_1_E02C(288, (i * 42) + 150.0f, i);
HuPrcVSleep();
}
while(1) {
if(HuPadBtnDown[0] & PAD_BUTTON_B) {
while (1) {
if (HuPadBtnDown[0] & PAD_BUTTON_B) {
break;
}
HuPrcVSleep();
}
HuAudFXPlay(3);
for(i=0; i<6; i++) {
for (i = 0; i < 6; i++) {
fn_1_E02C(1288, 0, i);
HuPrcVSleep();
}
fn_1_DFB8();
for(i=0; i<=20; i++) {
weight = i/20.0;
for (i = 0; i <= 20; i++) {
weight = i / 20.0;
espAttrReset(lbl_1_bss_2C2C[27], HUSPR_ATTR_DISPOFF);
espPosSet(lbl_1_bss_2C2C[27], 288, -100.0+(164.0*cosd(weight*90.0f)));
espPosSet(lbl_1_bss_2C2C[27], 288, -100.0 + (164.0 * cosd(weight * 90.0f)));
espAttrReset(lbl_1_bss_2C2C[28], HUSPR_ATTR_DISPOFF);
espTPLvlSet(lbl_1_bss_2C2C[28], 1.0-weight);
espTPLvlSet(lbl_1_bss_2C2C[28], 1.0 - weight);
espAttrReset(lbl_1_bss_2C2C[20], HUSPR_ATTR_DISPOFF);
espPosSet(lbl_1_bss_2C2C[20], ((1-cosd(weight*90.0f))*400)+288, 424);
espPosSet(lbl_1_bss_2C2C[20], ((1 - cosd(weight * 90.0f)) * 400) + 288, 424);
HuPrcVSleep();
}
for(i=0; i<=10; i++) {
espTPLvlSet(lbl_1_bss_2C2C[3], 1-(i/10.0));
for (i = 0; i <= 10; i++) {
espTPLvlSet(lbl_1_bss_2C2C[3], 1 - (i / 10.0));
HuPrcVSleep();
}
}
@ -82,15 +75,15 @@ void fn_1_DE3C(void)
{
AnimData *numAnim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_MGMODE, 53), MEMORY_DEFAULT_NUM));
s16 i;
for(i=0; i<6; i++) {
s16 window = HuWinCreate(0, (i*24), 268, 32, 0);
for (i = 0; i < 6; i++) {
s16 window = HuWinCreate(0, (i * 24), 268, 32, 0);
s16 j;
lbl_1_bss_37C[i] = window;
HuWinBGTPLvlSet(window, 0);
HuWinMesSpeedSet(window, 0);
HuWinDispOff(window);
lbl_1_bss_370[i] = HuSprGrpCreate(8);
for(j=0; j<8; j++) {
for (j = 0; j < 8; j++) {
s16 sprite = HuSprCreate(numAnim, 10, 0);
HuSprGrpMemberSet(lbl_1_bss_370[i], j, sprite);
(void)sprite;
@ -102,7 +95,7 @@ void fn_1_DE3C(void)
void fn_1_DFB8(void)
{
s16 i;
for(i=0; i<6; i++) {
for (i = 0; i < 6; i++) {
HuWinKill(lbl_1_bss_37C[i]);
HuSprGrpKill(lbl_1_bss_370[i]);
}
@ -111,112 +104,117 @@ void fn_1_DFB8(void)
void fn_1_E02C(float x, float y, s16 recordNo)
{
s32 sprGrpId = lbl_1_bss_370[recordNo];
s32 value = GWMGRecordGet(lbl_1_data_120[recordNo][0]);
s32 value = GWMGRecordGet(mgRecordIdxTbl[recordNo][0]);
s32 i;
s16 mgNo;
float xOfs;
if(lbl_1_data_120[recordNo][2] != -1) {
mgNo = omMgIndexGet(lbl_1_data_120[recordNo][2]);
if(!GWMGAvailGet(mgNo+401)) {
if (mgRecordIdxTbl[recordNo][2] != -1) {
mgNo = omMgIndexGet(mgRecordIdxTbl[recordNo][2]);
if (!GWMGAvailGet(mgNo + 401)) {
mgNo = -1;
} else {
}
else {
HuWinMesSet(lbl_1_bss_37C[recordNo], mgInfoTbl[mgNo].name_mess);
}
} else {
}
else {
mgNo = -1;
}
HuWinDispOn(lbl_1_bss_37C[recordNo]);
HuWinPosSet(lbl_1_bss_37C[recordNo], x-220, y-24);
if(mgNo == -1) {
HuWinPosSet(lbl_1_bss_37C[recordNo], x - 220, y - 24);
if (mgNo == -1) {
HuWinMesSet(lbl_1_bss_37C[recordNo], MAKE_MESSID(35, 0));
for(i=0; i<8; i++) {
for (i = 0; i < 8; i++) {
HuSprBankSet(sprGrpId, i, 0);
HuSprPosSet(sprGrpId, i, i*16, 0);
HuSprPosSet(sprGrpId, i, i * 16, 0);
HuSprAttrReset(sprGrpId, i, HUSPR_ATTR_DISPOFF);
}
xOfs = 128;
} else {
}
else {
s32 memberNum;
s32 digitValue;
if(lbl_1_data_120[recordNo][1] == 0) {
if (mgRecordIdxTbl[recordNo][1] == 0) {
memberNum = 0;
if(value > 9999) {
if (value > 9999) {
value = 9999;
}
digitValue = value/1000;
if(digitValue != 0) {
digitValue = value / 1000;
if (digitValue != 0) {
HuSprBankSet(sprGrpId, memberNum, digitValue);
value -= digitValue*1000;
value -= digitValue * 1000;
memberNum++;
}
digitValue = value/100;
if(digitValue != 0 || memberNum != 0) {
digitValue = value / 100;
if (digitValue != 0 || memberNum != 0) {
HuSprBankSet(sprGrpId, memberNum, digitValue);
value -= digitValue*100;
value -= digitValue * 100;
memberNum++;
}
digitValue = value/10;
if(digitValue != 0 || memberNum != 0) {
digitValue = value / 10;
if (digitValue != 0 || memberNum != 0) {
HuSprBankSet(sprGrpId, memberNum, digitValue);
value -= digitValue*10;
value -= digitValue * 10;
memberNum++;
}
HuSprBankSet(sprGrpId, memberNum, value);
memberNum++;
for(i=0; i<8; i++) {
for (i = 0; i < 8; i++) {
HuSprAttrSet(sprGrpId, i, HUSPR_ATTR_DISPOFF);
}
for(i=0; i<memberNum; i++) {
HuSprPosSet(sprGrpId, i, i*16, 0);
for (i = 0; i < memberNum; i++) {
HuSprPosSet(sprGrpId, i, i * 16, 0);
HuSprAttrReset(sprGrpId, i, HUSPR_ATTR_DISPOFF);
}
xOfs = memberNum*16;
} else {
xOfs = memberNum * 16;
}
else {
s16 yOfs[8];
for(i=0; i<8; i++) {
for (i = 0; i < 8; i++) {
yOfs[i] = 0;
}
memberNum = 0;
HuSprAttrSet(sprGrpId, memberNum, HUSPR_ATTR_DISPOFF);
memberNum++;
digitValue = value/3600;
digitValue = value / 3600;
HuSprBankSet(sprGrpId, memberNum, digitValue);
value -= digitValue*3600;
value -= digitValue * 3600;
memberNum++;
HuSprBankSet(sprGrpId, memberNum, 11);
yOfs[memberNum] = -2;
memberNum++;
digitValue = value/600;
digitValue = value / 600;
HuSprBankSet(sprGrpId, memberNum, digitValue);
value -= digitValue*600;
value -= digitValue * 600;
memberNum++;
digitValue = value/60;
digitValue = value / 60;
HuSprBankSet(sprGrpId, memberNum, digitValue);
value -= digitValue*60;
value -= digitValue * 60;
memberNum++;
HuSprBankSet(sprGrpId, memberNum, 12);
yOfs[memberNum] = -2;
memberNum++;
if(lbl_1_data_120[recordNo][1] == 2) {
value = (float)value*(203.0/120.0);
} else {
value = (float)value*(200.0/120.0);
if (mgRecordIdxTbl[recordNo][1] == 2) {
value = (float)value * (203.0 / 120.0);
}
digitValue = value/10;
else {
value = (float)value * (200.0 / 120.0);
}
digitValue = value / 10;
HuSprBankSet(sprGrpId, memberNum, digitValue);
value -= digitValue*10;
value -= digitValue * 10;
memberNum++;
HuSprBankSet(sprGrpId, memberNum, value);
memberNum++;
for(i=1; i<8; i++) {
for (i = 1; i < 8; i++) {
HuSprAttrReset(sprGrpId, i, HUSPR_ATTR_DISPOFF);
}
for(i=0; i<memberNum; i++) {
HuSprPosSet(sprGrpId, i, i*16, yOfs[i]);
for (i = 0; i < memberNum; i++) {
HuSprPosSet(sprGrpId, i, i * 16, yOfs[i]);
}
xOfs = memberNum*16;
xOfs = memberNum * 16;
}
}
HuSprGrpPosSet(sprGrpId, 8+((210+x)-xOfs), y);
}
HuSprGrpPosSet(sprGrpId, 8 + ((210 + x) - xOfs), y);
}

File diff suppressed because it is too large Load diff

View file

@ -13,15 +13,15 @@ typedef struct {
} StateWork; /* size = 0x0C */
typedef struct {
/* 0x00 */ Vec src;
/* 0x00 */ Vec pos;
/* 0x0C */ Vec dest;
/* 0x18 */ GXColor color;
} UnkLightDataStruct; /* size = 0x1C */ // TODO same as m446Dll::unkStruct10 and present::UnkPresentStruct3
typedef struct UnkShadowDataStruct {
/* 0x00 */ Vec pos;
/* 0x0C */ Vec up;
/* 0x18 */ Vec target;
/* 0x00 */ Vec camPos;
/* 0x0C */ Vec camUp;
/* 0x18 */ Vec camTarget;
} UnkShadowDataStruct; /* size = 0x24 */
static void ExecState(omObjData *object);
@ -51,12 +51,12 @@ omObjData *OptionStateCreate(void)
optionRoom = OptionRoomCreate();
work->window = OptionWinCreate(0);
Hu3DLighInit();
work->light = Hu3DGLightCreateV(&lightTbl.src, &lightTbl.dest, &lightTbl.color);
work->light = Hu3DGLightCreateV(&lightTbl.pos, &lightTbl.dest, &lightTbl.color);
Hu3DGLightInfinitytSet(work->light);
lightData = &Hu3DGlobalLight[work->light];
Hu3DShadowCreate(30.0f, 20.0f, 5000.0f);
Hu3DShadowTPLvlSet(0.45f);
Hu3DShadowPosSet(&shadowPosTbl.pos, &shadowPosTbl.up, &shadowPosTbl.target);
Hu3DShadowPosSet(&shadowPosTbl.camPos, &shadowPosTbl.camUp, &shadowPosTbl.camTarget);
return object;
}

View file

@ -113,16 +113,16 @@ float PresentCameraZoomGet(omObjData *object)
{
CameraWork *work = object->data;
float var_f31 = work->zoom;
return var_f31;
float zoom = work->zoom;
return zoom;
}
float PresentCameraRotGet(omObjData *object)
{
CameraWork *work = object->data;
float var_f31 = work->rot;
return var_f31;
float rot = work->rot;
return rot;
}
void PresentCameraPosGet(omObjData *object, float *x, float *y, float *z)

View file

@ -144,20 +144,20 @@ static void FadeModel(void)
BOOL PresentPadCheck(u16 btn)
{
u32 var_r31 = HuPadBtnDown[0] & btn;
return var_r31 != 0;
u32 pressed = HuPadBtnDown[0] & btn;
return pressed != 0;
}
BOOL PresentPadDStkRepCheck(u16 dir)
{
u32 var_r31 = HuPadDStkRep[0] & dir;
return var_r31 != 0;
u32 pressed = HuPadDStkRep[0] & dir;
return pressed != 0;
}
BOOL PresentPadDStkCheck(u16 dir)
{
u32 var_r31 = HuPadDStk[0] & dir;
return var_r31 != 0;
u32 pressed = HuPadDStk[0] & dir;
return pressed != 0;
}
static void SceneMain(omObjData *object)

View file

@ -13,14 +13,14 @@ typedef struct StateWork {
} StateWork; /* size = 0x08 */
typedef struct UnkShadowDataStruct {
/* 0x00 */ Vec pos;
/* 0x0C */ Vec up;
/* 0x18 */ Vec target;
/* 0x00 */ Vec camPos;
/* 0x0C */ Vec camUp;
/* 0x18 */ Vec camTarget;
} UnkShadowDataStruct; /* size = 0x24 */
omObjData *presentGuide;
static UnkShadowDataStruct shadowPosTbl = {
static UnkShadowDataStruct shadow = {
{ 0.0f, 3000.0f, 1.0f },
{ 0.0f, 1.0f, 0.0f },
{ 0.0f, 0.0f, 0.0f },
@ -45,7 +45,7 @@ omObjData *PresentStateCreate(void)
work->window = PresentWinCreate(0);
Hu3DShadowCreate(30.0f, 20.0f, 5000.0f);
Hu3DShadowTPLvlSet(0.45f);
Hu3DShadowPosSet(&shadowPosTbl.pos, &shadowPosTbl.up, &shadowPosTbl.target);
Hu3DShadowPosSet(&shadow.camPos, &shadow.camUp, &shadow.camTarget);
if (omovlevtno > 0) {
OSReport("*** PRESENTROOM ( PRESENT GET MODE ) ***\n");

View file

@ -61,7 +61,7 @@ typedef struct PresentWork {
} PresentWork; /* size = 0x364 */
typedef struct UnkLightDataStruct {
/* 0x00 */ Vec src;
/* 0x00 */ Vec pos;
/* 0x0C */ Vec dest;
/* 0x18 */ GXColor color;
} UnkLightDataStruct; /* size = 0x1C */ // same as option::state::UnkLightDataStruct
@ -357,7 +357,7 @@ omObjData *PresentCreate(void)
{
s32 i;
s32 j;
s16 light;
s16 lightId;
LightData *lightData;
omObjData *object = omAddObjEx(presentObjMan, 1003, 0, 0, 1, NULL);
@ -382,10 +382,10 @@ omObjData *PresentCreate(void)
work->presentUnlockedF[PRESENT_MAX - 1] = TRUE;
}
Hu3DLighInit();
light = Hu3DGLightCreateV(&lightTbl.src, &lightTbl.dest, &lightTbl.color);
Hu3DGLightInfinitytSet(light);
Hu3DGLightStaticSet(light, 1);
lightData = &Hu3DGlobalLight[light];
lightId = Hu3DGLightCreateV(&lightTbl.pos, &lightTbl.dest, &lightTbl.color);
Hu3DGLightInfinitytSet(lightId);
Hu3DGLightStaticSet(lightId, 1);
lightData = &Hu3DGlobalLight[lightId];
lightData->unk_00 |= 0x8000;
for (i = 0; i < PRESENT_MDL_MAX; i++) {
@ -410,7 +410,7 @@ omObjData *PresentCreate(void)
RotateCamera(object);
PresentExecModeSet(object, PRESENT_MODE_NONE);
(void)light;
(void)lightId;
return object;
}

View file

@ -25,7 +25,7 @@ static ARQRequest arqReq;
static ARMemBlock ARInfo[64];
static s32 ARBase;
static s32 arqCnt;
static volatile s32 arqCnt;
static s16 arqIdx;
void HuARInit(void) {

View file

@ -1,3 +1,4 @@
#include "game/audio.h"
#include "game/data.h"
#include "game/hsfman.h"
#include "game/process.h"