Fix armem bug

This commit is contained in:
dbalatoni13 2025-04-12 21:05:05 +02:00
parent 0250682281
commit c133583b3b
11 changed files with 804 additions and 112 deletions

View file

@ -103,7 +103,7 @@ set(GAME_FILES
src/game/malloc.c
src/game/mapspace.c
src/game/memory.c
# src/game/messdata.c
src/game/messdata.c
src/game/minigame_seq.c
src/game/objdll.c
src/game/objmain.c
@ -151,7 +151,7 @@ endif ()
add_library(dol SHARED ${DOLPHIN_FILES} ${GAME_FILES} ${PORT_FILES})
target_compile_definitions(dol PRIVATE TARGET_PC TARGET_DOL VERSION=${VERSION} MUSY_VERSION_MAJOR=1 MUSY_VERSION_MINOR=5 MUSY_VERSION_PATCH=4)
target_compile_definitions(dol PRIVATE TARGET_PC NON_MATCHING TARGET_DOL VERSION=${VERSION} MUSY_VERSION_MAJOR=1 MUSY_VERSION_MINOR=5 MUSY_VERSION_PATCH=4)
target_include_directories(dol PRIVATE include build/GMPE01_00/include)
target_link_libraries(dol PRIVATE aurora::core aurora::gx aurora::vi musyx)
if (MSVC)
@ -166,7 +166,7 @@ else ()
endif ()
add_executable(marioparty4 src/port/portmain.c)
target_compile_definitions(marioparty4 PRIVATE TARGET_PC VERSION=${VERSION})
target_compile_definitions(marioparty4 PRIVATE TARGET_PC NON_MATCHING VERSION=${VERSION})
target_include_directories(marioparty4 PRIVATE include)
target_link_libraries(marioparty4 PRIVATE dol aurora::main)
@ -178,7 +178,7 @@ foreach (dir ${REL_DIRS})
if (REL_FILES)
add_library(${dir} SHARED ${REL_FILES})
target_compile_definitions(${dir} PRIVATE TARGET_PC VERSION=${VERSION})
target_compile_definitions(${dir} PRIVATE TARGET_PC NON_MATCHING VERSION=${VERSION})
target_include_directories(${dir} PRIVATE include build/GMPE01_00/include)
if (MSVC)
set_target_properties(${dir} PROPERTIES LINK_FLAGS "/EXPORT:ObjectSetup")

657
dol.def
View file

@ -2,6 +2,376 @@ EXPORTS
game_main
byteswap_u32
byteswap_s32
BoardRollExec
BoardRollKill
BoardDiceValueSet
BoardDiceStop
BoardDicePauseAll
BoardDiceDoneCheck
BoardObjectSetup
BoardStoryConfigSet
BoardPartyConfigSet
BoardSaveInit
BoardMGExit
BoardDAngleCalcVec
BoardDAngleCalc
BoardVecMaxDistXZCheck
BoardIsKill
BoardKill
BoardCameraScissorSet
BoardCameraViewSet
BoardCameraDirGet
BoardCameraPointDirGet
BoardCameraMoveSet
BoardCameraQuakeSet
BoardCameraQuakeReset
BoardCameraTargetSet
BoardCameraPosGet
BoardCameraTargetGet
BoardCameraRotGet
BoardCameraZoomGet
BoardCameraPosSet
BoardCameraXRotZoomSet
BoardCameraZoomSet
BoardCameraRotSet
BoardCameraFovSet
BoardCameraOffsetSet
BoardCameraTargetPlayerSet
BoardCameraTargetModelSet
BoardCameraTargetSpaceSet
BoardCameraCullCheck
BoardCameraMotionIsDone
BoardCameraMotionStartEx
BoardCameraMotionStart
BoardCameraMotionWait
BoardCameraNearFarSet
BoardCameraNearFarGet
BoardEventFlagSet
BoardEventFlagReset
BoardEventFlagGet
BoardMGCreate
BoardDAngleCalcRange
BoardVecDistXZCalc
BoardVecMinDistCheck
BoardArcSin
BoardArcCos
BoardMTXCalcLookAt
BoardLightSetExec
BoardLightResetExec
BoardLightHookSet
BoardMGDoneFlagSet
BoardMGDoneFlagGet
BoardMGSetupExec
BoardFilterFadeOut
BoardFilterFadeInit
BoardFilterFadePauseCheck
BoardFilterFadeCheck
BoardConfettiCreate
BoardConfettiKill
BoardConfettiStop
BoardRand
BoardRandMod
BoardRandFloat
boardRandSeed
BoardViewMoveCheck
BoardViewMoveEnd
BoardViewFocusGetPos
BoardViewMoveStart
BoardViewFocusSet
boardTurnFunc
boardStarShowNextHook
boardBowserHook
boardTurnStartFunc
boardStarGiveHook
boardMainProc
boardObjMan
BoardItemStart
BoardCharWheelInit
BoardCharWheelCheck
BoardCharWheelWait
BoardCharWheelResultGet
BoardCharWheelSpeedSet
BoardSpaceInit
BoardSpaceDestroy
BoardSpaceLandExec
BoardSpaceWalkEventFuncSet
BoardSpaceWalkMiniEventFuncSet
BoardSpaceLandEventFuncSet
BoardSpaceWalkEventExec
BoardSpaceWalkMiniEventExec
BoardSpaceBlockExec
BoardSpaceWalkExec
BoardSpaceCameraSet
BoardSpaceCornerPosGet
BoardSpaceStarGetRandom
BoardSpaceCountGet
BoardSpaceGet
BoardSpaceFlagPosGet
BoardSpaceFlagGet
BoardSpaceLinkTypeSearch
BoardSpacePosGet
BoardSpaceRotGet
BoardSpaceRead
BoardSpaceAttrReset
BoardSpaceAttrSet
BoardSpaceLinkTargetListGet
BoardSpaceFlagSearch
BoardSpaceTypeGet
BoardSpaceTypeSet
BoardSpaceLinkFlagSearch
BoardSpaceLinkTypeListGet
BoardSpaceLinkTransformGet
BoardSpaceHide
BoardSpaceStarCheck
BoardSpaceStarMove
BoardSpaceStarSetIndex
BoardSpaceStarGetCurr
BoardSpaceStarGet
BoardStarHostSet
BoardStarHostMdlGet
BoardBooHouseHostSet
BoardBooHouseHostGet
BoardLotteryHostSet
BoardLotteryHostGet
BoardShopHostSet
BoardShopHostGet
BoardPauseActiveCheck
BoardLotteryInit
BoardLotteryKill
BoardLotteryExec
BoardBooHouseCreate
BoardBooHouseKill
BoardBooHouseExec
BoardLandBlueExec
BoardLandRedExec
BoardWarpExec
BoardMushroomExec
BoardStarExec
BoardStarGive
BoardBattleExec
BoardShopInit
BoardShopKill
BoardShopExec
BoardModelInit
BoardModelKillAll
BoardModelDummyUpdate
BoardModelVisibilityUpdate
BoardModelKill
BoardModelExistCheck
BoardModelExistDupe
BoardModelIDGet
BoardModelAlphaSet
BoardModelMotionStart
BoardModelMotionShiftSet
BoardModelAttrSet
BoardModelAttrReset
BoardModelMotionTimeSet
BoardModelMotionSpeedSet
BoardModelMotionSpeedGet
BoardModelMotionStartEndSet
BoardModelMotionUpdateSet
BoardModelMotionShapeSet
BoardModelMotionShapeTimeGet
BoardModelMotionShapeMaxTimeGet
BoardModelMotionShapeSpeedSet
BoardModelMotionShapeSpeedGet
BoardModelMotionShapeEndCheck
BoardModelMotionShapeStartEndSet
BoardModelMtxSet
BoardModelMtxGet
BoardModelPosSetV
BoardModelRotSetV
BoardModelScaleSetV
BoardModelPosSet
BoardModelRotSet
BoardModelScaleSet
BoardModelPosGet
BoardModelRotGet
BoardModelScaleGet
fn_8006DDE8
BoardModelVisibilitySet
BoardModelVisibilityGet
BoardModelLayerSet
BoardModelCameraSet
BoardModelPassSet
fn_8006DC1C
BoardModelHookSet
BoardModelHookReset
BoardModelHookObjReset
BoardModelMotionEndCheck
BoardModelMotionTimeGet
BoardModelMotionMaxTimeGet
BoardModelMotionCreate
BoardModelMotionKill
BoardModelCreate
BoardModelCreateCharacter
BoardModelCreateParam
BoardModelLayerSetAll
BoardModelCameraSetAll
BoardModelHideSetAll
BoardModelAmbSet
BoardModelAmbSetAll
BoardModelRotYSet
BoardModelRotYGet
BoardModelVoiceEnableSet
BoardPlayerModelInit
BoardPlayerModelKill
BoardPlayerInit
BoardPlayerGetCharMess
BoardPlayerGetCharName
BoardPlayerLayerSet
BoardPlayerCameraSet
fn_80062A40
BoardPlayerExistCheck
BoardPlayerMtxSet
BoardPlayerPosSet
BoardPlayerPosSetV
BoardPlayerPosGet
BoardPlayerRotSet
BoardPlayerRotSetV
BoardPlayerRotGet
BoardPlayerRotYSet
BoardPlayerRotYGet
BoardPlayerScaleSet
BoardPlayerScaleSetV
BoardPlayerScaleGet
BoardPlayerCornerPosSet
BoardPlayerCornerPosGet
BoardPlayerSizeGet
BoardPlayerSizeSet
BoardPlayerCurrMotionGet
BoardPlayerMotionEndCheck
BoardPlayerMotionEndWait
BoardPlayerMotionMaxTimeGet
BoardPlayerMotionTimeGet
BoardPlayerVoiceEnableSet
BoardPlayerMotionStart
BoardPlayerMotionShiftSet
BoardPlayerMotionCreate
BoardPlayerMotionKill
BoardPlayerMotionSpeedSet
BoardPlayerMotionTimeSet
BoardPlayerMotionStartEndSet
BoardPlayerModelAttrSet
BoardPlayerModelAttrReset
BoardPlayerAmbSet
BoardPlayerIdleSet
BoardPlayerMotBlendSet
BoardPlayerMotBlendCheck
BoardPlayerRankCalc
BoardItemPrevGet
BoardItemPrevSet
BoardPlayerItemRemove
BoardPlayerItemFind
BoardPlayerItemAdd
BoardPlayerItemCount
BoardPlayerCoinsAdd
BoardPlayerCoinsGet
BoardPlayerCoinsSet
BoardPlayerStarsAdd
BoardPlayerSameTeamFind
BoardPlayerPosLerpStart
BoardPlayerMoveToAsync
BoardPlayerDiceJumpStart
BoardPlayerDiceJumpCheck
BoardRollCreate
BoardRollUpdateSet
BoardRollDispSet
BoardPlayerBtnDownWait
BoardPlayerAutoSizeSet
BoardPlayerAutoSizeGet
BoardPlayerMoveAwayIsDone
BoardPlayerMoveAwayStartCurr
BoardPlayerMoveAwayStart
BoardPlayerPreTurnHookSet
BoardPlayerPostTurnHookSet
BoardPlayerCopyEyeMat
BoardBowserSuitInit
BoardBowserSuitKill
BoardBowserSuitModelGet
BoardBowserSuitPlayerModelGet
BoardBowserSuitPlayerModelKill
BoardBowserSuitMotionSetWait
BoardBowserSuitMotionSetWalk
BoardBowserSuitMotionSetWin
BoardBowserSuitMotionSetJump
BoardJunctionMaskSet
BoardJunctionMaskReset
BoardJunctionMaskZero
BoardPlayerResizeAnimExec
BoardWinCreate
BoardWinCreateChoice
BoardWinChoiceGet
BoardWinWait
BoardWinKill
BoardWinInit
BoardWinKillAll
BoardWinUnusedArraySet
BoardWinPause
BoardWinInsertMesSet
BoardWinAttrSet
BoardWinAttrReset
BoardWinChoiceDisable
BoardWinKeyWait
BoardWinSpeedGet
BoardWinSpeedSet
BoardWinPriSet
BoardWinChoiceNowGet
BoardWinChoiceNowGet2
BoardStatusCreate
BoardStatusKill
BoardStatusVisibleGet
BoardStatusShowSet
BoardStatusShowSetForce
BoardStatusGraySet
BoardStatusShowSetAll
BoardStatusStopCheck
BoardSpriteCreate
BoardStatusTargetPosSet
BoardStatusPosSet
BoardStatusPosGet
BoardStatusItemHideSet
BoardStatusHammerCreate
BoardStatusHammerKill
BoardStatusHammerShowSet
BoardPickerCreate
BoardPickerDoneCheck
BoardPickerChoiceGet
BoardPickerPosGet
BoardPickerBackFlagSet
BoardItemGetDestPos
BoardItemUseExec
BoardItemStatusKill
BoardYourTurnExec
BoardMusStart
BoardAudSeqFadeOutFast
BoardAudSeqFadeOut
BoardMusLoudSet
BoardMusVolPanSet
BoardAudSeqPause
BoardMusStatusGet
BoardAudSeqFadeOutAll
BoardAudFXPlay
BoardAudFXStop
BoardComKeySetLeft
BoardComKeySetUp
BoardComKeySetRight
BoardComKeySetDown
BoardComPreferItemCheck
BoardComPreferItemGet
BoardComFarPlayerFind
boardTutorialData
BoardTutorialHookSet
BoardRollTutorialSet
BoardTutorialDirInputSet
BoardCharWheelTargetSet
BoardTutorialBlockSetPos
BoardTutorialItemSet
BoardTutorialHostSet
BoardMGSetupTutorialExec
BoardShopTutorialExec
BoardLotteryTutorialExec
BoardBooHouseTutorialExec
espAttrReset
espAttrSet
espBankSet
@ -19,8 +389,6 @@ EXPORTS
espSpeedSet
espTPLvlSet
espZRotSet
OSReport
OSGetTick
HuAudFXPlay
HuAudSStreamAllFadeOut
HuAudSStreamPlay
@ -29,16 +397,206 @@ EXPORTS
HuMemDirectFree
HuDataSelHeapReadNum
HuDecodeData
Hu3DBGColorSet
Hu3DLayerHookSet
Hu3DNoSyncSet
Hu3DModelCreate
Hu3DModelLink
Hu3DHookFuncCreate
Hu3DModelPosSet
Hu3DModelPosSetV
Hu3DModelRotSet
Hu3DModelRotSetV
Hu3DModelScaleSet
Hu3DModelScaleSetV
Hu3DModelKill
Hu3DModelAllKill
Hu3DModelAttrSet
Hu3DModelAttrReset
Hu3DModelAttrGet
Hu3DModelMotionAttrGet
Hu3DBGColorSet
Hu3DModelCameraSet
Hu3DModelLayerSet
Hu3DModelTPLvlSet
Hu3DModelHookSet
Hu3DModelHookReset
Hu3DModelHookObjReset
Hu3DModelAmbSet
Hu3DModelShadowDispOn
Hu3DModelShadowDispOff
Hu3DModelProjectionSet
Hu3DModelProjectionReset
Hu3DModelObjPosGet
Hu3DModelObjMtxGet
Hu3DModelHiliteTypeSet
Hu3DModelReflectTypeSet
Hu3DModelHiliteMapSet
HuPadInit
HuPadRead
HuPadRumbleSet
HuPadRumbleStop
HuPadRumbleAllStop
HuPadStatGet
HuPadRumbleGet
Hu3DCameraCreate
Hu3DCameraPerspectiveSet
Hu3DCameraViewportSet
Hu3DCameraScissorSet
Hu3DCameraPosSet
Hu3DCameraKill
Hu3DCameraPosSetV
Hu3DCameraAllKill
Hu3DCameraSet
Hu3DCameraMotionOn
Hu3DCameraMotionStart
Hu3DCameraMotionOff
Hu3DModelCameraCreate
Hu3DModelCameraInfoSet
Hu3DLighInit
Hu3DGLightCreate
Hu3DGLightCreateV
Hu3DGLightKill
Hu3DLightAllKill
Hu3DLightSet
Hu3DGLightSpotSet
Hu3DGLightInfinitytSet
Hu3DGLightPointSet
Hu3DGLightColorSet
Hu3DGLightPosSetV
Hu3DGLightPosSet
Hu3DGLightPosAimSetV
Hu3DGLightPosAimSet
Hu3DGLightStaticSet
Hu3DModelLightInfoSet
Hu3DReflectMapSet
Hu3DReflectNoSet
Hu3DFogSet
Hu3DFogClear
Hu3DModelObjPtrGet
Hu3DModelShadowSet
Hu3DModelShadowReset
Hu3DShadowCreate
Hu3DShadowPosSet
Hu3DShadowTPLvlSet
Hu3DModelShadowMapSet
Hu3DModelShadowMapObjSet
Hu3DShadowSizeSet
Hu3DMipMapSet
Hu3DModelClusterAttrSet
Hu3DModelClusterAttrReset
Hu3DLLightCreate
Hu3DLLightCreateV
Hu3DLLightSpotSet
Hu3DLLightInfinitytSet
Hu3DLLightPointSet
Hu3DLLightKill
Hu3DLLightColorSet
Hu3DLLightPosSetV
Hu3DLLightPosSet
Hu3DLLightPosAimSetV
Hu3DLLightPosAimSet
Hu3DLLightStaticSet
Hu3DAnimInit
Hu3DAnimCreate
Hu3DAnimLink
Hu3DAnimKill
Hu3DAnimAllKill
Hu3DAnimSet
Hu3DAnimExec
Hu3DAnimAttrSet
Hu3DAnimAttrReset
Hu3DAnimSpeedSet
Hu3DAnimBankSet
Hu3DAnmNoSet
Hu3DTexScrollCreate
Hu3DTexScrollPosSet
Hu3DTexScrollPosMoveSet
Hu3DTexScrollRotSet
Hu3DTexScrollRotMoveSet
Hu3DTexScrollKill
Hu3DTexScrollAllKill
Hu3DTexScrollPauseDisableSet
Hu3DParticleCreate
Hu3DParticleScaleSet
Hu3DParticleZRotSet
Hu3DParticleColSet
Hu3DParticleTPLvlSet
Hu3DParticleBlendModeSet
Hu3DParticleHookSet
Hu3DParticleCntSet
Hu3DParticleAttrSet
Hu3DParticleAttrReset
Hu3DParticleAnimModeSet
Hu3DParManInit
Hu3DParManCreate
Hu3DParManKill
Hu3DParManAllKill
Hu3DParManPtrGet
Hu3DParManAttrSet
Hu3DParManAttrReset
Hu3DParManPosSet
Hu3DParManVecSet
Hu3DParManRotSet
Hu3DParManModelIDGet
Hu3DParManLink
Hu3DParManTimeLimitSet
Hu3DParManColorSet
Hu3DMotionCreate
Hu3DMotionInit
Hu3DMotionModelCreate
Hu3DMotionKill
Hu3DMotionAllKill
Hu3DMotionSet
Hu3DMotionExec
Hu3DSubMotionExec
Hu3DMotionNext
Hu3DMotionTimeSet
Hu3DMotionTimeGet
Hu3DMotionMaxTimeGet
Hu3DMotionStartEndSet
Hu3DMotionMotionMaxTimeGet
Hu3DMotionEndCheck
Hu3DMotionShiftSet
Hu3DMotionIDGet
Hu3DMotionShiftIDGet
Hu3DMotionShiftTimeGet
Hu3DMotionShiftMaxTimeGet
Hu3DMotionShiftStartEndSet
Hu3DMotionShiftSpeedSet
Hu3DMotionSpeedSet
Hu3DMotionShapeSpeedSet
Hu3DMotionShapeTimeSet
Hu3DMotionNoMotSet
Hu3DMotionNoMotReset
Hu3DMotionForceSet
Hu3DMotionShapeSet
Hu3DMotionShapeIDGet
Hu3DMotionShapeMaxTimeGet
Hu3DMotionClusterSet
Hu3DMotionClusterNoSet
Hu3DMotionShapeReset
Hu3DMotionClusterReset
Hu3DJointMotion
Hu3DMotionOverlaySet
Hu3DMotionOverlayReset
Hu3DMotionOverlayTimeGet
Hu3DMotionOverlayTimeSet
Hu3DMotionOverlaySpeedSet
Hu3DModelObjDrawInit
Hu3DModelObjDraw
Hu3DMotionCalc
Hu3DMotionShapeStartEndSet
CamMotionEx
CamMotionEx2
Hu3D2Dto3D
Hu3D3Dto2D
Hu3DMtxRotGet
Hu3DMtxTransGet
Hu3DMtxScaleGet
Hu3DProjectionCreate
Hu3DProjectionPosSet
Hu3DProjectionTPLvlSet
Hu3DProjectionKill
HuPrcEnd
HuPrcCreate
HuPrcCurrentGet
@ -57,22 +615,107 @@ EXPORTS
HuSprScaleSet
HuSprTPLvlSet
HuSubVecF
HuTHPSprCreateVol
HuTHPSprCreate
HuTHP3DCreateVol
HuTHP3DCreate
HuTHPStop
HuTHPClose
HuTHPRestart
HuTHPEndCheck
HuTHPFrameGet
HuTHPTotalFrameGet
HuTHPSetVolume
HuWindowInit
HuWinInit
HuWinCreate
HuWinKill
HuWinHomeClear
HuWinPriSet
HuWinAllKill
HuWinMesSet
HuWinInsertMesSet
HuWinChoiceGet
HuWinChoiceNumGet
HuWinMesWait
HuWinSprKill
HuWinMesRead
HuWinAnimSet
HuWinSprSet
HuWinSprPosSet
HuWinSprIDGet
HuWinMesMaxSizeGet
HuWinInsertMesSizeGet
HuWinMesMaxSizeBetGet
HuWinExCreate
HuWinDispOn
HuWinDispOff
HuWinExAnimIn
HuWinExAnimOut
HuWinExCleanup
HuWinExAnimPopIn
HuWinComKeyWait
HuWinComKeySet
HuWinComKeyReset
HuWinDrawNoSet
HuWinAttrSet
HuWinAttrReset
HuWinBGTPLvlSet
HuWinMesSpeedSet
HuWinMesSet
HuWinMesMaxSizeBetGet
HuWinBGColSet
HuWinChoiceDisable
HuWinKeyWaitEntry
HuWinCenterPosSet
HuWinPosSet
HuWinZRotSet
HuWinScaleSet
HuWinChoiceNowGet
HuWinStatGet
HuWinMesColSet
HuWinScissorSet
HuWinExCreateStyled
HuWinPriSet
HuWinSprPriSet
HuWinKeyWaitNumGet
HuWinMesSizeCancelCRSet
HuWinMesPalSet
HuWinHomeClear
HuWinPushKeySet
HuWinDisablePlayerSet
HuWinDisablePlayerReset
CharManInit
CharARAMOpen
CharKill
CharModelKill
CharKillAll
CharModelCreate
CharModelMotionCreate
CharModelMotionIndexSet
CharModelMotionKill
CharModelMotionDataClose
CharModelDataClose
CharAMemPtrGet
CharModelMotionSet
CharModelMotionTimeSet
CharModelMotionTimeGet
CharModelMotionMaxTimeGet
CharModelMotionEndCheck
CharModelMotionShiftIDGet
CharModelMotionShiftSet
CharModelMotionShiftTimeGet
CharModelMotionSpeedSet
CharModelLayerSetAll
CharModelItemHookCreate
CharModelEffectCreate
CharModelCoinEffectCreate
MGSeqInit
MGSeqCreate
MGSeqPosSet
omOvlCallEx
omOvlReturnEx
omOvlHisChg
omOvlHisGet
omInitObjMan
OSGetTick
OSReport
WipeColorSet
WipeCreate
WipeExecAlways

View file

@ -20,7 +20,7 @@ extern "C" {
#define ARQ_PRIORITY_LOW 0
#define ARQ_PRIORITY_HIGH 1
typedef void (*ARQCallback)(u32 pointerToARQRequest);
typedef void (*ARQCallback)(uintptr_t pointerToARQRequest);
typedef struct ARQRequest {
@ -37,7 +37,7 @@ typedef struct ARQRequest {
void ARQInit(void);
void ARQReset(void);
void ARQPostRequest(ARQRequest* task, u32 owner, u32 type, u32 priority, u32 source, u32 dest,
void ARQPostRequest(ARQRequest* task, u32 owner, u32 type, u32 priority, uintptr_t source, uintptr_t dest,
u32 length, ARQCallback callback);
void ARQRemoveRequest(ARQRequest* task);
void ARQRemoveOwnerRequest(u32 owner);

View file

@ -126,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;
}
@ -162,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);
@ -270,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)) {
@ -280,16 +272,12 @@ 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();
HuSprGrpKill(group_thp);
if (!skip_wait) {
@ -344,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
}
}
}

View file

@ -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;
@ -272,7 +277,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;

View file

@ -3,6 +3,8 @@
#include "game/process.h"
#include "dolphin/dvd.h"
#include "port/byteswap.h"
#define PTR_OFFSET(ptr, offset) (void *)(((u8 *)(ptr)+(u32)(offset)))
#define DATA_EFF_SIZE(size) (((size)+1) & ~0x1)
@ -22,7 +24,12 @@ static FileListEntry DataDirStat[] = {
u32 DirDataSize;
static u32 DataDirMax;
static s32 shortAccessSleep;
static DataReadStat ATTRIBUTE_ALIGN(32) ReadDataStat[DATA_MAX_READSTAT];
static DataReadStat ATTRIBUTE_ALIGN(32)
#if TARGET_PC
ReadDataStat[DATA_MAX_READSTAT + 1]; // to avoid bug
#else
ReadDataStat[DATA_MAX_READSTAT];
#endif
void HuDataInit(void)
{

View file

@ -2,6 +2,7 @@
#include "game/data.h"
#include "game/gamework_data.h"
#include "game/object.h"
#include "game/pad.h"
#include "game/window.h"

View file

@ -1,13 +1,17 @@
#include "game/audio.h"
#include "game/object.h"
#include "game/hsfman.h"
#include "game/pad.h"
#include "game/objsub.h"
#include "game/minigame_seq.h"
#include "game/sprite.h"
#include "game/hsfman.h"
#include "game/audio.h"
#include "ext_math.h"
#ifndef __MWERKS__
void MGSeqPauseKill(void);
#include "game/wipe.h"
#endif
Vec CRot;
Vec Center;
float CZoom;

View file

@ -17,8 +17,7 @@ BOOL ARCheckInit()
u32 ARGetSize()
{
// TODO
return 0x8000;
return sizeof(ARAM);
}
void ARStartDMA(u32 type, u32 mainmem_addr, u32 aram_addr, u32 length)

View file

@ -5,7 +5,7 @@
extern u8 ARAM[16 * 1024 * 1024];
void ARQPostRequest(ARQRequest *task, u32 owner, u32 type, u32 priority,
u32 source, u32 dest, u32 length, ARQCallback callback)
uintptr_t source, uintptr_t dest, u32 length, ARQCallback callback)
{
printf("ARQPostRequest: 0x%X, 0x%X, 0x%X\n",
(unsigned int)source, (unsigned int)dest, (unsigned int)length);
@ -13,11 +13,11 @@ void ARQPostRequest(ARQRequest *task, u32 owner, u32 type, u32 priority,
{
case ARQ_TYPE_MRAM_TO_ARAM:
memcpy(ARAM + dest, (void *)source, length);
callback((u32)task);
callback((uintptr_t)task);
break;
case ARQ_TYPE_ARAM_TO_MRAM:
memcpy((void *)dest, ARAM + source, length);
callback((u32)task);
callback((uintptr_t)task);
break;
}
}

View file

@ -692,5 +692,56 @@ s32 HuSoftResetButtonCheck(void)
return 0;
}
s16 HuTHPSprCreateVol(char *path, s16 loop, s16 prio, float volume)
{
return 0;
}
s16 HuTHPSprCreate(char *path, s16 loop, s16 prio)
{
return 0;
}
s16 HuTHP3DCreateVol(char *path, s16 loop, float volume)
{
return 0;
}
s16 HuTHP3DCreate(char *path, s16 loop)
{
return 0;
}
void HuTHPStop(void)
{
}
void HuTHPClose(void)
{
}
void HuTHPRestart(void)
{
}
BOOL HuTHPEndCheck(void)
{
return TRUE;
}
s32 HuTHPFrameGet(void)
{
return 0;
}
s32 HuTHPTotalFrameGet(void)
{
return 0;
}
void HuTHPSetVolume(s32 left, s32 right)
{
}
// TODO remove
u8 fadeStat = 0;