mirror of
https://github.com/zeldaret/tp
synced 2026-08-12 11:52:59 -04:00
GCN pal / jpn support, some debug work (#2375)
* d_save debug cleanup / d_s_menu debug * gameinfo / kankyo struct debug fixes * pal building ok * jp building ok * some tests with jp * some more pal/jp tests
This commit is contained in:
@@ -16,8 +16,6 @@
|
||||
#include "JSystem/JUtility/JUTResFont.h"
|
||||
#include "JSystem/JUtility/JUTDbPrint.h"
|
||||
|
||||
extern u8 const JUTResFONT_Ascfont_fix12[16736];
|
||||
|
||||
/* 80450770-80450774 0001F0 0004+00 1/1 1/1 0/0 .sdata maxStdHeaps__Q29JFWSystem11CSetUpParam */
|
||||
s32 JFWSystem::CSetUpParam::maxStdHeaps = 2;
|
||||
|
||||
|
||||
@@ -4218,7 +4218,10 @@ void daAlink_c::checkWarpStart() {
|
||||
if (dMeter2Info_getWarpStatus() == WARP_STATUS_DECIDED_e ||
|
||||
dComIfGp_event_compulsory(this, 0, 0xFFFF))
|
||||
{
|
||||
#if VERSION != VERSION_GCN_JPN
|
||||
onNoResetFlg0(FLG0_UNK_4000);
|
||||
#endif
|
||||
|
||||
if (dMeter2Info_getWarpStatus() == WARP_STATUS_DECIDED_e) {
|
||||
const char* portal;
|
||||
if (!checkMidnaRide()) {
|
||||
@@ -4244,6 +4247,10 @@ void daAlink_c::checkWarpStart() {
|
||||
fopAcM_orderOtherEvent(this, portal, 0xFFFF, 1, 1);
|
||||
} else {
|
||||
mDemo.setSpecialDemoType();
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
onNoResetFlg0(FLG0_UNK_4000);
|
||||
#endif
|
||||
|
||||
if (dMeter2Info_getWarpStatus() == 1) {
|
||||
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
|
||||
u32 exitID = dStage_stagInfo_GetEscapeWarp(stag_info);
|
||||
@@ -4327,6 +4334,12 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) {
|
||||
var_r29 = Z2SE_WOLF_WARP_IN_TATE;
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (param_1) {
|
||||
onNoResetFlg0(FLG0_UNK_4000);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (param_1) {
|
||||
if (!checkMidnaRide()) {
|
||||
onPlayerNoDraw();
|
||||
|
||||
@@ -730,7 +730,7 @@ SECTION_DATA u8 daNpc_Hanjo_c::mStoneCcDSph[64] = {
|
||||
|
||||
/* 809F908C-809F9278 0000EC 01EC+00 1/0 0/0 0/0 .text __dt__13daNpc_Hanjo_cFv */
|
||||
daNpc_Hanjo_c::~daNpc_Hanjo_c() {
|
||||
OS_REPORT("|%06d:%x|daNpc_Hanjo_c -> デストラクト\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daNpc_Hanjo_c -> デストラクト\n", g_Counter.mCounter0, this);
|
||||
if (mpMorf[0] != 0) {
|
||||
mpMorf[0]->stopZelAnime();
|
||||
}
|
||||
@@ -902,7 +902,7 @@ int daNpc_Hanjo_c::CreateHeap() {
|
||||
|
||||
/* 809F9B38-809F9B6C 000B98 0034+00 1/1 0/0 0/0 .text Delete__13daNpc_Hanjo_cFv */
|
||||
int daNpc_Hanjo_c::Delete() {
|
||||
OS_REPORT("|%06d:%x|daNpc_Hanjo_c -> Delete\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daNpc_Hanjo_c -> Delete\n", g_Counter.mCounter0, this);
|
||||
fopAcM_GetID(this);
|
||||
this->~daNpc_Hanjo_c();
|
||||
return 1;
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_npc_midp.h"
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
|
||||
UNK_REL_DATA
|
||||
|
||||
@@ -64,7 +65,7 @@ daNpc_midP_c::cutFunc daNpc_midP_c::mCutList[1] = { 0 };
|
||||
|
||||
/* 80A70C6C-80A70D90 0000EC 0124+00 1/0 0/0 0/0 .text __dt__12daNpc_midP_cFv */
|
||||
daNpc_midP_c::~daNpc_midP_c() {
|
||||
OS_REPORT("|%06d:%x|daNpc_midP_c -> デストラクト\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daNpc_midP_c -> デストラクト\n", g_Counter.mCounter0, this);
|
||||
if (heap != 0) {
|
||||
mpMorf[0]->stopZelAnime();
|
||||
}
|
||||
@@ -131,7 +132,7 @@ int daNpc_midP_c::create() {
|
||||
OS_REPORT("\n");
|
||||
|
||||
OS_REPORT("\t(%s:%d) flowNo:%d, PathID:%02x<%08x> ", fopAcM_getProcNameString(this), mType,
|
||||
mFlowNodeNo, getPathID(), fopAcM_GetParam(this));
|
||||
mFlowNodeNo, fopAcM_GetParam(this));
|
||||
if (isDelete()) {
|
||||
OS_REPORT("===>isDelete:TRUE\n");
|
||||
return cPhs_ERROR_e;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "d/actor/d_a_npc_zant.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
|
||||
/* 80B6ED28-80B6ED34 000008 000C+00 1/1 0/0 0/0 .bss @3811 */
|
||||
static u8 lit_3811[12];
|
||||
@@ -73,7 +74,7 @@ daNpc_Zant_c::cutFunc daNpc_Zant_c::mCutList[1] = {
|
||||
|
||||
/* 80B6C1AC-80B6C2D0 0000EC 0124+00 1/0 0/0 0/0 .text __dt__12daNpc_Zant_cFv */
|
||||
daNpc_Zant_c::~daNpc_Zant_c() {
|
||||
OS_REPORT("|%06d:%x|daNpc_Zant_c -> デストラクト\n", g_counter, this);
|
||||
OS_REPORT("|%06d:%x|daNpc_Zant_c -> デストラクト\n", g_Counter.mCounter0, this);
|
||||
if (heap != NULL) {
|
||||
mpMorf[0]->stopZelAnime();
|
||||
}
|
||||
@@ -168,7 +169,7 @@ int daNpc_Zant_c::CreateHeap() {
|
||||
|
||||
/* 80B6C700-80B6C734 000640 0034+00 1/1 0/0 0/0 .text Delete__12daNpc_Zant_cFv */
|
||||
int daNpc_Zant_c::Delete() {
|
||||
OS_REPORT("|%06d:%x|daNpc_Zant_c -> Delete\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daNpc_Zant_c -> Delete\n", g_Counter.mCounter0, this);
|
||||
fopAcM_GetID(this);
|
||||
this->~daNpc_Zant_c();
|
||||
return 1;
|
||||
|
||||
@@ -72,7 +72,7 @@ static dCcD_SrcSph l_ccDSph = {
|
||||
|
||||
/* 80BA56EC-80BA5990 0000EC 02A4+00 1/0 0/0 0/0 .text __dt__16daObj_AutoMata_cFv */
|
||||
daObj_AutoMata_c::~daObj_AutoMata_c() {
|
||||
OS_REPORT("|%06d:%x|daObj_AutoMata_c -> デストラクト\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daObj_AutoMata_c -> デストラクト\n", g_Counter.mCounter0, this);
|
||||
if (mpMorf != NULL) {
|
||||
mpMorf->stopZelAnime();
|
||||
}
|
||||
@@ -131,7 +131,7 @@ int daObj_AutoMata_c::CreateHeap() {
|
||||
|
||||
/* 80BA60A0-80BA60D4 000AA0 0034+00 1/1 0/0 0/0 .text Delete__16daObj_AutoMata_cFv */
|
||||
int daObj_AutoMata_c::Delete() {
|
||||
OS_REPORT("|%06d:%x|daObj_AutoMata_c -> Delete\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daObj_AutoMata_c -> Delete\n", g_Counter.mCounter0, this);
|
||||
this->~daObj_AutoMata_c();
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ static dJntColData_c jntCoData = {
|
||||
|
||||
/* 80BBAFEC-80BBB1F4 0000EC 0208+00 1/0 0/0 0/0 .text __dt__15daObj_BouMato_cFv */
|
||||
daObj_BouMato_c::~daObj_BouMato_c() {
|
||||
OS_REPORT("|%06d:%x|daObj_BouMato_c -> デストラクト\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daObj_BouMato_c -> デストラクト\n", g_Counter.mCounter0, this);
|
||||
dComIfG_resDelete(&mPhase, getResName());
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ int daObj_BouMato_c::CreateHeap() {
|
||||
|
||||
/* 80BBB800-80BBB834 000900 0034+00 1/1 0/0 0/0 .text Delete__15daObj_BouMato_cFv */
|
||||
int daObj_BouMato_c::Delete() {
|
||||
OS_REPORT("|%06d:%x|daObj_BouMato_c -> Delete\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daObj_BouMato_c -> Delete\n", g_Counter.mCounter0, this);
|
||||
this->~daObj_BouMato_c();
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ SECTION_DATA static s8 l_tileMoveData[21][4] = {
|
||||
|
||||
/* 80CDD2AC-80CDD3AC 0000EC 0100+00 1/0 0/0 0/0 .text __dt__14daObj_SMTile_cFv */
|
||||
daObj_SMTile_c::~daObj_SMTile_c() {
|
||||
OS_REPORT("|%06d:%x|daObj_SMTile_c -> デストラクト\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daObj_SMTile_c -> デストラクト\n", g_Counter.mCounter0, this);
|
||||
dComIfG_resDelete(
|
||||
&mPhase,
|
||||
l_resNameList[l_bmdData[mType][1]]);
|
||||
@@ -93,7 +93,7 @@ int daObj_SMTile_c::CreateHeap() {
|
||||
|
||||
/* 80CDD6E8-80CDD71C 000528 0034+00 1/1 0/0 0/0 .text Delete__14daObj_SMTile_cFv */
|
||||
int daObj_SMTile_c::Delete() {
|
||||
OS_REPORT("|%06d:%x|daObj_SMTile_c -> Delete\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daObj_SMTile_c -> Delete\n", g_Counter.mCounter0, this);
|
||||
this->~daObj_SMTile_c();
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ daPeru_c::cutAppearFunc daPeru_c::mCutList[3] = {
|
||||
|
||||
/* 80D46EEC-80D46FCC 0000EC 00E0+00 1/0 0/0 0/0 .text __dt__8daPeru_cFv */
|
||||
daPeru_c::~daPeru_c() {
|
||||
OS_REPORT("|%06d:%x|daPeru_c -> デストラクト\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daPeru_c -> デストラクト\n", g_Counter.mCounter0, this);
|
||||
if (heap != NULL) {
|
||||
mpMorf[0]->stopZelAnime();
|
||||
}
|
||||
@@ -280,7 +280,7 @@ int daPeru_c::typeInitialize() {
|
||||
|
||||
/* 80D47750-80D47784 000950 0034+00 1/1 0/0 0/0 .text Delete__8daPeru_cFv */
|
||||
int daPeru_c::Delete() {
|
||||
OS_REPORT("|%06d:%x|daPeru_c -> Delete\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daPeru_c -> Delete\n", g_Counter.mCounter0, this);
|
||||
fopAcM_GetID(this);
|
||||
this->~daPeru_c();
|
||||
return 1;
|
||||
|
||||
@@ -55,7 +55,7 @@ int daTag_KMsg_c::create() {
|
||||
|
||||
/* 8048DFDC-8048E010 0001DC 0034+00 1/1 0/0 0/0 .text Delete__12daTag_KMsg_cFv */
|
||||
int daTag_KMsg_c::Delete() {
|
||||
OS_REPORT("|%06d:%x|daTag_KMsg_c -> Delete\n", g_Counter, this);
|
||||
OS_REPORT("|%06d:%x|daTag_KMsg_c -> Delete\n", g_Counter.mCounter0, this);
|
||||
fopAcM_GetID(this);
|
||||
this->~daTag_KMsg_c();
|
||||
return 1;
|
||||
|
||||
+184
-23
@@ -13,7 +13,10 @@
|
||||
#include "d/d_map_path_dmap.h"
|
||||
#include "d/d_menu_fmap.h"
|
||||
#include "d/d_meter2_info.h"
|
||||
#include "d/d_meter_HIO.h"
|
||||
#include "d/d_menu_window_HIO.h"
|
||||
#include "f_op/f_op_scene_mng.h"
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
#include "m_Do/m_Do_Reset.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
@@ -43,10 +46,10 @@ void dComIfG_play_c::init() {
|
||||
mPlayerPtr[i] = NULL;
|
||||
}
|
||||
|
||||
if (mGameoverStatus == 2) {
|
||||
if (mItemInfo.mGameoverStatus == 2) {
|
||||
dComIfGp_roomControl_initZone();
|
||||
}
|
||||
mGameoverStatus = 0;
|
||||
mItemInfo.mGameoverStatus = 0;
|
||||
}
|
||||
|
||||
BOOL dComIfGp_checkItemGet(u8 i_itemNo, int param_1) {
|
||||
@@ -56,41 +59,41 @@ BOOL dComIfGp_checkItemGet(u8 i_itemNo, int param_1) {
|
||||
void dComIfG_play_c::itemInit() {
|
||||
dMeter2Info_Initialize();
|
||||
|
||||
JKRExpHeap* heap = mExpHeap2D;
|
||||
memset(&mMsgObjectClass, 0, 300);
|
||||
mExpHeap2D = heap;
|
||||
mOxygen = 600;
|
||||
mNowOxygen = 600;
|
||||
mMaxOxygen = 600;
|
||||
JKRExpHeap* heap = mItemInfo.mExpHeap2D;
|
||||
memset(&mItemInfo.mMsgObjectClass, 0, 300);
|
||||
mItemInfo.mExpHeap2D = heap;
|
||||
mItemInfo.mOxygen = 600;
|
||||
mItemInfo.mNowOxygen = 600;
|
||||
mItemInfo.mMaxOxygen = 600;
|
||||
|
||||
if (dComIfGs_checkGetItem(fpcNm_ITEM_HAWK_EYE)) {
|
||||
field_0x4f4b = 0;
|
||||
mItemInfo.field_0x4f4b = 0;
|
||||
} else {
|
||||
field_0x4f4b = 21;
|
||||
mItemInfo.field_0x4f4b = 21;
|
||||
}
|
||||
field_0x4f4c = 7;
|
||||
mItemInfo.field_0x4f4c = 7;
|
||||
|
||||
mNowVibration = dComIfGs_getOptVibration();
|
||||
mItemInfo.mNowVibration = dComIfGs_getOptVibration();
|
||||
}
|
||||
|
||||
void dComIfG_play_c::setItemBombNumCount(u8 i_item, s16 count) {
|
||||
mItemBombNumCount[i_item] += count;
|
||||
mItemInfo.mItemBombNumCount[i_item] += count;
|
||||
}
|
||||
|
||||
s16 dComIfG_play_c::getItemBombNumCount(u8 i_item) {
|
||||
return mItemBombNumCount[i_item];
|
||||
return mItemInfo.mItemBombNumCount[i_item];
|
||||
}
|
||||
|
||||
void dComIfG_play_c::clearItemBombNumCount(u8 i_item) {
|
||||
mItemBombNumCount[i_item] = 0;
|
||||
mItemInfo.mItemBombNumCount[i_item] = 0;
|
||||
}
|
||||
|
||||
void dComIfG_play_c::setNowVibration(u8 i_vibration) {
|
||||
mNowVibration = i_vibration;
|
||||
mItemInfo.mNowVibration = i_vibration;
|
||||
}
|
||||
|
||||
u32 dComIfG_play_c::getNowVibration() {
|
||||
return mNowVibration;
|
||||
return mItemInfo.mNowVibration;
|
||||
}
|
||||
|
||||
void dComIfG_play_c::setStartStage(dStage_startStage_c* i_startStage) {
|
||||
@@ -1467,6 +1470,14 @@ u16 dComIfGs_getMaxLifeGauge() {
|
||||
return (dComIfGs_getMaxLife() / 5) * 4;
|
||||
}
|
||||
|
||||
void dComIfGs_onGetMagicUseFlag() {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().onMagicFlag(0);
|
||||
if (dComIfGs_getMaxMagic() == 0) {
|
||||
dComIfGp_setItemMaxMagicCount(16);
|
||||
dComIfGp_setItemMagicCount(16);
|
||||
}
|
||||
}
|
||||
|
||||
void dComIfGs_setSelectItemIndex(int i_no, u8 i_slotNo) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().setSelectItemIndex(i_no, i_slotNo);
|
||||
dComIfGp_setSelectItem(i_no);
|
||||
@@ -1828,6 +1839,156 @@ void dComIfGs_gameStart() {
|
||||
dComIfGp_setNextStage(name, point, roomNo, -1, 0.0f, 0, 1, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
void dComIfG_playerStatusD() {
|
||||
dComIfGs_setDataNum(0);
|
||||
dComIfGs_setMaxLife(50);
|
||||
dComIfGs_setLife(20);
|
||||
dComIfGs_setRupee(64);
|
||||
dComIfGs_setMaxMagic(32);
|
||||
dComIfGs_setMagic(16);
|
||||
dComIfGs_setWalletSize(1);
|
||||
dComIfGs_setMaxOil(21600);
|
||||
dComIfGs_setOil(21600);
|
||||
dComIfGp_setMaxOxygen(600);
|
||||
dComIfGp_setOxygen(600);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
dComIfGs_setMixItemIndex(i, 0xFF);
|
||||
}
|
||||
|
||||
dComIfGs_setSelectItemIndex(0, SLOT_0);
|
||||
dComIfGs_setSelectItemIndex(1, SLOT_4);
|
||||
dComIfGs_setSelectItemIndex(2, 0xFF);
|
||||
dComIfGs_setSelectItemIndex(3, 0xFF);
|
||||
|
||||
for (int i = 23; i >= 0; i--) {
|
||||
dComIfGs_setItem(i, fopMsgM_itemNumIdx(i));
|
||||
}
|
||||
|
||||
for (int i = 0; i < 0x100; i++) {
|
||||
dComIfGs_onItemFirstBit(i);
|
||||
}
|
||||
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_L2_KEY_PIECES1);
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_L2_KEY_PIECES2);
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_L2_KEY_PIECES3);
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_LV2_BOSS_KEY);
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_BOMB_BAG_LV2);
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_TOMATO_PUREE);
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_TASTE);
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_POU_FIRE1);
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_POU_FIRE2);
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_POU_FIRE3);
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_POU_FIRE4);
|
||||
|
||||
for (int i = 0; i < 24; i++) {
|
||||
dComIfGs_offItemFirstBit(i + fpcNm_ITEM_M_BEETLE);
|
||||
}
|
||||
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_LIGHT_SWORD);
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_SHIELD);
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_ZORAS_JEWEL);
|
||||
|
||||
for (int i = 0; i < 19; i++) {
|
||||
dComIfGs_offItemFirstBit(i);
|
||||
}
|
||||
|
||||
dComIfGs_setCollectSmell(fpcNm_ITEM_SMELL_PUMPKIN);
|
||||
|
||||
if (!mDoCPd_c::isConnect(PAD_3)) {
|
||||
dComIfGs_offItemFirstBit(fpcNm_ITEM_SMELL_POH);
|
||||
}
|
||||
|
||||
dComIfGs_setArrowNum(30);
|
||||
dComIfGs_setArrowMax(30);
|
||||
dComIfGs_setPachinkoNum(dComIfGs_getPachinkoMax());
|
||||
dComIfGs_setBombNum(0, 30);
|
||||
dComIfGs_setBombNum(1, 15);
|
||||
dComIfGs_setBombNum(2, 10);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
dComIfGs_setBottleNum(i, dComIfGs_getBottleMax());
|
||||
}
|
||||
|
||||
dComIfGs_setSaveTotalTime(dComIfGs_getTotalTime());
|
||||
dComIfGs_setSaveStartTime(OSGetTime());
|
||||
|
||||
dComIfGs_setBombNum(8, 30);
|
||||
dComIfGs_setBombMax(fpcNm_ITEM_NORMAL_BOMB, 30);
|
||||
dComIfGs_setBombMax(fpcNm_ITEM_WATER_BOMB, 15);
|
||||
dComIfGs_setBombMax(fpcNm_ITEM_POKE_BOMB, 10);
|
||||
|
||||
dMeter2Info_setCloth(fpcNm_ITEM_WEAR_KOKIRI, false);
|
||||
dMeter2Info_setSword(fpcNm_ITEM_SWORD, false);
|
||||
dMeter2Info_setShield(fpcNm_ITEM_HYLIA_SHIELD, false);
|
||||
dComIfGs_onGetMagicUseFlag();
|
||||
|
||||
dComIfGs_onEventBit(0x540);
|
||||
dComIfGs_onEventBit(0xc10);
|
||||
dComIfGs_onEventBit(0x510);
|
||||
dMeter2Info_offTempBit(0);
|
||||
dComIfGs_onEventBit(0x5c01);
|
||||
dComIfGs_onEventBit(0x5d80);
|
||||
|
||||
if (!mDoCPd_c::isConnect(PAD_3)) {
|
||||
g_fmapHIO.mRangeCheckInterval = 0;
|
||||
} else {
|
||||
g_fmapHIO.mRangeCheckInterval = 1;
|
||||
}
|
||||
|
||||
g_fmapHIO.mRegionImageDebug = 1;
|
||||
g_fmapHIO.update();
|
||||
|
||||
g_mwHIO.setArrowFlag(1);
|
||||
g_mwHIO.setPachinkoFlag(1);
|
||||
g_mwHIO.setBombFlag(1);
|
||||
g_mwHIO.update();
|
||||
g_mwHIO.setBombFlag(1);
|
||||
}
|
||||
|
||||
void dComIfG_playerStatusD_pre_clear() {
|
||||
dComIfGs_setDataNum(0);
|
||||
dComIfGs_setMaxLife(15);
|
||||
dComIfGs_setLife(12);
|
||||
dComIfGs_setRupee(0);
|
||||
dComIfGs_setMaxMagic(0);
|
||||
dComIfGs_setMagic(0);
|
||||
dComIfGs_setWalletSize(0);
|
||||
dComIfGs_setMaxOil(21600);
|
||||
dComIfGs_setOil(21600);
|
||||
dComIfGp_setMaxOxygen(600);
|
||||
dComIfGp_setOxygen(600);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
dComIfGs_setMixItemIndex(i, 0xFF);
|
||||
dComIfGs_setSelectItemIndex(i, 0xFF);
|
||||
}
|
||||
|
||||
dComIfGs_setSelectEquipClothes(fpcNm_ITEM_WEAR_CASUAL);
|
||||
dComIfGp_setSelectEquipClothes(fpcNm_ITEM_WEAR_CASUAL);
|
||||
dComIfGs_setSelectEquipSword(fpcNm_ITEM_NONE);
|
||||
dComIfGp_setSelectEquipSword(fpcNm_ITEM_NONE);
|
||||
dComIfGs_setSelectEquipShield(fpcNm_ITEM_NONE);
|
||||
dComIfGp_setSelectEquipShield(fpcNm_ITEM_NONE);
|
||||
|
||||
for (int i = 0; i < 24; i++) {
|
||||
dComIfGs_setItem(i, fpcNm_ITEM_NONE);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 0x100; i++) {
|
||||
dComIfGs_offItemFirstBit(i);
|
||||
}
|
||||
|
||||
dComIfGs_setArrowNum(0);
|
||||
dComIfGs_setBombNum(0);
|
||||
dComIfGs_setArrowMax(0);
|
||||
dComIfGs_setBombMax(0);
|
||||
dComIfGs_setSelectEquipShield(fpcNm_ITEM_SHIELD);
|
||||
dComIfGp_setSelectEquipShield(fpcNm_ITEM_SHIELD);
|
||||
}
|
||||
#endif
|
||||
|
||||
u32 dComIfG_getTrigA(u32 i_padNo) {
|
||||
return mDoCPd_c::getTrigA(i_padNo);
|
||||
}
|
||||
@@ -2045,12 +2206,12 @@ static void dComIfGs_setWarpItemData(int, char const* i_stage, cXyz i_pos, s16 i
|
||||
|
||||
void dComIfG_play_c::setWarpItemData(char const* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo,
|
||||
u8 param_4, u8 param_5) {
|
||||
strcpy(mWarpItemStage, i_stage);
|
||||
mWarpItemPos.set(i_pos);
|
||||
mWarpItemAngle = i_angle;
|
||||
mWarpItemRoom = i_roomNo;
|
||||
field_0x4fac = param_5;
|
||||
field_0x4fab = param_4;
|
||||
strcpy(mItemInfo.mWarpItemData.mWarpItemStage, i_stage);
|
||||
mItemInfo.mWarpItemData.mWarpItemPos.set(i_pos);
|
||||
mItemInfo.mWarpItemData.mWarpItemAngle = i_angle;
|
||||
mItemInfo.mWarpItemData.mWarpItemRoom = i_roomNo;
|
||||
mItemInfo.mWarpItemData.field_0x4fac = param_5;
|
||||
mItemInfo.mWarpItemData.field_0x4fab = param_4;
|
||||
}
|
||||
|
||||
void dComIfGs_setWarpItemData(char const* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo, u8 param_4,
|
||||
|
||||
+5
-17
@@ -83,18 +83,6 @@ public:
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
};
|
||||
|
||||
class dDlst_2DQuad_c {
|
||||
public:
|
||||
dDlst_2DQuad_c() {}
|
||||
/* 80051CF0 */ virtual void draw();
|
||||
|
||||
/* 0x04 */ s16 field_0x4;
|
||||
/* 0x06 */ s16 field_0x6;
|
||||
/* 0x08 */ s16 field_0x8;
|
||||
/* 0x0A */ s16 field_0xa;
|
||||
/* 0x0C */ GXColor field_0xc;
|
||||
};
|
||||
|
||||
class dDlst_2DPoint_c {
|
||||
public:
|
||||
/* 80051E5C */ virtual void draw();
|
||||
@@ -242,7 +230,7 @@ void dDlst_2DQuad_c::draw() {
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_NONE, GX_AF_NONE);
|
||||
GXSetChanMatColor(GX_COLOR0A0, field_0xc);
|
||||
GXSetChanMatColor(GX_COLOR0A0, mColor);
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
@@ -251,10 +239,10 @@ void dDlst_2DQuad_c::draw() {
|
||||
GXLoadPosMtxImm(mDoMtx_getIdentity(), GX_PNMTX0);
|
||||
GXSetCurrentMtx(GX_PNMTX0);
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
GXPosition3s16((s32)field_0x4, (s32)field_0x6, 0);
|
||||
GXPosition3s16((s32)field_0x8, (s32)field_0x6, 0);
|
||||
GXPosition3s16((s32)field_0x8, (s32)field_0xa, 0);
|
||||
GXPosition3s16((s32)field_0x4, (s32)field_0xa, 0);
|
||||
GXPosition3s16((s32)mPosX, (s32)mPosY, 0);
|
||||
GXPosition3s16((s32)mSizeX, (s32)mPosY, 0);
|
||||
GXPosition3s16((s32)mSizeX, (s32)mSizeY, 0);
|
||||
GXPosition3s16((s32)mPosX, (s32)mSizeY, 0);
|
||||
GXEnd();
|
||||
dComIfGp_getCurrentGrafPort()->setup2D();
|
||||
}
|
||||
|
||||
@@ -1209,6 +1209,18 @@ void dMenu_Fmap_c::spot_map_proc() {
|
||||
{
|
||||
mpDraw2DBack->stageMapMove(mpStick, 1, true);
|
||||
} else if (dMw_Z_TRIGGER() && mpDraw2DTop->isWarpAccept()) {
|
||||
#if VERSION >= VERSION_GCN_JPN
|
||||
//! JPN version added a check to make sure if Arbiter's Grounds is cleared that
|
||||
//! the Mirror Chamber Statue has been spun before allowing portal warping from the map screen.
|
||||
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[265]) && !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361])) {
|
||||
mpDraw2DTop->createExplain(mpTalkHeap, mpStick);
|
||||
mpDraw2DTop->getScrnExplainPtr()->openExplain(0x8B4, 0, 0, 0xff, true);
|
||||
|
||||
mPrevProcessAlt = mProcess;
|
||||
setProcess(PROC_PORTAL_WARP_FORBID);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SYS_ERROR, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else
|
||||
#endif
|
||||
if (mpDraw2DTop->checkPlayerWarpAccept()) {
|
||||
mIsWarpMap = true;
|
||||
setProcess(PROC_ZOOM_SPOT_TO_REGION);
|
||||
|
||||
+1
-1
@@ -1023,7 +1023,7 @@ void dMeter2_c::moveRupee() {
|
||||
draw_rupee = false;
|
||||
|
||||
// using dComIfGp_getItemRupeeCount() here swaps r3/r4 reg alloc?
|
||||
if (g_dComIfG_gameInfo.play.mItemRupeeCount != 0) {
|
||||
if (g_dComIfG_gameInfo.play.mItemInfo.mItemRupeeCount != 0) {
|
||||
var_r6 = dComIfGs_getRupee() + dComIfGp_getItemRupeeCount();
|
||||
if (var_r6 > temp_r5) {
|
||||
var_r6 = temp_r5;
|
||||
|
||||
+43
-12
@@ -15,6 +15,14 @@
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "m_Do/m_Do_machine.h"
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
#define LOGO_ARC "Logo"
|
||||
#define MSG_PATH "/res/Msgjp/bmgres.arc"
|
||||
#else
|
||||
#define LOGO_ARC "LogoUs"
|
||||
#define MSG_PATH "/res/Msgus/bmgres.arc"
|
||||
#endif
|
||||
|
||||
/* 803C2E38-803C2E44 01FF58 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
@@ -420,7 +428,7 @@ dScnLogo_c::~dScnLogo_c() {
|
||||
delete mProgressiveSel;
|
||||
|
||||
preLoad_dyl_remove();
|
||||
dComIfG_deleteObjectResMain("LogoUs");
|
||||
dComIfG_deleteObjectResMain(LOGO_ARC);
|
||||
|
||||
field_0x1d4->destroy();
|
||||
field_0x1d0->destroy();
|
||||
@@ -477,6 +485,13 @@ dScnLogo_c::~dScnLogo_c() {
|
||||
mDoExt_getRubyFont();
|
||||
mDoExt_setAraCacheSize(free_size - aram_heap->getTotalFreeSize());
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
if (dComIfGp_getFontArchive() != NULL) {
|
||||
dComIfGp_getFontArchive()->unmount();
|
||||
dComIfGp_setFontArchive(NULL);
|
||||
}
|
||||
#endif
|
||||
|
||||
dComIfGp_setItemTable(mItemTableCommand->getMemAddress());
|
||||
mItemTableCommand->destroy();
|
||||
|
||||
@@ -510,7 +525,7 @@ static int phase_1(dScnLogo_c* i_this) {
|
||||
return cPhs_INIT_e;
|
||||
}
|
||||
|
||||
dComIfG_setObjectRes("LogoUs", (u8)0, i_this->field_0x1d0);
|
||||
dComIfG_setObjectRes(LOGO_ARC, (u8)0, i_this->field_0x1d0);
|
||||
mDoRst::setLogoScnFlag(1);
|
||||
archiveHeap->dump_sort();
|
||||
return cPhs_NEXT_e;
|
||||
@@ -578,32 +593,36 @@ int dScnLogo_c::create() {
|
||||
|
||||
/* 80257C64-80257FEC 2525A4 0388+00 1/1 0/0 0/0 .text logoInitGC__10dScnLogo_cFv */
|
||||
void dScnLogo_c::logoInitGC() {
|
||||
ResTIMG* nintendoImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 4);
|
||||
ResTIMG* nintendoImg = (ResTIMG*)dComIfG_getObjectRes(LOGO_ARC, 4);
|
||||
mNintendoLogo = new dDlst_2D_c(nintendoImg, 117, 154, 376, 104, 255);
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mNintendoLogo->getPicture()->setWhite(JUtility::TColor(0, 70, 255, 255));
|
||||
#else
|
||||
mNintendoLogo->getPicture()->setWhite(JUtility::TColor(220, 0, 0, 255));
|
||||
#endif
|
||||
|
||||
ResTIMG* dolbyImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 3);
|
||||
ResTIMG* dolbyImg = (ResTIMG*)dComIfG_getObjectRes(LOGO_ARC, 3);
|
||||
mDolbyLogo = new dDlst_2D_c(dolbyImg, 189, 150, 232, 112, 255);
|
||||
|
||||
ResTIMG* warningImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 10);
|
||||
ResTIMG* warningImg = (ResTIMG*)dComIfG_getObjectRes(LOGO_ARC, 10);
|
||||
mWarning = new dDlst_2D_c(warningImg, 0, 0, 608, 448, 255);
|
||||
|
||||
ResTIMG* warnStartImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 11);
|
||||
ResTIMG* warnStartImg = (ResTIMG*)dComIfG_getObjectRes(LOGO_ARC, 11);
|
||||
mWarningStart = new dDlst_2D_c(warnStartImg, 0, 359, 608, 48, 255);
|
||||
|
||||
ResTIMG* progChoiceImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 5);
|
||||
ResTIMG* progChoiceImg = (ResTIMG*)dComIfG_getObjectRes(LOGO_ARC, 5);
|
||||
mProgressiveChoice = new dDlst_2D_c(progChoiceImg, 113, 281, 416, 72, 255);
|
||||
|
||||
ResTIMG* progYesImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 9);
|
||||
ResTIMG* progYesImg = (ResTIMG*)dComIfG_getObjectRes(LOGO_ARC, 9);
|
||||
mProgressiveYes = new dDlst_2D_c(progYesImg, 211, 372, 80, 32, 255);
|
||||
mProgressiveYes->getPicture()->setWhite(JUtility::TColor(160, 160, 160, 255));
|
||||
|
||||
ResTIMG* progNoImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 7);
|
||||
ResTIMG* progNoImg = (ResTIMG*)dComIfG_getObjectRes(LOGO_ARC, 7);
|
||||
mProgressiveNo = new dDlst_2D_c(progNoImg, 350, 372, 80, 32, 255);
|
||||
mProgressiveNo->getPicture()->setWhite(JUtility::TColor(160, 160, 160, 255));
|
||||
|
||||
mProgressivePro = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 8);
|
||||
mProgressiveInter = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 6);
|
||||
mProgressivePro = (ResTIMG*)dComIfG_getObjectRes(LOGO_ARC, 8);
|
||||
mProgressiveInter = (ResTIMG*)dComIfG_getObjectRes(LOGO_ARC, 6);
|
||||
mProgressiveSel = new dDlst_2D_c(mProgressivePro, 153, 309, 336, 88, 255);
|
||||
}
|
||||
|
||||
@@ -637,7 +656,7 @@ void dScnLogo_c::dvdDataLoad() {
|
||||
mpCardIconCommand = mDoDvdThd_mountXArchive_c::create(
|
||||
"/res/CardIcon/cardicon.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
|
||||
mpBmgResCommand =
|
||||
mDoDvdThd_mountXArchive_c::create("/res/Msgus/bmgres.arc", 0, JKRArchive::MOUNT_MEM, NULL);
|
||||
mDoDvdThd_mountXArchive_c::create(MSG_PATH, 0, JKRArchive::MOUNT_MEM, NULL);
|
||||
mpMsgComCommand = mDoDvdThd_mountXArchive_c::create(
|
||||
"/res/Layout/msgcom.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
|
||||
mpMsgResCommand[0] = mDoDvdThd_mountXArchive_c::create(
|
||||
@@ -648,18 +667,30 @@ void dScnLogo_c::dvdDataLoad() {
|
||||
"/res/Layout/msgres02.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
|
||||
mpMsgResCommand[3] = mDoDvdThd_mountXArchive_c::create(
|
||||
"/res/Layout/msgres03.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpMsgResCommand[4] = mDoDvdThd_mountXArchive_c::create(
|
||||
"/res/Layout/msgres04.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
|
||||
#else
|
||||
mpMsgResCommand[4] = mDoDvdThd_mountXArchive_c::create(
|
||||
"/res/Layout/msgres04F.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
|
||||
#endif
|
||||
mpMsgResCommand[5] = mDoDvdThd_mountXArchive_c::create(
|
||||
"/res/Layout/msgres05.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
|
||||
mpMsgResCommand[6] = mDoDvdThd_mountXArchive_c::create(
|
||||
"/res/Layout/msgres06.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
|
||||
mpMain2DCommand =
|
||||
mDoDvdThd_mountXArchive_c::create("/res/Layout/main2D.arc", 0, JKRArchive::MOUNT_MEM, NULL);
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
mpFontResCommand = mDoDvdThd_mountXArchive_c::create("/res/Fontjp/fontres.arc", 1,
|
||||
JKRArchive::MOUNT_MEM, NULL);
|
||||
mpRubyResCommand = mDoDvdThd_mountXArchive_c::create("/res/Fontjp/rubyres.arc", 0,
|
||||
JKRArchive::MOUNT_MEM, NULL);
|
||||
#else
|
||||
mpFontResCommand = mDoDvdThd_mountXArchive_c::create("/res/Fontus/fontres.arc", 0,
|
||||
JKRArchive::MOUNT_MEM, NULL);
|
||||
mpRubyResCommand = mDoDvdThd_mountXArchive_c::create("/res/Fontus/rubyres.arc", 0,
|
||||
JKRArchive::MOUNT_MEM, NULL);
|
||||
#endif
|
||||
mParticleCommand = mDoDvdThd_toMainRam_c::create("/res/Particle/common.jpc", 0,
|
||||
dComIfGp_particle_getResHeap());
|
||||
mItemTableCommand = mDoDvdThd_toMainRam_c::create("/res/ItemTable/item_table.bin", 0, NULL);
|
||||
|
||||
+1970
-2
File diff suppressed because it is too large
Load Diff
@@ -574,6 +574,10 @@ dScnPly_reg_HIO_c g_regHIO;
|
||||
/* 8043079C-804307E0 05D4BC 0044+00 1/2 3/3 0/0 .bss g_envHIO */
|
||||
dScnPly_env_HIO_c g_envHIO;
|
||||
|
||||
#ifdef DEBUG
|
||||
dScnPly_preset_HIO_c g_presetHIO;
|
||||
#endif
|
||||
|
||||
/* 8025A654-8025A9F4 254F94 03A0+00 1/0 0/0 0/0 .text phase_4__FP9dScnPly_c */
|
||||
static int phase_4(dScnPly_c* i_this) {
|
||||
if (i_this->sceneCommand) {
|
||||
|
||||
+639
-147
File diff suppressed because it is too large
Load Diff
@@ -251,6 +251,15 @@ fpc_ProcID fopMsgM_Create(s16 i_procName, FastCreateReqFunc i_createFunc, void*
|
||||
return fpcM_Create(i_procName, i_createFunc, i_append);
|
||||
}
|
||||
|
||||
u8 fopMsgM_itemNumIdx(u8 i_no) {
|
||||
static const u8 itemicon[] = {
|
||||
0x40, 0x48, 0x41, 0x45, 0x43, 0x3e, 0x42, 0xff, 0x46, 0x44, 0x47, 0x60,
|
||||
0x61, 0x62, 0x6a, 0x70, 0x71, 0x72, 0x25, 0x90, 0x4a, 0xff, 0xff, 0x4b,
|
||||
};
|
||||
|
||||
return itemicon[i_no] & 0xFF;
|
||||
}
|
||||
|
||||
/* 80020158-80020160 -00001 0008+00 0/0 0/0 0/0 .text setAlpha__7J2DPaneFUc */
|
||||
void J2DPane::setAlpha(u8 alpha) {
|
||||
mAlpha = alpha;
|
||||
|
||||
@@ -11,6 +11,14 @@
|
||||
#include "dolphin/card.h"
|
||||
#include "m_Do/m_Do_MemCard.h"
|
||||
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
#define HEADER_TITLE "ゼルダの伝説 トワイライトプリンセス"
|
||||
#define HEADER_COMMENT "%d月%d日のセーブデータです"
|
||||
#else
|
||||
#define HEADER_TITLE "Zelda: Twilight Princess"
|
||||
#define HEADER_COMMENT "%d/%d Save Data"
|
||||
#endif
|
||||
|
||||
/* 803ECF40-803F0F40 019C60 4000+00 2/2 0/0 0/0 .bss sTmpBuf */
|
||||
static u8 sTmpBuf[0x4000];
|
||||
|
||||
@@ -157,12 +165,32 @@ s32 mDoMemCdRWm_Restore(CARDFileInfo* file, void* data, u32 length) {
|
||||
/* 8001787C-800179E4 0121BC 0168+00 1/1 0/0 0/0 .text
|
||||
* mDoMemCdRWm_BuildHeader__FP22mDoMemCdRWm_HeaderData */
|
||||
static void mDoMemCdRWm_BuildHeader(mDoMemCdRWm_HeaderData* header) {
|
||||
snprintf(header->mTitle, sizeof(header->mTitle), "Zelda: Twilight Princess");
|
||||
snprintf(header->mTitle, sizeof(header->mTitle), HEADER_TITLE);
|
||||
|
||||
OSCalendarTime time;
|
||||
OSTicksToCalendarTime(OSGetTime(), &time);
|
||||
snprintf(header->mComment, sizeof(header->mComment), "%d/%d Save Data", time.mon + 1,
|
||||
time.mday);
|
||||
|
||||
#if VERSION == VERSION_GCN_PAL
|
||||
switch (dComIfGs_getPalLanguage()) {
|
||||
case dSv_player_config_c::LANGAUGE_ENGLISH:
|
||||
snprintf(header->mComment, sizeof(header->mComment), "%d/%d Save Data", time.mon + 1, time.mday);
|
||||
break;
|
||||
case dSv_player_config_c::LANGAUGE_GERMAN:
|
||||
snprintf(header->mComment, sizeof(header->mComment), "%d/%d Spielstand", time.mday, time.mon + 1);
|
||||
break;
|
||||
case dSv_player_config_c::LANGAUGE_FRENCH:
|
||||
snprintf(header->mComment, sizeof(header->mComment), "Donn%ces de jeu %d/%d", 0xE9, time.mday, time.mon + 1);
|
||||
break;
|
||||
case dSv_player_config_c::LANGAUGE_SPANISH:
|
||||
snprintf(header->mComment, sizeof(header->mComment), "Datos guardados el %d/%d", time.mday, time.mon + 1);
|
||||
break;
|
||||
case dSv_player_config_c::LANGAUGE_ITALIAN:
|
||||
snprintf(header->mComment, sizeof(header->mComment), "Dati salvati: %d/%d", time.mday, time.mon + 1);
|
||||
break;
|
||||
}
|
||||
#else
|
||||
snprintf(header->mComment, sizeof(header->mComment), HEADER_COMMENT, time.mon + 1, time.mday);
|
||||
#endif
|
||||
|
||||
ResTIMG* banner_data =
|
||||
(ResTIMG*)g_dComIfG_gameInfo.play.mCardIconResArchive->getResource("zelda2_gc_banner.bti");
|
||||
|
||||
@@ -617,6 +617,14 @@ JKRExpHeap* mDoExt_getZeldaHeap() {
|
||||
return zeldaHeap;
|
||||
}
|
||||
|
||||
#if VERSION == VERSION_SHIELD_DEBUG
|
||||
s32 safeZeldaHeapSize = -1;
|
||||
|
||||
s32 mDoExt_getSafeZeldaHeapSize() {
|
||||
return safeZeldaHeapSize;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80450C30-80450C34 000130 0004+00 2/1 1/1 0/0 .sbss commandHeap */
|
||||
JKRExpHeap* commandHeap;
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "SSystem/SComponent/c_m3d.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "global.h"
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803DD470-803DD4A0 00A190 0030+00 12/12 142/142 1820/1820 .bss now__14mDoMtx_stack_c
|
||||
@@ -38,9 +39,11 @@ extern Mtx g_mDoMtx_identity = {
|
||||
{0.0f, 0.0f, 1.0f, 0.0f},
|
||||
};
|
||||
|
||||
#if VERSION != VERSION_GCN_JPN
|
||||
static void dummy() {
|
||||
OSReport("mDoMtx_Dump %s\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 8000C0CC-8000C164 006A0C 0098+00 1/1 0/0 0/0 .text mDoMtx_XYZrotS__FPA4_fsss */
|
||||
void mDoMtx_XYZrotS(Mtx mtx, s16 x, s16 y, s16 z) {
|
||||
|
||||
Reference in New Issue
Block a user