Fix dll killing, load modeseldll
This commit is contained in:
parent
c133583b3b
commit
176f6f9638
15 changed files with 159 additions and 52 deletions
|
|
@ -189,4 +189,4 @@ foreach (dir ${REL_DIRS})
|
||||||
endif ()
|
endif ()
|
||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
||||||
add_dependencies(marioparty4 bootDll)
|
add_dependencies(marioparty4 bootDll modeseldll)
|
||||||
|
|
|
||||||
96
dol.def
96
dol.def
|
|
@ -1,7 +1,18 @@
|
||||||
EXPORTS
|
EXPORTS
|
||||||
game_main
|
game_main
|
||||||
|
C_MTXCopy
|
||||||
|
C_MTXScale
|
||||||
|
C_VECAdd
|
||||||
|
C_VECScale
|
||||||
|
C_VECSubtract
|
||||||
|
C_VECNormalize
|
||||||
|
C_VECMag
|
||||||
|
C_VECCrossProduct
|
||||||
|
mtxRotCat
|
||||||
byteswap_u32
|
byteswap_u32
|
||||||
byteswap_s32
|
byteswap_s32
|
||||||
|
msmMusSetMasterVolume
|
||||||
|
msmSysGetOutputMode
|
||||||
BoardRollExec
|
BoardRollExec
|
||||||
BoardRollKill
|
BoardRollKill
|
||||||
BoardDiceValueSet
|
BoardDiceValueSet
|
||||||
|
|
@ -390,12 +401,30 @@ EXPORTS
|
||||||
espTPLvlSet
|
espTPLvlSet
|
||||||
espZRotSet
|
espZRotSet
|
||||||
HuAudFXPlay
|
HuAudFXPlay
|
||||||
|
HuAudFXStop
|
||||||
|
HuAudSeqPlay
|
||||||
|
HuAudSeqAllFadeOut
|
||||||
HuAudSStreamAllFadeOut
|
HuAudSStreamAllFadeOut
|
||||||
HuAudSStreamPlay
|
HuAudSStreamPlay
|
||||||
HuAudSndGrpSetSet
|
HuAudSndGrpSetSet
|
||||||
HuMemDirectMalloc
|
HuMemDirectMalloc
|
||||||
|
HuMemDirectMallocNum
|
||||||
HuMemDirectFree
|
HuMemDirectFree
|
||||||
|
HuDataInit
|
||||||
|
HuDataDirRead
|
||||||
|
HuDataRead
|
||||||
|
HuDataReadNum
|
||||||
|
HuDataReadMulti
|
||||||
|
HuDataDirReadAsync
|
||||||
|
HuDataDirReadNumAsync
|
||||||
|
HuDataSelHeapRead
|
||||||
HuDataSelHeapReadNum
|
HuDataSelHeapReadNum
|
||||||
|
HuDataGetSize
|
||||||
|
HuDataDirClose
|
||||||
|
HuDataDirCloseNum
|
||||||
|
HuDataClose
|
||||||
|
HuDataCloseMulti
|
||||||
|
HuDataReadNumHeapShortForce
|
||||||
HuDecodeData
|
HuDecodeData
|
||||||
Hu3DLayerHookSet
|
Hu3DLayerHookSet
|
||||||
Hu3DNoSyncSet
|
Hu3DNoSyncSet
|
||||||
|
|
@ -597,16 +626,32 @@ EXPORTS
|
||||||
Hu3DProjectionPosSet
|
Hu3DProjectionPosSet
|
||||||
Hu3DProjectionTPLvlSet
|
Hu3DProjectionTPLvlSet
|
||||||
Hu3DProjectionKill
|
Hu3DProjectionKill
|
||||||
HuPrcEnd
|
HuPrcInit
|
||||||
|
HuPrcCall
|
||||||
HuPrcCreate
|
HuPrcCreate
|
||||||
HuPrcCurrentGet
|
HuPrcKill
|
||||||
|
HuPrcEnd
|
||||||
|
HuPrcWakeup
|
||||||
HuPrcSleep
|
HuPrcSleep
|
||||||
HuPrcVSleep
|
HuPrcVSleep
|
||||||
|
HuPrcCurrentGet
|
||||||
|
HuPrcDestructorSet
|
||||||
|
HuPrcDestructorSet2
|
||||||
|
HuPrcChildCreate
|
||||||
|
HuPrcChildLink
|
||||||
|
HuPrcChildUnlink
|
||||||
|
HuPrcChildKill
|
||||||
|
HuPrcMemAlloc
|
||||||
|
HuPrcMemFree
|
||||||
HuSetVecF
|
HuSetVecF
|
||||||
HuSprAnimRead
|
HuSprAnimRead
|
||||||
|
HuSprBankSet
|
||||||
HuSprCreate
|
HuSprCreate
|
||||||
HuSprGrpCreate
|
HuSprGrpCreate
|
||||||
HuSprGrpMemberSet
|
HuSprGrpMemberSet
|
||||||
|
HuSprGrpPosSet
|
||||||
|
HuSprGrpScaleSet
|
||||||
|
HuSprGrpScissorSet
|
||||||
HuSprGrpKill
|
HuSprGrpKill
|
||||||
HuSprAttrSet
|
HuSprAttrSet
|
||||||
HuSprAttrReset
|
HuSprAttrReset
|
||||||
|
|
@ -626,6 +671,45 @@ EXPORTS
|
||||||
HuTHPFrameGet
|
HuTHPFrameGet
|
||||||
HuTHPTotalFrameGet
|
HuTHPTotalFrameGet
|
||||||
HuTHPSetVolume
|
HuTHPSetVolume
|
||||||
|
HuCardCheck
|
||||||
|
HuCardMount
|
||||||
|
HuCardUnMount
|
||||||
|
HuCardFormat
|
||||||
|
HuCardOpen
|
||||||
|
HuCardRead
|
||||||
|
HuCardCreate
|
||||||
|
HuCardClose
|
||||||
|
HuCardWrite
|
||||||
|
HuCardDelete
|
||||||
|
HuCardSectorSizeGet
|
||||||
|
HuCardFreeSpaceGet
|
||||||
|
HuCardSlotCheck
|
||||||
|
SLFileOpen
|
||||||
|
SLFileCreate
|
||||||
|
SLFileWrite
|
||||||
|
SLFileClose
|
||||||
|
SLFileRead
|
||||||
|
SLCurSlotNoSet
|
||||||
|
SLSaveDataMake
|
||||||
|
SLCommonSet
|
||||||
|
SLSaveBoard
|
||||||
|
SLSaveBoardStory
|
||||||
|
SLSave
|
||||||
|
SLLoadGameStat
|
||||||
|
SLLoadBoard
|
||||||
|
SLLoadBoardStory
|
||||||
|
SLLoad
|
||||||
|
SLCurBoxNoSet
|
||||||
|
SLSaveFlagSet
|
||||||
|
SLSaveFlagGet
|
||||||
|
SLCheckSumCheck
|
||||||
|
SLCheckSumSet
|
||||||
|
SLSerialNoGet
|
||||||
|
SLSerialNoCheck
|
||||||
|
SLStatSet
|
||||||
|
_CheckFlag
|
||||||
|
_SetFlag
|
||||||
|
_ClearFlag
|
||||||
HuWindowInit
|
HuWindowInit
|
||||||
HuWinInit
|
HuWinInit
|
||||||
HuWinCreate
|
HuWinCreate
|
||||||
|
|
@ -709,15 +793,21 @@ EXPORTS
|
||||||
MGSeqInit
|
MGSeqInit
|
||||||
MGSeqCreate
|
MGSeqCreate
|
||||||
MGSeqPosSet
|
MGSeqPosSet
|
||||||
|
omAddObjEx
|
||||||
|
omGameSysInit
|
||||||
omOvlCallEx
|
omOvlCallEx
|
||||||
omOvlReturnEx
|
omOvlGotoEx
|
||||||
omOvlHisChg
|
omOvlHisChg
|
||||||
omOvlHisGet
|
omOvlHisGet
|
||||||
|
omOvlReturnEx
|
||||||
omInitObjMan
|
omInitObjMan
|
||||||
OSGetTick
|
OSGetTick
|
||||||
|
OSGetTime
|
||||||
|
OSTicksToCalendarTime
|
||||||
OSReport
|
OSReport
|
||||||
WipeColorSet
|
WipeColorSet
|
||||||
WipeCreate
|
WipeCreate
|
||||||
WipeExecAlways
|
WipeExecAlways
|
||||||
WipeInit
|
WipeInit
|
||||||
WipeStatGet
|
WipeStatGet
|
||||||
|
GWGameStatReset
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,9 @@
|
||||||
#define _GAME_CARD_H
|
#define _GAME_CARD_H
|
||||||
|
|
||||||
#include "dolphin.h"
|
#include "dolphin.h"
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
extern u8 UnMountCnt;
|
SHARED_SYM extern u8 UnMountCnt;
|
||||||
|
|
||||||
void HuCardInit(void);
|
void HuCardInit(void);
|
||||||
s32 HuCardCheck(void);
|
s32 HuCardCheck(void);
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
#include "game/hsfanim.h"
|
#include "game/hsfanim.h"
|
||||||
#include "game/hsfformat.h"
|
#include "game/hsfformat.h"
|
||||||
#include "game/memory.h"
|
#include "game/memory.h"
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
#define HU3D_MODEL_MAX 512
|
#define HU3D_MODEL_MAX 512
|
||||||
#define HU3D_MOTION_MAX 256
|
#define HU3D_MOTION_MAX 256
|
||||||
|
|
@ -297,7 +298,7 @@ void Hu3DProjectionPosSet(s16, Vec *, Vec *, Vec *);
|
||||||
void Hu3DProjectionTPLvlSet(s16, float);
|
void Hu3DProjectionTPLvlSet(s16, float);
|
||||||
void Hu3DMipMapSet(char *, s16, s32, float);
|
void Hu3DMipMapSet(char *, s16, s32, float);
|
||||||
|
|
||||||
extern ModelData Hu3DData[0x200];
|
SHARED_SYM extern ModelData Hu3DData[0x200];
|
||||||
extern CameraData Hu3DCamera[0x10];
|
extern CameraData Hu3DCamera[0x10];
|
||||||
extern AnimData *reflectAnim[5];
|
extern AnimData *reflectAnim[5];
|
||||||
extern AnimData *hiliteAnim[4];
|
extern AnimData *hiliteAnim[4];
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
#include "dolphin.h"
|
#include "dolphin.h"
|
||||||
#include "game/process.h"
|
#include "game/process.h"
|
||||||
#include "game/gamework_data.h"
|
#include "game/gamework_data.h"
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
typedef struct mg_info {
|
typedef struct mg_info {
|
||||||
u16 ovl;
|
u16 ovl;
|
||||||
|
|
@ -27,10 +28,10 @@ extern s16 mgBattleStar[4];
|
||||||
extern s16 mgBattleStarMax;
|
extern s16 mgBattleStarMax;
|
||||||
extern u8 lbl_801D3E94;
|
extern u8 lbl_801D3E94;
|
||||||
extern u32 mgRecordExtra;
|
extern u32 mgRecordExtra;
|
||||||
extern s32 mgQuitExtraF;
|
SHARED_SYM extern s32 mgQuitExtraF;
|
||||||
extern s32 mgPracticeEnableF;
|
SHARED_SYM extern s32 mgPracticeEnableF;
|
||||||
extern s32 mgInstExitEnableF;
|
extern s32 mgInstExitEnableF;
|
||||||
extern u8 mgBoardHostEnableF;
|
SHARED_SYM extern u8 mgBoardHostEnableF;
|
||||||
|
|
||||||
extern s16 mgTicTacToeGrid[3][3];
|
extern s16 mgTicTacToeGrid[3][3];
|
||||||
extern u8 mgIndexList[256];
|
extern u8 mgIndexList[256];
|
||||||
|
|
|
||||||
|
|
@ -24,13 +24,13 @@ typedef union save_buf_all {
|
||||||
u8 ATTRIBUTE_ALIGN(32) buf[SAVE_BUF_SIZE];
|
u8 ATTRIBUTE_ALIGN(32) buf[SAVE_BUF_SIZE];
|
||||||
} SaveBufAll;
|
} SaveBufAll;
|
||||||
|
|
||||||
extern char *SaveFileNameTbl[];
|
SHARED_SYM extern char *SaveFileNameTbl[];
|
||||||
extern CARDFileInfo curFileInfo;
|
SHARED_SYM extern CARDFileInfo curFileInfo;
|
||||||
extern SaveBufAll saveBuf;
|
SHARED_SYM extern SaveBufAll saveBuf;
|
||||||
extern u64 SLSerialNo;
|
extern u64 SLSerialNo;
|
||||||
extern s32 saveExecF;
|
extern s32 saveExecF;
|
||||||
extern u8 curBoxNo;
|
extern u8 curBoxNo;
|
||||||
extern s16 curSlotNo;
|
SHARED_SYM extern s16 curSlotNo;
|
||||||
|
|
||||||
s32 SLFileOpen(char *fileName);
|
s32 SLFileOpen(char *fileName);
|
||||||
s32 SLFileCreate(char *fileName, u32 size, void *addr);
|
s32 SLFileCreate(char *fileName, u32 size, void *addr);
|
||||||
|
|
|
||||||
|
|
@ -907,9 +907,12 @@ static void SMSound3DDraw(void);
|
||||||
|
|
||||||
static void SMSound3DInit(omObjData *object)
|
static void SMSound3DInit(omObjData *object)
|
||||||
{
|
{
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
// TODO PC
|
||||||
s8 *data = msmSeGetIndexPtr(emiCompDataNo);
|
s8 *data = msmSeGetIndexPtr(emiCompDataNo);
|
||||||
emiCompVal = data[12];
|
emiCompVal = data[12];
|
||||||
object->func = SMSound3DUpdate;
|
object->func = SMSound3DUpdate;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void SMSound3DUpdate(omObjData *object)
|
static void SMSound3DUpdate(omObjData *object)
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
|
||||||
static void *cardWork;
|
static void *cardWork;
|
||||||
u8 UnMountCnt;
|
SHARED_SYM u8 UnMountCnt;
|
||||||
|
|
||||||
static void MountCallBack(s32 chan, s32 result);
|
static void MountCallBack(s32 chan, s32 result);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -91,8 +91,8 @@ static UnkCharInstanceStruct charInstance[8];
|
||||||
static s16 effectMdl[8];
|
static s16 effectMdl[8];
|
||||||
static EffectParamData *particleData[8];
|
static EffectParamData *particleData[8];
|
||||||
static Process *itemHookProcess[32];
|
static Process *itemHookProcess[32];
|
||||||
static u16 lbl_801975B0[8];
|
static u16 effectFlag[15];
|
||||||
static u8 lbl_801975C0[0x90]; // Unused?
|
static u8 lbl_801975C0[0x82]; // Unused?
|
||||||
|
|
||||||
static s32 skipAnimUpdate;
|
static s32 skipAnimUpdate;
|
||||||
static void *effectAMemP;
|
static void *effectAMemP;
|
||||||
|
|
@ -1135,7 +1135,7 @@ void CharModelKill(s16 character)
|
||||||
CharModelKill(i);
|
CharModelKill(i);
|
||||||
}
|
}
|
||||||
for (i = 0; i < 15; i++) {
|
for (i = 0; i < 15; i++) {
|
||||||
lbl_801975B0[i] = 0;
|
effectFlag[i] = 0;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -1736,10 +1736,10 @@ void CharModelEffectEnableSet(s16 character, s32 arg1)
|
||||||
|
|
||||||
if (character >= 8) {
|
if (character >= 8) {
|
||||||
if (arg1 == 0) {
|
if (arg1 == 0) {
|
||||||
lbl_801975B0[character] |= 0x10;
|
effectFlag[character] |= 0x10;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lbl_801975B0[character] &= ~0x10;
|
effectFlag[character] &= ~0x10;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -1835,7 +1835,7 @@ static void UpdateNpcEffect(void)
|
||||||
temp_r26 = Hu3DMotionTimeGet(temp_r25);
|
temp_r26 = Hu3DMotionTimeGet(temp_r25);
|
||||||
switch (temp_r27[2]) {
|
switch (temp_r27[2]) {
|
||||||
case 0:
|
case 0:
|
||||||
if (!(temp_r26 & 0xF) && !(lbl_801975B0[temp_r28] & 0x10)) {
|
if (!(temp_r26 & 0xF) && !(effectFlag[temp_r28] & 0x10)) {
|
||||||
effectDustParam.unk0C.x = 2.0 * -sind(temp_r30->rot.y);
|
effectDustParam.unk0C.x = 2.0 * -sind(temp_r30->rot.y);
|
||||||
effectDustParam.unk0C.y = 1.0 + 0.1 * frandmod(10);
|
effectDustParam.unk0C.y = 1.0 + 0.1 * frandmod(10);
|
||||||
effectDustParam.unk0C.z = 2.0 * -cosd(temp_r30->rot.y);
|
effectDustParam.unk0C.z = 2.0 * -cosd(temp_r30->rot.y);
|
||||||
|
|
@ -1854,7 +1854,7 @@ static void UpdateNpcEffect(void)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if (!(temp_r26 & 3) && !(lbl_801975B0[temp_r28] & 0x10)) {
|
if (!(temp_r26 & 3) && !(effectFlag[temp_r28] & 0x10)) {
|
||||||
effectDustParam.unk0C.x = 4.0 * -sind(temp_r30->rot.y);
|
effectDustParam.unk0C.x = 4.0 * -sind(temp_r30->rot.y);
|
||||||
effectDustParam.unk0C.y = 2.0 + 0.1 * frandmod(10);
|
effectDustParam.unk0C.y = 2.0 + 0.1 * frandmod(10);
|
||||||
effectDustParam.unk0C.z = 4.0 * -cosd(temp_r30->rot.y);
|
effectDustParam.unk0C.z = 4.0 * -cosd(temp_r30->rot.y);
|
||||||
|
|
@ -1874,7 +1874,7 @@ static void UpdateNpcEffect(void)
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (temp_r28 != -1) {
|
if (temp_r28 != -1) {
|
||||||
if (!(temp_r26 & 0x1F) && !(lbl_801975B0[temp_r28] & 0x10)) {
|
if (!(temp_r26 & 0x1F) && !(effectFlag[temp_r28] & 0x10)) {
|
||||||
effectDustParam.unk0C.x = 2.0 * -sind(temp_r30->rot.y);
|
effectDustParam.unk0C.x = 2.0 * -sind(temp_r30->rot.y);
|
||||||
effectDustParam.unk0C.y = 1.0 + 0.1 * frandmod(10);
|
effectDustParam.unk0C.y = 1.0 + 0.1 * frandmod(10);
|
||||||
effectDustParam.unk0C.z = 2.0 * -cosd(temp_r30->rot.y);
|
effectDustParam.unk0C.z = 2.0 * -cosd(temp_r30->rot.y);
|
||||||
|
|
@ -1893,7 +1893,7 @@ static void UpdateNpcEffect(void)
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (temp_r28 != -1) {
|
if (temp_r28 != -1) {
|
||||||
if (!(temp_r26 & 3) && !(lbl_801975B0[temp_r28] & 0x10)) {
|
if (!(temp_r26 & 3) && !(effectFlag[temp_r28] & 0x10)) {
|
||||||
effectDustParam.unk0C.x = 2.0 * -sind(temp_r30->rot.y);
|
effectDustParam.unk0C.x = 2.0 * -sind(temp_r30->rot.y);
|
||||||
effectDustParam.unk0C.y = 1.0 + 0.1 * frandmod(10);
|
effectDustParam.unk0C.y = 1.0 + 0.1 * frandmod(10);
|
||||||
effectDustParam.unk0C.z = 2.0 * -cosd(temp_r30->rot.y);
|
effectDustParam.unk0C.z = 2.0 * -cosd(temp_r30->rot.y);
|
||||||
|
|
@ -1912,7 +1912,7 @@ static void UpdateNpcEffect(void)
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (temp_r28 != -1) {
|
if (temp_r28 != -1) {
|
||||||
if (!(temp_r26 & 7) && !(lbl_801975B0[temp_r28] & 0x10)) {
|
if (!(temp_r26 & 7) && !(effectFlag[temp_r28] & 0x10)) {
|
||||||
effectDustParam.unk0C.x = 2.0 * -sind(temp_r30->rot.y);
|
effectDustParam.unk0C.x = 2.0 * -sind(temp_r30->rot.y);
|
||||||
effectDustParam.unk0C.y = 1.0 + 0.1 * frandmod(10);
|
effectDustParam.unk0C.y = 1.0 + 0.1 * frandmod(10);
|
||||||
effectDustParam.unk0C.z = 2.0 * -cosd(temp_r30->rot.y);
|
effectDustParam.unk0C.z = 2.0 * -cosd(temp_r30->rot.y);
|
||||||
|
|
@ -1933,7 +1933,7 @@ static void UpdateNpcEffect(void)
|
||||||
if (temp_r26 != 0) {
|
if (temp_r26 != 0) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (lbl_801975B0[temp_r28] & 0x10) {
|
if (effectFlag[temp_r28] & 0x10) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
for (i = 0; i < 8; i++) {
|
for (i = 0; i < 8; i++) {
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#define SHADOW_HEAP_SIZE 0x9000
|
#define SHADOW_HEAP_SIZE 0x9000
|
||||||
|
|
||||||
ModelData Hu3DData[HU3D_MODEL_MAX];
|
SHARED_SYM ModelData Hu3DData[HU3D_MODEL_MAX];
|
||||||
CameraData Hu3DCamera[HU3D_CAM_MAX];
|
CameraData Hu3DCamera[HU3D_CAM_MAX];
|
||||||
static s16 layerNum[8];
|
static s16 layerNum[8];
|
||||||
static void (*layerHook[8])(s16);
|
static void (*layerHook[8])(s16);
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,7 @@ void omDLLUnlink(omDllData *dll_ptr, s16 flag)
|
||||||
{
|
{
|
||||||
OSReport("odjdll>Unlink DLL:%s\n", dll_ptr->name);
|
OSReport("odjdll>Unlink DLL:%s\n", dll_ptr->name);
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
FreeLibrary(dll_ptr->hModule);
|
FreeLibrary(dll_ptr->hModule);
|
||||||
#else
|
#else
|
||||||
if(flag == 1) {
|
if(flag == 1) {
|
||||||
OSReport("objdll>Unlink DLL epilog\n");
|
OSReport("objdll>Unlink DLL epilog\n");
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@
|
||||||
#include <game/sprite.h>
|
#include <game/sprite.h>
|
||||||
#include "game/pad.h"
|
#include "game/pad.h"
|
||||||
#include "game/printfunc.h"
|
#include "game/printfunc.h"
|
||||||
|
#include "game/minigame_seq.h"
|
||||||
|
#include "game/window.h"
|
||||||
|
|
||||||
|
|
||||||
#define OM_OVL_HIS_MAX 16
|
#define OM_OVL_HIS_MAX 16
|
||||||
|
|
@ -46,6 +48,11 @@ char omUPauseFlag;
|
||||||
SHARED_SYM s16 omSysExitReq;
|
SHARED_SYM s16 omSysExitReq;
|
||||||
s16 omdispinfo;
|
s16 omdispinfo;
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
OverlayID pcOvlToKill = OVL_INVALID;
|
||||||
|
s16 pcOvlKillArg = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
static omOvlHisData omovlhis[OM_OVL_HIS_MAX];
|
static omOvlHisData omovlhis[OM_OVL_HIS_MAX];
|
||||||
|
|
||||||
u8 omSysPauseEnableFlag = TRUE;
|
u8 omSysPauseEnableFlag = TRUE;
|
||||||
|
|
@ -63,16 +70,19 @@ void omMasterInit(s32 prio, FileListEntry *ovl_list, s32 ovl_count, OverlayID st
|
||||||
omovlhisidx = -1;
|
omovlhisidx = -1;
|
||||||
omOvlCallEx(start_ovl, 1, 0, 0);
|
omOvlCallEx(start_ovl, 1, 0, 0);
|
||||||
omDBGSysKeyObj = NULL;
|
omDBGSysKeyObj = NULL;
|
||||||
#ifdef __MWERKS__
|
|
||||||
// TODO PC
|
|
||||||
omSysPauseEnable(TRUE);
|
omSysPauseEnable(TRUE);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void omWatchOverlayProc(void)
|
static void omWatchOverlayProc(void)
|
||||||
{
|
{
|
||||||
while (1) {
|
while (1) {
|
||||||
if (omcurovl == OVL_INVALID) {
|
if (omcurovl == OVL_INVALID) {
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
if (pcOvlToKill >= 0) {
|
||||||
|
omDLLNumEnd(pcOvlToKill, pcOvlKillArg);
|
||||||
|
pcOvlToKill = OVL_INVALID;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (omnextovl >= 0 && fadeStat == 0) {
|
if (omnextovl >= 0 && fadeStat == 0) {
|
||||||
HuPrcSleep(0);
|
HuPrcSleep(0);
|
||||||
OSReport("++++++++++++++++++++ Start New OVL %d (EVT:%d STAT:0x%08x) ++++++++++++++++++\n", omnextovl, omnextovlevtno, omnextovlstat);
|
OSReport("++++++++++++++++++++ Start New OVL %d (EVT:%d STAT:0x%08x) ++++++++++++++++++\n", omnextovl, omnextovlevtno, omnextovlstat);
|
||||||
|
|
@ -84,22 +94,16 @@ static void omWatchOverlayProc(void)
|
||||||
OSReport("objman>Init esp\n");
|
OSReport("objman>Init esp\n");
|
||||||
espInit();
|
espInit();
|
||||||
OSReport("objman>Call objectsetup\n");
|
OSReport("objman>Call objectsetup\n");
|
||||||
#ifdef __MWERKS__
|
|
||||||
// TODO PC
|
|
||||||
HuAudVoiceInit(omnextovl);
|
HuAudVoiceInit(omnextovl);
|
||||||
HuAudDllSndGrpSet(omnextovl);
|
HuAudDllSndGrpSet(omnextovl);
|
||||||
#endif
|
|
||||||
omcurovl = omnextovl;
|
omcurovl = omnextovl;
|
||||||
omovlevtno = omnextovlevtno;
|
omovlevtno = omnextovlevtno;
|
||||||
omovlstat = omnextovlstat;
|
omovlstat = omnextovlstat;
|
||||||
omnextovl = OVL_INVALID;
|
omnextovl = OVL_INVALID;
|
||||||
#ifdef __MWERKS__
|
|
||||||
// TODO PC
|
|
||||||
if (_CheckFlag(FLAG_ID_MAKE(1, 12))) {
|
if (_CheckFlag(FLAG_ID_MAKE(1, 12))) {
|
||||||
MGSeqPracticeInit();
|
MGSeqPracticeInit();
|
||||||
}
|
}
|
||||||
omSysPauseEnable(TRUE);
|
omSysPauseEnable(TRUE);
|
||||||
#endif
|
|
||||||
omcurdll = omDLLStart(omcurovl, 0);
|
omcurdll = omDLLStart(omcurovl, 0);
|
||||||
OSReport("objman>ObjectSetup end\n");
|
OSReport("objman>ObjectSetup end\n");
|
||||||
if (omcurovl != OVL_INVALID) {
|
if (omcurovl != OVL_INVALID) {
|
||||||
|
|
@ -130,6 +134,7 @@ void omOvlCallEx(OverlayID overlay, s16 arg2, s32 event, s32 stat)
|
||||||
omovlhis[++omovlhisidx].overlay = overlay;
|
omovlhis[++omovlhisidx].overlay = overlay;
|
||||||
omovlhis[omovlhisidx].event = event;
|
omovlhis[omovlhisidx].event = event;
|
||||||
omovlhis[omovlhisidx].stat = stat;
|
omovlhis[omovlhisidx].stat = stat;
|
||||||
|
|
||||||
omOvlGotoEx(overlay, arg2, event, stat);
|
omOvlGotoEx(overlay, arg2, event, stat);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -157,16 +162,10 @@ void omOvlReturnEx(s16 level, s16 arg2)
|
||||||
|
|
||||||
void omOvlKill(s16 arg)
|
void omOvlKill(s16 arg)
|
||||||
{
|
{
|
||||||
#ifdef __MWERKS__
|
|
||||||
// TODO PC
|
|
||||||
CharModelKill(-1);
|
CharModelKill(-1);
|
||||||
MGSeqKillAll();
|
MGSeqKillAll();
|
||||||
#endif
|
|
||||||
Hu3DAllKill();
|
Hu3DAllKill();
|
||||||
#ifdef __MWERKS__
|
|
||||||
// TODO PC
|
|
||||||
HuWinAllKill();
|
HuWinAllKill();
|
||||||
#endif
|
|
||||||
HuSprClose();
|
HuSprClose();
|
||||||
HuPrcChildKill(omwatchproc);
|
HuPrcChildKill(omwatchproc);
|
||||||
HuMemDirectFreeNum(HEAP_SYSTEM, MEMORY_DEFAULT_NUM);
|
HuMemDirectFreeNum(HEAP_SYSTEM, MEMORY_DEFAULT_NUM);
|
||||||
|
|
@ -174,13 +173,16 @@ void omOvlKill(s16 arg)
|
||||||
HuMemDirectFreeNum(HEAP_DVD, MEMORY_DEFAULT_NUM);
|
HuMemDirectFreeNum(HEAP_DVD, MEMORY_DEFAULT_NUM);
|
||||||
HuMemDirectFreeNum(HEAP_DATA, MEMORY_DEFAULT_NUM);
|
HuMemDirectFreeNum(HEAP_DATA, MEMORY_DEFAULT_NUM);
|
||||||
HuPadRumbleAllStop();
|
HuPadRumbleAllStop();
|
||||||
#ifdef __MWERKS__
|
|
||||||
// TODO PC
|
|
||||||
HuAudFXListnerKill();
|
HuAudFXListnerKill();
|
||||||
#endif
|
|
||||||
OSReport("OvlKill %d\n", arg);
|
OSReport("OvlKill %d\n", arg);
|
||||||
omSysExitReq = FALSE;
|
omSysExitReq = FALSE;
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
// this function is called from the DLL, we can't kill it directly here
|
||||||
|
pcOvlToKill = omcurovl;
|
||||||
|
pcOvlKillArg = arg;
|
||||||
|
#else
|
||||||
omDLLNumEnd(omcurovl, arg);
|
omDLLNumEnd(omcurovl, arg);
|
||||||
|
#endif
|
||||||
omcurovl = OVL_INVALID;
|
omcurovl = OVL_INVALID;
|
||||||
omDBGSysKeyObj = NULL;
|
omDBGSysKeyObj = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1168,10 +1168,10 @@ s16 mgBattleStar[4];
|
||||||
s16 mgBattleStarMax;
|
s16 mgBattleStarMax;
|
||||||
u8 lbl_801D3E94;
|
u8 lbl_801D3E94;
|
||||||
u32 mgRecordExtra;
|
u32 mgRecordExtra;
|
||||||
s32 mgQuitExtraF;
|
SHARED_SYM s32 mgQuitExtraF;
|
||||||
s32 mgPracticeEnableF;
|
SHARED_SYM s32 mgPracticeEnableF;
|
||||||
s32 mgInstExitEnableF;
|
s32 mgInstExitEnableF;
|
||||||
u8 mgBoardHostEnableF;
|
SHARED_SYM u8 mgBoardHostEnableF;
|
||||||
|
|
||||||
s16 mgTicTacToeGrid[3][3];
|
s16 mgTicTacToeGrid[3][3];
|
||||||
u8 mgIndexList[256];
|
u8 mgIndexList[256];
|
||||||
|
|
|
||||||
|
|
@ -27,13 +27,13 @@ static void SLKillSaveWin(void);
|
||||||
|
|
||||||
extern u8 UnMountCnt;
|
extern u8 UnMountCnt;
|
||||||
|
|
||||||
CARDFileInfo curFileInfo;
|
SHARED_SYM CARDFileInfo curFileInfo;
|
||||||
SaveBufAll saveBuf;
|
SHARED_SYM SaveBufAll saveBuf;
|
||||||
|
|
||||||
u64 SLSerialNo;
|
u64 SLSerialNo;
|
||||||
s32 saveExecF;
|
s32 saveExecF;
|
||||||
u8 curBoxNo;
|
u8 curBoxNo;
|
||||||
s16 curSlotNo;
|
SHARED_SYM s16 curSlotNo;
|
||||||
|
|
||||||
#if VERSION_JP
|
#if VERSION_JP
|
||||||
static u8 commentTbl[2][32] = { "マリオパーティ4", "??月??日 データ?です。" };
|
static u8 commentTbl[2][32] = { "マリオパーティ4", "??月??日 データ?です。" };
|
||||||
|
|
@ -42,7 +42,7 @@ static u8 sjisNumTbl[20] = "0123456789";
|
||||||
static u8 commentTbl[2][32] = { "Mario Party 4", "File 0 00/00/0000" };
|
static u8 commentTbl[2][32] = { "Mario Party 4", "File 0 00/00/0000" };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
char *SaveFileNameTbl[] = { "MARIPA4BOX0", "MARIPA4BOX1", "MARIPA4BOX2" };
|
SHARED_SYM char *SaveFileNameTbl[] = { "MARIPA4BOX0", "MARIPA4BOX1", "MARIPA4BOX2" };
|
||||||
|
|
||||||
s32 SaveEnableF = 1;
|
s32 SaveEnableF = 1;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -686,6 +686,15 @@ s32 msmMusSetParam(s32 arg0, MSM_MUSPARAM* arg1)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void msmMusSetMasterVolume(s32 vol)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 msmSysGetOutputMode(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
s32 HuSoftResetButtonCheck(void)
|
s32 HuSoftResetButtonCheck(void)
|
||||||
{
|
{
|
||||||
//puts("HuSoftResetButtonCheck is a stub");
|
//puts("HuSoftResetButtonCheck is a stub");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue