Implemented rel building and loading

This commit is contained in:
dbalatoni13 2025-04-06 06:30:30 +02:00
parent 3b31d9fcfc
commit d3b45cf2b4
14 changed files with 1045 additions and 922 deletions

View file

@ -225,7 +225,7 @@ BOOL OSRestoreInterrupts(BOOL level);
#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 OSFatal(GXColor fg, GXColor bg, const char *msg);

View file

@ -145,13 +145,13 @@ typedef struct game_stat {
/* 0x110 */ PauseBackupConfig party_pause;
} GameStat;
extern s16 GwLanguage;
extern s16 GwLanguageSave;
SHARED_SYM extern s16 GwLanguage;
SHARED_SYM extern s16 GwLanguageSave;
extern PlayerConfig GWPlayerCfg[4];
extern PlayerState GWPlayer[4];
extern SystemState GWSystem;
extern GameStat GWGameStat;
SHARED_SYM extern PlayerConfig GWPlayerCfg[4];
SHARED_SYM extern PlayerState GWPlayer[4];
SHARED_SYM extern SystemState GWSystem;
SHARED_SYM extern GameStat GWGameStat;
static inline s32 GWPlayerCfgGroupGet(s32 player)
{

View file

@ -5,6 +5,10 @@
#include "game/process.h"
#include "game/dvd.h"
#ifdef _WIN32
#include <windows.h>
#endif
#define OM_DLL_MAX 20
#define OVL_DEFINE(name, path) name,
@ -60,9 +64,14 @@ typedef struct om_obj_data {
typedef struct om_dll_data {
char *name;
#if _WIN32
HMODULE hModule;
#else
OSModuleHeader *module;
void *bss;
s32 ret;
#endif
} omDllData;
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 Process *omwatchproc;
extern OverlayID omnextovl;
extern OverlayID omcurovl;
SHARED_SYM extern OverlayID omcurovl;
extern s32 omcurdll;
extern s32 omovlhisidx;
extern s32 omovlevtno;
SHARED_SYM extern s32 omovlhisidx;
SHARED_SYM extern s32 omovlevtno;
extern s32 omnextovlevtno;
extern u32 omovlstat;
SHARED_SYM extern u32 omovlstat;
extern char omUPauseFlag;
extern s16 omSysExitReq;
SHARED_SYM extern s16 omSysExitReq;
extern s16 omdispinfo;
extern u8 omSysPauseEnableFlag;
extern OverlayID omprevovl;
extern omDllData *omDLLinfoTbl[OM_DLL_MAX];
extern Vec CRot;
extern Vec Center;
extern float CZoom;
extern Vec CRotM[16];
extern Vec CenterM[16];
extern float CZoomM[16];
extern s16 omDBGMenuButton;
SHARED_SYM extern Vec CRot;
SHARED_SYM extern Vec Center;
SHARED_SYM extern float CZoom;
SHARED_SYM extern Vec CRotM[16];
SHARED_SYM extern Vec CenterM[16];
SHARED_SYM extern float CZoomM[16];
SHARED_SYM extern s16 omDBGMenuButton;
#endif

View file

@ -1,108 +1,108 @@
#include "version.h"
OVL_DEFINE(OVL__MINI, "dll/_minigameDLL.rel")
OVL_DEFINE(OVL_BOOT, "dll/bootdll.rel")
OVL_DEFINE(OVL_E3SETUP, "dll/e3setupDLL.rel")
OVL_DEFINE(OVL_INST, "dll/instdll.rel")
OVL_DEFINE(OVL_M300, "dll/m300dll.rel")
OVL_DEFINE(OVL_M302, "dll/m302dll.rel")
OVL_DEFINE(OVL_M303, "dll/m303dll.rel")
OVL_DEFINE(OVL_M330, "dll/m330dll.rel")
OVL_DEFINE(OVL_M333, "dll/m333dll.rel")
OVL_DEFINE(OVL_M401, "dll/m401dll.rel")
OVL_DEFINE(OVL_M402, "dll/m402dll.rel")
OVL_DEFINE(OVL_M403, "dll/m403dll.rel")
OVL_DEFINE(OVL_M404, "dll/m404dll.rel")
OVL_DEFINE(OVL_M405, "dll/m405dll.rel")
OVL_DEFINE(OVL_M406, "dll/m406dll.rel")
OVL_DEFINE(OVL_M407, "dll/m407dll.rel")
OVL_DEFINE(OVL_M408, "dll/m408dll.rel")
OVL_DEFINE(OVL_M409, "dll/m409dll.rel")
OVL_DEFINE(OVL_M410, "dll/m410dll.rel")
OVL_DEFINE(OVL_M411, "dll/m411dll.rel")
OVL_DEFINE(OVL_M412, "dll/m412dll.rel")
OVL_DEFINE(OVL_M413, "dll/m413dll.rel")
OVL_DEFINE(OVL_M414, "dll/m414dll.rel")
OVL_DEFINE(OVL_M415, "dll/m415dll.rel")
OVL_DEFINE(OVL_M416, "dll/m416dll.rel")
OVL_DEFINE(OVL_M417, "dll/m417dll.rel")
OVL_DEFINE(OVL_M418, "dll/m418dll.rel")
OVL_DEFINE(OVL_M419, "dll/m419dll.rel")
OVL_DEFINE(OVL_M420, "dll/m420dll.rel")
OVL_DEFINE(OVL_M421, "dll/m421dll.rel")
OVL_DEFINE(OVL_M422, "dll/m422dll.rel")
OVL_DEFINE(OVL_M423, "dll/m423dll.rel")
OVL_DEFINE(OVL_M424, "dll/m424dll.rel")
OVL_DEFINE(OVL_M425, "dll/m425dll.rel")
OVL_DEFINE(OVL_M426, "dll/m426dll.rel")
OVL_DEFINE(OVL_M427, "dll/m427dll.rel")
OVL_DEFINE(OVL_M428, "dll/m428dll.rel")
OVL_DEFINE(OVL_M429, "dll/m429dll.rel")
OVL_DEFINE(OVL_M430, "dll/m430dll.rel")
OVL_DEFINE(OVL_M431, "dll/m431dll.rel")
OVL_DEFINE(OVL_M432, "dll/m432dll.rel")
OVL_DEFINE(OVL_M433, "dll/m433dll.rel")
OVL_DEFINE(OVL_M434, "dll/m434dll.rel")
OVL_DEFINE(OVL_M435, "dll/m435dll.rel")
OVL_DEFINE(OVL_M436, "dll/m436dll.rel")
OVL_DEFINE(OVL_M437, "dll/m437dll.rel")
OVL_DEFINE(OVL_M438, "dll/m438dll.rel")
OVL_DEFINE(OVL_M439, "dll/m439dll.rel")
OVL_DEFINE(OVL_M440, "dll/m440dll.rel")
OVL_DEFINE(OVL_M441, "dll/m441dll.rel")
OVL_DEFINE(OVL_M442, "dll/m442dll.rel")
OVL_DEFINE(OVL_M443, "dll/m443dll.rel")
OVL_DEFINE(OVL_M444, "dll/m444dll.rel")
OVL_DEFINE(OVL_M445, "dll/m445dll.rel")
OVL_DEFINE(OVL_M446, "dll/m446dll.rel")
OVL_DEFINE(OVL_M447, "dll/m447dll.rel")
OVL_DEFINE(OVL_M448, "dll/m448dll.rel")
OVL_DEFINE(OVL_M449, "dll/m449dll.rel")
OVL_DEFINE(OVL_M450, "dll/m450dll.rel")
OVL_DEFINE(OVL_M451, "dll/m451dll.rel")
OVL_DEFINE(OVL_M453, "dll/m453dll.rel")
OVL_DEFINE(OVL_M455, "dll/m455dll.rel")
OVL_DEFINE(OVL_M456, "dll/m456dll.rel")
OVL_DEFINE(OVL_M457, "dll/m457dll.rel")
OVL_DEFINE(OVL_M458, "dll/m458dll.rel")
OVL_DEFINE(OVL_M459, "dll/m459dll.rel")
OVL_DEFINE(OVL_M460, "dll/m460dll.rel")
OVL_DEFINE(OVL_M461, "dll/m461dll.rel")
OVL_DEFINE(OVL_M462, "dll/m462dll.rel")
OVL_DEFINE(OVL_M463, "dll/m463dll.rel")
OVL_DEFINE(OVL_MENT, "dll/mentdll.rel")
OVL_DEFINE(OVL__MINI, "_minigameDLL")
OVL_DEFINE(OVL_BOOT, "bootdll")
OVL_DEFINE(OVL_E3SETUP, "e3setupDLL")
OVL_DEFINE(OVL_INST, "instdll")
OVL_DEFINE(OVL_M300, "m300dll")
OVL_DEFINE(OVL_M302, "m302dll")
OVL_DEFINE(OVL_M303, "m303dll")
OVL_DEFINE(OVL_M330, "m330dll")
OVL_DEFINE(OVL_M333, "m333dll")
OVL_DEFINE(OVL_M401, "m401dll")
OVL_DEFINE(OVL_M402, "m402dll")
OVL_DEFINE(OVL_M403, "m403dll")
OVL_DEFINE(OVL_M404, "m404dll")
OVL_DEFINE(OVL_M405, "m405dll")
OVL_DEFINE(OVL_M406, "m406dll")
OVL_DEFINE(OVL_M407, "m407dll")
OVL_DEFINE(OVL_M408, "m408dll")
OVL_DEFINE(OVL_M409, "m409dll")
OVL_DEFINE(OVL_M410, "m410dll")
OVL_DEFINE(OVL_M411, "m411dll")
OVL_DEFINE(OVL_M412, "m412dll")
OVL_DEFINE(OVL_M413, "m413dll")
OVL_DEFINE(OVL_M414, "m414dll")
OVL_DEFINE(OVL_M415, "m415dll")
OVL_DEFINE(OVL_M416, "m416dll")
OVL_DEFINE(OVL_M417, "m417dll")
OVL_DEFINE(OVL_M418, "m418dll")
OVL_DEFINE(OVL_M419, "m419dll")
OVL_DEFINE(OVL_M420, "m420dll")
OVL_DEFINE(OVL_M421, "m421dll")
OVL_DEFINE(OVL_M422, "m422dll")
OVL_DEFINE(OVL_M423, "m423dll")
OVL_DEFINE(OVL_M424, "m424dll")
OVL_DEFINE(OVL_M425, "m425dll")
OVL_DEFINE(OVL_M426, "m426dll")
OVL_DEFINE(OVL_M427, "m427dll")
OVL_DEFINE(OVL_M428, "m428dll")
OVL_DEFINE(OVL_M429, "m429dll")
OVL_DEFINE(OVL_M430, "m430dll")
OVL_DEFINE(OVL_M431, "m431dll")
OVL_DEFINE(OVL_M432, "m432dll")
OVL_DEFINE(OVL_M433, "m433dll")
OVL_DEFINE(OVL_M434, "m434dll")
OVL_DEFINE(OVL_M435, "m435dll")
OVL_DEFINE(OVL_M436, "m436dll")
OVL_DEFINE(OVL_M437, "m437dll")
OVL_DEFINE(OVL_M438, "m438dll")
OVL_DEFINE(OVL_M439, "m439dll")
OVL_DEFINE(OVL_M440, "m440dll")
OVL_DEFINE(OVL_M441, "m441dll")
OVL_DEFINE(OVL_M442, "m442dll")
OVL_DEFINE(OVL_M443, "m443dll")
OVL_DEFINE(OVL_M444, "m444dll")
OVL_DEFINE(OVL_M445, "m445dll")
OVL_DEFINE(OVL_M446, "m446dll")
OVL_DEFINE(OVL_M447, "m447dll")
OVL_DEFINE(OVL_M448, "m448dll")
OVL_DEFINE(OVL_M449, "m449dll")
OVL_DEFINE(OVL_M450, "m450dll")
OVL_DEFINE(OVL_M451, "m451dll")
OVL_DEFINE(OVL_M453, "m453dll")
OVL_DEFINE(OVL_M455, "m455dll")
OVL_DEFINE(OVL_M456, "m456dll")
OVL_DEFINE(OVL_M457, "m457dll")
OVL_DEFINE(OVL_M458, "m458dll")
OVL_DEFINE(OVL_M459, "m459dll")
OVL_DEFINE(OVL_M460, "m460dll")
OVL_DEFINE(OVL_M461, "m461dll")
OVL_DEFINE(OVL_M462, "m462dll")
OVL_DEFINE(OVL_M463, "m463dll")
OVL_DEFINE(OVL_MENT, "mentdll")
#if VERSION_JP
OVL_DEFINE(OVL_MGMODE, "dll/mgmodedll.rel")
OVL_DEFINE(OVL_MODELTEST, "dll/modeltestdll.rel")
OVL_DEFINE(OVL_MODESEL, "dll/modeseldll.rel")
OVL_DEFINE(OVL_MOVIE, "dll/moviedll.rel")
OVL_DEFINE(OVL_MGMODE, "mgmodedll")
OVL_DEFINE(OVL_MODELTEST, "modeltestdll")
OVL_DEFINE(OVL_MODESEL, "modeseldll")
OVL_DEFINE(OVL_MOVIE, "moviedll")
#else
OVL_DEFINE(OVL_MESS, "dll/messdll.rel")
OVL_DEFINE(OVL_MGMODE, "dll/mgmodedll.rel")
OVL_DEFINE(OVL_MODELTEST, "dll/modeltestdll.rel")
OVL_DEFINE(OVL_MODESEL, "dll/modeseldll.rel")
OVL_DEFINE(OVL_MESS, "messdll")
OVL_DEFINE(OVL_MGMODE, "mgmodedll")
OVL_DEFINE(OVL_MODELTEST, "modeltestdll")
OVL_DEFINE(OVL_MODESEL, "modeseldll")
#endif
OVL_DEFINE(OVL_MPEX, "dll/mpexdll.rel")
OVL_DEFINE(OVL_MSETUP, "dll/msetupdll.rel")
OVL_DEFINE(OVL_MSTORY2, "dll/mstory2dll.rel")
OVL_DEFINE(OVL_MSTORY3, "dll/mstory3dll.rel")
OVL_DEFINE(OVL_MSTORY4, "dll/mstory4dll.rel")
OVL_DEFINE(OVL_MSTORY, "dll/mstorydll.rel")
OVL_DEFINE(OVL_NIS, "dll/nisdll.rel")
OVL_DEFINE(OVL_OPTION, "dll/option.rel")
OVL_DEFINE(OVL_PRESENT, "dll/present.rel")
OVL_DEFINE(OVL_RESULT, "dll/resultdll.rel")
OVL_DEFINE(OVL_SAF, "dll/safdll.rel")
OVL_DEFINE(OVL_SELMENU, "dll/selmenuDLL.rel")
OVL_DEFINE(OVL_STAFF, "dll/staffdll.rel")
OVL_DEFINE(OVL_SUBCHRSEL, "dll/subchrseldll.rel")
OVL_DEFINE(OVL_W01, "dll/w01dll.rel")
OVL_DEFINE(OVL_W02, "dll/w02dll.rel")
OVL_DEFINE(OVL_W03, "dll/w03dll.rel")
OVL_DEFINE(OVL_W04, "dll/w04dll.rel")
OVL_DEFINE(OVL_W05, "dll/w05dll.rel")
OVL_DEFINE(OVL_W06, "dll/w06dll.rel")
OVL_DEFINE(OVL_W10, "dll/w10dll.rel")
OVL_DEFINE(OVL_W20, "dll/w20dll.rel")
OVL_DEFINE(OVL_W21, "dll/w21dll.rel")
OVL_DEFINE(OVL_ZTAR, "dll/ztardll.rel")
OVL_DEFINE(OVL_MPEX, "mpexdll")
OVL_DEFINE(OVL_MSETUP, "msetupdll")
OVL_DEFINE(OVL_MSTORY2, "mstory2dll")
OVL_DEFINE(OVL_MSTORY3, "mstory3dll")
OVL_DEFINE(OVL_MSTORY4, "mstory4dll")
OVL_DEFINE(OVL_MSTORY, "mstorydll")
OVL_DEFINE(OVL_NIS, "nisdll")
OVL_DEFINE(OVL_OPTION, "option")
OVL_DEFINE(OVL_PRESENT, "present")
OVL_DEFINE(OVL_RESULT, "resultdll")
OVL_DEFINE(OVL_SAF, "safdll")
OVL_DEFINE(OVL_SELMENU, "selmenuDLL")
OVL_DEFINE(OVL_STAFF, "staffdll")
OVL_DEFINE(OVL_SUBCHRSEL, "subchrseldll")
OVL_DEFINE(OVL_W01, "w01dll")
OVL_DEFINE(OVL_W02, "w02dll")
OVL_DEFINE(OVL_W03, "w03dll")
OVL_DEFINE(OVL_W04, "w04dll")
OVL_DEFINE(OVL_W05, "w05dll")
OVL_DEFINE(OVL_W06, "w06dll")
OVL_DEFINE(OVL_W10, "w10dll")
OVL_DEFINE(OVL_W20, "w20dll")
OVL_DEFINE(OVL_W21, "w21dll")
OVL_DEFINE(OVL_ZTAR, "ztardll")

View file

@ -21,4 +21,15 @@
#define REFRESH_RATE 60
#endif
#if _WIN32
#ifdef TARGET_MAIN
#define SHARED_SYM __declspec(dllexport)
#else
#define SHARED_SYM __declspec(dllimport)
#endif
#else
#define SHARED_SYM
#endif
#endif