mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-24 06:50:43 -04:00
e7b0ad79e0
* some camera/tbox cleanup * d_bg_w_kcol work * make item name enum better
1335 lines
51 KiB
C++
1335 lines
51 KiB
C++
//
|
||
// Generated By: dol2asm
|
||
// Translation Unit: d/d_meter2_info
|
||
//
|
||
|
||
#include "d/d_meter2_info.h"
|
||
#include "JSystem/J2DGraph/J2DTextBox.h"
|
||
#include "JSystem/JUtility/JUTFont.h"
|
||
#include "d/actor/d_a_npc.h"
|
||
#include "d/d_meter2.h"
|
||
#include "d/d_meter_map.h"
|
||
#include "d/d_msg_object.h"
|
||
#include "d/d_item_data.h"
|
||
|
||
/* 8021BDDC-8021BE20 21671C 0044+00 1/1 0/0 0/0 .text __ct__13dMeter2Info_cFv */
|
||
dMeter2Info_c::dMeter2Info_c() {
|
||
init();
|
||
mTempBits = 0;
|
||
}
|
||
|
||
dMeter2Info_c::~dMeter2Info_c() {}
|
||
|
||
/* 8021BE68-8021C0E0 2167A8 0278+00 1/1 1/1 0/0 .text init__13dMeter2Info_cFv */
|
||
void dMeter2Info_c::init() {
|
||
mMsgResource = NULL;
|
||
mStageMsgResource = NULL;
|
||
mMsgUnitResource = NULL;
|
||
mMeterClass = NULL;
|
||
mMeterMap = NULL;
|
||
mMenuWindowClass = NULL;
|
||
|
||
for (int i = 0; i < 4; i++) {
|
||
mMeterItemPanePtr[i] = NULL;
|
||
}
|
||
|
||
unk8 = 0;
|
||
mSub2DStatus = 0;
|
||
mHorseLifeCount = 0;
|
||
mMsgKeyWaitTimer = 0;
|
||
unk152 = 0;
|
||
mWindowStatus = 0;
|
||
unk186 = 0;
|
||
|
||
unk84 = 0.0f;
|
||
unk88 = 0.0f;
|
||
unk92 = 0.0f;
|
||
unk96 = 1.0f;
|
||
unk100 = 30.0f;
|
||
unk104 = 304.0f;
|
||
unk108 = 224.0f;
|
||
m2DWidth = 608.0f;
|
||
m2DHeight = 448.0f;
|
||
m2DPosH = 0.0f;
|
||
m2DPosV = 0.0f;
|
||
unk128 = 0.0f;
|
||
mTimeMs = 0;
|
||
mMsgTimeMs = 0;
|
||
mNowCount = 0;
|
||
mMaxCount = 0;
|
||
mShopTalkFlag = false;
|
||
mMapStatus = 0;
|
||
mMapKeyDirection = 0;
|
||
mBlinkButton = 0;
|
||
mOilGaugeBackUp = 0;
|
||
mUseButton = -1;
|
||
mDirectUseItem = 0;
|
||
mGameStatus = 0;
|
||
mTouchKeyCheck = 0;
|
||
mWindowAccept = -1;
|
||
mMeterString = 0;
|
||
mFloatingFlowID = -1;
|
||
mFloatingMessageID = -1;
|
||
mFloatingMessageTimer = 0;
|
||
mFloatingMessageWakuVisible = 0;
|
||
resetWarpStatus();
|
||
mPauseStatus = 0;
|
||
mGameOverType = 0;
|
||
mInsectSelectType = 0xFF;
|
||
|
||
cXyz tmp(0.0f, 0.0f, 0.0f);
|
||
setWarpInfo("", tmp, 0, 0, 0, 0);
|
||
|
||
for (int i = 0; i < 4; i++) {
|
||
changeWater(i + SLOT_11);
|
||
}
|
||
|
||
for (int i = 0; i < 4; i++) {
|
||
mSaveSelItemIdx[i] = 0;
|
||
mSaveMixItemIdx[i] = 0;
|
||
mSaveSelItemIdxMG[i] = 0;
|
||
mSaveMixItemIdxMG[i] = 0;
|
||
}
|
||
|
||
mSaveBombNum = 0;
|
||
mSaveArrowNum = 0;
|
||
mSaveBowItem = 0;
|
||
mSaveBombItem = 0;
|
||
mSaveBombNumMG = 0;
|
||
mSaveArrowNumMG = 0;
|
||
mSaveBowItemMG = 0;
|
||
mSaveBombItemMG = 0;
|
||
mRentalBombBagIdx = 0xFF;
|
||
mMiniGameItemSetFlag = 0;
|
||
mMiniGameCount = 0;
|
||
setSaveStageName("");
|
||
mCollectCursorPosX = 0;
|
||
mCollectCursorPosY = 0;
|
||
mTableMapRegionNo = 0xFF;
|
||
mGoldWolfMapType = 0;
|
||
mScopeZoomPointer = 0;
|
||
mItemExplainWindowStatus = 0;
|
||
mLifeGaugeSE = 0;
|
||
mMapDrugFlag = 0;
|
||
|
||
for (int i = 0; i < 3; i++) {
|
||
if (dComIfGs_isLightDropGetFlag(i)) {
|
||
mLightDropGetFlag[i] = 0xFF;
|
||
} else {
|
||
mLightDropGetFlag[i] = 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
/* 8021C0E0-8021C11C 216A20 003C+00 0/0 1/1 2/2 .text setFloatingMessage__13dMeter2Info_cFUssb */
|
||
int dMeter2Info_c::setFloatingMessage(u16 msgID, s16 msgTimer, bool wakuVisible) {
|
||
if (dComIfGp_event_runCheck()) {
|
||
return 0;
|
||
}
|
||
|
||
mFloatingFlowID = 0xFFFF;
|
||
mFloatingMessageID = msgID;
|
||
mFloatingMessageTimer = msgTimer;
|
||
mFloatingMessageWakuVisible = wakuVisible;
|
||
return 1;
|
||
}
|
||
|
||
/* 8021C11C-8021C1DC 216A5C 00C0+00 0/0 0/0 1/1 .text setFloatingFlow__13dMeter2Info_cFUssb */
|
||
int dMeter2Info_c::setFloatingFlow(u16 flowID, s16 msgTimer, bool wakuVisible) {
|
||
if (dComIfGp_event_runCheck()) {
|
||
return 0;
|
||
}
|
||
|
||
mFloatingFlowID = flowID;
|
||
|
||
dMsgFlow_c flow;
|
||
flow.init(NULL, flowID, 0, NULL);
|
||
flow.doFlow(NULL, NULL, 0);
|
||
|
||
mFloatingFlowID = 0xFFFF;
|
||
mFloatingMessageID = flow.getMsgNo();
|
||
mFloatingMessageTimer = msgTimer;
|
||
mFloatingMessageWakuVisible = wakuVisible;
|
||
return 1;
|
||
}
|
||
|
||
/* 8021C1DC-8021C1F0 216B1C 0014+00 0/0 4/4 0/0 .text isFloatingMessageVisible__13dMeter2Info_cFv
|
||
*/
|
||
bool dMeter2Info_c::isFloatingMessageVisible() {
|
||
return mFloatingMessageTimer > 0;
|
||
}
|
||
|
||
/* 8021C1F0-8021C218 216B30 0028+00 0/0 1/1 0/0 .text decFloatingMessageTimer__13dMeter2Info_cFv
|
||
*/
|
||
s16 dMeter2Info_c::decFloatingMessageTimer() {
|
||
if (mFloatingMessageTimer > 0) {
|
||
mFloatingMessageTimer--;
|
||
} else {
|
||
mFloatingMessageTimer = 0;
|
||
}
|
||
return mFloatingMessageTimer;
|
||
}
|
||
|
||
/* 8021C218-8021C238 216B58 0020+00 0/0 3/3 0/0 .text resetFloatingMessage__13dMeter2Info_cFv */
|
||
void dMeter2Info_c::resetFloatingMessage() {
|
||
mFloatingFlowID = -1;
|
||
mFloatingMessageID = -1;
|
||
mFloatingMessageTimer = 0;
|
||
mFloatingMessageWakuVisible = 0;
|
||
}
|
||
|
||
/* 8021C238-8021C250 216B78 0018+00 0/0 2/2 0/0 .text decMsgKeyWaitTimer__13dMeter2Info_cFv */
|
||
void dMeter2Info_c::decMsgKeyWaitTimer() {
|
||
if (mMsgKeyWaitTimer > 0) {
|
||
mMsgKeyWaitTimer--;
|
||
}
|
||
}
|
||
|
||
/* 8021C250-8021C370 216B90 0120+00 0/0 16/16 0/0 .text
|
||
* getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c */
|
||
void dMeter2Info_c::getString(u32 stringID, char* outStr, JMSMesgEntry_c* p_msgEntry) {
|
||
strcpy(outStr, "");
|
||
|
||
u8* msgRes;
|
||
if (mMsgResource == NULL) {
|
||
JKRArchive* msgDtArc = dComIfGp_getMsgDtArchive(0);
|
||
msgRes = (u8*)JKRArchive::getGlbResource('ROOT', "zel_00.bmg", msgDtArc);
|
||
if (msgRes == NULL) {
|
||
return;
|
||
}
|
||
} else {
|
||
msgRes = (u8*)mMsgResource;
|
||
}
|
||
|
||
u8* inf = msgRes + 0x20;
|
||
u32 stringOffset = (*(u32*)(msgRes + 0x24));
|
||
u8* strPtr = inf + stringOffset + 8;
|
||
|
||
u16 i;
|
||
|
||
for (i = 0; i < *(u16*)(inf + 8); i++) {
|
||
u8* entry = (inf + (i * 0x14));
|
||
|
||
if (stringID == *(u16*)(entry + 0x14)) {
|
||
strcpy(outStr, (char*)(strPtr + *(u32*)(entry + 0x10)));
|
||
if (p_msgEntry == NULL) {
|
||
return;
|
||
}
|
||
memcpy(p_msgEntry, entry + 0x10, 0x14);
|
||
return;
|
||
}
|
||
}
|
||
|
||
if (mMsgResource == NULL) {
|
||
dComIfGp_getMsgDtArchive(0)->removeResourceAll();
|
||
}
|
||
}
|
||
|
||
/* 8021C370-8021C544 216CB0 01D4+00 0/0 1/1 0/0 .text
|
||
* getStringKana__13dMeter2Info_cFUlPcP14JMSMesgEntry_c */
|
||
void dMeter2Info_c::getStringKana(u32 param_0, char* param_1, JMSMesgEntry_c* param_2) {
|
||
// NONMATCHING
|
||
}
|
||
|
||
/* 8021C544-8021C6A4 216E84 0160+00 0/0 32/32 1/1 .text
|
||
* getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c */
|
||
void dMeter2Info_c::getStringKanji(u32 param_0, char* param_1, JMSMesgEntry_c* param_2) {
|
||
// NONMATCHING
|
||
}
|
||
|
||
/* 8021C6A4-8021C7F4 216FE4 0150+00 0/0 1/1 0/0 .text
|
||
* getStringLength__13dMeter2Info_cFP10J2DTextBoxPc */
|
||
// NONMATCHING *str type issue
|
||
f32 dMeter2Info_c::getStringLength(J2DTextBox* p_textBox, char* str) {
|
||
f32 strWidth = 0.0f;
|
||
f32 strLength = strWidth;
|
||
|
||
JUTFont* font = p_textBox->getFont();
|
||
f32 charSpace = p_textBox->getCharSpace();
|
||
J2DTextBox::TFontSize fontSize;
|
||
p_textBox->getFontSize(fontSize);
|
||
|
||
for (; *str != 0; str++) {
|
||
if (*str == '\n') {
|
||
if (strLength < strWidth) {
|
||
strLength = strWidth;
|
||
}
|
||
strWidth = 0.0f;
|
||
} else {
|
||
strWidth += charSpace +
|
||
(fontSize.mSizeX * ((f32)font->getWidth(*str) / (f32)font->getCellWidth()));
|
||
}
|
||
}
|
||
|
||
if (strLength < strWidth) {
|
||
strLength = strWidth;
|
||
}
|
||
|
||
return strLength;
|
||
}
|
||
|
||
/* 8021C7FC-8021C934 21713C 0138+00 0/0 3/3 0/0 .text
|
||
* getStringLength__13dMeter2Info_cFP7JUTFontffPc */
|
||
// NONMATCHING getWidth argument type issue
|
||
f32 dMeter2Info_c::getStringLength(JUTFont* param_1, f32 param_2, f32 param_3, char* param_4) {
|
||
f32 fVar1 = 0.0f;
|
||
f32 dVar8 = 0.0f;
|
||
for (char* ptr = param_4; *ptr != '\0'; ptr++) {
|
||
if (*ptr == 10) {
|
||
if (dVar8 < fVar1) {
|
||
dVar8 = fVar1;
|
||
}
|
||
fVar1 = 0.0f;
|
||
} else {
|
||
fVar1 += param_3 +
|
||
param_2 * ((f32)param_1->getWidth(*ptr) / (f32)param_1->getCellWidth());
|
||
}
|
||
}
|
||
if (dVar8 < fVar1) {
|
||
dVar8 = fVar1;
|
||
}
|
||
return dVar8;
|
||
}
|
||
|
||
/* 8021C934-8021C950 217274 001C+00 0/0 2/2 0/0 .text onDirectUseItem__13dMeter2Info_cFi
|
||
*/
|
||
void dMeter2Info_c::onDirectUseItem(int param_0) {
|
||
mDirectUseItem |= (u8)(1 << 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)) ? TRUE : FALSE;
|
||
}
|
||
|
||
/* 80430188-80430280 05CEA8 00F8+00 4/4 267/267 70/70 .bss g_meter2_info */
|
||
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 i_string) {
|
||
if (mMeterString != 0) {
|
||
return 0;
|
||
}
|
||
|
||
if (i_string == 0) {
|
||
return 0;
|
||
}
|
||
|
||
if (dMeter2Info_getMeterClass() != NULL &&
|
||
(dMeter2Info_getMeterClass()->getSubContents() == 0 ||
|
||
(dMeter2Info_getMeterClass()->getSubContents() == 5 &&
|
||
dMeter2Info_getMeterClass()->getSubContentsStringType() == 0)))
|
||
{
|
||
mMeterString = i_string;
|
||
return 1;
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
|
||
/* 8021C9DC-8021CA04 21731C 0028+00 1/1 3/3 0/0 .text resetWarpStatus__13dMeter2Info_cFv
|
||
*/
|
||
void dMeter2Info_c::resetWarpStatus() {
|
||
if (mWarpStatus == 2) {
|
||
dComIfGs_resetLastWarpAcceptStage();
|
||
}
|
||
mWarpStatus = 0;
|
||
}
|
||
|
||
/* 8021CA04-8021CA70 217344 006C+00 0/0 2/2 3/3 .text warpInProc__13dMeter2Info_cFv */
|
||
void dMeter2Info_c::warpInProc() {
|
||
dComIfGs_setWarpMarkFlag(0);
|
||
dComIfGs_resetLastWarpAcceptStage();
|
||
|
||
if (dComIfGs_getItem(SLOT_18, true) != fpcNm_ITEM_LV7_DUNGEON_EXIT) {
|
||
dComIfGs_setItem(SLOT_18, fpcNm_ITEM_DUNGEON_EXIT);
|
||
}
|
||
}
|
||
|
||
/* 8021CA70-8021CC00 2173B0 0190+00 0/0 1/1 0/0 .text warpOutProc__13dMeter2Info_cFv */
|
||
void dMeter2Info_c::warpOutProc() {
|
||
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
|
||
s32 saveTbl = i_dStage_stagInfo_GetSaveTbl(stag_info);
|
||
dComIfGs_setLastWarpAcceptStage(saveTbl);
|
||
|
||
cXyz warpPos(dComIfGs_getRestartRoomPos());
|
||
csXyz warpAngle(0, dComIfGs_getRestartRoomAngleY(), 0);
|
||
|
||
s8 warpRoomNo = dComIfGs_getRestartRoomNo();
|
||
if (!strcmp(dComIfGp_getStartStageName(), "D_MN01")) {
|
||
s32 index = -1;
|
||
if (warpRoomNo == 0) {
|
||
index = 1;
|
||
} else if (warpRoomNo == 5) {
|
||
index = 2;
|
||
} else if (warpRoomNo == 6) {
|
||
index = 2;
|
||
} else if (warpRoomNo == 9) {
|
||
index = 4;
|
||
}
|
||
|
||
if (index != -1) {
|
||
daNpcF_getPlayerInfoFromPlayerList(index, warpRoomNo, warpPos, warpAngle);
|
||
}
|
||
} else if (!strcmp(dComIfGp_getStartStageName(), "D_MN07") && warpRoomNo == 0) {
|
||
daNpcF_getPlayerInfoFromPlayerList(5, warpRoomNo, warpPos, warpAngle);
|
||
}
|
||
|
||
dComIfGs_setWarpItemData(dComIfGp_getStartStageName(), warpPos, warpAngle.y, warpRoomNo, 0, 1);
|
||
dComIfGs_setItem(SLOT_18, fpcNm_ITEM_DUNGEON_BACK);
|
||
}
|
||
|
||
/* 8021CC00-8021CC0C 217540 000C+00 0/0 1/1 1/1 .text resetMeterString__13dMeter2Info_cFv
|
||
*/
|
||
void dMeter2Info_c::resetMeterString() {
|
||
mMeterString = 0;
|
||
}
|
||
|
||
/* 8021CC0C-8021CC80 21754C 0074+00 1/1 1/1 0/0 .text
|
||
* setWarpInfo__13dMeter2Info_cFPCcRC4cXyzsUcUcUc */
|
||
void dMeter2Info_c::setWarpInfo(const char* i_stageName, const cXyz& i_position, s16 i_angle,
|
||
u8 i_roomNo, u8 p5, u8 i_warpPlayerNo) {
|
||
strcpy(mWarpInfo.mStageName, i_stageName);
|
||
mWarpInfo.mPosition = i_position;
|
||
mWarpInfo.mAngle = i_angle;
|
||
mWarpInfo.mRoomNo = i_roomNo;
|
||
mWarpInfo.unk79 = p5;
|
||
mWarpInfo.mWarpPlayerNo = i_warpPlayerNo;
|
||
}
|
||
|
||
/* 8021CC80-8021CF08 2175C0 0288+00 2/2 0/0 0/0 .text getItemType__13dMeter2Info_cFUc */
|
||
u8 dMeter2Info_c::getItemType(u8 itemNo) {
|
||
switch (itemNo) {
|
||
case 1:
|
||
return 1;
|
||
case 2:
|
||
return 2;
|
||
case 3:
|
||
return 3;
|
||
case 4:
|
||
return 4;
|
||
case 5:
|
||
case 0xED:
|
||
return 5;
|
||
case 6:
|
||
return 6;
|
||
case 7:
|
||
return 7;
|
||
case 0x60:
|
||
return 8;
|
||
case 0x61:
|
||
case 0x69:
|
||
return 9;
|
||
case 0x62:
|
||
return 10;
|
||
case 0x63:
|
||
return 11;
|
||
case 0x64:
|
||
return 12;
|
||
case 0x65:
|
||
return 13;
|
||
case 0x66:
|
||
case 0x68:
|
||
case 0x9D:
|
||
return 14;
|
||
case 0x67:
|
||
return 15;
|
||
case 0x6B:
|
||
case 0x6D:
|
||
return 0x10;
|
||
case 0x7D:
|
||
return 0x11;
|
||
case 0x7E:
|
||
case 0x7F:
|
||
return 0x12;
|
||
case 0x6A:
|
||
return 0x13;
|
||
case 0x78:
|
||
return 0x14;
|
||
case 0x79:
|
||
return 0x15;
|
||
case 0x7A:
|
||
return 0x16;
|
||
case 0x7B:
|
||
return 0x17;
|
||
case 0x7C:
|
||
return 0x18;
|
||
case 0x77:
|
||
return 0x19;
|
||
case 0x9F:
|
||
return 0x1A;
|
||
case 0xEF:
|
||
case 0xF0:
|
||
case 0xF1:
|
||
case 0xF2:
|
||
return 0x1B;
|
||
case 0x6C:
|
||
return 0x1C;
|
||
case 0x76:
|
||
case 0x9E:
|
||
return 0x1D;
|
||
case 0x74:
|
||
return 0x1E;
|
||
case 0x73:
|
||
case 0x75:
|
||
return 0x1F;
|
||
case 0x59:
|
||
return 33;
|
||
case 0x5A:
|
||
return 34;
|
||
default:
|
||
return 0;
|
||
}
|
||
}
|
||
|
||
/* 8021CF08-8021D36C 217848 0464+00 0/0 9/9 0/0 .text
|
||
* readItemTexture__13dMeter2Info_cFUcPvP10J2DPicturePvP10J2DPicturePvP10J2DPicturePvP10J2DPicturei
|
||
*/
|
||
// NONMATCHING regalloc
|
||
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) {
|
||
u8 itemType = getItemType(itemNo);
|
||
int ret = 0;
|
||
|
||
if (param_1 != NULL) {
|
||
if ((itemNo == fpcNm_ITEM_KANTERA && dComIfGs_getOil() == 0) || itemNo == fpcNm_ITEM_KANTERA2) {
|
||
dComIfGp_getItemIconArchive()->readIdxResource(param_1, 0xC00, 0x23);
|
||
} else if (itemNo == fpcNm_ITEM_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)
|
||
{
|
||
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));
|
||
}
|
||
|
||
DCStoreRangeNoSync(param_1, 0xC00);
|
||
if (param_2 != NULL) {
|
||
if ((itemType == 0x1B || itemType == 0x1C || itemType == 0x1D || itemType == 0x1E) &&
|
||
param_5 == NULL)
|
||
{
|
||
set2ndColor(itemType, param_2);
|
||
} else {
|
||
set1stColor(itemType, param_2);
|
||
}
|
||
param_2->changeTexture((ResTIMG*)param_1, 0);
|
||
}
|
||
|
||
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));
|
||
DCStoreRangeNoSync(param_3, 0xC00);
|
||
if (param_4 != NULL) {
|
||
set3rdColor(itemType, param_4);
|
||
param_4->changeTexture((ResTIMG*)param_3, 0);
|
||
}
|
||
ret = 2;
|
||
} else {
|
||
dComIfGp_getItemIconArchive()->readIdxResource(param_3, 0xC00,
|
||
get2ndTexture(itemType));
|
||
DCStoreRangeNoSync(param_3, 0xC00);
|
||
if (param_4 != NULL) {
|
||
set2ndColor(itemType, param_4);
|
||
param_4->changeTexture((ResTIMG*)param_3, 0);
|
||
}
|
||
ret = 2;
|
||
|
||
if (param_5 != NULL && get3rdTexture(itemType) > 0) {
|
||
dComIfGp_getItemIconArchive()->readIdxResource(param_5, 0xC00,
|
||
get3rdTexture(itemType));
|
||
DCStoreRangeNoSync(param_5, 0xC00);
|
||
if (param_6 != NULL) {
|
||
set3rdColor(itemType, param_6);
|
||
param_6->changeTexture((ResTIMG*)param_5, 0);
|
||
}
|
||
ret = 3;
|
||
|
||
if (param_7 != NULL && get4thTexture(itemType) > 0) {
|
||
dComIfGp_getItemIconArchive()->readIdxResource(param_7, 0xC00,
|
||
get4thTexture(itemType));
|
||
DCStoreRangeNoSync(param_7, 0xC00);
|
||
if (param_8 != NULL) {
|
||
set4thColor(itemType, param_8);
|
||
param_8->changeTexture((ResTIMG*)param_7, 0);
|
||
}
|
||
ret = 4;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
return ret;
|
||
}
|
||
|
||
/* 8021D36C-8021D44C 217CAC 00E0+00 0/0 2/2 0/0 .text
|
||
* setItemColor__13dMeter2Info_cFUcP10J2DPictureP10J2DPictureP10J2DPictureP10J2DPicture */
|
||
void dMeter2Info_c::setItemColor(u8 param_1, J2DPicture* param_2, J2DPicture* param_3,
|
||
J2DPicture* param_4, J2DPicture* param_5) {
|
||
u8 itemType = getItemType(param_1);
|
||
if (param_2 != NULL) {
|
||
set1stColor(itemType, param_2);
|
||
if (param_3 != NULL) {
|
||
if ((itemType == 27 || itemType == 28 || itemType == 29 || itemType == 30) &&
|
||
param_4 == NULL)
|
||
{
|
||
set3rdColor(itemType, param_3);
|
||
} else {
|
||
set2ndColor(itemType, param_3);
|
||
if (param_4 != NULL) {
|
||
set3rdColor(itemType, param_4);
|
||
if (param_5 != NULL) {
|
||
set4thColor(itemType, param_5);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/* 8021D44C-8021D4B8 217D8C 006C+00 2/1 0/0 0/0 .text get2ndTexture__13dMeter2Info_cFUc
|
||
*/
|
||
s16 dMeter2Info_c::get2ndTexture(u8 itemType) {
|
||
switch (itemType) {
|
||
case fpcNm_ITEM_GREEN_RUPEE:
|
||
case fpcNm_ITEM_BLUE_RUPEE:
|
||
case fpcNm_ITEM_YELLOW_RUPEE:
|
||
case fpcNm_ITEM_RED_RUPEE:
|
||
case fpcNm_ITEM_PURPLE_RUPEE:
|
||
case fpcNm_ITEM_ORANGE_RUPEE:
|
||
case fpcNm_ITEM_SILVER_RUPEE:
|
||
return 0x2e;
|
||
case fpcNm_ITEM_S_MAGIC:
|
||
case fpcNm_ITEM_L_MAGIC:
|
||
case fpcNm_ITEM_BOMB_5:
|
||
case fpcNm_ITEM_BOMB_10:
|
||
case fpcNm_ITEM_BOMB_20:
|
||
case fpcNm_ITEM_BOMB_30:
|
||
case fpcNm_ITEM_ARROW_10:
|
||
case fpcNm_ITEM_ARROW_20:
|
||
case fpcNm_ITEM_ARROW_30:
|
||
case fpcNm_ITEM_ARROW_1:
|
||
case fpcNm_ITEM_PACHINKO_SHOT:
|
||
case fpcNm_ITEM_NOENTRY_19:
|
||
case fpcNm_ITEM_NOENTRY_20:
|
||
case fpcNm_ITEM_NOENTRY_21:
|
||
case fpcNm_ITEM_WATER_BOMB_5:
|
||
case fpcNm_ITEM_WATER_BOMB_10:
|
||
case fpcNm_ITEM_WATER_BOMB_20:
|
||
case fpcNm_ITEM_WATER_BOMB_30:
|
||
case fpcNm_ITEM_BOMB_INSECT_5:
|
||
case fpcNm_ITEM_TRIPLE_HEART:
|
||
return 0xe;
|
||
case fpcNm_ITEM_BOMB_INSECT_10:
|
||
return 0x14;
|
||
case fpcNm_ITEM_BOMB_INSECT_20:
|
||
return 0x27;
|
||
case fpcNm_ITEM_BOMB_INSECT_30:
|
||
return 0xf;
|
||
case fpcNm_ITEM_RECOVERY_FAILY:
|
||
return 0x10;
|
||
case fpcNm_ITEM_KAKERA_HEART:
|
||
case fpcNm_ITEM_UTAWA_HEART:
|
||
case fpcNm_ITEM_MAP:
|
||
return 0x69;
|
||
case fpcNm_ITEM_COMPUS:
|
||
return 0x2a;
|
||
default:
|
||
case fpcNm_ITEM_SMALL_KEY:
|
||
return -1;
|
||
}
|
||
}
|
||
|
||
/* 8021D4B8-8021D4FC 217DF8 0044+00 1/1 0/0 0/0 .text get3rdTexture__13dMeter2Info_cFUc
|
||
*/
|
||
s16 dMeter2Info_c::get3rdTexture(u8 itemType) {
|
||
switch (itemType) {
|
||
case fpcNm_ITEM_GREEN_RUPEE:
|
||
case fpcNm_ITEM_BLUE_RUPEE:
|
||
case fpcNm_ITEM_YELLOW_RUPEE:
|
||
case fpcNm_ITEM_RED_RUPEE:
|
||
case fpcNm_ITEM_PURPLE_RUPEE:
|
||
case fpcNm_ITEM_ORANGE_RUPEE:
|
||
case fpcNm_ITEM_SILVER_RUPEE:
|
||
return 0x2e;
|
||
case fpcNm_ITEM_BOMB_INSECT_10:
|
||
case fpcNm_ITEM_BOMB_INSECT_20:
|
||
case fpcNm_ITEM_BOMB_INSECT_30:
|
||
case fpcNm_ITEM_RECOVERY_FAILY:
|
||
return 0x0e;
|
||
default:
|
||
return -1;
|
||
}
|
||
}
|
||
|
||
/* 8021D4FC-8021D524 217E3C 0028+00 1/1 0/0 0/0 .text get4thTexture__13dMeter2Info_cFUc
|
||
*/
|
||
s16 dMeter2Info_c::get4thTexture(u8 itemType) {
|
||
switch (itemType) {
|
||
case fpcNm_ITEM_GREEN_RUPEE:
|
||
case fpcNm_ITEM_BLUE_RUPEE:
|
||
case fpcNm_ITEM_YELLOW_RUPEE:
|
||
case fpcNm_ITEM_RED_RUPEE:
|
||
case fpcNm_ITEM_PURPLE_RUPEE:
|
||
case fpcNm_ITEM_ORANGE_RUPEE:
|
||
case fpcNm_ITEM_SILVER_RUPEE:
|
||
return 0x2e;
|
||
default:
|
||
return -1;
|
||
}
|
||
}
|
||
|
||
/* 8021D524-8021D644 217E64 0120+00 2/2 0/0 0/0 .text set1stColor__13dMeter2Info_cFUcP10J2DPicture
|
||
*/
|
||
void dMeter2Info_c::set1stColor(u8 param_1, J2DPicture* param_2) {
|
||
static GXColor const black_color[37] = {
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x60, 0x00, 0x00}, {0x00, 0x00, 0xC0, 0x00},
|
||
{0xA0, 0x60, 0x00, 0x00}, {0xA0, 0x00, 0x00, 0x00}, {0x40, 0x00, 0x60, 0x00},
|
||
{0xE0, 0x00, 0x00, 0x00}, {0x40, 0x40, 0x40, 0x00}, {0x6E, 0x6E, 0x64, 0x00},
|
||
{0x32, 0x00, 0x00, 0x00}, {0x00, 0x7F, 0x00, 0x00}, {0x00, 0x00, 0x7F, 0x00},
|
||
{0xAF, 0x9B, 0x6E, 0x00}, {0xAA, 0x9B, 0x6E, 0x00}, {0x55, 0x37, 0x14, 0x00},
|
||
{0x6E, 0x6E, 0x6E, 0x00}, {0x6E, 0x6E, 0x6E, 0x00}, {0xFF, 0x58, 0x00, 0x00},
|
||
{0x6C, 0x3E, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x32, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x7F, 0x00}, {0x00, 0x7F, 0x00, 0x00}, {0x55, 0x37, 0x14, 0x00},
|
||
{0x00, 0x00, 0x22, 0x00}, {0x2B, 0x18, 0x22, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x46, 0x46, 0x41, 0x00}, {0x46, 0x46, 0x41, 0x00}, {0x46, 0x46, 0x41, 0x00},
|
||
{0x46, 0x46, 0x41, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00},
|
||
};
|
||
|
||
static GXColor const white_color[37] = {
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0x60, 0xFF, 0x00, 0xFF}, {0x00, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0x00, 0xFF}, {0xFF, 0x80, 0x80, 0xFF}, {0xBE, 0x40, 0xFF, 0xFF},
|
||
{0xFF, 0xC0, 0x00, 0xFF}, {0xC0, 0xC0, 0xC0, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF},
|
||
{0xFF, 0xD2, 0xAA, 0xFF}, {0xEF, 0xF5, 0xC9, 0xFF}, {0xB0, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xF0, 0xFF}, {0xFF, 0xFF, 0xF0, 0xFF}, {0xFF, 0xFF, 0xD7, 0xFF},
|
||
{0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, {0xFF, 0xFF, 0xC2, 0xFF},
|
||
{0xFF, 0x9D, 0x00, 0xFF}, {0xC8, 0xC8, 0xC8, 0xFF}, {0xFF, 0xD2, 0xAA, 0xFF},
|
||
{0xB0, 0xFF, 0xFF, 0xFF}, {0xEF, 0xF5, 0xC9, 0xFF}, {0xFF, 0xFF, 0xD7, 0xFF},
|
||
{0xD7, 0xCF, 0xF5, 0xFF}, {0xFF, 0xFF, 0x33, 0xFF}, {0xC8, 0xC8, 0xC8, 0xFF},
|
||
{0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF},
|
||
{0xF5, 0xF5, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF},
|
||
};
|
||
|
||
static GXColor const vertex_color_lu[37] = {
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0x00},
|
||
{0xFF, 0x78, 0xAF, 0xFF}, {0x5C, 0xB4, 0x16, 0xFF}, {0xA4, 0xFF, 0x00, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0x78, 0xAF, 0xFF},
|
||
{0xA4, 0xFF, 0x00, 0xFF}, {0x5C, 0xB4, 0x16, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF},
|
||
{0xC9, 0xB4, 0xFF, 0xFF}, {0x3C, 0x0A, 0x00, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00},
|
||
{0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xA0, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF},
|
||
};
|
||
|
||
static GXColor const vertex_color_ru[37] = {
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0x00},
|
||
{0xFF, 0xFF, 0x73, 0xFF}, {0xFF, 0xFF, 0x2A, 0xFF}, {0x98, 0xFF, 0x00, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0x73, 0xFF},
|
||
{0x98, 0xFF, 0x00, 0xFF}, {0xFF, 0xFF, 0x2A, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0x39, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00},
|
||
{0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xA0, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF},
|
||
};
|
||
|
||
static GXColor const vertex_color_ld[37] = {
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0x78, 0x6E, 0x3C, 0xFF},
|
||
{0xFF, 0x00, 0x00, 0xFF}, {0x3C, 0x32, 0x50, 0xFF}, {0x00, 0x00, 0x74, 0xFF},
|
||
{0xFA, 0xC8, 0x9B, 0xFF}, {0xFA, 0xC8, 0x9B, 0xFF}, {0x46, 0x87, 0x00, 0xFF},
|
||
{0x5A, 0xB4, 0xB4, 0xFF}, {0x5A, 0xB4, 0xB4, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0xFF, 0x00, 0x00, 0xFF},
|
||
{0x00, 0x00, 0x74, 0xFF}, {0x3C, 0x32, 0x50, 0xFF}, {0x46, 0x87, 0x00, 0xFF},
|
||
{0x3C, 0x32, 0x50, 0x49}, {0xFF, 0xFF, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF},
|
||
{0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF},
|
||
{0x00, 0x00, 0x00, 0xFF}, {0xE0, 0x00, 0xE0, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF},
|
||
};
|
||
|
||
static GXColor const vertex_color_rd[37] = {
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0x78, 0x6E, 0x3C, 0xFF},
|
||
{0xFF, 0x96, 0x00, 0xFF}, {0x55, 0x42, 0x00, 0xFF}, {0x61, 0x48, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xAA, 0xFF}, {0xFF, 0xFF, 0xAA, 0xFF}, {0xAF, 0x91, 0x23, 0xFF},
|
||
{0xE6, 0xFA, 0xFF, 0xFF}, {0xE6, 0xFA, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0xFF, 0x96, 0x00, 0xFF},
|
||
{0x61, 0x48, 0xFF, 0xFF}, {0x55, 0x42, 0x00, 0xFF}, {0xAF, 0x91, 0x23, 0xFF},
|
||
{0x3C, 0x09, 0x4E, 0xFF}, {0xBA, 0x98, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF},
|
||
{0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF},
|
||
{0x00, 0x00, 0x00, 0xFF}, {0xE0, 0x00, 0xE0, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF},
|
||
};
|
||
|
||
param_2->setBlackWhite(*(JUtility::TColor*)&black_color[param_1],
|
||
*(JUtility::TColor*)&white_color[param_1]);
|
||
param_2->setCornerColor(*(JUtility::TColor*)&vertex_color_lu[param_1],
|
||
*(JUtility::TColor*)&vertex_color_ru[param_1],
|
||
*(JUtility::TColor*)&vertex_color_ld[param_1],
|
||
*(JUtility::TColor*)&vertex_color_rd[param_1]);
|
||
}
|
||
|
||
/* 8021D644-8021D764 217F84 0120+00 2/2 0/0 0/0 .text set2ndColor__13dMeter2Info_cFUcP10J2DPicture
|
||
*/
|
||
void dMeter2Info_c::set2ndColor(u8 param_1, J2DPicture* param_2) {
|
||
static GXColor const black_color[37] = {
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x86, 0xD4, 0x00}, {0xE6, 0x1E, 0xFF, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
|
||
{0x00, 0x00, 0x00, 0x00},
|
||
};
|
||
|
||
static GXColor const white_color[37] = {
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xF5, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xC8, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF},
|
||
};
|
||
|
||
static GXColor const vertex_color_lu[37] = {
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0x00, 0x00, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF},
|
||
};
|
||
|
||
static GXColor const vertex_color_ru[37] = {
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0x00, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0x58},
|
||
{0xFF, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF},
|
||
};
|
||
|
||
static GXColor const vertex_color_ld[37] = {
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF},
|
||
};
|
||
|
||
static GXColor const vertex_color_rd[37] = {
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xCD, 0xFF, 0xFF, 0xFF}, {0xCD, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
|
||
{0xFF, 0xFF, 0xFF, 0xFF},
|
||
};
|
||
|
||
param_2->setBlackWhite(*(JUtility::TColor*)&black_color[param_1],
|
||
*(JUtility::TColor*)&white_color[param_1]);
|
||
param_2->setCornerColor(*(JUtility::TColor*)&vertex_color_lu[param_1],
|
||
*(JUtility::TColor*)&vertex_color_ru[param_1],
|
||
*(JUtility::TColor*)&vertex_color_ld[param_1],
|
||
*(JUtility::TColor*)&vertex_color_rd[param_1]);
|
||
}
|
||
|
||
/* 8021D764-8021DB64 2180A4 0400+00 2/2 0/0 0/0 .text set3rdColor__13dMeter2Info_cFUcP10J2DPicture
|
||
*/
|
||
void dMeter2Info_c::set3rdColor(u8 param_1, J2DPicture* param_2) {
|
||
if (param_1 == 27) {
|
||
param_2->setBlackWhite(JUtility::TColor(0, 0, 0, 0),
|
||
JUtility::TColor(0xff, 0xff, 0xff, 0xff));
|
||
param_2->setCornerColor(
|
||
JUtility::TColor(0xff, 0xff, 0xff, 0xff), JUtility::TColor(0xff, 0xff, 0xff, 0xff),
|
||
JUtility::TColor(0xff, 0xff, 0xff, 0xff), JUtility::TColor(0xff, 0xff, 0xff, 0xff));
|
||
} else if (param_1 == 28 || param_1 == 29 || param_1 == 30) {
|
||
param_2->setBlackWhite(JUtility::TColor(0, 0, 0, 0),
|
||
JUtility::TColor(0xff, 0xff, 0xff, 0xff));
|
||
param_2->setCornerColor(
|
||
JUtility::TColor(0xff, 0xff, 0xff, 0xff), JUtility::TColor(0xff, 0xff, 0xff, 0xff),
|
||
JUtility::TColor(0xff, 0xff, 0xff, 0xff), JUtility::TColor(0xcd, 0xff, 0xff, 0xff));
|
||
} else {
|
||
param_2->setBlackWhite(JUtility::TColor(0, 0, 0, 0),
|
||
JUtility::TColor(0xff, 0xff, 0xff, 0xff));
|
||
param_2->setCornerColor(
|
||
JUtility::TColor(0xff, 0xff, 0xff, 0xff), JUtility::TColor(0xff, 0xff, 0xff, 0xff),
|
||
JUtility::TColor(0xff, 0xff, 0xff, 0xff), JUtility::TColor(0xff, 0xff, 0xff, 0xff));
|
||
}
|
||
}
|
||
|
||
/* 8021DB64-8021DCC4 2184A4 0160+00 2/2 0/0 0/0 .text set4thColor__13dMeter2Info_cFUcP10J2DPicture
|
||
*/
|
||
void dMeter2Info_c::set4thColor(u8 param_1, J2DPicture* param_2) {
|
||
param_2->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0xff, 0xff, 0xff, 0xff));
|
||
param_2->setCornerColor(
|
||
JUtility::TColor(0xff, 0xff, 0xff, 0xff), JUtility::TColor(0xff, 0xff, 0xff, 0xff),
|
||
JUtility::TColor(0xff, 0xff, 0xff, 0xff), JUtility::TColor(0xff, 0xff, 0xff, 0xff));
|
||
}
|
||
|
||
/* 8021DCC4-8021DCE0 218604 001C+00 0/0 2/2 0/0 .text setHotSpringTimer__13dMeter2Info_cFUc */
|
||
void dMeter2Info_c::setHotSpringTimer(u8 slotNo) {
|
||
int i_bottleIdx = slotNo - 11;
|
||
mHotSpringTimer[i_bottleIdx] = 900;
|
||
}
|
||
|
||
/* 8021DCE0-8021DD5C 218620 007C+00 0/0 1/1 0/0 .text decHotSpringTimer__13dMeter2Info_cFv */
|
||
void dMeter2Info_c::decHotSpringTimer() {
|
||
for (int i = 0; i < 4; i++) {
|
||
if (mHotSpringTimer[i] != 0) {
|
||
mHotSpringTimer[i]--;
|
||
if (mHotSpringTimer[i] == 0) {
|
||
changeWater(i + SLOT_11);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/* 8021DD5C-8021DE18 21869C 00BC+00 2/2 1/1 0/0 .text changeWater__13dMeter2Info_cFUc */
|
||
void dMeter2Info_c::changeWater(u8 i_slotNo) {
|
||
int i_bottleIdx = i_slotNo - SLOT_11;
|
||
mHotSpringTimer[i_bottleIdx] = 0;
|
||
|
||
if (dComIfGs_getItem(i_slotNo, true) == fpcNm_ITEM_HOT_SPRING) {
|
||
dComIfGs_setItem(i_slotNo, fpcNm_ITEM_WATER_BOTTLE);
|
||
|
||
for (int i = 0; i < 3; i++) {
|
||
if (i_slotNo == dComIfGs_getSelectItemIndex(i)) {
|
||
dComIfGp_setSelectItem(i);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/* 8021DE18-8021E0C4 218758 02AC+00 0/0 3/3 3/3 .text setMiniGameItem__13dMeter2Info_cFUc
|
||
*/
|
||
void dMeter2Info_c::setMiniGameItem(u8 minigameFlag) {
|
||
bool mgItemSet = false;
|
||
|
||
if (mMiniGameItemSetFlag != 0) {
|
||
mgItemSet = true;
|
||
}
|
||
|
||
if (mRentalBombBagIdx == 0xFF) {
|
||
bool setRentBagIdx = false;
|
||
|
||
for (int bagIdx = 0; bagIdx < 3; bagIdx++) {
|
||
if (!setRentBagIdx && dComIfGs_getItem((u8)(bagIdx + SLOT_15), true) == fpcNm_ITEM_NONE) {
|
||
mRentalBombBagIdx = bagIdx;
|
||
setRentBagIdx = true;
|
||
}
|
||
}
|
||
if (!setRentBagIdx) {
|
||
mRentalBombBagIdx = 2;
|
||
}
|
||
}
|
||
|
||
mMiniGameItemSetFlag = minigameFlag;
|
||
|
||
for (int i = 0; i < 2; i++) {
|
||
mSaveMixItemIdx[i] = dComIfGs_getMixItemIndex(i);
|
||
mSaveSelItemIdx[i] = dComIfGs_getSelectItemIndex(i);
|
||
}
|
||
|
||
mSaveBombNum = dComIfGs_getBombNum(mRentalBombBagIdx);
|
||
mSaveArrowNum = dComIfGs_getArrowNum();
|
||
mSaveBowItem = dComIfGs_getItem(SLOT_4, false);
|
||
mSaveBombItem = dComIfGs_getItem((u8)(mRentalBombBagIdx + SLOT_15), false);
|
||
|
||
if (mgItemSet) {
|
||
for (int i = 0; i < 2; i++) {
|
||
dComIfGs_setMixItemIndex(i, mSaveMixItemIdxMG[i]);
|
||
dComIfGs_setSelectItemIndex(i, mSaveSelItemIdxMG[i]);
|
||
}
|
||
dComIfGs_setItem(SLOT_4, mSaveBowItemMG);
|
||
dComIfGp_setItem(SLOT_4, mSaveBowItemMG);
|
||
dComIfGs_setItem((u8)(mRentalBombBagIdx + SLOT_15), mSaveBombItemMG);
|
||
dComIfGp_setItem((u8)(mRentalBombBagIdx + SLOT_15), mSaveBombItemMG);
|
||
dComIfGs_setBombNum(mRentalBombBagIdx, mSaveBombNumMG);
|
||
dComIfGs_setArrowNum(mSaveArrowNumMG);
|
||
}
|
||
|
||
dComIfGs_setItem((u8)(mRentalBombBagIdx + SLOT_15), fpcNm_ITEM_NORMAL_BOMB);
|
||
dComIfGp_setItem((u8)(mRentalBombBagIdx + SLOT_15), fpcNm_ITEM_NORMAL_BOMB);
|
||
|
||
if (mMiniGameItemSetFlag != 3) {
|
||
dComIfGs_setItem(SLOT_4, fpcNm_ITEM_BOW);
|
||
dComIfGp_setItem(SLOT_4, fpcNm_ITEM_BOW);
|
||
dComIfGs_setMixItemIndex(SELECT_ITEM_Y, 0xFF);
|
||
dComIfGs_setSelectItemIndex(SELECT_ITEM_Y, 0xFF);
|
||
dComIfGs_setMixItemIndex(SELECT_ITEM_X, SLOT_4);
|
||
dComIfGs_setSelectItemIndex(SELECT_ITEM_X, (u8)(mRentalBombBagIdx + SLOT_15));
|
||
}
|
||
|
||
if (!mgItemSet) {
|
||
dComIfGs_setBombNum(mRentalBombBagIdx, 30);
|
||
u8 arrow_max = dComIfGs_getArrowMax();
|
||
dComIfGs_setArrowNum(arrow_max);
|
||
}
|
||
}
|
||
|
||
/* 8021E0C4-8021E268 218A04 01A4+00 0/0 3/3 4/4 .text resetMiniGameItem__13dMeter2Info_cFb */
|
||
void dMeter2Info_c::resetMiniGameItem(bool saveMGItem) {
|
||
if (mMiniGameItemSetFlag != 0) {
|
||
if (saveMGItem) {
|
||
for (int i = 0; i < 2; i++) {
|
||
mSaveMixItemIdxMG[i] = dComIfGs_getMixItemIndex(i);
|
||
mSaveSelItemIdxMG[i] = dComIfGs_getSelectItemIndex(i);
|
||
}
|
||
|
||
mSaveBombNumMG = dComIfGs_getBombNum(mRentalBombBagIdx);
|
||
mSaveArrowNumMG = dComIfGs_getArrowNum();
|
||
mSaveBowItemMG = dComIfGs_getItem(SLOT_4, false);
|
||
mSaveBombItemMG = dComIfGs_getItem((u8)(mRentalBombBagIdx + SLOT_15), false);
|
||
}
|
||
|
||
for (int i = 0; i < 2; i++) {
|
||
dComIfGs_setMixItemIndex(i, mSaveMixItemIdx[i]);
|
||
dComIfGs_setSelectItemIndex(i, mSaveSelItemIdx[i]);
|
||
}
|
||
|
||
dComIfGs_setItem(SLOT_4, mSaveBowItem);
|
||
dComIfGp_setItem(SLOT_4, mSaveBowItem);
|
||
|
||
dComIfGs_setItem((u8)(mRentalBombBagIdx + SLOT_15), mSaveBombItem);
|
||
dComIfGp_setItem((u8)(mRentalBombBagIdx + SLOT_15), mSaveBombItem);
|
||
|
||
dComIfGs_setBombNum(mRentalBombBagIdx, mSaveBombNum);
|
||
dComIfGs_setArrowNum(mSaveArrowNum);
|
||
|
||
if (!saveMGItem) {
|
||
mMiniGameItemSetFlag = 0;
|
||
mRentalBombBagIdx = 0xFF;
|
||
}
|
||
}
|
||
}
|
||
|
||
/* 8021E268-8021E290 218BA8 0028+00 0/0 0/0 5/5 .text setMiniGameCount__13dMeter2Info_cFSc */
|
||
void dMeter2Info_c::setMiniGameCount(s8 count) {
|
||
if (count < -99) {
|
||
count = -99;
|
||
}
|
||
if (count > 99) {
|
||
count = 99;
|
||
}
|
||
mMiniGameCount = count;
|
||
}
|
||
|
||
/* 8021E290-8021E2B4 218BD0 0024+00 1/1 2/2 0/0 .text setSaveStageName__13dMeter2Info_cFPCc */
|
||
void dMeter2Info_c::setSaveStageName(const char* i_stageName) {
|
||
strcpy(mSaveStageName, i_stageName);
|
||
}
|
||
|
||
/* 8021E2B4-8021E2C8 218BF4 0014+00 0/0 0/0 1/1 .text dMeter2Info_getNowLifeGauge__Fv */
|
||
s16 dMeter2Info_getNowLifeGauge() {
|
||
return dMeter2Info_getMeterClass()->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",
|
||
};
|
||
|
||
return tex_name[nameIdx];
|
||
}
|
||
|
||
const char* dMeter2Info_getPlusTextureName() {
|
||
static const char* tex_name;
|
||
static s8 initTexName;
|
||
|
||
if (!initTexName) {
|
||
tex_name = "im_plus_metal_24x24_00.bti";
|
||
initTexName = true;
|
||
}
|
||
return tex_name;
|
||
}
|
||
|
||
/* 8021E308-8021E4B0 218C48 01A8+00 0/0 3/3 0/0 .text dMeter2Info_getPixel__FffffffPC7ResTIMG */
|
||
bool dMeter2Info_getPixel(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4,
|
||
f32 param_5, ResTIMG const* param_6) {
|
||
// NONMATCHING
|
||
}
|
||
|
||
/* 8021E4B0-8021E530 218DF0 0080+00 0/0 2/2 1/1 .text dMeter2Info_setCloth__FUcb */
|
||
void dMeter2Info_setCloth(u8 i_clothId, bool param_1) {
|
||
switch (i_clothId) {
|
||
case fpcNm_ITEM_WEAR_CASUAL:
|
||
case fpcNm_ITEM_WEAR_KOKIRI:
|
||
case fpcNm_ITEM_ARMOR:
|
||
case fpcNm_ITEM_WEAR_ZORA:
|
||
break;
|
||
default:
|
||
i_clothId = fpcNm_ITEM_WEAR_CASUAL;
|
||
param_1 = false;
|
||
}
|
||
|
||
if (param_1 && dComIfGs_getSelectEquipClothes() != fpcNm_ITEM_NONE) {
|
||
u8 equip_cloth = dComIfGs_getSelectEquipClothes();
|
||
dComIfGs_offItemFirstBit(equip_cloth);
|
||
}
|
||
dComIfGs_setSelectEquipClothes(i_clothId);
|
||
dComIfGp_setSelectEquipClothes(i_clothId);
|
||
}
|
||
|
||
/* 8021E530-8021E5D4 218E70 00A4+00 0/0 3/3 3/3 .text dMeter2Info_setSword__FUcb */
|
||
void dMeter2Info_setSword(u8 i_itemId, bool param_1) {
|
||
switch (i_itemId) {
|
||
case fpcNm_ITEM_NONE:
|
||
case fpcNm_ITEM_WOOD_STICK:
|
||
case fpcNm_ITEM_SWORD:
|
||
case fpcNm_ITEM_MASTER_SWORD:
|
||
case fpcNm_ITEM_LIGHT_SWORD:
|
||
break;
|
||
default:
|
||
i_itemId = fpcNm_ITEM_NONE;
|
||
param_1 = false;
|
||
}
|
||
|
||
if (param_1 && dComIfGs_getSelectEquipSword() != 0xFF) {
|
||
u8 tmp = dComIfGs_getSelectEquipSword();
|
||
dComIfGs_offItemFirstBit(tmp);
|
||
}
|
||
dComIfGs_setSelectEquipSword(i_itemId);
|
||
dComIfGp_setSelectEquipSword(i_itemId);
|
||
}
|
||
|
||
/* 8021E5D4-8021E660 218F14 008C+00 0/0 3/3 0/0 .text dMeter2Info_setShield__FUcb */
|
||
void dMeter2Info_setShield(u8 i_itemId, bool param_1) {
|
||
switch (i_itemId) {
|
||
case fpcNm_ITEM_NONE:
|
||
case fpcNm_ITEM_WOOD_SHIELD:
|
||
case fpcNm_ITEM_SHIELD:
|
||
case fpcNm_ITEM_HYLIA_SHIELD:
|
||
break;
|
||
default:
|
||
i_itemId = fpcNm_ITEM_NONE;
|
||
param_1 = false;
|
||
}
|
||
|
||
if (param_1 && dComIfGs_getSelectEquipShield() != 0xFF) {
|
||
u8 tmp = dComIfGs_getSelectEquipShield();
|
||
dComIfGs_offItemFirstBit(tmp);
|
||
}
|
||
dComIfGs_setSelectEquipShield(i_itemId);
|
||
dComIfGp_setSelectEquipShield(i_itemId);
|
||
}
|
||
|
||
/* 8021E660-8021E668 218FA0 0008+00 0/0 1/1 0/0 .text dMeter2Info_is2DActiveTouchArea__Fv
|
||
*/
|
||
bool dMeter2Info_is2DActiveTouchArea() {
|
||
return false;
|
||
}
|
||
|
||
/* 8021E668-8021E688 218FA8 0020+00 0/0 1/1 0/0 .text dMeter2Info_isMapOpenCheck__Fv */
|
||
bool dMeter2Info_isMapOpenCheck() {
|
||
return dMeter2Info_getMeterMapClass()->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()->getSumouMode() || dMeter2Info_isSub2DStatus(1))
|
||
{
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
|
||
/* 803BF81C-803BFA1C 01C93C 0200+00 3/3 6/6 0/0 .data letter_data__12dMenu_Letter */
|
||
dMenu_LetterData dMenu_Letter::letter_data[64] = {
|
||
{0x09C5, 0x0A29, 0x0A8D, 0x010B}, {0x09C6, 0x0A2A, 0x0A8E, 0x0237},
|
||
{0x09C7, 0x0A2B, 0x0A8F, 0x0236}, {0x09C8, 0x0A2C, 0x0A90, 0x0037},
|
||
{0x09C9, 0x0A2D, 0x0A91, 0x0039}, {0x09CA, 0x0A2E, 0x0A92, 0x0067},
|
||
{0x09CB, 0x0A2F, 0x0A93, 0x0109}, {0x09CC, 0x0A30, 0x0A94, 0x004D},
|
||
{0x09CD, 0x0A31, 0x0A95, 0x0119}, {0x09CE, 0x0A32, 0x0A96, 0x0108},
|
||
{0x09CF, 0x0A33, 0x0A97, 0x010C}, {0x09D4, 0x0A38, 0x0A9E, 0x010C},
|
||
{0x09D1, 0x0A35, 0x0A9B, 0x00B6}, {0x09D2, 0x0A36, 0x0A9C, 0x0067},
|
||
{0x09D5, 0x0A39, 0x0AA0, 0x031C}, {0x09D6, 0x0A3A, 0x0AA1, 0x010A},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
|
||
};
|
||
|
||
/* 8021E6E4-8021E754 219024 0070+00 1/1 2/2 0/0 .text dMeter2Info_getRecieveLetterNum__Fv
|
||
*/
|
||
u8 dMeter2Info_getRecieveLetterNum() {
|
||
u8 letterNum = 0;
|
||
|
||
for (int i = 0; i < 0x40; i++) {
|
||
if (dComIfGs_isLetterGetFlag(i)) {
|
||
letterNum++;
|
||
}
|
||
}
|
||
return letterNum;
|
||
}
|
||
|
||
/* 8021E754-8021E804 219094 00B0+00 0/0 4/4 2/2 .text dMeter2Info_getNewLetterNum__Fv */
|
||
u8 dMeter2Info_getNewLetterNum() {
|
||
u8 letterNum = 0;
|
||
|
||
for (int i = 0; i < 0x40; i++) {
|
||
if (!dComIfGs_isLetterGetFlag(i) && dMenu_Letter::getLetterName(i) != 0) {
|
||
u16 letterEvent = dMenu_Letter::getLetterEventFlag(i);
|
||
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[letterEvent])) {
|
||
letterNum++;
|
||
}
|
||
}
|
||
}
|
||
return letterNum;
|
||
}
|
||
|
||
/* 8021E804-8021E8DC 219144 00D8+00 0/0 1/1 0/0 .text dMeter2Info_setNewLetterSender__Fv
|
||
*/
|
||
int dMeter2Info_setNewLetterSender() {
|
||
u8 check = 0;
|
||
|
||
for (int i = 0; i < 0x40; i++) {
|
||
if (!dComIfGs_isLetterGetFlag(i) && dMenu_Letter::getLetterName(i) != 0) {
|
||
u16 letterEvent = dMenu_Letter::getLetterEventFlag(i);
|
||
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[letterEvent])) {
|
||
if (check == 0) {
|
||
u16 letterName = dMenu_Letter::getLetterName(i);
|
||
dMsgObject_c::setLetterNameID(letterName);
|
||
} else {
|
||
dMsgObject_c::setLetterNameID(0);
|
||
return 0;
|
||
}
|
||
check++;
|
||
}
|
||
}
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
/* 8021E8DC-8021E9D0 21921C 00F4+00 0/0 1/1 0/0 .text dMeter2Info_recieveLetter__Fv */
|
||
int dMeter2Info_recieveLetter() {
|
||
int rv = FALSE;
|
||
u8 letterNum = dMeter2Info_getRecieveLetterNum();
|
||
for (int i = 0; i < 64; i++) {
|
||
if (!dComIfGs_isLetterGetFlag(i) && dMenu_Letter::getLetterName(i) != 0) {
|
||
u16 eventFlag = dMenu_Letter::getLetterEventFlag(i);
|
||
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[eventFlag])) {
|
||
dComIfGs_onLetterGetFlag(i);
|
||
if (dComIfGs_getGetNumber(letterNum) == 0) {
|
||
dComIfGs_setGetNumber(letterNum, i + 1);
|
||
} else {
|
||
for (int j = 0; j < 0x40; j++) {
|
||
OS_REPORT("letter info =====> %d, %d\n", j, dComIfGs_getGetNumber(j) - 1);
|
||
}
|
||
}
|
||
letterNum++;
|
||
rv = TRUE;
|
||
}
|
||
}
|
||
}
|
||
return rv;
|
||
}
|
||
|
||
/* 8021E9D0-8021E9D4 219310 0004+00 0/0 33/33 0/0 .text dMeter2Info_set2DVibration__Fv */
|
||
void dMeter2Info_set2DVibration() {}
|
||
|
||
/* 8021E9D4-8021E9D8 219314 0004+00 0/0 12/12 0/0 .text dMeter2Info_set2DVibrationM__Fv
|
||
*/
|
||
void dMeter2Info_set2DVibrationM() {}
|
||
|
||
/* 80399168-80399168 0257C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|