mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-18 04:48:21 -04:00
d_meter_string done (#2023)
* d_meter_string done * remove asm * some other d_meter fixes
This commit is contained in:
+50
-37
@@ -1,7 +1,7 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/meter/d_meter2
|
||||
//
|
||||
/**
|
||||
* d_meter2.cpp
|
||||
* Main UI handler
|
||||
*/
|
||||
|
||||
#include "d/meter/d_meter2.h"
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
@@ -15,8 +15,9 @@
|
||||
#include "d/meter/d_meter_HIO.h"
|
||||
#include "d/meter/d_meter_button.h"
|
||||
#include "d/meter/d_meter_haihai.h"
|
||||
#include "d/meter/d_meter_map.h"
|
||||
#include "d/meter/d_meter_hakusha.h"
|
||||
#include "d/meter/d_meter_map.h"
|
||||
#include "d/meter/d_meter_string.h"
|
||||
#include "dol2asm.h"
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
#include "rel/d/a/d_a_horse/d_a_horse.h"
|
||||
@@ -2025,9 +2026,6 @@ void dMeter2_c::moveButtonS() {
|
||||
}
|
||||
|
||||
/* 80222518-80222E88 21CE58 0970+00 1/1 0/0 0/0 .text moveButtonXY__9dMeter2_cFv */
|
||||
// dMeter2Info_isDirectUseItem is the issue. If you set the return value to int all through the
|
||||
// stack, it matches but then dMeter2Info_isDirectUseItem itself doesn't match.
|
||||
#ifdef NONMATCHING
|
||||
void dMeter2_c::moveButtonXY() {
|
||||
bool sp8[2];
|
||||
bool spC[2];
|
||||
@@ -2319,16 +2317,6 @@ void dMeter2_c::moveButtonXY() {
|
||||
alphaAnimeButton();
|
||||
dMeter2Info_resetDirectUseItem();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2_c::moveButtonXY() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2/moveButtonXY__9dMeter2_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80222E88-802230F8 21D7C8 0270+00 1/1 0/0 0/0 .text moveButtonCross__9dMeter2_cFv */
|
||||
void dMeter2_c::moveButtonCross() {
|
||||
@@ -3079,6 +3067,27 @@ SECTION_DEAD static char const* const pad_8039934F = "";
|
||||
#pragma pop
|
||||
|
||||
/* 80224DC0-80224F70 21F700 01B0+00 1/1 0/0 0/0 .text alphaAnimeRupee__9dMeter2_cFv */
|
||||
// gameinfo loads have issues
|
||||
#ifdef NONMATCHING
|
||||
void dMeter2_c::alphaAnimeRupee() {
|
||||
if ((mStatus & 0x4000) || ((mStatus & 0x40) && dComIfGp_event_checkHind(0x80)) ||
|
||||
daPy_getPlayerActorClass()->i_getSumouMode() ||
|
||||
(daPy_getPlayerActorClass()->checkCanoeSlider() && dComIfG_getTimerMode() == 4) ||
|
||||
((strcmp(dComIfGp_getStartStageName(), "R_SP127") != 0 || dComIfGp_event_checkHind(0x80)) &&
|
||||
(((mStatus & 0x40000000) && !(mStatus & 0x100)) || (mStatus & 0x1000) ||
|
||||
(mStatus & 0x100000))) ||
|
||||
(mStatus & 0x80000000) || (mStatus & 8) || (mStatus & 0x10) || (mStatus & 0x01000000) ||
|
||||
((mStatus & 0x20) != 0) || (mStatus & 0x04000000) || (mStatus & 0x08000000) ||
|
||||
(mStatus & 0x10000000) || dMeter2Info_isSub2DStatus(1))
|
||||
{
|
||||
mpMeterDraw->setAlphaRupeeAnimeMin();
|
||||
} else {
|
||||
mpMeterDraw->setAlphaRupeeAnimeMax();
|
||||
}
|
||||
|
||||
mpMeterDraw->setAlphaRupeeChange(false);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -3087,26 +3096,29 @@ asm void dMeter2_c::alphaAnimeRupee() {
|
||||
#include "asm/d/meter/d_meter2/alphaAnimeRupee__9dMeter2_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* void dMeter2_c::alphaAnimeRupee() {
|
||||
if ((mStatus & 0x4000) || ((mStatus & 0x40) && dComIfGp_event_checkHind(0x80)) ||
|
||||
((daPy_getPlayerActorClass()->i_getSumouMode() != 0) ||
|
||||
(daPy_getPlayerActorClass()->checkCanoeSlider() && dComIfG_getTimerMode() == 4) ||
|
||||
(!strcmp(dComIfGp_getStartStageName(), "R_SP127") && dComIfGp_event_checkHind(0x80)) ||
|
||||
((mStatus & 0x40000000) && ((mStatus & 0x100) || (mStatus & 0x1000))) ||
|
||||
(mStatus & 0x100000) || (mStatus & 0x100000) || (mStatus & 0x80000000) || (mStatus & 8) ||
|
||||
(mStatus & 0x10) || (mStatus & 0x01000000) || (mStatus & 0x20) || (mStatus & 0x04000000) ||
|
||||
(mStatus & 0x08000000) || (mStatus & 0x10000000)) || dMeter2Info_isSub2DStatus(1))
|
||||
{
|
||||
mpMeterDraw->setAlphaRupeeAnimeMin();
|
||||
} else {
|
||||
mpMeterDraw->setAlphaRupeeAnimeMax();
|
||||
}
|
||||
|
||||
mpMeterDraw->setAlphaRupeeChange(false);
|
||||
} */
|
||||
#endif
|
||||
|
||||
/* 80224F70-802250F4 21F8B0 0184+00 1/1 0/0 0/0 .text alphaAnimeKey__9dMeter2_cFv */
|
||||
// masking issues
|
||||
#ifdef NONMATCHING
|
||||
void dMeter2_c::alphaAnimeKey() {
|
||||
if ((mStatus & 0x4000) || ((mStatus & 0x40) && dComIfGp_event_checkHind(0x40)) ||
|
||||
!isKeyVisible() || (mStatus & 0x40000000) || (mStatus & 0x1000) || (mStatus & 0x100000) ||
|
||||
(mStatus & 0x80000000) || daPy_getPlayerActorClass()->i_getSumouMode() ||
|
||||
(daPy_getPlayerActorClass()->checkCanoeSlider() &&
|
||||
(dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4)) ||
|
||||
(mStatus & 0x100) || (mStatus & 8) || (mStatus & 0x10) ||
|
||||
(mStatus & 0x1000000) | (mStatus & 0x20) || (mStatus & 0x4000000) ||
|
||||
(mStatus & 0x8000000) || (mStatus & 0x10000000) || dMeter2Info_isSub2DStatus(1))
|
||||
{
|
||||
mpMeterDraw->setAlphaKeyAnimeMin();
|
||||
} else {
|
||||
mpMeterDraw->setAlphaKeyAnimeMax();
|
||||
}
|
||||
|
||||
mpMeterDraw->setAlphaKeyChange(false);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -3115,6 +3127,7 @@ asm void dMeter2_c::alphaAnimeKey() {
|
||||
#include "asm/d/meter/d_meter2/alphaAnimeKey__9dMeter2_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802250F4-802254C0 21FA34 03CC+00 1/1 0/0 0/0 .text alphaAnimeButton__9dMeter2_cFv */
|
||||
void dMeter2_c::alphaAnimeButton() {
|
||||
@@ -3287,7 +3300,7 @@ void dMeter2_c::killSubContents(u8 param_0) {
|
||||
}
|
||||
|
||||
/* 80225960-802259F8 2202A0 0098+00 1/1 0/0 0/0 .text isKeyVisible__9dMeter2_cFv */
|
||||
BOOL dMeter2_c::isKeyVisible() {
|
||||
u8 dMeter2_c::isKeyVisible() {
|
||||
if (dStage_stagInfo_ChkKeyDisp(i_dComIfGp_getStage()->getStagInfo())) {
|
||||
if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == ST_FIELD) {
|
||||
return dComIfGs_getKeyNum() != 0;
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
#include "d/meter/d_meter2_info.h"
|
||||
#include "JSystem/J2DGraph/J2DTextBox.h"
|
||||
#include "d/a/d_a_npc.h"
|
||||
#include "d/d_item_data.h"
|
||||
#include "d/meter/d_meter2.h"
|
||||
#include "d/meter/d_meter_map.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/os/OSCache.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "d/a/d_a_npc.h"
|
||||
#include "d/d_item_data.h"
|
||||
#include "global.h"
|
||||
|
||||
//
|
||||
@@ -353,11 +353,9 @@ void dMeter2Info_c::resetFloatingMessage() {
|
||||
|
||||
/* 8021C238-8021C250 216B78 0018+00 0/0 2/2 0/0 .text decMsgKeyWaitTimer__13dMeter2Info_cFv */
|
||||
void dMeter2Info_c::decMsgKeyWaitTimer() {
|
||||
if (mMsgKeyWaitTimer <= 0) {
|
||||
return;
|
||||
if (mMsgKeyWaitTimer > 0) {
|
||||
mMsgKeyWaitTimer--;
|
||||
}
|
||||
|
||||
mMsgKeyWaitTimer--;
|
||||
}
|
||||
|
||||
/* 8021C250-8021C370 216B90 0120+00 0/0 16/16 0/0 .text
|
||||
@@ -388,7 +386,7 @@ void dMeter2Info_c::getString(u32 stringID, char* outStr, JMSMesgEntry_c* p_msgE
|
||||
if (stringID == *(u16*)(entry + 0x14)) {
|
||||
strcpy(outStr, (char*)(strPtr + *(u32*)(entry + 0x10)));
|
||||
if (p_msgEntry == NULL) {
|
||||
return;
|
||||
return;
|
||||
}
|
||||
memcpy(p_msgEntry, entry + 0x10, 0x14);
|
||||
return;
|
||||
@@ -455,7 +453,8 @@ f32 dMeter2Info_c::getStringLength(J2DTextBox* p_textBox, char* str) {
|
||||
}
|
||||
strWidth = 0.0f;
|
||||
} else {
|
||||
strWidth += charSpace + (fontSize.mSizeX * ((f32)font->getWidth(*str) / (f32)font->getCellWidth()));
|
||||
strWidth += charSpace +
|
||||
(fontSize.mSizeX * ((f32)font->getWidth(*str) / (f32)font->getCellWidth()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -491,8 +490,7 @@ asm JUTFont* J2DTextBox::getFont() const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm f32 dMeter2Info_c::getStringLength(JUTFont* param_0, f32 param_1, f32 param_2,
|
||||
char* param_3) {
|
||||
asm f32 dMeter2Info_c::getStringLength(JUTFont* param_0, f32 param_1, f32 param_2, char* param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_info/getStringLength__13dMeter2Info_cFP7JUTFontffPc.s"
|
||||
}
|
||||
@@ -506,8 +504,8 @@ void dMeter2Info_c::onDirectUseItem(int param_0) {
|
||||
|
||||
/* 8021C950-8021C970 217290 0020+00 0/0 4/4 0/0 .text isDirectUseItem__13dMeter2Info_cFi
|
||||
*/
|
||||
bool dMeter2Info_c::isDirectUseItem(int param_0) {
|
||||
return (mDirectUseItem & (u8)(1 << param_0)) != 0;
|
||||
BOOL dMeter2Info_c::isDirectUseItem(int param_0) {
|
||||
return (mDirectUseItem & (u8)(1 << param_0)) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 80430188-80430280 05CEA8 00F8+00 4/4 267/267 70/70 .bss g_meter2_info */
|
||||
@@ -515,19 +513,21 @@ dMeter2Info_c g_meter2_info;
|
||||
|
||||
/* 8021C970-8021C9DC 2172B0 006C+00 0/0 0/0 5/5 .text setMeterString__13dMeter2Info_cFl
|
||||
*/
|
||||
int dMeter2Info_c::setMeterString(s32 meterStr) {
|
||||
int dMeter2Info_c::setMeterString(s32 i_string) {
|
||||
if (mMeterString != 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (meterStr == 0) {
|
||||
if (i_string == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (dMeter2Info_getMeterClass() != NULL &&
|
||||
(dMeter2Info_getMeterClass()->getSubContents() == 0 ||
|
||||
(dMeter2Info_getMeterClass()->getSubContents() == 5 && dMeter2Info_getMeterClass()->getSubContentsStringType() == 0))) {
|
||||
mMeterString = meterStr;
|
||||
if (dMeter2Info_getMeterClass() != NULL &&
|
||||
(dMeter2Info_getMeterClass()->getSubContents() == 0 ||
|
||||
(dMeter2Info_getMeterClass()->getSubContents() == 5 &&
|
||||
dMeter2Info_getMeterClass()->getSubContentsStringType() == 0)))
|
||||
{
|
||||
mMeterString = i_string;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -586,7 +586,6 @@ void dMeter2Info_c::warpOutProc() {
|
||||
dComIfGs_setItem(SLOT_18, DUNGEON_BACK);
|
||||
}
|
||||
|
||||
|
||||
/* 8021CC00-8021CC0C 217540 000C+00 0/0 1/1 1/1 .text resetMeterString__13dMeter2Info_cFv
|
||||
*/
|
||||
void dMeter2Info_c::resetMeterString() {
|
||||
@@ -662,7 +661,7 @@ u8 dMeter2Info_c::getItemType(u8 itemNo) {
|
||||
case 0x7A:
|
||||
return 0x16;
|
||||
case 0x7B:
|
||||
case 0x7E:
|
||||
case 0x7E:
|
||||
return 0x17;
|
||||
case 0x7C:
|
||||
return 0x18;
|
||||
@@ -678,9 +677,9 @@ u8 dMeter2Info_c::getItemType(u8 itemNo) {
|
||||
case 0x9E:
|
||||
return 0x1D;
|
||||
case 0x70:
|
||||
case 0x71:
|
||||
case 0x72:
|
||||
case 0x74:
|
||||
case 0x71:
|
||||
case 0x72:
|
||||
case 0x74:
|
||||
return 0x1E;
|
||||
case 0x73:
|
||||
case 0x75:
|
||||
@@ -690,7 +689,7 @@ u8 dMeter2Info_c::getItemType(u8 itemNo) {
|
||||
case 0x5A:
|
||||
return 34;
|
||||
default:
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
#else
|
||||
@@ -709,27 +708,34 @@ asm u8 dMeter2Info_c::getItemType(u8 param_0) {
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
int dMeter2Info_c::readItemTexture(u8 itemNo, void* param_1, J2DPicture* param_2, void* param_3,
|
||||
J2DPicture* param_4, void* param_5, J2DPicture* param_6,
|
||||
void* param_7, J2DPicture* param_8, int param_9) {
|
||||
J2DPicture* param_4, void* param_5, J2DPicture* param_6,
|
||||
void* param_7, J2DPicture* param_8, int param_9) {
|
||||
u8 itemType = getItemType(itemNo);
|
||||
int ret = 0;
|
||||
|
||||
if (param_1 != NULL) {
|
||||
if ((itemNo == KANTERA && dComIfGs_getOil() == 0) || itemNo == KANTERA2) {
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_1, 0xC00, 0x23);
|
||||
} else if (itemNo == COPY_ROD && !daPy_getPlayerActorClass()->checkCopyRodTopUse() && param_9 == -1) {
|
||||
} else if (itemNo == COPY_ROD && !daPy_getPlayerActorClass()->checkCopyRodTopUse() &&
|
||||
param_9 == -1)
|
||||
{
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_1, 0xC00, 0x57);
|
||||
} else if ((itemType == 0x1B || itemType == 0x1C || itemType == 0x1D || itemType == 0x1E) && param_5 == NULL) {
|
||||
} else if ((itemType == 0x1B || itemType == 0x1C || itemType == 0x1D || itemType == 0x1E) &&
|
||||
param_5 == NULL)
|
||||
{
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_1, 0xC00, get2ndTexture(itemType));
|
||||
} else if (param_9 >= 0) {
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_1, 0xC00, param_9);
|
||||
} else {
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_1, 0xC00, dItem_data::getTexture(itemNo));
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_1, 0xC00,
|
||||
dItem_data::getTexture(itemNo));
|
||||
}
|
||||
|
||||
DCStoreRangeNoSync(param_1, 0xC00);
|
||||
if (param_2 != NULL) {
|
||||
if ((itemType == 0x1B || itemType == 0x1C || itemType == 0x1D || itemType == 0x1E) && param_5 == NULL) {
|
||||
if ((itemType == 0x1B || itemType == 0x1C || itemType == 0x1D || itemType == 0x1E) &&
|
||||
param_5 == NULL)
|
||||
{
|
||||
set2ndColor(itemType, param_2);
|
||||
} else {
|
||||
set1stColor(itemType, param_2);
|
||||
@@ -739,8 +745,11 @@ int dMeter2Info_c::readItemTexture(u8 itemNo, void* param_1, J2DPicture* param_2
|
||||
|
||||
ret = 1;
|
||||
if (param_3 != NULL && get2ndTexture(itemType) > 0) {
|
||||
if ((itemType == 0x1B || itemType == 0x1C || itemType == 0x1D || itemType == 0x1E) && param_5 == NULL) {
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_3, 0xC00, get3rdTexture(itemType));
|
||||
if ((itemType == 0x1B || itemType == 0x1C || itemType == 0x1D || itemType == 0x1E) &&
|
||||
param_5 == NULL)
|
||||
{
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_3, 0xC00,
|
||||
get3rdTexture(itemType));
|
||||
DCStoreRangeNoSync(param_3, 0xC00);
|
||||
if (param_4 != NULL) {
|
||||
set3rdColor(itemType, param_4);
|
||||
@@ -748,7 +757,8 @@ int dMeter2Info_c::readItemTexture(u8 itemNo, void* param_1, J2DPicture* param_2
|
||||
}
|
||||
ret = 2;
|
||||
} else {
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_3, 0xC00, get2ndTexture(itemType));
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_3, 0xC00,
|
||||
get2ndTexture(itemType));
|
||||
DCStoreRangeNoSync(param_3, 0xC00);
|
||||
if (param_4 != NULL) {
|
||||
set2ndColor(itemType, param_4);
|
||||
@@ -757,7 +767,8 @@ int dMeter2Info_c::readItemTexture(u8 itemNo, void* param_1, J2DPicture* param_2
|
||||
ret = 2;
|
||||
|
||||
if (param_5 != NULL && get3rdTexture(itemType) > 0) {
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_5, 0xC00, get3rdTexture(itemType));
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_5, 0xC00,
|
||||
get3rdTexture(itemType));
|
||||
DCStoreRangeNoSync(param_5, 0xC00);
|
||||
if (param_6 != NULL) {
|
||||
set3rdColor(itemType, param_6);
|
||||
@@ -766,7 +777,8 @@ int dMeter2Info_c::readItemTexture(u8 itemNo, void* param_1, J2DPicture* param_2
|
||||
ret = 3;
|
||||
|
||||
if (param_7 != NULL && get4thTexture(itemType) > 0) {
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_3, 0xC00, get4thTexture(itemType));
|
||||
dComIfGp_getItemIconArchive()->readIdxResource(param_3, 0xC00,
|
||||
get4thTexture(itemType));
|
||||
DCStoreRangeNoSync(param_7, 0xC00);
|
||||
if (param_8 != NULL) {
|
||||
set4thColor(itemType, param_8);
|
||||
@@ -774,7 +786,7 @@ int dMeter2Info_c::readItemTexture(u8 itemNo, void* param_1, J2DPicture* param_2
|
||||
}
|
||||
ret = 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -785,9 +797,10 @@ int dMeter2Info_c::readItemTexture(u8 itemNo, void* param_1, J2DPicture* param_2
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dMeter2Info_c::readItemTexture(u8 param_0, void* param_1, J2DPicture* param_2, void* param_3,
|
||||
J2DPicture* param_4, void* param_5, J2DPicture* param_6,
|
||||
void* param_7, J2DPicture* param_8, int param_9) {
|
||||
asm int dMeter2Info_c::readItemTexture(u8 param_0, void* param_1, J2DPicture* param_2,
|
||||
void* param_3, J2DPicture* param_4, void* param_5,
|
||||
J2DPicture* param_6, void* param_7, J2DPicture* param_8,
|
||||
int param_9) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_info/func_8021CF08.s"
|
||||
}
|
||||
@@ -1352,16 +1365,11 @@ s16 dMeter2Info_getNowLifeGauge() {
|
||||
/* 8021E2C8-8021E2DC 218C08 0014+00 0/0 11/11 3/3 .text dMeter2Info_getNumberTextureName__Fi */
|
||||
const char* dMeter2Info_getNumberTextureName(int nameIdx) {
|
||||
static const char* tex_name[10] = {
|
||||
"im_font_number_32_32_ganshinkyo_0_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_1_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_2_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_3_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_4_03.bti",
|
||||
"im_font_number_32_32_ganshinkyo_5_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_6_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_7_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_8_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_9_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_0_02.bti", "im_font_number_32_32_ganshinkyo_1_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_2_02.bti", "im_font_number_32_32_ganshinkyo_3_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_4_03.bti", "im_font_number_32_32_ganshinkyo_5_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_6_02.bti", "im_font_number_32_32_ganshinkyo_7_02.bti",
|
||||
"im_font_number_32_32_ganshinkyo_8_02.bti", "im_font_number_32_32_ganshinkyo_9_02.bti",
|
||||
};
|
||||
|
||||
return tex_name[nameIdx];
|
||||
@@ -1470,7 +1478,9 @@ bool dMeter2Info_isMapOpenCheck() {
|
||||
|
||||
/* 8021E688-8021E6E4 218FC8 005C+00 0/0 2/2 0/0 .text dMeter2Info_isItemOpenCheck__Fv */
|
||||
bool dMeter2Info_isItemOpenCheck() {
|
||||
if (daPy_getPlayerActorClass()->checkCanoeSlider() || daPy_getPlayerActorClass()->i_getSumouMode() || dMeter2Info_isSub2DStatus(1)) {
|
||||
if (daPy_getPlayerActorClass()->checkCanoeSlider() ||
|
||||
daPy_getPlayerActorClass()->i_getSumouMode() || dMeter2Info_isSub2DStatus(1))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
+57
-195
@@ -5,10 +5,9 @@
|
||||
|
||||
#include "d/meter/d_meter_map.h"
|
||||
#include "JSystem/J2DGraph/J2DGrafContext.h"
|
||||
#include "d/menu/d_menu_window.h"
|
||||
#include "d/meter/d_meter2_info.h"
|
||||
#include "d/msg/d_msg_object.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_overlap_mng.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
|
||||
@@ -190,47 +189,14 @@ asm bool dMeterMap_c::isEventRunCheck() {
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454828-80454830 002E28 0008+00 3/3 0/0 0/0 .sdata2 @4100 */
|
||||
SECTION_SDATA2 static f64 lit_4100 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 8020D72C-8020D75C 20806C 0030+00 2/2 0/0 0/0 .text getMapDispEdgeLeftX_Layout__11dMeterMap_cFv
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
// matches with literal
|
||||
f32 dMeterMap_c::getMapDispEdgeLeftX_Layout() {
|
||||
return field_0x28 + 35;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm f32 dMeterMap_c::getMapDispEdgeLeftX_Layout() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_map/getMapDispEdgeLeftX_Layout__11dMeterMap_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454830-80454834 002E30 0004+00 2/2 0/0 0/0 .sdata2 @4128 */
|
||||
SECTION_SDATA2 static u8 lit_4128[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80454834-80454838 002E34 0004+00 5/5 0/0 0/0 .sdata2 @4129 */
|
||||
SECTION_SDATA2 static f32 lit_4129 = 1.0f;
|
||||
|
||||
/* 80454838-80454840 002E38 0008+00 1/1 0/0 0/0 .sdata2 @4131 */
|
||||
SECTION_SDATA2 static f64 lit_4131 = 4503599627370496.0 /* cast u32 to float */;
|
||||
|
||||
/* 8020D75C-8020D7E4 20809C 0088+00 0/0 1/1 0/0 .text getMapDispEdgeTop__11dMeterMap_cFv
|
||||
*/
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
f32 dMeterMap_c::getMapDispEdgeTop() {
|
||||
f32 tmp = 0.0f;
|
||||
if (mMap != NULL) {
|
||||
@@ -240,50 +206,24 @@ f32 dMeterMap_c::getMapDispEdgeTop() {
|
||||
}
|
||||
return getMapDispEdgeBottomY_Layout() - tmp;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm f32 dMeterMap_c::getMapDispEdgeTop() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_map/getMapDispEdgeTop__11dMeterMap_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8020D7E4-8020D7EC 208124 0008+00 2/2 0/0 0/0 .text getDispPosInside_OffsetX__11dMeterMap_cFv */
|
||||
s16 dMeterMap_c::getDispPosInside_OffsetX() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454840-80454844 002E40 0004+00 1/1 0/0 0/0 .sdata2 @4159 */
|
||||
SECTION_SDATA2 static f32 lit_4159 = -36.0f;
|
||||
|
||||
/* 8020D7EC-8020D874 20812C 0088+00 2/2 0/0 0/0 .text getDispPosOutSide_OffsetX__11dMeterMap_cFv
|
||||
*/
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
s16 dMeterMap_c::getDispPosOutSide_OffsetX() {
|
||||
f32 dvar3 = -36.0f - mSizeW;
|
||||
f32 offset = 0.0f;
|
||||
if (mMap != NULL) {
|
||||
offset = mMap->getTexelPerCm() * mMap->getPackX();
|
||||
offset +=(mMap->getRightEdgePlus() + (mMap->getTexelPerCm() * mMap->getPackPlusZ()));
|
||||
offset += (mMap->getRightEdgePlus() + (mMap->getTexelPerCm() * mMap->getPackPlusZ()));
|
||||
}
|
||||
dvar3 += offset;
|
||||
return dvar3 - getMapDispEdgeLeftX_Layout();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm s16 dMeterMap_c::getDispPosOutSide_OffsetX() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_map/getDispPosOutSide_OffsetX__11dMeterMap_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8020D874-8020D8BC 2081B4 0048+00 2/2 2/2 0/0 .text setDispPosInsideFlg_SE_On__11dMeterMap_cFv
|
||||
*/
|
||||
@@ -304,8 +244,8 @@ void dMeterMap_c::setDispPosOutsideFlg_SE_On() {
|
||||
}
|
||||
|
||||
/* 8020D8F8-8020D900 -00001 0008+00 0/0 0/0 0/0 .text setMapAlpha__11dMeterMap_cFUc */
|
||||
void dMeterMap_c::setMapAlpha(u8 alpha) {
|
||||
mMapAlpha = alpha;
|
||||
void dMeterMap_c::setMapAlpha(u8 i_alpha) {
|
||||
mMapAlpha = i_alpha;
|
||||
}
|
||||
|
||||
/* 8020D900-8020D948 208240 0048+00 3/3 1/1 0/0 .text isMapOpenCheck__11dMeterMap_cFv */
|
||||
@@ -313,22 +253,9 @@ bool dMeterMap_c::isMapOpenCheck() {
|
||||
return dStage_stagInfo_GetUpButton(i_dComIfGp_getStage()->getStagInfo()) == 7 ? false : true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803BF2D8-803BF2F8 -00001 0020+00 1/1 0/0 0/0 .data @4516 */
|
||||
SECTION_DATA static void* lit_4516[8] = {
|
||||
(void*)(((char*)ctrlShowMap__11dMeterMap_cFv) + 0x1C8),
|
||||
(void*)(((char*)ctrlShowMap__11dMeterMap_cFv) + 0x184),
|
||||
(void*)(((char*)ctrlShowMap__11dMeterMap_cFv) + 0x1B4),
|
||||
(void*)(((char*)ctrlShowMap__11dMeterMap_cFv) + 0x19C),
|
||||
(void*)(((char*)ctrlShowMap__11dMeterMap_cFv) + 0x1C8),
|
||||
(void*)(((char*)ctrlShowMap__11dMeterMap_cFv) + 0x1A8),
|
||||
(void*)(((char*)ctrlShowMap__11dMeterMap_cFv) + 0x1C0),
|
||||
(void*)(((char*)ctrlShowMap__11dMeterMap_cFv) + 0x190),
|
||||
};
|
||||
|
||||
/* 8020D948-8020D990 208288 0048+00 0/0 1/1 0/0 .text __ct__11dMeterMap_cFP9J2DScreen */
|
||||
dMeterMap_c::dMeterMap_c(J2DScreen* p_scrn) {
|
||||
_create(p_scrn);
|
||||
dMeterMap_c::dMeterMap_c(J2DScreen* i_scrn) {
|
||||
_create(i_scrn);
|
||||
}
|
||||
|
||||
/* 8020D990-8020D9EC 2082D0 005C+00 1/0 0/0 0/0 .text __dt__11dMeterMap_cFv */
|
||||
@@ -338,9 +265,7 @@ dMeterMap_c::~dMeterMap_c() {
|
||||
|
||||
/* 8020D9EC-8020DC50 20832C 0264+00 1/1 0/0 0/0 .text _create__11dMeterMap_cFP9J2DScreen
|
||||
*/
|
||||
// matches with auto gen literals
|
||||
#ifdef NONMATCHING
|
||||
void dMeterMap_c::_create(J2DScreen* param_0) {
|
||||
void dMeterMap_c::_create(J2DScreen* unused) {
|
||||
s32 sizeX;
|
||||
s32 sizeY;
|
||||
s32 dispSizeW;
|
||||
@@ -421,16 +346,6 @@ void dMeterMap_c::_create(J2DScreen* param_0) {
|
||||
field_0x30 = 0;
|
||||
field_0x2b = i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[118]);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterMap_c::_create(J2DScreen* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_map/_create__11dMeterMap_cFP9J2DScreen.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8020DC50-8020DCE4 208590 0094+00 1/1 0/0 0/0 .text _delete__11dMeterMap_cFv */
|
||||
void dMeterMap_c::_delete() {
|
||||
@@ -451,16 +366,7 @@ void dMeterMap_c::_delete() {
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80398208-80398208 024868 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80398208 = "F_SP115";
|
||||
#pragma pop
|
||||
|
||||
/* 8020DCE4-8020DF1C 208624 0238+00 0/0 1/1 0/0 .text _move__11dMeterMap_cFUl */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dMeterMap_c::_move(u32 param_0) {
|
||||
if (!field_0x2b && i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[118])) {
|
||||
if (strcmp(dComIfGp_getStartStageName(), "F_SP115") == 0) {
|
||||
@@ -478,7 +384,8 @@ void dMeterMap_c::_move(u32 param_0) {
|
||||
if (field_0x2a == 1 || field_0x2a == 2 || field_0x2a == 3 ||
|
||||
dMeter2Info_getPauseStatus() == 7 || dMeter2Info_getPauseStatus() == 2 ||
|
||||
dMeter2Info_getPauseStatus() == 6 || dMeter2Info_getPauseStatus() == 4 ||
|
||||
dMeter2Info_getPauseStatus() == 3 || dMeter2Info_getPauseStatus() == 5) {
|
||||
dMeter2Info_getPauseStatus() == 3 || dMeter2Info_getPauseStatus() == 5)
|
||||
{
|
||||
ctrlShowMap();
|
||||
}
|
||||
|
||||
@@ -498,16 +405,6 @@ void dMeterMap_c::_move(u32 param_0) {
|
||||
mMap->_move(map_pos.x, map_pos.z, stayNo, map_pos.y);
|
||||
field_0x30 = i_dComIfGp_event_runCheck();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterMap_c::_move(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_map/_move__11dMeterMap_cFUl.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8020DF1C-8020DF68 20885C 004C+00 0/0 1/1 0/0 .text _draw__11dMeterMap_cFv */
|
||||
void dMeterMap_c::_draw() {
|
||||
@@ -530,28 +427,22 @@ void dMeterMap_c::draw() {
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454844-80454848 002E44 0004+00 3/3 0/0 0/0 .sdata2 @4515 */
|
||||
SECTION_SDATA2 static f32 lit_4515 = -1.0f;
|
||||
|
||||
/* 8020E070-8020E45C 2089B0 03EC+00 2/1 0/0 0/0 .text ctrlShowMap__11dMeterMap_cFv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dMeterMap_c::ctrlShowMap() {
|
||||
if (!dMeter2Info_isGameStatus(1)) {
|
||||
if (!isMapOpenCheck() && !isEventRunCheck()) {
|
||||
if (dMw_LEFT_TRIGGER() || dMw_RIGHT_TRIGGER()) {
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SYS_ERROR, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SYS_ERROR, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
} else {
|
||||
if (dMeter2Info_getPauseStatus() == 1 || dMeter2Info_getPauseStatus() == 7 ||
|
||||
dMeter2Info_getPauseStatus() == 3 || dMeter2Info_getPauseStatus() == 5 ||
|
||||
dMeter2Info_getPauseStatus() == 2 || dMeter2Info_getPauseStatus() == 6) {
|
||||
dMeter2Info_getPauseStatus() == 2 || dMeter2Info_getPauseStatus() == 6)
|
||||
{
|
||||
if (dMeter2Info_getMapStatus() == 0 && field_0x2d == 0) {
|
||||
setDispPosInsideFlg_SE_On();
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f,
|
||||
-1.0f, -1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
dMeter2Info_set2DVibration();
|
||||
dMeter2Info_setMapStatus(1);
|
||||
}
|
||||
@@ -561,7 +452,7 @@ void dMeterMap_c::ctrlShowMap() {
|
||||
case 1:
|
||||
dMeter2Info_setMapStatus(4);
|
||||
break;
|
||||
case 2:
|
||||
case 7:
|
||||
dMeter2Info_setMapStatus(7);
|
||||
break;
|
||||
case 3:
|
||||
@@ -570,16 +461,16 @@ void dMeterMap_c::ctrlShowMap() {
|
||||
case 5:
|
||||
dMeter2Info_setMapStatus(9);
|
||||
break;
|
||||
case 6:
|
||||
case 2:
|
||||
dMeter2Info_setMapStatus(5);
|
||||
break;
|
||||
case 7:
|
||||
case 6:
|
||||
dMeter2Info_setMapStatus(3);
|
||||
break;
|
||||
}
|
||||
dMeter2Info_setMapKeyDirection(0x400);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f,
|
||||
-1.0f, -1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
dMeter2Info_set2DVibration();
|
||||
}
|
||||
dMeter2Info_resetPauseStatus();
|
||||
@@ -589,8 +480,8 @@ void dMeterMap_c::ctrlShowMap() {
|
||||
if (isDmapScreen()) {
|
||||
if (dMeter2Info_getMapStatus() == 0 && field_0x2d == 0) {
|
||||
setDispPosInsideFlg_SE_On();
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f,
|
||||
1.0f, -1.0f, -1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f,
|
||||
-1.0f, -1.0f, 0);
|
||||
dMeter2Info_set2DVibration();
|
||||
dMeter2Info_setMapStatus(1);
|
||||
}
|
||||
@@ -598,8 +489,8 @@ void dMeterMap_c::ctrlShowMap() {
|
||||
if (dMeter2Info_getMapStatus() == 1 && field_0x2d != 0) {
|
||||
dMeter2Info_setMapStatus(6);
|
||||
dMeter2Info_setMapKeyDirection(0x400);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f,
|
||||
1.0f, -1.0f, -1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f,
|
||||
-1.0f, -1.0f, 0);
|
||||
dMeter2Info_set2DVibration();
|
||||
}
|
||||
}
|
||||
@@ -627,16 +518,6 @@ void dMeterMap_c::ctrlShowMap() {
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterMap_c::ctrlShowMap() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_map/ctrlShowMap__11dMeterMap_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8020E45C-8020E4C8 208D9C 006C+00 1/1 0/0 0/0 .text checkMoveStatus__11dMeterMap_cFv */
|
||||
u8 dMeterMap_c::checkMoveStatus() {
|
||||
@@ -669,7 +550,8 @@ bool dMeterMap_c::isShow(u32 param_0) {
|
||||
(param_0 & 0x20000) || (param_0 & 8) || (param_0 & 0x10) || (param_0 & 0x1000000) ||
|
||||
(param_0 & 0x800000) || (param_0 & 0x20) || (param_0 & 0x4000000) ||
|
||||
(param_0 & 0x10000000) || (param_0 & 0x800) || (param_0 & 0x20000000) ||
|
||||
daPy_getPlayerActorClass()->checkEnemyAttentionLock() || dMeter2Info_isGameStatus(2)) {
|
||||
daPy_getPlayerActorClass()->checkEnemyAttentionLock() || dMeter2Info_isGameStatus(2))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -691,7 +573,8 @@ bool dMeterMap_c::isFmapScreen() {
|
||||
dStage_stagInfo_GetUpButton(i_dComIfGp_getStage()->getStagInfo()) == 5 ||
|
||||
dStage_stagInfo_GetUpButton(i_dComIfGp_getStage()->getStagInfo()) == 3 ||
|
||||
dStage_stagInfo_GetUpButton(i_dComIfGp_getStage()->getStagInfo()) == 4 ||
|
||||
dStage_stagInfo_GetUpButton(i_dComIfGp_getStage()->getStagInfo()) == 6) {
|
||||
dStage_stagInfo_GetUpButton(i_dComIfGp_getStage()->getStagInfo()) == 6)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -703,40 +586,41 @@ bool dMeterMap_c::isDmapScreen() {
|
||||
}
|
||||
|
||||
/* 8020E754-8020E9CC 209094 0278+00 0/0 1/1 0/0 .text meter_map_move__11dMeterMap_cFUl */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dMeterMap_c::meter_map_move(u32 param_0) {
|
||||
if (isShow(param_0) && isMapOpenCheck()) {
|
||||
if (dMeter2Info_getPauseStatus() == 6) {
|
||||
if (!dMeter2Info_isSub2DStatus(1) && isFmapScreen()) {
|
||||
dMeter2Info_setMapStatus(3);
|
||||
dMeter2Info_setMapKeyDirection(0x400);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
|
||||
0);
|
||||
dMeter2Info_set2DVibration();
|
||||
}
|
||||
dMeter2Info_resetPauseStatus();
|
||||
} else {
|
||||
if (dMw_LEFT_TRIGGER() && !i_dComIfGp_event_runCheck() && !dMsgObject_isTalkNowCheck() &&
|
||||
(dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) {
|
||||
if (dMw_LEFT_TRIGGER() && !i_dComIfGp_event_runCheck() &&
|
||||
!dMsgObject_isTalkNowCheck() &&
|
||||
(dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1))
|
||||
{
|
||||
if (dMeter2Info_getMapStatus() == 0 && !dMeter2Info_isSub2DStatus(1)) {
|
||||
if (isFmapScreen() || isDmapScreen()) {
|
||||
dMeter2Info_setMapStatus(2);
|
||||
dMeter2Info_setMapKeyDirection(0x200);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f,
|
||||
-1.0f, -1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
dMeter2Info_set2DVibration();
|
||||
}
|
||||
}
|
||||
} else if (dMw_RIGHT_TRIGGER() && !i_dComIfGp_event_runCheck() &&
|
||||
!dMsgObject_isTalkNowCheck() &&
|
||||
(dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) {
|
||||
(dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1))
|
||||
{
|
||||
if (!dMeter2Info_isSub2DStatus(1)) {
|
||||
if (isFmapScreen() || isDmapScreen()) {
|
||||
dMeter2Info_setMapStatus(2);
|
||||
dMeter2Info_setMapKeyDirection(0x400);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f,
|
||||
-1.0f, -1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
dMeter2Info_set2DVibration();
|
||||
}
|
||||
}
|
||||
@@ -744,88 +628,66 @@ void dMeterMap_c::meter_map_move(u32 param_0) {
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterMap_c::meter_map_move(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_map/meter_map_move__11dMeterMap_cFUl.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8020E9CC-8020ED60 20930C 0394+00 1/1 0/0 0/0 .text keyCheck__11dMeterMap_cFv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dMeterMap_c::keyCheck() {
|
||||
if (dMw_LEFT_TRIGGER() && !isEventRunCheck() &&
|
||||
(dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) {
|
||||
(dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1))
|
||||
{
|
||||
if (dMeter2Info_getMapStatus() == 1) {
|
||||
if (isDispPosInsideFlg()) {
|
||||
setDispPosOutsideFlg_SE_On();
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_CLOSE_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_CLOSE_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
|
||||
0);
|
||||
dMeter2Info_setMapStatus(0);
|
||||
}
|
||||
} else if (dMeter2Info_getMapStatus() == 0) {
|
||||
if (!dMeter2Info_isSub2DStatus(1) && (isFmapScreen() || isDmapScreen())) {
|
||||
dMeter2Info_setMapStatus(2);
|
||||
dMeter2Info_setMapKeyDirection(0x200);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
|
||||
0);
|
||||
dMeter2Info_set2DVibration();
|
||||
} else {
|
||||
setDispPosInsideFlg_SE_On();
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
|
||||
0);
|
||||
dMeter2Info_set2DVibration();
|
||||
dMeter2Info_setMapStatus(1);
|
||||
}
|
||||
}
|
||||
} else if (dMw_RIGHT_TRIGGER() && !isEventRunCheck() &&
|
||||
(dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1)) {
|
||||
(dMeter2Info_getMapStatus() == 0 || dMeter2Info_getMapStatus() == 1))
|
||||
{
|
||||
if (dMeter2Info_getMapStatus() == 0) {
|
||||
if (isEnableDispMapAndMapDispSizeTypeNo()) {
|
||||
if (!isDispPosInsideFlg()) {
|
||||
setDispPosInsideFlg_SE_On();
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f,
|
||||
-1.0f, -1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
dMeter2Info_set2DVibration();
|
||||
dMeter2Info_setMapStatus(1);
|
||||
}
|
||||
} else if (!dMeter2Info_isSub2DStatus(1) && (isFmapScreen() || isDmapScreen())) {
|
||||
dMeter2Info_setMapStatus(2);
|
||||
dMeter2Info_setMapKeyDirection(0x400);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
|
||||
0);
|
||||
dMeter2Info_set2DVibration();
|
||||
}
|
||||
} else if (dMeter2Info_getMapStatus() == 1 && isDispPosInsideFlg()) {
|
||||
if (!dMeter2Info_isSub2DStatus(1) && (isFmapScreen() || isDmapScreen())) {
|
||||
dMeter2Info_setMapStatus(2);
|
||||
dMeter2Info_setMapKeyDirection(0x400);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_OPEN_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
|
||||
0);
|
||||
dMeter2Info_set2DVibration();
|
||||
} else {
|
||||
setDispPosOutsideFlg_SE_On();
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_CLOSE_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_SY_MAP_CLOSE_S, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
|
||||
0);
|
||||
dMeter2Info_setMapStatus(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterMap_c::keyCheck() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_map/keyCheck__11dMeterMap_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80398208-80398208 024868 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+235
-283
@@ -1,315 +1,267 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/meter/d_meter_string
|
||||
//
|
||||
/**
|
||||
* d_meter_string.cpp
|
||||
* UI Mini-Game Text
|
||||
*/
|
||||
|
||||
#include "d/meter/d_meter_string.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct dMeterSub_c {
|
||||
/* 80194138 */ bool isDead();
|
||||
};
|
||||
|
||||
struct dMeterString_c {
|
||||
/* 8020ED60 */ dMeterString_c(int);
|
||||
/* 8020EDF4 */ ~dMeterString_c();
|
||||
/* 8020EE70 */ void _create();
|
||||
/* 8020F150 */ void _execute(u32);
|
||||
/* 8020F1B0 */ void draw();
|
||||
/* 8020F49C */ void _delete();
|
||||
/* 8020F5A4 */ void createString(int);
|
||||
/* 8020F66C */ void playBckAnimation(f32);
|
||||
/* 8020F6EC */ void drawPikari();
|
||||
/* 8020FA88 */ void isLeadByte(int);
|
||||
};
|
||||
|
||||
struct JMSMesgEntry_c {};
|
||||
|
||||
struct dMeter2Info_c {
|
||||
/* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*);
|
||||
/* 8021CC00 */ void resetMeterString();
|
||||
};
|
||||
|
||||
struct JUtility {
|
||||
struct TColor {};
|
||||
};
|
||||
|
||||
struct dMeter2Draw_c {
|
||||
/* 802140DC */ void drawPikari(f32, f32, f32*, f32, JUtility::TColor, JUtility::TColor,
|
||||
JUtility::TColor, JUtility::TColor, f32, u8);
|
||||
};
|
||||
|
||||
struct JKRFileLoader {
|
||||
/* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*);
|
||||
};
|
||||
|
||||
struct JKRExpHeap {};
|
||||
|
||||
struct JKRArchive {};
|
||||
|
||||
struct J2DTextBox {
|
||||
/* 80300658 */ void getStringPtr() const;
|
||||
/* 8030074C */ void setString(s16, char const*, ...);
|
||||
};
|
||||
|
||||
struct J2DGrafContext {};
|
||||
|
||||
struct J2DScreen {
|
||||
/* 802F8498 */ J2DScreen();
|
||||
/* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
|
||||
/* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
|
||||
};
|
||||
|
||||
struct J2DPane {
|
||||
/* 802F7AFC */ void getParentPane();
|
||||
/* 802F7FCC */ void animationTransform();
|
||||
};
|
||||
|
||||
struct J2DAnmLoaderDataBase {
|
||||
/* 80308A6C */ void load(void const*);
|
||||
};
|
||||
|
||||
struct CPaneMgrAlpha {
|
||||
/* 802557D0 */ void setAlphaRate(f32);
|
||||
};
|
||||
|
||||
struct CPaneMgr {
|
||||
/* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*);
|
||||
/* 802545B0 */ void paneTrans(f32, f32);
|
||||
/* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__14dMeterString_cFi();
|
||||
extern "C" void __dt__14dMeterString_cFv();
|
||||
extern "C" void _create__14dMeterString_cFv();
|
||||
extern "C" void _execute__14dMeterString_cFUl();
|
||||
extern "C" void draw__14dMeterString_cFv();
|
||||
extern "C" void _delete__14dMeterString_cFv();
|
||||
extern "C" void createString__14dMeterString_cFi();
|
||||
extern "C" void playBckAnimation__14dMeterString_cFf();
|
||||
extern "C" void drawPikari__14dMeterString_cFv();
|
||||
extern "C" void isLeadByte__14dMeterString_cFi();
|
||||
extern "C" extern char const* const d_meter_d_meter_string__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoExt_getMesgFont__Fv();
|
||||
extern "C" void dComIfG_TimerDeleteRequest__Fi();
|
||||
extern "C" bool isDead__11dMeterSub_cFv();
|
||||
extern "C" void
|
||||
drawPikari__13dMeter2Draw_cFffPffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorfUc();
|
||||
extern "C" void getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c();
|
||||
extern "C" void resetMeterString__13dMeter2Info_cFv();
|
||||
extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
|
||||
extern "C" void paneTrans__8CPaneMgrFff();
|
||||
extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs();
|
||||
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
|
||||
extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
|
||||
extern "C" void dTimer_createTimer__FlUlUcUcffff();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader();
|
||||
extern "C" void getParentPane__7J2DPaneFv();
|
||||
extern "C" void animationTransform__7J2DPaneFv();
|
||||
extern "C" void __ct__9J2DScreenFv();
|
||||
extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
|
||||
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
|
||||
extern "C" void getStringPtr__10J2DTextBoxCFv();
|
||||
extern "C" void setString__10J2DTextBoxFsPCce();
|
||||
extern "C" void load__20J2DAnmLoaderDataBaseFPCv();
|
||||
extern "C" void _savegpr_23();
|
||||
extern "C" void _restgpr_23();
|
||||
extern "C" void strcpy();
|
||||
extern "C" extern void* __vt__12dDlst_base_c[3];
|
||||
extern "C" extern void* __vt__11dMeterSub_c[8 + 3 /* padding */];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_drawHIO[3880];
|
||||
extern "C" extern u8 g_meter2_info[248];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803BF308-803BF328 01C428 0020+00 2/2 0/0 0/0 .data __vt__14dMeterString_c */
|
||||
SECTION_DATA extern void* __vt__14dMeterString_c[8] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)draw__14dMeterString_cFv,
|
||||
(void*)__dt__14dMeterString_cFv,
|
||||
(void*)_create__14dMeterString_cFv,
|
||||
(void*)_execute__14dMeterString_cFUl,
|
||||
(void*)_delete__14dMeterString_cFv,
|
||||
(void*)isDead__11dMeterSub_cFv,
|
||||
};
|
||||
#include "JSystem/J2DGraph/J2DAnmLoader.h"
|
||||
#include "JSystem/J2DGraph/J2DGrafContext.h"
|
||||
#include "JSystem/J2DGraph/J2DScreen.h"
|
||||
#include "JSystem/J2DGraph/J2DTextBox.h"
|
||||
#include "JSystem/JUtility/JUTFont.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_timer.h"
|
||||
#include "d/meter/d_meter2_draw.h"
|
||||
#include "d/meter/d_meter2_info.h"
|
||||
#include "d/meter/d_meter_HIO.h"
|
||||
#include "d/pane/d_pane_class.h"
|
||||
|
||||
/* 8020ED60-8020EDF4 2096A0 0094+00 0/0 1/1 0/0 .text __ct__14dMeterString_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMeterString_c::dMeterString_c(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_string/__ct__14dMeterString_cFi.s"
|
||||
dMeterString_c::dMeterString_c(int i_stringID) {
|
||||
mpMapArchive = dComIfGp_getAllMapArchive();
|
||||
field_0x28 = 0;
|
||||
mStringID = i_stringID;
|
||||
|
||||
_create();
|
||||
if (mpMapArchive != NULL) {
|
||||
createString(mStringID);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8020EDF4-8020EE70 209734 007C+00 1/0 0/0 0/0 .text __dt__14dMeterString_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMeterString_c::~dMeterString_c() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_string/__dt__14dMeterString_cFv.s"
|
||||
dMeterString_c::~dMeterString_c() {
|
||||
_delete();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80398210-80398210 024870 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80398210 = "zelda_game_image_cow_get_in.blo";
|
||||
SECTION_DEAD static char const* const stringBase_80398230 = "zelda_game_image_cow_get_in.bck";
|
||||
SECTION_DEAD static char const* const stringBase_80398250 = "";
|
||||
/* @stringBase0 padding */
|
||||
SECTION_DEAD static char const* const pad_80398251 = "\0\0\0\0\0\0";
|
||||
#pragma pop
|
||||
|
||||
/* 80454848-8045484C 002E48 0004+00 1/1 0/0 0/0 .sdata2 @3758 */
|
||||
SECTION_SDATA2 static f32 lit_3758 = 210.0f;
|
||||
|
||||
/* 8045484C-80454850 002E4C 0004+00 1/1 0/0 0/0 .sdata2 @3759 */
|
||||
SECTION_SDATA2 static f32 lit_3759 = 410.0f;
|
||||
|
||||
/* 80454850-80454854 002E50 0004+00 1/1 0/0 0/0 .sdata2 @3760 */
|
||||
SECTION_SDATA2 static f32 lit_3760 = 32.0f;
|
||||
|
||||
/* 80454854-80454858 002E54 0004+00 1/1 0/0 0/0 .sdata2 @3761 */
|
||||
SECTION_SDATA2 static f32 lit_3761 = 419.0f;
|
||||
|
||||
/* 80454858-8045485C 002E58 0004+00 3/3 0/0 0/0 .sdata2 @3762 */
|
||||
SECTION_SDATA2 static u8 lit_3762[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 8020EE70-8020F150 2097B0 02E0+00 1/0 0/0 0/0 .text _create__14dMeterString_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterString_c::_create() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_string/_create__14dMeterString_cFv.s"
|
||||
int dMeterString_c::_create() {
|
||||
if (mpMapArchive == NULL) {
|
||||
if (field_0x28 == 0) {
|
||||
dTimer_createTimer(9, 0x989298, 0, 0, 210.0f, 410.0f, 32.0f, 419.0f);
|
||||
field_0x28 = 1;
|
||||
}
|
||||
|
||||
if (dComIfGp_getAllMapArchive() == NULL) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
mpMapArchive = dComIfGp_getAllMapArchive();
|
||||
}
|
||||
|
||||
mpScreen = new J2DScreen();
|
||||
JUT_ASSERT(mpScreen != 0);
|
||||
|
||||
bool fg = mpScreen->setPriority("zelda_game_image_cow_get_in.blo", 0x20000, mpMapArchive);
|
||||
JUT_ASSERT(fg != false);
|
||||
dPaneClass_showNullPane(mpScreen);
|
||||
|
||||
i_OSInitFastCast();
|
||||
mpGetInBck = (J2DAnmTransformKey*)J2DAnmLoaderDataBase::load(
|
||||
JKRGetNameResource("zelda_game_image_cow_get_in.bck", mpMapArchive));
|
||||
|
||||
mpParentPane = new CPaneMgr(mpScreen, 'get_in_n', 2, NULL);
|
||||
JUT_ASSERT(mpParentPane != 0);
|
||||
|
||||
mpRootPane = new CPaneMgr(mpScreen, 'n_all', 0, NULL);
|
||||
JUT_ASSERT(mpRootPane != 0);
|
||||
|
||||
mpTextPane = new CPaneMgr(mpScreen, 'get_in', 0, NULL);
|
||||
JUT_ASSERT(mpTextPane != 0);
|
||||
|
||||
static_cast<J2DTextBox*>(mpScreen->search('get_in_s'))->setFont(mDoExt_getMesgFont());
|
||||
static_cast<J2DTextBox*>(mpScreen->search('get_in'))->setFont(mDoExt_getMesgFont());
|
||||
static_cast<J2DTextBox*>(mpScreen->search('get_in_s'))->setString(0x100, "");
|
||||
static_cast<J2DTextBox*>(mpScreen->search('get_in'))->setString(0x100, "");
|
||||
|
||||
mAnimFrame = 0.0f;
|
||||
mPikariAnimFrame = 0.0f;
|
||||
mOffsetX = 0;
|
||||
mOffsetY = 0;
|
||||
mStringID2 = 0;
|
||||
field_0x3c = 0xFF;
|
||||
playBckAnimation(0.0f);
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8020F150-8020F1B0 209A90 0060+00 1/0 0/0 0/0 .text _execute__14dMeterString_cFUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterString_c::_execute(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_string/_execute__14dMeterString_cFUl.s"
|
||||
int dMeterString_c::_execute(u32 unused) {
|
||||
if (mpMapArchive == NULL) {
|
||||
_create();
|
||||
|
||||
if (mpMapArchive != NULL) {
|
||||
createString(mStringID);
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8045485C-80454860 002E5C 0004+00 1/1 0/0 0/0 .sdata2 @3819 */
|
||||
SECTION_SDATA2 static f32 lit_3819 = 60.0f;
|
||||
|
||||
/* 80454860-80454864 002E60 0004+00 2/2 0/0 0/0 .sdata2 @3820 */
|
||||
SECTION_SDATA2 static f32 lit_3820 = 1.0f;
|
||||
|
||||
/* 80454864-80454868 002E64 0004+00 2/2 0/0 0/0 .sdata2 @3821 */
|
||||
SECTION_SDATA2 static f32 lit_3821 = -1.0f;
|
||||
|
||||
/* 80454868-80454870 002E68 0004+04 1/1 0/0 0/0 .sdata2 @3822 */
|
||||
SECTION_SDATA2 static f32 lit_3822[1 + 1 /* padding */] = {
|
||||
18.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 80454870-80454878 002E70 0008+00 2/2 0/0 0/0 .sdata2 @3824 */
|
||||
SECTION_SDATA2 static f64 lit_3824 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 8020F1B0-8020F49C 209AF0 02EC+00 1/0 0/0 0/0 .text draw__14dMeterString_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterString_c::draw() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_string/draw__14dMeterString_cFv.s"
|
||||
void dMeterString_c::draw() {
|
||||
if (mpMapArchive != NULL && !dComIfGp_isPauseFlag()) {
|
||||
J2DGrafContext* graf_ctx = dComIfGp_getCurrentGrafPort();
|
||||
graf_ctx->setup2D();
|
||||
|
||||
f32 var_f31 = (f32)g_drawHIO.mMiniGame.field_0x172 +
|
||||
((f32)g_drawHIO.mMiniGame.mReadyFightTextWaitFrames + 60.0f);
|
||||
if (mAnimFrame > 0.0f && mAnimFrame < var_f31) {
|
||||
f32 var_f30 = 1.0f;
|
||||
|
||||
if (mAnimFrame < 60.0f) {
|
||||
mAnimFrame += g_drawHIO.mMiniGame.mReadyFightTextAnimSpeed;
|
||||
if (mAnimFrame > 60.0f) {
|
||||
mAnimFrame = 60.0f;
|
||||
}
|
||||
|
||||
playBckAnimation(mAnimFrame);
|
||||
} else if (mAnimFrame < (f32)g_drawHIO.mMiniGame.mReadyFightTextWaitFrames + 60.0f) {
|
||||
mAnimFrame += var_f30;
|
||||
} else if (mAnimFrame < var_f31) {
|
||||
mAnimFrame += var_f30;
|
||||
var_f30 = acc(g_drawHIO.mMiniGame.field_0x172, var_f31 - mAnimFrame, 0);
|
||||
}
|
||||
|
||||
mpParentPane->setAlphaRate(var_f30);
|
||||
mpRootPane->paneTrans(mOffsetX + g_drawHIO.mMiniGame.mReadyFightTextPosX,
|
||||
mOffsetY + g_drawHIO.mMiniGame.mReadyFightTextPosY);
|
||||
mpRootPane->scale(g_drawHIO.mMiniGame.mReadyFightTextSizeX,
|
||||
g_drawHIO.mMiniGame.mReadyFightTextSizeY);
|
||||
mpScreen->draw(0.0f, 0.0f, graf_ctx);
|
||||
|
||||
if (mPikariAnimFrame > 0.0f) {
|
||||
drawPikari();
|
||||
} else if (mPikariAnimFrame == -1.0f &&
|
||||
mAnimFrame > g_drawHIO.mMiniGame.mReadyFightHighlightAppearFrames)
|
||||
{
|
||||
mPikariAnimFrame = 18.0f - g_drawHIO.mMiniGame.mReadyFightHighlightAnimSpeed;
|
||||
}
|
||||
|
||||
if (mAnimFrame >= var_f31) {
|
||||
dMeter2Info_resetMeterString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8020F49C-8020F5A4 209DDC 0108+00 1/0 0/0 0/0 .text _delete__14dMeterString_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterString_c::_delete() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_string/_delete__14dMeterString_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
int dMeterString_c::_delete() {
|
||||
delete mpScreen;
|
||||
mpScreen = NULL;
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454878-8045487C 002E78 0004+00 1/1 0/0 0/0 .sdata2 @3866 */
|
||||
SECTION_SDATA2 static f32 lit_3866 = 40.0f;
|
||||
delete mpGetInBck;
|
||||
mpGetInBck = NULL;
|
||||
|
||||
delete mpParentPane;
|
||||
mpParentPane = NULL;
|
||||
|
||||
delete mpRootPane;
|
||||
mpRootPane = NULL;
|
||||
|
||||
delete mpTextPane;
|
||||
mpTextPane = NULL;
|
||||
|
||||
if (field_0x28 != 0) {
|
||||
dComIfG_TimerDeleteRequest(9);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 8020F5A4-8020F66C 209EE4 00C8+00 2/2 1/1 0/0 .text createString__14dMeterString_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterString_c::createString(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_string/createString__14dMeterString_cFi.s"
|
||||
int dMeterString_c::createString(int i_stringID) {
|
||||
char str_buf[32];
|
||||
dMeter2Info_getString(i_stringID, str_buf, NULL);
|
||||
strcpy(static_cast<J2DTextBox*>(mpScreen->search('get_in_s'))->getStringPtr(), str_buf);
|
||||
strcpy(static_cast<J2DTextBox*>(mpScreen->search('get_in'))->getStringPtr(), str_buf);
|
||||
|
||||
mAnimFrame = 40.0f;
|
||||
mPikariAnimFrame = -1.0f;
|
||||
mOffsetX = 0;
|
||||
mOffsetY = 0;
|
||||
mStringID2 = i_stringID;
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8020F66C-8020F6EC 209FAC 0080+00 2/2 0/0 0/0 .text playBckAnimation__14dMeterString_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterString_c::playBckAnimation(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_string/playBckAnimation__14dMeterString_cFf.s"
|
||||
void dMeterString_c::playBckAnimation(f32 i_frame) {
|
||||
mpParentPane->getPanePtr()->setAnimation(mpGetInBck);
|
||||
mpGetInBck->setFrame(i_frame);
|
||||
mpParentPane->getPanePtr()->animationTransform();
|
||||
mpParentPane->getPanePtr()->setAnimation((J2DAnmTransform*)NULL);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8045487C-80454880 002E7C 0004+00 1/1 0/0 0/0 .sdata2 @3979 */
|
||||
SECTION_SDATA2 static f32 lit_3979 = 0.5f;
|
||||
|
||||
/* 8020F6EC-8020FA88 20A02C 039C+00 1/1 0/0 0/0 .text drawPikari__14dMeterString_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterString_c::drawPikari() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_string/drawPikari__14dMeterString_cFv.s"
|
||||
void dMeterString_c::drawPikari() {
|
||||
f32 anim_frame = mPikariAnimFrame;
|
||||
Vec center = mpTextPane->getGlobalVtxCenter(false, 0);
|
||||
char* string = static_cast<J2DTextBox*>(mpTextPane->getPanePtr())->getStringPtr();
|
||||
|
||||
s16 str_idx = 0;
|
||||
f32 var_f25 = 0.0f;
|
||||
f32 var_f29 = 0.0f;
|
||||
J2DTextBox::TFontSize font_size;
|
||||
static_cast<J2DTextBox*>(mpTextPane->getPanePtr())->getFontSize(font_size);
|
||||
JUTFont* font_p = mDoExt_getMesgFont();
|
||||
|
||||
f32 var_f28 = 1.0f;
|
||||
for (J2DPane* pane = mpTextPane->getPanePtr(); pane != NULL; pane = pane->getParentPane()) {
|
||||
var_f28 *= pane->getScaleX();
|
||||
}
|
||||
|
||||
for (; string[str_idx] != 0; str_idx++) {
|
||||
int c = string[str_idx] & 0xFF;
|
||||
if (str_idx > 0) {
|
||||
var_f25 += var_f28 * static_cast<J2DTextBox*>(mpTextPane->getPanePtr())->getCharSpace();
|
||||
}
|
||||
|
||||
if (isLeadByte(c)) {
|
||||
c = ((string[str_idx] & 0xFF) << 8) | (string[str_idx + 1] & 0xFF);
|
||||
str_idx++;
|
||||
} else {
|
||||
c = string[str_idx] & 0xFF;
|
||||
}
|
||||
|
||||
var_f25 +=
|
||||
var_f28 * (font_size.mSizeX * ((f32)font_p->getWidth(c) / (f32)font_p->getCellWidth()));
|
||||
}
|
||||
|
||||
var_f25 = center.x - (var_f25 / 2);
|
||||
f32 frame;
|
||||
|
||||
for (str_idx = 0; string[str_idx] != 0; str_idx++) {
|
||||
frame = anim_frame;
|
||||
int c = string[str_idx] & 0xFF;
|
||||
if (str_idx > 0) {
|
||||
var_f29 += var_f28 * static_cast<J2DTextBox*>(mpTextPane->getPanePtr())->getCharSpace();
|
||||
}
|
||||
|
||||
if (isLeadByte(c)) {
|
||||
c = ((string[str_idx] & 0xFF) << 8) | (string[str_idx + 1] & 0xFF);
|
||||
str_idx++;
|
||||
} else {
|
||||
c = string[str_idx] & 0xFF;
|
||||
}
|
||||
|
||||
f32 temp_f24 =
|
||||
var_f28 * (font_size.mSizeX * ((f32)font_p->getWidth(c) / (f32)font_p->getCellWidth()));
|
||||
if (c != 0x20 && c != 0x8140) {
|
||||
dMeter2Info_getMeterClass()->getMeterDrawPtr()->drawPikari(
|
||||
(temp_f24 / 2) + (var_f25 + var_f29), center.y, &frame,
|
||||
g_drawHIO.mMiniGame.mReadyFightHighlightScale,
|
||||
g_drawHIO.mMiniGame.mReadyFightHighlightFrontOuter,
|
||||
g_drawHIO.mMiniGame.mReadyFightHighlightFrontInner,
|
||||
g_drawHIO.mMiniGame.mReadyFightHighlightBackOuter,
|
||||
g_drawHIO.mMiniGame.mReadyFightHighlightBackInner,
|
||||
g_drawHIO.mMiniGame.mReadyFightHighlightAnimSpeed, 0);
|
||||
}
|
||||
|
||||
var_f29 += temp_f24;
|
||||
}
|
||||
|
||||
mPikariAnimFrame = frame;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8020FA88-8020FAB4 20A3C8 002C+00 1/1 0/0 0/0 .text isLeadByte__14dMeterString_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeterString_c::isLeadByte(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter_string/isLeadByte__14dMeterString_cFi.s"
|
||||
bool dMeterString_c::isLeadByte(int c) {
|
||||
return (c >= 0x81 && c <= 0x9F) || (c >= 0xE0 && c <= 0xFC);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80398210-80398210 024870 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
Reference in New Issue
Block a user