// // 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" #include "dol2asm.h" #include "dolphin/types.h" #include "global.h" // // Forward References: // extern "C" void __ct__13dMeter2Info_cFv(); extern "C" void __dt__13dMeter2Info_cFv(); extern "C" void init__13dMeter2Info_cFv(); extern "C" void setFloatingMessage__13dMeter2Info_cFUssb(); extern "C" void setFloatingFlow__13dMeter2Info_cFUssb(); extern "C" void isFloatingMessageVisible__13dMeter2Info_cFv(); extern "C" void decFloatingMessageTimer__13dMeter2Info_cFv(); extern "C" void resetFloatingMessage__13dMeter2Info_cFv(); extern "C" void decMsgKeyWaitTimer__13dMeter2Info_cFv(); extern "C" void getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); extern "C" void getStringKana__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); extern "C" void getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); extern "C" void getStringLength__13dMeter2Info_cFP10J2DTextBoxPc(); extern "C" void getFont__10J2DTextBoxCFv(); extern "C" void getStringLength__13dMeter2Info_cFP7JUTFontffPc(); extern "C" void onDirectUseItem__13dMeter2Info_cFi(); extern "C" void isDirectUseItem__13dMeter2Info_cFi(); extern "C" void setMeterString__13dMeter2Info_cFl(); extern "C" void resetWarpStatus__13dMeter2Info_cFv(); extern "C" void warpInProc__13dMeter2Info_cFv(); extern "C" void warpOutProc__13dMeter2Info_cFv(); extern "C" void resetMeterString__13dMeter2Info_cFv(); extern "C" void setWarpInfo__13dMeter2Info_cFPCcRC4cXyzsUcUcUc(); extern "C" void getItemType__13dMeter2Info_cFUc(); extern "C" void readItemTexture__13dMeter2Info_cFUcPvP10J2DPicturePvP10J2DPicturePvP10J2DPicturePvP10J2DPicturei(); extern "C" void setItemColor__13dMeter2Info_cFUcP10J2DPictureP10J2DPictureP10J2DPictureP10J2DPicture(); extern "C" void get2ndTexture__13dMeter2Info_cFUc(); extern "C" void get3rdTexture__13dMeter2Info_cFUc(); extern "C" void get4thTexture__13dMeter2Info_cFUc(); extern "C" void set1stColor__13dMeter2Info_cFUcP10J2DPicture(); extern "C" void set2ndColor__13dMeter2Info_cFUcP10J2DPicture(); extern "C" void set3rdColor__13dMeter2Info_cFUcP10J2DPicture(); extern "C" void set4thColor__13dMeter2Info_cFUcP10J2DPicture(); extern "C" void setHotSpringTimer__13dMeter2Info_cFUc(); extern "C" void decHotSpringTimer__13dMeter2Info_cFv(); extern "C" void changeWater__13dMeter2Info_cFUc(); extern "C" void setMiniGameItem__13dMeter2Info_cFUc(); extern "C" void resetMiniGameItem__13dMeter2Info_cFb(); extern "C" void setMiniGameCount__13dMeter2Info_cFSc(); extern "C" void setSaveStageName__13dMeter2Info_cFPCc(); extern "C" void dMeter2Info_getNowLifeGauge__Fv(); extern "C" void dMeter2Info_getNumberTextureName__Fi(); extern "C" void dMeter2Info_getPlusTextureName__Fv(); extern "C" void dMeter2Info_getPixel__FffffffPC7ResTIMG(); extern "C" void dMeter2Info_setCloth__FUcb(); extern "C" void dMeter2Info_setSword__FUcb(); extern "C" void dMeter2Info_setShield__FUcb(); extern "C" bool dMeter2Info_is2DActiveTouchArea__Fv(); extern "C" void dMeter2Info_isMapOpenCheck__Fv(); extern "C" void dMeter2Info_isItemOpenCheck__Fv(); extern "C" void dMeter2Info_getRecieveLetterNum__Fv(); extern "C" void dMeter2Info_getNewLetterNum__Fv(); extern "C" void dMeter2Info_setNewLetterSender__Fv(); extern "C" void dMeter2Info_recieveLetter__Fv(); extern "C" void dMeter2Info_set2DVibration__Fv(); extern "C" void dMeter2Info_set2DVibrationM__Fv(); extern "C" extern char const* const d_meter_d_meter2_info__stringBase0; extern "C" u8 letter_data__12dMenu_Letter[512]; // // External References: // extern "C" void dComIfGs_setSelectItemIndex__FiUc(); extern "C" void dComIfGs_setMixItemIndex__FiUc(); extern "C" void dComIfGs_getMixItemIndex__Fi(); extern "C" void dComIfGp_setSelectItem__Fi(); extern "C" void dComIfGs_setSelectEquipClothes__FUc(); extern "C" void dComIfGs_setSelectEquipSword__FUc(); extern "C" void dComIfGs_setSelectEquipShield__FUc(); extern "C" void dComIfGs_setWarpItemData__FPCc4cXyzsScUcUc(); extern "C" void dComIfGs_setWarpMarkFlag__FUc(); extern "C" void getSelectItemIndex__21dSv_player_status_a_cCFi(); extern "C" void setItem__17dSv_player_item_cFiUc(); extern "C" void getItem__17dSv_player_item_cCFib(); extern "C" void offFirstBit__21dSv_player_get_item_cFUc(); extern "C" void setBombNum__24dSv_player_item_record_cFUcUc(); extern "C" void getBombNum__24dSv_player_item_record_cCFUc(); extern "C" void isLightDropGetFlag__16dSv_light_drop_cCFUc(); extern "C" void onLetterGetFlag__17dSv_letter_info_cFi(); extern "C" void isLetterGetFlag__17dSv_letter_info_cCFi(); extern "C" void isEventBit__11dSv_event_cCFUs(); extern "C" void daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz(); extern "C" void isMapOpenCheck__11dMeterMap_cFv(); extern "C" void setLetterNameID__12dMsgObject_cFUs(); extern "C" void __ct__10dMsgFlow_cFv(); extern "C" void __dt__10dMsgFlow_cFv(); extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); extern "C" void getMsgNo__10dMsgFlow_cFv(); extern "C" void __ct__5csXyzFsss(); extern "C" void __dl__FPv(); extern "C" void getGlbResource__10JKRArchiveFUlPCcP10JKRArchive(); extern "C" void readIdxResource__10JKRArchiveFPvUlUl(); extern "C" void __register_global_object(); extern "C" void __cvt_fp2unsigned(); extern "C" void _savegpr_19(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); extern "C" void _savegpr_29(); extern "C" void _restgpr_19(); extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; extern "C" void* item_resource__10dItem_data[1530]; // // Declarations: // /* ############################################################################################## */ /* 80399168-80399168 0257C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push #pragma force_active on SECTION_DEAD static char const* const stringBase_80399168 = ""; SECTION_DEAD static char const* const stringBase_80399169 = "zel_00.bmg"; #pragma pop /* 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() {} /* ############################################################################################## */ /* 80454998-8045499C 002F98 0004+00 4/4 0/0 0/0 .sdata2 @3916 */ SECTION_SDATA2 static u8 lit_3916[4] = { 0x00, 0x00, 0x00, 0x00, }; /* 8045499C-804549A0 002F9C 0004+00 1/1 0/0 0/0 .sdata2 @3917 */ SECTION_SDATA2 static f32 lit_3917 = 1.0f; /* 804549A0-804549A4 002FA0 0004+00 1/1 0/0 0/0 .sdata2 @3918 */ SECTION_SDATA2 static f32 lit_3918 = 30.0f; /* 804549A4-804549A8 002FA4 0004+00 1/1 0/0 0/0 .sdata2 @3919 */ SECTION_SDATA2 static f32 lit_3919 = 304.0f; /* 804549A8-804549AC 002FA8 0004+00 1/1 0/0 0/0 .sdata2 @3920 */ SECTION_SDATA2 static f32 lit_3920 = 224.0f; /* 804549AC-804549B0 002FAC 0004+00 1/1 0/0 0/0 .sdata2 @3921 */ SECTION_SDATA2 static f32 lit_3921 = 608.0f; /* 804549B0-804549B8 002FB0 0004+04 1/1 0/0 0/0 .sdata2 @3922 */ SECTION_SDATA2 static f32 lit_3922[1 + 1 /* padding */] = { 448.0f, /* padding */ 0.0f, }; /* 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 } /* ############################################################################################## */ /* 804549B8-804549C0 002FB8 0008+00 2/2 0/0 0/0 .sdata2 @4108 */ SECTION_SDATA2 static f64 lit_4108 = 4503601774854144.0 /* cast s32 to float */; /* 8021C6A4-8021C7F4 216FE4 0150+00 0/0 1/1 0/0 .text * getStringLength__13dMeter2Info_cFP10J2DTextBoxPc */ // *str type issue #ifdef NONMATCHING 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; } #else f32 dMeter2Info_c::getStringLength(J2DTextBox* param_0, char* param_1) { // NONMATCHING } #endif /* 8021C7F4-8021C7FC 217134 0008+00 0/0 1/0 0/0 .text getFont__10J2DTextBoxCFv */ //JUTFont* J2DTextBox::getFont() const { void getFont__10J2DTextBoxCFv() { // NONMATCHING } /* 8021C7FC-8021C934 21713C 0138+00 0/0 3/3 0/0 .text * getStringLength__13dMeter2Info_cFP7JUTFontffPc */ // getWidth argument type issue #ifdef NONMATCHING 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; } #else f32 dMeter2Info_c::getStringLength(JUTFont* param_0, f32 param_1, f32 param_2, char* param_3) { // NONMATCHING } #endif /* 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) != LV7_DUNGEON_EXIT) { dComIfGs_setItem(SLOT_18, 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, 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 */ // regalloc #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) { 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) { 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; } #else 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) { // NONMATCHING } #endif /* 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 GREEN_RUPEE: case BLUE_RUPEE: case YELLOW_RUPEE: case RED_RUPEE: case PURPLE_RUPEE: case ORANGE_RUPEE: case SILVER_RUPEE: return 0x2e; case S_MAGIC: case L_MAGIC: case BOMB_5: case BOMB_10: case BOMB_20: case BOMB_30: case ARROW_10: case ARROW_20: case ARROW_30: case ARROW_1: case PACHINKO_SHOT: case noentry1: case noentry2: case noentry3: case WATER_BOMB_5: case WATER_BOMB_10: case WATER_BOMB_20: case WATER_BOMB_30: case BOMB_INSECT_5: case TRIPLE_HEART: return 0xe; case BOMB_INSECT_10: return 0x14; case BOMB_INSECT_20: return 0x27; case BOMB_INSECT_30: return 0xf; case RECOVERY_FAILY: return 0x10; case KAKERA_HEART: case UTAWA_HEART: case MAP: return 0x69; case COMPUS: return 0x2a; default: case 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 GREEN_RUPEE: case BLUE_RUPEE: case YELLOW_RUPEE: case RED_RUPEE: case PURPLE_RUPEE: case ORANGE_RUPEE: case SILVER_RUPEE: return 0x2e; case BOMB_INSECT_10: case BOMB_INSECT_20: case BOMB_INSECT_30: case 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 GREEN_RUPEE: case BLUE_RUPEE: case YELLOW_RUPEE: case RED_RUPEE: case PURPLE_RUPEE: case ORANGE_RUPEE: case SILVER_RUPEE: return 0x2e; default: return -1; } } /* ############################################################################################## */ /* 80398A78-80398B0C 0250D8 0094+00 2/2 0/0 0/0 .rodata black_color$4634 */ SECTION_RODATA static GXColor const black_color_4634[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}, }; COMPILER_STRIP_GATE(0x80398A78, &black_color_4634); /* 80398B0C-80398BA0 02516C 0094+00 0/1 0/0 0/0 .rodata white_color$4635 */ #pragma push #pragma force_active on SECTION_RODATA static GXColor const white_color_4635[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}, }; COMPILER_STRIP_GATE(0x80398B0C, &white_color_4635); #pragma pop /* 80398BA0-80398C34 025200 0094+00 0/1 0/0 0/0 .rodata vertex_color_lu$4636 */ #pragma push #pragma force_active on SECTION_RODATA static GXColor const vertex_color_lu_4636[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}, }; COMPILER_STRIP_GATE(0x80398BA0, &vertex_color_lu_4636); #pragma pop /* 80398C34-80398CC8 025294 0094+00 0/1 0/0 0/0 .rodata vertex_color_ru$4637 */ #pragma push #pragma force_active on SECTION_RODATA static GXColor const vertex_color_ru_4637[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}, }; COMPILER_STRIP_GATE(0x80398C34, &vertex_color_ru_4637); #pragma pop /* 80398CC8-80398D5C 025328 0094+00 0/1 0/0 0/0 .rodata vertex_color_ld$4638 */ #pragma push #pragma force_active on SECTION_RODATA static GXColor const vertex_color_ld_4638[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}, }; COMPILER_STRIP_GATE(0x80398CC8, &vertex_color_ld_4638); #pragma pop /* 80398D5C-80398DF0 0253BC 0094+00 0/1 0/0 0/0 .rodata vertex_color_rd$4639 */ #pragma push #pragma force_active on SECTION_RODATA static GXColor const vertex_color_rd_4639[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}, }; COMPILER_STRIP_GATE(0x80398D5C, &vertex_color_rd_4639); #pragma pop /* 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) { param_2->setBlackWhite(*(JUtility::TColor*)&black_color_4634[param_1], *(JUtility::TColor*)&white_color_4635[param_1]); param_2->setCornerColor(*(JUtility::TColor*)&vertex_color_lu_4636[param_1], *(JUtility::TColor*)&vertex_color_ru_4637[param_1], *(JUtility::TColor*)&vertex_color_ld_4638[param_1], *(JUtility::TColor*)&vertex_color_rd_4639[param_1]); } /* ############################################################################################## */ /* 80398DF0-80398E84 025450 0094+00 0/1 0/0 0/0 .rodata black_color$4675 */ #pragma push #pragma force_active on SECTION_RODATA static GXColor const black_color_4675[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}, }; COMPILER_STRIP_GATE(0x80398DF0, &black_color_4675); #pragma pop /* 80398E84-80398F18 0254E4 0094+00 0/1 0/0 0/0 .rodata white_color$4676 */ #pragma push #pragma force_active on SECTION_RODATA static GXColor const white_color_4676[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}, }; COMPILER_STRIP_GATE(0x80398E84, &white_color_4676); #pragma pop /* 80398F18-80398FAC 025578 0094+00 0/1 0/0 0/0 .rodata vertex_color_lu$4677 */ #pragma push #pragma force_active on SECTION_RODATA static GXColor const vertex_color_lu_4677[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}, }; COMPILER_STRIP_GATE(0x80398F18, &vertex_color_lu_4677); #pragma pop /* 80398FAC-80399040 02560C 0094+00 0/1 0/0 0/0 .rodata vertex_color_ru$4678 */ #pragma push #pragma force_active on SECTION_RODATA static GXColor const vertex_color_ru_4678[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}, }; COMPILER_STRIP_GATE(0x80398FAC, &vertex_color_ru_4678); #pragma pop /* 80399040-803990D4 0256A0 0094+00 0/1 0/0 0/0 .rodata vertex_color_ld$4679 */ #pragma push #pragma force_active on SECTION_RODATA static GXColor const vertex_color_ld_4679[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}, }; COMPILER_STRIP_GATE(0x80399040, &vertex_color_ld_4679); #pragma pop /* 803990D4-80399168 025734 0094+00 0/1 0/0 0/0 .rodata vertex_color_rd$4680 */ #pragma push #pragma force_active on SECTION_RODATA static GXColor const vertex_color_rd_4680[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}, }; COMPILER_STRIP_GATE(0x803990D4, &vertex_color_rd_4680); #pragma pop /* 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) { param_2->setBlackWhite(*(JUtility::TColor*)&black_color_4675[param_1], *(JUtility::TColor*)&white_color_4676[param_1]); param_2->setCornerColor(*(JUtility::TColor*)&vertex_color_lu_4677[param_1], *(JUtility::TColor*)&vertex_color_ru_4678[param_1], *(JUtility::TColor*)&vertex_color_ld_4679[param_1], *(JUtility::TColor*)&vertex_color_rd_4680[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) == HOT_SPRING) { dComIfGs_setItem(i_slotNo, 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) == NO_ITEM) { 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), NORMAL_BOMB); dComIfGp_setItem((u8)(mRentalBombBagIdx + SLOT_15), NORMAL_BOMB); if (mMiniGameItemSetFlag != 3) { dComIfGs_setItem(SLOT_4, BOW); dComIfGp_setItem(SLOT_4, 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; } /* ############################################################################################## */ /* 804549C0-804549C8 002FC0 0008+00 1/1 0/0 0/0 .sdata2 @5206 */ SECTION_SDATA2 static f64 lit_5206 = 4503599627370496.0 /* cast u32 to float */; /* 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 WEAR_CASUAL: case WEAR_KOKIRI: case ARMOR: case WEAR_ZORA: break; default: i_clothId = WEAR_CASUAL; param_1 = false; } if (param_1 && dComIfGs_getSelectEquipClothes() != NO_ITEM) { 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 NO_ITEM: case WOOD_STICK: case SWORD: case MASTER_SWORD: case LIGHT_SWORD: break; default: i_itemId = NO_ITEM; 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 NO_ITEM: case WOOD_SHIELD: case SHIELD: case HYLIA_SHIELD: break; default: i_itemId = NO_ITEM; 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 */ SECTION_DATA 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 */