Implemented rel building and loading
This commit is contained in:
parent
3b31d9fcfc
commit
d3b45cf2b4
14 changed files with 1045 additions and 922 deletions
|
|
@ -40,27 +40,32 @@ set(DOLPHIN_FILES
|
||||||
|
|
||||||
set(GAME_FILES
|
set(GAME_FILES
|
||||||
src/game/armem.c
|
src/game/armem.c
|
||||||
|
src/game/audio.c
|
||||||
src/game/card.c
|
src/game/card.c
|
||||||
src/game/ClusterExec.c
|
src/game/ClusterExec.c
|
||||||
src/game/data.c
|
src/game/data.c
|
||||||
src/game/decode.c
|
src/game/decode.c
|
||||||
src/game/dvd.c
|
src/game/dvd.c
|
||||||
src/game/EnvelopeExec.c
|
src/game/EnvelopeExec.c
|
||||||
|
src/game/esprite.c
|
||||||
src/game/fault.c
|
src/game/fault.c
|
||||||
src/game/flag.c
|
src/game/flag.c
|
||||||
src/game/font.c
|
src/game/font.c
|
||||||
src/game/frand.c
|
src/game/frand.c
|
||||||
|
src/game/gamework.c
|
||||||
src/game/hsfanim.c
|
src/game/hsfanim.c
|
||||||
src/game/hsfdraw.c
|
src/game/hsfdraw.c
|
||||||
src/game/hsfex.c
|
src/game/hsfex.c
|
||||||
src/game/hsfload.c
|
src/game/hsfload.c
|
||||||
src/game/hsfman.c
|
src/game/hsfman.c
|
||||||
src/game/hsfmotion.c
|
src/game/hsfmotion.c
|
||||||
src/game/gamework.c
|
src/game/init.c
|
||||||
src/game/main.c
|
src/game/main.c
|
||||||
src/game/malloc.c
|
src/game/malloc.c
|
||||||
src/game/memory.c
|
src/game/memory.c
|
||||||
src/game/init.c
|
src/game/objdll.c
|
||||||
|
src/game/objmain.c
|
||||||
|
src/game/ovllist.c
|
||||||
src/game/ShapeExec.c
|
src/game/ShapeExec.c
|
||||||
src/game/sprman.c
|
src/game/sprman.c
|
||||||
src/game/sprput.c
|
src/game/sprput.c
|
||||||
|
|
@ -94,8 +99,20 @@ set_source_files_properties(${file} PROPERTIES COMPILE_FLAGS "-std=c89 -Dinline=
|
||||||
endforeach()
|
endforeach()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -rdynamic")
|
||||||
|
|
||||||
add_executable(marioparty4 ${DOLPHIN_FILES} ${GAME_FILES} ${PORT_FILES})
|
add_executable(marioparty4 ${DOLPHIN_FILES} ${GAME_FILES} ${PORT_FILES})
|
||||||
target_compile_definitions(marioparty4 PRIVATE TARGET_PC VERSION=0)
|
set_property(TARGET marioparty4 PROPERTY ENABLE_EXPORTS ON)
|
||||||
|
target_compile_definitions(marioparty4 PRIVATE TARGET_PC VERSION=0 TARGET_MAIN)
|
||||||
target_compile_definitions(musyx PRIVATE MUSY_VERSION_MAJOR=1 MUSY_VERSION_MINOR=5 MUSY_VERSION_PATCH=4)
|
target_compile_definitions(musyx PRIVATE MUSY_VERSION_MAJOR=1 MUSY_VERSION_MINOR=5 MUSY_VERSION_PATCH=4)
|
||||||
target_include_directories(marioparty4 PRIVATE include build/GMPE01_00/include)
|
target_include_directories(marioparty4 PRIVATE include build/GMPE01_00/include)
|
||||||
|
if (MSVC)
|
||||||
|
target_link_options(marioparty4 PRIVATE "/DEF:${CMAKE_SOURCE_DIR}/dol.def")
|
||||||
|
endif ()
|
||||||
target_link_libraries(marioparty4 PRIVATE aurora::aurora aurora::main musyx)
|
target_link_libraries(marioparty4 PRIVATE aurora::aurora aurora::main musyx)
|
||||||
|
|
||||||
|
add_library(bootDll SHARED src/REL/bootDll/main.c src/REL/bootDll/language.c)
|
||||||
|
target_compile_definitions(marioparty4 PRIVATE TARGET_PC VERSION=0 TARGET_REL)
|
||||||
|
target_include_directories(bootDll PRIVATE include build/GMPE01_00/include)
|
||||||
|
set_target_properties(bootDll PROPERTIES LINK_FLAGS "/EXPORT:ObjectSetup")
|
||||||
|
target_link_libraries(bootDll PRIVATE musyx marioparty4)
|
||||||
|
|
|
||||||
27
dol.def
Normal file
27
dol.def
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
EXPORTS
|
||||||
|
OSReport
|
||||||
|
OSGetTick
|
||||||
|
HuMemDirectMalloc
|
||||||
|
HuMemDirectFree
|
||||||
|
HuDataSelHeapReadNum
|
||||||
|
HuDecodeData
|
||||||
|
Hu3DBGColorSet
|
||||||
|
Hu3DModelCreate
|
||||||
|
Hu3DModelAttrSet
|
||||||
|
Hu3DModelAttrReset
|
||||||
|
Hu3DCameraCreate
|
||||||
|
Hu3DCameraPerspectiveSet
|
||||||
|
Hu3DCameraViewportSet
|
||||||
|
Hu3DCameraPosSet
|
||||||
|
Hu3DModelCameraInfoSet
|
||||||
|
Hu3DModelLightInfoSet
|
||||||
|
HuPrcEnd
|
||||||
|
HuPrcCreate
|
||||||
|
HuPrcCurrentGet
|
||||||
|
HuPrcSleep
|
||||||
|
HuPrcVSleep
|
||||||
|
omOvlCallEx
|
||||||
|
omOvlReturnEx
|
||||||
|
omOvlHisChg
|
||||||
|
omOvlHisGet
|
||||||
|
omInitObjMan
|
||||||
|
|
@ -225,7 +225,7 @@ BOOL OSRestoreInterrupts(BOOL level);
|
||||||
|
|
||||||
#endif // _DEBUG
|
#endif // _DEBUG
|
||||||
|
|
||||||
void OSReport(const char *msg, ...);
|
__declspec(dllexport) void OSReport(const char *msg, ...);
|
||||||
void OSPanic(const char *file, int line, const char *msg, ...);
|
void OSPanic(const char *file, int line, const char *msg, ...);
|
||||||
void OSFatal(GXColor fg, GXColor bg, const char *msg);
|
void OSFatal(GXColor fg, GXColor bg, const char *msg);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -145,13 +145,13 @@ typedef struct game_stat {
|
||||||
/* 0x110 */ PauseBackupConfig party_pause;
|
/* 0x110 */ PauseBackupConfig party_pause;
|
||||||
} GameStat;
|
} GameStat;
|
||||||
|
|
||||||
extern s16 GwLanguage;
|
SHARED_SYM extern s16 GwLanguage;
|
||||||
extern s16 GwLanguageSave;
|
SHARED_SYM extern s16 GwLanguageSave;
|
||||||
|
|
||||||
extern PlayerConfig GWPlayerCfg[4];
|
SHARED_SYM extern PlayerConfig GWPlayerCfg[4];
|
||||||
extern PlayerState GWPlayer[4];
|
SHARED_SYM extern PlayerState GWPlayer[4];
|
||||||
extern SystemState GWSystem;
|
SHARED_SYM extern SystemState GWSystem;
|
||||||
extern GameStat GWGameStat;
|
SHARED_SYM extern GameStat GWGameStat;
|
||||||
|
|
||||||
static inline s32 GWPlayerCfgGroupGet(s32 player)
|
static inline s32 GWPlayerCfgGroupGet(s32 player)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
#include "game/process.h"
|
#include "game/process.h"
|
||||||
#include "game/dvd.h"
|
#include "game/dvd.h"
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#define OM_DLL_MAX 20
|
#define OM_DLL_MAX 20
|
||||||
|
|
||||||
#define OVL_DEFINE(name, path) name,
|
#define OVL_DEFINE(name, path) name,
|
||||||
|
|
@ -60,9 +64,14 @@ typedef struct om_obj_data {
|
||||||
|
|
||||||
typedef struct om_dll_data {
|
typedef struct om_dll_data {
|
||||||
char *name;
|
char *name;
|
||||||
|
#if _WIN32
|
||||||
|
HMODULE hModule;
|
||||||
|
#else
|
||||||
OSModuleHeader *module;
|
OSModuleHeader *module;
|
||||||
void *bss;
|
void *bss;
|
||||||
s32 ret;
|
s32 ret;
|
||||||
|
#endif
|
||||||
|
|
||||||
} omDllData;
|
} omDllData;
|
||||||
|
|
||||||
void omMasterInit(s32 prio, FileListEntry *ovl_list, s32 ovl_count, OverlayID start_ovl);
|
void omMasterInit(s32 prio, FileListEntry *ovl_list, s32 ovl_count, OverlayID start_ovl);
|
||||||
|
|
@ -112,26 +121,26 @@ void omSysPauseCtrl(s16 flag);
|
||||||
extern omObjData *omDBGSysKeyObj;
|
extern omObjData *omDBGSysKeyObj;
|
||||||
extern Process *omwatchproc;
|
extern Process *omwatchproc;
|
||||||
extern OverlayID omnextovl;
|
extern OverlayID omnextovl;
|
||||||
extern OverlayID omcurovl;
|
SHARED_SYM extern OverlayID omcurovl;
|
||||||
extern s32 omcurdll;
|
extern s32 omcurdll;
|
||||||
extern s32 omovlhisidx;
|
SHARED_SYM extern s32 omovlhisidx;
|
||||||
extern s32 omovlevtno;
|
SHARED_SYM extern s32 omovlevtno;
|
||||||
extern s32 omnextovlevtno;
|
extern s32 omnextovlevtno;
|
||||||
extern u32 omovlstat;
|
SHARED_SYM extern u32 omovlstat;
|
||||||
extern char omUPauseFlag;
|
extern char omUPauseFlag;
|
||||||
extern s16 omSysExitReq;
|
SHARED_SYM extern s16 omSysExitReq;
|
||||||
extern s16 omdispinfo;
|
extern s16 omdispinfo;
|
||||||
extern u8 omSysPauseEnableFlag;
|
extern u8 omSysPauseEnableFlag;
|
||||||
extern OverlayID omprevovl;
|
extern OverlayID omprevovl;
|
||||||
|
|
||||||
extern omDllData *omDLLinfoTbl[OM_DLL_MAX];
|
extern omDllData *omDLLinfoTbl[OM_DLL_MAX];
|
||||||
|
|
||||||
extern Vec CRot;
|
SHARED_SYM extern Vec CRot;
|
||||||
extern Vec Center;
|
SHARED_SYM extern Vec Center;
|
||||||
extern float CZoom;
|
SHARED_SYM extern float CZoom;
|
||||||
extern Vec CRotM[16];
|
SHARED_SYM extern Vec CRotM[16];
|
||||||
extern Vec CenterM[16];
|
SHARED_SYM extern Vec CenterM[16];
|
||||||
extern float CZoomM[16];
|
SHARED_SYM extern float CZoomM[16];
|
||||||
extern s16 omDBGMenuButton;
|
SHARED_SYM extern s16 omDBGMenuButton;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1,108 +1,108 @@
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
|
||||||
OVL_DEFINE(OVL__MINI, "dll/_minigameDLL.rel")
|
OVL_DEFINE(OVL__MINI, "_minigameDLL")
|
||||||
OVL_DEFINE(OVL_BOOT, "dll/bootdll.rel")
|
OVL_DEFINE(OVL_BOOT, "bootdll")
|
||||||
OVL_DEFINE(OVL_E3SETUP, "dll/e3setupDLL.rel")
|
OVL_DEFINE(OVL_E3SETUP, "e3setupDLL")
|
||||||
OVL_DEFINE(OVL_INST, "dll/instdll.rel")
|
OVL_DEFINE(OVL_INST, "instdll")
|
||||||
OVL_DEFINE(OVL_M300, "dll/m300dll.rel")
|
OVL_DEFINE(OVL_M300, "m300dll")
|
||||||
OVL_DEFINE(OVL_M302, "dll/m302dll.rel")
|
OVL_DEFINE(OVL_M302, "m302dll")
|
||||||
OVL_DEFINE(OVL_M303, "dll/m303dll.rel")
|
OVL_DEFINE(OVL_M303, "m303dll")
|
||||||
OVL_DEFINE(OVL_M330, "dll/m330dll.rel")
|
OVL_DEFINE(OVL_M330, "m330dll")
|
||||||
OVL_DEFINE(OVL_M333, "dll/m333dll.rel")
|
OVL_DEFINE(OVL_M333, "m333dll")
|
||||||
OVL_DEFINE(OVL_M401, "dll/m401dll.rel")
|
OVL_DEFINE(OVL_M401, "m401dll")
|
||||||
OVL_DEFINE(OVL_M402, "dll/m402dll.rel")
|
OVL_DEFINE(OVL_M402, "m402dll")
|
||||||
OVL_DEFINE(OVL_M403, "dll/m403dll.rel")
|
OVL_DEFINE(OVL_M403, "m403dll")
|
||||||
OVL_DEFINE(OVL_M404, "dll/m404dll.rel")
|
OVL_DEFINE(OVL_M404, "m404dll")
|
||||||
OVL_DEFINE(OVL_M405, "dll/m405dll.rel")
|
OVL_DEFINE(OVL_M405, "m405dll")
|
||||||
OVL_DEFINE(OVL_M406, "dll/m406dll.rel")
|
OVL_DEFINE(OVL_M406, "m406dll")
|
||||||
OVL_DEFINE(OVL_M407, "dll/m407dll.rel")
|
OVL_DEFINE(OVL_M407, "m407dll")
|
||||||
OVL_DEFINE(OVL_M408, "dll/m408dll.rel")
|
OVL_DEFINE(OVL_M408, "m408dll")
|
||||||
OVL_DEFINE(OVL_M409, "dll/m409dll.rel")
|
OVL_DEFINE(OVL_M409, "m409dll")
|
||||||
OVL_DEFINE(OVL_M410, "dll/m410dll.rel")
|
OVL_DEFINE(OVL_M410, "m410dll")
|
||||||
OVL_DEFINE(OVL_M411, "dll/m411dll.rel")
|
OVL_DEFINE(OVL_M411, "m411dll")
|
||||||
OVL_DEFINE(OVL_M412, "dll/m412dll.rel")
|
OVL_DEFINE(OVL_M412, "m412dll")
|
||||||
OVL_DEFINE(OVL_M413, "dll/m413dll.rel")
|
OVL_DEFINE(OVL_M413, "m413dll")
|
||||||
OVL_DEFINE(OVL_M414, "dll/m414dll.rel")
|
OVL_DEFINE(OVL_M414, "m414dll")
|
||||||
OVL_DEFINE(OVL_M415, "dll/m415dll.rel")
|
OVL_DEFINE(OVL_M415, "m415dll")
|
||||||
OVL_DEFINE(OVL_M416, "dll/m416dll.rel")
|
OVL_DEFINE(OVL_M416, "m416dll")
|
||||||
OVL_DEFINE(OVL_M417, "dll/m417dll.rel")
|
OVL_DEFINE(OVL_M417, "m417dll")
|
||||||
OVL_DEFINE(OVL_M418, "dll/m418dll.rel")
|
OVL_DEFINE(OVL_M418, "m418dll")
|
||||||
OVL_DEFINE(OVL_M419, "dll/m419dll.rel")
|
OVL_DEFINE(OVL_M419, "m419dll")
|
||||||
OVL_DEFINE(OVL_M420, "dll/m420dll.rel")
|
OVL_DEFINE(OVL_M420, "m420dll")
|
||||||
OVL_DEFINE(OVL_M421, "dll/m421dll.rel")
|
OVL_DEFINE(OVL_M421, "m421dll")
|
||||||
OVL_DEFINE(OVL_M422, "dll/m422dll.rel")
|
OVL_DEFINE(OVL_M422, "m422dll")
|
||||||
OVL_DEFINE(OVL_M423, "dll/m423dll.rel")
|
OVL_DEFINE(OVL_M423, "m423dll")
|
||||||
OVL_DEFINE(OVL_M424, "dll/m424dll.rel")
|
OVL_DEFINE(OVL_M424, "m424dll")
|
||||||
OVL_DEFINE(OVL_M425, "dll/m425dll.rel")
|
OVL_DEFINE(OVL_M425, "m425dll")
|
||||||
OVL_DEFINE(OVL_M426, "dll/m426dll.rel")
|
OVL_DEFINE(OVL_M426, "m426dll")
|
||||||
OVL_DEFINE(OVL_M427, "dll/m427dll.rel")
|
OVL_DEFINE(OVL_M427, "m427dll")
|
||||||
OVL_DEFINE(OVL_M428, "dll/m428dll.rel")
|
OVL_DEFINE(OVL_M428, "m428dll")
|
||||||
OVL_DEFINE(OVL_M429, "dll/m429dll.rel")
|
OVL_DEFINE(OVL_M429, "m429dll")
|
||||||
OVL_DEFINE(OVL_M430, "dll/m430dll.rel")
|
OVL_DEFINE(OVL_M430, "m430dll")
|
||||||
OVL_DEFINE(OVL_M431, "dll/m431dll.rel")
|
OVL_DEFINE(OVL_M431, "m431dll")
|
||||||
OVL_DEFINE(OVL_M432, "dll/m432dll.rel")
|
OVL_DEFINE(OVL_M432, "m432dll")
|
||||||
OVL_DEFINE(OVL_M433, "dll/m433dll.rel")
|
OVL_DEFINE(OVL_M433, "m433dll")
|
||||||
OVL_DEFINE(OVL_M434, "dll/m434dll.rel")
|
OVL_DEFINE(OVL_M434, "m434dll")
|
||||||
OVL_DEFINE(OVL_M435, "dll/m435dll.rel")
|
OVL_DEFINE(OVL_M435, "m435dll")
|
||||||
OVL_DEFINE(OVL_M436, "dll/m436dll.rel")
|
OVL_DEFINE(OVL_M436, "m436dll")
|
||||||
OVL_DEFINE(OVL_M437, "dll/m437dll.rel")
|
OVL_DEFINE(OVL_M437, "m437dll")
|
||||||
OVL_DEFINE(OVL_M438, "dll/m438dll.rel")
|
OVL_DEFINE(OVL_M438, "m438dll")
|
||||||
OVL_DEFINE(OVL_M439, "dll/m439dll.rel")
|
OVL_DEFINE(OVL_M439, "m439dll")
|
||||||
OVL_DEFINE(OVL_M440, "dll/m440dll.rel")
|
OVL_DEFINE(OVL_M440, "m440dll")
|
||||||
OVL_DEFINE(OVL_M441, "dll/m441dll.rel")
|
OVL_DEFINE(OVL_M441, "m441dll")
|
||||||
OVL_DEFINE(OVL_M442, "dll/m442dll.rel")
|
OVL_DEFINE(OVL_M442, "m442dll")
|
||||||
OVL_DEFINE(OVL_M443, "dll/m443dll.rel")
|
OVL_DEFINE(OVL_M443, "m443dll")
|
||||||
OVL_DEFINE(OVL_M444, "dll/m444dll.rel")
|
OVL_DEFINE(OVL_M444, "m444dll")
|
||||||
OVL_DEFINE(OVL_M445, "dll/m445dll.rel")
|
OVL_DEFINE(OVL_M445, "m445dll")
|
||||||
OVL_DEFINE(OVL_M446, "dll/m446dll.rel")
|
OVL_DEFINE(OVL_M446, "m446dll")
|
||||||
OVL_DEFINE(OVL_M447, "dll/m447dll.rel")
|
OVL_DEFINE(OVL_M447, "m447dll")
|
||||||
OVL_DEFINE(OVL_M448, "dll/m448dll.rel")
|
OVL_DEFINE(OVL_M448, "m448dll")
|
||||||
OVL_DEFINE(OVL_M449, "dll/m449dll.rel")
|
OVL_DEFINE(OVL_M449, "m449dll")
|
||||||
OVL_DEFINE(OVL_M450, "dll/m450dll.rel")
|
OVL_DEFINE(OVL_M450, "m450dll")
|
||||||
OVL_DEFINE(OVL_M451, "dll/m451dll.rel")
|
OVL_DEFINE(OVL_M451, "m451dll")
|
||||||
OVL_DEFINE(OVL_M453, "dll/m453dll.rel")
|
OVL_DEFINE(OVL_M453, "m453dll")
|
||||||
OVL_DEFINE(OVL_M455, "dll/m455dll.rel")
|
OVL_DEFINE(OVL_M455, "m455dll")
|
||||||
OVL_DEFINE(OVL_M456, "dll/m456dll.rel")
|
OVL_DEFINE(OVL_M456, "m456dll")
|
||||||
OVL_DEFINE(OVL_M457, "dll/m457dll.rel")
|
OVL_DEFINE(OVL_M457, "m457dll")
|
||||||
OVL_DEFINE(OVL_M458, "dll/m458dll.rel")
|
OVL_DEFINE(OVL_M458, "m458dll")
|
||||||
OVL_DEFINE(OVL_M459, "dll/m459dll.rel")
|
OVL_DEFINE(OVL_M459, "m459dll")
|
||||||
OVL_DEFINE(OVL_M460, "dll/m460dll.rel")
|
OVL_DEFINE(OVL_M460, "m460dll")
|
||||||
OVL_DEFINE(OVL_M461, "dll/m461dll.rel")
|
OVL_DEFINE(OVL_M461, "m461dll")
|
||||||
OVL_DEFINE(OVL_M462, "dll/m462dll.rel")
|
OVL_DEFINE(OVL_M462, "m462dll")
|
||||||
OVL_DEFINE(OVL_M463, "dll/m463dll.rel")
|
OVL_DEFINE(OVL_M463, "m463dll")
|
||||||
OVL_DEFINE(OVL_MENT, "dll/mentdll.rel")
|
OVL_DEFINE(OVL_MENT, "mentdll")
|
||||||
#if VERSION_JP
|
#if VERSION_JP
|
||||||
OVL_DEFINE(OVL_MGMODE, "dll/mgmodedll.rel")
|
OVL_DEFINE(OVL_MGMODE, "mgmodedll")
|
||||||
OVL_DEFINE(OVL_MODELTEST, "dll/modeltestdll.rel")
|
OVL_DEFINE(OVL_MODELTEST, "modeltestdll")
|
||||||
OVL_DEFINE(OVL_MODESEL, "dll/modeseldll.rel")
|
OVL_DEFINE(OVL_MODESEL, "modeseldll")
|
||||||
OVL_DEFINE(OVL_MOVIE, "dll/moviedll.rel")
|
OVL_DEFINE(OVL_MOVIE, "moviedll")
|
||||||
#else
|
#else
|
||||||
OVL_DEFINE(OVL_MESS, "dll/messdll.rel")
|
OVL_DEFINE(OVL_MESS, "messdll")
|
||||||
OVL_DEFINE(OVL_MGMODE, "dll/mgmodedll.rel")
|
OVL_DEFINE(OVL_MGMODE, "mgmodedll")
|
||||||
OVL_DEFINE(OVL_MODELTEST, "dll/modeltestdll.rel")
|
OVL_DEFINE(OVL_MODELTEST, "modeltestdll")
|
||||||
OVL_DEFINE(OVL_MODESEL, "dll/modeseldll.rel")
|
OVL_DEFINE(OVL_MODESEL, "modeseldll")
|
||||||
#endif
|
#endif
|
||||||
OVL_DEFINE(OVL_MPEX, "dll/mpexdll.rel")
|
OVL_DEFINE(OVL_MPEX, "mpexdll")
|
||||||
OVL_DEFINE(OVL_MSETUP, "dll/msetupdll.rel")
|
OVL_DEFINE(OVL_MSETUP, "msetupdll")
|
||||||
OVL_DEFINE(OVL_MSTORY2, "dll/mstory2dll.rel")
|
OVL_DEFINE(OVL_MSTORY2, "mstory2dll")
|
||||||
OVL_DEFINE(OVL_MSTORY3, "dll/mstory3dll.rel")
|
OVL_DEFINE(OVL_MSTORY3, "mstory3dll")
|
||||||
OVL_DEFINE(OVL_MSTORY4, "dll/mstory4dll.rel")
|
OVL_DEFINE(OVL_MSTORY4, "mstory4dll")
|
||||||
OVL_DEFINE(OVL_MSTORY, "dll/mstorydll.rel")
|
OVL_DEFINE(OVL_MSTORY, "mstorydll")
|
||||||
OVL_DEFINE(OVL_NIS, "dll/nisdll.rel")
|
OVL_DEFINE(OVL_NIS, "nisdll")
|
||||||
OVL_DEFINE(OVL_OPTION, "dll/option.rel")
|
OVL_DEFINE(OVL_OPTION, "option")
|
||||||
OVL_DEFINE(OVL_PRESENT, "dll/present.rel")
|
OVL_DEFINE(OVL_PRESENT, "present")
|
||||||
OVL_DEFINE(OVL_RESULT, "dll/resultdll.rel")
|
OVL_DEFINE(OVL_RESULT, "resultdll")
|
||||||
OVL_DEFINE(OVL_SAF, "dll/safdll.rel")
|
OVL_DEFINE(OVL_SAF, "safdll")
|
||||||
OVL_DEFINE(OVL_SELMENU, "dll/selmenuDLL.rel")
|
OVL_DEFINE(OVL_SELMENU, "selmenuDLL")
|
||||||
OVL_DEFINE(OVL_STAFF, "dll/staffdll.rel")
|
OVL_DEFINE(OVL_STAFF, "staffdll")
|
||||||
OVL_DEFINE(OVL_SUBCHRSEL, "dll/subchrseldll.rel")
|
OVL_DEFINE(OVL_SUBCHRSEL, "subchrseldll")
|
||||||
OVL_DEFINE(OVL_W01, "dll/w01dll.rel")
|
OVL_DEFINE(OVL_W01, "w01dll")
|
||||||
OVL_DEFINE(OVL_W02, "dll/w02dll.rel")
|
OVL_DEFINE(OVL_W02, "w02dll")
|
||||||
OVL_DEFINE(OVL_W03, "dll/w03dll.rel")
|
OVL_DEFINE(OVL_W03, "w03dll")
|
||||||
OVL_DEFINE(OVL_W04, "dll/w04dll.rel")
|
OVL_DEFINE(OVL_W04, "w04dll")
|
||||||
OVL_DEFINE(OVL_W05, "dll/w05dll.rel")
|
OVL_DEFINE(OVL_W05, "w05dll")
|
||||||
OVL_DEFINE(OVL_W06, "dll/w06dll.rel")
|
OVL_DEFINE(OVL_W06, "w06dll")
|
||||||
OVL_DEFINE(OVL_W10, "dll/w10dll.rel")
|
OVL_DEFINE(OVL_W10, "w10dll")
|
||||||
OVL_DEFINE(OVL_W20, "dll/w20dll.rel")
|
OVL_DEFINE(OVL_W20, "w20dll")
|
||||||
OVL_DEFINE(OVL_W21, "dll/w21dll.rel")
|
OVL_DEFINE(OVL_W21, "w21dll")
|
||||||
OVL_DEFINE(OVL_ZTAR, "dll/ztardll.rel")
|
OVL_DEFINE(OVL_ZTAR, "ztardll")
|
||||||
|
|
|
||||||
|
|
@ -21,4 +21,15 @@
|
||||||
#define REFRESH_RATE 60
|
#define REFRESH_RATE 60
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if _WIN32
|
||||||
|
#ifdef TARGET_MAIN
|
||||||
|
#define SHARED_SYM __declspec(dllexport)
|
||||||
|
#else
|
||||||
|
#define SHARED_SYM __declspec(dllimport)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
#define SHARED_SYM
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -330,458 +330,458 @@ static void UpdateDemoMess(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if VERSION_NTSC
|
// #if VERSION_NTSC
|
||||||
|
|
||||||
static u16 progPosTbl[] = { 236, 313, 353, 313 };
|
// static u16 progPosTbl[] = { 236, 313, 353, 313 };
|
||||||
|
|
||||||
void BootProgExec(void)
|
// void BootProgExec(void)
|
||||||
{
|
// {
|
||||||
s16 i;
|
// s16 i;
|
||||||
s16 option;
|
// s16 option;
|
||||||
s16 group;
|
// s16 group;
|
||||||
s16 sprite;
|
// s16 sprite;
|
||||||
AnimData *data;
|
// AnimData *data;
|
||||||
option = 0;
|
// option = 0;
|
||||||
if (OSGetResetCode() != OS_RESET_RESTART) {
|
// if (OSGetResetCode() != OS_RESET_RESTART) {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
if (VIGetDTVStatus() != VI_NON_INTERLACE) {
|
// if (VIGetDTVStatus() != VI_NON_INTERLACE) {
|
||||||
OSSetProgressiveMode(OS_PROGRESSIVE_MODE_OFF);
|
// OSSetProgressiveMode(OS_PROGRESSIVE_MODE_OFF);
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
if (OSGetProgressiveMode() == OS_PROGRESSIVE_MODE_OFF && !(HU_PAD_BTN_ALL & PAD_BUTTON_B)) {
|
// if (OSGetProgressiveMode() == OS_PROGRESSIVE_MODE_OFF && !(HU_PAD_BTN_ALL & PAD_BUTTON_B)) {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
if (OSGetProgressiveMode() == OS_PROGRESSIVE_MODE_ON) {
|
// if (OSGetProgressiveMode() == OS_PROGRESSIVE_MODE_ON) {
|
||||||
VIConfigure(&GXNtsc480IntDf);
|
// VIConfigure(&GXNtsc480IntDf);
|
||||||
VIFlush();
|
// VIFlush();
|
||||||
}
|
// }
|
||||||
group = HuSprGrpCreate(3);
|
// group = HuSprGrpCreate(3);
|
||||||
data = HuSprAnimReadFile(TITLE_PROGRESSIVE_CHOOSE_ANM);
|
// data = HuSprAnimReadFile(TITLE_PROGRESSIVE_CHOOSE_ANM);
|
||||||
sprite = HuSprCreate(data, 0, 0);
|
// sprite = HuSprCreate(data, 0, 0);
|
||||||
HuSprGrpMemberSet(group, 0, sprite);
|
// HuSprGrpMemberSet(group, 0, sprite);
|
||||||
HuSprPosSet(group, 0, 288, 240);
|
// HuSprPosSet(group, 0, 288, 240);
|
||||||
data = HuSprAnimReadFile(TITLE_PROGRESSIVE_CURSOR_ON_ANM);
|
// data = HuSprAnimReadFile(TITLE_PROGRESSIVE_CURSOR_ON_ANM);
|
||||||
sprite = HuSprCreate(data, 0, 0);
|
// sprite = HuSprCreate(data, 0, 0);
|
||||||
HuSprGrpMemberSet(group, 1, sprite);
|
// HuSprGrpMemberSet(group, 1, sprite);
|
||||||
HuSprPosSet(group, 1, progPosTbl[option * 2], progPosTbl[(option * 2) + 1]);
|
// HuSprPosSet(group, 1, progPosTbl[option * 2], progPosTbl[(option * 2) + 1]);
|
||||||
data = HuSprAnimReadFile(TITLE_PROGRESSIVE_CURSOR_OFF_ANM);
|
// data = HuSprAnimReadFile(TITLE_PROGRESSIVE_CURSOR_OFF_ANM);
|
||||||
sprite = HuSprCreate(data, 0, 0);
|
// sprite = HuSprCreate(data, 0, 0);
|
||||||
HuSprGrpMemberSet(group, 2, sprite);
|
// HuSprGrpMemberSet(group, 2, sprite);
|
||||||
HuSprPosSet(group, 2, progPosTbl[option * 2], progPosTbl[(option * 2) + 1]);
|
// HuSprPosSet(group, 2, progPosTbl[option * 2], progPosTbl[(option * 2) + 1]);
|
||||||
HuSprAttrSet(group, 2, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(group, 2, HUSPR_ATTR_DISPOFF);
|
||||||
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30);
|
// WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30);
|
||||||
while (WipeStatGet()) {
|
// while (WipeStatGet()) {
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
for (i = 0; i < 600; i++) {
|
// for (i = 0; i < 600; i++) {
|
||||||
if (HU_PAD_DSTK_ALL & (PAD_BUTTON_LEFT | PAD_BUTTON_RIGHT)) {
|
// if (HU_PAD_DSTK_ALL & (PAD_BUTTON_LEFT | PAD_BUTTON_RIGHT)) {
|
||||||
option ^= 1;
|
// option ^= 1;
|
||||||
HuSprPosSet(group, 1, progPosTbl[option * 2], progPosTbl[(option * 2) + 1]);
|
// HuSprPosSet(group, 1, progPosTbl[option * 2], progPosTbl[(option * 2) + 1]);
|
||||||
i = 0;
|
// i = 0;
|
||||||
}
|
// }
|
||||||
if (HU_PAD_BTNDOWN_ALL & PAD_BUTTON_A) {
|
// if (HU_PAD_BTNDOWN_ALL & PAD_BUTTON_A) {
|
||||||
HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprPosSet(group, 2, progPosTbl[option * 2], progPosTbl[(option * 2) + 1]);
|
// HuSprPosSet(group, 2, progPosTbl[option * 2], progPosTbl[(option * 2) + 1]);
|
||||||
HuSprAttrReset(group, 2, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrReset(group, 2, HUSPR_ATTR_DISPOFF);
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20);
|
// WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20);
|
||||||
while (WipeStatGet()) {
|
// while (WipeStatGet()) {
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
if (!option) {
|
// if (!option) {
|
||||||
OSSetProgressiveMode(OS_PROGRESSIVE_MODE_ON);
|
// OSSetProgressiveMode(OS_PROGRESSIVE_MODE_ON);
|
||||||
VIConfigure(&GXNtsc480Prog);
|
// VIConfigure(&GXNtsc480Prog);
|
||||||
VIFlush();
|
// VIFlush();
|
||||||
HuPrcSleep(100);
|
// HuPrcSleep(100);
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
OSSetProgressiveMode(OS_PROGRESSIVE_MODE_OFF);
|
// OSSetProgressiveMode(OS_PROGRESSIVE_MODE_OFF);
|
||||||
}
|
// }
|
||||||
HuSprGrpKill(group);
|
// HuSprGrpKill(group);
|
||||||
group = HuSprGrpCreate(1);
|
// group = HuSprGrpCreate(1);
|
||||||
if (!option) {
|
// if (!option) {
|
||||||
data = HuSprAnimReadFile(TITLE_PROGRESSIVE_ON_ANM);
|
// data = HuSprAnimReadFile(TITLE_PROGRESSIVE_ON_ANM);
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
data = HuSprAnimReadFile(TITLE_PROGRESSIVE_OFF_ANM);
|
// data = HuSprAnimReadFile(TITLE_PROGRESSIVE_OFF_ANM);
|
||||||
}
|
// }
|
||||||
sprite = HuSprCreate(data, 0, 0);
|
// sprite = HuSprCreate(data, 0, 0);
|
||||||
HuSprGrpMemberSet(group, 0, sprite);
|
// HuSprGrpMemberSet(group, 0, sprite);
|
||||||
HuSprPosSet(group, 0, 288, 240);
|
// HuSprPosSet(group, 0, 288, 240);
|
||||||
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20);
|
// WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20);
|
||||||
while (WipeStatGet()) {
|
// while (WipeStatGet()) {
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
HuPrcSleep(60);
|
// HuPrcSleep(60);
|
||||||
for (i = 0; i < 180; i++) {
|
// for (i = 0; i < 180; i++) {
|
||||||
if (HU_PAD_BTNDOWN_ALL & PAD_BUTTON_A) {
|
// if (HU_PAD_BTNDOWN_ALL & PAD_BUTTON_A) {
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
|
// WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
|
||||||
while (WipeStatGet()) {
|
// while (WipeStatGet()) {
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
HuSprGrpKill(group);
|
// HuSprGrpKill(group);
|
||||||
HuPrcSleep(30);
|
// HuPrcSleep(30);
|
||||||
}
|
// }
|
||||||
|
|
||||||
#endif
|
// #endif
|
||||||
|
|
||||||
static u16 debugCamTbl[] = { 1, 2 };
|
// static u16 debugCamTbl[] = { 1, 2 };
|
||||||
|
|
||||||
void DebugCamOutView(omObjData *obj)
|
// void DebugCamOutView(omObjData *obj)
|
||||||
{
|
// {
|
||||||
s16 i;
|
// s16 i;
|
||||||
for (i = 0; i < 1; i++) {
|
// for (i = 0; i < 1; i++) {
|
||||||
Vec pos, target, up;
|
// Vec pos, target, up;
|
||||||
float x, y, z;
|
// float x, y, z;
|
||||||
|
|
||||||
x = debugCamRot[i].x;
|
// x = debugCamRot[i].x;
|
||||||
y = debugCamRot[i].y;
|
// y = debugCamRot[i].y;
|
||||||
z = debugCamRot[i].z;
|
// z = debugCamRot[i].z;
|
||||||
|
|
||||||
pos.x = (((sind(y) * cosd(x)) * debugCamZoom[i]) + debugCamPos[i].x);
|
// pos.x = (((sind(y) * cosd(x)) * debugCamZoom[i]) + debugCamPos[i].x);
|
||||||
pos.y = (-sind(x) * debugCamZoom[i]) + debugCamPos[i].y;
|
// pos.y = (-sind(x) * debugCamZoom[i]) + debugCamPos[i].y;
|
||||||
pos.z = ((cosd(y) * cosd(x)) * debugCamZoom[i]) + debugCamPos[i].z;
|
// pos.z = ((cosd(y) * cosd(x)) * debugCamZoom[i]) + debugCamPos[i].z;
|
||||||
target.x = debugCamPos[i].x;
|
// target.x = debugCamPos[i].x;
|
||||||
target.y = debugCamPos[i].y;
|
// target.y = debugCamPos[i].y;
|
||||||
target.z = debugCamPos[i].z;
|
// target.z = debugCamPos[i].z;
|
||||||
up.x = sind(y) * sind(x);
|
// up.x = sind(y) * sind(x);
|
||||||
up.y = cosd(x);
|
// up.y = cosd(x);
|
||||||
up.z = cosd(y) * sind(x);
|
// up.z = cosd(y) * sind(x);
|
||||||
Hu3DCameraPosSet(debugCamTbl[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z);
|
// Hu3DCameraPosSet(debugCamTbl[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
void DebugCamUpdate(omObjData *obj)
|
// void DebugCamUpdate(omObjData *obj)
|
||||||
{
|
// {
|
||||||
Vec pos;
|
// Vec pos;
|
||||||
Vec offset;
|
// Vec offset;
|
||||||
Vec dir;
|
// Vec dir;
|
||||||
Vec y_offset;
|
// Vec y_offset;
|
||||||
|
|
||||||
f32 z_rot;
|
// f32 z_rot;
|
||||||
s8 stick_pos;
|
// s8 stick_pos;
|
||||||
|
|
||||||
#if VERSION_NTSC
|
// #if VERSION_NTSC
|
||||||
if ((HuPadBtnDown[0] & 0x800)) {
|
// if ((HuPadBtnDown[0] & 0x800)) {
|
||||||
debugCamOnF = (debugCamOnF) ? 0 : 1;
|
// debugCamOnF = (debugCamOnF) ? 0 : 1;
|
||||||
}
|
// }
|
||||||
#endif
|
// #endif
|
||||||
if (debugCamOnF != 0) {
|
// if (debugCamOnF != 0) {
|
||||||
debugCamRot[0].y += 0.1f * HuPadStkX[0];
|
// debugCamRot[0].y += 0.1f * HuPadStkX[0];
|
||||||
debugCamRot[0].x += 0.1f * HuPadStkY[0];
|
// debugCamRot[0].x += 0.1f * HuPadStkY[0];
|
||||||
debugCamZoom[0] += HuPadTrigL[0] / 2;
|
// debugCamZoom[0] += HuPadTrigL[0] / 2;
|
||||||
debugCamZoom[0] -= HuPadTrigR[0] / 2;
|
// debugCamZoom[0] -= HuPadTrigR[0] / 2;
|
||||||
if (debugCamZoom[0] < 100.0f) {
|
// if (debugCamZoom[0] < 100.0f) {
|
||||||
debugCamZoom[0] = 100.0f;
|
// debugCamZoom[0] = 100.0f;
|
||||||
}
|
// }
|
||||||
pos.x = debugCamPos[0].x + (debugCamZoom[0] * (sind(debugCamRot[0].y) * cosd(debugCamRot[0].x)));
|
// pos.x = debugCamPos[0].x + (debugCamZoom[0] * (sind(debugCamRot[0].y) * cosd(debugCamRot[0].x)));
|
||||||
pos.y = (debugCamPos[0].y + (debugCamZoom[0] * -sind(debugCamRot[0].x)));
|
// pos.y = (debugCamPos[0].y + (debugCamZoom[0] * -sind(debugCamRot[0].x)));
|
||||||
pos.z = (debugCamPos[0].z + (debugCamZoom[0] * (cosd(debugCamRot[0].y) * cosd(debugCamRot[0].x))));
|
// pos.z = (debugCamPos[0].z + (debugCamZoom[0] * (cosd(debugCamRot[0].y) * cosd(debugCamRot[0].x))));
|
||||||
offset.x = debugCamPos[0].x - pos.x;
|
// offset.x = debugCamPos[0].x - pos.x;
|
||||||
offset.y = debugCamPos[0].y - pos.y;
|
// offset.y = debugCamPos[0].y - pos.y;
|
||||||
offset.z = debugCamPos[0].z - pos.z;
|
// offset.z = debugCamPos[0].z - pos.z;
|
||||||
dir.x = (sind(debugCamRot[0].y) * sind(debugCamRot[0].x));
|
// dir.x = (sind(debugCamRot[0].y) * sind(debugCamRot[0].x));
|
||||||
dir.y = cosd(debugCamRot[0].x);
|
// dir.y = cosd(debugCamRot[0].x);
|
||||||
dir.z = (cosd(debugCamRot[0].y) * sind(debugCamRot[0].x));
|
// dir.z = (cosd(debugCamRot[0].y) * sind(debugCamRot[0].x));
|
||||||
z_rot = debugCamRot[0].z;
|
// z_rot = debugCamRot[0].z;
|
||||||
y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot))
|
// y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot))
|
||||||
+ dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot))
|
// + dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot))
|
||||||
+ dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot));
|
// + dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot));
|
||||||
|
|
||||||
y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot))
|
// y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot))
|
||||||
+ dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot))
|
// + dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot))
|
||||||
+ dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot));
|
// + dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot));
|
||||||
|
|
||||||
y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot))
|
// y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot))
|
||||||
+ (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot))
|
// + (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot))
|
||||||
+ dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot)));
|
// + dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot)));
|
||||||
|
|
||||||
VECCrossProduct(&dir, &offset, &offset);
|
// VECCrossProduct(&dir, &offset, &offset);
|
||||||
VECNormalize(&offset, &offset);
|
// VECNormalize(&offset, &offset);
|
||||||
stick_pos = (HuPadSubStkX[0] & 0xF8);
|
// stick_pos = (HuPadSubStkX[0] & 0xF8);
|
||||||
if (stick_pos != 0) {
|
// if (stick_pos != 0) {
|
||||||
debugCamPos[0].x += 0.05f * (offset.x * stick_pos);
|
// debugCamPos[0].x += 0.05f * (offset.x * stick_pos);
|
||||||
debugCamPos[0].y += 0.05f * (offset.y * stick_pos);
|
// debugCamPos[0].y += 0.05f * (offset.y * stick_pos);
|
||||||
debugCamPos[0].z += 0.05f * (offset.z * stick_pos);
|
// debugCamPos[0].z += 0.05f * (offset.z * stick_pos);
|
||||||
}
|
// }
|
||||||
VECNormalize(&y_offset, &offset);
|
// VECNormalize(&y_offset, &offset);
|
||||||
stick_pos = -(HuPadSubStkY[0] & 0xF8);
|
// stick_pos = -(HuPadSubStkY[0] & 0xF8);
|
||||||
if (stick_pos != 0) {
|
// if (stick_pos != 0) {
|
||||||
debugCamPos[0].x += 0.05f * (offset.x * stick_pos);
|
// debugCamPos[0].x += 0.05f * (offset.x * stick_pos);
|
||||||
debugCamPos[0].y += 0.05f * (offset.y * stick_pos);
|
// debugCamPos[0].y += 0.05f * (offset.y * stick_pos);
|
||||||
debugCamPos[0].z += 0.05f * (offset.z * stick_pos);
|
// debugCamPos[0].z += 0.05f * (offset.z * stick_pos);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
void BootTitleCreate(void)
|
// void BootTitleCreate(void)
|
||||||
{
|
// {
|
||||||
s16 model;
|
// s16 model;
|
||||||
s16 sprite;
|
// s16 sprite;
|
||||||
AnimData *sprite_data;
|
// AnimData *sprite_data;
|
||||||
s16 i;
|
// s16 i;
|
||||||
titleMdlId[0] = model = Hu3DModelCreateFile(TITLE_CHAR_HSF);
|
// titleMdlId[0] = model = Hu3DModelCreateFile(TITLE_CHAR_HSF);
|
||||||
Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF);
|
// Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF);
|
||||||
Hu3DModelAttrSet(model, HU3D_MOTATTR_LOOP);
|
// Hu3DModelAttrSet(model, HU3D_MOTATTR_LOOP);
|
||||||
titleMdlId[1] = model = Hu3DModelCreateFile(TITLE_CUBE_HSF);
|
// titleMdlId[1] = model = Hu3DModelCreateFile(TITLE_CUBE_HSF);
|
||||||
Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF);
|
// Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF);
|
||||||
Hu3DModelAttrSet(model, HU3D_MOTATTR_LOOP);
|
// Hu3DModelAttrSet(model, HU3D_MOTATTR_LOOP);
|
||||||
titleMdlId[2] = model = Hu3DModelCreateFile(TITLE_SKY_HSF);
|
// titleMdlId[2] = model = Hu3DModelCreateFile(TITLE_SKY_HSF);
|
||||||
Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF);
|
// Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF);
|
||||||
Hu3DModelAttrSet(model, HU3D_MOTATTR_LOOP);
|
// Hu3DModelAttrSet(model, HU3D_MOTATTR_LOOP);
|
||||||
Hu3DModelCameraInfoSet(model, 1);
|
// Hu3DModelCameraInfoSet(model, 1);
|
||||||
Hu3DModelLightInfoSet(model, 1);
|
// Hu3DModelLightInfoSet(model, 1);
|
||||||
#if VERSION_NTSC
|
// #if VERSION_NTSC
|
||||||
bootGrpId = HuSprGrpCreate(4);
|
// bootGrpId = HuSprGrpCreate(4);
|
||||||
#else
|
// #else
|
||||||
bootGrpId = HuSprGrpCreate(13);
|
// bootGrpId = HuSprGrpCreate(13);
|
||||||
#endif
|
// #endif
|
||||||
sprite_data = HuSprAnimReadFile(TITLE_BG_ANM);
|
// sprite_data = HuSprAnimReadFile(TITLE_BG_ANM);
|
||||||
sprite = HuSprCreate(sprite_data, 0, 0);
|
// sprite = HuSprCreate(sprite_data, 0, 0);
|
||||||
HuSprGrpMemberSet(bootGrpId, 0, sprite);
|
// HuSprGrpMemberSet(bootGrpId, 0, sprite);
|
||||||
HuSprAttrSet(bootGrpId, 0, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 0, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprDrawNoSet(bootGrpId, 0, 127);
|
// HuSprDrawNoSet(bootGrpId, 0, 127);
|
||||||
HuSprPosSet(bootGrpId, 0, 288, 240);
|
// HuSprPosSet(bootGrpId, 0, 288, 240);
|
||||||
sprite_data = HuSprAnimReadFile(TITLE_COPYRIGHT_ANM);
|
// sprite_data = HuSprAnimReadFile(TITLE_COPYRIGHT_ANM);
|
||||||
sprite = HuSprCreate(sprite_data, 1, 0);
|
// sprite = HuSprCreate(sprite_data, 1, 0);
|
||||||
HuSprGrpMemberSet(bootGrpId, 1, sprite);
|
// HuSprGrpMemberSet(bootGrpId, 1, sprite);
|
||||||
HuSprAttrSet(bootGrpId, 1, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 1, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprPosSet(bootGrpId, 1, 288, 420);
|
// HuSprPosSet(bootGrpId, 1, 288, 420);
|
||||||
#if VERSION_NTSC
|
// #if VERSION_NTSC
|
||||||
sprite_data = HuSprAnimReadFile(TITLE_PRESS_START_ANM);
|
// sprite_data = HuSprAnimReadFile(TITLE_PRESS_START_ANM);
|
||||||
sprite = HuSprCreate(sprite_data, 2, 0);
|
// sprite = HuSprCreate(sprite_data, 2, 0);
|
||||||
HuSprGrpMemberSet(bootGrpId, 2, sprite);
|
// HuSprGrpMemberSet(bootGrpId, 2, sprite);
|
||||||
HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR);
|
// HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR);
|
||||||
HuSprPosSet(bootGrpId, 2, 288, 380);
|
// HuSprPosSet(bootGrpId, 2, 288, 380);
|
||||||
sprite_data = HuSprAnimReadFile(TITLE_LOGO_ANM);
|
// sprite_data = HuSprAnimReadFile(TITLE_LOGO_ANM);
|
||||||
sprite = HuSprCreate(sprite_data, 0, 0);
|
// sprite = HuSprCreate(sprite_data, 0, 0);
|
||||||
HuSprGrpMemberSet(bootGrpId, 3, sprite);
|
// HuSprGrpMemberSet(bootGrpId, 3, sprite);
|
||||||
HuSprAttrSet(bootGrpId, 3, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR);
|
// HuSprAttrSet(bootGrpId, 3, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR);
|
||||||
HuSprPosSet(bootGrpId, 3, 288, 200);
|
// HuSprPosSet(bootGrpId, 3, 288, 200);
|
||||||
#else
|
// #else
|
||||||
sprite_data = HuSprAnimReadFile(TITLE_LOGO_ANM);
|
// sprite_data = HuSprAnimReadFile(TITLE_LOGO_ANM);
|
||||||
sprite = HuSprCreate(sprite_data, 0, 0);
|
// sprite = HuSprCreate(sprite_data, 0, 0);
|
||||||
HuSprGrpMemberSet(bootGrpId, 2, sprite);
|
// HuSprGrpMemberSet(bootGrpId, 2, sprite);
|
||||||
HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR);
|
// HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR);
|
||||||
HuSprPosSet(bootGrpId, 2, 288, 200);
|
// HuSprPosSet(bootGrpId, 2, 288, 200);
|
||||||
for(i=0; i<5; i++) {
|
// for(i=0; i<5; i++) {
|
||||||
sprite_data = HuSprAnimReadFile(TITLE_PRESS_START_EN_ANM+i);
|
// sprite_data = HuSprAnimReadFile(TITLE_PRESS_START_EN_ANM+i);
|
||||||
sprite = HuSprCreate(sprite_data, 3+i, 0);
|
// sprite = HuSprCreate(sprite_data, 3+i, 0);
|
||||||
HuSprGrpMemberSet(bootGrpId, 3+i, sprite);
|
// HuSprGrpMemberSet(bootGrpId, 3+i, sprite);
|
||||||
HuSprAttrSet(bootGrpId, 3+i, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR);
|
// HuSprAttrSet(bootGrpId, 3+i, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR);
|
||||||
HuSprPosSet(bootGrpId, 3+i, 288, 340);
|
// HuSprPosSet(bootGrpId, 3+i, 288, 340);
|
||||||
}
|
// }
|
||||||
for(i=0; i<5; i++) {
|
// for(i=0; i<5; i++) {
|
||||||
sprite_data = HuSprAnimReadFile(TITLE_LANGUAGE_EN_ANM+i);
|
// sprite_data = HuSprAnimReadFile(TITLE_LANGUAGE_EN_ANM+i);
|
||||||
sprite = HuSprCreate(sprite_data, 8+i, 0);
|
// sprite = HuSprCreate(sprite_data, 8+i, 0);
|
||||||
HuSprGrpMemberSet(bootGrpId, 8+i, sprite);
|
// HuSprGrpMemberSet(bootGrpId, 8+i, sprite);
|
||||||
HuSprAttrSet(bootGrpId, 8+i, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR);
|
// HuSprAttrSet(bootGrpId, 8+i, HUSPR_ATTR_DISPOFF | HUSPR_ATTR_LINEAR);
|
||||||
HuSprPosSet(bootGrpId, 8+i, 288, 380);
|
// HuSprPosSet(bootGrpId, 8+i, 288, 380);
|
||||||
}
|
// }
|
||||||
#endif
|
// #endif
|
||||||
}
|
// }
|
||||||
|
|
||||||
BOOL BootTitleExec(void)
|
// BOOL BootTitleExec(void)
|
||||||
{
|
// {
|
||||||
float scale;
|
// float scale;
|
||||||
float scale_time;
|
// float scale_time;
|
||||||
int seNo[32];
|
// int seNo[32];
|
||||||
s16 pressStartMemberNo;
|
// s16 pressStartMemberNo;
|
||||||
s16 languageMemberNo;
|
// s16 languageMemberNo;
|
||||||
s16 i;
|
// s16 i;
|
||||||
s16 choice;
|
// s16 choice;
|
||||||
float temp;
|
// float temp;
|
||||||
repeat:
|
// repeat:
|
||||||
Hu3DModelAttrReset(titleMdlId[0], HU3D_ATTR_DISPOFF);
|
// Hu3DModelAttrReset(titleMdlId[0], HU3D_ATTR_DISPOFF);
|
||||||
Hu3DModelAttrReset(titleMdlId[1], HU3D_ATTR_DISPOFF);
|
// Hu3DModelAttrReset(titleMdlId[1], HU3D_ATTR_DISPOFF);
|
||||||
HuSprAttrReset(bootGrpId, 0, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrReset(bootGrpId, 0, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprAttrReset(bootGrpId, 1, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrReset(bootGrpId, 1, HUSPR_ATTR_DISPOFF);
|
||||||
OSReport(">>>>>>>>MSM_SE_SEL_01 %d\n", msmSeGetEntryID(2092, seNo));
|
// OSReport(">>>>>>>>MSM_SE_SEL_01 %d\n", msmSeGetEntryID(2092, seNo));
|
||||||
OSReport(">>>>>>>>SE Num %d\n", msmSeGetNumPlay(0));
|
// OSReport(">>>>>>>>SE Num %d\n", msmSeGetNumPlay(0));
|
||||||
HuAudSStreamPlay(20);
|
// HuAudSStreamPlay(20);
|
||||||
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30);
|
// WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30);
|
||||||
while (WipeStatGet()) {
|
// while (WipeStatGet()) {
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
#if VERSION_NTSC
|
// #if VERSION_NTSC
|
||||||
HuSprAttrReset(bootGrpId, 3, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrReset(bootGrpId, 3, HUSPR_ATTR_DISPOFF);
|
||||||
for (i = 1; i <= 50; i++) {
|
// for (i = 1; i <= 50; i++) {
|
||||||
scale = (cosd(i * 1.8) * 10.0) + 1.0;
|
// scale = (cosd(i * 1.8) * 10.0) + 1.0;
|
||||||
HuSprScaleSet(bootGrpId, 3, scale, scale);
|
// HuSprScaleSet(bootGrpId, 3, scale, scale);
|
||||||
HuSprTPLvlSet(bootGrpId, 3, i / 50.0);
|
// HuSprTPLvlSet(bootGrpId, 3, i / 50.0);
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
HuSprAttrReset(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrReset(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
||||||
#else
|
// #else
|
||||||
HuSprAttrReset(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrReset(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
||||||
for (i = 1; i <= 50; i++) {
|
// for (i = 1; i <= 50; i++) {
|
||||||
scale = (cosd(i * 1.8) * 10.0) + 1.0;
|
// scale = (cosd(i * 1.8) * 10.0) + 1.0;
|
||||||
HuSprScaleSet(bootGrpId, 2, scale, scale);
|
// HuSprScaleSet(bootGrpId, 2, scale, scale);
|
||||||
HuSprTPLvlSet(bootGrpId, 2, i / 50.0);
|
// HuSprTPLvlSet(bootGrpId, 2, i / 50.0);
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
if(GwLanguage == -1) {
|
// if(GwLanguage == -1) {
|
||||||
pressStartMemberNo = 3;
|
// pressStartMemberNo = 3;
|
||||||
languageMemberNo = 8;
|
// languageMemberNo = 8;
|
||||||
} else {
|
// } else {
|
||||||
pressStartMemberNo = GwLanguage+3-1;
|
// pressStartMemberNo = GwLanguage+3-1;
|
||||||
languageMemberNo = GwLanguage+8-1;
|
// languageMemberNo = GwLanguage+8-1;
|
||||||
}
|
// }
|
||||||
HuSprAttrReset(bootGrpId, pressStartMemberNo, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrReset(bootGrpId, pressStartMemberNo, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprAttrReset(bootGrpId, languageMemberNo, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrReset(bootGrpId, languageMemberNo, HUSPR_ATTR_DISPOFF);
|
||||||
for(i=1; i<=20; i++) {
|
// for(i=1; i<=20; i++) {
|
||||||
scale = sind(i*4.5);
|
// scale = sind(i*4.5);
|
||||||
HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale);
|
// HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale);
|
||||||
HuSprScaleSet(bootGrpId, languageMemberNo, scale*0.7, scale*0.7);
|
// HuSprScaleSet(bootGrpId, languageMemberNo, scale*0.7, scale*0.7);
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
choice = 0;
|
// choice = 0;
|
||||||
scale_time = 0;
|
// scale_time = 0;
|
||||||
#endif
|
// #endif
|
||||||
|
|
||||||
#if VERSION_NTSC
|
// #if VERSION_NTSC
|
||||||
for (i = scale_time = 0; i < 1800; i++) {
|
// for (i = scale_time = 0; i < 1800; i++) {
|
||||||
#else
|
// #else
|
||||||
for (i = temp = 0; i < 1800; i++) {
|
// for (i = temp = 0; i < 1800; i++) {
|
||||||
#endif
|
// #endif
|
||||||
#if VERSION_PAL
|
// #if VERSION_PAL
|
||||||
if((choice == 0 && (HuPadDStkRep[0] & PAD_BUTTON_DOWN)) || (choice != 0 && (HuPadDStkRep[0] & PAD_BUTTON_UP))) {
|
// if((choice == 0 && (HuPadDStkRep[0] & PAD_BUTTON_DOWN)) || (choice != 0 && (HuPadDStkRep[0] & PAD_BUTTON_UP))) {
|
||||||
HuAudFXPlay(0);
|
// HuAudFXPlay(0);
|
||||||
for(i=1; i<=10; i++) {
|
// for(i=1; i<=10; i++) {
|
||||||
scale = ((1-(i/10.0))*(((cosd(scale_time)*0.1)+0.9)-0.7))+0.7;
|
// scale = ((1-(i/10.0))*(((cosd(scale_time)*0.1)+0.9)-0.7))+0.7;
|
||||||
if(choice == 0) {
|
// if(choice == 0) {
|
||||||
HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale);
|
// HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale);
|
||||||
} else {
|
// } else {
|
||||||
HuSprScaleSet(bootGrpId, languageMemberNo, scale, scale);
|
// HuSprScaleSet(bootGrpId, languageMemberNo, scale, scale);
|
||||||
}
|
// }
|
||||||
scale = ((1-(i/10.0))*(((cosd(scale_time/3.0)*0.05)+0.65)-1.0))+1.0;
|
// scale = ((1-(i/10.0))*(((cosd(scale_time/3.0)*0.05)+0.65)-1.0))+1.0;
|
||||||
if(choice == 0) {
|
// if(choice == 0) {
|
||||||
HuSprScaleSet(bootGrpId, languageMemberNo, scale, scale);
|
// HuSprScaleSet(bootGrpId, languageMemberNo, scale, scale);
|
||||||
} else {
|
// } else {
|
||||||
HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale);
|
// HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale);
|
||||||
}
|
// }
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
choice ^= 1;
|
// choice ^= 1;
|
||||||
scale_time = 0;
|
// scale_time = 0;
|
||||||
}
|
// }
|
||||||
if (HuPadBtnDown[0] & (PAD_BUTTON_START|PAD_BUTTON_A)) {
|
// if (HuPadBtnDown[0] & (PAD_BUTTON_START|PAD_BUTTON_A)) {
|
||||||
if(choice == 0) {
|
// if(choice == 0) {
|
||||||
s32 ret = HuAudFXPlay(2092);
|
// s32 ret = HuAudFXPlay(2092);
|
||||||
if (ret < 0) {
|
// if (ret < 0) {
|
||||||
OSReport(">>>>>Error %d\n", ret);
|
// OSReport(">>>>>Error %d\n", ret);
|
||||||
}
|
// }
|
||||||
HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
||||||
return 1;
|
// return 1;
|
||||||
} else {
|
// } else {
|
||||||
HuAudFXPlay(1);
|
// HuAudFXPlay(1);
|
||||||
HuAudSStreamAllFadeOut(500);
|
// HuAudSStreamAllFadeOut(500);
|
||||||
WipeColorSet(255, 255, 255);
|
// WipeColorSet(255, 255, 255);
|
||||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
|
// WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
|
||||||
while (WipeStatGet()) {
|
// while (WipeStatGet()) {
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
Hu3DModelAttrSet(titleMdlId[0], HU3D_ATTR_DISPOFF);
|
// Hu3DModelAttrSet(titleMdlId[0], HU3D_ATTR_DISPOFF);
|
||||||
Hu3DModelAttrSet(titleMdlId[1], HU3D_ATTR_DISPOFF);
|
// Hu3DModelAttrSet(titleMdlId[1], HU3D_ATTR_DISPOFF);
|
||||||
Hu3DModelAttrSet(titleMdlId[2], HU3D_ATTR_DISPOFF);
|
// Hu3DModelAttrSet(titleMdlId[2], HU3D_ATTR_DISPOFF);
|
||||||
HuSprAttrSet(bootGrpId, 0, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 0, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprAttrSet(bootGrpId, 1, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 1, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
||||||
for(i=0; i<5; i++) {
|
// for(i=0; i<5; i++) {
|
||||||
HuSprAttrSet(bootGrpId, i+3, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, i+3, HUSPR_ATTR_DISPOFF);
|
||||||
}
|
// }
|
||||||
for(i=0; i<5; i++) {
|
// for(i=0; i<5; i++) {
|
||||||
HuSprAttrSet(bootGrpId, i+8, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, i+8, HUSPR_ATTR_DISPOFF);
|
||||||
}
|
// }
|
||||||
LanguageMenuExec();
|
// LanguageMenuExec();
|
||||||
Hu3DModelCameraInfoSet(titleMdlId[2], 1);
|
// Hu3DModelCameraInfoSet(titleMdlId[2], 1);
|
||||||
Hu3DModelLightInfoSet(titleMdlId[2], 1);
|
// Hu3DModelLightInfoSet(titleMdlId[2], 1);
|
||||||
HuWinInit(1);
|
// HuWinInit(1);
|
||||||
goto repeat;
|
// goto repeat;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
scale = (cosd(scale_time) * 0.1) + 0.9;
|
// scale = (cosd(scale_time) * 0.1) + 0.9;
|
||||||
if(choice == 0) {
|
// if(choice == 0) {
|
||||||
HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale);
|
// HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale);
|
||||||
} else {
|
// } else {
|
||||||
HuSprScaleSet(bootGrpId, languageMemberNo, scale, scale);
|
// HuSprScaleSet(bootGrpId, languageMemberNo, scale, scale);
|
||||||
}
|
// }
|
||||||
scale = (cosd(scale_time/3.0) * 0.05) + 0.65;
|
// scale = (cosd(scale_time/3.0) * 0.05) + 0.65;
|
||||||
if(choice == 0) {
|
// if(choice == 0) {
|
||||||
HuSprScaleSet(bootGrpId, languageMemberNo, scale, scale);
|
// HuSprScaleSet(bootGrpId, languageMemberNo, scale, scale);
|
||||||
} else {
|
// } else {
|
||||||
HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale);
|
// HuSprScaleSet(bootGrpId, pressStartMemberNo, scale, scale);
|
||||||
}
|
// }
|
||||||
scale_time += 5;
|
// scale_time += 5;
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
#else
|
// #else
|
||||||
if (i <= 10) {
|
// if (i <= 10) {
|
||||||
HuSprTPLvlSet(bootGrpId, 2, i / 10.0);
|
// HuSprTPLvlSet(bootGrpId, 2, i / 10.0);
|
||||||
}
|
// }
|
||||||
if (HuPadBtnDown[0] & PAD_BUTTON_START) {
|
// if (HuPadBtnDown[0] & PAD_BUTTON_START) {
|
||||||
s32 ret = HuAudFXPlay(2092);
|
// s32 ret = HuAudFXPlay(2092);
|
||||||
if (ret < 0) {
|
// if (ret < 0) {
|
||||||
OSReport(">>>>>Error %d\n", ret);
|
// OSReport(">>>>>Error %d\n", ret);
|
||||||
}
|
// }
|
||||||
HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
||||||
return 1;
|
// return 1;
|
||||||
}
|
// }
|
||||||
scale = (sind(i * scale_time) * 0.1) + 0.9;
|
// scale = (sind(i * scale_time) * 0.1) + 0.9;
|
||||||
scale_time += 0.05;
|
// scale_time += 0.05;
|
||||||
if (scale_time > 5) {
|
// if (scale_time > 5) {
|
||||||
scale_time = 5;
|
// scale_time = 5;
|
||||||
}
|
// }
|
||||||
HuSprScaleSet(bootGrpId, 2, scale, scale);
|
// HuSprScaleSet(bootGrpId, 2, scale, scale);
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
#endif
|
// #endif
|
||||||
|
|
||||||
}
|
// }
|
||||||
WipeColorSet(255, 255, 255);
|
// WipeColorSet(255, 255, 255);
|
||||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
|
// WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
|
||||||
while (WipeStatGet()) {
|
// while (WipeStatGet()) {
|
||||||
HuPrcVSleep();
|
// HuPrcVSleep();
|
||||||
}
|
// }
|
||||||
Hu3DModelAttrSet(titleMdlId[0], HU3D_ATTR_DISPOFF);
|
// Hu3DModelAttrSet(titleMdlId[0], HU3D_ATTR_DISPOFF);
|
||||||
Hu3DModelAttrSet(titleMdlId[1], HU3D_ATTR_DISPOFF);
|
// Hu3DModelAttrSet(titleMdlId[1], HU3D_ATTR_DISPOFF);
|
||||||
Hu3DModelAttrSet(titleMdlId[2], HU3D_ATTR_DISPOFF);
|
// Hu3DModelAttrSet(titleMdlId[2], HU3D_ATTR_DISPOFF);
|
||||||
#if VERSION_NTSC
|
// #if VERSION_NTSC
|
||||||
HuSprAttrSet(bootGrpId, 0, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 0, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprAttrSet(bootGrpId, 1, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 1, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprAttrSet(bootGrpId, 3, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 3, HUSPR_ATTR_DISPOFF);
|
||||||
#else
|
// #else
|
||||||
HuSprAttrSet(bootGrpId, 0, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 0, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprAttrSet(bootGrpId, 1, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 1, HUSPR_ATTR_DISPOFF);
|
||||||
HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, 2, HUSPR_ATTR_DISPOFF);
|
||||||
for(i=0; i<5; i++) {
|
// for(i=0; i<5; i++) {
|
||||||
HuSprAttrSet(bootGrpId, i+3, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, i+3, HUSPR_ATTR_DISPOFF);
|
||||||
}
|
// }
|
||||||
for(i=0; i<5; i++) {
|
// for(i=0; i<5; i++) {
|
||||||
HuSprAttrSet(bootGrpId, i+8, HUSPR_ATTR_DISPOFF);
|
// HuSprAttrSet(bootGrpId, i+8, HUSPR_ATTR_DISPOFF);
|
||||||
}
|
// }
|
||||||
#endif
|
// #endif
|
||||||
return 0;
|
// return 0;
|
||||||
}
|
// }
|
||||||
|
|
||||||
#include "nintendoData.inc"
|
// #include "nintendoData.inc"
|
||||||
|
|
||||||
void *NintendoDataDecode(void)
|
// void *NintendoDataDecode(void)
|
||||||
{
|
// {
|
||||||
u32 *src = (u32 *)nintendoData;
|
// u32 *src = (u32 *)nintendoData;
|
||||||
u32 size = *src++;
|
// u32 size = *src++;
|
||||||
void *dst = HuMemDirectMalloc(HEAP_DATA, size);
|
// void *dst = HuMemDirectMalloc(HEAP_DATA, size);
|
||||||
int decode_type = *src++;
|
// int decode_type = *src++;
|
||||||
if(dst) {
|
// if(dst) {
|
||||||
HuDecodeData(src, dst, size, decode_type);
|
// HuDecodeData(src, dst, size, decode_type);
|
||||||
}
|
// }
|
||||||
return dst;
|
// return dst;
|
||||||
}
|
// }
|
||||||
|
|
|
||||||
|
|
@ -4,14 +4,14 @@
|
||||||
#include "string.h"
|
#include "string.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
|
||||||
s16 GwLanguage = 1;
|
SHARED_SYM s16 GwLanguage = 1;
|
||||||
s16 GwLanguageSave = -1;
|
SHARED_SYM s16 GwLanguageSave = -1;
|
||||||
|
|
||||||
GameStat GWGameStatDefault;
|
SHARED_SYM GameStat GWGameStatDefault;
|
||||||
GameStat GWGameStat;
|
SHARED_SYM GameStat GWGameStat;
|
||||||
SystemState GWSystem;
|
SHARED_SYM SystemState GWSystem;
|
||||||
PlayerState GWPlayer[4];
|
SHARED_SYM PlayerState GWPlayer[4];
|
||||||
PlayerConfig GWPlayerCfg[4];
|
SHARED_SYM PlayerConfig GWPlayerCfg[4];
|
||||||
|
|
||||||
static inline void GWErase(void)
|
static inline void GWErase(void)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ void main(void)
|
||||||
GWPlayerCfg[i].character = -1;
|
GWPlayerCfg[i].character = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//omMasterInit(0, _ovltbl, OVL_COUNT, OVL_BOOT);
|
omMasterInit(0, _ovltbl, OVL_COUNT, OVL_BOOT);
|
||||||
VIWaitForRetrace();
|
VIWaitForRetrace();
|
||||||
|
|
||||||
if (VIGetNextField() == 0) {
|
if (VIGetNextField() == 0) {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@
|
||||||
typedef s32 (*DLLProlog)(void);
|
typedef s32 (*DLLProlog)(void);
|
||||||
typedef void (*DLLEpilog)(void);
|
typedef void (*DLLEpilog)(void);
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
typedef void (*DLLObjectSetup)(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
omDllData *omDLLinfoTbl[OM_DLL_MAX];
|
omDllData *omDLLinfoTbl[OM_DLL_MAX];
|
||||||
|
|
||||||
static FileListEntry *omDLLFileList;
|
static FileListEntry *omDLLFileList;
|
||||||
|
|
@ -31,6 +35,10 @@ s32 omDLLStart(s16 overlay, s16 flag)
|
||||||
dllno = omDLLSearch(overlay);
|
dllno = omDLLSearch(overlay);
|
||||||
if(dllno >= 0 && !flag) {
|
if(dllno >= 0 && !flag) {
|
||||||
omDllData *dll = omDLLinfoTbl[dllno];
|
omDllData *dll = omDLLinfoTbl[dllno];
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
// TODO PC
|
||||||
|
OSReport("objdll>Already Loaded %s\n", dll->name);
|
||||||
|
#else
|
||||||
OSReport("objdll>Already Loaded %s(%08x %08x)\n", dll->name, dll->module, dll->bss);
|
OSReport("objdll>Already Loaded %s(%08x %08x)\n", dll->name, dll->module, dll->bss);
|
||||||
|
|
||||||
omDLLInfoDump(&dll->module->info);
|
omDLLInfoDump(&dll->module->info);
|
||||||
|
|
@ -38,6 +46,7 @@ s32 omDLLStart(s16 overlay, s16 flag)
|
||||||
memset(dll->bss, 0, dll->module->bssSize);
|
memset(dll->bss, 0, dll->module->bssSize);
|
||||||
HuMemDCFlushAll();
|
HuMemDCFlushAll();
|
||||||
dll->ret = ((DLLProlog)dll->module->prolog)();
|
dll->ret = ((DLLProlog)dll->module->prolog)();
|
||||||
|
#endif
|
||||||
OSReport("objdll> %s prolog end\n", dll->name);
|
OSReport("objdll> %s prolog end\n", dll->name);
|
||||||
return dllno;
|
return dllno;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -80,8 +89,10 @@ void omDLLEnd(s16 dllno, s16 flag)
|
||||||
} else {
|
} else {
|
||||||
omDllData *dll;
|
omDllData *dll;
|
||||||
dll = omDLLinfoTbl[dllno];
|
dll = omDLLinfoTbl[dllno];
|
||||||
|
#ifdef __MWERKS__
|
||||||
OSReport("objdll>Call Epilog\n");
|
OSReport("objdll>Call Epilog\n");
|
||||||
((DLLEpilog)dll->module->epilog)();
|
((DLLEpilog)dll->module->epilog)();
|
||||||
|
#endif
|
||||||
OSReport("objdll>End DLL stayed:%s\n", omDLLinfoTbl[dllno]->name);
|
OSReport("objdll>End DLL stayed:%s\n", omDLLinfoTbl[dllno]->name);
|
||||||
}
|
}
|
||||||
OSReport("objdll>End DLL finish\n");
|
OSReport("objdll>End DLL finish\n");
|
||||||
|
|
@ -95,6 +106,12 @@ omDllData *omDLLLink(omDllData **dll_ptr, s16 overlay, s16 flag)
|
||||||
dll = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(omDllData));
|
dll = HuMemDirectMalloc(HEAP_SYSTEM, sizeof(omDllData));
|
||||||
*dll_ptr = dll;
|
*dll_ptr = dll;
|
||||||
dll->name = dllFile->name;
|
dll->name = dllFile->name;
|
||||||
|
#ifdef _WIN32
|
||||||
|
dll->hModule = LoadLibrary(dllFile->name);
|
||||||
|
if (dll->hModule == NULL) {
|
||||||
|
OSReport("objdll>++++++++++++++++ DLL Link Failed\n");
|
||||||
|
}
|
||||||
|
#else
|
||||||
dll->module = HuDvdDataReadDirect(dllFile->name, HEAP_SYSTEM);
|
dll->module = HuDvdDataReadDirect(dllFile->name, HEAP_SYSTEM);
|
||||||
dll->bss = HuMemDirectMalloc(HEAP_SYSTEM, dll->module->bssSize);
|
dll->bss = HuMemDirectMalloc(HEAP_SYSTEM, dll->module->bssSize);
|
||||||
if(OSLink(&dll->module->info, dll->bss) != TRUE) {
|
if(OSLink(&dll->module->info, dll->bss) != TRUE) {
|
||||||
|
|
@ -103,9 +120,17 @@ omDllData *omDLLLink(omDllData **dll_ptr, s16 overlay, s16 flag)
|
||||||
omDLLInfoDump(&dll->module->info);
|
omDLLInfoDump(&dll->module->info);
|
||||||
omDLLHeaderDump(dll->module);
|
omDLLHeaderDump(dll->module);
|
||||||
OSReport("objdll>LinkOK %08x %08x\n", dll->module, dll->bss);
|
OSReport("objdll>LinkOK %08x %08x\n", dll->module, dll->bss);
|
||||||
|
#endif
|
||||||
if(flag == 1) {
|
if(flag == 1) {
|
||||||
OSReport("objdll> %s prolog start\n", dllFile->name);
|
OSReport("objdll> %s prolog start\n", dllFile->name);
|
||||||
|
#ifdef _WIN32
|
||||||
|
{
|
||||||
|
DLLObjectSetup objectSetup = (DLLObjectSetup)GetProcAddress(dll->hModule, "ObjectSetup");
|
||||||
|
objectSetup();
|
||||||
|
}
|
||||||
|
#else
|
||||||
dll->ret = ((DLLProlog)dll->module->prolog)();
|
dll->ret = ((DLLProlog)dll->module->prolog)();
|
||||||
|
#endif
|
||||||
OSReport("objdll> %s prolog end\n", dllFile->name);
|
OSReport("objdll> %s prolog end\n", dllFile->name);
|
||||||
}
|
}
|
||||||
return dll;
|
return dll;
|
||||||
|
|
@ -114,6 +139,9 @@ omDllData *omDLLLink(omDllData **dll_ptr, s16 overlay, s16 flag)
|
||||||
void omDLLUnlink(omDllData *dll_ptr, s16 flag)
|
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
|
||||||
|
FreeLibrary(dll_ptr->hModule);
|
||||||
|
#else
|
||||||
if(flag == 1) {
|
if(flag == 1) {
|
||||||
OSReport("objdll>Unlink DLL epilog\n");
|
OSReport("objdll>Unlink DLL epilog\n");
|
||||||
((DLLEpilog)dll_ptr->module->epilog)();
|
((DLLEpilog)dll_ptr->module->epilog)();
|
||||||
|
|
@ -124,6 +152,7 @@ void omDLLUnlink(omDllData *dll_ptr, s16 flag)
|
||||||
}
|
}
|
||||||
HuMemDirectFree(dll_ptr->bss);
|
HuMemDirectFree(dll_ptr->bss);
|
||||||
HuMemDirectFree(dll_ptr->module);
|
HuMemDirectFree(dll_ptr->module);
|
||||||
|
#endif
|
||||||
HuMemDirectFree(dll_ptr);
|
HuMemDirectFree(dll_ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,13 @@
|
||||||
#include "game/audio.h"
|
#include "game/audio.h"
|
||||||
#include "game/chrman.h"
|
#include "game/chrman.h"
|
||||||
#include "game/esprite.h"
|
#include "game/esprite.h"
|
||||||
|
#include "game/flag.h"
|
||||||
#include "game/hsfdraw.h"
|
#include "game/hsfdraw.h"
|
||||||
#include "game/hsfman.h"
|
#include "game/hsfman.h"
|
||||||
#include "game/printfunc.h"
|
|
||||||
#include "game/object.h"
|
#include "game/object.h"
|
||||||
#include "game/pad.h"
|
#include "game/pad.h"
|
||||||
#include "game/flag.h"
|
#include "game/printfunc.h"
|
||||||
|
|
||||||
|
|
||||||
#define OM_OVL_HIS_MAX 16
|
#define OM_OVL_HIS_MAX 16
|
||||||
#define OM_MAX_GROUPS 10
|
#define OM_MAX_GROUPS 10
|
||||||
|
|
@ -33,21 +34,21 @@ typedef struct om_obj_man {
|
||||||
omObjData *omDBGSysKeyObj;
|
omObjData *omDBGSysKeyObj;
|
||||||
Process *omwatchproc;
|
Process *omwatchproc;
|
||||||
OverlayID omnextovl;
|
OverlayID omnextovl;
|
||||||
OverlayID omcurovl;
|
SHARED_SYM OverlayID omcurovl;
|
||||||
s32 omcurdll;
|
s32 omcurdll;
|
||||||
s32 omovlhisidx;
|
SHARED_SYM s32 omovlhisidx;
|
||||||
s32 omovlevtno;
|
SHARED_SYM s32 omovlevtno;
|
||||||
s32 omnextovlevtno;
|
s32 omnextovlevtno;
|
||||||
u32 omovlstat;
|
SHARED_SYM u32 omovlstat;
|
||||||
static s32 omnextovlstat;
|
static s32 omnextovlstat;
|
||||||
char omUPauseFlag;
|
char omUPauseFlag;
|
||||||
s16 omSysExitReq;
|
SHARED_SYM s16 omSysExitReq;
|
||||||
s16 omdispinfo;
|
s16 omdispinfo;
|
||||||
|
|
||||||
static omOvlHisData omovlhis[OM_OVL_HIS_MAX];
|
static omOvlHisData omovlhis[OM_OVL_HIS_MAX];
|
||||||
|
|
||||||
u8 omSysPauseEnableFlag = TRUE;
|
SHARED_SYM u8 omSysPauseEnableFlag = TRUE;
|
||||||
OverlayID omprevovl = OVL_INVALID;
|
SHARED_SYM OverlayID omprevovl = OVL_INVALID;
|
||||||
|
|
||||||
static void omWatchOverlayProc(void);
|
static void omWatchOverlayProc(void);
|
||||||
static void omInsertObj(Process *objman_process, omObjData *object);
|
static void omInsertObj(Process *objman_process, omObjData *object);
|
||||||
|
|
@ -61,7 +62,10 @@ 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)
|
||||||
|
|
@ -79,27 +83,36 @@ 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) {
|
||||||
goto watch_child;
|
goto watch_child;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
watch_child:
|
watch_child:
|
||||||
HuPrcChildWatch();
|
HuPrcChildWatch();
|
||||||
}
|
}
|
||||||
|
|
@ -143,10 +156,16 @@ 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);
|
||||||
|
|
@ -154,7 +173,10 @@ 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;
|
||||||
omDLLNumEnd(omcurovl, arg);
|
omDLLNumEnd(omcurovl, arg);
|
||||||
|
|
@ -264,20 +286,23 @@ omObjData *omAddObjEx(Process *objman_process, s16 prio, u16 mdlcnt, u16 mtncnt,
|
||||||
for (i = 0; i < mdlcnt; i++) {
|
for (i = 0; i < mdlcnt; i++) {
|
||||||
object->model[i] = -1;
|
object->model[i] = -1;
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
object->model = NULL;
|
object->model = NULL;
|
||||||
object->mdlcnt = 0;
|
object->mdlcnt = 0;
|
||||||
}
|
}
|
||||||
if (mtncnt) {
|
if (mtncnt) {
|
||||||
object->motion = HuMemDirectMallocNum(HEAP_SYSTEM, mtncnt * sizeof(s16), MEMORY_DEFAULT_NUM);
|
object->motion = HuMemDirectMallocNum(HEAP_SYSTEM, mtncnt * sizeof(s16), MEMORY_DEFAULT_NUM);
|
||||||
object->mtncnt = mtncnt;
|
object->mtncnt = mtncnt;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
object->motion = NULL;
|
object->motion = NULL;
|
||||||
object->mtncnt = 0;
|
object->mtncnt = 0;
|
||||||
}
|
}
|
||||||
if (group >= 0) {
|
if (group >= 0) {
|
||||||
omAddMember(objman_process, group, object);
|
omAddMember(objman_process, group, object);
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
object->group = group;
|
object->group = group;
|
||||||
object->group_idx = 0;
|
object->group_idx = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -322,11 +347,13 @@ static void omInsertObj(Process *objman_process, omObjData *object)
|
||||||
object->next = obj_idx;
|
object->next = obj_idx;
|
||||||
if (obj_new->prev != -1) {
|
if (obj_new->prev != -1) {
|
||||||
obj_all[obj_new->prev].next = next_idx_alloc;
|
obj_all[obj_new->prev].next = next_idx_alloc;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
objman->obj_first = next_idx_alloc;
|
objman->obj_first = next_idx_alloc;
|
||||||
}
|
}
|
||||||
obj_new->prev = next_idx_alloc;
|
obj_new->prev = next_idx_alloc;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
object->next = -1;
|
object->next = -1;
|
||||||
object->prev = prev_idx;
|
object->prev = prev_idx;
|
||||||
obj_new->next = next_idx_alloc;
|
obj_new->next = next_idx_alloc;
|
||||||
|
|
@ -385,7 +412,8 @@ void omDelObjEx(Process *objman_process, omObjData *object)
|
||||||
if (object->next < 0) {
|
if (object->next < 0) {
|
||||||
objman->obj_last = obj_all[object->prev].next_idx_alloc;
|
objman->obj_last = obj_all[object->prev].next_idx_alloc;
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
objman->obj_first = objman->obj_last = -1;
|
objman->obj_first = objman->obj_last = -1;
|
||||||
}
|
}
|
||||||
object->next_idx = objman->next_idx;
|
object->next_idx = objman->next_idx;
|
||||||
|
|
@ -526,12 +554,10 @@ static void omDumpObj(Process *objman_process)
|
||||||
OSReport("STAT PRI GRPN MEMN PROG (TRA) (ROT) (SCA) mdlcnt mtncnt work[0] work[1] work[2] work[3] *data\n");
|
OSReport("STAT PRI GRPN MEMN PROG (TRA) (ROT) (SCA) mdlcnt mtncnt work[0] work[1] work[2] work[3] *data\n");
|
||||||
for (i = 0; i < objman->max_objs; i++) {
|
for (i = 0; i < objman->max_objs; i++) {
|
||||||
omObjData *object = &obj_all[i];
|
omObjData *object = &obj_all[i];
|
||||||
OSReport("%04d:%04X %04X %d %d %08X (%.2f %.2f %.2f) (%.2f %.2f %.2f) (%.2f %.2f %.2f) %d %d %08X %08X %08X %08X %08X\n",
|
OSReport("%04d:%04X %04X %d %d %08X (%.2f %.2f %.2f) (%.2f %.2f %.2f) (%.2f %.2f %.2f) %d %d %08X %08X %08X %08X %08X\n", object->stat,
|
||||||
object->stat, object->stat, object->prio, object->group, object->unk10, object->func,
|
object->stat, object->prio, object->group, object->unk10, object->func, object->trans.x, object->trans.y, object->trans.z, object->rot.x,
|
||||||
object->trans.x, object->trans.y, object->trans.z,
|
object->rot.y, object->rot.z, object->scale.x, object->scale.y, object->scale.z, object->mdlcnt, object->mtncnt, object->work[0],
|
||||||
object->rot.x, object->rot.y, object->rot.z,
|
object->work[1], object->work[2], object->work[3], object->data);
|
||||||
object->scale.x, object->scale.y, object->scale.z,
|
|
||||||
object->mdlcnt, object->mtncnt, object->work[0], object->work[1], object->work[2], object->work[3], object->data);
|
|
||||||
}
|
}
|
||||||
OSReport("================================================================\n");
|
OSReport("================================================================\n");
|
||||||
}
|
}
|
||||||
|
|
@ -547,7 +573,8 @@ void omAllPause(BOOL pause)
|
||||||
omSetStatBit(&objman->obj[i], OM_STAT_PAUSED);
|
omSetStatBit(&objman->obj[i], OM_STAT_PAUSED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
for (i = 0; i < objman->max_objs; i++) {
|
for (i = 0; i < objman->max_objs; i++) {
|
||||||
if ((objman->obj[i].stat & (OM_STAT_DELETED | OM_STAT_NOPAUSE)) == 0) {
|
if ((objman->obj[i].stat & (OM_STAT_DELETED | OM_STAT_NOPAUSE)) == 0) {
|
||||||
omResetStatBit(&objman->obj[i], OM_STAT_PAUSED);
|
omResetStatBit(&objman->obj[i], OM_STAT_PAUSED);
|
||||||
|
|
@ -560,7 +587,8 @@ char omPauseChk(void)
|
||||||
{
|
{
|
||||||
if (omDBGSysKeyObj == NULL) {
|
if (omDBGSysKeyObj == NULL) {
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
return omDBGSysKeyObj->work[0] & 0x1;
|
return omDBGSysKeyObj->work[0] & 0x1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,11 @@
|
||||||
#include "game/dvd.h"
|
#include "game/dvd.h"
|
||||||
#include "game/object.h"
|
#include "game/object.h"
|
||||||
|
|
||||||
#define OVL_DEFINE(name, path) { path, 0 },
|
#ifdef _WIN32
|
||||||
|
#define OVL_DEFINE(name, path) { path ".dll", 0 },
|
||||||
|
#else
|
||||||
|
#define OVL_DEFINE(name, path) { "dll/" path ".rel", 0 },
|
||||||
|
#endif
|
||||||
|
|
||||||
FileListEntry _ovltbl[OVL_COUNT+1] = {
|
FileListEntry _ovltbl[OVL_COUNT+1] = {
|
||||||
#include "ovl_table.h"
|
#include "ovl_table.h"
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
// Credits: Super Monkey Ball
|
// Credits: Super Monkey Ball
|
||||||
|
|
||||||
void OSReport(const char *msg, ...)
|
__declspec(dllexport) void OSReport(const char *msg, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
va_start(args, msg);
|
va_start(args, msg);
|
||||||
|
|
@ -353,7 +353,7 @@ BOOL OSInitFont(OSFontHeader *fontData)
|
||||||
BOOL OSLink(OSModuleInfo *newModule, void *bss)
|
BOOL OSLink(OSModuleInfo *newModule, void *bss)
|
||||||
{
|
{
|
||||||
puts("OSLink is a stub");
|
puts("OSLink is a stub");
|
||||||
return FALSE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OSLoadContext(OSContext *context)
|
void OSLoadContext(OSContext *context)
|
||||||
|
|
@ -699,7 +699,5 @@ void MGSeqMain(void)
|
||||||
puts("MGSeqMain is a stub");
|
puts("MGSeqMain is a stub");
|
||||||
}
|
}
|
||||||
|
|
||||||
void omMasterInit(s32 prio, FileListEntry *ovl_list, s32 ovl_count, OverlayID start_ovl)
|
// TODO remove
|
||||||
{
|
u8 fadeStat = 0;
|
||||||
puts("omMasterInit is a stub");
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue