Merge branch 'Rainchus:main' into main

This commit is contained in:
CreateSource 2024-08-02 11:45:17 -04:00 committed by GitHub
commit e3a27ca515
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
29 changed files with 7716 additions and 906 deletions

View file

@ -1160,10 +1160,6 @@ void fn_1_4964(ModelData *arg0)
GXColor *var_r19;
var_r30 = arg0->unk_120;
(void)var_f31;
(void)var_f31;
(void)var_f31;
(void)var_f31;
if (var_r30->unk_28) {
if (!omPauseChk()) {
@ -1225,6 +1221,10 @@ void fn_1_4964(ModelData *arg0)
if (var_r28->unk_01) {
var_r25->z = var_r28->unk_10.z - (50.0f * (0.003921569f * (var_r28->unk_08 * var_f31)));
}
(void)var_f31;
(void)var_f31;
(void)var_f31;
(void)var_f31;
}
var_r25++;
var_r21++;
@ -1444,7 +1444,7 @@ void fn_1_6304(ModelData *arg0, Mtx arg1)
void fn_1_64F8(UnkM406Struct2 *arg0)
{
float var_f31;
float var_f31; // ! - uninitialized
UnkM406Struct2 *var_r31;
s32 var_r30;

View file

@ -2018,7 +2018,7 @@ float fn_1_143F4(Vec *arg0, UnkM406PlayerStruct2 *arg1)
Vec sp1C;
Vec sp10;
HsfBuffer *spC;
float sp8;
float sp8; // ! - uninitialized
float var_f31;
float var_f30;

View file

@ -511,10 +511,9 @@ static inline void unkInline(unkStruct4* var_r31, s16 var_r29, s16* var_r28, s16
}
void fn_1_2484(omObjData* object) {
s16 var_r28;
s16 var_r28; // ! - uninitialized
s16 var_r29;
unkStruct4* var_r31;
s32 temp_r27;
var_r31 = &lbl_1_bss_40[0];
object->stat |= 0x100;

View file

@ -1573,7 +1573,7 @@ void fn_1_5554(void) {
float var_f26;
float var_f31;
float var_f30;
float var_f29;
float var_f29; // ! - uninitialized
float sp8;
float temp_f24;
UnkBss138InnerStruct00 spC;

View file

@ -1720,7 +1720,8 @@ void fn_1_6AE8(ModelData *model, ParticleData *particle, Mtx matrix)
HsfanimStruct01 *temp_r31;
s32 temp_r29;
s16 temp_r28;
s32 temp_r27;
s32 temp_r27; // ! - uninitialized
if(!particle->unk_00) {
particle->unk_00 = 1;
temp_r31 = particle->unk_48;

View file

@ -232,7 +232,7 @@ void fn_1_13DC(omObjData *object)
void fn_1_17C0(omObjData *object)
{
s16 sp8;
s16 sp8; // ! - uninitialized
UnkM417Struct *var_r30;

0
src/REL/m438Dll/fire.c Normal file
View file

3677
src/REL/m438Dll/main.c Normal file

File diff suppressed because it is too large Load diff

0
src/REL/m438Dll/map.c Normal file
View file

View file

@ -1443,9 +1443,9 @@ void fn_1_485C(ModelData *model, Mtx mtx)
Mtx spA0;
ROMtx sp70;
Mtx sp40;
Vec sp34;
Vec sp28;
Vec sp1C;
Vec sp34; // ! - uninitialized
Vec sp28; // ! - uninitialized
Vec sp1C; // ! - uninitialized
Vec sp10;
float var_f31;

View file

@ -0,0 +1,131 @@
#include "REL/mgmodedll.h"
DataListModel lbl_1_data_490[] = {
{ 0x620000, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x620001, 0x40000001, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x620002, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x620003, 0, 1, -1, 2, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x620004, 0, 1, -1, 2, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x62005E, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x62005F, 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x620060, 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x620061, 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x620005, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x620006, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x620007, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x620008, 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[] = {
{ 0x62000C, 0, 10, 288, -200, { 255, 255, 255, 255 } },
{ 0x620009, 0, 10, 288, -200, { 255, 255, 255, 255 } },
{ 0x62000A, 0, 10, 288, -200, { 255, 255, 255, 255 } },
{ 0x62000D, 4, 100, 288, 240, { 255, 255, 255, 255 } },
{ 0x620018, 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ 0x62001A, 4, 20, 288, 240, { 255, 255, 255, 255 } },
{ 0x62001B, 4, 30, 288, 240, { 255, 255, 255, 255 } },
{ 0x62001C, 4, 40, 288, 240, { 255, 255, 255, 255 } },
{ 0x62001D, 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ 0x62001E, 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ 0x62001F, 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ 0x620020, 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ 0x620021, 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ 0x620025, 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ 0x62000E, 4, 210, 288, 240, { 255, 255, 255, 255 } },
{ 0x62000F, 4, 210, 288, 240, { 255, 255, 255, 255 } },
{ 0x620019, 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ 0x620028, 4, 10, 288, 240, { 255, 255, 255, 255 } },
{ 0x620028, 4, 10, 288, 240, { 255, 255, 255, 255 } },
{ 0x62002A, 4, 10, 288, 240, { 255, 255, 255, 255 } },
{ 0x62002E, 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ 0x62002F, 4, 200, 288, 240, { 255, 255, 255, 255 } },
{ 0x620032, 4, 5, 288, 240, { 255, 255, 255, 255 } },
{ 0x620031, 4, 4, 288, 240, { 255, 255, 255, 255 } },
{ 0x620030, 4, 4, 288, 240, { 255, 255, 255, 255 } },
{ 0x620029, 4, 4, 288, 240, { 255, 255, 255, 255 } },
{ 0x620029, 4, 4, 288, 240, { 255, 255, 255, 255 } },
{ 0x620033, 4, 50, 288, 240, { 255, 255, 255, 255 } },
{ 0x620034, 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;
}
}
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);
}
}
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]);
}
}
}

File diff suppressed because it is too large Load diff

1340
src/REL/mgmodedll/mgmode.c Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,276 @@
#include "REL/mgmodedll.h"
#include "game/gamework_data.h"
#include "game/gamework.h"
#include "game/wipe.h"
#include "game/audio.h"
#include "game/chrman.h"
#include "math.h"
s16 lbl_1_bss_2C80[13];
s16 lbl_1_bss_2C66[13];
s16 lbl_1_bss_2C2C[29];
s16 lbl_1_bss_2C24[4];
s16 lbl_1_bss_2C1C[4];
s16 lbl_1_bss_2C14[4];
s16 lbl_1_bss_2BC4[4][10];
s16 lbl_1_bss_264C[10][70];
s16 lbl_1_bss_2638[10];
s16 lbl_1_bss_20C0[10][70];
s16 lbl_1_bss_20AC[10];
s16 lbl_1_bss_20AA;
s16 lbl_1_bss_20A8;
s32 lbl_1_data_9C0[8] = {
0x005F0000,
0x001A0000,
0x006D0000,
0x008A0000,
0x00850000,
0x00110000,
0x000D0000,
0x00810000
};
s32 lbl_1_data_9E0[8] = {
0x005E0000,
0x00190000,
0x006C0000,
0x00890000,
0x00840000,
0x00100000,
0x000C0000,
0x00800000
};
s16 lbl_1_data_A00 = -1;
void fn_1_26C54(s16 layer);
void fn_1_26C28(void)
{
Hu3DLayerHookSet(2, fn_1_26C54);
}
void fn_1_26C54(s16 layer)
{
Mtx44 proj;
Mtx modelview;
Vec pos, target, up;
GXColor color;
CameraData *camera = &Hu3DCamera[0];
MTXPerspective(proj, camera->fov, camera->aspect, camera->near, camera->far);
GXSetProjection(proj, GX_PERSPECTIVE);
GXSetViewport(0, 0, 640, 480, 0, 1);
GXSetScissor(0, 0, 640, 480);
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
color.a = 255;
GXSetTevColor(GX_TEVREG0, color);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetNumTexGens(0);
GXSetNumTevStages(01);
GXSetCullMode(GX_CULL_NONE);
GXSetAlphaCompare(GX_GEQUAL, 0, GX_AOP_AND, GX_GEQUAL, 0);
GXSetZMode(GX_TRUE, GX_ALWAYS, GX_TRUE);
pos.x = pos.y = pos.z = 0;
target.x = target.y = 0;
target.z = -100;
up.x = up.z = 0;
up.y = 1;
MTXLookAt(modelview, &pos, &up, &target);
GXLoadPosMtxImm(modelview, GX_PNMTX0);
pos.x = (10000.0f*(-sin(camera->fov/2.0f)))*1.2f;
pos.y = (10000.0f*(-sin(camera->fov/2.0f)))*(5.0f/6.0f);
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
GXPosition3f32(-pos.x, -pos.y, -10000.0f);
GXPosition3f32(pos.x, -pos.y, -10000.0f);
GXPosition3f32(pos.x, pos.y, -10000.0f);
GXPosition3f32(-pos.x, pos.y, -10000.0f);
GXEnd();
}
void fn_1_27080(void)
{
s16 i;
s32 status;
CharModelDataClose(-1);
CharKill(-1);
for(i=0; i<4; i++) {
status = HuDataDirReadAsync(lbl_1_data_9C0[GWPlayerCfg[i].character]);
if(status != -1) {
while(!HuDataGetAsyncStat(status)) {
HuPrcVSleep();
}
}
CharARAMOpen(GWPlayerCfg[i].character);
}
for(i=0; i<2; i++) {
status = HuDataDirReadAsync(lbl_1_data_9E0[GWPlayerCfg[i].character]);
if(status != -1) {
while(!HuDataGetAsyncStat(status)) {
HuPrcVSleep();
}
}
}
lbl_1_bss_20AA = 0;
HuPrcEnd();
while(1) {
HuPrcVSleep();
}
}
s16 fn_1_271B4(s16 mgNo, s16 x, s16 y)
{
s16 time;
AnimData *anim;
s16 sprite;
s32 mgpic;
if(mgNo == -1) {
if(lbl_1_data_A00 == -1) {
return;
}
for(time=0; time<=10; time++) {
HuSprGrpTPLvlSet(lbl_1_data_A00, 1.0-(time/10.0));
HuPrcVSleep();
}
HuSprGrpKill(lbl_1_data_A00);
lbl_1_data_A00 = -1;
return;
}
if(lbl_1_data_A00 != -1) {
HuSprGrpKill(lbl_1_data_A00);
}
lbl_1_data_A00 = HuSprGrpCreate(1);
mgpic = mgInfoTbl[mgNo].mg_pic[0];
if(GWMGAvailGet(mgNo+401)) {
anim = HuSprAnimReadFile(mgpic);
} else {
anim = HuSprAnimReadFile(0x62002C);
}
sprite = HuSprCreate(anim, 100, 0);
HuSprGrpMemberSet(lbl_1_data_A00, 0, sprite);
HuSprGrpPosSet(lbl_1_data_A00, x, y);
HuSprGrpScaleSet(lbl_1_data_A00, 0.55f, 0.55f);
HuSprGrpDrawNoSet(lbl_1_data_A00, 64);
return lbl_1_data_A00;
}
void fn_1_27418(void)
{
s16 i;
s16 j;
for(i=0; i<4; i++) {
lbl_1_bss_2C1C[i] = i;
}
for(i=0; i<4; i++) {
for(j=0; j<3-i; j++) {
if(GWPlayerCfg[lbl_1_bss_2C1C[j]].group > GWPlayerCfg[lbl_1_bss_2C1C[j+1]].group) {
s16 temp = lbl_1_bss_2C1C[j];
lbl_1_bss_2C1C[j] = lbl_1_bss_2C1C[j+1];
lbl_1_bss_2C1C[j+1] = temp;
}
}
}
for(i=0; i<4; i++) {
s16 charNo;
lbl_1_bss_2C24[i] = charNo = GWPlayerCfg[lbl_1_bss_2C1C[i]].character;
lbl_1_bss_2C14[i] = CharModelCreate(charNo, 2);
lbl_1_bss_2BC4[i][0] = CharModelMotionCreate(charNo, 0x5F0000);
lbl_1_bss_2BC4[i][1] = CharModelMotionCreate(charNo, 0x5F0002);
lbl_1_bss_2BC4[i][2] = CharModelMotionCreate(charNo, 0x5F0003);
lbl_1_bss_2BC4[i][3] = CharModelMotionCreate(charNo, 0x5F0048);
lbl_1_bss_2BC4[i][4] = CharModelMotionCreate(charNo, 0x5F0049);
lbl_1_bss_2BC4[i][5] = CharModelMotionCreate(charNo, 0x5F0017);
lbl_1_bss_2BC4[i][6] = CharModelMotionCreate(charNo, 0x5F0018);
CharModelVoiceEnableSet(GWPlayerCfg[lbl_1_bss_2C1C[i]].character, lbl_1_bss_2BC4[i][1], 0);
CharModelVoiceEnableSet(GWPlayerCfg[lbl_1_bss_2C1C[i]].character, lbl_1_bss_2BC4[i][2], 0);
Hu3DModelPosSet(lbl_1_bss_2C14[i], 600, 0, 800);
Hu3DModelLayerSet(lbl_1_bss_2C14[i], 3);
CharModelDataClose(charNo);
Hu3DModelShadowSet(lbl_1_bss_2C14[i]);
}
}
s32 fn_1_2783C(s16 evtno)
{
s16 i;
omOvlHisData *his;
for(i=0; i<4; i++) {
GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68;
GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60;
GWPlayerCfg[i].pad_idx = lbl_1_bss_8.unk24[i].unk6C;
GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64;
}
WipeColorSet(255, 255, 255);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
HuAudSeqAllFadeOut(1000);
while(WipeStatGet()) {
HuPrcVSleep();
}
CharKill(-1);
for(i=0; i<4; i++) {
CharARAMOpen(GWPlayerCfg[i].character);
}
HuAudVoiceInit(-1);
his = omOvlHisGet(0);
omOvlHisChg(0, OVL_MGMODE, evtno, his->stat);
omOvlCallEx(OVL_INST, 1, 0, 0);
while(1) {
HuPrcVSleep();
}
}
void fn_1_279FC(s32 coinSkipF)
{
s16 i;
s16 mgNum;
for(mgNum=0; mgInfoTbl[mgNum].ovl != 65535; mgNum++);
for(i=0; i<9; i++) {
lbl_1_bss_2638[i] = lbl_1_bss_20AC[i] = 0;
}
for(i=0; i<mgNum; i++) {
s16 type = mgInfoTbl[i].type;
if(type >= 0 && type < 9) {
if(coinSkipF) {
s16 ovl = mgInfoTbl[i].ovl;
if(ovl == OVL_M408 || ovl == OVL_M422 || ovl == OVL_M430) {
continue;
}
}
lbl_1_bss_264C[type][lbl_1_bss_2638[type]] = i;
lbl_1_bss_2638[type]++;
if(GWMGAvailGet(i+401)) {
lbl_1_bss_20C0[type][lbl_1_bss_20AC[type]] = i;
lbl_1_bss_20AC[type]++;
}
}
}
}
void fn_1_27C0C(s16 type)
{
s16 i;
s16 j;
for(i=0; i<256;) {
for(j=0; j<lbl_1_bss_20AC[type]; j++, i++) {
if(i > 256) {
break;
}
mgIndexList[i] = lbl_1_bss_20C0[type][j];
}
}
for(i=0; i<256; i++) {
mgIndexList[i];
}
lbl_801D3E94 = 0;
}

View file

@ -143,7 +143,7 @@ void ClusterMotionExec(ModelData *arg0) {
s16 var_r20;
HsfCluster *temp_r26;
HsfData *temp_r28;
HsfMotion *temp_r27;
HsfMotion *temp_r27; // ! - uninitialized
HsfTrack *var_r31;
HsfTrack *var_r30;
MotionData *var_r23;

View file

@ -964,8 +964,7 @@ static void InitJunction(s32 arg0, s32 arg1, f32 arg8) {
Vec sp5C;
Vec sp50;
Vec sp44;
f32 sp40;
f32 sp3C;
f32 sp3C[2];
s32 sp38;
s16 sp20;
s16 spE;
@ -998,10 +997,10 @@ static void InitJunction(s32 arg0, s32 arg1, f32 arg8) {
temp_r29->field00_bit5 = 0;
temp_r29->unk_01 = 0;
var_r28->scale.x = var_r28->scale.y = var_r28->scale.z = 3.0f;
HuWinMesMaxSizeGet(1, &sp3C, 0x90003);
HuWinMesMaxSizeGet(1, sp3C, 0x90003);
var_f27 = -10000.0f;
var_f28 = 304.0f;
temp_r29->unk_04 = HuWinCreate(var_f27, var_f28, sp3C, sp40, 0);
temp_r29->unk_04 = HuWinCreate(var_f27, var_f28, sp3C[0], sp3C[1], 0);
HuWinBGTPLvlSet(temp_r29->unk_04, 0.0f);
HuWinMesSpeedSet(temp_r29->unk_04, 0);
HuWinMesSet(temp_r29->unk_04, 0x90003);
@ -2847,6 +2846,7 @@ void BoardPlayerCopyEyeMat(s32 arg0, s32 arg1) {
var_r29 = playerMatCopy[arg0];
if (arg1 != 0) {
temp_r28 = &eyeMatTbl[GWPlayer[arg0].character][0];
(void)temp_r28;
for (var_r25 = 0; var_r25 < hsfData->materialCnt; var_r25++, material++, var_r29++) {
var_r24 = 1;
@ -2870,7 +2870,6 @@ void BoardPlayerCopyEyeMat(s32 arg0, s32 arg1) {
}
} else {
memcpy(hsfData->material, var_r29, hsfData->materialCnt * 0x3C);
(void)temp_r28;
}
DCStoreRange(hsfData->material, hsfData->materialCnt * 0x3C);
}

View file

@ -1824,7 +1824,7 @@ s32 CharModelEffectNpcInit(s16 arg0, s16 arg1, s16 arg2, s16 arg3) {
}
s32 CharModelEffectNpcInitSilent(s16 arg0, s16 arg1, s16 arg2) {
s32 sp10;
s32 sp10; // ! - uninitialized
CharModelEffectNpcInit(arg0, arg1, arg2, -1);
return sp10;

View file

@ -275,7 +275,7 @@ s32 GWMGCustomGet(s32 id)
}
}
s32 GWMGCustomSet(s32 id)
void GWMGCustomSet(s32 id)
{
s32 word;
s32 bit;
@ -285,7 +285,7 @@ s32 GWMGCustomSet(s32 id)
GWGameStat.mg_custom[word] |= (1 << bit);
}
s32 GWMGCustomReset(s32 id)
void GWMGCustomReset(s32 id)
{
s32 word;
s32 bit;