Build all RELs
This commit is contained in:
parent
5917ea8509
commit
9bb5c8d50a
64 changed files with 1280 additions and 1017 deletions
|
|
@ -37,6 +37,7 @@ set(DOLPHIN_FILES
|
||||||
src/dolphin/mtx/mtx.c
|
src/dolphin/mtx/mtx.c
|
||||||
src/dolphin/mtx/mtx44.c
|
src/dolphin/mtx/mtx44.c
|
||||||
src/dolphin/mtx/vec.c
|
src/dolphin/mtx/vec.c
|
||||||
|
src/dolphin/mtx/quat.c
|
||||||
src/dolphin/os/OSAlloc.c
|
src/dolphin/os/OSAlloc.c
|
||||||
src/dolphin/os/OSArena.c
|
src/dolphin/os/OSArena.c
|
||||||
src/dolphin/os/OSStopwatch.c
|
src/dolphin/os/OSStopwatch.c
|
||||||
|
|
@ -168,27 +169,31 @@ target_include_directories(marioparty4 PRIVATE include)
|
||||||
target_link_libraries(marioparty4 PRIVATE dol aurora::main)
|
target_link_libraries(marioparty4 PRIVATE dol aurora::main)
|
||||||
|
|
||||||
file(GLOB REL_DIRS RELATIVE ${CMAKE_SOURCE_DIR}/src/REL ${CMAKE_SOURCE_DIR}/src/REL/*)
|
file(GLOB REL_DIRS RELATIVE ${CMAKE_SOURCE_DIR}/src/REL ${CMAKE_SOURCE_DIR}/src/REL/*)
|
||||||
|
set(EXCLUDED_RELS "nisDll" "safDll")
|
||||||
|
|
||||||
foreach (dir ${REL_DIRS})
|
foreach (dir ${REL_DIRS})
|
||||||
if (IS_DIRECTORY ${CMAKE_SOURCE_DIR}/src/REL/${dir})
|
if (IS_DIRECTORY ${CMAKE_SOURCE_DIR}/src/REL/${dir})
|
||||||
|
if (dir IN_LIST EXCLUDED_RELS)
|
||||||
|
continue()
|
||||||
|
endif()
|
||||||
file(GLOB_RECURSE REL_FILES src/REL/${dir}/*.c)
|
file(GLOB_RECURSE REL_FILES src/REL/${dir}/*.c)
|
||||||
|
|
||||||
if (REL_FILES)
|
if (REL_FILES)
|
||||||
add_library(${dir} SHARED ${REL_FILES})
|
add_library(${dir} SHARED ${REL_FILES})
|
||||||
|
if (dir MATCHES "^w..Dll")
|
||||||
|
target_sources(${dir} PRIVATE src/REL/board_executor.c)
|
||||||
|
endif()
|
||||||
target_compile_definitions(${dir} PRIVATE TARGET_PC NON_MATCHING VERSION=${VERSION})
|
target_compile_definitions(${dir} PRIVATE TARGET_PC NON_MATCHING VERSION=${VERSION})
|
||||||
target_include_directories(${dir} PRIVATE include build/GMPE01_00/include)
|
target_include_directories(${dir} PRIVATE include build/GMPE01_00/include)
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
set_target_properties(${dir} PROPERTIES LINK_FLAGS "/EXPORT:ObjectSetup")
|
set_target_properties(${dir} PROPERTIES LINK_FLAGS "/EXPORT:ObjectSetup")
|
||||||
else ()
|
elseif (NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
|
||||||
endif ()
|
|
||||||
if (NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
|
|
||||||
target_compile_options(${dir} PRIVATE "-fvisibility=hidden")
|
target_compile_options(${dir} PRIVATE "-fvisibility=hidden")
|
||||||
target_link_options(${dir} PRIVATE "LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR}/rel.map")
|
target_link_options(${dir} PRIVATE "LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR}/rel.map")
|
||||||
set_target_properties(${dir} PROPERTIES PREFIX "")
|
set_target_properties(${dir} PROPERTIES PREFIX "")
|
||||||
endif ()
|
endif ()
|
||||||
target_link_libraries(${dir} PRIVATE dol musyx)
|
target_link_libraries(${dir} PRIVATE dol musyx)
|
||||||
|
add_dependencies(marioparty4 ${dir})
|
||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
||||||
add_dependencies(marioparty4 bootDll modeseldll)
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ fn_1_0 = .text:0x00000000; // type:function size:0x4C
|
||||||
fn_1_4C = .text:0x0000004C; // type:function size:0x58
|
fn_1_4C = .text:0x0000004C; // type:function size:0x58
|
||||||
_prolog = .text:0x000000A4; // type:function size:0x54 scope:global
|
_prolog = .text:0x000000A4; // type:function size:0x54 scope:global
|
||||||
_epilog = .text:0x000000F8; // type:function size:0x4C scope:global
|
_epilog = .text:0x000000F8; // type:function size:0x4C scope:global
|
||||||
fn_1_144 = .text:0x00000144; // type:function size:0xC8
|
ObjectSetup = .text:0x00000144; // type:function size:0xC8
|
||||||
fn_1_20C = .text:0x0000020C; // type:function size:0x28
|
fn_1_20C = .text:0x0000020C; // type:function size:0x28
|
||||||
fn_1_234 = .text:0x00000234; // type:function size:0x20
|
fn_1_234 = .text:0x00000234; // type:function size:0x20
|
||||||
fn_1_254 = .text:0x00000254; // type:function size:0xD8
|
fn_1_254 = .text:0x00000254; // type:function size:0xD8
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ fn_1_0 = .text:0x00000000; // type:function size:0xEC
|
||||||
fn_1_EC = .text:0x000000EC; // type:function size:0x115C
|
fn_1_EC = .text:0x000000EC; // type:function size:0x115C
|
||||||
_prolog = .text:0x00001248; // type:function size:0x54 scope:global
|
_prolog = .text:0x00001248; // type:function size:0x54 scope:global
|
||||||
_epilog = .text:0x0000129C; // type:function size:0x4C scope:global
|
_epilog = .text:0x0000129C; // type:function size:0x4C scope:global
|
||||||
fn_1_12E8 = .text:0x000012E8; // type:function size:0xB8
|
ObjectSetup = .text:0x000012E8; // type:function size:0xB8
|
||||||
fn_1_13A0 = .text:0x000013A0; // type:function size:0x68C
|
fn_1_13A0 = .text:0x000013A0; // type:function size:0x68C
|
||||||
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
||||||
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
|
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ CreateNote = .text:0x00007710; // type:function size:0x190 scope:local
|
||||||
CreateNoteSpawner = .text:0x000078A0; // type:function size:0x60 scope:local
|
CreateNoteSpawner = .text:0x000078A0; // type:function size:0x60 scope:local
|
||||||
KillNoteSpawner = .text:0x00007900; // type:function size:0x3C scope:local
|
KillNoteSpawner = .text:0x00007900; // type:function size:0x3C scope:local
|
||||||
ExecNoteSpawner = .text:0x0000793C; // type:function size:0x5C4 scope:local
|
ExecNoteSpawner = .text:0x0000793C; // type:function size:0x5C4 scope:local
|
||||||
PlaySound = .text:0x00007F00; // type:function size:0x148 scope:local
|
OptionPlaySound = .text:0x00007F00; // type:function size:0x148 scope:local
|
||||||
FadeSound = .text:0x00008048; // type:function size:0x9C scope:local
|
FadeSound = .text:0x00008048; // type:function size:0x9C scope:local
|
||||||
OptionRecordCreate = .text:0x000080E4; // type:function size:0x178
|
OptionRecordCreate = .text:0x000080E4; // type:function size:0x178
|
||||||
OptionRecordKill = .text:0x0000825C; // type:function size:0x54
|
OptionRecordKill = .text:0x0000825C; // type:function size:0x54
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ PresentSelectedIDSet = .text:0x0000186C; // type:function size:0xBC
|
||||||
ExecSelectRoom = .text:0x00001928; // type:function size:0x680 scope:local
|
ExecSelectRoom = .text:0x00001928; // type:function size:0x680 scope:local
|
||||||
ChangeRoom = .text:0x00001FA8; // type:function size:0x140 scope:local
|
ChangeRoom = .text:0x00001FA8; // type:function size:0x140 scope:local
|
||||||
ExecSelectPresent = .text:0x000020E8; // type:function size:0x5A4 scope:local
|
ExecSelectPresent = .text:0x000020E8; // type:function size:0x5A4 scope:local
|
||||||
GetCursorPos = .text:0x0000268C; // type:function size:0x7C scope:local
|
PresentGetCursorPos = .text:0x0000268C; // type:function size:0x7C scope:local
|
||||||
SetCameraRot = .text:0x00002708; // type:function size:0x6C scope:local
|
SetCameraRot = .text:0x00002708; // type:function size:0x6C scope:local
|
||||||
RotateCamera = .text:0x00002774; // type:function size:0x17C scope:local
|
RotateCamera = .text:0x00002774; // type:function size:0x17C scope:local
|
||||||
CameraRotationDoneCheck = .text:0x000028F0; // type:function size:0x34 scope:local
|
CameraRotationDoneCheck = .text:0x000028F0; // type:function size:0x34 scope:local
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ fn_1_0 = .text:0x00000000; // type:function size:0x4C
|
||||||
fn_1_4C = .text:0x0000004C; // type:function size:0x58
|
fn_1_4C = .text:0x0000004C; // type:function size:0x58
|
||||||
_prolog = .text:0x000000A4; // type:function size:0x54 scope:global
|
_prolog = .text:0x000000A4; // type:function size:0x54 scope:global
|
||||||
_epilog = .text:0x000000F8; // type:function size:0x4C scope:global
|
_epilog = .text:0x000000F8; // type:function size:0x4C scope:global
|
||||||
fn_1_144 = .text:0x00000144; // type:function size:0xC8
|
ObjectSetup = .text:0x00000144; // type:function size:0xC8
|
||||||
fn_1_20C = .text:0x0000020C; // type:function size:0x28
|
fn_1_20C = .text:0x0000020C; // type:function size:0x28
|
||||||
fn_1_234 = .text:0x00000234; // type:function size:0x20
|
fn_1_234 = .text:0x00000234; // type:function size:0x20
|
||||||
fn_1_254 = .text:0x00000254; // type:function size:0xD8
|
fn_1_254 = .text:0x00000254; // type:function size:0xD8
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ fn_1_0 = .text:0x00000000; // type:function size:0xEC
|
||||||
fn_1_EC = .text:0x000000EC; // type:function size:0x115C
|
fn_1_EC = .text:0x000000EC; // type:function size:0x115C
|
||||||
_prolog = .text:0x00001248; // type:function size:0x54 scope:global
|
_prolog = .text:0x00001248; // type:function size:0x54 scope:global
|
||||||
_epilog = .text:0x0000129C; // type:function size:0x4C scope:global
|
_epilog = .text:0x0000129C; // type:function size:0x4C scope:global
|
||||||
fn_1_12E8 = .text:0x000012E8; // type:function size:0xB8
|
ObjectSetup = .text:0x000012E8; // type:function size:0xB8
|
||||||
fn_1_13A0 = .text:0x000013A0; // type:function size:0x68C
|
fn_1_13A0 = .text:0x000013A0; // type:function size:0x68C
|
||||||
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
||||||
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
|
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ fn_1_0 = .text:0x00000000; // type:function size:0x4C
|
||||||
fn_1_4C = .text:0x0000004C; // type:function size:0x58
|
fn_1_4C = .text:0x0000004C; // type:function size:0x58
|
||||||
_prolog = .text:0x000000A4; // type:function size:0x54 scope:global
|
_prolog = .text:0x000000A4; // type:function size:0x54 scope:global
|
||||||
_epilog = .text:0x000000F8; // type:function size:0x4C scope:global
|
_epilog = .text:0x000000F8; // type:function size:0x4C scope:global
|
||||||
fn_1_144 = .text:0x00000144; // type:function size:0xC8
|
ObjectSetup = .text:0x00000144; // type:function size:0xC8
|
||||||
fn_1_20C = .text:0x0000020C; // type:function size:0x28
|
fn_1_20C = .text:0x0000020C; // type:function size:0x28
|
||||||
fn_1_234 = .text:0x00000234; // type:function size:0x20
|
fn_1_234 = .text:0x00000234; // type:function size:0x20
|
||||||
fn_1_254 = .text:0x00000254; // type:function size:0xD8
|
fn_1_254 = .text:0x00000254; // type:function size:0xD8
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ CreateNote = .text:0x00007710; // type:function size:0x190 scope:local
|
||||||
CreateNoteSpawner = .text:0x000078A0; // type:function size:0x60 scope:local
|
CreateNoteSpawner = .text:0x000078A0; // type:function size:0x60 scope:local
|
||||||
KillNoteSpawner = .text:0x00007900; // type:function size:0x3C scope:local
|
KillNoteSpawner = .text:0x00007900; // type:function size:0x3C scope:local
|
||||||
ExecNoteSpawner = .text:0x0000793C; // type:function size:0x5C4 scope:local
|
ExecNoteSpawner = .text:0x0000793C; // type:function size:0x5C4 scope:local
|
||||||
PlaySound = .text:0x00007F00; // type:function size:0x148 scope:local
|
OptionPlaySound = .text:0x00007F00; // type:function size:0x148 scope:local
|
||||||
FadeSound = .text:0x00008048; // type:function size:0x9C scope:local
|
FadeSound = .text:0x00008048; // type:function size:0x9C scope:local
|
||||||
OptionRecordCreate = .text:0x000080E4; // type:function size:0x178
|
OptionRecordCreate = .text:0x000080E4; // type:function size:0x178
|
||||||
OptionRecordKill = .text:0x0000825C; // type:function size:0x54
|
OptionRecordKill = .text:0x0000825C; // type:function size:0x54
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ PresentSelectedIDSet = .text:0x0000186C; // type:function size:0xBC
|
||||||
ExecSelectRoom = .text:0x00001928; // type:function size:0x680 scope:local
|
ExecSelectRoom = .text:0x00001928; // type:function size:0x680 scope:local
|
||||||
ChangeRoom = .text:0x00001FA8; // type:function size:0x140 scope:local
|
ChangeRoom = .text:0x00001FA8; // type:function size:0x140 scope:local
|
||||||
ExecSelectPresent = .text:0x000020E8; // type:function size:0x5A4 scope:local
|
ExecSelectPresent = .text:0x000020E8; // type:function size:0x5A4 scope:local
|
||||||
GetCursorPos = .text:0x0000268C; // type:function size:0x7C scope:local
|
PresentGetCursorPos = .text:0x0000268C; // type:function size:0x7C scope:local
|
||||||
SetCameraRot = .text:0x00002708; // type:function size:0x6C scope:local
|
SetCameraRot = .text:0x00002708; // type:function size:0x6C scope:local
|
||||||
RotateCamera = .text:0x00002774; // type:function size:0x17C scope:local
|
RotateCamera = .text:0x00002774; // type:function size:0x17C scope:local
|
||||||
CameraRotationDoneCheck = .text:0x000028F0; // type:function size:0x34 scope:local
|
CameraRotationDoneCheck = .text:0x000028F0; // type:function size:0x34 scope:local
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
#include "game/hsfman.h"
|
#include "game/hsfman.h"
|
||||||
#include "game/object.h"
|
#include "game/object.h"
|
||||||
|
|
||||||
extern u8 texMtxTbl[];
|
SHARED_SYM extern u8 texMtxTbl[];
|
||||||
|
|
||||||
#define FABS(x) ((x < 0.0f) ? -(x) : (x))
|
#define FABS(x) ((x < 0.0f) ? -(x) : (x))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,6 @@ typedef struct {
|
||||||
HsfObject *obj; // 0030
|
HsfObject *obj; // 0030
|
||||||
} HuObjUnk;
|
} HuObjUnk;
|
||||||
|
|
||||||
extern Vec CRot;
|
|
||||||
extern Vec Center;
|
|
||||||
extern float CZoom;
|
|
||||||
void fn_1_29C();
|
void fn_1_29C();
|
||||||
void fn_1_28F8(Vec *arg0, Vec *arg1);
|
void fn_1_28F8(Vec *arg0, Vec *arg1);
|
||||||
void fn_1_37DC(omObjData *);
|
void fn_1_37DC(omObjData *);
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ typedef struct tutorial_scene {
|
||||||
TutorialSceneFunc func;
|
TutorialSceneFunc func;
|
||||||
} TutorialScene;
|
} TutorialScene;
|
||||||
|
|
||||||
extern s32 boardTutorialData[4];
|
SHARED_SYM extern s32 boardTutorialData[4];
|
||||||
|
|
||||||
void HostPosSet(s16);
|
void HostPosSet(s16);
|
||||||
void fn_1_1FB0(void);
|
void fn_1_1FB0(void);
|
||||||
|
|
|
||||||
|
|
@ -65,9 +65,9 @@ typedef struct board_camera_data {
|
||||||
} BoardCameraData;
|
} BoardCameraData;
|
||||||
|
|
||||||
extern BoardCameraData boardCamera;
|
extern BoardCameraData boardCamera;
|
||||||
extern Process *boardObjMan;
|
SHARED_SYM extern Process *boardObjMan;
|
||||||
extern Process *boardMainProc;
|
SHARED_SYM extern Process *boardMainProc;
|
||||||
extern u32 boardRandSeed;
|
SHARED_SYM extern u32 boardRandSeed;
|
||||||
extern omObjData *boardMainObj;
|
extern omObjData *boardMainObj;
|
||||||
|
|
||||||
typedef void (*BoardFunc)(void);
|
typedef void (*BoardFunc)(void);
|
||||||
|
|
@ -79,11 +79,11 @@ typedef void (*BoardCameraPosCalcFunc)(BoardCameraData *camera);
|
||||||
|
|
||||||
typedef void (*BoardTurnStartHook)(s32 player, s32 space);
|
typedef void (*BoardTurnStartHook)(s32 player, s32 space);
|
||||||
|
|
||||||
extern BoardTurnStartHook boardTurnStartFunc;
|
SHARED_SYM extern BoardTurnStartHook boardTurnStartFunc;
|
||||||
extern void (*boardStarShowNextHook)(void);
|
SHARED_SYM extern void (*boardStarShowNextHook)(void);
|
||||||
extern void (*boardStarGiveHook)(void);
|
SHARED_SYM extern void (*boardStarGiveHook)(void);
|
||||||
extern BoardBowserHook boardBowserHook;
|
SHARED_SYM extern BoardBowserHook boardBowserHook;
|
||||||
extern BoardFunc boardTurnFunc;
|
SHARED_SYM extern BoardFunc boardTurnFunc;
|
||||||
extern BoardLightHook boardLightResetHook;
|
extern BoardLightHook boardLightResetHook;
|
||||||
extern BoardLightHook boardLightSetHook;
|
extern BoardLightHook boardLightSetHook;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
#include "game/board/space.h"
|
#include "game/board/space.h"
|
||||||
#include "game/board/ui.h"
|
#include "game/board/ui.h"
|
||||||
|
|
||||||
extern s16 boardPlayerMdl[4];
|
SHARED_SYM extern s16 boardPlayerMdl[4];
|
||||||
|
|
||||||
static inline s32 BoardPlayerHandicapGet(s32 player)
|
static inline s32 BoardPlayerHandicapGet(s32 player)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
#define _BOARD_TUTORIAL_H
|
#define _BOARD_TUTORIAL_H
|
||||||
|
|
||||||
#include "dolphin/types.h"
|
#include "dolphin/types.h"
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
void BoardTutorialInit(void);
|
void BoardTutorialInit(void);
|
||||||
void BoardTutorialKill(void);
|
void BoardTutorialKill(void);
|
||||||
|
|
@ -16,7 +17,7 @@ void BoardTutorialItemSet(s8 arg0);
|
||||||
void BoardTutorialHostSet(s16 arg0);
|
void BoardTutorialHostSet(s16 arg0);
|
||||||
void BoardTutorialHostHide(s8 arg0);
|
void BoardTutorialHostHide(s8 arg0);
|
||||||
|
|
||||||
extern s32 boardTutorialData[4];
|
SHARED_SYM extern s32 boardTutorialData[4];
|
||||||
extern s8 boardTutorialDirInputX;
|
extern s8 boardTutorialDirInputX;
|
||||||
extern s8 boardTutorialDirInputY;
|
extern s8 boardTutorialDirInputY;
|
||||||
extern s16 boardTutorialDirInputTime;
|
extern s16 boardTutorialDirInputTime;
|
||||||
|
|
@ -24,6 +25,6 @@ extern s32 boardTutorialBlockPos;
|
||||||
extern s8 boardTutorialBlockItem;
|
extern s8 boardTutorialBlockItem;
|
||||||
extern s8 boardTutorialBlockF;
|
extern s8 boardTutorialBlockF;
|
||||||
extern s8 boardTutorialUseItem;
|
extern s8 boardTutorialUseItem;
|
||||||
extern s8 boardTutorialF;
|
SHARED_SYM extern s8 boardTutorialF;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
#include "game/hsfformat.h"
|
#include "game/hsfformat.h"
|
||||||
#include "game/hsfman.h"
|
#include "game/hsfman.h"
|
||||||
#include "game/animdata.h"
|
#include "game/animdata.h"
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
typedef struct model_data ModelData;
|
typedef struct model_data ModelData;
|
||||||
typedef struct particle_data ParticleData;
|
typedef struct particle_data ParticleData;
|
||||||
|
|
@ -138,7 +139,7 @@ void Hu3DParManTimeLimitSet(s16 arg0, s32 arg1);
|
||||||
void Hu3DParManVacumeSet(s16 arg0, float arg1, float arg2, float arg3, float arg4);
|
void Hu3DParManVacumeSet(s16 arg0, float arg1, float arg2, float arg3, float arg4);
|
||||||
void Hu3DParManColorSet(s16 arg0, s16 arg1);
|
void Hu3DParManColorSet(s16 arg0, s16 arg1);
|
||||||
|
|
||||||
extern Hu3DTexAnimDataStruct Hu3DTexAnimData[256];
|
SHARED_SYM extern Hu3DTexAnimDataStruct Hu3DTexAnimData[256];
|
||||||
extern Hu3DTexScrDataStruct Hu3DTexScrData[16];
|
SHARED_SYM extern Hu3DTexScrDataStruct Hu3DTexScrData[16];
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -309,12 +309,12 @@ SHARED_SYM extern Mtx Hu3DCameraMtxXPose;
|
||||||
SHARED_SYM extern LightData Hu3DGlobalLight[0x8];
|
SHARED_SYM extern LightData Hu3DGlobalLight[0x8];
|
||||||
extern s16 reflectMapNo;
|
extern s16 reflectMapNo;
|
||||||
extern AnimData *toonAnim;
|
extern AnimData *toonAnim;
|
||||||
extern s16 Hu3DShadowCamBit;
|
SHARED_SYM extern s16 Hu3DShadowCamBit;
|
||||||
extern s32 Hu3DShadowF;
|
SHARED_SYM extern s32 Hu3DShadowF;
|
||||||
extern s32 shadowModelDrawF;
|
SHARED_SYM extern s32 shadowModelDrawF;
|
||||||
extern s16 Hu3DCameraNo;
|
SHARED_SYM extern s16 Hu3DCameraNo;
|
||||||
extern s16 Hu3DCameraBit;
|
extern s16 Hu3DCameraBit;
|
||||||
extern s16 Hu3DPauseF;
|
extern s16 Hu3DPauseF;
|
||||||
extern GXColor BGColor;
|
SHARED_SYM extern GXColor BGColor;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
#include "dolphin.h"
|
#include "dolphin.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
|
||||||
extern GXRenderModeObj *RenderMode;
|
SHARED_SYM extern GXRenderModeObj *RenderMode;
|
||||||
extern OSHeapHandle currentHeapHandle;
|
extern OSHeapHandle currentHeapHandle;
|
||||||
|
|
||||||
extern void *DemoFrameBuffer1;
|
extern void *DemoFrameBuffer1;
|
||||||
|
|
|
||||||
|
|
@ -16,11 +16,11 @@ void CharRotInv(Mtx arg0, Mtx arg1, Vec *arg2, omObjData *arg3);
|
||||||
|
|
||||||
extern Mtx MapMT;
|
extern Mtx MapMT;
|
||||||
extern Mtx MapMTR;
|
extern Mtx MapMTR;
|
||||||
extern float AddX;
|
SHARED_SYM extern float AddX;
|
||||||
extern float AddZ;
|
SHARED_SYM extern float AddZ;
|
||||||
extern s32 nMap;
|
SHARED_SYM extern s32 nMap;
|
||||||
extern s32 nChar;
|
SHARED_SYM extern s32 nChar;
|
||||||
extern s32 HitFaceCount;
|
extern s32 HitFaceCount;
|
||||||
extern omObjData *MapObject[16];
|
SHARED_SYM extern omObjData *MapObject[16];
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,6 @@ s32 MGSeqUpdateRecord(SeqWork *work);
|
||||||
s32 MGSeqInitFlip(SeqWork *work, va_list params);
|
s32 MGSeqInitFlip(SeqWork *work, va_list params);
|
||||||
s32 MGSeqUpdateFlip(SeqWork *work);
|
s32 MGSeqUpdateFlip(SeqWork *work);
|
||||||
|
|
||||||
extern OverlayID mgSeqOvlPrev;
|
SHARED_SYM extern OverlayID mgSeqOvlPrev;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -23,19 +23,19 @@ void omGameSysInit(Process *objman);
|
||||||
void omVibrate(s16 player_cfg_index, s16 duration, s16 off, s16 on);
|
void omVibrate(s16 player_cfg_index, s16 duration, s16 off, s16 on);
|
||||||
|
|
||||||
|
|
||||||
extern s16 mgTypeCurr;
|
SHARED_SYM extern s16 mgTypeCurr;
|
||||||
extern s16 mgBattleStar[4];
|
SHARED_SYM extern s16 mgBattleStar[4];
|
||||||
extern s16 mgBattleStarMax;
|
SHARED_SYM extern s16 mgBattleStarMax;
|
||||||
extern u8 lbl_801D3E94;
|
SHARED_SYM extern u8 lbl_801D3E94;
|
||||||
extern u32 mgRecordExtra;
|
SHARED_SYM extern u32 mgRecordExtra;
|
||||||
SHARED_SYM extern s32 mgQuitExtraF;
|
SHARED_SYM extern s32 mgQuitExtraF;
|
||||||
SHARED_SYM extern s32 mgPracticeEnableF;
|
SHARED_SYM extern s32 mgPracticeEnableF;
|
||||||
SHARED_SYM extern s32 mgInstExitEnableF;
|
SHARED_SYM extern s32 mgInstExitEnableF;
|
||||||
SHARED_SYM extern u8 mgBoardHostEnableF;
|
SHARED_SYM extern u8 mgBoardHostEnableF;
|
||||||
|
|
||||||
extern s16 mgTicTacToeGrid[3][3];
|
SHARED_SYM extern s16 mgTicTacToeGrid[3][3];
|
||||||
extern u8 mgIndexList[256];
|
SHARED_SYM extern u8 mgIndexList[256];
|
||||||
extern GameStat mgGameStatBackup;
|
SHARED_SYM extern GameStat mgGameStatBackup;
|
||||||
|
|
||||||
SHARED_SYM extern MgInfo mgInfoTbl[];
|
SHARED_SYM extern MgInfo mgInfoTbl[];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ SHARED_SYM extern char *SaveFileNameTbl[];
|
||||||
SHARED_SYM extern CARDFileInfo curFileInfo;
|
SHARED_SYM extern CARDFileInfo curFileInfo;
|
||||||
SHARED_SYM extern SaveBufAll saveBuf;
|
SHARED_SYM extern SaveBufAll saveBuf;
|
||||||
extern u64 SLSerialNo;
|
extern u64 SLSerialNo;
|
||||||
extern s32 saveExecF;
|
SHARED_SYM extern s32 saveExecF;
|
||||||
extern u8 curBoxNo;
|
extern u8 curBoxNo;
|
||||||
SHARED_SYM extern s16 curSlotNo;
|
SHARED_SYM extern s16 curSlotNo;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,17 @@
|
||||||
#include "REL/board_executor.h"
|
#include "REL/board_executor.h"
|
||||||
#include "math.h"
|
#include "math.h"
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
void ObjectSetup(void) {
|
||||||
|
BoardObjectSetup(BoardCreate, BoardDestroy);
|
||||||
|
}
|
||||||
|
#else
|
||||||
static void ObjectSetup(void) {
|
static void ObjectSetup(void) {
|
||||||
BoardObjectSetup(BoardCreate, BoardDestroy);
|
BoardObjectSetup(BoardCreate, BoardDestroy);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
s32 _prolog(void) {
|
s32 _prolog(void) {
|
||||||
const VoidFunc* ctors = _ctors;
|
const VoidFunc* ctors = _ctors;
|
||||||
while (*ctors != 0) {
|
while (*ctors != 0) {
|
||||||
|
|
@ -21,4 +28,5 @@ void _epilog(void) {
|
||||||
(**dtors)();
|
(**dtors)();
|
||||||
dtors++;
|
dtors++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -226,7 +226,7 @@ void fn_1_D488(float arg8, Vec *arg0, Vec *arg1, Vec *arg2);
|
||||||
void fn_1_D518(Mtx arg0, Vec *arg1);
|
void fn_1_D518(Mtx arg0, Vec *arg1);
|
||||||
float fn_1_D5CC(Vec *arg0, Vec *arg1, float arg8, float arg9);
|
float fn_1_D5CC(Vec *arg0, Vec *arg1, float arg8, float arg9);
|
||||||
|
|
||||||
extern u32 GlobalCounter;
|
SHARED_SYM extern u32 GlobalCounter;
|
||||||
|
|
||||||
Vec lbl_1_data_F0[0x46] = {
|
Vec lbl_1_data_F0[0x46] = {
|
||||||
{ -495.876f, 50.005f, -0.0f },
|
{ -495.876f, 50.005f, -0.0f },
|
||||||
|
|
|
||||||
|
|
@ -1150,7 +1150,7 @@ void fn_1_10830(ModelData *arg0, HsfBitmap *arg1, HsfAttribute *arg2, s16 arg3)
|
||||||
GXSetTevColor(reg, color_var); \
|
GXSetTevColor(reg, color_var); \
|
||||||
}
|
}
|
||||||
|
|
||||||
extern u32 texMtxTbl[];
|
SHARED_SYM extern u32 texMtxTbl[];
|
||||||
|
|
||||||
void fn_1_10B60(UnkFn10484 *arg0, HsfMaterial *arg1)
|
void fn_1_10B60(UnkFn10484 *arg0, HsfMaterial *arg1)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ void fn_1_C0C0(void)
|
||||||
Hu3DModelKill(lbl_1_bss_F0.unk4);
|
Hu3DModelKill(lbl_1_bss_F0.unk4);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern u8 texMtxTbl[];
|
SHARED_SYM extern u8 texMtxTbl[];
|
||||||
|
|
||||||
void fn_1_C164(unkStruct8 *arg0)
|
void fn_1_C164(unkStruct8 *arg0)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -421,8 +421,11 @@ void fn_1_1960(omObjData *object)
|
||||||
GXDrawDone();
|
GXDrawDone();
|
||||||
temp_r3 = fn_1_9734(object->model[2]);
|
temp_r3 = fn_1_9734(object->model[2]);
|
||||||
temp_r29 = Hu3DShadowData.unk_02 * Hu3DShadowData.unk_02;
|
temp_r29 = Hu3DShadowData.unk_02 * Hu3DShadowData.unk_02;
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
// TODO PC
|
||||||
memcpy((*temp_r3)->bmp->data, OSCachedToUncached(Hu3DShadowData.unk_04), temp_r29);
|
memcpy((*temp_r3)->bmp->data, OSCachedToUncached(Hu3DShadowData.unk_04), temp_r29);
|
||||||
DCStoreRangeNoSync((*temp_r3)->bmp->data, temp_r29);
|
#endif
|
||||||
|
DCStoreRangeNoSync((*temp_r3)->bmp->data, temp_r29);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
Hu3DModelShadowMapObjSet(object->model[0], "kyanbasu");
|
Hu3DModelShadowMapObjSet(object->model[0], "kyanbasu");
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#define frand7() (frand() & 0x7F)
|
#define frand7() (frand() & 0x7F)
|
||||||
|
|
||||||
extern u32 GlobalCounter;
|
SHARED_SYM extern u32 GlobalCounter;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ s32 unk00;
|
/* 0x00 */ s32 unk00;
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
|
|
||||||
#include "REL/m425Dll.h"
|
#include "REL/m425Dll.h"
|
||||||
|
|
||||||
extern u8 texMtxTbl[]; // TODO maybe put in hsfdraw.h?
|
SHARED_SYM extern u8 texMtxTbl[]; // TODO maybe put in hsfdraw.h?
|
||||||
|
|
||||||
typedef struct M425DllWork {
|
typedef struct M425DllWork {
|
||||||
u8 unk_00;
|
u8 unk_00;
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
#include "REL/m425Dll.h"
|
#include "REL/m425Dll.h"
|
||||||
|
|
||||||
extern u32 GlobalCounter;
|
SHARED_SYM extern u32 GlobalCounter;
|
||||||
SHARED_SYM extern LightData Hu3DLocalLight[0x20];
|
SHARED_SYM extern LightData Hu3DLocalLight[0x20];
|
||||||
|
|
||||||
typedef struct M425DllUnkStruct4 {
|
typedef struct M425DllUnkStruct4 {
|
||||||
|
|
|
||||||
|
|
@ -265,7 +265,7 @@ void fn_1_DB8(omObjData *object);
|
||||||
void fn_1_E18(omObjData *object);
|
void fn_1_E18(omObjData *object);
|
||||||
void fn_1_EB8(void);
|
void fn_1_EB8(void);
|
||||||
|
|
||||||
extern u32 GlobalCounter;
|
SHARED_SYM extern u32 GlobalCounter;
|
||||||
|
|
||||||
Vec lbl_1_data_0[4] = {
|
Vec lbl_1_data_0[4] = {
|
||||||
{ -600.0f, 0.0f, -285.0f },
|
{ -600.0f, 0.0f, -285.0f },
|
||||||
|
|
|
||||||
|
|
@ -239,7 +239,7 @@ s32 fn_1_F288(Vec *arg0, Vec *arg1, float arg8);
|
||||||
s32 fn_1_F538(Vec *arg0, Vec *arg1, Vec *arg2, float arg8);
|
s32 fn_1_F538(Vec *arg0, Vec *arg1, Vec *arg2, float arg8);
|
||||||
s32 fn_1_FB8C(Vec *arg0, Vec *arg1, float arg8, s32 arg2, s32 arg3);
|
s32 fn_1_FB8C(Vec *arg0, Vec *arg1, float arg8, s32 arg2, s32 arg3);
|
||||||
|
|
||||||
extern u32 GlobalCounter;
|
SHARED_SYM extern u32 GlobalCounter;
|
||||||
|
|
||||||
Vec lbl_1_data_150[4] = {
|
Vec lbl_1_data_150[4] = {
|
||||||
{ -140.0f, -400.0f, 0.0f },
|
{ -140.0f, -400.0f, 0.0f },
|
||||||
|
|
@ -2137,7 +2137,7 @@ void fn_1_FE98(M428DllPlayerUnk120Struct *arg0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GXColor lbl_1_data_694[2] = { {0xFF, 0xA0, 0x40, 0xFF}, {0x00, 0xC8, 0xFF, 0xFF} };
|
GXColor lbl_1_data_694[2] = { { 0xFF, 0xA0, 0x40, 0xFF }, { 0x00, 0xC8, 0xFF, 0xFF } };
|
||||||
s16 lbl_1_data_69C[2] = { -0x10, 0x10 };
|
s16 lbl_1_data_69C[2] = { -0x10, 0x10 };
|
||||||
s16 lbl_1_data_6A0[2] = { 0x1A4, 0x60 };
|
s16 lbl_1_data_6A0[2] = { 0x1A4, 0x60 };
|
||||||
Vec lbl_1_data_6A4[4] = {
|
Vec lbl_1_data_6A4[4] = {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
#include <ext_math.h>
|
#include <ext_math.h>
|
||||||
|
|
||||||
extern u8 texMtxTbl[];
|
SHARED_SYM extern u8 texMtxTbl[];
|
||||||
|
|
||||||
// PROTO
|
// PROTO
|
||||||
void fn_1_E790(M438UnkStruct2 *);
|
void fn_1_E790(M438UnkStruct2 *);
|
||||||
|
|
|
||||||
|
|
@ -29,18 +29,8 @@ s32 lbl_1_data_0[][4] = {
|
||||||
|
|
||||||
s32 lbl_1_data_70 = -1;
|
s32 lbl_1_data_70 = -1;
|
||||||
|
|
||||||
// char lbl_1_data_74[] = ">>>>>>>>>> CAMERA DATA <<<<<<<<<<";
|
|
||||||
// char lbl_1_data_96[] = "CENTER : %.2f, %.2f, %.2f";
|
|
||||||
// char lbl_1_data_B0[] = "ROT : %.2f, %.2f, %.2f";
|
|
||||||
// char lbl_1_data_CA[] = "ZOOM : %.2f";
|
|
||||||
|
|
||||||
extern s32 _prolog();
|
|
||||||
extern void _epilog();
|
|
||||||
void fn_1_144(void);
|
void fn_1_144(void);
|
||||||
void fn_1_2318(s32);
|
void fn_1_2318(s32);
|
||||||
typedef void (*VoidFunc)(void);
|
|
||||||
extern const VoidFunc _ctors[];
|
|
||||||
extern const VoidFunc _dtors[];
|
|
||||||
|
|
||||||
void fn_1_0(omObjData *arg0)
|
void fn_1_0(omObjData *arg0)
|
||||||
{
|
{
|
||||||
|
|
@ -58,27 +48,11 @@ void fn_1_4C(omObjData *object)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 _prolog(void)
|
#ifdef __MWERKS__
|
||||||
{
|
#include "src/REL/executor.c"
|
||||||
const VoidFunc *ctors = _ctors;
|
#endif
|
||||||
while (*ctors != 0) {
|
|
||||||
(**ctors)();
|
|
||||||
ctors++;
|
|
||||||
}
|
|
||||||
fn_1_144();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void _epilog(void)
|
void ObjectSetup(void)
|
||||||
{
|
|
||||||
const VoidFunc *dtors = _dtors;
|
|
||||||
while (*dtors != 0) {
|
|
||||||
(**dtors)();
|
|
||||||
dtors++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void fn_1_144(void)
|
|
||||||
{
|
{
|
||||||
_ClearFlag(0x1000BU);
|
_ClearFlag(0x1000BU);
|
||||||
boardTutorialF = 0;
|
boardTutorialF = 0;
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ static inline void HuControlCamCenter(Vec *sp18, Vec *sp30)
|
||||||
|
|
||||||
// -------------------------------------------------------------------------- //
|
// -------------------------------------------------------------------------- //
|
||||||
|
|
||||||
void fn_1_37DC(omObjData *)
|
void fn_1_37DC(omObjData *object)
|
||||||
{
|
{
|
||||||
Vec sp3C;
|
Vec sp3C;
|
||||||
Vec sp30;
|
Vec sp30;
|
||||||
|
|
@ -135,7 +135,7 @@ void fn_1_37DC(omObjData *)
|
||||||
|
|
||||||
// -------------------------------------------------------------------------- //
|
// -------------------------------------------------------------------------- //
|
||||||
|
|
||||||
void fn_1_439C(omObjData *)
|
void fn_1_439C(omObjData *object)
|
||||||
{
|
{
|
||||||
s16 var_r31;
|
s16 var_r31;
|
||||||
f32 temp_f30;
|
f32 temp_f30;
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,9 @@ void fn_1_A4(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
#include "src/REL/executor.c"
|
#include "src/REL/executor.c"
|
||||||
|
#endif
|
||||||
|
|
||||||
void fn_1_3E4(void)
|
void fn_1_3E4(void)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,9 @@ void fn_1_A4(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
#include "src/REL/executor.c"
|
#include "src/REL/executor.c"
|
||||||
|
#endif
|
||||||
|
|
||||||
void fn_1_40C(void) {
|
void fn_1_40C(void) {
|
||||||
lbl_1_bss_0 = omInitObjMan(62, 0x2000);
|
lbl_1_bss_0 = omInitObjMan(62, 0x2000);
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,6 @@ s32 lbl_1_data_56C[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
void fn_1_EC(void);
|
void fn_1_EC(void);
|
||||||
void fn_1_12E8(void);
|
|
||||||
void fn_1_13A0(void);
|
void fn_1_13A0(void);
|
||||||
|
|
||||||
s32 lbl_1_bss_14;
|
s32 lbl_1_bss_14;
|
||||||
|
|
@ -454,25 +453,11 @@ void fn_1_EC(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 _prolog(void) {
|
#ifdef __MWERKS__
|
||||||
const VoidFunc* ctors = _ctors;
|
#include "src/REL/executor.c"
|
||||||
while (*ctors != 0) {
|
#endif
|
||||||
(**ctors)();
|
|
||||||
ctors++;
|
|
||||||
}
|
|
||||||
fn_1_12E8();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void _epilog(void) {
|
void ObjectSetup(void)
|
||||||
const VoidFunc* dtors = _dtors;
|
|
||||||
while (*dtors != 0) {
|
|
||||||
(**dtors)();
|
|
||||||
dtors++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void fn_1_12E8(void)
|
|
||||||
{
|
{
|
||||||
lbl_1_bss_0 = omInitObjMan(62, 8192);
|
lbl_1_bss_0 = omInitObjMan(62, 8192);
|
||||||
omGameSysInit(lbl_1_bss_0);
|
omGameSysInit(lbl_1_bss_0);
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,9 @@ void fn_1_A4(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
#include "src/REL/executor.c"
|
#include "src/REL/executor.c"
|
||||||
|
#endif
|
||||||
|
|
||||||
void fn_1_488(void) {
|
void fn_1_488(void) {
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,10 @@
|
||||||
#include "dolphin.h"
|
#include "dolphin.h"
|
||||||
#include "math.h"
|
#include "math.h"
|
||||||
|
|
||||||
|
#ifndef __MWERKS__
|
||||||
|
#include <game/audio.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x000 */ omObjData *object[26];
|
/* 0x000 */ omObjData *object[26];
|
||||||
/* 0x068 */ OptionWindow *window[13];
|
/* 0x068 */ OptionWindow *window[13];
|
||||||
|
|
@ -110,7 +114,7 @@ static void CreateNote(omObjData *object, s32 type, s32 side, s32 color);
|
||||||
static void CreateNoteSpawner(omObjData *object);
|
static void CreateNoteSpawner(omObjData *object);
|
||||||
static void KillNoteSpawner(omObjData *object);
|
static void KillNoteSpawner(omObjData *object);
|
||||||
static void ExecNoteSpawner(void);
|
static void ExecNoteSpawner(void);
|
||||||
static void PlaySound(omObjData *object);
|
static void OptionPlaySound(omObjData *object);
|
||||||
static void FadeSound(omObjData *object);
|
static void FadeSound(omObjData *object);
|
||||||
|
|
||||||
omObjData *optionSound;
|
omObjData *optionSound;
|
||||||
|
|
@ -920,7 +924,7 @@ static void ExecMusic(omObjData *object)
|
||||||
HuAudSeqFadeOut(work->bgMusicStat, 0x64);
|
HuAudSeqFadeOut(work->bgMusicStat, 0x64);
|
||||||
work->bgMusicStat = -1;
|
work->bgMusicStat = -1;
|
||||||
}
|
}
|
||||||
PlaySound(object);
|
OptionPlaySound(object);
|
||||||
}
|
}
|
||||||
else if (OptionPadCheck(PAD_BUTTON_B)) {
|
else if (OptionPadCheck(PAD_BUTTON_B)) {
|
||||||
HuAudFXPlay(3);
|
HuAudFXPlay(3);
|
||||||
|
|
@ -1101,7 +1105,7 @@ static void ExecVoice(omObjData *object)
|
||||||
case 6:
|
case 6:
|
||||||
if (work->window[0]->state == 0 && work->window[1]->state == 0) {
|
if (work->window[0]->state == 0 && work->window[1]->state == 0) {
|
||||||
if (OptionPadCheck(PAD_BUTTON_A)) {
|
if (OptionPadCheck(PAD_BUTTON_A)) {
|
||||||
PlaySound(object);
|
OptionPlaySound(object);
|
||||||
}
|
}
|
||||||
else if (OptionPadCheck(PAD_BUTTON_B)) {
|
else if (OptionPadCheck(PAD_BUTTON_B)) {
|
||||||
HuAudFXPlay(3);
|
HuAudFXPlay(3);
|
||||||
|
|
@ -1665,7 +1669,7 @@ static void ExecNoteSpawner(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PlaySound(omObjData *object)
|
static void OptionPlaySound(omObjData *object)
|
||||||
{
|
{
|
||||||
SoundWork *work = object->data;
|
SoundWork *work = object->data;
|
||||||
SndSelData *sndSelData;
|
SndSelData *sndSelData;
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ typedef struct PresentDistanceStruct {
|
||||||
static void ExecSelectRoom(omObjData *object);
|
static void ExecSelectRoom(omObjData *object);
|
||||||
static void ChangeRoom(omObjData *object, s32 direction);
|
static void ChangeRoom(omObjData *object, s32 direction);
|
||||||
static void ExecSelectPresent(omObjData *object);
|
static void ExecSelectPresent(omObjData *object);
|
||||||
static void GetCursorPos(omObjData *object, float *x, float *y, float *z);
|
static void PresentGetCursorPos(omObjData *object, float *x, float *y, float *z);
|
||||||
static void SetCameraRot(omObjData *object, float rot, s32 duration);
|
static void SetCameraRot(omObjData *object, float rot, s32 duration);
|
||||||
static void RotateCamera(omObjData *object);
|
static void RotateCamera(omObjData *object);
|
||||||
static BOOL CameraRotationDoneCheck(omObjData *object);
|
static BOOL CameraRotationDoneCheck(omObjData *object);
|
||||||
|
|
@ -731,7 +731,7 @@ static void ExecSelectPresent(omObjData *object)
|
||||||
work->cursorSpeed = 1.0f / 6.0f;
|
work->cursorSpeed = 1.0f / 6.0f;
|
||||||
if (work->roomNotEmptyF) {
|
if (work->roomNotEmptyF) {
|
||||||
Vec cursorPos;
|
Vec cursorPos;
|
||||||
GetCursorPos(work->object[roomTbl[room].presentData[idxInRoom].cursorPosIdx], &cursorPos.x, &cursorPos.y, &cursorPos.z);
|
PresentGetCursorPos(work->object[roomTbl[room].presentData[idxInRoom].cursorPosIdx], &cursorPos.x, &cursorPos.y, &cursorPos.z);
|
||||||
Hu3D3Dto2D(&cursorPos, 1, &cursorPos);
|
Hu3D3Dto2D(&cursorPos, 1, &cursorPos);
|
||||||
cursorPos.y -= 15.0f;
|
cursorPos.y -= 15.0f;
|
||||||
cursorPos.x -= 20.0f;
|
cursorPos.x -= 20.0f;
|
||||||
|
|
@ -818,7 +818,7 @@ static void ExecSelectPresent(omObjData *object)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void GetCursorPos(omObjData *object, float *x, float *y, float *z)
|
static void PresentGetCursorPos(omObjData *object, float *x, float *y, float *z)
|
||||||
{
|
{
|
||||||
Mtx sp8;
|
Mtx sp8;
|
||||||
|
|
||||||
|
|
@ -966,7 +966,7 @@ static s32 MoveCursor(omObjData *object, s32 arg1)
|
||||||
return work->idxInRoom;
|
return work->idxInRoom;
|
||||||
}
|
}
|
||||||
|
|
||||||
GetCursorPos(work->object[roomTbl[work->room].presentData[work->idxInRoom].cursorPosIdx], &cursorPos.x, &cursorPos.y, &cursorPos.z);
|
PresentGetCursorPos(work->object[roomTbl[work->room].presentData[work->idxInRoom].cursorPosIdx], &cursorPos.x, &cursorPos.y, &cursorPos.z);
|
||||||
Hu3D3Dto2D(&cursorPos, 1, &cursorPos);
|
Hu3D3Dto2D(&cursorPos, 1, &cursorPos);
|
||||||
for (i = 0, j = 0; i == 0 && j < 1; j++) {
|
for (i = 0, j = 0; i == 0 && j < 1; j++) {
|
||||||
for (i = 0, present = 0; present < totalPresents; present++) {
|
for (i = 0, present = 0; present < totalPresents; present++) {
|
||||||
|
|
@ -978,7 +978,7 @@ static s32 MoveCursor(omObjData *object, s32 arg1)
|
||||||
if (!PresentUnlocked(object, work->room, present)) {
|
if (!PresentUnlocked(object, work->room, present)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
GetCursorPos(work->object[roomTbl[work->room].presentData[present].cursorPosIdx], &cursorPosNew.x, &cursorPosNew.y, &cursorPosNew.z);
|
PresentGetCursorPos(work->object[roomTbl[work->room].presentData[present].cursorPosIdx], &cursorPosNew.x, &cursorPosNew.y, &cursorPosNew.z);
|
||||||
Hu3D3Dto2D(&cursorPosNew, 1, &cursorPosNew);
|
Hu3D3Dto2D(&cursorPosNew, 1, &cursorPosNew);
|
||||||
dx = cursorPos.x - cursorPosNew.x;
|
dx = cursorPos.x - cursorPosNew.x;
|
||||||
dy = cursorPos.y - cursorPosNew.y;
|
dy = cursorPos.y - cursorPosNew.y;
|
||||||
|
|
|
||||||
|
|
@ -16,10 +16,13 @@
|
||||||
#include "game/wipe.h"
|
#include "game/wipe.h"
|
||||||
#include "math.h"
|
#include "math.h"
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
// MSM Definitions
|
// MSM Definitions
|
||||||
static s8 *msmSeGetIndexPtr(s16 datano);
|
static s8 *msmSeGetIndexPtr(s16 datano);
|
||||||
static void msmMusSetMasterVolume(s32 value);
|
static void msmMusSetMasterVolume(s32 value);
|
||||||
|
#else
|
||||||
|
#include "game/msm.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SM_PAGE_MAX 7
|
#define SM_PAGE_MAX 7
|
||||||
#define SM_PAGE_SIZE 10
|
#define SM_PAGE_SIZE 10
|
||||||
|
|
|
||||||
|
|
@ -60,8 +60,6 @@ typedef struct w03UnkMG {
|
||||||
|
|
||||||
// external symbols
|
// external symbols
|
||||||
|
|
||||||
extern u16 HuPadBtnDown[4];
|
|
||||||
|
|
||||||
// function signatures
|
// function signatures
|
||||||
s32 BoardVecDAngleCalcRange(float *value, float min, float range);
|
s32 BoardVecDAngleCalcRange(float *value, float min, float range);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ typedef struct w03UnkWorkStruct {
|
||||||
|
|
||||||
extern w03State* lbl_1_bss_0;
|
extern w03State* lbl_1_bss_0;
|
||||||
omObjData* lbl_1_bss_138[2];
|
omObjData* lbl_1_bss_138[2];
|
||||||
extern Process *boardObjMan;
|
|
||||||
extern s16 lbl_1_data_1E0;
|
extern s16 lbl_1_data_1E0;
|
||||||
|
|
||||||
void fn_1_79E0(omObjData* arg0);
|
void fn_1_79E0(omObjData* arg0);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#include "include/REL/w10Dll.h"
|
#include "REL/w10Dll.h"
|
||||||
#include "game/data.h"
|
#include "game/data.h"
|
||||||
#include "game/hsfman.h"
|
#include "game/hsfman.h"
|
||||||
#include "game/board/lottery.h"
|
#include "game/board/lottery.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#include "include/REL/w10Dll.h"
|
#include "REL/w10Dll.h"
|
||||||
#include "game/board/char_wheel.h"
|
#include "game/board/char_wheel.h"
|
||||||
#include "game/board/lottery.h"
|
#include "game/board/lottery.h"
|
||||||
#include "game/board/main.h"
|
#include "game/board/main.h"
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ void C_QUATAdd(const Quaternion *p, const Quaternion *q, Qtrn *r)
|
||||||
r->w = p->w + q->w;
|
r->w = p->w + q->w;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef GEKKO
|
||||||
void PSQUATAdd(register const Quaternion *p, register const Quaternion *q, register Quaternion *r)
|
void PSQUATAdd(register const Quaternion *p, register const Quaternion *q, register Quaternion *r)
|
||||||
{
|
{
|
||||||
asm {
|
asm {
|
||||||
|
|
@ -27,7 +28,16 @@ void PSQUATAdd(register const Quaternion *p, register const Quaternion *q, regis
|
||||||
psq_st f0, 0x8(r5), 0, 0
|
psq_st f0, 0x8(r5), 0, 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
void C_QUATMultiply(const Quaternion *a, const Quaternion *b, Quaternion *ab)
|
||||||
|
{
|
||||||
|
// TODO PC
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef GEKKO
|
||||||
void PSQUATMultiply(register const Quaternion *a, register const Quaternion *b, register Quaternion *ab)
|
void PSQUATMultiply(register const Quaternion *a, register const Quaternion *b, register Quaternion *ab)
|
||||||
{
|
{
|
||||||
asm {
|
asm {
|
||||||
|
|
@ -55,7 +65,16 @@ void PSQUATMultiply(register const Quaternion *a, register const Quaternion *b,
|
||||||
psq_st f5, 8(ab), 0, 0
|
psq_st f5, 8(ab), 0, 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
void C_QUATNormalize(register Quaternion *src, Quaternion *unit)
|
||||||
|
{
|
||||||
|
// TODO PC
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef GEKKO
|
||||||
void PSQUATNormalize(const register Quaternion *src, register Quaternion *unit)
|
void PSQUATNormalize(const register Quaternion *src, register Quaternion *unit)
|
||||||
{
|
{
|
||||||
// sdata2
|
// sdata2
|
||||||
|
|
@ -95,7 +114,16 @@ void PSQUATNormalize(const register Quaternion *src, register Quaternion *unit)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TARGET_PC
|
||||||
|
void C_QUATInverse(const Quaternion *src, Quaternion *inv)
|
||||||
|
{
|
||||||
|
// TODO PC
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef GEKKO
|
||||||
void PSQUATInverse(const register Quaternion *src, register Quaternion *inv)
|
void PSQUATInverse(const register Quaternion *src, register Quaternion *inv)
|
||||||
{
|
{
|
||||||
register f32 vv1, vv2, vv3, vv4;
|
register f32 vv1, vv2, vv3, vv4;
|
||||||
|
|
@ -126,6 +154,7 @@ void PSQUATInverse(const register Quaternion *src, register Quaternion *inv)
|
||||||
psq_st vv3, 8(inv), 1, 0;
|
psq_st vv3, 8(inv), 1, 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void C_QUATRotAxisRad(Quaternion *q, const Vec *axis, f32 rad)
|
void C_QUATRotAxisRad(Quaternion *q, const Vec *axis, f32 rad)
|
||||||
{
|
{
|
||||||
|
|
@ -133,7 +162,7 @@ void C_QUATRotAxisRad(Quaternion *q, const Vec *axis, f32 rad)
|
||||||
Vec dst;
|
Vec dst;
|
||||||
|
|
||||||
tmp = rad;
|
tmp = rad;
|
||||||
PSVECNormalize(axis, &dst);
|
VECNormalize(axis, &dst);
|
||||||
|
|
||||||
tmp2 = tmp * 0.5f;
|
tmp2 = tmp * 0.5f;
|
||||||
tmp3 = sinf(tmp * 0.5f);
|
tmp3 = sinf(tmp * 0.5f);
|
||||||
|
|
|
||||||
|
|
@ -46,11 +46,11 @@ u32 boardRandSeed;
|
||||||
static omObjData *last5GfxObj;
|
static omObjData *last5GfxObj;
|
||||||
static omObjData *confettiObj;
|
static omObjData *confettiObj;
|
||||||
static omObjData *filterObj;
|
static omObjData *filterObj;
|
||||||
BoardTurnStartHook boardTurnStartFunc;
|
SHARED_SYM BoardTurnStartHook boardTurnStartFunc;
|
||||||
BoardBowserHook boardBowserHook;
|
SHARED_SYM BoardBowserHook boardBowserHook;
|
||||||
void (*boardStarShowNextHook)(void);
|
SHARED_SYM void (*boardStarShowNextHook)(void);
|
||||||
void (*boardStarGiveHook)(void);
|
SHARED_SYM void (*boardStarGiveHook)(void);
|
||||||
BoardFunc boardTurnFunc;
|
SHARED_SYM BoardFunc boardTurnFunc;
|
||||||
BoardLightHook boardLightResetHook;
|
BoardLightHook boardLightResetHook;
|
||||||
BoardLightHook boardLightSetHook;
|
BoardLightHook boardLightSetHook;
|
||||||
static BoardFunc destroyFunc;
|
static BoardFunc destroyFunc;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
#include <game/board/window.h>
|
#include <game/board/window.h>
|
||||||
#include <game/hsfex.h>
|
#include <game/hsfex.h>
|
||||||
|
|
||||||
extern s32 boardTutorialData[4];
|
SHARED_SYM extern s32 boardTutorialData[4];
|
||||||
|
|
||||||
|
|
||||||
static void KillMushroom();
|
static void KillMushroom();
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ static HsfMaterial *playerMatCopy[4];
|
||||||
static s32 (*postTurnHook[4])();
|
static s32 (*postTurnHook[4])();
|
||||||
static s32 (*preTurnHook[4])();
|
static s32 (*preTurnHook[4])();
|
||||||
|
|
||||||
s16 boardPlayerMdl[4];
|
SHARED_SYM s16 boardPlayerMdl[4];
|
||||||
static s16 playerMot[4];
|
static s16 playerMot[4];
|
||||||
static s8 itemPrev;
|
static s8 itemPrev;
|
||||||
static s8 moveAwayPlayer[4];
|
static s8 moveAwayPlayer[4];
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#include <game/board/space.h>
|
#include <game/board/space.h>
|
||||||
|
|
||||||
s32 boardTutorialData[4]; // maybe a single s32 + padding?
|
SHARED_SYM s32 boardTutorialData[4]; // maybe a single s32 + padding?
|
||||||
static void (*tutorialHook)(s16, s32);
|
static void (*tutorialHook)(s16, s32);
|
||||||
s8 boardTutorialDirInputX;
|
s8 boardTutorialDirInputX;
|
||||||
s8 boardTutorialDirInputY;
|
s8 boardTutorialDirInputY;
|
||||||
|
|
@ -17,7 +17,7 @@ s8 boardTutorialBlockItem;
|
||||||
s8 boardTutorialBlockF;
|
s8 boardTutorialBlockF;
|
||||||
s8 boardTutorialUseItem;
|
s8 boardTutorialUseItem;
|
||||||
static s16 hostMdl;
|
static s16 hostMdl;
|
||||||
s8 boardTutorialF;
|
SHARED_SYM s8 boardTutorialF;
|
||||||
static Process *tutorialProcess;
|
static Process *tutorialProcess;
|
||||||
static void *playerCfgCopy;
|
static void *playerCfgCopy;
|
||||||
static void *playerCopy;
|
static void *playerCopy;
|
||||||
|
|
|
||||||
|
|
@ -31,10 +31,10 @@ static void ParManHook(ModelData *arg0, ParticleData *arg1, Mtx matrix);
|
||||||
|
|
||||||
u32 frand(void);
|
u32 frand(void);
|
||||||
|
|
||||||
extern u32 GlobalCounter;
|
SHARED_SYM extern u32 GlobalCounter;
|
||||||
|
|
||||||
Hu3DTexAnimDataStruct Hu3DTexAnimData[HU3D_TEXANIM_MAX];
|
SHARED_SYM Hu3DTexAnimDataStruct Hu3DTexAnimData[HU3D_TEXANIM_MAX];
|
||||||
Hu3DTexScrDataStruct Hu3DTexScrData[16];
|
SHARED_SYM Hu3DTexScrDataStruct Hu3DTexScrData[16];
|
||||||
static Process *parManProc[64];
|
static Process *parManProc[64];
|
||||||
|
|
||||||
void Hu3DAnimInit(void) {
|
void Hu3DAnimInit(void) {
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,7 @@ static u8 *PGName;
|
||||||
static s32 TL32F;
|
static s32 TL32F;
|
||||||
static s32 CancelTRXF;
|
static s32 CancelTRXF;
|
||||||
|
|
||||||
u8 texMtxTbl[] = { GX_TEXMTX0, GX_TEXMTX1, GX_TEXMTX2, GX_TEXMTX3, GX_TEXMTX4, GX_TEXMTX5, GX_TEXMTX6, GX_TEXMTX7, GX_TEXMTX8, GX_TEXMTX9 };
|
SHARED_SYM u8 texMtxTbl[] = { GX_TEXMTX0, GX_TEXMTX1, GX_TEXMTX2, GX_TEXMTX3, GX_TEXMTX4, GX_TEXMTX5, GX_TEXMTX6, GX_TEXMTX7, GX_TEXMTX8, GX_TEXMTX9 };
|
||||||
|
|
||||||
static s16 oneceF = 1;
|
static s16 oneceF = 1;
|
||||||
static GXColor firstTev = { 0xFF, 0xFF, 0x00, 0x00 };
|
static GXColor firstTev = { 0xFF, 0xFF, 0x00, 0x00 };
|
||||||
|
|
|
||||||
|
|
@ -37,14 +37,14 @@ SHARED_SYM LightData Hu3DGlobalLight[0x8];
|
||||||
SHARED_SYM LightData Hu3DLocalLight[0x20];
|
SHARED_SYM LightData Hu3DLocalLight[0x20];
|
||||||
Mtx lbl_8018D39C;
|
Mtx lbl_8018D39C;
|
||||||
|
|
||||||
GXColor BGColor;
|
SHARED_SYM GXColor BGColor;
|
||||||
s16 reflectMapNo;
|
s16 reflectMapNo;
|
||||||
AnimData *toonAnim;
|
AnimData *toonAnim;
|
||||||
s16 Hu3DShadowCamBit;
|
SHARED_SYM s16 Hu3DShadowCamBit;
|
||||||
s32 Hu3DShadowF;
|
SHARED_SYM s32 Hu3DShadowF;
|
||||||
s32 shadowModelDrawF;
|
SHARED_SYM s32 shadowModelDrawF;
|
||||||
s16 Hu3DProjectionNum;
|
s16 Hu3DProjectionNum;
|
||||||
s16 Hu3DCameraNo;
|
SHARED_SYM s16 Hu3DCameraNo;
|
||||||
s16 Hu3DCameraBit;
|
s16 Hu3DCameraBit;
|
||||||
uintptr_t Hu3DMallocNo;
|
uintptr_t Hu3DMallocNo;
|
||||||
s16 Hu3DPauseF;
|
s16 Hu3DPauseF;
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ extern u32 frand();
|
||||||
static GXRenderModeObj rmodeobj;
|
static GXRenderModeObj rmodeobj;
|
||||||
|
|
||||||
static BOOL FirstFrame = TRUE;
|
static BOOL FirstFrame = TRUE;
|
||||||
GXRenderModeObj *RenderMode;
|
SHARED_SYM GXRenderModeObj *RenderMode;
|
||||||
OSHeapHandle currentHeapHandle;
|
OSHeapHandle currentHeapHandle;
|
||||||
static void *DefaultFifo;
|
static void *DefaultFifo;
|
||||||
static GXFifoObj *DefaultFifoObj;
|
static GXFifoObj *DefaultFifoObj;
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ const char *__asan_default_options()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern FileListEntry _ovltbl[];
|
extern FileListEntry _ovltbl[];
|
||||||
u32 GlobalCounter;
|
SHARED_SYM u32 GlobalCounter;
|
||||||
static u32 vcheck;
|
static u32 vcheck;
|
||||||
static u32 vmiss;
|
static u32 vmiss;
|
||||||
static u32 vstall;
|
static u32 vstall;
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ static BOOL GetPolygonCircleMtx(s16 *arg0, Vec *arg1, float *arg2, float *arg3);
|
||||||
static s32 PrecalcPntToTriangle(Vec *arg0, Vec *arg1, Vec *arg2, Vec* arg3, Vec *arg4, Vec *arg5);
|
static s32 PrecalcPntToTriangle(Vec *arg0, Vec *arg1, Vec *arg2, Vec* arg3, Vec *arg4, Vec *arg5);
|
||||||
static void DefSetHitFace(float arg0, float arg1, float arg2);
|
static void DefSetHitFace(float arg0, float arg1, float arg2);
|
||||||
|
|
||||||
omObjData *MapObject[16];
|
SHARED_SYM omObjData *MapObject[16];
|
||||||
Mtx MapMT;
|
Mtx MapMT;
|
||||||
Mtx MapMTR;
|
Mtx MapMTR;
|
||||||
static Vec MTRAdd;
|
static Vec MTRAdd;
|
||||||
|
|
@ -30,10 +30,10 @@ static Vec OldXYZ;
|
||||||
Vec HitFace[32];
|
Vec HitFace[32];
|
||||||
u8 CharObject[0x30];
|
u8 CharObject[0x30];
|
||||||
|
|
||||||
float AddX;
|
SHARED_SYM float AddX;
|
||||||
float AddZ;
|
SHARED_SYM float AddZ;
|
||||||
s32 nMap;
|
SHARED_SYM s32 nMap;
|
||||||
s32 nChar;
|
SHARED_SYM s32 nChar;
|
||||||
s32 HitFaceCount;
|
s32 HitFaceCount;
|
||||||
static HsfData *AttrHsf;
|
static HsfData *AttrHsf;
|
||||||
static Vec *topvtx;
|
static Vec *topvtx;
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ typedef struct seq_info {
|
||||||
s32 time_max;
|
s32 time_max;
|
||||||
} SeqInfo;
|
} SeqInfo;
|
||||||
|
|
||||||
OverlayID mgSeqOvlPrev = OVL_INVALID;
|
SHARED_SYM OverlayID mgSeqOvlPrev = OVL_INVALID;
|
||||||
|
|
||||||
static SeqInfo seqInfoTbl[] = {
|
static SeqInfo seqInfoTbl[] = {
|
||||||
{ NULL, NULL, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 60 },
|
{ NULL, NULL, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 60 },
|
||||||
|
|
|
||||||
|
|
@ -1163,19 +1163,19 @@ SHARED_SYM MgInfo mgInfoTbl[] = {
|
||||||
|
|
||||||
void MGSeqPracticeExitCheck(omObjData *);
|
void MGSeqPracticeExitCheck(omObjData *);
|
||||||
|
|
||||||
s16 mgTypeCurr;
|
SHARED_SYM s16 mgTypeCurr;
|
||||||
s16 mgBattleStar[4];
|
SHARED_SYM s16 mgBattleStar[4];
|
||||||
s16 mgBattleStarMax;
|
SHARED_SYM s16 mgBattleStarMax;
|
||||||
u8 lbl_801D3E94;
|
SHARED_SYM u8 lbl_801D3E94;
|
||||||
u32 mgRecordExtra;
|
SHARED_SYM u32 mgRecordExtra;
|
||||||
SHARED_SYM s32 mgQuitExtraF;
|
SHARED_SYM s32 mgQuitExtraF;
|
||||||
SHARED_SYM s32 mgPracticeEnableF;
|
SHARED_SYM s32 mgPracticeEnableF;
|
||||||
SHARED_SYM s32 mgInstExitEnableF;
|
SHARED_SYM s32 mgInstExitEnableF;
|
||||||
SHARED_SYM u8 mgBoardHostEnableF;
|
SHARED_SYM u8 mgBoardHostEnableF;
|
||||||
|
|
||||||
s16 mgTicTacToeGrid[3][3];
|
SHARED_SYM s16 mgTicTacToeGrid[3][3];
|
||||||
u8 mgIndexList[256];
|
SHARED_SYM u8 mgIndexList[256];
|
||||||
GameStat mgGameStatBackup;
|
SHARED_SYM GameStat mgGameStatBackup;
|
||||||
|
|
||||||
s32 omMgIndexGet(s16 overlay)
|
s32 omMgIndexGet(s16 overlay)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,9 @@ void MGSeqPauseKill(void);
|
||||||
#include "game/wipe.h"
|
#include "game/wipe.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Vec CRot;
|
SHARED_SYM Vec CRot;
|
||||||
Vec Center;
|
SHARED_SYM Vec Center;
|
||||||
float CZoom;
|
SHARED_SYM float CZoom;
|
||||||
Vec CRotM[16];
|
Vec CRotM[16];
|
||||||
Vec CenterM[16];
|
Vec CenterM[16];
|
||||||
float CZoomM[16];
|
float CZoomM[16];
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ SHARED_SYM CARDFileInfo curFileInfo;
|
||||||
SHARED_SYM SaveBufAll saveBuf;
|
SHARED_SYM SaveBufAll saveBuf;
|
||||||
|
|
||||||
u64 SLSerialNo;
|
u64 SLSerialNo;
|
||||||
s32 saveExecF;
|
SHARED_SYM s32 saveExecF;
|
||||||
u8 curBoxNo;
|
u8 curBoxNo;
|
||||||
SHARED_SYM s16 curSlotNo;
|
SHARED_SYM s16 curSlotNo;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -647,6 +647,44 @@ void ARQInit(void) {
|
||||||
puts("ARQInit is a stub");
|
puts("ARQInit is a stub");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GXProject(f32 x, f32 y, f32 z, const f32 mtx[3][4], const f32 *pm, const f32 *vp, f32 *sx, f32 *sy, f32 *sz)
|
||||||
|
{
|
||||||
|
Vec peye;
|
||||||
|
f32 xc;
|
||||||
|
f32 yc;
|
||||||
|
f32 zc;
|
||||||
|
f32 wc;
|
||||||
|
|
||||||
|
peye.x = mtx[0][3] + ((mtx[0][2] * z) + ((mtx[0][0] * x) + (mtx[0][1] * y)));
|
||||||
|
peye.y = mtx[1][3] + ((mtx[1][2] * z) + ((mtx[1][0] * x) + (mtx[1][1] * y)));
|
||||||
|
peye.z = mtx[2][3] + ((mtx[2][2] * z) + ((mtx[2][0] * x) + (mtx[2][1] * y)));
|
||||||
|
if (pm[0] == 0.0f) {
|
||||||
|
xc = (peye.x * pm[1]) + (peye.z * pm[2]);
|
||||||
|
yc = (peye.y * pm[3]) + (peye.z * pm[4]);
|
||||||
|
zc = pm[6] + (peye.z * pm[5]);
|
||||||
|
wc = 1.0f / -peye.z;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
xc = pm[2] + (peye.x * pm[1]);
|
||||||
|
yc = pm[4] + (peye.y * pm[3]);
|
||||||
|
zc = pm[6] + (peye.z * pm[5]);
|
||||||
|
wc = 1.0f;
|
||||||
|
}
|
||||||
|
*sx = (vp[2] / 2.0f) + (vp[0] + (wc * (xc * vp[2] / 2.0f)));
|
||||||
|
*sy = (vp[3] / 2.0f) + (vp[1] + (wc * (-yc * vp[3] / 2.0f)));
|
||||||
|
*sz = vp[5] + (wc * (zc * (vp[5] - vp[4])));
|
||||||
|
}
|
||||||
|
|
||||||
|
void GXGetViewportv(f32 *vp)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
void GXSetZTexture(GXZTexOp op, GXTexFmt fmt, u32 bias)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
// Hudson
|
// Hudson
|
||||||
void HuDvdErrDispInit(GXRenderModeObj *rmode, void *xfb1, void *xfb2) { }
|
void HuDvdErrDispInit(GXRenderModeObj *rmode, void *xfb1, void *xfb2) { }
|
||||||
|
|
||||||
|
|
@ -695,6 +733,24 @@ s32 msmSysGetOutputMode(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s32 msmSeSetListener(Vec* pos, Vec* heading, float sndDist, float sndSpeed, MSM_SELISTENER* listener)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void msmSeStopAll(BOOL checkGrp, s32 speed)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL msmSysSetOutputMode(SND_OUTPUTMODE mode)
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void OSSetSoundMode(u32 mode)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
s32 HuSoftResetButtonCheck(void)
|
s32 HuSoftResetButtonCheck(void)
|
||||||
{
|
{
|
||||||
//puts("HuSoftResetButtonCheck is a stub");
|
//puts("HuSoftResetButtonCheck is a stub");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue