diff --git a/CMakeLists.txt b/CMakeLists.txt index 31de567530..e770b32c59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -411,7 +411,47 @@ if (DUSK_ENABLE_CODE_MODS) setup_symbol_manifest(dusklight) endif () -# Hook reliability: guaranteed patchable entries on the game ABI surface, and no identical-code folding. +# Hook reliability: prevent auto-inlining, guarantee patchable function entries, +# and disable identical-code folding for game functions. +set(DUSK_GAME_ABI_INLINE_OPTIONS) +if (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU") + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + list(APPEND DUSK_GAME_ABI_INLINE_OPTIONS + $<$:-finline-hint-functions>) + elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + list(APPEND DUSK_GAME_ABI_INLINE_OPTIONS + $<$:-flive-patching=inline-clone> + $<$:-fno-inline-functions> + $<$:-fno-inline-small-functions> + $<$:-fno-inline-functions-called-once> + $<$:-fno-early-inlining> + $<$:-fno-ipa-cp> + $<$:-fno-ipa-cp-clone> + $<$:-fno-ipa-sra> + $<$:-fno-partial-inlining>) + endif () +endif () + +if (DUSK_GAME_ABI_INLINE_OPTIONS) + set(_game_abi_files ${GAME_BASE_FILES} ${GAME_DEBUG_FILES}) + list(FILTER _game_abi_files EXCLUDE REGEX "^src/dusk/") + set_property(SOURCE ${_game_abi_files} APPEND PROPERTY + COMPILE_OPTIONS ${DUSK_GAME_ABI_INLINE_OPTIONS}) + + foreach(jsystem_lib IN LISTS JSYSTEM_LIBRARIES) + target_compile_options(${jsystem_lib} PRIVATE ${DUSK_GAME_ABI_INLINE_OPTIONS}) + endforeach() + foreach(_sdk_lib aurora_card aurora_core aurora_dvd aurora_gd aurora_gx aurora_mtx + aurora_os aurora_pad aurora_si aurora_vi) + if (TARGET ${_sdk_lib}) + get_target_property(_sdk_lib_imported ${_sdk_lib} IMPORTED) + if (NOT _sdk_lib_imported) + target_compile_options(${_sdk_lib} PRIVATE ${DUSK_GAME_ABI_INLINE_OPTIONS}) + endif () + endif () + endforeach () +endif () + if (MSVC) if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") set(DUSK_PATCHABLE_ENTRY_FLAG $<$:/hotpatch>) @@ -421,11 +461,11 @@ if (MSVC) else () target_link_options(dusklight PRIVATE /FUNCTIONPADMIN /OPT:NOICF) endif () -elseif (CMAKE_CXX_COMPILER_ID MATCHES "^(AppleClang|Clang)$") - if (CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64" OR CMAKE_OSX_ARCHITECTURES MATCHES "arm64") +elseif (CMAKE_CXX_COMPILER_ID MATCHES "^(AppleClang|Clang|GNU)$") + if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm64|aarch64)$" OR CMAKE_OSX_ARCHITECTURES MATCHES "arm64") set(DUSK_PATCHABLE_ENTRY_FLAG $<$:-fpatchable-function-entry=2,1>) else () - set(DUSK_PATCHABLE_ENTRY_FLAG $<$:-fpatchable-function-entry=10,5>) + set(DUSK_PATCHABLE_ENTRY_FLAG $<$:-fpatchable-function-entry=10,4>) endif () endif () diff --git a/include/d/actor/d_a_alink.h b/include/d/actor/d_a_alink.h index 8728bc16a8..384891c8d5 100644 --- a/include/d/actor/d_a_alink.h +++ b/include/d/actor/d_a_alink.h @@ -8449,8 +8449,10 @@ struct daAlink_cutHorseParamTbl { /* 0xA */ u8 m_cutType; }; // Size: 0xC +#if !TARGET_PC inline BOOL dComIfGs_isTransformLV(int i_no); inline BOOL dComIfGs_isEventBit(const u16); +#endif static fopAc_ac_c* daAlink_searchPortal(fopAc_ac_c* i_actor, void* i_data); static fopAc_ac_c* daAlink_searchCanoe(fopAc_ac_c* i_actor, void* i_data); diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index 66139b54cf..ce6158fcf7 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -311,9 +311,11 @@ private: class daMidna_c; class daSpinner_c; class daPy_py_c; +#if !TARGET_PC inline daPy_py_c* dComIfGp_getLinkPlayer(); inline BOOL dComIfGs_isEventBit(const u16); inline u32 dComIfGs_getLastSceneMode(); +#endif class daPy_py_c : public fopAc_ac_c { public: diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index a598cbcc10..62b8744b51 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -20,11 +20,6 @@ #if defined(DUSK_BUILDING_GAME) #include #include "dusk/settings.h" -#else -#ifndef ZoneScoped -#define ZoneScoped -#define ZoneScopedN(name) -#endif #endif enum dComIfG_ButtonStatus { @@ -1276,6 +1271,938 @@ int dComIfGd_setShadow(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3 f32 param_5, f32 param_6, f32 param_7, cBgS_PolyInfo& param_8, dKy_tevstr_c* param_9, s16 param_10, f32 param_11, TGXTexObj* param_12); +#if TARGET_PC +DUSK_NOINLINE dSv_info_c* dComIfGs_getSaveInfo(); +DUSK_NOINLINE dSv_save_c* dComIfGs_getSaveData(); +DUSK_NOINLINE u16 dComIfGs_getMaxLife(); +DUSK_NOINLINE void dComIfGs_setMaxLife(u8 i_maxLife); +DUSK_NOINLINE u16 dComIfGs_getLife(); +DUSK_NOINLINE void dComIfGs_setLife(u16 i_life); +DUSK_NOINLINE u16 dComIfGs_getRupee(); +DUSK_NOINLINE void dComIfGs_setRupee(u16 i_rupees); +DUSK_NOINLINE u16 dComIfGs_getMaxOil(); +DUSK_NOINLINE void dComIfGs_setMaxOil(u16 i_maxOil); +DUSK_NOINLINE u16 dComIfGs_getOil(); +DUSK_NOINLINE void dComIfGs_setOil(u16 i_oil); +DUSK_NOINLINE u8 dComIfGs_getSelectEquipClothes(); +DUSK_NOINLINE u8 dComIfGs_getSelectEquipSword(); +DUSK_NOINLINE u8 dComIfGs_getSelectEquipShield(); +DUSK_NOINLINE u8 dComIfGs_getCollectSmell(); +DUSK_NOINLINE void dComIfGs_setCollectSmell(u8 smell); +DUSK_NOINLINE u8 dComIfGs_getBButtonItemKey(); +DUSK_NOINLINE void dComIfGs_setBButtonItemKey(u8 i_itemNo); +DUSK_NOINLINE u8 dComIfGs_getWalletSize(); +DUSK_NOINLINE void dComIfGs_setWalletSize(u8 i_size); +DUSK_NOINLINE u8 dComIfGs_getMaxMagic(); +DUSK_NOINLINE void dComIfGs_setMaxMagic(u8 i_maxMagic); +DUSK_NOINLINE u8 dComIfGs_getMagic(); +DUSK_NOINLINE void dComIfGs_setMagic(u8 i_magic); +DUSK_NOINLINE u8 dComIfGs_getTransformStatus(); +DUSK_NOINLINE void dComIfGs_setTransformStatus(u8 i_status); +DUSK_NOINLINE u8 dComIfGs_getSelectItemIndex(int i_no); +DUSK_NOINLINE u16 dComIfGs_getRupeeMax(); +DUSK_NOINLINE void dComIfGs_offGetMagicUseFlag(); +DUSK_NOINLINE s32 dComIfGs_isGetMagicUseFlag(); +DUSK_NOINLINE f32 dComIfGs_getTime(); +DUSK_NOINLINE void dComIfGs_setTime(f32 i_time); +DUSK_NOINLINE u16 dComIfGs_getDate(); +DUSK_NOINLINE void dComIfGs_setDate(u16 i_date); +DUSK_NOINLINE void dComIfGs_onDarkClearLV(int i_no); +DUSK_NOINLINE void dComIfGs_offDarkClearLV(int i_no); +DUSK_NOINLINE BOOL dComIfGs_isDarkClearLV(int i_no); +DUSK_NOINLINE void dComIfGs_onTransformLV(int i_no); +DUSK_NOINLINE void dComIfGs_offTransformLV(int i_no); +DUSK_NOINLINE BOOL dComIfGs_isTransformLV(int i_no); +DUSK_NOINLINE cXyz dComIfGs_getHorseRestartPos(); +DUSK_NOINLINE s16 dComIfGs_getHorseRestartAngleY(); +DUSK_NOINLINE const char* dComIfGs_getHorseRestartStageName(); +DUSK_NOINLINE s8 dComIfGs_getHorseRestartRoomNo(); +DUSK_NOINLINE void dComIfGs_setHorseRestart( + const char* i_stageName, cXyz& i_pos, s16 i_angle, s8 i_roomNo); +DUSK_NOINLINE cXyz dComIfGs_getPlayerFieldLastStayPos(); +DUSK_NOINLINE s16 dComIfGs_getPlayerFieldLastStayAngleY(); +DUSK_NOINLINE char* dComIfGs_getPlayerFieldLastStayName(); +DUSK_NOINLINE u8 dComIfGs_getPlayerFieldLastStayRegionNo(); +DUSK_NOINLINE bool dComIfGs_isPlayerFieldLastStayFieldDataExistFlag(); +DUSK_NOINLINE void dComIfGs_offPlayerFieldLastStayFieldDataExistFlag(); +DUSK_NOINLINE void dComIfGs_onPlayerFieldLastStayFieldDataExistFlag(); +DUSK_NOINLINE BOOL dComIfGs_isRegionBit(int i_region); +DUSK_NOINLINE void dComIfGs_onRegionBit(int i_region); +DUSK_NOINLINE void dComIfGs_setPlayerFieldLastStayInfo( + const char* i_stage, cXyz& i_pos, s16 i_angle, s8 i_point, u8 i_region); +DUSK_NOINLINE cXyz dComIfGs_getLastWarpMarkPlayerPos(); +DUSK_NOINLINE s16 dComIfGs_getLastWarpMarkPlayerAngleY(); +DUSK_NOINLINE const char* dComIfGs_getLastWarpMarkStageName(); +DUSK_NOINLINE u8 dComIfGs_getLastWarpMarkRoomNo(); +DUSK_NOINLINE s8 dComIfGs_getLastWarpAcceptStage(); +DUSK_NOINLINE void dComIfGs_setLastWarpAcceptStage(s8 param_0); +DUSK_NOINLINE void dComIfGs_resetLastWarpAcceptStage(); +DUSK_NOINLINE void dComIfGs_setItem(int i_slotNo, u8 i_itemNo); +DUSK_NOINLINE u8 dComIfGs_getItem(int i_slotNo, bool i_checkCombo); +DUSK_NOINLINE void dComIfGs_setLineUpItem(); +DUSK_NOINLINE u8 dComIfGs_getLineUpItem(int i_slotNo); +DUSK_NOINLINE void dComIfGs_setBottleItemIn(u8 curItem, u8 newItem); +DUSK_NOINLINE void dComIfGs_setEmptyBottleItemIn(u8 i_itemNo); +DUSK_NOINLINE void dComIfGs_setEmptyBottle(); +DUSK_NOINLINE void dComIfGs_setEmptyBottle(u8 i_itemNo); +DUSK_NOINLINE void dComIfGs_setEquipBottleItemIn(u8 i_curItem, u8 i_newItem); +DUSK_NOINLINE void dComIfGs_setEquipBottleItemEmpty(u8 i_curItem); +DUSK_NOINLINE u8 dComIfGs_checkBottle(u8 i_itemNo); +DUSK_NOINLINE u8 dComIfGs_checkInsectBottle(); +DUSK_NOINLINE u8 dComIfGs_checkEmptyBottle(); +DUSK_NOINLINE void dComIfGs_setEmptyBombBagItemIn(u8 i_newBomb, bool i_setNum); +DUSK_NOINLINE void dComIfGs_setEmptyBombBagItemIn(u8 i_newBomb, u8 i_bombNum, bool i_setNum); +DUSK_NOINLINE void dComIfGs_setEmptyBombBag(); +DUSK_NOINLINE void dComIfGs_setEmptyBombBag(u8 i_newBomb, u8 i_bombNum); +DUSK_NOINLINE u8 dComIfGs_checkBombBag(u8 i_itemNo); +DUSK_NOINLINE void dComIfGs_setWarashibeItem(u8 i_itemNo); +DUSK_NOINLINE void dComIfGs_setRodTypeLevelUp(); +DUSK_NOINLINE void dComIfGs_setBaitItem(u8 i_item); +DUSK_NOINLINE void dComIfGs_onItemFirstBit(u8 i_itemNo); +DUSK_NOINLINE void dComIfGs_offItemFirstBit(u8 i_itemNo); +DUSK_NOINLINE int dComIfGs_isItemFirstBit(u8 i_no); +DUSK_NOINLINE u8 dComIfGs_getArrowNum(); +DUSK_NOINLINE void dComIfGs_setArrowNum(u8 i_arrowNum); +DUSK_NOINLINE u8 dComIfGs_getPachinkoNum(); +DUSK_NOINLINE void dComIfGs_setPachinkoNum(u8 i_num); +DUSK_NOINLINE u8 dComIfGs_getPachinkoMax(); +DUSK_NOINLINE void dComIfGs_setBombNum(u8 i_num); +DUSK_NOINLINE void dComIfGs_setBombNum(u8 i_bagIdx, u8 i_bombNum); +DUSK_NOINLINE u8 dComIfGs_getBombNum(u8 i_bagIdx); +DUSK_NOINLINE void dComIfGs_setBottleNum(u8 i_bottleIdx, u8 i_bottleNum); +DUSK_NOINLINE void dComIfGs_addBottleNum(u8 i_bottleIdx, s16 i_num); +DUSK_NOINLINE u8 dComIfGs_getBottleNum(u8 i_bottleIdx); +DUSK_NOINLINE u8 dComIfGs_getArrowMax(); +DUSK_NOINLINE void dComIfGs_setArrowMax(u8 i_arrowMax); +DUSK_NOINLINE void dComIfGs_setBombMax(u8 i_max); +DUSK_NOINLINE void dComIfGs_setBombMax(u8 i_type, u8 i_max); +DUSK_NOINLINE u8 dComIfGs_getBombMax(); +DUSK_NOINLINE u8 dComIfGs_getBombMax(u8 i_bombType); +DUSK_NOINLINE void dComIfGs_setPohSpiritNum(u8 i_num); +DUSK_NOINLINE u8 dComIfGs_getPohSpiritNum(); +DUSK_NOINLINE void dComIfGs_addPohSpiritNum(); +DUSK_NOINLINE BOOL dComIfGs_isCollectClothes(u8 i_clothesNo); +DUSK_NOINLINE void dComIfGs_setCollectClothes(u8 i_clothesNo); +DUSK_NOINLINE void dComIfGs_setCollectSword(u8 i_swordNo); +DUSK_NOINLINE void dComIfGs_setCollectShield(u8 i_shieldNo); +DUSK_NOINLINE BOOL dComIfGs_isCollectClothing(u8 i_clothesNo); +DUSK_NOINLINE void dComIfGs_offCollectClothes(u8 i_clothesNo); +DUSK_NOINLINE BOOL dComIfGs_isCollectSword(u8 i_swordNo); +DUSK_NOINLINE void dComIfGs_offCollectSword(u8 i_swordNo); +DUSK_NOINLINE BOOL dComIfGs_isCollectShield(u8 i_item); +DUSK_NOINLINE void dComIfGs_offCollectShield(u8 i_shieldNo); +DUSK_NOINLINE void dComIfGs_onCollectCrystal(u8 i_item); +DUSK_NOINLINE void dComIfGs_offCollectCrystal(u8 i_item); +DUSK_NOINLINE bool dComIfGs_isCollectCrystal(u8 i_item); +DUSK_NOINLINE void dComIfGs_onCollectMirror(u8 i_item); +DUSK_NOINLINE void dComIfGs_offCollectMirror(u8 i_item); +DUSK_NOINLINE bool dComIfGs_isCollectMirror(u8 i_item); +DUSK_NOINLINE void dComIfGs_setLightDropNum(u8 i_level, u8 i_num); +DUSK_NOINLINE u8 dComIfGs_getLightDropNum(u8 i_nowLevel); +DUSK_NOINLINE void dComIfGs_onLightDropGetFlag(u8 i_nowLevel); +DUSK_NOINLINE void dComIfGs_offLightDropGetFlag(u8 i_level); +DUSK_NOINLINE BOOL dComIfGs_isLightDropGetFlag(u8 i_nowLevel); +DUSK_NOINLINE void dComIfGs_onLetterGetFlag(int i_no); +DUSK_NOINLINE BOOL dComIfGs_isLetterGetFlag(int i_no); +DUSK_NOINLINE void dComIfGs_onLetterReadFlag(int i_no); +DUSK_NOINLINE int dComIfGs_isLetterReadFlag(int i_no); +DUSK_NOINLINE u8 dComIfGs_getGetNumber(int i_no); +DUSK_NOINLINE void dComIfGs_setGetNumber(int i_no, u8 i_value); +DUSK_NOINLINE void dComIfGs_addFishNum(u8 param_0); +DUSK_NOINLINE u16 dComIfGs_getFishNum(u8 param_0); +DUSK_NOINLINE u8 dComIfGs_getFishSize(u8 param_0); +DUSK_NOINLINE void dComIfGs_setFishSize(u8 param_0, u8 param_1); +DUSK_NOINLINE OSTime dComIfGs_getTotalTime(); +DUSK_NOINLINE void dComIfGs_addDeathCount(); +DUSK_NOINLINE u16 dComIfGs_getDeathCount(); +DUSK_NOINLINE TEXT_SPAN dComIfGs_getPlayerName(); +DUSK_NOINLINE void dComIfGs_setPlayerName(const char* i_name); +DUSK_NOINLINE TEXT_SPAN dComIfGs_getHorseName(); +DUSK_NOINLINE void dComIfGs_setHorseName(const char* i_name); +DUSK_NOINLINE u8 dComIfGs_getClearCount(); + +// Ruby inline names are from TWW debug. +DUSK_NOINLINE u8 dComIfGs_getOptRuby(); +DUSK_NOINLINE void dComIfGs_setOptRuby(u8 i_ruby); +DUSK_NOINLINE u8 dComIfGs_getOptAttentionType(); +DUSK_NOINLINE void dComIfGs_setOptAttentionType(u8 i_attentionType); +DUSK_NOINLINE void dComIfGs_setOptCalibrateDist(u16 i_calibrateDist); +DUSK_NOINLINE void dComIfGs_setOptCalValue(s8 i_calValue); +DUSK_NOINLINE u8 dComIfGs_getOptCameraControl(); +DUSK_NOINLINE void dComIfGs_setOptCameraControl(u8 i_cameraControl); +DUSK_NOINLINE u8 dComIfGs_getOptPointer(); +DUSK_NOINLINE void dComIfGs_setOptPointer(u8 i_pointer); +DUSK_NOINLINE u8 dComIfGs_checkOptVibration(); +DUSK_NOINLINE u8 dComIfGs_getOptSound(); +DUSK_NOINLINE void dComIfGs_setOptSound(u8 i_mode); +DUSK_NOINLINE u8 dComIfGs_getOptVibration(); +DUSK_NOINLINE void dComIfGs_setOptVibration(u8 i_status); +DUSK_NOINLINE u8 dComIfGs_getPalLanguage(); +DUSK_NOINLINE BOOL dComIfGs_isSaveTbox(int i_stageNo, int i_no); +DUSK_NOINLINE void dComIfGs_onSaveSwitch(int i_stageNo, int i_no); +DUSK_NOINLINE void dComIfGs_offSaveSwitch(int i_stageNo, int i_no); +DUSK_NOINLINE BOOL dComIfGs_isSaveSwitch(int i_stageNo, int i_no); +DUSK_NOINLINE void dComIfGs_onSaveVisitedRoom(int param_0, int i_roomNo); +DUSK_NOINLINE void dComIfGs_offSaveVisitedRoom(int param_0, int i_roomNo); +DUSK_NOINLINE BOOL dComIfGs_isSaveVisitedRoom(int param_0, int i_roomNo); +DUSK_NOINLINE void* dComIfGs_getPEventBit(); +DUSK_NOINLINE void dComIfGs_onEventBit(const u16 i_flag); +DUSK_NOINLINE void dComIfGs_offEventBit(const u16 i_flag); +DUSK_NOINLINE BOOL dComIfGs_isEventBit(const u16 i_flag); +DUSK_NOINLINE void dComIfGs_setEventReg(u16 reg, u8 value); +DUSK_NOINLINE u8 dComIfGs_getEventReg(u16 reg); +DUSK_NOINLINE int dComIfGs_getHookGameTime(); +DUSK_NOINLINE void dComIfGs_setHookGameTime(u32 i_time); +DUSK_NOINLINE u32 dComIfGs_getBalloonScore(); +DUSK_NOINLINE void dComIfGs_setBalloonScore(u32 i_score); +DUSK_NOINLINE int dComIfGs_getRaceGameTime(); +DUSK_NOINLINE void dComIfGs_setRaceGameTime(int i_time); +DUSK_NOINLINE u8 dComIfGs_getKeyNum(); +DUSK_NOINLINE void dComIfGs_setKeyNum(u8 i_keyNum); +DUSK_NOINLINE void dComIfGs_onDungeonItemMap(); +DUSK_NOINLINE void dComIfGs_offDungeonItemMap(); +DUSK_NOINLINE s32 dComIfGs_isDungeonItemMap(); +DUSK_NOINLINE void dComIfGs_onDungeonItemCompass(); +DUSK_NOINLINE void dComIfGs_offDungeonItemCompass(); +DUSK_NOINLINE s32 dComIfGs_isDungeonItemCompass(); +DUSK_NOINLINE void dComIfGs_onDungeonItemBossKey(); +DUSK_NOINLINE void dComIfGs_offDungeonItemBossKey(); +DUSK_NOINLINE s32 dComIfGs_isDungeonItemBossKey(); +DUSK_NOINLINE void dComIfGs_onStageBossEnemy(); +DUSK_NOINLINE void dComIfGs_offStageBossEnemy(); +DUSK_NOINLINE s32 dComIfGs_isStageBossEnemy(); +DUSK_NOINLINE void dComIfGs_onStageLife(); +DUSK_NOINLINE void dComIfGs_offStageLife(); +DUSK_NOINLINE s32 dComIfGs_isStageLife(); +DUSK_NOINLINE void dComIfGs_onStageBossDemo(); +DUSK_NOINLINE void dComIfGs_offStageBossDemo(); +DUSK_NOINLINE s32 dComIfGs_isStageBossDemo(); +DUSK_NOINLINE void dComIfGs_onDungeonItemWarp(); +DUSK_NOINLINE void dComIfGs_offDungeonItemWarp(); +DUSK_NOINLINE s32 dComIfGs_isDungeonItemWarp(); +DUSK_NOINLINE void dComIfGs_onStageMiddleBoss(); +DUSK_NOINLINE void dComIfGs_offStageMiddleBoss(); +DUSK_NOINLINE BOOL dComIfGs_isStageMiddleBoss(); +DUSK_NOINLINE void dComIfGs_onTbox(int i_no); +DUSK_NOINLINE void dComIfGs_offTbox(int i_no); +DUSK_NOINLINE BOOL dComIfGs_isTbox(int i_no); +DUSK_NOINLINE void dComIfGs_onSaveSwitch(int i_no); +DUSK_NOINLINE void dComIfGs_offSaveSwitch(int i_no); +DUSK_NOINLINE BOOL dComIfGs_isSaveSwitch(int i_no); +DUSK_NOINLINE BOOL dComIfGs_isSaveItem(int i_no); +DUSK_NOINLINE void dComIfGs_onSaveDunSwitch(int i_swNo); +DUSK_NOINLINE void dComIfGs_offSaveDunSwitch(int i_swNo); +DUSK_NOINLINE BOOL dComIfGs_isSaveDunSwitch(int i_no); +DUSK_NOINLINE BOOL dComIfGs_isSaveDunItem(int i_no); +DUSK_NOINLINE void dComIfGs_resetDan(); +DUSK_NOINLINE void dComIfGs_initDan(s8 i_stageNo); +DUSK_NOINLINE void dComIfGs_clearRoomSwitch(int i_zoneNo); +DUSK_NOINLINE void dComIfGs_clearRoomItem(int i_zoneNo); +DUSK_NOINLINE void dComIfGs_onSvZoneSwitch(int i_zoneNo, int i_swBit); +DUSK_NOINLINE void dComIfGs_offSvZoneSwitch(int i_zoneNo, int i_swBit); +DUSK_NOINLINE BOOL dComIfGs_isSvZoneSwitch(int i_zoneNo, int i_swBit); +DUSK_NOINLINE void dComIfGs_onSvOneZoneSwitch(int i_zoneNo, int i_swBit); +DUSK_NOINLINE void dComIfGs_offSvOneZoneSwitch(int i_zoneNo, int i_swBit); +DUSK_NOINLINE BOOL dComIfGs_isSvOneZoneSwitch(int i_zoneNo, int i_swBit); +DUSK_NOINLINE void dComIfGs_onSvZoneItem(int i_zoneNo, int i_swBit); +DUSK_NOINLINE void dComIfGs_offSvZoneItem(int i_zoneNo, int i_swBit); +DUSK_NOINLINE BOOL dComIfGs_isSvZoneItem(int i_zoneNo, int i_swBit); +DUSK_NOINLINE void dComIfGs_onSvOneZoneItem(int i_zoneNo, int i_swBit); +DUSK_NOINLINE void dComIfGs_offSvOneZoneItem(int i_zoneNo, int i_swBit); +DUSK_NOINLINE BOOL dComIfGs_isSvOneZoneItem(int i_zoneNo, int i_swBit); +DUSK_NOINLINE void dComIfGs_removeZone(int i_zoneNo); +DUSK_NOINLINE s8 dComIfGs_getRestartRoomNo(); +DUSK_NOINLINE s16 dComIfGs_getStartPoint(); +DUSK_NOINLINE void dComIfGs_setStartPoint(s16 i_point); +DUSK_NOINLINE s16 dComIfGs_getRestartRoomAngleY(); +DUSK_NOINLINE const cXyz& dComIfGs_getRestartRoomPos(); +DUSK_NOINLINE u32 dComIfGs_getRestartRoomParam(); +DUSK_NOINLINE void dComIfGs_setRestartRoomParam(u32 i_param); +DUSK_NOINLINE f32 dComIfGs_getLastSceneSpeedF(); +DUSK_NOINLINE u32 dComIfGs_getLastSceneMode(); +DUSK_NOINLINE s16 dComIfGs_getLastSceneAngleY(); +DUSK_NOINLINE void dComIfGs_setRestartRoom(const cXyz& i_position, s16 i_angle, s8 i_roomNo); +DUSK_NOINLINE void dComIfGs_onTmpBit(const u16 i_flag); +DUSK_NOINLINE void dComIfGs_offTmpBit(const u16 i_flag); +DUSK_NOINLINE BOOL dComIfGs_isTmpBit(const u16 i_flag); +DUSK_NOINLINE void dComIfGs_setTmpReg(u16 i_reg, u8 i_no); +DUSK_NOINLINE u8 dComIfGs_getTmpReg(const u16 i_reg); +DUSK_NOINLINE dSv_turnRestart_c& dComIfGs_getTurnRestart(); +DUSK_NOINLINE const cXyz& dComIfGs_getTurnRestartPos(); +DUSK_NOINLINE u32 dComIfGs_getTurnRestartParam(); +DUSK_NOINLINE s16 dComIfGs_getTurnRestartAngleY(); +DUSK_NOINLINE s8 dComIfGs_getTurnRestartRoomNo(); +DUSK_NOINLINE void dComIfGs_setTurnRestart( + const cXyz& i_position, s16 i_angle, s8 param_2, u32 i_param); +DUSK_NOINLINE u8 dComIfGs_getDataNum(); +DUSK_NOINLINE void dComIfGs_setDataNum(u8 i_num); +DUSK_NOINLINE u8 dComIfGs_getNewFile(); +DUSK_NOINLINE void dComIfGs_setNewFile(u8 i_fileNo); +DUSK_NOINLINE u8 dComIfGs_getNoFile(); +DUSK_NOINLINE void dComIfGs_setNoFile(u8 i_file); +DUSK_NOINLINE s64 dComIfGs_getSaveStartTime(); +DUSK_NOINLINE void dComIfGs_setSaveStartTime(s64 i_time); +DUSK_NOINLINE s64 dComIfGs_getSaveTotalTime(); +DUSK_NOINLINE void dComIfGs_setSaveTotalTime(s64 i_time); +DUSK_NOINLINE void dComIfGs_init(); +DUSK_NOINLINE void dComIfGs_getSave(int i_stageNo); +DUSK_NOINLINE void dComIfGs_putSave(int i_stageNo); +DUSK_NOINLINE void dComIfGs_initZone(); +DUSK_NOINLINE int dComIfGs_createZone(int roomNo); +DUSK_NOINLINE void dComIfGs_onSwitch(int i_no, int i_roomNo); +DUSK_NOINLINE void dComIfGs_offSwitch(int i_no, int i_roomNo); +DUSK_NOINLINE BOOL dComIfGs_isSwitch(int i_no, int i_roomNo); +DUSK_NOINLINE void dComIfGs_revSwitch(int i_no, int i_roomNo); +DUSK_NOINLINE void dComIfGs_onItem(int i_bitNo, int i_roomNo); +DUSK_NOINLINE bool dComIfGs_isItem(int i_bitNo, int i_roomNo); +DUSK_NOINLINE void dComIfGs_onActor(int i_bitNo, int i_roomNo); +DUSK_NOINLINE void dComIfGs_offActor(int i_no, int i_roomNo); +DUSK_NOINLINE BOOL dComIfGs_isActor(int i_no, int i_roomNo); +DUSK_NOINLINE void dComIfGs_setMemoryToCard(u8* i_saveData, int i_dataNum); +DUSK_NOINLINE void dComIfGs_setCardToMemory(u8* card_ptr, int dataNum); +DUSK_NOINLINE void dComIfGs_setInitDataToCard(u8* i_saveData, int i_dataNum); +DUSK_NOINLINE u8 dComIfGs_getWolfAbility(int i_idx); +DUSK_NOINLINE s8 dComIfGs_Grass_hide_Check(); +DUSK_NOINLINE dStage_startStage_c* dComIfGp_getStartStage(); +DUSK_NOINLINE void dComIfGp_setStartStage(dStage_startStage_c* p_startStage); +DUSK_NOINLINE const char* dComIfGp_getStartStageName(); +DUSK_NOINLINE s16 dComIfGp_getStartStagePoint(); +DUSK_NOINLINE s8 dComIfGp_getStartStageRoomNo(); +DUSK_NOINLINE s8 dComIfGp_getStartStageLayer(); +DUSK_NOINLINE void dComIfGp_setStartStageLayer(s8 layer); +DUSK_NOINLINE s8 dComIfGp_getStartStageDarkArea(); +DUSK_NOINLINE void dComIfGp_setStartStageDarkArea(s8 darkArea); +DUSK_NOINLINE dStage_startStage_c* dComIfGp_getNextStartStage(); +DUSK_NOINLINE const char* dComIfGp_getNextStageName(); +DUSK_NOINLINE s16 dComIfGp_getNextStagePoint(); +DUSK_NOINLINE s16 dComIfGp_getNextStageRoomNo(); +DUSK_NOINLINE s16 dComIfGp_getNextStageLayer(); +DUSK_NOINLINE BOOL dComIfGp_isEnableNextStage(); +DUSK_NOINLINE void dComIfGp_offEnableNextStage(); +DUSK_NOINLINE s8 dComIfGp_getNextStageWipe(); +DUSK_NOINLINE u8 dComIfGp_getNextStageWipeSpeed(); +DUSK_NOINLINE dStage_stageDt_c* dComIfGp_getStage(); +DUSK_NOINLINE roomRead_class* dComIfGp_getStageRoom(); +DUSK_NOINLINE stage_palette_info_class* dComIfGp_getStagePaletteInfo(); +DUSK_NOINLINE stage_pselect_info_class* dComIfGp_getStagePselectInfo(); +DUSK_NOINLINE stage_envr_info_class* dComIfGp_getStageEnvrInfo(); +DUSK_NOINLINE stage_vrboxcol_info_class* dComIfGp_getStageVrboxcolInfo(); +DUSK_NOINLINE stage_plight_info_class* dComIfGp_getStagePlightInfo(); +DUSK_NOINLINE int dComIfGp_getStagePaletteNumInfo(); +DUSK_NOINLINE int dComIfGp_getStagePselectNumInfo(); +DUSK_NOINLINE int dComIfGp_getStageEnvrNumInfo(); +DUSK_NOINLINE int dComIfGp_getStageVrboxcolNumInfo(); +DUSK_NOINLINE int dComIfGp_getStagePlightNumInfo(); +DUSK_NOINLINE stage_stag_info_class* dComIfGp_getStageStagInfo(); +DUSK_NOINLINE stage_scls_info_dummy_class* dComIfGp_getStageSclsInfo(); +DUSK_NOINLINE dStage_Multi_c* dComIfGp_getMulti(); +DUSK_NOINLINE void dComIfGp_setOldMulti(); +DUSK_NOINLINE void dComIfGp_resetOldMulti(); +DUSK_NOINLINE s16 dComIfGp_getStageWorldRollAngleX(); +DUSK_NOINLINE s16 dComIfGp_getStageWorldRollDirAngleY(); +DUSK_NOINLINE int dComIfGp_roomControl_getStayNo(); +DUSK_NOINLINE BOOL dComIfGp_roomControl_getTimePass(); +DUSK_NOINLINE void dComIfGp_roomControl_setTimePass(int isPassing); +DUSK_NOINLINE dKy_tevstr_c* dComIfGp_roomControl_getTevStr(int i_roomNo); +DUSK_NOINLINE void dComIfGp_roomControl_setStatusFlag(int i_roomNo, u8 flag); +DUSK_NOINLINE void dComIfGp_roomControl_onStatusFlag(int i_roomNo, u8 flag); +DUSK_NOINLINE void dComIfGp_roomControl_offStatusFlag(int i_roomNo, u8 flag); +DUSK_NOINLINE u8 dComIfGp_roomControl_checkStatusFlag(int i_roomNo, u8 flag); +DUSK_NOINLINE s32 dComIfGp_roomControl_getZoneNo(int i_roomNo); +DUSK_NOINLINE void dComIfGp_roomControl_setZoneNo(int roomNo, int zoneNo); +DUSK_NOINLINE void dComIfGp_roomControl_init(); +DUSK_NOINLINE void dComIfGp_roomControl_initZone(); +DUSK_NOINLINE dStage_roomDt_c* dComIfGp_roomControl_getStatusRoomDt(int room_no); +DUSK_NOINLINE void dComIfGp_roomControl_setStayNo(int stayNo); +DUSK_NOINLINE BOOL dComIfGp_roomControl_checkRoomDisp(int i_roomNo); +DUSK_NOINLINE int dComIfGp_roomControl_loadRoom(int param_0, u8* param_1, bool param_2); +DUSK_NOINLINE void dComIfGp_roomControl_zoneCountCheck(int i_roomNo); +DUSK_NOINLINE dEvt_control_c* dComIfGp_getEvent(); +DUSK_NOINLINE u16 dComIfGp_event_chkEventFlag(u16 i_flag); +DUSK_NOINLINE void dComIfGp_event_onEventFlag(u16 i_flag); +DUSK_NOINLINE void dComIfGp_event_onHindFlag(u16 i_flag); +DUSK_NOINLINE void dComIfGp_event_offHindFlag(u16 i_flag); +DUSK_NOINLINE u8 dComIfGp_event_getMode(); +DUSK_NOINLINE BOOL dComIfGp_event_runCheck(); +DUSK_NOINLINE u16 dComIfGp_event_checkHind(u16 i_hindFlag); +DUSK_NOINLINE BOOL dComIfGp_event_chkTalkXY(); +DUSK_NOINLINE u8 dComIfGp_event_getPreItemNo(); +DUSK_NOINLINE f32 dComIfGp_event_getCullRate(); +DUSK_NOINLINE void dComIfGp_event_setCullRate(f32 i_rate); +DUSK_NOINLINE int dComIfGp_event_order(u16 i_type, u16 i_prio, u16 i_flags, u16 i_hindFlags, + void* i_requestActor, void* i_targetActor, s16 i_eventID, u8 i_mapToolId); +DUSK_NOINLINE void dComIfGp_event_reset(); +DUSK_NOINLINE int dComIfGp_event_moveApproval(void* i_actor); +DUSK_NOINLINE BOOL dComIfGp_event_compulsory( + void* i_actor, const char* i_eventname, u16 i_hindFlag); +DUSK_NOINLINE void dComIfGp_event_remove(); +DUSK_NOINLINE fopAc_ac_c* dComIfGp_event_getPt1(); +DUSK_NOINLINE fopAc_ac_c* dComIfGp_event_getPt2(); +DUSK_NOINLINE fopAc_ac_c* dComIfGp_event_getTalkPartner(); +DUSK_NOINLINE void dComIfGp_event_setTalkPartner(void* i_actor); +DUSK_NOINLINE fopAc_ac_c* dComIfGp_event_getItemPartner(); +DUSK_NOINLINE void dComIfGp_event_setItemPartner(void* i_actor); +DUSK_NOINLINE void dComIfGp_event_setItemPartnerId(fpc_ProcID i_id); +DUSK_NOINLINE fopAc_ac_c* dComIfGp_event_getDoorPartner(); +DUSK_NOINLINE void dComIfGp_event_setDoorPartner(void* i_partner); +DUSK_NOINLINE u8 dComIfGp_event_getGtItm(); +DUSK_NOINLINE void dComIfGp_event_setGtItm(u8 i_itemNo); +DUSK_NOINLINE dEvent_manager_c& dComIfGp_getEventManager(); +DUSK_NOINLINE dEvent_manager_c* dComIfGp_getPEvtManager(); +DUSK_NOINLINE int dComIfGp_evmng_cameraPlay(); +DUSK_NOINLINE int dComIfGp_evmng_startDemo(int i_mapToolId); +DUSK_NOINLINE void dComIfGp_evmng_create(); +DUSK_NOINLINE void dComIfGp_evmng_remove(); +DUSK_NOINLINE bool dComIfGp_evmng_existence(s16 eventId); +DUSK_NOINLINE s16 dComIfGp_evmng_getEventIdx(const char* eventName, u8 mapToolID); +DUSK_NOINLINE bool dComIfGp_evmng_existence(const char* eventname); +DUSK_NOINLINE BOOL dComIfGp_evmng_isMapToolCamera(u8 mapToolID); +DUSK_NOINLINE BOOL dComIfGp_evmng_startCheck(s16 i_eventId); +DUSK_NOINLINE BOOL dComIfGp_evmng_startCheck(char const* i_eventname); +DUSK_NOINLINE BOOL dComIfGp_evmng_endCheck(s16 i_eventID); +DUSK_NOINLINE BOOL dComIfGp_evmng_endCheck(const char* i_eventname); +DUSK_NOINLINE int dComIfGp_evmng_getMyStaffId( + const char* i_staffname, fopAc_ac_c* i_actor, int i_tagId); +DUSK_NOINLINE int dComIfGp_evmng_getIsAddvance(int i_staffId); +DUSK_NOINLINE int dComIfGp_evmng_getMyActIdx(int i_staffId, DUSK_CONST char* DUSK_CONST* i_actions, + int i_actionNum, BOOL param_3, BOOL param_4); +DUSK_NOINLINE f32* dComIfGp_evmng_getMyFloatP(int i_staffId, DUSK_CONST char* i_dataname); +DUSK_NOINLINE cXyz* dComIfGp_evmng_getMyXyzP(int i_staffId, DUSK_CONST char* i_dataname); +DUSK_NOINLINE int* dComIfGp_evmng_getMyIntegerP(int i_staffId, DUSK_CONST char* i_dataname); +DUSK_NOINLINE char* dComIfGp_evmng_getMyStringP(int i_staffId, DUSK_CONST char* i_dataname); +DUSK_NOINLINE int dComIfGp_evmng_getMySubstanceNum(int i_staffId, DUSK_CONST char* i_dataname); +DUSK_NOINLINE void dComIfGp_evmng_cutEnd(int i_staffId); +DUSK_NOINLINE void dComIfGp_evmng_setGoal(cXyz* i_pos); +DUSK_NOINLINE cXyz* dComIfGp_evmng_getGoal(); +DUSK_NOINLINE BOOL dComIfGp_evmng_ChkPresentEnd(); +DUSK_NOINLINE int dComIfGp_evmng_checkStartDemo(); +DUSK_NOINLINE dAttention_c* dComIfGp_getAttention(); +DUSK_NOINLINE fopAc_ac_c* dComIfGp_att_getZHint(); +DUSK_NOINLINE int dComIfGp_att_ZHintRequest(fopAc_ac_c* param_1, int param_2); +DUSK_NOINLINE fopAc_ac_c* dComIfGp_att_getCatghTarget(); +DUSK_NOINLINE u8 dComIfGp_att_getCatchChgItem(); +DUSK_NOINLINE int dComIfGp_att_CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 i_horizontalDist, + f32 i_upDist, f32 i_downDist, s16 i_angle, int param_5); +DUSK_NOINLINE fopAc_ac_c* dComIfGp_att_getLookTarget(); +DUSK_NOINLINE void dComIfGp_att_LookRequest(fopAc_ac_c* param_0, f32 i_horizontalDist, f32 i_upDist, + f32 i_downDist, s16 i_angle, int param_5); +DUSK_NOINLINE dVibration_c& dComIfGp_getVibration(); +DUSK_NOINLINE JKRAramArchive* dComIfGp_getFieldMapArchive2(); +DUSK_NOINLINE void dComIfGp_setFieldMapArchive2(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getMsgArchive(int idx); +DUSK_NOINLINE void dComIfGp_setMsgArchive(int i, JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getDemoMsgArchive(); +DUSK_NOINLINE void dComIfGp_setDemoMsgArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getMeterButtonArchive(); +DUSK_NOINLINE void dComIfGp_setMeterButtonArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getFontArchive(); +DUSK_NOINLINE void dComIfGp_setFontArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getRubyArchive(); +DUSK_NOINLINE void dComIfGp_setRubyArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getAnmArchive(); +DUSK_NOINLINE void dComIfGp_setAnmArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getCollectResArchive(); +DUSK_NOINLINE void dComIfGp_setCollectResArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getFmapResArchive(); +DUSK_NOINLINE void dComIfGp_setFmapResArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getDmapResArchive(); +DUSK_NOINLINE void dComIfGp_setDmapResArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getOptionResArchive(); +DUSK_NOINLINE void dComIfGp_setOptionResArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getItemIconArchive(); +DUSK_NOINLINE void dComIfGp_setItemIconArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getNameResArchive(); +DUSK_NOINLINE void dComIfGp_setNameResArchive(JKRArchive* arc); +DUSK_NOINLINE void dComIfGp_setErrorResArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getAllMapArchive(); +DUSK_NOINLINE void dComIfGp_setAllMapArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getMsgCommonArchive(); +DUSK_NOINLINE void dComIfGp_setMsgCommonArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getRingResArchive(); +DUSK_NOINLINE void dComIfGp_setRingResArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getCardIconResArchive(); +DUSK_NOINLINE void dComIfGp_setCardIconResArchive(JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getMsgDtArchive(); +DUSK_NOINLINE JKRArchive* dComIfGp_getMsgDtArchive(int idx); +DUSK_NOINLINE void dComIfGp_setMsgDtArchive(int i, JKRArchive* arc); +DUSK_NOINLINE JKRArchive* dComIfGp_getMain2DArchive(); +DUSK_NOINLINE void dComIfGp_setMain2DArchive(JKRArchive* arc); +DUSK_NOINLINE JKRExpHeap* dComIfGp_particle_getResHeap(); +DUSK_NOINLINE void dComIfGp_particle_levelExecute(u32 param_0); +DUSK_NOINLINE void dComIfGp_particle_createCommon(const void* data); +DUSK_NOINLINE void dComIfGp_particle_readScene(u8 particle_no, mDoDvdThd_toMainRam_c** param_1); +DUSK_NOINLINE void dComIfGp_particle_createScene(const void* param_0); +DUSK_NOINLINE void dComIfGp_particle_removeScene(bool param_0); +DUSK_NOINLINE void dComIfGp_particle_cleanup(); +DUSK_NOINLINE void dComIfGp_particle_calc3D(); +DUSK_NOINLINE void dComIfGp_particle_calc2D(); +DUSK_NOINLINE void dComIfGp_particle_calcMenu(); +DUSK_NOINLINE void dComIfGp_particle_draw(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawFog(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawP1(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawProjection(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawNormalPri0_A(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawNormalPri0_B(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawFogPri0_A(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawFogPri0_B(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawFogPri1(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawFogPri2(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawFogPri3(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawFogPri4(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawDarkworld(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_drawScreen(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_draw2Dgame(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_draw2Dfore(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_draw2Dback(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_draw2DmenuFore(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_particle_draw2DmenuBack(JPADrawInfo* i_drawInfo); +DUSK_NOINLINE void dComIfGp_setHitMark(u16 i_hitmark, fopAc_ac_c* param_1, const cXyz* param_2, + const csXyz* param_3, const cXyz* param_4, u32 i_atType); +DUSK_NOINLINE void dComIfGp_particle_setWaterRipple(u32* param_0, cBgS_PolyInfo& param_1, + const cXyz* param_2, f32 param_3, const dKy_tevstr_c* param_4, const cXyz* param_5, s8 param_6); +DUSK_NOINLINE u32 dComIfGp_particle_setPolyColor(u32 param_0, u16 param_1, cBgS_PolyInfo& param_2, + const cXyz* param_3, const dKy_tevstr_c* param_4, const csXyz* param_5, const cXyz* param_6, + int param_7, dPa_levelEcallBack* param_8, s8 param_9, const cXyz* param_10); +DUSK_NOINLINE JPABaseEmitter* dComIfGp_particle_setPolyColor(u16 param_1, cBgS_PolyInfo& param_2, + const cXyz* param_3, const dKy_tevstr_c* param_4, const csXyz* param_5, const cXyz* param_6, + int param_7, dPa_levelEcallBack* param_8, s8 param_9, const cXyz* param_10); +DUSK_NOINLINE void dComIfGp_particle_setSimple(u16 param_0, cXyz* i_pos, u8 param_2, + GXColor& param_3, GXColor& param_4, int param_5, float param_6); +DUSK_NOINLINE u32 dComIfGp_particle_setStopContinue(u32 param_0); +DUSK_NOINLINE u32 dComIfGp_particle_setSimpleFoot(u32 param_0, u32* param_1, cBgS_PolyInfo& param_2, + cXyz const* param_3, dKy_tevstr_c const* param_4, int param_5, csXyz const* param_6, + cXyz const* param_7, dPa_levelEcallBack* param_8, s8 param_9, cXyz const* param_10); +DUSK_NOINLINE u16 dComIfGp_particle_setCommonPoly(u32* param_0, cBgS_PolyInfo* param_1, + const cXyz* param_2, const cXyz* param_3, const dKy_tevstr_c* param_4, u32 param_5, u32 param_6, + const csXyz* param_7, const cXyz* param_8, s8 param_9); +DUSK_NOINLINE void dComIfGp_particle_levelEmitterOnEventMove(u32 param_0); +DUSK_NOINLINE JPABaseEmitter* dComIfGp_particle_getEmitter(u32 param_0); +DUSK_NOINLINE u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* i_pos, + const dKy_tevstr_c* param_3, const csXyz* i_rotation, const cXyz* i_scale, u8 i_alpha, + dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9, const GXColor* param_10, + const cXyz* param_11); +DUSK_NOINLINE u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* i_pos, + const csXyz* i_rotation, const cXyz* i_scale, u8 param_5, dPa_levelEcallBack* param_6, + s8 param_7, const GXColor* param_8, const GXColor* param_9, const cXyz* param_10); +DUSK_NOINLINE JPABaseEmitter* dComIfGp_particle_set(u16 i_resID, const cXyz* i_pos, + const dKy_tevstr_c* param_3, const csXyz* i_rotation, const cXyz* i_scale, u8 i_alpha, + dPa_levelEcallBack* i_callback, s8 param_8, const GXColor* i_prmColor, + const GXColor* i_envColor, const cXyz* i_particleScale); +DUSK_NOINLINE JPABaseEmitter* dComIfGp_particle_set(u16 i_resID, const cXyz* i_pos, + const csXyz* i_rotation, const cXyz* i_scale, u8 i_alpha, dPa_levelEcallBack* i_callback, + s8 param_7, const GXColor* i_prmColor, const GXColor* i_envColor, const cXyz* i_particleScale); +DUSK_NOINLINE u32 dComIfGp_particle_set( + u32 param_0, u16 param_1, const cXyz* i_pos, const dKy_tevstr_c* param_3); +DUSK_NOINLINE JPABaseEmitter* dComIfGp_particle_set( + u16 i_resID, const cXyz* i_pos, const csXyz* i_rotation, const cXyz* i_scale); +DUSK_NOINLINE JPABaseEmitter* dComIfGp_particle_set(u16 i_resID, const cXyz* i_pos, + const dKy_tevstr_c* param_2, const csXyz* i_rotation, const cXyz* i_scale); +DUSK_NOINLINE u32 dComIfGp_particle_set( + u32 param_0, u16 param_1, const cXyz* i_pos, const csXyz* param_3, const cXyz* param_4); +DUSK_NOINLINE u32 dComIfGp_particle_setColor(u32 param_0, u16 param_1, const cXyz* i_pos, + const dKy_tevstr_c* param_3, const GXColor* param_4, const GXColor* param_5, f32 param_6, + u8 param_7, const csXyz* param_8, const cXyz* param_9, dPa_levelEcallBack* param_10, + s8 param_11, const cXyz* param_12); +DUSK_NOINLINE JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* i_pos, + const dKy_tevstr_c* param_2, const GXColor* param_3, const GXColor* param_4, f32 param_5, + u8 param_6, const csXyz* param_7, const cXyz* param_8, dPa_levelEcallBack* param_9, s8 param_10, + const cXyz* param_11); +DUSK_NOINLINE JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* i_pos, + const dKy_tevstr_c* param_2, const GXColor* param_3, const GXColor* param_4, f32 param_5, + u8 param_6); +DUSK_NOINLINE u32 dComIfGp_particle_getHeapSize(); +DUSK_NOINLINE u32 dComIfGp_particle_getSceneHeapSize(); +DUSK_NOINLINE int dComIfGp_particle_getEmitterNum(); +DUSK_NOINLINE int dComIfGp_particle_getParticleNum(); +DUSK_NOINLINE dSmplMdl_draw_c* dComIfGp_getSimpleModel(); +DUSK_NOINLINE int dComIfGp_getWindowNum(); +DUSK_NOINLINE void dComIfGp_setWindowNum(int num); +DUSK_NOINLINE s8 dComIfGp_getLayerOld(); +DUSK_NOINLINE s32 dComIfGp_checkStatus(u16 flags); +DUSK_NOINLINE void dComIfGp_setStatus(u16 status); +DUSK_NOINLINE void dComIfGp_onStatus(u16 i_status); +DUSK_NOINLINE dDlst_window_c* dComIfGp_getWindow(int i); +DUSK_NOINLINE void dComIfGp_setWindow(u8 i, f32 param_1, f32 param_2, f32 param_3, f32 param_4, + f32 param_5, f32 param_6, int camID, int mode); +DUSK_NOINLINE camera_process_class* dComIfGp_getCamera(int idx); +DUSK_NOINLINE void dComIfGp_setCamera(int i, camera_class* cam); +DUSK_NOINLINE int dComIfGp_getCameraWinID(int idx); +DUSK_NOINLINE int dComIfGp_getCameraPlayer1ID(int idx); +DUSK_NOINLINE int dComIfGp_getCameraPlayer2ID(int idx); +DUSK_NOINLINE u32 dComIfGp_getCameraAttentionStatus(int i_no); +DUSK_NOINLINE BOOL dComIfGp_checkCameraAttentionStatus(int i, u32 flag); +DUSK_NOINLINE void dComIfGp_onCameraAttentionStatus(int i, u32 flag); +DUSK_NOINLINE void dComIfGp_offCameraAttentionStatus(int i, u32 flag); +DUSK_NOINLINE void dComIfGp_setCameraInfo( + int camIdx, camera_class* p_cam, int param_2, int param_3, int param_4); +DUSK_NOINLINE f32 dComIfGp_getCameraZoomScale(int i_no); +DUSK_NOINLINE void dComIfGp_setCameraZoomScale(int i_no, f32 i_scale); +DUSK_NOINLINE f32 dComIfGp_getCameraZoomForcus(int i_no); +DUSK_NOINLINE void dComIfGp_setCameraZoomForcus(int i_no, f32 i_focus); +DUSK_NOINLINE const char* dComIfGp_getCameraParamFileName(int i); +DUSK_NOINLINE void dComIfGp_setCameraParamFileName(int i, char* name); +DUSK_NOINLINE void dComIfGp_saveCameraPosition( + int i, cXyz* i_pos, cXyz* i_target, f32 i_fovy, s16 i_bank); +DUSK_NOINLINE void dComIfGp_loadCameraPosition( + int i, cXyz* o_pos, cXyz* o_target, f32* o_fovy, s16* o_bank); +DUSK_NOINLINE fopAc_ac_c* dComIfGp_getPlayer(int idx); +DUSK_NOINLINE void dComIfGp_setPlayer(int i, fopAc_ac_c* player); +DUSK_NOINLINE int dComIfGp_getPlayerCameraID(int idx); +DUSK_NOINLINE void dComIfGp_setPlayerInfo(int plyrIdx, fopAc_ac_c* ptr, int camIdx); +DUSK_NOINLINE daPy_py_c* dComIfGp_getLinkPlayer(); +DUSK_NOINLINE daHorse_c* dComIfGp_getHorseActor(); +DUSK_NOINLINE void dComIfGp_setLinkPlayer(fopAc_ac_c* ptr); +DUSK_NOINLINE void dComIfGp_setHorseActor(fopAc_ac_c* i_horse); +DUSK_NOINLINE void dComIfGp_setPlayerPtr(int i, fopAc_ac_c* ptr); +DUSK_NOINLINE dMsgObject_c* dComIfGp_getMsgObjectClass(); +DUSK_NOINLINE void dComIfGp_setMsgObjectClass(dMsgObject_c* obj); +DUSK_NOINLINE f32 dComIfGp_getItemLifeCount(); +DUSK_NOINLINE u8 dComIfGp_getItemLifeCountType(); +DUSK_NOINLINE void dComIfGp_setItemLifeCount(f32 amount, u8 type); +DUSK_NOINLINE void dComIfGp_clearItemLifeCount(); +DUSK_NOINLINE s32 dComIfGp_getItemRupeeCount(); +DUSK_NOINLINE void dComIfGp_setItemRupeeCount(s32 amount); +DUSK_NOINLINE void dComIfGp_clearItemRupeeCount(); +DUSK_NOINLINE s16 dComIfGp_getItemKeyNumCount(); +DUSK_NOINLINE void dComIfGp_setItemKeyNumCount(s16 count); +DUSK_NOINLINE void dComIfGp_clearItemKeyNumCount(); +DUSK_NOINLINE s16 dComIfGp_getItemMaxLifeCount(); +DUSK_NOINLINE void dComIfGp_setItemMaxLifeCount(s16 count); +DUSK_NOINLINE void dComIfGp_clearItemMaxLifeCount(); +DUSK_NOINLINE void dComIfGp_setItemMagicCount(s16 count); +DUSK_NOINLINE void dComIfGp_setItemNowMagic(s16 magic); +DUSK_NOINLINE void dComIfGp_setItemMaxMagicCount(s16 count); +DUSK_NOINLINE s32 dComIfGp_getItemOilCount(); +DUSK_NOINLINE void dComIfGp_setItemOilCount(s32 oil); +DUSK_NOINLINE void dComIfGp_setItemMaxOilCount(s32 oil); +DUSK_NOINLINE void dComIfGp_clearItemOilCount(); +DUSK_NOINLINE s32 dComIfGp_getItemNowOil(); +DUSK_NOINLINE void dComIfGp_setItemNowOil(s32 oil); +DUSK_NOINLINE s32 dComIfGp_getItemMaxOilCount(); +DUSK_NOINLINE void dComIfGp_clearItemMaxOilCount(); +DUSK_NOINLINE int dComIfGp_getOxygen(); +DUSK_NOINLINE void dComIfGp_setOxygen(s32 oxygen); +DUSK_NOINLINE int dComIfGp_getNowOxygen(); +DUSK_NOINLINE void dComIfGp_setNowOxygen(s32 oxygen); +DUSK_NOINLINE s32 dComIfGp_getMaxOxygen(); +DUSK_NOINLINE void dComIfGp_setMaxOxygen(s32 i_oxygen); +DUSK_NOINLINE s32 dComIfGp_getOxygenCount(); +DUSK_NOINLINE void dComIfGp_setOxygenCount(s32 oxygen); +DUSK_NOINLINE void dComIfGp_clearOxygenCount(); +DUSK_NOINLINE void dComIfGp_setMaxOxygenCount(s32 oxygen); +DUSK_NOINLINE s32 dComIfGp_getMaxOxygenCount(); +DUSK_NOINLINE void dComIfGp_clearMaxOxygenCount(); +DUSK_NOINLINE s16 dComIfGp_getItemArrowNumCount(); +DUSK_NOINLINE void dComIfGp_setItemArrowNumCount(s16 count); +DUSK_NOINLINE void dComIfGp_clearItemArrowNumCount(); +DUSK_NOINLINE s16 dComIfGp_getItemPachinkoNumCount(); +DUSK_NOINLINE void dComIfGp_setItemPachinkoNumCount(s16 count); +DUSK_NOINLINE void dComIfGp_clearItemPachinkoNumCount(); +DUSK_NOINLINE s16 dComIfGp_getItemMaxArrowNumCount(); +DUSK_NOINLINE int dComIfGp_getMessageCountNumber(); +DUSK_NOINLINE void dComIfGp_setMessageCountNumber(s32 number); +DUSK_NOINLINE u16 dComIfGp_getItemNowLife(); +DUSK_NOINLINE void dComIfGp_setItemNowLife(u16 life); +DUSK_NOINLINE u8 dComIfGp_getMesgStatus(); +DUSK_NOINLINE u8 dComIfGp_getRStatus(); +DUSK_NOINLINE bool dComIfGp_isRSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setRStatus(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getRStatusForce(); +DUSK_NOINLINE u8 dComIfGp_getRSetFlagForce(); +DUSK_NOINLINE void dComIfGp_setRStatusForce(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getAStatus(); +DUSK_NOINLINE bool dComIfGp_isASetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setAStatus(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getAStatusForce(); +DUSK_NOINLINE u8 dComIfGp_getASetFlagForce(); +DUSK_NOINLINE void dComIfGp_setAStatusForce(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getNunStatus(); +DUSK_NOINLINE bool dComIfGp_isNunSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setNunStatus(u8 status, u8 param_1, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getBottleStatus(); +DUSK_NOINLINE bool dComIfGp_isBottleSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setBottleStatus(u8 param_0, u8 param_1); +DUSK_NOINLINE u8 dComIfGp_getBottleStatusForce(); +DUSK_NOINLINE u8 dComIfGp_getBottleSetFlagForce(); +DUSK_NOINLINE void dComIfGp_setBottleStatusForce(u8 param_0, u8 param_1); +DUSK_NOINLINE u8 dComIfGp_getRemoConStatus(); +DUSK_NOINLINE bool dComIfGp_isRemoConSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setRemoConStatus(u8 status, u8 param_1, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getDoStatus(); +DUSK_NOINLINE bool dComIfGp_isDoSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setDoStatus(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getDoStatusForce(); +DUSK_NOINLINE u8 dComIfGp_getDoSetFlagForce(); +DUSK_NOINLINE void dComIfGp_setDoStatusForce(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_get3DStatus(); +DUSK_NOINLINE u8 dComIfGp_get3DDirection(); +DUSK_NOINLINE bool dComIfGp_is3DSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_set3DStatus(u8 status, u8 direction, u8 flag); +DUSK_NOINLINE u8 dComIfGp_get3DStatusForce(); +DUSK_NOINLINE u8 dComIfGp_get3DDirectionForce(); +DUSK_NOINLINE u8 dComIfGp_get3DSetFlagForce(); +DUSK_NOINLINE void dComIfGp_set3DStatusForce(u8 status, u8 direction, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getCStickStatus(); +DUSK_NOINLINE u8 dComIfGp_getCStickDirection(); +DUSK_NOINLINE bool dComIfGp_isCStickSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setCStickStatus(u8 status, u8 param_1, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getCStickStatusForce(); +DUSK_NOINLINE u8 dComIfGp_getCStickDirectionForce(); +DUSK_NOINLINE u8 dComIfGp_getCStickSetFlagForce(); +DUSK_NOINLINE void dComIfGp_setCStickStatusForce(u8 status, u8 param_1, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getSButtonStatus(); +DUSK_NOINLINE bool dComIfGp_isSButtonSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setSButtonStatus(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getSButtonStatusForce(); +DUSK_NOINLINE u8 dComIfGp_getSButtonSetFlagForce(); +DUSK_NOINLINE void dComIfGp_setSButtonStatusForce(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getZStatus(); +DUSK_NOINLINE bool dComIfGp_isZSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setZStatus(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getZStatusForce(); +DUSK_NOINLINE u8 dComIfGp_getZSetFlagForce(); +DUSK_NOINLINE void dComIfGp_setZStatusForce(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getXStatus(); +DUSK_NOINLINE bool dComIfGp_isXSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setXStatus(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getXStatusForce(); +DUSK_NOINLINE u8 dComIfGp_getXSetFlagForce(); +DUSK_NOINLINE void dComIfGp_setXStatusForce(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getYStatus(); +DUSK_NOINLINE bool dComIfGp_isYSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setYStatus(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getYStatusForce(); +DUSK_NOINLINE u8 dComIfGp_getYSetFlagForce(); +DUSK_NOINLINE void dComIfGp_setYStatusForce(u8 status, u8 flag); +DUSK_NOINLINE u8 dComIfGp_getNunZStatus(); +DUSK_NOINLINE bool dComIfGp_isNunZSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setNunZStatus(u8 param_0, u8 param_1); +DUSK_NOINLINE u8 dComIfGp_getNunCStatus(); +DUSK_NOINLINE bool dComIfGp_isNunCSetFlag(u8 flag); +DUSK_NOINLINE void dComIfGp_setNunCStatus(u8 param_0, u8 param_1); +DUSK_NOINLINE void dComIfGp_setSelectEquipClothes(u8 i_clothNo); +DUSK_NOINLINE void dComIfGp_setSelectEquipSword(u8 i_swordNo); +DUSK_NOINLINE void dComIfGp_setSelectEquipShield(u8 i_shieldNo); +DUSK_NOINLINE u8 dComIfGp_getMesgAnimeAttrInfo(); +DUSK_NOINLINE void dComIfGp_setMesgAnimeAttrInfo(u8 param_1); +DUSK_NOINLINE void dComIfGp_clearMesgAnimeAttrInfo(); +DUSK_NOINLINE u8 dComIfGp_getMesgFaceAnimeAttrInfo(); +DUSK_NOINLINE void dComIfGp_setMesgFaceAnimeAttrInfo(u8 id); +DUSK_NOINLINE void dComIfGp_clearMesgFaceAnimeAttrInfo(); +DUSK_NOINLINE void dComIfGp_clearMesgAnimeTagInfo(); +DUSK_NOINLINE void dComIfGp_setItem(u8 slot, u8 i_no); +DUSK_NOINLINE u8 dComIfGp_getAdvanceDirection(); +DUSK_NOINLINE void dComIfGp_setAdvanceDirection(u8 i_dir); +DUSK_NOINLINE u8 dComIfGp_checkMesgCancelButton(); +DUSK_NOINLINE void dComIfGp_setMesgCancelButton(u8 button); +DUSK_NOINLINE u8 dComIfGp_getGameoverStatus(); +DUSK_NOINLINE void dComIfGp_setGameoverStatus(u8 i_status); +DUSK_NOINLINE u8 dComIfGp_isHeapLockFlag(); +DUSK_NOINLINE u8 dComIfGp_getSubHeapLockFlag(int idx); +DUSK_NOINLINE void dComIfGp_setSubHeapLockFlag(int idx, u8 status); +DUSK_NOINLINE u8 dComIfGp_getNeedLightDropNum(); +DUSK_NOINLINE void dComIfGp_setNeedLightDropNum(u8 i_num); +DUSK_NOINLINE u8 dComIfGp_checkMesgBgm(); +DUSK_NOINLINE void dComIfGp_setMesgBgmOff(); +DUSK_NOINLINE void dComIfGp_setMesgBgmOn(); +DUSK_NOINLINE u8 dComIfGp_isPauseFlag(); +DUSK_NOINLINE void dComIfGp_offPauseFlag(); +DUSK_NOINLINE void dComIfGp_onPauseFlag(); +DUSK_NOINLINE u8 dComIfGp_getOxygenShowFlag(); +DUSK_NOINLINE void dComIfGp_offOxygenShowFlag(); +DUSK_NOINLINE void dComIfGp_onOxygenShowFlag(); +DUSK_NOINLINE u8 dComIfGp_2dShowCheck(); +DUSK_NOINLINE void dComIfGp_2dShowOn(); +DUSK_NOINLINE void dComIfGp_2dShowOff(); +DUSK_NOINLINE JKRExpHeap* dComIfGp_getExpHeap2D(); +DUSK_NOINLINE void dComIfGp_setExpHeap2D(void* heap); +DUSK_NOINLINE JKRExpHeap* dComIfGp_getSubExpHeap2D(int idx); +DUSK_NOINLINE void dComIfGp_setSubExpHeap2D(int idx, void* heap); +DUSK_NOINLINE JKRExpHeap* dComIfGp_getMsgExpHeap(); +DUSK_NOINLINE void dComIfGp_setMsgExpHeap(void* heap); +DUSK_NOINLINE dComIfG_MesgCamInfo_c* dComIfGp_getMesgCameraInfo(); +DUSK_NOINLINE void dComIfGp_setMesgCameraTagInfo(int id); +DUSK_NOINLINE void dComIfGp_clearMesgCameraTagInfo(); +DUSK_NOINLINE void dComIfGp_setMesgCameraAttrInfo(int param_1); +DUSK_NOINLINE void dComIfGp_clearMesgCameraAttrInfo(); +DUSK_NOINLINE void dComIfGp_setMesgCameraInfoActor(fopAc_ac_c* param_1, fopAc_ac_c* param_2, + fopAc_ac_c* param_3, fopAc_ac_c* param_4, fopAc_ac_c* param_5, fopAc_ac_c* param_6, + fopAc_ac_c* param_7, fopAc_ac_c* param_8, fopAc_ac_c* param_9, fopAc_ac_c* param_10); +DUSK_NOINLINE u32 dComIfGp_checkPlayerStatus0(int param_0, u32 flag); +DUSK_NOINLINE u32 dComIfGp_checkPlayerStatus1(int param_0, u32 flag); +DUSK_NOINLINE void dComIfGp_setPlayerStatus0(int param_0, u32 flag); +DUSK_NOINLINE void dComIfGp_setPlayerStatus1(int param_0, u32 flag); +DUSK_NOINLINE void dComIfGp_clearPlayerStatus0(int param_0, u32 flag); +DUSK_NOINLINE void dComIfGp_clearPlayerStatus1(int param_0, u32 flag); +DUSK_NOINLINE void dComIfGp_setCurrentWindow(dDlst_window_c* i_window); +DUSK_NOINLINE void dComIfGp_setCurrentView(view_class* i_view); +DUSK_NOINLINE void dComIfGp_setCurrentViewport(view_port_class* i_viewport); +DUSK_NOINLINE J2DGrafContext* dComIfGp_getCurrentGrafPort(); +DUSK_NOINLINE void dComIfGp_setCurrentGrafPort(J2DOrthoGraph* i_graf); +DUSK_NOINLINE void* dComIfGp_getItemTable(); +DUSK_NOINLINE void dComIfGp_setItemTable(void* data); +DUSK_NOINLINE char* dComIfGp_getLastPlayStageName(); +DUSK_NOINLINE void dComIfGp_setLastPlayStageName(char* name); +DUSK_NOINLINE void dComIfGp_init(); +DUSK_NOINLINE void dComIfGp_itemDataInit(); +DUSK_NOINLINE void dComIfGp_setItemBombNumCount(u8 i_item, s16 count); +DUSK_NOINLINE s16 dComIfGp_getItemBombNumCount(u8 i_no); +DUSK_NOINLINE void dComIfGp_clearItemBombNumCount(u8 i_no); +DUSK_NOINLINE s16 dComIfGp_getItemMaxBombNumCount(); +DUSK_NOINLINE void dComIfGp_setNowVibration(u8 status); +DUSK_NOINLINE u32 dComIfGp_getNowVibration(); +DUSK_NOINLINE void dComIfGp_particle_create(); +DUSK_NOINLINE void dComIfGp_createSimpleModel(); +DUSK_NOINLINE void dComIfGp_deleteSimpleModel(); +DUSK_NOINLINE void dComIfGp_drawSimpleModel(); +DUSK_NOINLINE int dComIfGp_addSimpleModel(J3DModelData* i_modelData, int roomNo, u8 i_drawBG); +DUSK_NOINLINE void dComIfGp_removeSimpleModel(J3DModelData* i_modelData, int roomNo); +DUSK_NOINLINE void dComIfGp_entrySimpleModel(J3DModel* model, int roomNo); +DUSK_NOINLINE void dComIfG_ct(); +DUSK_NOINLINE dBgS& dComIfG_Bgsp(); +DUSK_NOINLINE dCcS* dComIfG_Ccsp(); +DUSK_NOINLINE dCcS& dComIfG_Ccsp2(); +DUSK_NOINLINE void dComIfG_setTimerNowTimeMs(int time); +DUSK_NOINLINE int dComIfG_getTimerNowTimeMs(); +DUSK_NOINLINE void dComIfG_setTimerLimitTimeMs(int i_time); +DUSK_NOINLINE int dComIfG_getTimerLimitTimeMs(); +DUSK_NOINLINE void dComIfG_setTimerMode(int mode); +DUSK_NOINLINE int dComIfG_getTimerMode(); +DUSK_NOINLINE void dComIfG_setTimerType(u8 i_type); +DUSK_NOINLINE u8 dComIfG_getTimerType(); +DUSK_NOINLINE void dComIfG_setTimerPtr(dTimer_c* i_ptr); +DUSK_NOINLINE dTimer_c* dComIfG_getTimerPtr(); + +/** + * Attempts to add a new Object Resource Archive (*.arc) into the Resource Control. + * @param i_arcName Name of archive to be added + * @param i_mountDirection The direction to mount the archive. mDoDvd_MOUNT_DIRECTION_HEAD or + * mDoDvd_MOUNT_DIRECTION_TAIL + * @param i_heap Pointer to heap to load resources into + * @return TRUE if successful, FALSE otherwise + */ +DUSK_NOINLINE int dComIfG_setObjectRes(const char* i_arcName, u8 i_mountDirection, JKRHeap* i_heap); +DUSK_NOINLINE int dComIfG_setObjectRes( + const char* i_arcName, void* i_archiveRes, u32 i_bufferSize, JKRHeap* i_heap); + +/** + * Attempts to add a new Stage Resource Archive (*.arc) into the Resource Control. + * @param i_arcName Name of archive to be added + * @param i_heap Pointer to heap to load resources into + * @return TRUE if successful, FALSE otherwise + */ +DUSK_NOINLINE int dComIfG_setStageRes(const char* i_arcName, JKRHeap* i_heap); +DUSK_NOINLINE int dComIfG_syncObjectRes(const char* i_arcName); +DUSK_NOINLINE int dComIfG_syncStageRes(const char* i_arcName); +DUSK_NOINLINE int dComIfG_deleteObjectResMain(const char* i_arcName); +DUSK_NOINLINE int dComIfG_deleteStageRes(const char* i_arcName); +DUSK_NOINLINE void* dComIfG_getStageRes(const char* i_arcName, const char* i_resName); +DUSK_NOINLINE void* dComIfG_getObjectRes(const char* i_arcName, const char* i_resName); +DUSK_NOINLINE void* dComIfG_getObjectRes(const char* i_arcName, int i_index); +DUSK_NOINLINE void dComIfG_dumpResControl(); +DUSK_NOINLINE dRes_info_c* dComIfG_getObjectResInfo(const char* i_arcName); +DUSK_NOINLINE dRes_info_c* dComIfG_getStageResInfo(const char* i_arcName); +DUSK_NOINLINE int dComIfG_syncAllObjectRes(); +DUSK_NOINLINE void* dComIfG_getObjectIDRes(const char* i_arcName, u16 i_resID); +DUSK_NOINLINE int dComIfG_getObjctResName2Index(const char* i_arcName, const char* i_resName); +DUSK_NOINLINE u8 dComIfG_getBrightness(); +DUSK_NOINLINE void dComIfG_setBrightness(u8 brightness); +DUSK_NOINLINE BOOL dComIfG_isDebugMode(); +DUSK_NOINLINE u32 dComIfG_getTrigB(u32 i_padNo); +#if DEBUG +DUSK_NOINLINE u32 dComIfG_getObjectAllSize(); +DUSK_NOINLINE u32 dComIfG_getStageAllSize(); +DUSK_NOINLINE u32 dComIfG_getObjectSize(const char* i_arcName); +DUSK_NOINLINE u32 dComIfG_getStageSize(const char* i_arcName); +DUSK_NOINLINE void dComIfG_initStopwatch(); +#endif + +DUSK_NOINLINE int dComIfGd_setRealShadow(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3, + f32 param_4, f32 param_5, dKy_tevstr_c* param_6); +DUSK_NOINLINE int dComIfGd_setSimpleShadow( + cXyz* pos, f32 param_1, f32 param_2, cXyz* param_3, s16 angle, f32 param_5, TGXTexObj* tex); +DUSK_NOINLINE bool dComIfGd_addRealShadow(u32 key, J3DModel* model); +DUSK_NOINLINE void dComIfGd_drawListItem3d(); + +#if VERSION > VERSION_GCN_JPN +DUSK_NOINLINE void dComIfGd_drawListCursor(); +#endif + +DUSK_NOINLINE void dComIfGd_reset(); +DUSK_NOINLINE void dComIfGd_set2DOpa(dDlst_base_c* dlst); +DUSK_NOINLINE void dComIfGd_set2DXlu(dDlst_base_c* dlst); +DUSK_NOINLINE void dComIfGd_set2DOpaTop(dDlst_base_c* dlst); +DUSK_NOINLINE void dComIfGd_setCopy2D(dDlst_base_c* dlst); +DUSK_NOINLINE view_class* dComIfGd_getView(); +DUSK_NOINLINE Mtx44* dComIfGd_getProjViewMtx(); +DUSK_NOINLINE MtxP dComIfGd_getInvViewMtx(); +DUSK_NOINLINE view_port_class* dComIfGd_getViewport(); +DUSK_NOINLINE MtxP dComIfGd_getViewRotMtx(); +DUSK_NOINLINE MtxP dComIfGd_getViewMtx(); +DUSK_NOINLINE J3DDrawBuffer* dComIfGd_getListFilter(); +DUSK_NOINLINE J3DDrawBuffer* dComIfGd_getOpaListIndScreen(); +DUSK_NOINLINE J3DDrawBuffer* dComIfGd_getListPacket(); +DUSK_NOINLINE void dComIfGd_setListSky(); +DUSK_NOINLINE void dComIfGd_setListDark(); +DUSK_NOINLINE void dComIfGd_setListInvisisble(); +DUSK_NOINLINE void dComIfGd_setListDarkBG(); +DUSK_NOINLINE void dComIfGd_setXluListDarkBG(); +DUSK_NOINLINE void dComIfGd_setList(); +DUSK_NOINLINE void dComIfGd_setListItem3D(); +DUSK_NOINLINE void dComIfGd_setList3Dlast(); +DUSK_NOINLINE void dComIfGd_setXluList2DScreen(); +DUSK_NOINLINE void dComIfGd_setXluListBG(); +DUSK_NOINLINE void dComIfGd_setListBG(); +DUSK_NOINLINE void dComIfGd_setListIndScreen(); +DUSK_NOINLINE void dComIfGd_setListMiddle(); +DUSK_NOINLINE void dComIfGd_setListZxlu(); +DUSK_NOINLINE J3DDrawBuffer* dComIfGd_getOpaList(); +DUSK_NOINLINE J3DDrawBuffer* dComIfGd_getOpaListBG(); +DUSK_NOINLINE J3DDrawBuffer* dComIfGd_getOpaListDark(); +DUSK_NOINLINE J3DDrawBuffer* dComIfGd_getXluListBG(); +DUSK_NOINLINE void dComIfGd_setListFilter(); +DUSK_NOINLINE void dComIfGd_init(); +DUSK_NOINLINE void dComIfGd_peekZ(s16 param_0, s16 param_1, u32* param_2); +DUSK_NOINLINE void dComIfGd_peekZdata(); +DUSK_NOINLINE void dComIfGd_setView(view_class* view); +DUSK_NOINLINE void dComIfGd_setWindow(dDlst_window_c* window); +DUSK_NOINLINE void dComIfGd_setViewport(view_port_class* port); +DUSK_NOINLINE void dComIfGd_entryZSortListZxlu(J3DPacket* i_packet, cXyz& param_1); +DUSK_NOINLINE void dComIfGd_entryZSortXluList(J3DPacket* i_packet, cXyz& param_1); +DUSK_NOINLINE void dComIfGd_drawCopy2D(); +DUSK_NOINLINE void dComIfGd_drawOpaListSky(); +DUSK_NOINLINE void dComIfGd_drawXluListSky(); +DUSK_NOINLINE void dComIfGd_drawOpaListBG(); +DUSK_NOINLINE void dComIfGd_drawOpaListDarkBG(); +DUSK_NOINLINE void dComIfGd_drawOpaListMiddle(); +DUSK_NOINLINE void dComIfGd_drawOpaList(); +DUSK_NOINLINE void dComIfGd_drawOpaListDark(); +DUSK_NOINLINE void dComIfGd_drawOpaListPacket(); +DUSK_NOINLINE void dComIfGd_drawXluListBG(); +DUSK_NOINLINE void dComIfGd_drawXluListDarkBG(); +DUSK_NOINLINE void dComIfGd_drawXluList(); +DUSK_NOINLINE void dComIfGd_drawXluListDark(); +DUSK_NOINLINE void dComIfGd_drawXluListInvisible(); +DUSK_NOINLINE void dComIfGd_drawOpaListInvisible(); +DUSK_NOINLINE void dComIfGd_drawXluListZxlu(); +DUSK_NOINLINE void dComIfGd_drawXluList2DScreen(); +DUSK_NOINLINE void dComIfGd_drawOpaList3Dlast(); +DUSK_NOINLINE void dComIfGd_draw2DOpa(); +DUSK_NOINLINE void dComIfGd_draw2DOpaTop(); +DUSK_NOINLINE void dComIfGd_draw2DXlu(); +DUSK_NOINLINE void dComIfGd_drawOpaListFilter(); +DUSK_NOINLINE void dComIfGd_drawIndScreen(); +DUSK_NOINLINE void dComIfGd_drawListZxlu(); +DUSK_NOINLINE void dComIfGd_drawShadow(Mtx param_0); +DUSK_NOINLINE void dComIfGd_imageDrawShadow(Mtx param_0); +DUSK_NOINLINE void dComIfGd_set3DlineMat(mDoExt_3DlineMat_c* param_0); +DUSK_NOINLINE void dComIfGd_set3DlineMatDark(mDoExt_3DlineMat_c* param_0); + +#if PLATFORM_WII || VERSION == VERSION_SHIELD_DEBUG +DUSK_NOINLINE void dComIfGd_setListCursor(); +#endif + +#else inline dSv_info_c* dComIfGs_getSaveInfo() { return &g_dComIfG_gameInfo.info; } @@ -1440,11 +2367,7 @@ inline BOOL dComIfGs_isTransformLV(int i_no) { return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().isTransformLV(i_no); } -#if TARGET_PC -inline cXyz dComIfGs_getHorseRestartPos() { -#else inline cXyz& dComIfGs_getHorseRestartPos() { -#endif return g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().getPos(); } @@ -1465,11 +2388,7 @@ inline void dComIfGs_setHorseRestart(const char* i_stageName, cXyz& i_pos, s16 i g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().set(i_stageName, i_pos, i_angle, i_roomNo); } -#if TARGET_PC -inline cXyz dComIfGs_getPlayerFieldLastStayPos() { -#else inline cXyz& dComIfGs_getPlayerFieldLastStayPos() { -#endif return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().getPos(); } @@ -1511,11 +2430,7 @@ inline void dComIfGs_setPlayerFieldLastStayInfo(const char* i_stage, cXyz& i_pos i_point, i_region); } -#if TARGET_PC -inline cXyz dComIfGs_getLastWarpMarkPlayerPos() { -#else inline cXyz& dComIfGs_getLastWarpMarkPlayerPos() { -#endif return g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().getPos(); } @@ -1853,12 +2768,6 @@ inline void dComIfGs_addDeathCount() { g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().addDeathCount(); } -#if TARGET_PC -inline u16 dComIfGs_getDeathCount() { - return g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().getDeathCount(); -} -#endif - inline TEXT_SPAN dComIfGs_getPlayerName() { return g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().getPlayerName(); } @@ -3125,133 +4034,114 @@ inline void dComIfGp_particle_calcMenu() { } inline void dComIfGp_particle_draw(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawNormal(i_drawInfo); } } inline void dComIfGp_particle_drawFog(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawNormalFog(i_drawInfo); } } inline void dComIfGp_particle_drawP1(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawNormalP1(i_drawInfo); } } inline void dComIfGp_particle_drawProjection(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawProjection(i_drawInfo); } } inline void dComIfGp_particle_drawNormalPri0_A(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawNormalPri0_A(i_drawInfo); } } inline void dComIfGp_particle_drawNormalPri0_B(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawNormalPri0_B(i_drawInfo); } } inline void dComIfGp_particle_drawFogPri0_A(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawFogPri0_A(i_drawInfo); } } inline void dComIfGp_particle_drawFogPri0_B(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawFogPri0_B(i_drawInfo); } } inline void dComIfGp_particle_drawFogPri1(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawFogPri1(i_drawInfo); } } inline void dComIfGp_particle_drawFogPri2(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawFogPri2(i_drawInfo); } } inline void dComIfGp_particle_drawFogPri3(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawFogPri3(i_drawInfo); } } inline void dComIfGp_particle_drawFogPri4(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawFogPri4(i_drawInfo); } } inline void dComIfGp_particle_drawDarkworld(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawDarkworld(i_drawInfo); } } inline void dComIfGp_particle_drawScreen(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->drawFogScreen(i_drawInfo); } } inline void dComIfGp_particle_draw2Dgame(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->draw2Dgame(i_drawInfo); } } inline void dComIfGp_particle_draw2Dfore(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->draw2Dfore(i_drawInfo); } } inline void dComIfGp_particle_draw2Dback(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->draw2Dback(i_drawInfo); } } inline void dComIfGp_particle_draw2DmenuFore(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->draw2DmenuFore(i_drawInfo); } } inline void dComIfGp_particle_draw2DmenuBack(JPADrawInfo* i_drawInfo) { - ZoneScoped; if (g_dComIfG_gameInfo.play.getParticle() != NULL) { g_dComIfG_gameInfo.play.getParticle()->draw2DmenuBack(i_drawInfo); } @@ -4771,150 +5661,114 @@ inline void dComIfGd_setViewport(view_port_class* port) { } inline void dComIfGd_entryZSortListZxlu(J3DPacket* i_packet, cXyz& param_1) { - ZoneScoped; g_dComIfG_gameInfo.drawlist.entryZSortListZxlu(i_packet, param_1); } inline void dComIfGd_entryZSortXluList(J3DPacket* i_packet, cXyz& param_1) { - ZoneScoped; g_dComIfG_gameInfo.drawlist.entryZSortXluList(i_packet, param_1); } inline void dComIfGd_drawCopy2D() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawCopy2D(); } inline void dComIfGd_drawOpaListSky() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawOpaListSky(); } inline void dComIfGd_drawXluListSky() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawXluListSky(); } inline void dComIfGd_drawOpaListBG() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawOpaListBG(); } inline void dComIfGd_drawOpaListDarkBG() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawOpaListDarkBG(); } inline void dComIfGd_drawOpaListMiddle() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawOpaListMiddle(); } inline void dComIfGd_drawOpaList() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawOpaList(); } inline void dComIfGd_drawOpaListDark() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawOpaListDark(); } inline void dComIfGd_drawOpaListPacket() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawOpaListPacket(); } inline void dComIfGd_drawXluListBG() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawXluListBG(); } inline void dComIfGd_drawXluListDarkBG() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawXluListDarkBG(); } inline void dComIfGd_drawXluList() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawXluList(); } inline void dComIfGd_drawXluListDark() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawXluListDark(); } -#if TARGET_PC -void dComIfGd_drawXluListInvisible(); -#else inline void dComIfGd_drawXluListInvisible() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawXluListInvisible(); } -#endif -#if TARGET_PC -void dComIfGd_drawOpaListInvisible(); -#else inline void dComIfGd_drawOpaListInvisible() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawOpaListInvisible(); } -#endif inline void dComIfGd_drawXluListZxlu() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawXluListZxlu(); } inline void dComIfGd_drawXluList2DScreen() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawXluList2DScreen(); } inline void dComIfGd_drawOpaList3Dlast() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawOpaList3Dlast(); } inline void dComIfGd_draw2DOpa() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.draw2DOpa(); } inline void dComIfGd_draw2DOpaTop() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.draw2DOpaTop(); } inline void dComIfGd_draw2DXlu() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.draw2DXlu(); } inline void dComIfGd_drawOpaListFilter() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawOpaListFilter(); } inline void dComIfGd_drawIndScreen() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawOpaListP0(); } inline void dComIfGd_drawListZxlu() { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawXluListZxlu(); } inline void dComIfGd_drawShadow(Mtx param_0) { - ZoneScoped; g_dComIfG_gameInfo.drawlist.drawShadow(param_0); } inline void dComIfGd_imageDrawShadow(Mtx param_0) { - ZoneScoped; g_dComIfG_gameInfo.drawlist.imageDrawShadow(param_0); } @@ -4933,4 +5787,6 @@ inline void dComIfGd_setListCursor() { } #endif +#endif + #endif /* D_COM_D_COM_INF_GAME_H */ diff --git a/include/global.h b/include/global.h index 725fd03874..c16020936e 100644 --- a/include/global.h +++ b/include/global.h @@ -123,6 +123,14 @@ inline int __builtin_clz(unsigned int v) { #endif #define DUSK_GAME_EXTERN extern DUSK_GAME_DATA +#if defined(_MSC_VER) +#define DUSK_NOINLINE __declspec(noinline) +#elif defined(__GNUC__) +#define DUSK_NOINLINE __attribute__((noinline)) +#else +#define DUSK_NOINLINE +#endif + #define FAST_DIV(x, n) (x >> (n / 2)) #define SQUARE(x) ((x) * (x)) diff --git a/mods/randomizer/src/randomizer_context.cpp b/mods/randomizer/src/randomizer_context.cpp index 1874f8923e..250b3f16cd 100644 --- a/mods/randomizer/src/randomizer_context.cpp +++ b/mods/randomizer/src/randomizer_context.cpp @@ -56,16 +56,20 @@ RandomizerContext::FlowNodeType parse_flow_node_type(const YAML::Node& node) { throw std::runtime_error("Unknown flow node type: " + type); } -void write_flow_reference( - YAML::Node node, const RandomizerContext::FlowReference& reference) { +YAML::Node write_flow_reference(const RandomizerContext::FlowReference& reference) { + YAML::Node node{}; if (reference.nativeId.has_value()) { node = reference.nativeId.value(); } else { node = reference.name; } + return node; } RandomizerContext::FlowReference parse_flow_reference(const YAML::Node& node) { + if (!node.IsScalar()) { + throw std::runtime_error("Flow reference must be a node ID or name"); + } RandomizerContext::FlowReference reference{}; try { reference.nativeId = node.as(); @@ -78,15 +82,15 @@ RandomizerContext::FlowReference parse_flow_reference(const YAML::Node& node) { void write_message_style( YAML::Node node, const RandomizerContext::MessageStyleData& style) { node["eventLabelId"] = style.eventLabelId; - node["speaker"] = style.speaker; - node["boxKind"] = style.boxKind; - node["drawType"] = style.drawType; - node["boxPosition"] = style.boxPosition; - node["lineAlignment"] = style.lineAlignment; - node["speakerMood"] = style.speakerMood; - node["cameraAttr"] = style.cameraAttr; - node["talkAnim"] = style.talkAnim; - node["faceAnim"] = style.faceAnim; + node["speaker"] = static_cast(style.speaker); + node["boxKind"] = static_cast(style.boxKind); + node["drawType"] = static_cast(style.drawType); + node["boxPosition"] = static_cast(style.boxPosition); + node["lineAlignment"] = static_cast(style.lineAlignment); + node["speakerMood"] = static_cast(style.speakerMood); + node["cameraAttr"] = static_cast(style.cameraAttr); + node["talkAnim"] = static_cast(style.talkAnim); + node["faceAnim"] = static_cast(style.faceAnim); node["trailingData"] = style.trailingData; } @@ -191,7 +195,7 @@ std::optional RandomizerContext::WriteToFile() { for (const auto& flow : mFlowNodes) { YAML::Node node{}; node["type"] = flow_node_type_name(flow.type); - node["group"] = flow.group; + node["group"] = static_cast(flow.group); if (flow.patchIndex.has_value()) { node["patchIndex"] = flow.patchIndex.value(); } else { @@ -202,22 +206,20 @@ std::optional RandomizerContext::WriteToFile() { node["operation"] = flow.operation; } if (flow.type == FlowNodeType::MESSAGE) { - write_flow_reference(node["message"], flow.message); + node["message"] = write_flow_reference(flow.message); } if (flow.type != FlowNodeType::BRANCH) { - write_flow_reference(node["next"], flow.next); + node["next"] = write_flow_reference(flow.next); } for (const auto& result : flow.results) { - YAML::Node resultNode{}; - write_flow_reference(resultNode, result); - node["results"].push_back(resultNode); + node["results"].push_back(write_flow_reference(result)); } out["mFlowNodes"].push_back(node); } for (const auto& message : mCustomMessages) { YAML::Node node{}; - node["group"] = message.group; + node["group"] = static_cast(message.group); node["name"] = message.name; write_message_style(node["style"], message.style); for (const auto& [language, text] : message.text) { diff --git a/mods/randomizer/src/randomizer_context.hpp b/mods/randomizer/src/randomizer_context.hpp index 91cee30c2f..d15e92f593 100644 --- a/mods/randomizer/src/randomizer_context.hpp +++ b/mods/randomizer/src/randomizer_context.hpp @@ -19,7 +19,7 @@ */ class RandomizerContext { public: - static constexpr u32 FORMAT_VERSION = 2; + static constexpr u32 FORMAT_VERSION = 3; static constexpr size_t ACTR_CRC_SIZE = 32; static constexpr size_t TGSC_CRC_SIZE = 35; // 3 extra bytes for scale x, y, z static constexpr size_t OBJ_DELETE_SIZE = 1; diff --git a/mods/randomizer/src/ui/rando_config.cpp b/mods/randomizer/src/ui/rando_config.cpp index 3138d2de71..627352edcb 100644 --- a/mods/randomizer/src/ui/rando_config.cpp +++ b/mods/randomizer/src/ui/rando_config.cpp @@ -14,6 +14,7 @@ #include "rando_seed_generation.hpp" #include "config_store.hpp" +#include #include #include #include @@ -107,6 +108,31 @@ UiMenuTabHandle g_menu_tab{}; FileSelectGateWindowCtx g_file_select_window_ctx{}; namespace { +std::vector get_compatible_seed_hashes() { + const std::filesystem::path seedDir = paths::GetRandomizerSeedsPath(); + std::filesystem::create_directories(seedDir); + + std::vector seedHashes; + for (const auto& entry : std::filesystem::directory_iterator(seedDir)) { + if (!entry.is_directory()) { + continue; + } + + try { + const YAML::Node seedData = LoadYAML(entry.path() / "seed.dat"); + if (seedData["formatVersion"] && + seedData["formatVersion"].as() == RandomizerContext::FORMAT_VERSION) { + seedHashes.push_back(entry.path().filename().string()); + } + } catch (const std::exception&) { + // Incomplete or malformed seeds cannot be activated and should not be offered. + } + } + + std::ranges::sort(seedHashes); + return seedHashes; +} + // Control Helpers ModResult add_button(UiElementHandle pane, const char* label, const char* help_rml, UiPressedFn on_pressed, void* userdata = nullptr, UiElementHandle* out_handle = nullptr) @@ -353,18 +379,9 @@ ModResult buildSeedManagementTab(ModContext* ctx, UiWindowHandle, UiElementHandl }); { - std::filesystem::path seed_dir = paths::GetRandomizerSeedsPath(); - if (!std::filesystem::exists(seed_dir)) - std::filesystem::create_directory(seed_dir); - std::string help_rml = "Select a seed above to delete it."; - std::vector seedHashes; - for (const auto& entry : std::filesystem::directory_iterator(seed_dir)) { - if (entry.is_directory()) { - seedHashes.push_back(entry.path().filename().string()); - } - } + const std::vector seedHashes = get_compatible_seed_hashes(); std::vector availableSeeds; for (const auto& hash : seedHashes) { @@ -380,20 +397,16 @@ ModResult buildSeedManagementTab(ModContext* ctx, UiWindowHandle, UiElementHandl out_value->int_value = 0; }, [](ModContext*, void*, const UiControlValue* value) { - int idx = 0; - for (const auto& entry : std::filesystem::directory_iterator(paths::GetRandomizerSeedsPath())) { - if (entry.is_directory()) { - if (idx == value->int_value) { - std::string hash = entry.path().filename().string(); - if (randomizer_GetContext().mHash == hash) { - randomizer_GetContext() = RandomizerContext{}; - } - std::filesystem::remove_all(entry); - break; - } - idx++; - } + const std::vector seedHashes = get_compatible_seed_hashes(); + if (value->int_value < 0 || static_cast(value->int_value) >= seedHashes.size()) { + return; } + + const std::string& hash = seedHashes[value->int_value]; + if (randomizer_GetContext().mHash == hash) { + randomizer_GetContext() = RandomizerContext{}; + } + std::filesystem::remove_all(paths::GetRandomizerSeedsPath() / hash); }); } @@ -1087,24 +1100,20 @@ void OnMenuTabSelected(ModContext* ctx, void*) { ModResult buildPlayTab(ModContext* ctx, UiWindowHandle, UiElementHandle leftPane, UiElementHandle rightPane, void*, ModError*) { - std::filesystem::path seed_dir = paths::GetRandomizerSeedsPath(); - if (!std::filesystem::exists(seed_dir)) - std::filesystem::create_directory(seed_dir); + const std::vector seedHashes = get_compatible_seed_hashes(); std::string help_rml = ""; - if (std::filesystem::is_empty(seed_dir)) { + if (seedHashes.empty()) { help_rml = "No seeds generated! You can generate a seed from the Seed Management Tab."; } else { help_rml = "Choose which seed you want to play."; } - std::vector seedHashes; - for (const auto& entry : std::filesystem::directory_iterator(seed_dir)) { - if (entry.is_directory()) { - seedHashes.push_back(entry.path().filename().string()); - } + if (!session::g_pending_seed_hash.empty() && + !std::ranges::contains(seedHashes, session::g_pending_seed_hash)) { + session::g_pending_seed_hash.clear(); } - + std::vector availableSeeds; for (const auto& hash : seedHashes) { availableSeeds.push_back(hash.c_str()); @@ -1116,30 +1125,23 @@ ModResult buildPlayTab(ModContext* ctx, UiWindowHandle, UiElementHandle leftPane availableSeeds.data(), availableSeeds.size(), [](ModContext*, void*, UiControlValue* out_value) { - int idx = 0; - for (const auto& entry : std::filesystem::directory_iterator(paths::GetRandomizerSeedsPath())) { - if (entry.is_directory()) { - std::string hash = entry.path().filename().string(); - if (session::g_pending_seed_hash == hash) { - break; - } - idx++; - } + const std::vector seedHashes = get_compatible_seed_hashes(); + const auto selected = std::ranges::find(seedHashes, session::g_pending_seed_hash); + if (selected == seedHashes.end()) { + out_value->int_value = 0; + return; } - out_value->int_value = idx; + out_value->int_value = static_cast(std::distance(seedHashes.begin(), selected)); }, [](ModContext*, void*, const UiControlValue* value) { - int idx = 0; - for (const auto& entry : std::filesystem::directory_iterator(paths::GetRandomizerSeedsPath())) { - if (entry.is_directory()) { - if (idx == value->int_value) { - session::g_pending_seed_hash = entry.path().filename().string(); - break; - } - idx++; - } + const std::vector seedHashes = get_compatible_seed_hashes(); + if (value->int_value < 0 || static_cast(value->int_value) >= seedHashes.size()) { + session::g_pending_seed_hash.clear(); + return; } + + session::g_pending_seed_hash = seedHashes[value->int_value]; }); { diff --git a/src/d/d_com_inf_game.cpp b/src/d/d_com_inf_game.cpp index 61aa0dc179..7c93997aa3 100644 --- a/src/d/d_com_inf_game.cpp +++ b/src/d/d_com_inf_game.cpp @@ -2996,6 +2996,3602 @@ DUSK_GAME_DATA GXColor g_whiteColor = {255, 255, 255, 255}; DUSK_GAME_DATA GXColor g_saftyWhiteColor = {160, 160, 160, 255}; #if TARGET_PC +dSv_info_c* dComIfGs_getSaveInfo() { + return &g_dComIfG_gameInfo.info; +} + +dSv_save_c* dComIfGs_getSaveData() { + return &g_dComIfG_gameInfo.info.getSavedata(); +} + +u16 dComIfGs_getMaxLife() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMaxLife(); +} + +void dComIfGs_setMaxLife(u8 i_maxLife) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMaxLife(i_maxLife); +} + +u16 dComIfGs_getLife() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getLife(); +} + +void dComIfGs_setLife(u16 i_life) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setLife(i_life); +} + +u16 dComIfGs_getRupee() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getRupee(); +} + +void dComIfGs_setRupee(u16 i_rupees) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setRupee(i_rupees); +} + +u16 dComIfGs_getMaxOil() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMaxOil(); +} + +void dComIfGs_setMaxOil(u16 i_maxOil) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMaxOil(i_maxOil); +} + +u16 dComIfGs_getOil() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getOil(); +} + +void dComIfGs_setOil(u16 i_oil) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setOil(i_oil); +} + +u8 dComIfGs_getSelectEquipClothes() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getSelectEquip(COLLECT_CLOTHING); +} + +u8 dComIfGs_getSelectEquipSword() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getSelectEquip(COLLECT_SWORD); +} + +u8 dComIfGs_getSelectEquipShield() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getSelectEquip(COLLECT_SHIELD); +} + +u8 dComIfGs_getCollectSmell() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getSelectEquip(COLLECT_SMELL); +} + +void dComIfGs_setCollectSmell(u8 smell) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectEquip(COLLECT_SMELL, smell); +} + +u8 dComIfGs_getBButtonItemKey() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getSelectEquip(B_BUTTON_ITEM); +} + +void dComIfGs_setBButtonItemKey(u8 i_itemNo) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectEquip(B_BUTTON_ITEM, i_itemNo); +} + +u8 dComIfGs_getWalletSize() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getWalletSize(); +} + +void dComIfGs_setWalletSize(u8 i_size) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setWalletSize(i_size); +} + +u8 dComIfGs_getMaxMagic() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMaxMagic(); +} + +void dComIfGs_setMaxMagic(u8 i_maxMagic) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMaxMagic(i_maxMagic); +} + +u8 dComIfGs_getMagic() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMagic(); +} + +void dComIfGs_setMagic(u8 i_magic) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setMagic(i_magic); +} + +u8 dComIfGs_getTransformStatus() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getTransformStatus(); +} + +void dComIfGs_setTransformStatus(u8 i_status) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setTransformStatus(i_status); +} + +u8 dComIfGs_getSelectItemIndex(int i_no) { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getSelectItemIndex(i_no); +} + +u16 dComIfGs_getRupeeMax() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getRupeeMax(); +} + +void dComIfGs_offGetMagicUseFlag() { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().offMagicFlag(0); +} + +s32 dComIfGs_isGetMagicUseFlag() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().isMagicFlag(0); +} + +f32 dComIfGs_getTime() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().getTime(); +} + +void dComIfGs_setTime(f32 i_time) { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().setTime(i_time); +} + +u16 dComIfGs_getDate() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().getDate(); +} + +void dComIfGs_setDate(u16 i_date) { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().setDate(i_date); +} + +void dComIfGs_onDarkClearLV(int i_no) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().onDarkClearLV(i_no); +} + +void dComIfGs_offDarkClearLV(int i_no) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().offDarkClearLV(i_no); +} + +BOOL dComIfGs_isDarkClearLV(int i_no) { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().isDarkClearLV(i_no); +} + +void dComIfGs_onTransformLV(int i_no) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().onTransformLV(i_no); +} + +void dComIfGs_offTransformLV(int i_no) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().offTransformLV(i_no); +} + +BOOL dComIfGs_isTransformLV(int i_no) { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().isTransformLV(i_no); +} + +cXyz dComIfGs_getHorseRestartPos() { + return g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().getPos(); +} + +s16 dComIfGs_getHorseRestartAngleY() { + return g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().getAngleY(); +} + +const char* dComIfGs_getHorseRestartStageName() { + return g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().getStageName(); +} + +s8 dComIfGs_getHorseRestartRoomNo() { + return g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().getRoomNo(); +} + +void dComIfGs_setHorseRestart(const char* i_stageName, cXyz& i_pos, s16 i_angle, s8 i_roomNo) { + g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().set(i_stageName, i_pos, i_angle, i_roomNo); +} + +cXyz dComIfGs_getPlayerFieldLastStayPos() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().getPos(); +} + +s16 dComIfGs_getPlayerFieldLastStayAngleY() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().getAngleY(); +} + +char* dComIfGs_getPlayerFieldLastStayName() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().getName(); +} + +u8 dComIfGs_getPlayerFieldLastStayRegionNo() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().getRegionNo(); +} + +bool dComIfGs_isPlayerFieldLastStayFieldDataExistFlag() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().isFieldDataExistFlag(); +} + +void dComIfGs_offPlayerFieldLastStayFieldDataExistFlag() { + g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().offFieldDataExistFlag(); +} + +void dComIfGs_onPlayerFieldLastStayFieldDataExistFlag() { + g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().onFieldDataExistFlag(); +} + +BOOL dComIfGs_isRegionBit(int i_region) { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().isRegionBit(i_region); +} + +void dComIfGs_onRegionBit(int i_region) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().onRegionBit(i_region); +} + +void dComIfGs_setPlayerFieldLastStayInfo( + const char* i_stage, cXyz& i_pos, s16 i_angle, s8 i_point, u8 i_region) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().set( + i_stage, i_pos, i_angle, i_point, i_region); +} + +cXyz dComIfGs_getLastWarpMarkPlayerPos() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().getPos(); +} + +s16 dComIfGs_getLastWarpMarkPlayerAngleY() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().getAngleY(); +} + +const char* dComIfGs_getLastWarpMarkStageName() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().getName(); +} + +u8 dComIfGs_getLastWarpMarkRoomNo() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().getRoomNo(); +} + +s8 dComIfGs_getLastWarpAcceptStage() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().getWarpAcceptStage(); +} + +void dComIfGs_setLastWarpAcceptStage(s8 param_0) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().setWarpAcceptStage(param_0); +} + +void dComIfGs_resetLastWarpAcceptStage() { + g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().resetWarpAcceptStage(); +} + +void dComIfGs_setItem(int i_slotNo, u8 i_itemNo) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setItem(i_slotNo, i_itemNo); +} + +u8 dComIfGs_getItem(int i_slotNo, bool i_checkCombo) { + return g_dComIfG_gameInfo.info.getPlayer().getItem().getItem(i_slotNo, i_checkCombo); +} + +void dComIfGs_setLineUpItem() { + g_dComIfG_gameInfo.info.getPlayer().getItem().setLineUpItem(); +} + +u8 dComIfGs_getLineUpItem(int i_slotNo) { + return g_dComIfG_gameInfo.info.getPlayer().getItem().getLineUpItem(i_slotNo); +} + +void dComIfGs_setBottleItemIn(u8 curItem, u8 newItem) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setBottleItemIn(curItem, newItem); +} + +void dComIfGs_setEmptyBottleItemIn(u8 i_itemNo) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBottleItemIn(i_itemNo); +} + +void dComIfGs_setEmptyBottle() { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBottle(); +} + +void dComIfGs_setEmptyBottle(u8 i_itemNo) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBottle(i_itemNo); +} + +void dComIfGs_setEquipBottleItemIn(u8 i_curItem, u8 i_newItem) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEquipBottleItemIn(i_curItem, i_newItem); +} + +void dComIfGs_setEquipBottleItemEmpty(u8 i_curItem) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEquipBottleItemEmpty(i_curItem); +} + +u8 dComIfGs_checkBottle(u8 i_itemNo) { + return g_dComIfG_gameInfo.info.getPlayer().getItem().checkBottle(i_itemNo); +} + +u8 dComIfGs_checkInsectBottle() { + return g_dComIfG_gameInfo.info.getPlayer().getItem().checkInsectBottle(); +} + +u8 dComIfGs_checkEmptyBottle() { + return g_dComIfG_gameInfo.info.getPlayer().getItem().checkEmptyBottle(); +} + +void dComIfGs_setEmptyBombBagItemIn(u8 i_newBomb, bool i_setNum) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBagItemIn(i_newBomb, i_setNum); +} + +void dComIfGs_setEmptyBombBagItemIn(u8 i_newBomb, u8 i_bombNum, bool i_setNum) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBagItemIn( + i_newBomb, i_bombNum, i_setNum); +} + +void dComIfGs_setEmptyBombBag() { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBag(); +} + +void dComIfGs_setEmptyBombBag(u8 i_newBomb, u8 i_bombNum) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBag(i_newBomb, i_bombNum); +} + +u8 dComIfGs_checkBombBag(u8 i_itemNo) { + return g_dComIfG_gameInfo.info.getPlayer().getItem().checkBombBag(i_itemNo); +} + +void dComIfGs_setWarashibeItem(u8 i_itemNo) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setWarashibeItem(i_itemNo); +} + +void dComIfGs_setRodTypeLevelUp() { + g_dComIfG_gameInfo.info.getPlayer().getItem().setRodTypeLevelUp(); +} + +void dComIfGs_setBaitItem(u8 i_item) { + g_dComIfG_gameInfo.info.getPlayer().getItem().setBaitItem(i_item); +} + +void dComIfGs_onItemFirstBit(u8 i_itemNo) { + g_dComIfG_gameInfo.info.getPlayer().getGetItem().onFirstBit(i_itemNo); +} + +void dComIfGs_offItemFirstBit(u8 i_itemNo) { + g_dComIfG_gameInfo.info.getPlayer().getGetItem().offFirstBit(i_itemNo); +} + +int dComIfGs_isItemFirstBit(u8 i_no) { + return g_dComIfG_gameInfo.info.getPlayer().getGetItem().isFirstBit(i_no); +} + +u8 dComIfGs_getArrowNum() { + return g_dComIfG_gameInfo.info.getPlayer().getItemRecord().getArrowNum(); +} + +void dComIfGs_setArrowNum(u8 i_arrowNum) { + g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setArrowNum(i_arrowNum); +} + +u8 dComIfGs_getPachinkoNum() { + return g_dComIfG_gameInfo.info.getPlayer().getItemRecord().getPachinkoNum(); +} + +void dComIfGs_setPachinkoNum(u8 i_num) { + g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setPachinkoNum(i_num); +} + +u8 dComIfGs_getPachinkoMax() { + return 50; +} + +void dComIfGs_setBombNum(u8 i_num) { + g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setBombNum(0, i_num); +} + +void dComIfGs_setBombNum(u8 i_bagIdx, u8 i_bombNum) { + g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setBombNum(i_bagIdx, i_bombNum); +} + +u8 dComIfGs_getBombNum(u8 i_bagIdx) { + return g_dComIfG_gameInfo.info.getPlayer().getItemRecord().getBombNum(i_bagIdx); +} + +void dComIfGs_setBottleNum(u8 i_bottleIdx, u8 i_bottleNum) { + g_dComIfG_gameInfo.info.getPlayer().getItemRecord().setBottleNum(i_bottleIdx, i_bottleNum); +} + +void dComIfGs_addBottleNum(u8 i_bottleIdx, s16 i_num) { + g_dComIfG_gameInfo.info.getPlayer().getItemRecord().addBottleNum(i_bottleIdx, i_num); +} + +u8 dComIfGs_getBottleNum(u8 i_bottleIdx) { + return g_dComIfG_gameInfo.info.getPlayer().getItemRecord().getBottleNum(i_bottleIdx); +} + +u8 dComIfGs_getArrowMax() { + return g_dComIfG_gameInfo.info.getPlayer().getItemMax().getArrowNum(); +} + +void dComIfGs_setArrowMax(u8 i_arrowMax) { + g_dComIfG_gameInfo.info.getPlayer().getItemMax().setArrowNum(i_arrowMax); +} + +void dComIfGs_setBombMax(u8 i_max) { + g_dComIfG_gameInfo.info.getPlayer().getItemMax().setBombNum(0, i_max); +} + +void dComIfGs_setBombMax(u8 i_type, u8 i_max) { + g_dComIfG_gameInfo.info.getPlayer().getItemMax().setBombNum(i_type, i_max); +} + +u8 dComIfGs_getBombMax() { + return g_dComIfG_gameInfo.info.getPlayer().getItemMax().getBombNum(0); +} + +u8 dComIfGs_getBombMax(u8 i_bombType) { + return g_dComIfG_gameInfo.info.getPlayer().getItemMax().getBombNum(i_bombType); +} + +void dComIfGs_setPohSpiritNum(u8 i_num) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().setPohNum(i_num); +} + +u8 dComIfGs_getPohSpiritNum() { + return g_dComIfG_gameInfo.info.getPlayer().getCollect().getPohNum(); +} + +void dComIfGs_addPohSpiritNum() { + g_dComIfG_gameInfo.info.getPlayer().getCollect().addPohNum(); +} + +BOOL dComIfGs_isCollectClothes(u8 i_clothesNo) { + return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollect( + COLLECT_CLOTHING, i_clothesNo); +} + +void dComIfGs_setCollectClothes(u8 i_clothesNo) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().setCollect(COLLECT_CLOTHING, i_clothesNo); +} + +void dComIfGs_setCollectSword(u8 i_swordNo) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().setCollect(COLLECT_SWORD, i_swordNo); +} + +void dComIfGs_setCollectShield(u8 i_shieldNo) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().setCollect(COLLECT_SHIELD, i_shieldNo); +} + +BOOL dComIfGs_isCollectClothing(u8 i_clothesNo) { + return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollect( + COLLECT_CLOTHING, i_clothesNo); +} + +void dComIfGs_offCollectClothes(u8 i_clothesNo) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().offCollect(COLLECT_CLOTHING, i_clothesNo); +} + +BOOL dComIfGs_isCollectSword(u8 i_swordNo) { + return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollect(COLLECT_SWORD, i_swordNo); +} + +void dComIfGs_offCollectSword(u8 i_swordNo) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().offCollect(COLLECT_SWORD, i_swordNo); +} + +BOOL dComIfGs_isCollectShield(u8 i_item) { + return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollect(COLLECT_SHIELD, i_item); +} + +void dComIfGs_offCollectShield(u8 i_shieldNo) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().offCollect(COLLECT_SHIELD, i_shieldNo); +} + +void dComIfGs_onCollectCrystal(u8 i_item) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().onCollectCrystal(i_item); +} + +void dComIfGs_offCollectCrystal(u8 i_item) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().offCollectCrystal(i_item); +} + +bool dComIfGs_isCollectCrystal(u8 i_item) { + return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollectCrystal(i_item); +} + +void dComIfGs_onCollectMirror(u8 i_item) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().onCollectMirror(i_item); +} + +void dComIfGs_offCollectMirror(u8 i_item) { + g_dComIfG_gameInfo.info.getPlayer().getCollect().offCollectMirror(i_item); +} + +bool dComIfGs_isCollectMirror(u8 i_item) { + return g_dComIfG_gameInfo.info.getPlayer().getCollect().isCollectMirror(i_item); +} + +void dComIfGs_setLightDropNum(u8 i_level, u8 i_num) { + g_dComIfG_gameInfo.info.getPlayer().getLightDrop().setLightDropNum(i_level, i_num); +} + +u8 dComIfGs_getLightDropNum(u8 i_nowLevel) { + return g_dComIfG_gameInfo.info.getPlayer().getLightDrop().getLightDropNum(i_nowLevel); +} + +void dComIfGs_onLightDropGetFlag(u8 i_nowLevel) { + g_dComIfG_gameInfo.info.getPlayer().getLightDrop().onLightDropGetFlag(i_nowLevel); +} + +void dComIfGs_offLightDropGetFlag(u8 i_level) { + g_dComIfG_gameInfo.info.getPlayer().getLightDrop().offLightDropGetFlag(i_level); +} + +BOOL dComIfGs_isLightDropGetFlag(u8 i_nowLevel) { + return g_dComIfG_gameInfo.info.getPlayer().getLightDrop().isLightDropGetFlag(i_nowLevel); +} + +void dComIfGs_onLetterGetFlag(int i_no) { + g_dComIfG_gameInfo.info.getPlayer().getLetterInfo().onLetterGetFlag(i_no); +} + +BOOL dComIfGs_isLetterGetFlag(int i_no) { + return g_dComIfG_gameInfo.info.getPlayer().getLetterInfo().isLetterGetFlag(i_no); +} + +void dComIfGs_onLetterReadFlag(int i_no) { + g_dComIfG_gameInfo.info.getPlayer().getLetterInfo().onLetterReadFlag(i_no); +} + +int dComIfGs_isLetterReadFlag(int i_no) { + return g_dComIfG_gameInfo.info.getPlayer().getLetterInfo().isLetterReadFlag(i_no); +} + +u8 dComIfGs_getGetNumber(int i_no) { + return g_dComIfG_gameInfo.info.getPlayer().getLetterInfo().getGetNumber(i_no); +} + +void dComIfGs_setGetNumber(int i_no, u8 i_value) { + g_dComIfG_gameInfo.info.getPlayer().getLetterInfo().setGetNumber(i_no, i_value); +} + +void dComIfGs_addFishNum(u8 param_0) { + g_dComIfG_gameInfo.info.getPlayer().getFishingInfo().addFishCount(param_0); +} + +u16 dComIfGs_getFishNum(u8 param_0) { + return g_dComIfG_gameInfo.info.getPlayer().getFishingInfo().getFishCount(param_0); +} + +u8 dComIfGs_getFishSize(u8 param_0) { + return g_dComIfG_gameInfo.info.getPlayer().getFishingInfo().getMaxSize(param_0); +} + +void dComIfGs_setFishSize(u8 param_0, u8 param_1) { + g_dComIfG_gameInfo.info.getPlayer().getFishingInfo().setMaxSize(param_0, param_1); +} + +OSTime dComIfGs_getTotalTime() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().getTotalTime(); +} + +void dComIfGs_addDeathCount() { + g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().addDeathCount(); +} + +u16 dComIfGs_getDeathCount() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().getDeathCount(); +} + +TEXT_SPAN dComIfGs_getPlayerName() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().getPlayerName(); +} + +void dComIfGs_setPlayerName(const char* i_name) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().setPlayerName(i_name); +} + +TEXT_SPAN dComIfGs_getHorseName() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().getHorseName(); +} + +void dComIfGs_setHorseName(const char* i_name) { + g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().setHorseName(i_name); +} + +u8 dComIfGs_getClearCount() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().getClearCount(); +} + +// Ruby inline names are from TWW debug. +u8 dComIfGs_getOptRuby() { + return g_dComIfG_gameInfo.info.getPlayer().getConfig().getRuby(); +} + +void dComIfGs_setOptRuby(u8 i_ruby) { + g_dComIfG_gameInfo.info.getPlayer().getConfig().setRuby(i_ruby); +} + +u8 dComIfGs_getOptAttentionType() { + return g_dComIfG_gameInfo.info.getPlayer().getConfig().getAttentionType(); +} + +void dComIfGs_setOptAttentionType(u8 i_attentionType) { + g_dComIfG_gameInfo.info.getPlayer().getConfig().setAttentionType(i_attentionType); +} + +void dComIfGs_setOptCalibrateDist(u16 i_calibrateDist) { + g_dComIfG_gameInfo.info.getPlayer().getConfig().setCalibrateDist(i_calibrateDist); +} + +void dComIfGs_setOptCalValue(s8 i_calValue) { + g_dComIfG_gameInfo.info.getPlayer().getConfig().setCalValue(i_calValue); +} + +u8 dComIfGs_getOptCameraControl() { + return g_dComIfG_gameInfo.info.getPlayer().getConfig().getCameraControl(); +} + +void dComIfGs_setOptCameraControl(u8 i_cameraControl) { + g_dComIfG_gameInfo.info.getPlayer().getConfig().setCameraControl(i_cameraControl); +} + +u8 dComIfGs_getOptPointer() { + return g_dComIfG_gameInfo.info.getPlayer().getConfig().getPointer(); +} + +void dComIfGs_setOptPointer(u8 i_pointer) { + g_dComIfG_gameInfo.info.getPlayer().getConfig().setPointer(i_pointer); +} + +u8 dComIfGs_checkOptVibration() { + return g_dComIfG_gameInfo.info.getPlayer().getConfig().checkVibration(); +} + +u8 dComIfGs_getOptSound() { + return g_dComIfG_gameInfo.info.getPlayer().getConfig().getSound(); +} + +void dComIfGs_setOptSound(u8 i_mode) { + g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(i_mode); +} + +u8 dComIfGs_getOptVibration() { + return g_dComIfG_gameInfo.info.getPlayer().getConfig().getVibration(); +} + +void dComIfGs_setOptVibration(u8 i_status) { + g_dComIfG_gameInfo.info.getPlayer().getConfig().setVibration(i_status); +} + +u8 dComIfGs_getPalLanguage() { + return g_dComIfG_gameInfo.info.getPlayer().getConfig().getPalLanguage(); +} + +BOOL dComIfGs_isSaveTbox(int i_stageNo, int i_no) { + return g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().isTbox(i_no); +} + +void dComIfGs_onSaveSwitch(int i_stageNo, int i_no) { + g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().onSwitch(i_no); +} + +void dComIfGs_offSaveSwitch(int i_stageNo, int i_no) { + g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().offSwitch(i_no); +} + +BOOL dComIfGs_isSaveSwitch(int i_stageNo, int i_no) { + return g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().isSwitch(i_no); +} + +void dComIfGs_onSaveVisitedRoom(int param_0, int i_roomNo) { + return g_dComIfG_gameInfo.info.getSavedata().getSave2(param_0)->onVisitedRoom(i_roomNo); +} + +void dComIfGs_offSaveVisitedRoom(int param_0, int i_roomNo) { + return g_dComIfG_gameInfo.info.getSavedata().getSave2(param_0)->offVisitedRoom(i_roomNo); +} + +BOOL dComIfGs_isSaveVisitedRoom(int param_0, int i_roomNo) { + return g_dComIfG_gameInfo.info.getSavedata().getSave2(param_0)->isVisitedRoom(i_roomNo); +} + +void* dComIfGs_getPEventBit() { + return g_dComIfG_gameInfo.info.getEvent().getPEventBit(); +} + +void dComIfGs_onEventBit(const u16 i_flag) { + g_dComIfG_gameInfo.info.getEvent().onEventBit(i_flag); +} + +void dComIfGs_offEventBit(const u16 i_flag) { + g_dComIfG_gameInfo.info.getEvent().offEventBit(i_flag); +} + +BOOL dComIfGs_isEventBit(const u16 i_flag) { + return g_dComIfG_gameInfo.info.getEvent().isEventBit(i_flag); +} + +void dComIfGs_setEventReg(u16 reg, u8 value) { + g_dComIfG_gameInfo.info.getEvent().setEventReg(reg, value); +} + +u8 dComIfGs_getEventReg(u16 reg) { + return g_dComIfG_gameInfo.info.getEvent().getEventReg(reg); +} + +int dComIfGs_getHookGameTime() { + return g_dComIfG_gameInfo.info.getMiniGame().getHookGameTime(); +} + +void dComIfGs_setHookGameTime(u32 i_time) { + g_dComIfG_gameInfo.info.getMiniGame().setHookGameTime(i_time); +} + +u32 dComIfGs_getBalloonScore() { + return g_dComIfG_gameInfo.info.getMiniGame().getBalloonScore(); +} + +void dComIfGs_setBalloonScore(u32 i_score) { + g_dComIfG_gameInfo.info.getMiniGame().setBalloonScore(i_score); +} + +int dComIfGs_getRaceGameTime() { + return g_dComIfG_gameInfo.info.getMiniGame().getRaceGameTime(); +} + +void dComIfGs_setRaceGameTime(int i_time) { + g_dComIfG_gameInfo.info.getMiniGame().setRaceGameTime(i_time); +} + +u8 dComIfGs_getKeyNum() { + return g_dComIfG_gameInfo.info.getMemory().getBit().getKeyNum(); +} + +void dComIfGs_setKeyNum(u8 i_keyNum) { + g_dComIfG_gameInfo.info.getMemory().getBit().setKeyNum(i_keyNum); +} + +void dComIfGs_onDungeonItemMap() { + g_dComIfG_gameInfo.info.getMemory().getBit().onDungeonItemMap(); +} + +void dComIfGs_offDungeonItemMap() { + g_dComIfG_gameInfo.info.getMemory().getBit().offDungeonItemMap(); +} + +s32 dComIfGs_isDungeonItemMap() { + return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemMap(); +} + +void dComIfGs_onDungeonItemCompass() { + g_dComIfG_gameInfo.info.getMemory().getBit().onDungeonItemCompass(); +} + +void dComIfGs_offDungeonItemCompass() { + g_dComIfG_gameInfo.info.getMemory().getBit().offDungeonItemCompass(); +} + +s32 dComIfGs_isDungeonItemCompass() { + return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemCompass(); +} + +void dComIfGs_onDungeonItemBossKey() { + g_dComIfG_gameInfo.info.getMemory().getBit().onDungeonItemBossKey(); +} + +void dComIfGs_offDungeonItemBossKey() { + g_dComIfG_gameInfo.info.getMemory().getBit().offDungeonItemBossKey(); +} + +s32 dComIfGs_isDungeonItemBossKey() { + return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemBossKey(); +} + +void dComIfGs_onStageBossEnemy() { + g_dComIfG_gameInfo.info.getMemory().getBit().onStageBossEnemy(); +} + +void dComIfGs_offStageBossEnemy() { + g_dComIfG_gameInfo.info.getMemory().getBit().offStageBossEnemy(); +} + +s32 dComIfGs_isStageBossEnemy() { + return g_dComIfG_gameInfo.info.getMemory().getBit().isStageBossEnemy(); +} + +void dComIfGs_onStageLife() { + g_dComIfG_gameInfo.info.getMemory().getBit().onStageLife(); +} + +void dComIfGs_offStageLife() { + g_dComIfG_gameInfo.info.getMemory().getBit().offStageLife(); +} + +s32 dComIfGs_isStageLife() { + return g_dComIfG_gameInfo.info.getMemory().getBit().isStageLife(); +} + +void dComIfGs_onStageBossDemo() { + g_dComIfG_gameInfo.info.getMemory().getBit().onStageBossDemo(); +} + +void dComIfGs_offStageBossDemo() { + g_dComIfG_gameInfo.info.getMemory().getBit().offStageBossDemo(); +} + +s32 dComIfGs_isStageBossDemo() { + return g_dComIfG_gameInfo.info.getMemory().getBit().isStageBossDemo(); +} + +void dComIfGs_onDungeonItemWarp() { + g_dComIfG_gameInfo.info.getMemory().getBit().onDungeonItemWarp(); +} + +void dComIfGs_offDungeonItemWarp() { + g_dComIfG_gameInfo.info.getMemory().getBit().offDungeonItemWarp(); +} + +s32 dComIfGs_isDungeonItemWarp() { + return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemWarp(); +} + +void dComIfGs_onStageMiddleBoss() { + g_dComIfG_gameInfo.info.getMemory().getBit().onStageBossEnemy2(); +} + +void dComIfGs_offStageMiddleBoss() { + g_dComIfG_gameInfo.info.getMemory().getBit().offStageBossEnemy2(); +} + +BOOL dComIfGs_isStageMiddleBoss() { + return g_dComIfG_gameInfo.info.getMemory().getBit().isStageBossEnemy2(); +} + +void dComIfGs_onTbox(int i_no) { + g_dComIfG_gameInfo.info.getMemory().getBit().onTbox(i_no); +} + +void dComIfGs_offTbox(int i_no) { + g_dComIfG_gameInfo.info.getMemory().getBit().offTbox(i_no); +} + +BOOL dComIfGs_isTbox(int i_no) { + return g_dComIfG_gameInfo.info.getMemory().getBit().isTbox(i_no); +} + +void dComIfGs_onSaveSwitch(int i_no) { + g_dComIfG_gameInfo.info.getMemory().getBit().onSwitch(i_no); +} + +void dComIfGs_offSaveSwitch(int i_no) { + g_dComIfG_gameInfo.info.getMemory().getBit().offSwitch(i_no); +} + +BOOL dComIfGs_isSaveSwitch(int i_no) { + return g_dComIfG_gameInfo.info.getMemory().getBit().isSwitch(i_no); +} + +BOOL dComIfGs_isSaveItem(int i_no) { + return g_dComIfG_gameInfo.info.getMemory().getBit().isItem(i_no); +} + +void dComIfGs_onSaveDunSwitch(int i_swNo) { + g_dComIfG_gameInfo.info.getDan().onSwitch(i_swNo); +} + +void dComIfGs_offSaveDunSwitch(int i_swNo) { + g_dComIfG_gameInfo.info.getDan().offSwitch(i_swNo); +} + +BOOL dComIfGs_isSaveDunSwitch(int i_no) { + return g_dComIfG_gameInfo.info.getDan().isSwitch(i_no); +} + +BOOL dComIfGs_isSaveDunItem(int i_no) { + return g_dComIfG_gameInfo.info.getDan().isItem(i_no); +} + +void dComIfGs_resetDan() { + g_dComIfG_gameInfo.info.resetDan(); +} + +void dComIfGs_initDan(s8 i_stageNo) { + g_dComIfG_gameInfo.info.initDan(i_stageNo); +} + +void dComIfGs_clearRoomSwitch(int i_zoneNo) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().clearRoomSwitch(); +} + +void dComIfGs_clearRoomItem(int i_zoneNo) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().clearRoomItem(); +} + +void dComIfGs_onSvZoneSwitch(int i_zoneNo, int i_swBit) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().onSwitch(i_swBit); +} + +void dComIfGs_offSvZoneSwitch(int i_zoneNo, int i_swBit) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().offSwitch(i_swBit); +} + +BOOL dComIfGs_isSvZoneSwitch(int i_zoneNo, int i_swBit) { + return g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().isSwitch(i_swBit); +} + +void dComIfGs_onSvOneZoneSwitch(int i_zoneNo, int i_swBit) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().onOneSwitch(i_swBit); +} + +void dComIfGs_offSvOneZoneSwitch(int i_zoneNo, int i_swBit) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().offOneSwitch(i_swBit); +} + +BOOL dComIfGs_isSvOneZoneSwitch(int i_zoneNo, int i_swBit) { + return g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().isOneSwitch(i_swBit); +} + +void dComIfGs_onSvZoneItem(int i_zoneNo, int i_swBit) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().onItem(i_swBit); +} + +void dComIfGs_offSvZoneItem(int i_zoneNo, int i_swBit) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().offItem(i_swBit); +} + +BOOL dComIfGs_isSvZoneItem(int i_zoneNo, int i_swBit) { + return g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().isItem(i_swBit); +} + +void dComIfGs_onSvOneZoneItem(int i_zoneNo, int i_swBit) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().onOneItem(i_swBit); +} + +void dComIfGs_offSvOneZoneItem(int i_zoneNo, int i_swBit) { + g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().offOneItem(i_swBit); +} + +BOOL dComIfGs_isSvOneZoneItem(int i_zoneNo, int i_swBit) { + return g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().isOneItem(i_swBit); +} + +void dComIfGs_removeZone(int i_zoneNo) { + g_dComIfG_gameInfo.info.removeZone(i_zoneNo); +} + +s8 dComIfGs_getRestartRoomNo() { + return g_dComIfG_gameInfo.info.getRestart().getRoomNo(); +} + +s16 dComIfGs_getStartPoint() { + return g_dComIfG_gameInfo.info.getRestart().getStartPoint(); +} + +void dComIfGs_setStartPoint(s16 i_point) { + g_dComIfG_gameInfo.info.getRestart().setStartPoint(i_point); +} + +s16 dComIfGs_getRestartRoomAngleY() { + return g_dComIfG_gameInfo.info.getRestart().getRoomAngleY(); +} + +const cXyz& dComIfGs_getRestartRoomPos() { + return g_dComIfG_gameInfo.info.getRestart().getRoomPos(); +} + +u32 dComIfGs_getRestartRoomParam() { + return g_dComIfG_gameInfo.info.getRestart().getRoomParam(); +} + +void dComIfGs_setRestartRoomParam(u32 i_param) { + g_dComIfG_gameInfo.info.getRestart().setRoomParam(i_param); +} + +f32 dComIfGs_getLastSceneSpeedF() { + return g_dComIfG_gameInfo.info.getRestart().getLastSpeedF(); +} + +u32 dComIfGs_getLastSceneMode() { + return g_dComIfG_gameInfo.info.getRestart().getLastMode(); +} + +s16 dComIfGs_getLastSceneAngleY() { + return g_dComIfG_gameInfo.info.getRestart().getLastAngleY(); +} + +void dComIfGs_setRestartRoom(const cXyz& i_position, s16 i_angle, s8 i_roomNo) { + g_dComIfG_gameInfo.info.getRestart().setRoom(i_position, i_angle, i_roomNo); +} + +void dComIfGs_onTmpBit(const u16 i_flag) { + g_dComIfG_gameInfo.info.getTmp().onEventBit(i_flag); +} + +void dComIfGs_offTmpBit(const u16 i_flag) { + g_dComIfG_gameInfo.info.getTmp().offEventBit(i_flag); +} + +BOOL dComIfGs_isTmpBit(const u16 i_flag) { + return g_dComIfG_gameInfo.info.getTmp().isEventBit(i_flag); +} + +void dComIfGs_setTmpReg(u16 i_reg, u8 i_no) { + g_dComIfG_gameInfo.info.getTmp().setEventReg(i_reg, i_no); +} + +u8 dComIfGs_getTmpReg(const u16 i_reg) { + return g_dComIfG_gameInfo.info.getTmp().getEventReg(i_reg); +} + +dSv_turnRestart_c& dComIfGs_getTurnRestart() { + return g_dComIfG_gameInfo.info.getTurnRestart(); +} + +const cXyz& dComIfGs_getTurnRestartPos() { + return g_dComIfG_gameInfo.info.getTurnRestart().getPos(); +} + +u32 dComIfGs_getTurnRestartParam() { + return g_dComIfG_gameInfo.info.getTurnRestart().getParam(); +} + +s16 dComIfGs_getTurnRestartAngleY() { + return g_dComIfG_gameInfo.info.getTurnRestart().getAngleY(); +} + +s8 dComIfGs_getTurnRestartRoomNo() { + return g_dComIfG_gameInfo.info.getTurnRestart().getRoomNo(); +} + +void dComIfGs_setTurnRestart(const cXyz& i_position, s16 i_angle, s8 param_2, u32 i_param) { + g_dComIfG_gameInfo.info.getTurnRestart().set(i_position, i_angle, param_2, i_param); +} + +u8 dComIfGs_getDataNum() { + return g_dComIfG_gameInfo.info.getDataNum(); +} + +void dComIfGs_setDataNum(u8 i_num) { + return g_dComIfG_gameInfo.info.setDataNum(i_num); +} + +u8 dComIfGs_getNewFile() { + return g_dComIfG_gameInfo.info.getNewFile(); +} + +void dComIfGs_setNewFile(u8 i_fileNo) { + return g_dComIfG_gameInfo.info.setNewFile(i_fileNo); +} + +u8 dComIfGs_getNoFile() { + return g_dComIfG_gameInfo.info.getNoFile(); +} + +void dComIfGs_setNoFile(u8 i_file) { + g_dComIfG_gameInfo.info.setNoFile(i_file); +} + +s64 dComIfGs_getSaveStartTime() { + return g_dComIfG_gameInfo.info.getStartTime(); +} + +void dComIfGs_setSaveStartTime(s64 i_time) { + g_dComIfG_gameInfo.info.setStartTime(i_time); +} + +s64 dComIfGs_getSaveTotalTime() { + return g_dComIfG_gameInfo.info.getSaveTotalTime(); +} + +void dComIfGs_setSaveTotalTime(s64 i_time) { + g_dComIfG_gameInfo.info.setSaveTotalTime(i_time); +} + +void dComIfGs_init() { + g_dComIfG_gameInfo.info.init(); +} + +void dComIfGs_getSave(int i_stageNo) { + g_dComIfG_gameInfo.info.getSave(i_stageNo); +} + +void dComIfGs_putSave(int i_stageNo) { + g_dComIfG_gameInfo.info.putSave(i_stageNo); +} + +void dComIfGs_initZone() { + g_dComIfG_gameInfo.info.initZone(); +} + +int dComIfGs_createZone(int roomNo) { + return g_dComIfG_gameInfo.info.createZone(roomNo); +} + +void dComIfGs_onSwitch(int i_no, int i_roomNo) { + g_dComIfG_gameInfo.info.onSwitch(i_no, i_roomNo); +} + +void dComIfGs_offSwitch(int i_no, int i_roomNo) { + g_dComIfG_gameInfo.info.offSwitch(i_no, i_roomNo); +} + +BOOL dComIfGs_isSwitch(int i_no, int i_roomNo) { + return g_dComIfG_gameInfo.info.isSwitch(i_no, i_roomNo); +} + +void dComIfGs_revSwitch(int i_no, int i_roomNo) { + g_dComIfG_gameInfo.info.revSwitch(i_no, i_roomNo); +} + +void dComIfGs_onItem(int i_bitNo, int i_roomNo) { + g_dComIfG_gameInfo.info.onItem(i_bitNo, i_roomNo); +} + +bool dComIfGs_isItem(int i_bitNo, int i_roomNo) { + return g_dComIfG_gameInfo.info.isItem(i_bitNo, i_roomNo); +} + +void dComIfGs_onActor(int i_bitNo, int i_roomNo) { + g_dComIfG_gameInfo.info.onActor(i_bitNo, i_roomNo); +} + +void dComIfGs_offActor(int i_no, int i_roomNo) { + g_dComIfG_gameInfo.info.offActor(i_no, i_roomNo); +} + +BOOL dComIfGs_isActor(int i_no, int i_roomNo) { + return g_dComIfG_gameInfo.info.isActor(i_no, i_roomNo); +} + +void dComIfGs_setMemoryToCard(u8* i_saveData, int i_dataNum) { + g_dComIfG_gameInfo.info.memory_to_card((char*)i_saveData, i_dataNum); +} + +void dComIfGs_setCardToMemory(u8* card_ptr, int dataNum) { + g_dComIfG_gameInfo.info.card_to_memory((char*)card_ptr, dataNum); +} + +void dComIfGs_setInitDataToCard(u8* i_saveData, int i_dataNum) { + g_dComIfG_gameInfo.info.initdata_to_card((char*)i_saveData, i_dataNum); +} + +u8 dComIfGs_getWolfAbility(int i_idx) { + return g_dComIfG_gameInfo.play.getWolfAbility(i_idx); +} + +s8 dComIfGs_Grass_hide_Check() { + return g_dComIfG_gameInfo.field_0x1ddfc; +} + +dStage_startStage_c* dComIfGp_getStartStage() { + return g_dComIfG_gameInfo.play.getStartStage(); +} + +void dComIfGp_setStartStage(dStage_startStage_c* p_startStage) { + g_dComIfG_gameInfo.play.setStartStage(p_startStage); +} + +const char* dComIfGp_getStartStageName() { + return g_dComIfG_gameInfo.play.getStartStageName(); +} + +s16 dComIfGp_getStartStagePoint() { + return g_dComIfG_gameInfo.play.getStartStagePoint(); +} + +s8 dComIfGp_getStartStageRoomNo() { + return g_dComIfG_gameInfo.play.getStartStageRoomNo(); +} + +s8 dComIfGp_getStartStageLayer() { + return g_dComIfG_gameInfo.play.getStartStageLayer(); +} + +void dComIfGp_setStartStageLayer(s8 layer) { + g_dComIfG_gameInfo.play.setStartStageLayer(layer); +} + +s8 dComIfGp_getStartStageDarkArea() { + return g_dComIfG_gameInfo.play.getStartStageDarkArea(); +} + +void dComIfGp_setStartStageDarkArea(s8 darkArea) { + g_dComIfG_gameInfo.play.setStartStageDarkArea(darkArea); +} + +dStage_startStage_c* dComIfGp_getNextStartStage() { + return g_dComIfG_gameInfo.play.getNextStartStage(); +} + +const char* dComIfGp_getNextStageName() { + return g_dComIfG_gameInfo.play.getNextStageName(); +} + +s16 dComIfGp_getNextStagePoint() { + return g_dComIfG_gameInfo.play.getNextStagePoint(); +} + +s16 dComIfGp_getNextStageRoomNo() { + return g_dComIfG_gameInfo.play.getNextStageRoomNo(); +} + +s16 dComIfGp_getNextStageLayer() { + return g_dComIfG_gameInfo.play.getNextStageLayer(); +} + +BOOL dComIfGp_isEnableNextStage() { + return g_dComIfG_gameInfo.play.isEnableNextStage(); +} + +void dComIfGp_offEnableNextStage() { + g_dComIfG_gameInfo.play.offEnableNextStage(); +} + +s8 dComIfGp_getNextStageWipe() { + return g_dComIfG_gameInfo.play.getNextStageWipe(); +} + +u8 dComIfGp_getNextStageWipeSpeed() { + return g_dComIfG_gameInfo.play.getNextStageWipeSpeed(); +} + +dStage_stageDt_c* dComIfGp_getStage() { + return &g_dComIfG_gameInfo.play.getStage(); +} + +roomRead_class* dComIfGp_getStageRoom() { + return g_dComIfG_gameInfo.play.getStage().getRoom(); +} + +stage_palette_info_class* dComIfGp_getStagePaletteInfo() { + return g_dComIfG_gameInfo.play.getStage().getPaletteInfo(); +} + +stage_pselect_info_class* dComIfGp_getStagePselectInfo() { + return g_dComIfG_gameInfo.play.getStage().getPselectInfo(); +} + +stage_envr_info_class* dComIfGp_getStageEnvrInfo() { + return g_dComIfG_gameInfo.play.getStage().getEnvrInfo(); +} + +stage_vrboxcol_info_class* dComIfGp_getStageVrboxcolInfo() { + return g_dComIfG_gameInfo.play.getStage().getVrboxcolInfo(); +} + +stage_plight_info_class* dComIfGp_getStagePlightInfo() { + return g_dComIfG_gameInfo.play.getStage().getPlightInfo(); +} + +int dComIfGp_getStagePaletteNumInfo() { + return g_dComIfG_gameInfo.play.getStage().getPaletteNumInfo(); +} + +int dComIfGp_getStagePselectNumInfo() { + return g_dComIfG_gameInfo.play.getStage().getPselectNumInfo(); +} + +int dComIfGp_getStageEnvrNumInfo() { + return g_dComIfG_gameInfo.play.getStage().getEnvrNumInfo(); +} + +int dComIfGp_getStageVrboxcolNumInfo() { + return g_dComIfG_gameInfo.play.getStage().getVrboxcolNumInfo(); +} + +int dComIfGp_getStagePlightNumInfo() { + return g_dComIfG_gameInfo.play.getStage().getPlightNumInfo(); +} + +stage_stag_info_class* dComIfGp_getStageStagInfo() { + return g_dComIfG_gameInfo.play.getStage().getStagInfo(); +} + +stage_scls_info_dummy_class* dComIfGp_getStageSclsInfo() { + return g_dComIfG_gameInfo.play.getStage().getSclsInfo(); +} + +dStage_Multi_c* dComIfGp_getMulti() { + return g_dComIfG_gameInfo.play.getStage().getMulti(); +} + +void dComIfGp_setOldMulti() { + g_dComIfG_gameInfo.play.getStage().setOldMulti(); +} + +void dComIfGp_resetOldMulti() { + g_dComIfG_gameInfo.play.getStage().resetOldMulti(); +} + +s16 dComIfGp_getStageWorldRollAngleX() { + return g_dComIfG_gameInfo.play.getStage().getWorldRollAngleX(); +} + +s16 dComIfGp_getStageWorldRollDirAngleY() { + return g_dComIfG_gameInfo.play.getStage().getWorldRollDirAngleY(); +} + +int dComIfGp_roomControl_getStayNo() { + return dStage_roomControl_c::getStayNo(); +} + +BOOL dComIfGp_roomControl_getTimePass() { + return g_dComIfG_gameInfo.play.getRoomControl()->GetTimePass(); +} + +void dComIfGp_roomControl_setTimePass(int isPassing) { + g_dComIfG_gameInfo.play.getRoomControl()->SetTimePass(isPassing); +} + +dKy_tevstr_c* dComIfGp_roomControl_getTevStr(int i_roomNo) { + return g_dComIfG_gameInfo.play.getRoomControl()->getTevStr(i_roomNo); +} + +void dComIfGp_roomControl_setStatusFlag(int i_roomNo, u8 flag) { + return g_dComIfG_gameInfo.play.getRoomControl()->setStatusFlag(i_roomNo, flag); +} + +void dComIfGp_roomControl_onStatusFlag(int i_roomNo, u8 flag) { + return g_dComIfG_gameInfo.play.getRoomControl()->onStatusFlag(i_roomNo, flag); +} + +void dComIfGp_roomControl_offStatusFlag(int i_roomNo, u8 flag) { + return g_dComIfG_gameInfo.play.getRoomControl()->offStatusFlag(i_roomNo, flag); +} + +u8 dComIfGp_roomControl_checkStatusFlag(int i_roomNo, u8 flag) { + return g_dComIfG_gameInfo.play.getRoomControl()->checkStatusFlag(i_roomNo, flag); +} + +s32 dComIfGp_roomControl_getZoneNo(int i_roomNo) { + return g_dComIfG_gameInfo.play.getRoomControl()->getZoneNo(i_roomNo); +} + +void dComIfGp_roomControl_setZoneNo(int roomNo, int zoneNo) { + g_dComIfG_gameInfo.play.getRoomControl()->setZoneNo(roomNo, zoneNo); +} + +void dComIfGp_roomControl_init() { + g_dComIfG_gameInfo.play.getRoomControl()->init(); +} + +void dComIfGp_roomControl_initZone() { + g_dComIfG_gameInfo.play.getRoomControl()->initZone(); +} + +dStage_roomDt_c* dComIfGp_roomControl_getStatusRoomDt(int room_no) { + return g_dComIfG_gameInfo.play.getRoomControl()->getStatusRoomDt(room_no); +} + +void dComIfGp_roomControl_setStayNo(int stayNo) { + g_dComIfG_gameInfo.play.mRoomControl.setStayNo(stayNo); +} + +BOOL dComIfGp_roomControl_checkRoomDisp(int i_roomNo) { + return g_dComIfG_gameInfo.play.getRoomControl()->checkRoomDisp(i_roomNo); +} + +int dComIfGp_roomControl_loadRoom(int param_0, u8* param_1, bool param_2) { + return g_dComIfG_gameInfo.play.getRoomControl()->loadRoom(param_0, param_1, param_2); +} + +void dComIfGp_roomControl_zoneCountCheck(int i_roomNo) { + g_dComIfG_gameInfo.play.getRoomControl()->zoneCountCheck(i_roomNo); +} + +dEvt_control_c* dComIfGp_getEvent() { + return g_dComIfG_gameInfo.play.getEvent(); +} + +u16 dComIfGp_event_chkEventFlag(u16 i_flag) { + return g_dComIfG_gameInfo.play.getEvent()->chkEventFlag(i_flag); +} + +void dComIfGp_event_onEventFlag(u16 i_flag) { + g_dComIfG_gameInfo.play.getEvent()->onEventFlag(i_flag); +} + +void dComIfGp_event_onHindFlag(u16 i_flag) { + g_dComIfG_gameInfo.play.getEvent()->onHindFlag(i_flag); +} + +void dComIfGp_event_offHindFlag(u16 i_flag) { + g_dComIfG_gameInfo.play.getEvent()->offHindFlag(i_flag); +} + +u8 dComIfGp_event_getMode() { + return g_dComIfG_gameInfo.play.getEvent()->getMode(); +} + +BOOL dComIfGp_event_runCheck() { + return g_dComIfG_gameInfo.play.getEvent()->runCheck(); +} + +u16 dComIfGp_event_checkHind(u16 i_hindFlag) { + if (!dComIfGp_event_runCheck()) { + return false; + } + return g_dComIfG_gameInfo.play.getEvent()->checkHind(i_hindFlag); +} + +BOOL dComIfGp_event_chkTalkXY() { + return g_dComIfG_gameInfo.play.getEvent()->chkTalkXY(); +} + +u8 dComIfGp_event_getPreItemNo() { + return g_dComIfG_gameInfo.play.getEvent()->getPreItemNo(); +} + +f32 dComIfGp_event_getCullRate() { + return g_dComIfG_gameInfo.play.getEvent()->getCullRate(); +} + +void dComIfGp_event_setCullRate(f32 i_rate) { + g_dComIfG_gameInfo.play.getEvent()->setCullRate(i_rate); +} + +int dComIfGp_event_order(u16 i_type, u16 i_prio, u16 i_flags, u16 i_hindFlags, void* i_requestActor, + void* i_targetActor, s16 i_eventID, u8 i_mapToolId) { + return g_dComIfG_gameInfo.play.getEvent()->order(i_type, i_prio, i_flags, i_hindFlags, + i_requestActor, i_targetActor, i_eventID, i_mapToolId); +} + +void dComIfGp_event_reset() { + g_dComIfG_gameInfo.play.getEvent()->reset(); +} + +int dComIfGp_event_moveApproval(void* i_actor) { + return g_dComIfG_gameInfo.play.getEvent()->moveApproval(i_actor); +} + +BOOL dComIfGp_event_compulsory(void* i_actor, const char* i_eventname, u16 i_hindFlag) { + return g_dComIfG_gameInfo.play.getEvent()->compulsory(i_actor, i_eventname, i_hindFlag); +} + +void dComIfGp_event_remove() { + g_dComIfG_gameInfo.play.getEvent()->remove(); +} + +fopAc_ac_c* dComIfGp_event_getPt1() { + return g_dComIfG_gameInfo.play.getEvent()->getPt1(); +} + +fopAc_ac_c* dComIfGp_event_getPt2() { + return g_dComIfG_gameInfo.play.getEvent()->getPt2(); +} + +fopAc_ac_c* dComIfGp_event_getTalkPartner() { + return g_dComIfG_gameInfo.play.getEvent()->getPtT(); +} + +void dComIfGp_event_setTalkPartner(void* i_actor) { + g_dComIfG_gameInfo.play.getEvent()->setPtT(i_actor); +} + +fopAc_ac_c* dComIfGp_event_getItemPartner() { + return g_dComIfG_gameInfo.play.getEvent()->getPtI(); +} + +void dComIfGp_event_setItemPartner(void* i_actor) { + g_dComIfG_gameInfo.play.getEvent()->setPtI(i_actor); +} + +void dComIfGp_event_setItemPartnerId(fpc_ProcID i_id) { + g_dComIfG_gameInfo.play.getEvent()->setPtI_Id(i_id); +} + +fopAc_ac_c* dComIfGp_event_getDoorPartner() { + return g_dComIfG_gameInfo.play.getEvent()->getPtD(); +} + +void dComIfGp_event_setDoorPartner(void* i_partner) { + g_dComIfG_gameInfo.play.getEvent()->setPtD(i_partner); +} + +u8 dComIfGp_event_getGtItm() { + return g_dComIfG_gameInfo.play.getEvent()->getGtItm(); +} + +void dComIfGp_event_setGtItm(u8 i_itemNo) { + g_dComIfG_gameInfo.play.getEvent()->setGtItm(i_itemNo); +} + +dEvent_manager_c& dComIfGp_getEventManager() { + return g_dComIfG_gameInfo.play.getEvtManager(); +} + +dEvent_manager_c* dComIfGp_getPEvtManager() { + return &g_dComIfG_gameInfo.play.getEvtManager(); +} + +int dComIfGp_evmng_cameraPlay() { + return dComIfGp_getPEvtManager()->cameraPlay(); +} + +int dComIfGp_evmng_startDemo(int i_mapToolId) { + return dComIfGp_getPEvtManager()->setStartDemo(i_mapToolId); +} + +void dComIfGp_evmng_create() { + g_dComIfG_gameInfo.play.getEvtManager().create(); +} + +void dComIfGp_evmng_remove() { + g_dComIfG_gameInfo.play.getEvtManager().remove(); +} + +bool dComIfGp_evmng_existence(s16 eventId) { + return g_dComIfG_gameInfo.play.getEvtManager().getEventData(eventId) != NULL; +} + +s16 dComIfGp_evmng_getEventIdx(const char* eventName, u8 mapToolID) { + return g_dComIfG_gameInfo.play.getEvtManager().getEventIdx(eventName, mapToolID, -1); +} + +bool dComIfGp_evmng_existence(const char* eventname) { + return g_dComIfG_gameInfo.play.getEvtManager().getEventData( + dComIfGp_evmng_getEventIdx(eventname, 0xFF)) != NULL; +} + +BOOL dComIfGp_evmng_isMapToolCamera(u8 mapToolID) { + return g_dComIfG_gameInfo.play.getEvtManager().isMapToolCamera(mapToolID, -1); +} + +BOOL dComIfGp_evmng_startCheck(s16 i_eventId) { + return g_dComIfG_gameInfo.play.getEvtManager().startCheck(i_eventId); +} + +BOOL dComIfGp_evmng_startCheck(char const* i_eventname) { + return g_dComIfG_gameInfo.play.getEvtManager().startCheckOld(i_eventname); +} + +BOOL dComIfGp_evmng_endCheck(s16 i_eventID) { + return g_dComIfG_gameInfo.play.getEvtManager().endCheck(i_eventID); +} + +BOOL dComIfGp_evmng_endCheck(const char* i_eventname) { + return g_dComIfG_gameInfo.play.getEvtManager().endCheckOld(i_eventname); +} + +int dComIfGp_evmng_getMyStaffId(const char* i_staffname, fopAc_ac_c* i_actor, int i_tagId) { + return dComIfGp_getPEvtManager()->getMyStaffId(i_staffname, i_actor, i_tagId); +} + +int dComIfGp_evmng_getIsAddvance(int i_staffId) { + return dComIfGp_getPEvtManager()->getIsAddvance(i_staffId); +} + +int dComIfGp_evmng_getMyActIdx(int i_staffId, DUSK_CONST char* DUSK_CONST* i_actions, + int i_actionNum, BOOL param_3, BOOL param_4) { + return dComIfGp_getPEvtManager()->getMyActIdx( + i_staffId, i_actions, i_actionNum, param_3, param_4); +} + +f32* dComIfGp_evmng_getMyFloatP(int i_staffId, DUSK_CONST char* i_dataname) { + return (f32*)dComIfGp_getPEvtManager()->getMySubstanceP( + i_staffId, i_dataname, dEvDtData_c::TYPE_FLOAT); +} + +cXyz* dComIfGp_evmng_getMyXyzP(int i_staffId, DUSK_CONST char* i_dataname) { + return (cXyz*)dComIfGp_getPEvtManager()->getMySubstanceP( + i_staffId, i_dataname, dEvDtData_c::TYPE_VEC); +} + +int* dComIfGp_evmng_getMyIntegerP(int i_staffId, DUSK_CONST char* i_dataname) { + return (int*)dComIfGp_getPEvtManager()->getMySubstanceP( + i_staffId, i_dataname, dEvDtData_c::TYPE_INT); +} + +char* dComIfGp_evmng_getMyStringP(int i_staffId, DUSK_CONST char* i_dataname) { + return (char*)dComIfGp_getPEvtManager()->getMySubstanceP( + i_staffId, i_dataname, dEvDtData_c::TYPE_STRING); +} + +int dComIfGp_evmng_getMySubstanceNum(int i_staffId, DUSK_CONST char* i_dataname) { + return dComIfGp_getPEvtManager()->getMySubstanceNum(i_staffId, i_dataname); +} + +void dComIfGp_evmng_cutEnd(int i_staffId) { + dComIfGp_getPEvtManager()->cutEnd(i_staffId); +} + +void dComIfGp_evmng_setGoal(cXyz* i_pos) { + dComIfGp_getPEvtManager()->setGoal(i_pos); +} + +cXyz* dComIfGp_evmng_getGoal() { + return dComIfGp_getPEvtManager()->getGoal(); +} + +BOOL dComIfGp_evmng_ChkPresentEnd() { + return dComIfGp_getPEvtManager()->ChkPresentEnd(); +} + +int dComIfGp_evmng_checkStartDemo() { + return dComIfGp_getPEvtManager()->checkStartDemo(); +} + +dAttention_c* dComIfGp_getAttention() { + return g_dComIfG_gameInfo.play.getAttention(); +} + +fopAc_ac_c* dComIfGp_att_getZHint() { + return dComIfGp_getAttention()->getZHintTarget(); +} + +int dComIfGp_att_ZHintRequest(fopAc_ac_c* param_1, int param_2) { + return dComIfGp_getAttention()->ZHintRequest(param_1, param_2); +} + +fopAc_ac_c* dComIfGp_att_getCatghTarget() { + return dComIfGp_getAttention()->getCatghTarget(); +} + +u8 dComIfGp_att_getCatchChgItem() { + return dComIfGp_getAttention()->getCatchChgItem(); +} + +int dComIfGp_att_CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 i_horizontalDist, f32 i_upDist, + f32 i_downDist, s16 i_angle, int param_5) { + return dComIfGp_getAttention()->CatchRequest( + param_0, param_1, i_horizontalDist, i_upDist, i_downDist, i_angle, param_5); +} + +fopAc_ac_c* dComIfGp_att_getLookTarget() { + return dComIfGp_getAttention()->getLookTarget(); +} + +void dComIfGp_att_LookRequest(fopAc_ac_c* param_0, f32 i_horizontalDist, f32 i_upDist, + f32 i_downDist, s16 i_angle, int param_5) { + dComIfGp_getAttention()->LookRequest( + param_0, i_horizontalDist, i_upDist, i_downDist, i_angle, param_5); +} + +dVibration_c& dComIfGp_getVibration() { + return g_dComIfG_gameInfo.play.getVibration(); +} + +JKRAramArchive* dComIfGp_getFieldMapArchive2() { + return g_dComIfG_gameInfo.play.getFieldMapArchive2(); +} + +void dComIfGp_setFieldMapArchive2(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setFieldMapArchive2(arc); +} + +JKRArchive* dComIfGp_getMsgArchive(int idx) { + return g_dComIfG_gameInfo.play.getMsgArchive(idx); +} + +void dComIfGp_setMsgArchive(int i, JKRArchive* arc) { + g_dComIfG_gameInfo.play.setMsgArchive(i, arc); +} + +JKRArchive* dComIfGp_getDemoMsgArchive() { + return g_dComIfG_gameInfo.play.getDemoMsgArchive(); +} + +void dComIfGp_setDemoMsgArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setDemoMsgArchive(arc); +} + +JKRArchive* dComIfGp_getMeterButtonArchive() { + return g_dComIfG_gameInfo.play.getMeterButtonArchive(); +} + +void dComIfGp_setMeterButtonArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setMeterButtonArchive(arc); +} + +JKRArchive* dComIfGp_getFontArchive() { + return g_dComIfG_gameInfo.play.getFontArchive(); +} + +void dComIfGp_setFontArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setFontArchive(arc); +} + +JKRArchive* dComIfGp_getRubyArchive() { + return g_dComIfG_gameInfo.play.getRubyArchive(); +} + +void dComIfGp_setRubyArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setRubyArchive(arc); +} + +JKRArchive* dComIfGp_getAnmArchive() { + return g_dComIfG_gameInfo.play.getAnmArchive(); +} + +void dComIfGp_setAnmArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setAnmArchive(arc); +} + +JKRArchive* dComIfGp_getCollectResArchive() { + return g_dComIfG_gameInfo.play.getCollectResArchive(); +} + +void dComIfGp_setCollectResArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setCollectResArchive(arc); +} + +JKRArchive* dComIfGp_getFmapResArchive() { + return g_dComIfG_gameInfo.play.getFmapResArchive(); +} + +void dComIfGp_setFmapResArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setFmapResArchive(arc); +} + +JKRArchive* dComIfGp_getDmapResArchive() { + return g_dComIfG_gameInfo.play.getDmapResArchive(); +} + +void dComIfGp_setDmapResArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setDmapResArchive(arc); +} + +JKRArchive* dComIfGp_getOptionResArchive() { + return g_dComIfG_gameInfo.play.getOptionResArchive(); +} + +void dComIfGp_setOptionResArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setOptionResArchive(arc); +} + +JKRArchive* dComIfGp_getItemIconArchive() { + return g_dComIfG_gameInfo.play.getItemIconArchive(); +} + +void dComIfGp_setItemIconArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setItemIconArchive(arc); +} + +JKRArchive* dComIfGp_getNameResArchive() { + return g_dComIfG_gameInfo.play.getNameResArchive(); +} + +void dComIfGp_setNameResArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setNameResArchive(arc); +} + +void dComIfGp_setErrorResArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setErrorResArchive(arc); +} + +JKRArchive* dComIfGp_getAllMapArchive() { + return g_dComIfG_gameInfo.play.getAllMapArchive(); +} + +void dComIfGp_setAllMapArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setAllMapArchive(arc); +} + +JKRArchive* dComIfGp_getMsgCommonArchive() { + return g_dComIfG_gameInfo.play.getMsgCommonArchive(); +} + +void dComIfGp_setMsgCommonArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setMsgCommonArchive(arc); +} + +JKRArchive* dComIfGp_getRingResArchive() { + return g_dComIfG_gameInfo.play.getRingResArchive(); +} + +void dComIfGp_setRingResArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setRingResArchive(arc); +} + +JKRArchive* dComIfGp_getCardIconResArchive() { + return g_dComIfG_gameInfo.play.getCardIconResArchive(); +} + +void dComIfGp_setCardIconResArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setCardIconResArchive(arc); +} + +JKRArchive* dComIfGp_getMsgDtArchive() { + return g_dComIfG_gameInfo.play.getMsgDtArchive(); +} + +JKRArchive* dComIfGp_getMsgDtArchive(int idx) { + return g_dComIfG_gameInfo.play.getMsgDtArchive(idx); +} + +void dComIfGp_setMsgDtArchive(int i, JKRArchive* arc) { + g_dComIfG_gameInfo.play.setMsgDtArchive(i, arc); +} + +JKRArchive* dComIfGp_getMain2DArchive() { + return g_dComIfG_gameInfo.play.getMain2DArchive(); +} + +void dComIfGp_setMain2DArchive(JKRArchive* arc) { + g_dComIfG_gameInfo.play.setMain2DArchive(arc); +} + +JKRExpHeap* dComIfGp_particle_getResHeap() { + return g_dComIfG_gameInfo.play.getParticle()->getResHeap(); +} + +void dComIfGp_particle_levelExecute(u32 param_0) { + g_dComIfG_gameInfo.play.getParticle()->levelExecute(param_0); +} + +void dComIfGp_particle_createCommon(const void* data) { + g_dComIfG_gameInfo.play.getParticle()->createCommon(data); +} + +void dComIfGp_particle_readScene(u8 particle_no, mDoDvdThd_toMainRam_c** param_1) { + g_dComIfG_gameInfo.play.getParticle()->readScene(particle_no, param_1); +} + +void dComIfGp_particle_createScene(const void* param_0) { + g_dComIfG_gameInfo.play.getParticle()->createScene(param_0); +} + +void dComIfGp_particle_removeScene(bool param_0) { + g_dComIfG_gameInfo.play.getParticle()->removeScene(param_0); +} + +void dComIfGp_particle_cleanup() { + g_dComIfG_gameInfo.play.getParticle()->cleanup(); +} + +void dComIfGp_particle_calc3D() { + g_dComIfG_gameInfo.play.getParticle()->calc3D(); +} + +void dComIfGp_particle_calc2D() { + g_dComIfG_gameInfo.play.getParticle()->calc2D(); +} + +void dComIfGp_particle_calcMenu() { + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->calcMenu(); + } +} + +void dComIfGp_particle_draw(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawNormal(i_drawInfo); + } +} + +void dComIfGp_particle_drawFog(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawNormalFog(i_drawInfo); + } +} + +void dComIfGp_particle_drawP1(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawNormalP1(i_drawInfo); + } +} + +void dComIfGp_particle_drawProjection(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawProjection(i_drawInfo); + } +} + +void dComIfGp_particle_drawNormalPri0_A(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawNormalPri0_A(i_drawInfo); + } +} + +void dComIfGp_particle_drawNormalPri0_B(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawNormalPri0_B(i_drawInfo); + } +} + +void dComIfGp_particle_drawFogPri0_A(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawFogPri0_A(i_drawInfo); + } +} + +void dComIfGp_particle_drawFogPri0_B(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawFogPri0_B(i_drawInfo); + } +} + +void dComIfGp_particle_drawFogPri1(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawFogPri1(i_drawInfo); + } +} + +void dComIfGp_particle_drawFogPri2(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawFogPri2(i_drawInfo); + } +} + +void dComIfGp_particle_drawFogPri3(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawFogPri3(i_drawInfo); + } +} + +void dComIfGp_particle_drawFogPri4(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawFogPri4(i_drawInfo); + } +} + +void dComIfGp_particle_drawDarkworld(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawDarkworld(i_drawInfo); + } +} + +void dComIfGp_particle_drawScreen(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->drawFogScreen(i_drawInfo); + } +} + +void dComIfGp_particle_draw2Dgame(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->draw2Dgame(i_drawInfo); + } +} + +void dComIfGp_particle_draw2Dfore(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->draw2Dfore(i_drawInfo); + } +} + +void dComIfGp_particle_draw2Dback(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->draw2Dback(i_drawInfo); + } +} + +void dComIfGp_particle_draw2DmenuFore(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->draw2DmenuFore(i_drawInfo); + } +} + +void dComIfGp_particle_draw2DmenuBack(JPADrawInfo* i_drawInfo) { + ZoneScoped; + if (g_dComIfG_gameInfo.play.getParticle() != NULL) { + g_dComIfG_gameInfo.play.getParticle()->draw2DmenuBack(i_drawInfo); + } +} + +void dComIfGp_setHitMark(u16 i_hitmark, fopAc_ac_c* param_1, const cXyz* param_2, + const csXyz* param_3, const cXyz* param_4, u32 i_atType) { + g_dComIfG_gameInfo.play.getParticle()->setHitMark( + i_hitmark, param_1, param_2, param_3, param_4, i_atType); +} + +void dComIfGp_particle_setWaterRipple(u32* param_0, cBgS_PolyInfo& param_1, const cXyz* param_2, + f32 param_3, const dKy_tevstr_c* param_4, const cXyz* param_5, s8 param_6) { + g_dComIfG_gameInfo.play.getParticle()->setWaterRipple( + param_0, param_1, param_2, param_3, param_4, param_5, param_6); +} + +u32 dComIfGp_particle_setPolyColor(u32 param_0, u16 param_1, cBgS_PolyInfo& param_2, + const cXyz* param_3, const dKy_tevstr_c* param_4, const csXyz* param_5, const cXyz* param_6, + int param_7, dPa_levelEcallBack* param_8, s8 param_9, const cXyz* param_10) { + return g_dComIfG_gameInfo.play.getParticle()->setPoly(param_0, param_1, param_2, param_3, + param_4, param_5, param_6, param_7, param_8, param_9, param_10); +} + +JPABaseEmitter* dComIfGp_particle_setPolyColor(u16 param_1, cBgS_PolyInfo& param_2, + const cXyz* param_3, const dKy_tevstr_c* param_4, const csXyz* param_5, const cXyz* param_6, + int param_7, dPa_levelEcallBack* param_8, s8 param_9, const cXyz* param_10) { + return g_dComIfG_gameInfo.play.getParticle()->setPoly( + param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, param_10); +} + +void dComIfGp_particle_setSimple(u16 param_0, cXyz* i_pos, u8 param_2, GXColor& param_3, + GXColor& param_4, int param_5, float param_6) { + g_dComIfG_gameInfo.play.getParticle()->setSimple( + param_0, i_pos, 0, param_2, param_3, param_4, param_5, param_6); +} + +u32 dComIfGp_particle_setStopContinue(u32 param_0) { + return g_dComIfG_gameInfo.play.getParticle()->setStopContinue(param_0); +} + +u32 dComIfGp_particle_setSimpleFoot(u32 param_0, u32* param_1, cBgS_PolyInfo& param_2, + cXyz const* param_3, dKy_tevstr_c const* param_4, int param_5, csXyz const* param_6, + cXyz const* param_7, dPa_levelEcallBack* param_8, s8 param_9, cXyz const* param_10) { + return g_dComIfG_gameInfo.play.getParticle()->setSimpleFoot(param_0, param_1, param_2, param_3, + param_4, param_5, param_6, param_7, param_8, param_9, param_10); +} + +u16 dComIfGp_particle_setCommonPoly(u32* param_0, cBgS_PolyInfo* param_1, const cXyz* param_2, + const cXyz* param_3, const dKy_tevstr_c* param_4, u32 param_5, u32 param_6, + const csXyz* param_7, const cXyz* param_8, s8 param_9) { + return g_dComIfG_gameInfo.play.getParticle()->setCommonPoly( + param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9); +} + +void dComIfGp_particle_levelEmitterOnEventMove(u32 param_0) { + g_dComIfG_gameInfo.play.getParticle()->forceOnEventMove(param_0); +} + +JPABaseEmitter* dComIfGp_particle_getEmitter(u32 param_0) { + return g_dComIfG_gameInfo.play.getParticle()->getEmitter(param_0); +} + +u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* i_pos, const dKy_tevstr_c* param_3, + const csXyz* i_rotation, const cXyz* i_scale, u8 i_alpha, dPa_levelEcallBack* param_7, + s8 param_8, const GXColor* param_9, const GXColor* param_10, const cXyz* param_11) { + return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_0, param_1, i_pos, param_3, + i_rotation, i_scale, i_alpha, param_7, param_8, param_9, param_10, param_11, 1.0f); +} + +u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* i_pos, const csXyz* i_rotation, + const cXyz* i_scale, u8 param_5, dPa_levelEcallBack* param_6, s8 param_7, + const GXColor* param_8, const GXColor* param_9, const cXyz* param_10) { + return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_0, param_1, i_pos, NULL, + i_rotation, i_scale, param_5, param_6, param_7, param_8, param_9, param_10, 1.0f); +} + +JPABaseEmitter* dComIfGp_particle_set(u16 i_resID, const cXyz* i_pos, const dKy_tevstr_c* param_3, + const csXyz* i_rotation, const cXyz* i_scale, u8 i_alpha, dPa_levelEcallBack* i_callback, + s8 param_8, const GXColor* i_prmColor, const GXColor* i_envColor, const cXyz* i_particleScale) { + return g_dComIfG_gameInfo.play.getParticle()->setNormal(i_resID, i_pos, param_3, i_rotation, + i_scale, i_alpha, i_callback, param_8, i_prmColor, i_envColor, i_particleScale, 1.0f); +} + +JPABaseEmitter* dComIfGp_particle_set(u16 i_resID, const cXyz* i_pos, const csXyz* i_rotation, + const cXyz* i_scale, u8 i_alpha, dPa_levelEcallBack* i_callback, s8 param_7, + const GXColor* i_prmColor, const GXColor* i_envColor, const cXyz* i_particleScale) { + return g_dComIfG_gameInfo.play.getParticle()->setNormal(i_resID, i_pos, NULL, i_rotation, + i_scale, i_alpha, i_callback, param_7, i_prmColor, i_envColor, i_particleScale, 1.0f); +} + +u32 dComIfGp_particle_set( + u32 param_0, u16 param_1, const cXyz* i_pos, const dKy_tevstr_c* param_3) { + return dComIfGp_particle_set( + param_0, param_1, i_pos, param_3, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); +} + +JPABaseEmitter* dComIfGp_particle_set( + u16 i_resID, const cXyz* i_pos, const csXyz* i_rotation, const cXyz* i_scale) { + return dComIfGp_particle_set( + i_resID, i_pos, NULL, i_rotation, i_scale, 255, NULL, -1, NULL, NULL, NULL); +} + +JPABaseEmitter* dComIfGp_particle_set(u16 i_resID, const cXyz* i_pos, const dKy_tevstr_c* param_2, + const csXyz* i_rotation, const cXyz* i_scale) { + return dComIfGp_particle_set( + i_resID, i_pos, param_2, i_rotation, i_scale, 255, NULL, -1, NULL, NULL, NULL); +} + +u32 dComIfGp_particle_set( + u32 param_0, u16 param_1, const cXyz* i_pos, const csXyz* param_3, const cXyz* param_4) { + return dComIfGp_particle_set( + param_0, param_1, i_pos, param_3, param_4, 0xFF, NULL, -1, NULL, NULL, NULL); +} + +u32 dComIfGp_particle_setColor(u32 param_0, u16 param_1, const cXyz* i_pos, + const dKy_tevstr_c* param_3, const GXColor* param_4, const GXColor* param_5, f32 param_6, + u8 param_7, const csXyz* param_8, const cXyz* param_9, dPa_levelEcallBack* param_10, + s8 param_11, const cXyz* param_12) { + return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_0, param_1, i_pos, param_3, + param_8, param_9, param_7, param_10, param_11, param_4, param_5, param_12, param_6); +} + +JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* i_pos, + const dKy_tevstr_c* param_2, const GXColor* param_3, const GXColor* param_4, f32 param_5, + u8 param_6, const csXyz* param_7, const cXyz* param_8, dPa_levelEcallBack* param_9, s8 param_10, + const cXyz* param_11) { + return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_0, i_pos, param_2, param_7, + param_8, param_6, param_9, param_10, param_3, param_4, param_11, param_5); +} + +JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* i_pos, + const dKy_tevstr_c* param_2, const GXColor* param_3, const GXColor* param_4, f32 param_5, + u8 param_6) { + return dComIfGp_particle_setColor( + param_0, i_pos, param_2, param_3, param_4, param_5, param_6, NULL, NULL, NULL, -1, NULL); +} + +u32 dComIfGp_particle_getHeapSize() { + return g_dComIfG_gameInfo.play.getParticle()->getHeapSize(); +} + +u32 dComIfGp_particle_getSceneHeapSize() { + return g_dComIfG_gameInfo.play.getParticle()->getSceneHeapSize(); +} + +int dComIfGp_particle_getEmitterNum() { + return g_dComIfG_gameInfo.play.getParticle()->getEmitterNum(); +} + +int dComIfGp_particle_getParticleNum() { + return g_dComIfG_gameInfo.play.getParticle()->getParticleNum(); +} + +dSmplMdl_draw_c* dComIfGp_getSimpleModel() { + return g_dComIfG_gameInfo.play.getSimpleModel(); +} + +int dComIfGp_getWindowNum() { + return g_dComIfG_gameInfo.play.getWindowNum(); +} + +void dComIfGp_setWindowNum(int num) { + g_dComIfG_gameInfo.play.setWindowNum(num); +} + +s8 dComIfGp_getLayerOld() { + return g_dComIfG_gameInfo.play.getLayerOld(); +} + +s32 dComIfGp_checkStatus(u16 flags) { + return g_dComIfG_gameInfo.play.checkStatus(flags); +} + +void dComIfGp_setStatus(u16 status) { + g_dComIfG_gameInfo.play.setStatus(status); +} + +void dComIfGp_onStatus(u16 i_status) { + g_dComIfG_gameInfo.play.onStatus(i_status); +} + +dDlst_window_c* dComIfGp_getWindow(int i) { + return g_dComIfG_gameInfo.play.getWindow(i); +} + +void dComIfGp_setWindow(u8 i, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5, + f32 param_6, int camID, int mode) { + g_dComIfG_gameInfo.play.setWindow( + i, param_1, param_2, param_3, param_4, param_5, param_6, camID, mode); +} + +camera_process_class* dComIfGp_getCamera(int idx) { + return (camera_process_class*)g_dComIfG_gameInfo.play.getCamera(idx); +} + +void dComIfGp_setCamera(int i, camera_class* cam) { + g_dComIfG_gameInfo.play.setCamera(i, cam); +} + +int dComIfGp_getCameraWinID(int idx) { + return g_dComIfG_gameInfo.play.getCameraWinID(idx); +} + +int dComIfGp_getCameraPlayer1ID(int idx) { + return g_dComIfG_gameInfo.play.getCameraPlayer1ID(idx); +} + +int dComIfGp_getCameraPlayer2ID(int idx) { + return g_dComIfG_gameInfo.play.getCameraPlayer2ID(idx); +} + +u32 dComIfGp_getCameraAttentionStatus(int i_no) { + return g_dComIfG_gameInfo.play.getCameraAttentionStatus(i_no); +} + +BOOL dComIfGp_checkCameraAttentionStatus(int i, u32 flag) { + return g_dComIfG_gameInfo.play.checkCameraAttentionStatus(i, flag); +} + +void dComIfGp_onCameraAttentionStatus(int i, u32 flag) { + g_dComIfG_gameInfo.play.onCameraAttentionStatus(i, flag); +} + +void dComIfGp_offCameraAttentionStatus(int i, u32 flag) { + g_dComIfG_gameInfo.play.offCameraAttentionStatus(i, flag); +} + +void dComIfGp_setCameraInfo( + int camIdx, camera_class* p_cam, int param_2, int param_3, int param_4) { + g_dComIfG_gameInfo.play.setCameraInfo(camIdx, p_cam, param_2, param_3, param_4); +} + +f32 dComIfGp_getCameraZoomScale(int i_no) { + return g_dComIfG_gameInfo.play.getCameraZoomScale(i_no); +} + +void dComIfGp_setCameraZoomScale(int i_no, f32 i_scale) { + g_dComIfG_gameInfo.play.setCameraZoomScale(i_no, i_scale); +} + +f32 dComIfGp_getCameraZoomForcus(int i_no) { + return g_dComIfG_gameInfo.play.getCameraZoomForcus(i_no); +} + +void dComIfGp_setCameraZoomForcus(int i_no, f32 i_focus) { + g_dComIfG_gameInfo.play.setCameraZoomForcus(i_no, i_focus); +} + +const char* dComIfGp_getCameraParamFileName(int i) { + return g_dComIfG_gameInfo.play.getCameraParamFileName(i); +} + +void dComIfGp_setCameraParamFileName(int i, char* name) { + g_dComIfG_gameInfo.play.setCameraParamFileName(i, name); +} + +void dComIfGp_saveCameraPosition(int i, cXyz* i_pos, cXyz* i_target, f32 i_fovy, s16 i_bank) { + g_dComIfG_gameInfo.play.saveCameraPosition(i, i_pos, i_target, i_fovy, i_bank); +} + +void dComIfGp_loadCameraPosition(int i, cXyz* o_pos, cXyz* o_target, f32* o_fovy, s16* o_bank) { + g_dComIfG_gameInfo.play.loadCameraPosition(i, o_pos, o_target, o_fovy, o_bank); +} + +fopAc_ac_c* dComIfGp_getPlayer(int idx) { + return g_dComIfG_gameInfo.play.getPlayer(idx); +} + +void dComIfGp_setPlayer(int i, fopAc_ac_c* player) { + g_dComIfG_gameInfo.play.setPlayer(i, player); +} + +int dComIfGp_getPlayerCameraID(int idx) { + return g_dComIfG_gameInfo.play.getPlayerCameraID(idx); +} + +void dComIfGp_setPlayerInfo(int plyrIdx, fopAc_ac_c* ptr, int camIdx) { + g_dComIfG_gameInfo.play.setPlayerInfo(plyrIdx, ptr, camIdx); +} + +daPy_py_c* dComIfGp_getLinkPlayer() { + return (daPy_py_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR); +} + +daHorse_c* dComIfGp_getHorseActor() { + return (daHorse_c*)g_dComIfG_gameInfo.play.getPlayerPtr(HORSE_PTR); +} + +void dComIfGp_setLinkPlayer(fopAc_ac_c* ptr) { + g_dComIfG_gameInfo.play.setPlayerPtr(0, ptr); +} + +void dComIfGp_setHorseActor(fopAc_ac_c* i_horse) { + g_dComIfG_gameInfo.play.setPlayerPtr(1, i_horse); +} + +void dComIfGp_setPlayerPtr(int i, fopAc_ac_c* ptr) { + g_dComIfG_gameInfo.play.setPlayerPtr(i, ptr); +} + +dMsgObject_c* dComIfGp_getMsgObjectClass() { + return g_dComIfG_gameInfo.play.getMsgObjectClass(); +} + +void dComIfGp_setMsgObjectClass(dMsgObject_c* obj) { + return g_dComIfG_gameInfo.play.setMsgObjectClass(obj); +} + +f32 dComIfGp_getItemLifeCount() { + return g_dComIfG_gameInfo.play.getItemLifeCount(); +} + +u8 dComIfGp_getItemLifeCountType() { + return g_dComIfG_gameInfo.play.getItemLifeCountType(); +} + +void dComIfGp_setItemLifeCount(f32 amount, u8 type) { + g_dComIfG_gameInfo.play.setItemLifeCount(amount, type); +} + +void dComIfGp_clearItemLifeCount() { + g_dComIfG_gameInfo.play.clearItemLifeCount(); +} + +s32 dComIfGp_getItemRupeeCount() { + return g_dComIfG_gameInfo.play.getItemRupeeCount(); +} + +void dComIfGp_setItemRupeeCount(s32 amount) { + g_dComIfG_gameInfo.play.setItemRupeeCount(amount); +} + +void dComIfGp_clearItemRupeeCount() { + g_dComIfG_gameInfo.play.clearItemRupeeCount(); +} + +s16 dComIfGp_getItemKeyNumCount() { + return g_dComIfG_gameInfo.play.getItemKeyNumCount(); +} + +void dComIfGp_setItemKeyNumCount(s16 count) { + g_dComIfG_gameInfo.play.setItemKeyNumCount(count); +} + +void dComIfGp_clearItemKeyNumCount() { + g_dComIfG_gameInfo.play.clearItemKeyNumCount(); +} + +s16 dComIfGp_getItemMaxLifeCount() { + return g_dComIfG_gameInfo.play.getItemMaxLifeCount(); +} + +void dComIfGp_setItemMaxLifeCount(s16 count) { + g_dComIfG_gameInfo.play.setItemMaxLifeCount(count); +} + +void dComIfGp_clearItemMaxLifeCount() { + g_dComIfG_gameInfo.play.clearItemMaxLifeCount(); +} + +void dComIfGp_setItemMagicCount(s16 count) { + g_dComIfG_gameInfo.play.setItemMagicCount(count); +} + +void dComIfGp_setItemNowMagic(s16 magic) { + g_dComIfG_gameInfo.play.setItemNowMagic(magic); +} + +void dComIfGp_setItemMaxMagicCount(s16 count) { + g_dComIfG_gameInfo.play.setItemMaxMagicCount(count); +} + +s32 dComIfGp_getItemOilCount() { + return g_dComIfG_gameInfo.play.getItemOilCount(); +} + +void dComIfGp_setItemOilCount(s32 oil) { + g_dComIfG_gameInfo.play.setItemOilCount(oil); +} + +void dComIfGp_setItemMaxOilCount(s32 oil) { + g_dComIfG_gameInfo.play.setItemMaxOilCount(oil); +} + +void dComIfGp_clearItemOilCount() { + g_dComIfG_gameInfo.play.clearItemOilCount(); +} + +s32 dComIfGp_getItemNowOil() { + return g_dComIfG_gameInfo.play.getItemNowOil(); +} + +void dComIfGp_setItemNowOil(s32 oil) { + g_dComIfG_gameInfo.play.setItemNowOil(oil); +} + +s32 dComIfGp_getItemMaxOilCount() { + return g_dComIfG_gameInfo.play.getItemMaxOilCount(); +} + +void dComIfGp_clearItemMaxOilCount() { + g_dComIfG_gameInfo.play.clearItemMaxOilCount(); +} + +int dComIfGp_getOxygen() { + return g_dComIfG_gameInfo.play.getOxygen(); +} + +void dComIfGp_setOxygen(s32 oxygen) { + g_dComIfG_gameInfo.play.setOxygen(oxygen); +} + +int dComIfGp_getNowOxygen() { + return g_dComIfG_gameInfo.play.getNowOxygen(); +} + +void dComIfGp_setNowOxygen(s32 oxygen) { + g_dComIfG_gameInfo.play.setNowOxygen(oxygen); +} + +s32 dComIfGp_getMaxOxygen() { + return g_dComIfG_gameInfo.play.getMaxOxygen(); +} + +void dComIfGp_setMaxOxygen(s32 i_oxygen) { + g_dComIfG_gameInfo.play.setMaxOxygen(i_oxygen); +} + +s32 dComIfGp_getOxygenCount() { + return g_dComIfG_gameInfo.play.getOxygenCount(); +} + +void dComIfGp_setOxygenCount(s32 oxygen) { + g_dComIfG_gameInfo.play.setOxygenCount(oxygen); +} + +void dComIfGp_clearOxygenCount() { + g_dComIfG_gameInfo.play.clearOxygenCount(); +} + +void dComIfGp_setMaxOxygenCount(s32 oxygen) { + g_dComIfG_gameInfo.play.setMaxOxygenCount(oxygen); +} + +s32 dComIfGp_getMaxOxygenCount() { + return g_dComIfG_gameInfo.play.getMaxOxygenCount(); +} + +void dComIfGp_clearMaxOxygenCount() { + g_dComIfG_gameInfo.play.clearMaxOxygenCount(); +} + +s16 dComIfGp_getItemArrowNumCount() { + return g_dComIfG_gameInfo.play.getItemArrowNumCount(); +} + +void dComIfGp_setItemArrowNumCount(s16 count) { + g_dComIfG_gameInfo.play.setItemArrowNumCount(count); +} + +void dComIfGp_clearItemArrowNumCount() { + g_dComIfG_gameInfo.play.clearItemArrowNumCount(); +} + +s16 dComIfGp_getItemPachinkoNumCount() { + return g_dComIfG_gameInfo.play.getItemPachinkoNumCount(); +} + +void dComIfGp_setItemPachinkoNumCount(s16 count) { + g_dComIfG_gameInfo.play.setItemPachinkoNumCount(count); +} + +void dComIfGp_clearItemPachinkoNumCount() { + g_dComIfG_gameInfo.play.clearItemPachinkoNumCount(); +} + +s16 dComIfGp_getItemMaxArrowNumCount() { + return g_dComIfG_gameInfo.play.getItemMaxArrowNumCount(); +} + +int dComIfGp_getMessageCountNumber() { + return g_dComIfG_gameInfo.play.getMessageCountNumber(); +} + +void dComIfGp_setMessageCountNumber(s32 number) { + g_dComIfG_gameInfo.play.setMessageCountNumber(number); +} + +u16 dComIfGp_getItemNowLife() { + return g_dComIfG_gameInfo.play.getItemNowLife(); +} + +void dComIfGp_setItemNowLife(u16 life) { + g_dComIfG_gameInfo.play.setItemNowLife(life); +} + +u8 dComIfGp_getMesgStatus() { + return g_dComIfG_gameInfo.play.getMesgStatus(); +} + +u8 dComIfGp_getRStatus() { + return g_dComIfG_gameInfo.play.getRStatus(); +} + +bool dComIfGp_isRSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isRSetFlag(flag); +} + +void dComIfGp_setRStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setRStatus(status, flag); +} + +u8 dComIfGp_getRStatusForce() { + return g_dComIfG_gameInfo.play.getRStatusForce(); +} + +u8 dComIfGp_getRSetFlagForce() { + return g_dComIfG_gameInfo.play.getRSetFlagForce(); +} + +void dComIfGp_setRStatusForce(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setRStatusForce(status, flag); +} + +u8 dComIfGp_getAStatus() { + return g_dComIfG_gameInfo.play.getAStatus(); +} + +bool dComIfGp_isASetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isASetFlag(flag); +} + +void dComIfGp_setAStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setAStatus(status, flag); +} + +u8 dComIfGp_getAStatusForce() { + return g_dComIfG_gameInfo.play.getAStatusForce(); +} + +u8 dComIfGp_getASetFlagForce() { + return g_dComIfG_gameInfo.play.getASetFlagForce(); +} + +void dComIfGp_setAStatusForce(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setAStatusForce(status, flag); +} + +u8 dComIfGp_getNunStatus() { + return g_dComIfG_gameInfo.play.getNunStatus(); +} + +bool dComIfGp_isNunSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isNunSetFlag(flag); +} + +void dComIfGp_setNunStatus(u8 status, u8 param_1, u8 flag) { + g_dComIfG_gameInfo.play.setNunStatus(status, param_1, flag); +} + +u8 dComIfGp_getBottleStatus() { + return g_dComIfG_gameInfo.play.getBottleStatus(); +} + +bool dComIfGp_isBottleSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isBottleSetFlag(flag); +} + +void dComIfGp_setBottleStatus(u8 param_0, u8 param_1) { + g_dComIfG_gameInfo.play.setBottleStatus(param_0, param_1); +} + +u8 dComIfGp_getBottleStatusForce() { + return g_dComIfG_gameInfo.play.getBottleStatusForce(); +} + +u8 dComIfGp_getBottleSetFlagForce() { + return g_dComIfG_gameInfo.play.getBottleSetFlagForce(); +} + +void dComIfGp_setBottleStatusForce(u8 param_0, u8 param_1) { + g_dComIfG_gameInfo.play.setBottleStatusForce(param_0, param_1); +} + +u8 dComIfGp_getRemoConStatus() { + return g_dComIfG_gameInfo.play.getRemoConStatus(); +} + +bool dComIfGp_isRemoConSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isRemoConSetFlag(flag); +} + +void dComIfGp_setRemoConStatus(u8 status, u8 param_1, u8 flag) { + g_dComIfG_gameInfo.play.setRemoConStatus(status, param_1, flag); +} + +u8 dComIfGp_getDoStatus() { + return g_dComIfG_gameInfo.play.getDoStatus(); +} + +bool dComIfGp_isDoSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isDoSetFlag(flag); +} + +void dComIfGp_setDoStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setDoStatus(status, flag); +} + +u8 dComIfGp_getDoStatusForce() { + return g_dComIfG_gameInfo.play.getDoStatusForce(); +} + +u8 dComIfGp_getDoSetFlagForce() { + return g_dComIfG_gameInfo.play.getDoSetFlagForce(); +} + +void dComIfGp_setDoStatusForce(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setDoStatusForce(status, flag); +} + +u8 dComIfGp_get3DStatus() { + return g_dComIfG_gameInfo.play.get3DStatus(); +} + +u8 dComIfGp_get3DDirection() { + return g_dComIfG_gameInfo.play.get3DDirection(); +} + +bool dComIfGp_is3DSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.is3DSetFlag(flag); +} + +void dComIfGp_set3DStatus(u8 status, u8 direction, u8 flag) { + g_dComIfG_gameInfo.play.set3DStatus(status, direction, flag); +} + +u8 dComIfGp_get3DStatusForce() { + return g_dComIfG_gameInfo.play.get3DStatusForce(); +} + +u8 dComIfGp_get3DDirectionForce() { + return g_dComIfG_gameInfo.play.get3DDirectionForce(); +} + +u8 dComIfGp_get3DSetFlagForce() { + return g_dComIfG_gameInfo.play.get3DSetFlagForce(); +} + +void dComIfGp_set3DStatusForce(u8 status, u8 direction, u8 flag) { + g_dComIfG_gameInfo.play.set3DStatusForce(status, direction, flag); +} + +u8 dComIfGp_getCStickStatus() { + return g_dComIfG_gameInfo.play.getCStickStatus(); +} + +u8 dComIfGp_getCStickDirection() { + return g_dComIfG_gameInfo.play.getCStickDirection(); +} + +bool dComIfGp_isCStickSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isCStickSetFlag(flag); +} + +void dComIfGp_setCStickStatus(u8 status, u8 param_1, u8 flag) { + g_dComIfG_gameInfo.play.setCStickStatus(status, param_1, flag); +} + +u8 dComIfGp_getCStickStatusForce() { + return g_dComIfG_gameInfo.play.getCStickStatusForce(); +} + +u8 dComIfGp_getCStickDirectionForce() { + return g_dComIfG_gameInfo.play.getCStickDirectionForce(); +} + +u8 dComIfGp_getCStickSetFlagForce() { + return g_dComIfG_gameInfo.play.getCStickSetFlagForce(); +} + +void dComIfGp_setCStickStatusForce(u8 status, u8 param_1, u8 flag) { + g_dComIfG_gameInfo.play.setCStickStatusForce(status, param_1, flag); +} + +u8 dComIfGp_getSButtonStatus() { + return g_dComIfG_gameInfo.play.getSButtonStatus(); +} + +bool dComIfGp_isSButtonSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isSButtonSetFlag(flag); +} + +void dComIfGp_setSButtonStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setSButtonStatus(status, flag); +} + +u8 dComIfGp_getSButtonStatusForce() { + return g_dComIfG_gameInfo.play.getSButtonStatusForce(); +} + +u8 dComIfGp_getSButtonSetFlagForce() { + return g_dComIfG_gameInfo.play.getSButtonSetFlagForce(); +} + +void dComIfGp_setSButtonStatusForce(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setSButtonStatusForce(status, flag); +} + +u8 dComIfGp_getZStatus() { + return g_dComIfG_gameInfo.play.getZStatus(); +} + +bool dComIfGp_isZSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isZSetFlag(flag); +} + +void dComIfGp_setZStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setZStatus(status, flag); +} + +u8 dComIfGp_getZStatusForce() { + return g_dComIfG_gameInfo.play.getZStatusForce(); +} + +u8 dComIfGp_getZSetFlagForce() { + return g_dComIfG_gameInfo.play.getZSetFlagForce(); +} + +void dComIfGp_setZStatusForce(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setZStatusForce(status, flag); +} + +u8 dComIfGp_getXStatus() { + return g_dComIfG_gameInfo.play.getXStatus(); +} + +bool dComIfGp_isXSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isXSetFlag(flag); +} + +void dComIfGp_setXStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setXStatus(status, flag); +} + +u8 dComIfGp_getXStatusForce() { + return g_dComIfG_gameInfo.play.getXStatusForce(); +} + +u8 dComIfGp_getXSetFlagForce() { + return g_dComIfG_gameInfo.play.getXSetFlagForce(); +} + +void dComIfGp_setXStatusForce(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setXStatusForce(status, flag); +} + +u8 dComIfGp_getYStatus() { + return g_dComIfG_gameInfo.play.getYStatus(); +} + +bool dComIfGp_isYSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isYSetFlag(flag); +} + +void dComIfGp_setYStatus(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setYStatus(status, flag); +} + +u8 dComIfGp_getYStatusForce() { + return g_dComIfG_gameInfo.play.getYStatusForce(); +} + +u8 dComIfGp_getYSetFlagForce() { + return g_dComIfG_gameInfo.play.getYSetFlagForce(); +} + +void dComIfGp_setYStatusForce(u8 status, u8 flag) { + g_dComIfG_gameInfo.play.setYStatusForce(status, flag); +} + +u8 dComIfGp_getNunZStatus() { + return g_dComIfG_gameInfo.play.getNunZStatus(); +} + +bool dComIfGp_isNunZSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isNunZSetFlag(flag); +} + +void dComIfGp_setNunZStatus(u8 param_0, u8 param_1) { + g_dComIfG_gameInfo.play.setNunZStatus(param_0, param_1); +} + +u8 dComIfGp_getNunCStatus() { + return g_dComIfG_gameInfo.play.getNunCStatus(); +} + +bool dComIfGp_isNunCSetFlag(u8 flag) { + return g_dComIfG_gameInfo.play.isNunCSetFlag(flag); +} + +void dComIfGp_setNunCStatus(u8 param_0, u8 param_1) { + g_dComIfG_gameInfo.play.setNunCStatus(param_0, param_1); +} + +void dComIfGp_setSelectEquipClothes(u8 i_clothNo) { + g_dComIfG_gameInfo.play.setSelectEquip(COLLECT_CLOTHING, i_clothNo); +} + +void dComIfGp_setSelectEquipSword(u8 i_swordNo) { + g_dComIfG_gameInfo.play.setSelectEquip(COLLECT_SWORD, i_swordNo); +} + +void dComIfGp_setSelectEquipShield(u8 i_shieldNo) { + g_dComIfG_gameInfo.play.setSelectEquip(COLLECT_SHIELD, i_shieldNo); +} + +u8 dComIfGp_getMesgAnimeAttrInfo() { + return g_dComIfG_gameInfo.play.getBaseAnimeID(); +} + +void dComIfGp_setMesgAnimeAttrInfo(u8 param_1) { + g_dComIfG_gameInfo.play.setBaseAnimeID(param_1); +} + +void dComIfGp_clearMesgAnimeAttrInfo() { + g_dComIfG_gameInfo.play.clearBaseAnimeID(); +} + +u8 dComIfGp_getMesgFaceAnimeAttrInfo() { + return g_dComIfG_gameInfo.play.getFaceAnimeID(); +} + +void dComIfGp_setMesgFaceAnimeAttrInfo(u8 id) { + g_dComIfG_gameInfo.play.setFaceAnimeID(id); +} + +void dComIfGp_clearMesgFaceAnimeAttrInfo() { + g_dComIfG_gameInfo.play.clearFaceAnimeID(); +} + +void dComIfGp_clearMesgAnimeTagInfo() { + g_dComIfG_gameInfo.play.clearNowAnimeID(); +} + +void dComIfGp_setItem(u8 slot, u8 i_no) { + g_dComIfG_gameInfo.play.setItem(slot, i_no); +} + +u8 dComIfGp_getAdvanceDirection() { + return g_dComIfG_gameInfo.play.getDirection(); +} + +void dComIfGp_setAdvanceDirection(u8 i_dir) { + g_dComIfG_gameInfo.play.setDirection(i_dir); +} + +u8 dComIfGp_checkMesgCancelButton() { + return g_dComIfG_gameInfo.play.checkMesgCancelButton(); +} + +void dComIfGp_setMesgCancelButton(u8 button) { + g_dComIfG_gameInfo.play.setMesgCancelButton(button); +} + +u8 dComIfGp_getGameoverStatus() { + return g_dComIfG_gameInfo.play.getGameoverStatus(); +} + +void dComIfGp_setGameoverStatus(u8 i_status) { + return g_dComIfG_gameInfo.play.setGameoverStatus(i_status); +} + +u8 dComIfGp_isHeapLockFlag() { + return g_dComIfG_gameInfo.play.isHeapLockFlag(); +} + +u8 dComIfGp_getSubHeapLockFlag(int idx) { + return g_dComIfG_gameInfo.play.getSubHeapLockFlag(idx); +} + +void dComIfGp_setSubHeapLockFlag(int idx, u8 status) { + g_dComIfG_gameInfo.play.setSubHeapLockFlag(idx, status); +} + +u8 dComIfGp_getNeedLightDropNum() { + return g_dComIfG_gameInfo.play.getNeedLightDropNum(); +} + +void dComIfGp_setNeedLightDropNum(u8 i_num) { + g_dComIfG_gameInfo.play.setNeedLightDropNum(i_num); +} + +u8 dComIfGp_checkMesgBgm() { + return g_dComIfG_gameInfo.play.checkMesgBgm(); +} + +void dComIfGp_setMesgBgmOff() { + g_dComIfG_gameInfo.play.setMesgBgm(0); +} + +void dComIfGp_setMesgBgmOn() { + g_dComIfG_gameInfo.play.setMesgBgm(1); +} + +u8 dComIfGp_isPauseFlag() { + return g_dComIfG_gameInfo.play.isPauseFlag(); +} + +void dComIfGp_offPauseFlag() { + g_dComIfG_gameInfo.play.offPauseFlag(); +} + +void dComIfGp_onPauseFlag() { + g_dComIfG_gameInfo.play.onPauseFlag(); +} + +u8 dComIfGp_getOxygenShowFlag() { + return g_dComIfG_gameInfo.play.getOxygenShowFlag(); +} + +void dComIfGp_offOxygenShowFlag() { + g_dComIfG_gameInfo.play.setOxygenShowFlag(0); +} + +void dComIfGp_onOxygenShowFlag() { + g_dComIfG_gameInfo.play.setOxygenShowFlag(1); +} + +u8 dComIfGp_2dShowCheck() { + return g_dComIfG_gameInfo.play.show2dCheck(); +} + +void dComIfGp_2dShowOn() { + g_dComIfG_gameInfo.play.show2dOn(); +} + +void dComIfGp_2dShowOff() { + g_dComIfG_gameInfo.play.show2dOff(); +} + +JKRExpHeap* dComIfGp_getExpHeap2D() { + return g_dComIfG_gameInfo.play.getExpHeap2D(); +} + +void dComIfGp_setExpHeap2D(void* heap) { + g_dComIfG_gameInfo.play.setExpHeap2D(heap); +} + +JKRExpHeap* dComIfGp_getSubExpHeap2D(int idx) { + return g_dComIfG_gameInfo.play.getSubExpHeap2D(idx); +} + +void dComIfGp_setSubExpHeap2D(int idx, void* heap) { + g_dComIfG_gameInfo.play.setSubExpHeap2D(idx, heap); +} + +JKRExpHeap* dComIfGp_getMsgExpHeap() { + return g_dComIfG_gameInfo.play.getMsgExpHeap(); +} + +void dComIfGp_setMsgExpHeap(void* heap) { + g_dComIfG_gameInfo.play.setMsgExpHeap(heap); +} + +dComIfG_MesgCamInfo_c* dComIfGp_getMesgCameraInfo() { + return g_dComIfG_gameInfo.play.getMesgCamInfo(); +} + +void dComIfGp_setMesgCameraTagInfo(int id) { + g_dComIfG_gameInfo.play.setMesgCamInfoID(id); +} + +void dComIfGp_clearMesgCameraTagInfo() { + g_dComIfG_gameInfo.play.clearMesgCamInfoID(); +} + +void dComIfGp_setMesgCameraAttrInfo(int param_1) { + g_dComIfG_gameInfo.play.setMesgCamInfoBasicID(param_1); +} + +void dComIfGp_clearMesgCameraAttrInfo() { + g_dComIfG_gameInfo.play.clearMesgCamInfoBasicID(); +} + +void dComIfGp_setMesgCameraInfoActor(fopAc_ac_c* param_1, fopAc_ac_c* param_2, fopAc_ac_c* param_3, + fopAc_ac_c* param_4, fopAc_ac_c* param_5, fopAc_ac_c* param_6, fopAc_ac_c* param_7, + fopAc_ac_c* param_8, fopAc_ac_c* param_9, fopAc_ac_c* param_10) + +{ + g_dComIfG_gameInfo.play.setMesgCamInfoActor( + param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, param_10); +} + +u32 dComIfGp_checkPlayerStatus0(int param_0, u32 flag) { + return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, flag); +} + +u32 dComIfGp_checkPlayerStatus1(int param_0, u32 flag) { + return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 1, flag); +} + +void dComIfGp_setPlayerStatus0(int param_0, u32 flag) { + g_dComIfG_gameInfo.play.setPlayerStatus(param_0, 0, flag); +} + +void dComIfGp_setPlayerStatus1(int param_0, u32 flag) { + g_dComIfG_gameInfo.play.setPlayerStatus(param_0, 1, flag); +} + +void dComIfGp_clearPlayerStatus0(int param_0, u32 flag) { + g_dComIfG_gameInfo.play.clearPlayerStatus(param_0, 0, flag); +} + +void dComIfGp_clearPlayerStatus1(int param_0, u32 flag) { + g_dComIfG_gameInfo.play.clearPlayerStatus(param_0, 1, flag); +} + +void dComIfGp_setCurrentWindow(dDlst_window_c* i_window) { + g_dComIfG_gameInfo.play.setCurrentWindow(i_window); +} + +void dComIfGp_setCurrentView(view_class* i_view) { + g_dComIfG_gameInfo.play.setCurrentView(i_view); +} + +void dComIfGp_setCurrentViewport(view_port_class* i_viewport) { + g_dComIfG_gameInfo.play.setCurrentViewport(i_viewport); +} + +J2DGrafContext* dComIfGp_getCurrentGrafPort() { + return g_dComIfG_gameInfo.play.getCurrentGrafPort(); +} + +void dComIfGp_setCurrentGrafPort(J2DOrthoGraph* i_graf) { + g_dComIfG_gameInfo.play.setCurrentGrafPort(i_graf); +} + +void* dComIfGp_getItemTable() { + return g_dComIfG_gameInfo.play.getItemTable(); +} + +void dComIfGp_setItemTable(void* data) { + g_dComIfG_gameInfo.play.setItemTable(data); +} + +char* dComIfGp_getLastPlayStageName() { + return g_dComIfG_gameInfo.play.getLastPlayStageName(); +} + +void dComIfGp_setLastPlayStageName(char* name) { + g_dComIfG_gameInfo.play.setLastPlayStageName(name); +} + +void dComIfGp_init() { + g_dComIfG_gameInfo.play.init(); +} + +void dComIfGp_itemDataInit() { + g_dComIfG_gameInfo.play.itemInit(); +} + +void dComIfGp_setItemBombNumCount(u8 i_item, s16 count) { + g_dComIfG_gameInfo.play.setItemBombNumCount(i_item, count); +} + +s16 dComIfGp_getItemBombNumCount(u8 i_no) { + return g_dComIfG_gameInfo.play.getItemBombNumCount(i_no); +} + +void dComIfGp_clearItemBombNumCount(u8 i_no) { + g_dComIfG_gameInfo.play.clearItemBombNumCount(i_no); +} + +s16 dComIfGp_getItemMaxBombNumCount() { + return g_dComIfG_gameInfo.play.getItemMaxBombNumCount(dItemNo_NORMAL_BOMB_e); +} + +void dComIfGp_setNowVibration(u8 status) { + g_dComIfG_gameInfo.play.setNowVibration(status); +} + +u32 dComIfGp_getNowVibration() { + return g_dComIfG_gameInfo.play.getNowVibration(); +} + +void dComIfGp_particle_create() { + g_dComIfG_gameInfo.play.createParticle(); +} + +void dComIfGp_createSimpleModel() { + g_dComIfG_gameInfo.play.createSimpleModel(); +} + +void dComIfGp_deleteSimpleModel() { + g_dComIfG_gameInfo.play.deleteSimpleModel(); +} + +void dComIfGp_drawSimpleModel() { + g_dComIfG_gameInfo.play.drawSimpleModel(); +} + +int dComIfGp_addSimpleModel(J3DModelData* i_modelData, int roomNo, u8 i_drawBG) { + return g_dComIfG_gameInfo.play.addSimpleModel(i_modelData, roomNo, i_drawBG); +} + +void dComIfGp_removeSimpleModel(J3DModelData* i_modelData, int roomNo) { + g_dComIfG_gameInfo.play.removeSimpleModel(i_modelData, roomNo); +} + +void dComIfGp_entrySimpleModel(J3DModel* model, int roomNo) { + g_dComIfG_gameInfo.play.entrySimpleModel(model, roomNo); +} + +void dComIfG_ct() { + g_dComIfG_gameInfo.ct(); +} + +dBgS& dComIfG_Bgsp() { + return g_dComIfG_gameInfo.play.mBgs; +} + +dCcS* dComIfG_Ccsp() { + return &g_dComIfG_gameInfo.play.mCcs; +} + +dCcS& dComIfG_Ccsp2() { + return g_dComIfG_gameInfo.play.mCcs; +} + +void dComIfG_setTimerNowTimeMs(int time) { + g_dComIfG_gameInfo.play.setTimerNowTimeMs(time); +} + +int dComIfG_getTimerNowTimeMs() { + return g_dComIfG_gameInfo.play.getTimerNowTimeMs(); +} + +void dComIfG_setTimerLimitTimeMs(int i_time) { + g_dComIfG_gameInfo.play.setTimerLimitTimeMs(i_time); +} + +int dComIfG_getTimerLimitTimeMs() { + return g_dComIfG_gameInfo.play.getTimerLimitTimeMs(); +} + +void dComIfG_setTimerMode(int mode) { + return g_dComIfG_gameInfo.play.setTimerMode(mode); +} + +int dComIfG_getTimerMode() { + return g_dComIfG_gameInfo.play.getTimerMode(); +} + +void dComIfG_setTimerType(u8 i_type) { + g_dComIfG_gameInfo.play.setTimerType(i_type); +} + +u8 dComIfG_getTimerType() { + return g_dComIfG_gameInfo.play.getTimerType(); +} + +void dComIfG_setTimerPtr(dTimer_c* i_ptr) { + g_dComIfG_gameInfo.play.setTimerPtr(i_ptr); +} + +dTimer_c* dComIfG_getTimerPtr() { + return g_dComIfG_gameInfo.play.getTimerPtr(); +} + +/** + * Attempts to add a new Object Resource Archive (*.arc) into the Resource Control. + * @param i_arcName Name of archive to be added + * @param i_mountDirection The direction to mount the archive. mDoDvd_MOUNT_DIRECTION_HEAD or + * mDoDvd_MOUNT_DIRECTION_TAIL + * @param i_heap Pointer to heap to load resources into + * @return TRUE if successful, FALSE otherwise + */ +int dComIfG_setObjectRes(const char* i_arcName, u8 i_mountDirection, JKRHeap* i_heap) { + return g_dComIfG_gameInfo.mResControl.setObjectRes(i_arcName, i_mountDirection, i_heap); +} + +int dComIfG_setObjectRes( + const char* i_arcName, void* i_archiveRes, u32 i_bufferSize, JKRHeap* i_heap) { + UNUSED(i_heap); + return g_dComIfG_gameInfo.mResControl.setObjectRes(i_arcName, i_archiveRes, i_bufferSize, NULL); +} + +/** + * Attempts to add a new Stage Resource Archive (*.arc) into the Resource Control. + * @param i_arcName Name of archive to be added + * @param i_heap Pointer to heap to load resources into + * @return TRUE if successful, FALSE otherwise + */ +int dComIfG_setStageRes(const char* i_arcName, JKRHeap* i_heap) { + return g_dComIfG_gameInfo.mResControl.setStageRes(i_arcName, i_heap); +} + +int dComIfG_syncObjectRes(const char* i_arcName) { + return g_dComIfG_gameInfo.mResControl.syncObjectRes(i_arcName); +} + +int dComIfG_syncStageRes(const char* i_arcName) { + return g_dComIfG_gameInfo.mResControl.syncStageRes(i_arcName); +} + +int dComIfG_deleteObjectResMain(const char* i_arcName) { + return g_dComIfG_gameInfo.mResControl.deleteObjectRes(i_arcName); +} + +int dComIfG_deleteStageRes(const char* i_arcName) { + return g_dComIfG_gameInfo.mResControl.deleteStageRes(i_arcName); +} + +void* dComIfG_getStageRes(const char* i_arcName, const char* i_resName) { + return g_dComIfG_gameInfo.mResControl.getStageRes(i_arcName, i_resName); +} + +void* dComIfG_getObjectRes(const char* i_arcName, const char* i_resName) { + return g_dComIfG_gameInfo.mResControl.getObjectRes(i_arcName, i_resName); +} + +void* dComIfG_getObjectRes(const char* i_arcName, int i_index) { + return g_dComIfG_gameInfo.mResControl.getObjectRes(i_arcName, i_index); +} + +void dComIfG_dumpResControl() { + g_dComIfG_gameInfo.mResControl.dump(); +} + +dRes_info_c* dComIfG_getObjectResInfo(const char* i_arcName) { + return g_dComIfG_gameInfo.mResControl.getObjectResInfo(i_arcName); +} + +dRes_info_c* dComIfG_getStageResInfo(const char* i_arcName) { + return g_dComIfG_gameInfo.mResControl.getStageResInfo(i_arcName); +} + +int dComIfG_syncAllObjectRes() { + return g_dComIfG_gameInfo.mResControl.syncAllObjectRes(); +} + +void* dComIfG_getObjectIDRes(const char* i_arcName, u16 i_resID) { + return g_dComIfG_gameInfo.mResControl.getObjectIDRes(i_arcName, i_resID); +} + +int dComIfG_getObjctResName2Index(const char* i_arcName, const char* i_resName) { + return g_dComIfG_gameInfo.mResControl.getObjectResName2Index(i_arcName, i_resName); +} + +u8 dComIfG_getBrightness() { + return g_dComIfG_gameInfo.mFadeBrightness; +} + +void dComIfG_setBrightness(u8 brightness) { + g_dComIfG_gameInfo.mFadeBrightness = brightness; +} + +BOOL dComIfG_isDebugMode() { + return g_dComIfG_gameInfo.mIsDebugMode; +} + +u32 dComIfG_getTrigB(u32 i_padNo) { + return mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_B; +} + +#if DEBUG +u32 dComIfG_getObjectAllSize() { + return g_dComIfG_gameInfo.mResControl.getObjectAllSize(); +} + +u32 dComIfG_getStageAllSize() { + return g_dComIfG_gameInfo.mResControl.getStageAllSize(); +} + +u32 dComIfG_getObjectSize(const char* i_arcName) { + return g_dComIfG_gameInfo.mResControl.getObjectSize(i_arcName); +} + +u32 dComIfG_getStageSize(const char* i_arcName) { + return g_dComIfG_gameInfo.mResControl.getStageSize(i_arcName); +} + +void dComIfG_initStopwatch() { + OSInitStopwatch(&g_dComIfG_gameInfo.mStopwatch, "dComIfG"); +} +#endif + +int dComIfGd_setRealShadow(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3, f32 param_4, + f32 param_5, dKy_tevstr_c* param_6) { + return g_dComIfG_gameInfo.drawlist.setRealShadow( + param_0, param_1, param_2, param_3, param_4, param_5, param_6); +} + +int dComIfGd_setSimpleShadow( + cXyz* pos, f32 param_1, f32 param_2, cXyz* param_3, s16 angle, f32 param_5, TGXTexObj* tex) { + return g_dComIfG_gameInfo.drawlist.setSimpleShadow( + pos, param_1, param_2, param_3, angle, param_5, tex); +} + +bool dComIfGd_addRealShadow(u32 key, J3DModel* model) { + return g_dComIfG_gameInfo.drawlist.addRealShadow(key, model); +} + +void dComIfGd_drawListItem3d() { + g_dComIfG_gameInfo.drawlist.drawOpaListItem3d(); + g_dComIfG_gameInfo.drawlist.drawXluListItem3d(); +} + +#if VERSION > VERSION_GCN_JPN +void dComIfGd_drawListCursor() { + g_dComIfG_gameInfo.drawlist.drawOpaListCursor(); + g_dComIfG_gameInfo.drawlist.drawXluListCursor(); +} +#endif + +void dComIfGd_reset() { + g_dComIfG_gameInfo.drawlist.reset(); +} + +void dComIfGd_set2DOpa(dDlst_base_c* dlst) { + g_dComIfG_gameInfo.drawlist.set2DOpa(dlst); +} + +void dComIfGd_set2DXlu(dDlst_base_c* dlst) { + g_dComIfG_gameInfo.drawlist.set2DXlu(dlst); +} + +void dComIfGd_set2DOpaTop(dDlst_base_c* dlst) { + g_dComIfG_gameInfo.drawlist.set2DOpaTop(dlst); +} + +void dComIfGd_setCopy2D(dDlst_base_c* dlst) { + g_dComIfG_gameInfo.drawlist.setCopy2D(dlst); +} + +view_class* dComIfGd_getView() { + return g_dComIfG_gameInfo.drawlist.getView(); +} + +Mtx44* dComIfGd_getProjViewMtx() { + return &(g_dComIfG_gameInfo.drawlist.getView()->projViewMtx); +} + +MtxP dComIfGd_getInvViewMtx() { + return g_dComIfG_gameInfo.drawlist.getView()->invViewMtx; +} + +view_port_class* dComIfGd_getViewport() { + return g_dComIfG_gameInfo.drawlist.getViewport(); +} + +MtxP dComIfGd_getViewRotMtx() { + return g_dComIfG_gameInfo.drawlist.getView()->viewMtxNoTrans; +} +MtxP dComIfGd_getViewMtx() { + return g_dComIfG_gameInfo.drawlist.getView()->viewMtx; +} + +J3DDrawBuffer* dComIfGd_getListFilter() { + return g_dComIfG_gameInfo.drawlist.getOpaListFilter(); +} + +J3DDrawBuffer* dComIfGd_getOpaListIndScreen() { + return g_dComIfG_gameInfo.drawlist.getOpaListP0(); +} + +J3DDrawBuffer* dComIfGd_getListPacket() { + return g_dComIfG_gameInfo.drawlist.getOpaListPacket(); +} + +void dComIfGd_setListSky() { + g_dComIfG_gameInfo.drawlist.setOpaListSky(); + g_dComIfG_gameInfo.drawlist.setXluListSky(); +} + +void dComIfGd_setListDark() { + g_dComIfG_gameInfo.drawlist.setOpaListDark(); + g_dComIfG_gameInfo.drawlist.setXluListDark(); +} + +void dComIfGd_setListInvisisble() { + g_dComIfG_gameInfo.drawlist.setOpaListInvisible(); + g_dComIfG_gameInfo.drawlist.setXluListInvisible(); +} + +void dComIfGd_setListDarkBG() { + g_dComIfG_gameInfo.drawlist.setOpaListDarkBG(); + g_dComIfG_gameInfo.drawlist.setXluListDarkBG(); +} + +void dComIfGd_setXluListDarkBG() { + g_dComIfG_gameInfo.drawlist.setXluListDarkBG(); +} + +void dComIfGd_setList() { + g_dComIfG_gameInfo.drawlist.setOpaList(); + g_dComIfG_gameInfo.drawlist.setXluList(); +} + +void dComIfGd_setListItem3D() { + g_dComIfG_gameInfo.drawlist.setOpaListItem3D(); + g_dComIfG_gameInfo.drawlist.setXluListItem3D(); +} + +void dComIfGd_setList3Dlast() { + g_dComIfG_gameInfo.drawlist.setOpaList3Dlast(); + g_dComIfG_gameInfo.drawlist.setXluList3Dlast(); +} + +void dComIfGd_setXluList2DScreen() { + g_dComIfG_gameInfo.drawlist.setXluList2DScreen(); +} + +void dComIfGd_setXluListBG() { + g_dComIfG_gameInfo.drawlist.setXluListBG(); +} + +void dComIfGd_setListBG() { + g_dComIfG_gameInfo.drawlist.setOpaListBG(); + g_dComIfG_gameInfo.drawlist.setXluListBG(); +} + +void dComIfGd_setListIndScreen() { + g_dComIfG_gameInfo.drawlist.setOpaListP0(); + g_dComIfG_gameInfo.drawlist.setXluListP0(); +} + +void dComIfGd_setListMiddle() { + g_dComIfG_gameInfo.drawlist.setOpaListMiddle(); + g_dComIfG_gameInfo.drawlist.setXluListMiddle(); +} + +void dComIfGd_setListZxlu() { + g_dComIfG_gameInfo.drawlist.setOpaListZxlu(); + g_dComIfG_gameInfo.drawlist.setXluListZxlu(); +} + +J3DDrawBuffer* dComIfGd_getOpaList() { + return g_dComIfG_gameInfo.drawlist.getOpaList(); +} + +J3DDrawBuffer* dComIfGd_getOpaListBG() { + return g_dComIfG_gameInfo.drawlist.getOpaListBG(); +} + +J3DDrawBuffer* dComIfGd_getOpaListDark() { + return g_dComIfG_gameInfo.drawlist.getOpaListDark(); +} + +J3DDrawBuffer* dComIfGd_getXluListBG() { + return g_dComIfG_gameInfo.drawlist.getXluListBG(); +} + +void dComIfGd_setListFilter() { + g_dComIfG_gameInfo.drawlist.setOpaListFilter(); + g_dComIfG_gameInfo.drawlist.setXluListFilter(); +} + +void dComIfGd_init() { + g_dComIfG_gameInfo.drawlist.init(); +} + +void dComIfGd_peekZ(s16 param_0, s16 param_1, u32* param_2) { + g_dComIfG_gameInfo.drawlist.newPeekZdata(param_0, param_1, param_2); +} + +void dComIfGd_peekZdata() { + g_dComIfG_gameInfo.drawlist.peekZdata(); +} + +void dComIfGd_setView(view_class* view) { + g_dComIfG_gameInfo.drawlist.setView(view); +} + +void dComIfGd_setWindow(dDlst_window_c* window) { + g_dComIfG_gameInfo.drawlist.setWindow(window); +} + +void dComIfGd_setViewport(view_port_class* port) { + g_dComIfG_gameInfo.drawlist.setViewport(port); +} + +void dComIfGd_entryZSortListZxlu(J3DPacket* i_packet, cXyz& param_1) { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.entryZSortListZxlu(i_packet, param_1); +} + +void dComIfGd_entryZSortXluList(J3DPacket* i_packet, cXyz& param_1) { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.entryZSortXluList(i_packet, param_1); +} + +void dComIfGd_drawCopy2D() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawCopy2D(); +} + +void dComIfGd_drawOpaListSky() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawOpaListSky(); +} + +void dComIfGd_drawXluListSky() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawXluListSky(); +} + +void dComIfGd_drawOpaListBG() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawOpaListBG(); +} + +void dComIfGd_drawOpaListDarkBG() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawOpaListDarkBG(); +} + +void dComIfGd_drawOpaListMiddle() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawOpaListMiddle(); +} + +void dComIfGd_drawOpaList() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawOpaList(); +} + +void dComIfGd_drawOpaListDark() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawOpaListDark(); +} + +void dComIfGd_drawOpaListPacket() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawOpaListPacket(); +} + +void dComIfGd_drawXluListBG() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawXluListBG(); +} + +void dComIfGd_drawXluListDarkBG() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawXluListDarkBG(); +} + +void dComIfGd_drawXluList() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawXluList(); +} + +void dComIfGd_drawXluListDark() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawXluListDark(); +} + +void dComIfGd_drawXluListZxlu() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawXluListZxlu(); +} + +void dComIfGd_drawXluList2DScreen() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawXluList2DScreen(); +} + +void dComIfGd_drawOpaList3Dlast() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawOpaList3Dlast(); +} + +void dComIfGd_draw2DOpa() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.draw2DOpa(); +} + +void dComIfGd_draw2DOpaTop() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.draw2DOpaTop(); +} + +void dComIfGd_draw2DXlu() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.draw2DXlu(); +} + +void dComIfGd_drawOpaListFilter() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawOpaListFilter(); +} + +void dComIfGd_drawIndScreen() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawOpaListP0(); +} + +void dComIfGd_drawListZxlu() { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawXluListZxlu(); +} + +void dComIfGd_drawShadow(Mtx param_0) { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.drawShadow(param_0); +} + +void dComIfGd_imageDrawShadow(Mtx param_0) { + ZoneScoped; + g_dComIfG_gameInfo.drawlist.imageDrawShadow(param_0); +} + +void dComIfGd_set3DlineMat(mDoExt_3DlineMat_c* param_0) { + g_dComIfG_gameInfo.drawlist.set3DlineMat(param_0); +} + +void dComIfGd_set3DlineMatDark(mDoExt_3DlineMat_c* param_0) { + g_dComIfG_gameInfo.drawlist.set3DlineMatDark(param_0); +} + +#if PLATFORM_WII || VERSION == VERSION_SHIELD_DEBUG +void dComIfGd_setListCursor() { + g_dComIfG_gameInfo.drawlist.setOpaListCursor(); + g_dComIfG_gameInfo.drawlist.setXluListCursor(); +} +#endif + void dComIfGd_drawXluListInvisible() { ZoneScoped; if (!dusk::getSettings().game.disableWaterRefraction) {