mirror of https://github.com/zeldaret/tp.git
3152 lines
99 KiB
C++
3152 lines
99 KiB
C++
/**
|
|
* d_meter2.cpp
|
|
* Main UI handler
|
|
*/
|
|
|
|
#include "d/d_meter2.h"
|
|
#include "JSystem/JKernel/JKRExpHeap.h"
|
|
#include "d/d_demo.h"
|
|
#include "d/d_scope.h"
|
|
#include "d/d_timer.h"
|
|
#include "d/d_menu_window_HIO.h"
|
|
#include "d/d_meter2_draw.h"
|
|
#include "d/d_meter2_info.h"
|
|
#include "d/d_meter_HIO.h"
|
|
#include "d/d_meter_button.h"
|
|
#include "d/d_meter_haihai.h"
|
|
#include "d/d_meter_hakusha.h"
|
|
#include "d/d_meter_map.h"
|
|
#include "d/d_meter_string.h"
|
|
#include "dol2asm.h"
|
|
#include "f_op/f_op_msg_mng.h"
|
|
#include "d/actor/d_a_horse.h"
|
|
|
|
/* 8021EA14-8021F128 219354 0714+00 1/1 0/0 0/0 .text _create__9dMeter2_cFv */
|
|
int dMeter2_c::_create() {
|
|
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
|
|
if (dStage_stagInfo_GetUpButton(stag_info) == 1) {
|
|
mpHeap = fopMsgM_createExpHeap(0x5A400, NULL);
|
|
} else {
|
|
mpHeap = fopMsgM_createExpHeap(0x60800, NULL);
|
|
}
|
|
|
|
JKRHeap* heap = mDoExt_setCurrentHeap(mpHeap);
|
|
mpHeap->getTotalFreeSize();
|
|
|
|
if (!strcmp(dComIfGp_getStartStageName(), "F_SP00")) {
|
|
dMeter2Info_setNowCount(0);
|
|
dMeter2Info_setMaxCount(0);
|
|
}
|
|
|
|
field_0x128 = 0;
|
|
field_0x12c = field_0x128;
|
|
mStatus = 0;
|
|
mSubContentType = 0;
|
|
mSubContentsStringType = 0;
|
|
field_0x1e6 = 0;
|
|
field_0x1e7 = 0;
|
|
|
|
mItemMaxNum[ARROW_MAX] = dComIfGs_getArrowMax();
|
|
mArrowNum = dComIfGs_getArrowNum();
|
|
mItemMaxNum[PACHINKO_MAX] = dComIfGs_getPachinkoMax();
|
|
mPachinkoNum = dComIfGs_getPachinkoNum();
|
|
|
|
for (int i = 0; i < 3; i++) {
|
|
mBombMax[i] = dComIfGs_getBombMax(dComIfGs_getItem((u8)(i + SLOT_15), 1));
|
|
mBombNum[i] = dComIfGs_getBombNum(i);
|
|
}
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
mItemMaxNum[i] = dComIfGs_getSelectItemIndex(i);
|
|
}
|
|
|
|
for (int i = 0; i < 4; i++) {
|
|
mBottleNum[i] = dComIfGs_getBottleNum(i);
|
|
}
|
|
|
|
field_0x1e8 = 0;
|
|
field_0x1e9 = 0;
|
|
mRupeeSound = 0;
|
|
mArrowSound = 0;
|
|
|
|
for (int i = 0; i < 5; i++) {
|
|
field_0x1b8[i] = 0;
|
|
}
|
|
|
|
field_0x1ec = 0;
|
|
field_0x1ed = 0;
|
|
mLifeCountType = 0;
|
|
|
|
mNowLifeGauge = dComIfGs_getLife();
|
|
dComIfGp_setItemNowLife((u8)mNowLifeGauge);
|
|
|
|
mMaxLife = dComIfGs_getMaxLife();
|
|
|
|
mNowMagic = dComIfGs_getMagic();
|
|
dComIfGp_setItemNowMagic(mNowMagic);
|
|
|
|
mMaxMagic = dComIfGs_getMaxMagic();
|
|
|
|
mNowOil = (s16)dComIfGs_getOil();
|
|
dComIfGp_setItemNowOil(mNowOil);
|
|
|
|
mMaxOil = (s16)dComIfGs_getMaxOil();
|
|
|
|
mNowOxygen = dComIfGp_getOxygen();
|
|
dComIfGp_setNowOxygen(mNowOxygen);
|
|
|
|
mMaxOxygen = dComIfGp_getMaxOxygen();
|
|
|
|
field_0x130 = 0.0f;
|
|
|
|
u8 dark_area = dComIfGp_getStartStageDarkArea();
|
|
mLightDropNum = dComIfGs_getLightDropNum(dark_area);
|
|
|
|
mNeedLightDropNum = dComIfGp_getNeedLightDropNum();
|
|
|
|
mRupeeNum = dComIfGs_getRupee();
|
|
mKeyNum = dComIfGs_getKeyNum();
|
|
|
|
mDoStatus = dComIfGp_getDoStatus();
|
|
mDoSetFlag = dComIfGp_isDoSetFlag(2);
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
mButtonATalkPosX[i] = 0.0f;
|
|
mButtonATalkPosY[i] = 0.0f;
|
|
}
|
|
field_0x144 = 1.0f;
|
|
|
|
mAStatus = dComIfGp_getAStatus();
|
|
field_0x1c6 = 0;
|
|
mASetFlag = dComIfGp_isASetFlag(2);
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
field_0x148[i] = 0.0f;
|
|
field_0x150[i] = 0.0f;
|
|
}
|
|
field_0x158 = 1.0f;
|
|
|
|
field_0x1e4 = 0;
|
|
mEquipSword = dComIfGs_getSelectEquipSword();
|
|
field_0x1e3 = 0;
|
|
|
|
field_0x1fe = 0;
|
|
field_0x1fd = 0;
|
|
field_0x1ff = 0;
|
|
field_0x200 = 0;
|
|
field_0x201 = 0;
|
|
|
|
mCollectSmell = dComIfGs_getCollectSmell();
|
|
mRStatus = dComIfGp_getRStatus();
|
|
mRSetFlag = dComIfGp_isRSetFlag(2);
|
|
mXSetFlag = dComIfGp_isXSetFlag(2);
|
|
mYSetFlag = dComIfGp_isYSetFlag(2);
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
dComIfGp_setSelectItem(i);
|
|
}
|
|
|
|
mItemStatus[X_ITEM] = dComIfGp_getSelectItem(0);
|
|
mItemStatus[Y_ITEM] = dComIfGp_getSelectItem(1);
|
|
mItemStatus[X_STATUS] = dComIfGp_getXStatus();
|
|
mItemStatus[Y_STATUS] = dComIfGp_getYStatus();
|
|
field_0x188 = 0.0f;
|
|
field_0x18c = 0.0f;
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
field_0x1d6[i] = dMeter2Info_isDirectUseItem(i);
|
|
field_0x1d8[i] = dComIfGp_getSelectItemNum(i);
|
|
}
|
|
|
|
field_0x1e1 = 0;
|
|
field_0x1b4 = 0;
|
|
field_0x15c = 0.0f;
|
|
|
|
for (int i = 0; i < 4; i++) {
|
|
field_0x160[i] = 0.0f;
|
|
field_0x174[i] = 0.0f;
|
|
}
|
|
field_0x190 = 0;
|
|
|
|
mZStatus = dComIfGp_getZStatus();
|
|
m3DStatus = dComIfGp_get3DStatus();
|
|
mCStickStatus = dComIfGp_getCStickStatus();
|
|
mSButtonStatus = dComIfGp_getSButtonStatus();
|
|
mNunStatus = dComIfGp_getNunStatus();
|
|
mRemoConStatus = dComIfGp_getRemoConStatus();
|
|
mNunZStatus = dComIfGp_getNunZStatus();
|
|
mNunCStatus = dComIfGp_getNunCStatus();
|
|
mBottleStatus = dComIfGp_getBottleStatus();
|
|
|
|
field_0x1ac = dMeter2Info_isUseButton(16);
|
|
field_0x19a = 0;
|
|
|
|
mpMeterDraw = new dMeter2Draw_c(mpHeap);
|
|
|
|
field_0x130 = mpMeterDraw->getNowLightDropRateCalc();
|
|
mpHeap->getTotalFreeSize();
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
if (field_0x128 == 0) {
|
|
if (mItemStatus[i * 2] == fpcNm_ITEM_BOMB_BAG_LV1 || mItemStatus[i * 2] == fpcNm_ITEM_NORMAL_BOMB ||
|
|
mItemStatus[i * 2] == fpcNm_ITEM_WATER_BOMB || mItemStatus[i * 2] == fpcNm_ITEM_POKE_BOMB)
|
|
{
|
|
mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i),
|
|
dComIfGp_getSelectItemMaxNum(i));
|
|
} else if (mItemStatus[i * 2] == fpcNm_ITEM_BEE_CHILD) {
|
|
mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i),
|
|
dComIfGp_getSelectItemMaxNum(i));
|
|
} else if (mItemStatus[i * 2] == fpcNm_ITEM_BOW || mItemStatus[i * 2] == fpcNm_ITEM_LIGHT_ARROW ||
|
|
mItemStatus[i * 2] == fpcNm_ITEM_ARROW_LV1 || mItemStatus[i * 2] == fpcNm_ITEM_ARROW_LV2 ||
|
|
mItemStatus[i * 2] == fpcNm_ITEM_ARROW_LV3 || mItemStatus[i * 2] == fpcNm_ITEM_HAWK_ARROW)
|
|
{
|
|
mpMeterDraw->setItemNum(i, mArrowNum, dComIfGs_getArrowMax());
|
|
} else if (mItemStatus[i * 2] == fpcNm_ITEM_PACHINKO) {
|
|
mpMeterDraw->setItemNum(i, mPachinkoNum, dComIfGs_getPachinkoMax());
|
|
} else if (mItemStatus[i * 2] == fpcNm_ITEM_BOMB_ARROW) {
|
|
u8 item_num = dComIfGp_getSelectItemNum(i);
|
|
u8 item_max = dComIfGp_getSelectItemMaxNum(i);
|
|
if (item_num > mArrowNum) {
|
|
item_num = mArrowNum;
|
|
}
|
|
u8 temp = dComIfGs_getArrowMax() & 0xFF;
|
|
if (item_max < temp) {
|
|
item_max = temp;
|
|
}
|
|
mpMeterDraw->setItemNum(i, item_num, item_max);
|
|
}
|
|
}
|
|
}
|
|
|
|
mpMap = NULL;
|
|
if (dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo()) {
|
|
mpMap = new dMeterMap_c(mpMeterDraw->getMainScreenPtr());
|
|
} else {
|
|
if (g_meter2_info.mMapStatus == 2) {
|
|
g_meter2_info.mMapStatus = 0;
|
|
}
|
|
}
|
|
dMeter2Info_setMeterMapClass(mpMap);
|
|
|
|
mpHeap->getTotalFreeSize();
|
|
mpSubHeap = fopMsgM_createExpHeap(0x5000, mpHeap);
|
|
field_0x108 = NULL;
|
|
mpSubContents = NULL;
|
|
mpSubSubContents = NULL;
|
|
mpEmpButton = NULL;
|
|
|
|
mpHeap->getTotalFreeSize();
|
|
field_0x11c = NULL;
|
|
mDoExt_setCurrentHeap(heap);
|
|
return cPhs_COMPLEATE_e;
|
|
}
|
|
|
|
/* 8021F128-8021F370 219A68 0248+00 1/1 0/0 0/0 .text _execute__9dMeter2_cFv */
|
|
int dMeter2_c::_execute() {
|
|
JKRHeap* heap = mDoExt_setCurrentHeap(mpHeap);
|
|
|
|
if (!dComIfGs_isCollectMirror(0) && dComIfGs_isEventBit(dSv_event_flag_c::F_0685)) {
|
|
dComIfGs_onCollectMirror(0);
|
|
}
|
|
|
|
if (!dComIfGs_isCollectCrystal(3) && dComIfGs_isEventBit(dSv_event_flag_c::F_0686)) {
|
|
dComIfGs_onCollectCrystal(3);
|
|
}
|
|
|
|
checkStatus();
|
|
mpMeterDraw->exec(mStatus);
|
|
|
|
moveLife();
|
|
moveKantera();
|
|
moveOxygen();
|
|
moveLightDrop();
|
|
moveRupee();
|
|
moveKey();
|
|
moveButtonXY();
|
|
moveButtonA();
|
|
moveButtonB();
|
|
moveButtonR();
|
|
moveButtonZ();
|
|
moveButton3D();
|
|
moveButtonC();
|
|
moveButtonS();
|
|
moveButtonCross();
|
|
moveTouchSubMenu();
|
|
moveBombNum();
|
|
moveArrowNum();
|
|
movePachinkoNum();
|
|
moveBottleNum();
|
|
|
|
if (mpMap != NULL) {
|
|
mpMap->_move(mStatus);
|
|
} else {
|
|
dMeterMap_c::meter_map_move(mStatus);
|
|
}
|
|
|
|
moveSubContents();
|
|
move2DContents();
|
|
|
|
if (!dComIfGp_isPauseFlag() && !dComIfGp_event_runCheck()) {
|
|
dMeter2Info_decHotSpringTimer();
|
|
}
|
|
|
|
dMeter2Info_allUseButton();
|
|
dMeter2Info_offUseButton(0x800);
|
|
dMeter2Info_resetGameStatus();
|
|
dComIfGp_setNunStatus(0, 0, 0);
|
|
dComIfGp_setRemoConStatus(0, 0, 0);
|
|
dComIfGp_setNunZStatus(0, 0);
|
|
dComIfGp_setNunCStatus(0, 0);
|
|
dComIfGp_setBottleStatus(0, 0);
|
|
dComIfGp_setCStickStatus(0, 0, 0);
|
|
|
|
mDoExt_setCurrentHeap(heap);
|
|
return 1;
|
|
}
|
|
|
|
/* 8021F370-8021F49C 219CB0 012C+00 1/1 0/0 0/0 .text _draw__9dMeter2_cFv */
|
|
int dMeter2_c::_draw() {
|
|
if (mpMap != NULL) {
|
|
mpMap->_draw();
|
|
}
|
|
|
|
if (mpSubContents != NULL) {
|
|
dComIfGd_set2DOpaTop(mpSubContents);
|
|
}
|
|
|
|
if (mpSubSubContents != NULL) {
|
|
if (mSubContentType == 5) {
|
|
if (mSubContentsStringType != 0) {
|
|
dComIfGd_set2DOpaTop(mpSubSubContents);
|
|
}
|
|
} else {
|
|
dComIfGd_set2DOpaTop(mpSubSubContents);
|
|
}
|
|
}
|
|
|
|
if (dMeter2Info_getWindowStatus() == 2) {
|
|
dComIfGd_set2DOpa(mpMeterDraw);
|
|
} else {
|
|
dComIfGd_set2DOpaTop(mpMeterDraw);
|
|
}
|
|
|
|
if (mpEmpButton != NULL) {
|
|
dComIfGd_set2DOpaTop(mpEmpButton);
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8021F49C-8021F6EC 219DDC 0250+00 1/1 0/0 0/0 .text _delete__9dMeter2_cFv */
|
|
int dMeter2_c::_delete() {
|
|
mpHeap->getTotalFreeSize();
|
|
JKRHeap* heap = mDoExt_setCurrentHeap(mpHeap);
|
|
|
|
if (isRupeeSoundBit(2)) {
|
|
mDoAud_seStart(Z2SE_LUPY_INC_CNT_2, 0, 0, 0);
|
|
}
|
|
|
|
if (isRupeeSoundBit(3)) {
|
|
mDoAud_seStart(Z2SE_LUPY_DEC_CNT_2, 0, 0, 0);
|
|
}
|
|
|
|
if (isArrowSoundBit(2) && (isArrowEquip() || isPachinkoEquip()) &&
|
|
mpMeterDraw->isButtonVisible())
|
|
{
|
|
mDoAud_seStart(Z2SE_CONSUM_INC_CNT_2, 0, 0, 0);
|
|
}
|
|
|
|
mpHeap->getTotalFreeSize();
|
|
if (mpMap != NULL) {
|
|
delete mpMap;
|
|
mpMap = NULL;
|
|
}
|
|
|
|
mpHeap->getTotalFreeSize();
|
|
mDoExt_setCurrentHeap(mpSubHeap);
|
|
if (mpSubContents != NULL) {
|
|
delete mpSubContents;
|
|
mpSubContents = NULL;
|
|
}
|
|
|
|
if (mpSubSubContents != NULL) {
|
|
delete mpSubSubContents;
|
|
mpSubSubContents = NULL;
|
|
}
|
|
|
|
mpHeap->getTotalFreeSize();
|
|
if (field_0x11c != NULL) {
|
|
delete field_0x11c;
|
|
field_0x11c = NULL;
|
|
}
|
|
|
|
mDoExt_setCurrentHeap(heap);
|
|
delete mpMeterDraw;
|
|
mpMeterDraw = NULL;
|
|
|
|
fopMsgM_destroyExpHeap(mpSubHeap);
|
|
fopMsgM_destroyExpHeap(mpHeap);
|
|
emphasisButtonDelete();
|
|
return 1;
|
|
}
|
|
|
|
/* 8021F6EC-8021F780 21A02C 0094+00 1/1 5/5 0/0 .text emphasisButtonDelete__9dMeter2_cFv
|
|
*/
|
|
int dMeter2_c::emphasisButtonDelete() {
|
|
if (mpEmpButton != NULL) {
|
|
JKRExpHeap* heap = dComIfGp_getSubHeap2D(8);
|
|
mpEmpButton->hideAll();
|
|
|
|
if (heap != NULL) {
|
|
delete mpEmpButton;
|
|
mpEmpButton = NULL;
|
|
heap->freeAll();
|
|
dComIfGp_offHeapLockFlag(8);
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* 8021F780-8021F7B0 21A0C0 0030+00 0/0 0/0 1/1 .text setLifeZero__9dMeter2_cFv */
|
|
void dMeter2_c::setLifeZero() {
|
|
dComIfGs_setLife(1);
|
|
setNowLifeGauge(1);
|
|
dComIfGp_setItemLifeCount(-1.0f, 0);
|
|
}
|
|
|
|
/* 8021F7B0-8021FD60 21A0F0 05B0+00 2/1 0/0 0/0 .text checkStatus__9dMeter2_cFv */
|
|
void dMeter2_c::checkStatus() {
|
|
mStatus = 0;
|
|
field_0x12c = field_0x128;
|
|
|
|
// supposed to be daPy_py_c::checkNowWolf, but it messes with reg alloc?
|
|
field_0x128 = ((daPy_py_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR))->checkWolf();
|
|
|
|
if (!dComIfGp_2dShowCheck() || dMsgObject_getMsgObjectClass()->isPlaceMessage()) {
|
|
mStatus |= 0x4000;
|
|
} else if (dComIfGp_checkPlayerStatus1(0, 1) && dComIfGp_getAStatus() == 0x12) {
|
|
mStatus |= 0x200000;
|
|
} else if (dComIfGp_event_runCheck()) {
|
|
mStatus |= 0x40;
|
|
|
|
if (dDemo_c::getMode() != 1 && dComIfGp_isHeapLockFlag() != 6 &&
|
|
dMsgObject_isTalkNowCheck() && !dMeter2Info_isFloatingMessageVisible())
|
|
{
|
|
mStatus |= 0x100;
|
|
dComIfGp_setAStatus(0, 0);
|
|
dComIfGp_setRStatus(0, 0);
|
|
}
|
|
}
|
|
|
|
if (dComIfGp_isHeapLockFlag() != 6 && !(mStatus & 0x100) && dMsgObject_isTalkNowCheck() &&
|
|
!dMeter2Info_isFloatingMessageVisible())
|
|
{
|
|
mStatus |= 0x100;
|
|
dComIfGp_setAStatus(0, 0);
|
|
dComIfGp_setRStatus(0, 0);
|
|
}
|
|
|
|
if (!dComIfGp_isPauseFlag()) {
|
|
if (mpMeterDraw->getCameraSubject()) {
|
|
mStatus |= 0x40000000;
|
|
} else if (mpMeterDraw->getItemSubject()) {
|
|
mStatus |= 0x1000;
|
|
}
|
|
|
|
if (mpMeterDraw->getPlayerSubject()) {
|
|
mStatus |= 0x100000;
|
|
}
|
|
|
|
if (dComIfGp_getCameraAttentionStatus(0) & 0x40000) {
|
|
mStatus |= 0x80000000;
|
|
dComIfGp_setDoStatusForce(0x12, 2);
|
|
}
|
|
|
|
s16 sp8;
|
|
s16 spA;
|
|
|
|
if (dComIfGp_checkCameraAttentionStatus(0, 8)) {
|
|
mStatus |= 0x80;
|
|
} else if (dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), 0x10) &&
|
|
dCam_getBody()->CalcSubjectAngle(&sp8, &spA))
|
|
{
|
|
mStatus |= 0x20000000;
|
|
} else if (daPy_getPlayerActorClass()->checkCanoeRide()) {
|
|
mStatus |= 0x400;
|
|
} else if (dComIfGp_checkPlayerStatus0(0, 0x8000000) ||
|
|
daPy_getPlayerActorClass()->checkSpinnerRide())
|
|
{
|
|
mStatus |= 0x200;
|
|
} else if (dComIfGp_checkPlayerStatus0(0, 0x800000)) {
|
|
mStatus |= 0x800;
|
|
} else if (dComIfGp_checkPlayerStatus0(0, 0x100000)) {
|
|
mStatus |= 0x2000;
|
|
} else if (dComIfGp_checkPlayerStatus0(0, 0x2000108)) {
|
|
mStatus |= 0x8000;
|
|
} else if (dComIfGp_checkPlayerStatus0(0, 0x4000000)) {
|
|
mStatus |= 0x10000;
|
|
} else if (daPy_getPlayerActorClass()->checkHorseRideNotReady() &&
|
|
dComIfGp_getHorseActor() != NULL &&
|
|
!dComIfGp_getHorseActor()->checkRodeoMode())
|
|
{
|
|
mStatus |= 0x2000000;
|
|
}
|
|
}
|
|
|
|
switch (dMeter2Info_getWindowStatus()) {
|
|
case 1:
|
|
mStatus |= 0x8;
|
|
break;
|
|
case 3:
|
|
case 10:
|
|
mStatus |= 0x10;
|
|
break;
|
|
case 2:
|
|
mStatus |= 0x1000000;
|
|
dComIfGp_setAStatus(0x12, 0);
|
|
dComIfGp_setDoStatus(0, 0);
|
|
dComIfGp_setRStatus(0, 0);
|
|
break;
|
|
case 4:
|
|
case 6:
|
|
mStatus |= 0x20;
|
|
dComIfGp_setAStatus(0x12, 0);
|
|
dComIfGp_setDoStatus(0, 0);
|
|
dComIfGp_setRStatus(0, 0);
|
|
break;
|
|
case 5:
|
|
mStatus |= 0x4000000;
|
|
dComIfGp_setAStatus(0x12, 0);
|
|
dComIfGp_setDoStatus(0, 0);
|
|
dComIfGp_setRStatus(0, 0);
|
|
break;
|
|
case 7:
|
|
mStatus |= 0x8000000;
|
|
dComIfGp_setAStatus(0x12, 0);
|
|
dComIfGp_setDoStatus(0x22, 0);
|
|
dComIfGp_setRStatus(0, 0);
|
|
break;
|
|
case 8:
|
|
mStatus |= 0x10000000;
|
|
dComIfGp_setAStatus(0, 0);
|
|
dComIfGp_setDoStatus(0, 0);
|
|
dComIfGp_setRStatus(0, 0);
|
|
break;
|
|
}
|
|
|
|
switch (dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo())) {
|
|
case ST_DUNGEON:
|
|
mStatus |= 0x4;
|
|
break;
|
|
case ST_ROOM:
|
|
mStatus |= 0x2;
|
|
break;
|
|
case ST_FIELD:
|
|
default:
|
|
mStatus |= 0x1;
|
|
break;
|
|
}
|
|
}
|
|
|
|
/* 8021FD60-80220180 21A6A0 0420+00 1/1 0/0 0/0 .text moveLife__9dMeter2_cFv */
|
|
void dMeter2_c::moveLife() {
|
|
s16 life_count = 0;
|
|
bool draw_life = false;
|
|
|
|
if (dComIfGp_getItemMaxLifeCount() != 0) {
|
|
s16 max_count = dComIfGs_getMaxLife() + dComIfGp_getItemMaxLifeCount();
|
|
if (max_count > 100) {
|
|
max_count = 100;
|
|
} else if (max_count < 15) {
|
|
max_count = 15;
|
|
}
|
|
|
|
life_count = (max_count / 5) * 4;
|
|
dComIfGs_setMaxLife(max_count);
|
|
|
|
s16 current_life = life_count - dComIfGs_getLife();
|
|
dComIfGp_setItemLifeCount(current_life, 0);
|
|
dComIfGp_clearItemMaxLifeCount();
|
|
draw_life = true;
|
|
}
|
|
|
|
f32 item_life_count = dComIfGp_getItemLifeCount();
|
|
f32 tmp = 0.0f;
|
|
if (item_life_count != tmp) {
|
|
mLifeCountType = dComIfGp_getItemLifeCountType();
|
|
if (!draw_life) {
|
|
life_count = (dComIfGs_getMaxLife() / 5) * 4;
|
|
}
|
|
|
|
s16 new_life = dComIfGs_getLife() + dComIfGp_getItemLifeCount();
|
|
if (new_life > life_count) {
|
|
new_life = life_count;
|
|
} else if (new_life < 0) {
|
|
new_life = 0;
|
|
}
|
|
|
|
dComIfGs_setLife((u8)new_life);
|
|
dComIfGp_clearItemLifeCount();
|
|
|
|
if (mNowLifeGauge == dComIfGs_getLife() && mLifeCountType != 0) {
|
|
mLifeCountType = 0;
|
|
}
|
|
draw_life = true;
|
|
}
|
|
|
|
u16 max_life = dComIfGs_getMaxLife();
|
|
if (mMaxLife != max_life) {
|
|
if (mMaxLife < max_life) {
|
|
mMaxLife++;
|
|
dMeter2Info_onLifeGaugeSE();
|
|
draw_life = true;
|
|
} else if (mMaxLife > max_life) {
|
|
mMaxLife--;
|
|
draw_life = true;
|
|
}
|
|
}
|
|
|
|
u16 current_life = dComIfGs_getLife();
|
|
if (mNowLifeGauge != current_life) {
|
|
if (mNowLifeGauge < current_life) {
|
|
mNowLifeGauge++;
|
|
if (dComIfGp_checkPlayerStatus1(0, 0x2000) ||
|
|
dComIfGp_checkPlayerStatus0(0, 0x20000000) || dMeter2Info_getLifeGaugeSE())
|
|
{
|
|
if (mNowLifeGauge % 4 == 0) {
|
|
mDoAud_seStart(Z2SE_HP_GAUGE_INC, 0, 0, 0);
|
|
}
|
|
} else if (mLifeCountType == 1) {
|
|
mDoAud_seStart(Z2SE_HP_GAUGE_INC, 0, 0, 0);
|
|
}
|
|
|
|
u16 life = dComIfGs_getLife();
|
|
if (mNowLifeGauge == life && mLifeCountType != 0) {
|
|
mLifeCountType = 0;
|
|
}
|
|
draw_life = true;
|
|
} else if (mNowLifeGauge > current_life) {
|
|
mNowLifeGauge--;
|
|
if (mLifeCountType != 0) {
|
|
mLifeCountType = 0;
|
|
}
|
|
draw_life = true;
|
|
}
|
|
} else if (dMeter2Info_getLifeGaugeSE()) {
|
|
dMeter2Info_offLifeGaugeSE();
|
|
}
|
|
|
|
f32 life_gauge_x = g_drawHIO.mLifeGaugePosX;
|
|
f32 life_gauge_y = g_drawHIO.mLifeGaugePosY;
|
|
|
|
if (mLifeGaugePosX != g_drawHIO.mLifeGaugePosX) {
|
|
mLifeGaugePosX = g_drawHIO.mLifeGaugePosX;
|
|
draw_life = true;
|
|
}
|
|
|
|
if (mLifeGaugePosY != g_drawHIO.mLifeGaugePosY) {
|
|
mLifeGaugePosY = g_drawHIO.mLifeGaugePosY;
|
|
draw_life = true;
|
|
}
|
|
|
|
if (mLifeGaugeScale != g_drawHIO.mLifeParentScale) {
|
|
mLifeGaugeScale = g_drawHIO.mLifeParentScale;
|
|
draw_life = true;
|
|
}
|
|
|
|
if (mHeartScale != g_drawHIO.mHeartMarkScale) {
|
|
mHeartScale = g_drawHIO.mHeartMarkScale;
|
|
draw_life = true;
|
|
}
|
|
|
|
if (mLargeHeartScale != g_drawHIO.mBigHeartScale) {
|
|
mLargeHeartScale = g_drawHIO.mBigHeartScale;
|
|
draw_life = true;
|
|
}
|
|
|
|
if (draw_life == true) {
|
|
mpMeterDraw->drawLife(mMaxLife, mNowLifeGauge, life_gauge_x, life_gauge_y);
|
|
}
|
|
|
|
alphaAnimeLife();
|
|
dComIfGp_setItemNowLife((u8)mNowLifeGauge);
|
|
}
|
|
|
|
/* 80220180-8022051C 21AAC0 039C+00 1/1 0/0 0/0 .text moveKantera__9dMeter2_cFv */
|
|
void dMeter2_c::moveKantera() {
|
|
s32 var_r0;
|
|
s32 var_r7;
|
|
bool draw_kantera;
|
|
|
|
s32 max_oil = dComIfGs_getMaxOil();
|
|
var_r7 = 0;
|
|
draw_kantera = false;
|
|
|
|
if (dComIfGp_getItemMaxOilCount() != 0) {
|
|
var_r7 = dComIfGs_getMaxOil() + dComIfGp_getItemMaxOilCount();
|
|
if (var_r7 > max_oil) {
|
|
var_r7 = max_oil;
|
|
} else if (var_r7 < 0) {
|
|
var_r7 = 0;
|
|
}
|
|
|
|
dComIfGs_setMaxOil(var_r7);
|
|
dComIfGp_setItemOilCount(var_r7 - dComIfGs_getOil());
|
|
dComIfGp_clearItemMaxOilCount();
|
|
draw_kantera = true;
|
|
}
|
|
|
|
if (dComIfGp_getItemOilCount() != 0) {
|
|
if (draw_kantera == 0) {
|
|
var_r7 = dComIfGs_getMaxOil();
|
|
}
|
|
|
|
var_r0 = dComIfGs_getOil() + dComIfGp_getItemOilCount();
|
|
if (var_r0 > var_r7) {
|
|
var_r0 = var_r7;
|
|
} else if (var_r0 < 0) {
|
|
var_r0 = 0;
|
|
}
|
|
|
|
dComIfGs_setOil(var_r0);
|
|
dComIfGp_clearItemOilCount();
|
|
draw_kantera = true;
|
|
}
|
|
|
|
if (mMaxOil != dComIfGs_getMaxOil()) {
|
|
if (mMaxOil < dComIfGs_getMaxOil()) {
|
|
mMaxOil += 200;
|
|
if (mMaxOil > dComIfGs_getMaxOil()) {
|
|
mMaxOil = dComIfGs_getMaxOil();
|
|
}
|
|
draw_kantera = true;
|
|
} else if (mMaxOil > dComIfGs_getMaxOil()) {
|
|
mMaxOil -= 200;
|
|
if (mMaxOil < dComIfGs_getMaxOil()) {
|
|
mMaxOil = dComIfGs_getMaxOil();
|
|
}
|
|
draw_kantera = true;
|
|
}
|
|
}
|
|
|
|
if (mNowOil != dComIfGs_getOil()) {
|
|
if (mNowOil < dComIfGs_getOil()) {
|
|
mNowOil += 200;
|
|
if (mNowOil > dComIfGs_getOil()) {
|
|
mNowOil = dComIfGs_getOil();
|
|
}
|
|
|
|
if (!dComIfGp_getOxygenShowFlag() && mpMeterDraw->getMeterGaugeAlphaRate(1) > 0.0f) {
|
|
Z2GetAudioMgr()->seStartLevel(Z2SE_OIL_METER_RECOVER, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
|
-1.0f, 0);
|
|
}
|
|
draw_kantera = true;
|
|
} else if (mNowOil > dComIfGs_getOil()) {
|
|
mNowOil -= 200;
|
|
if (mNowOil < dComIfGs_getOil()) {
|
|
mNowOil = dComIfGs_getOil();
|
|
}
|
|
|
|
if (mNowOil == 0) {
|
|
if (mpMeterDraw->getMeterGaugeAlphaRate(1) > 0.0f) {
|
|
Z2GetAudioMgr()->seStart(Z2SE_OIL_METER_FINISH, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
|
-1.0f, 0);
|
|
}
|
|
} else if (((f32)dComIfGs_getOil() / (f32)dComIfGs_getMaxOil()) <= 0.1f &&
|
|
mpMeterDraw->getMeterGaugeAlphaRate(1) > 0.0f)
|
|
{
|
|
Z2GetAudioMgr()->seStartLevel(Z2SE_OIL_METER_LESS, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
|
-1.0f, 0);
|
|
}
|
|
|
|
draw_kantera = true;
|
|
}
|
|
}
|
|
|
|
f32 x_pos = g_drawHIO.mLanternMeterPosX;
|
|
f32 y_pos = g_drawHIO.mLanternMeterPosY;
|
|
|
|
if (field_0x246 != mMaxLife) {
|
|
field_0x246 = mMaxLife;
|
|
draw_kantera = true;
|
|
}
|
|
|
|
if (mLanternMeterScale != g_drawHIO.mLanternMeterScale) {
|
|
mLanternMeterScale = g_drawHIO.mLanternMeterScale;
|
|
draw_kantera = true;
|
|
}
|
|
|
|
if (mLanternMeterPosX != g_drawHIO.mLanternMeterPosX) {
|
|
mLanternMeterPosX = g_drawHIO.mLanternMeterPosX;
|
|
draw_kantera = true;
|
|
}
|
|
|
|
if (mLanternMeterPosY != g_drawHIO.mLanternMeterPosY) {
|
|
mLanternMeterPosY = g_drawHIO.mLanternMeterPosY;
|
|
draw_kantera = true;
|
|
}
|
|
|
|
if (draw_kantera == true) {
|
|
mpMeterDraw->drawKantera(mMaxOil, mNowOil, x_pos, y_pos);
|
|
}
|
|
|
|
alphaAnimeKantera();
|
|
dComIfGp_setItemNowOil(mNowOil);
|
|
}
|
|
|
|
/* 8022051C-80220888 21AE5C 036C+00 1/1 0/0 0/0 .text moveOxygen__9dMeter2_cFv */
|
|
void dMeter2_c::moveOxygen() {
|
|
s32 var_r0;
|
|
s32 var_r7;
|
|
bool draw_oxygen;
|
|
|
|
s32 var_r4 = dComIfGp_getMaxOxygen();
|
|
var_r7 = 0;
|
|
draw_oxygen = false;
|
|
|
|
if (dComIfGp_getMaxOxygenCount() != 0) {
|
|
var_r7 = dComIfGp_getMaxOxygen() + dComIfGp_getMaxOxygenCount();
|
|
if (var_r7 > var_r4) {
|
|
var_r7 = var_r4;
|
|
} else if (var_r7 < 0) {
|
|
var_r7 = 0;
|
|
}
|
|
|
|
dComIfGp_setMaxOxygen((u16)var_r7);
|
|
dComIfGp_setOxygenCount(var_r7 - dComIfGp_getOxygen());
|
|
dComIfGp_clearMaxOxygenCount();
|
|
draw_oxygen = true;
|
|
}
|
|
|
|
if (dComIfGp_getOxygenCount() != 0) {
|
|
if (draw_oxygen == 0) {
|
|
var_r7 = dComIfGp_getMaxOxygen();
|
|
}
|
|
|
|
var_r0 = dComIfGp_getOxygen() + dComIfGp_getOxygenCount();
|
|
if (var_r0 > var_r7) {
|
|
var_r0 = var_r7;
|
|
} else if (var_r0 < 0) {
|
|
var_r0 = 0;
|
|
}
|
|
|
|
if (dComIfGp_getOxygenShowFlag() && var_r0 == dComIfGp_getMaxOxygen()) {
|
|
if (dComIfGp_getOxygen() < dComIfGp_getMaxOxygen() &&
|
|
mpMeterDraw->getMeterGaugeAlphaRate(2) > 0.0f)
|
|
{
|
|
Z2GetAudioMgr()->seStart(Z2SE_SWIM_TIMER_RECOVER, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
|
-1.0f, 0);
|
|
}
|
|
}
|
|
|
|
dComIfGp_setOxygen((u16)var_r0);
|
|
dComIfGp_clearOxygenCount();
|
|
draw_oxygen = true;
|
|
}
|
|
|
|
if (mMaxOxygen != dComIfGp_getMaxOxygen()) {
|
|
if (mMaxOxygen < dComIfGp_getMaxOxygen()) {
|
|
mMaxOxygen += 50;
|
|
if (mMaxOxygen > dComIfGp_getMaxOxygen()) {
|
|
mMaxOxygen = dComIfGp_getMaxOxygen();
|
|
}
|
|
draw_oxygen = true;
|
|
} else if (mMaxOxygen > dComIfGp_getMaxOxygen()) {
|
|
mMaxOxygen -= 50;
|
|
if (mMaxOxygen < dComIfGp_getMaxOxygen()) {
|
|
mMaxOxygen = dComIfGp_getMaxOxygen();
|
|
}
|
|
draw_oxygen = true;
|
|
}
|
|
}
|
|
|
|
if (mNowOxygen != dComIfGp_getOxygen()) {
|
|
if (mNowOxygen < dComIfGp_getOxygen()) {
|
|
mNowOxygen += 50;
|
|
if (mNowOxygen > dComIfGp_getOxygen()) {
|
|
mNowOxygen = dComIfGp_getOxygen();
|
|
}
|
|
|
|
draw_oxygen = true;
|
|
} else if (mNowOxygen > dComIfGp_getOxygen()) {
|
|
mNowOxygen -= 50;
|
|
if (mNowOxygen < dComIfGp_getOxygen()) {
|
|
mNowOxygen = dComIfGp_getOxygen();
|
|
}
|
|
|
|
if ((f32)dComIfGp_getOxygen() / (f32)dComIfGp_getMaxOxygen() > 0.5f &&
|
|
mpMeterDraw->getMeterGaugeAlphaRate(2) > 0.0f)
|
|
{
|
|
Z2GetAudioMgr()->seStartLevel(Z2SE_SWIM_TIMER_DEC, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
|
-1.0f, 0);
|
|
}
|
|
|
|
draw_oxygen = true;
|
|
}
|
|
}
|
|
|
|
f32 x_pos = g_drawHIO.mOxygenMeterPosX;
|
|
f32 y_pos = g_drawHIO.mOxygenMeterPosY;
|
|
|
|
if (field_0x248 != mMaxLife) {
|
|
field_0x248 = mMaxLife;
|
|
draw_oxygen = true;
|
|
}
|
|
|
|
if (mOxygenMeterScale != g_drawHIO.mOxygenMeterScale) {
|
|
mOxygenMeterScale = g_drawHIO.mOxygenMeterScale;
|
|
draw_oxygen = true;
|
|
}
|
|
|
|
if (mOxygenMeterPosX != g_drawHIO.mOxygenMeterPosX) {
|
|
mOxygenMeterPosX = g_drawHIO.mOxygenMeterPosX;
|
|
draw_oxygen = true;
|
|
}
|
|
|
|
if (mOxygenMeterPosY != g_drawHIO.mOxygenMeterPosY) {
|
|
mOxygenMeterPosY = g_drawHIO.mOxygenMeterPosY;
|
|
draw_oxygen = true;
|
|
}
|
|
|
|
if (draw_oxygen == true) {
|
|
mpMeterDraw->drawOxygen(mMaxOxygen, mNowOxygen, x_pos, y_pos);
|
|
}
|
|
|
|
alphaAnimeOxygen();
|
|
dComIfGp_setNowOxygen(mNowOxygen);
|
|
}
|
|
|
|
/* 80220888-80220C30 21B1C8 03A8+00 1/1 0/0 0/0 .text moveLightDrop__9dMeter2_cFv */
|
|
void dMeter2_c::moveLightDrop() {
|
|
f32 scale;
|
|
f32 alpha;
|
|
f32 pos_x;
|
|
f32 pos_y;
|
|
bool draw_lightdrop;
|
|
u8 var_r28;
|
|
|
|
draw_lightdrop = false;
|
|
var_r28 = 0;
|
|
if (g_drawHIO.mLightDrop.mAnimDebug) {
|
|
u8 dark_level = dComIfGp_getStartStageDarkArea();
|
|
if (dComIfGp_getNeedLightDropNum() == dComIfGs_getLightDropNum(dark_level)) {
|
|
var_r28 = 2;
|
|
}
|
|
}
|
|
|
|
if (mLightDropNum != dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea())) {
|
|
if (dComIfGp_getNeedLightDropNum() ==
|
|
dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea()))
|
|
{
|
|
var_r28 = 2;
|
|
Z2GetAudioMgr()->seStart(Z2SE_SY_LIGHT_DROP_COMPLETE, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
|
|
-1.0f, 0);
|
|
} else if (mLightDropNum < dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea())) {
|
|
var_r28 = 1;
|
|
Z2GetAudioMgr()->seStart(Z2SE_SY_LIGHT_DROP_GET, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
|
|
0);
|
|
}
|
|
|
|
mLightDropNum = dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea());
|
|
draw_lightdrop = true;
|
|
}
|
|
|
|
if (mNeedLightDropNum != dComIfGp_getNeedLightDropNum()) {
|
|
mNeedLightDropNum = dComIfGp_getNeedLightDropNum();
|
|
draw_lightdrop = true;
|
|
}
|
|
|
|
if ((mStatus & 0x100) || daPy_getPlayerActorClass()->checkHawkWait() ||
|
|
daPy_getPlayerActorClass()->checkGrassWhistle() ||
|
|
g_meter2_info.mItemExplainWindowStatus != 0)
|
|
{
|
|
pos_x = g_drawHIO.mLightDrop.mVesselTalkPosX;
|
|
pos_y = g_drawHIO.mLightDrop.mVesselTalkPosY;
|
|
scale = g_drawHIO.mLightDrop.mVesselTalkScale;
|
|
alpha = g_drawHIO.mLightDrop.mVesselAlpha[1];
|
|
} else {
|
|
pos_x = g_drawHIO.mLightDrop.mVesselPosX;
|
|
pos_y = g_drawHIO.mLightDrop.mVesselPosY;
|
|
scale = g_drawHIO.mLightDrop.mVesselScale;
|
|
alpha = g_drawHIO.mLightDrop.mVesselAlpha[0];
|
|
}
|
|
|
|
if (mVesselPosX != pos_x) {
|
|
cLib_addCalc2(&mVesselPosX, pos_x, 1.0f, 10.0f);
|
|
draw_lightdrop = true;
|
|
if ((f32)fabs(mVesselPosX - pos_x) < 0.1f) {
|
|
mVesselPosX = pos_x;
|
|
}
|
|
}
|
|
|
|
if (mVesselPosY != pos_y) {
|
|
cLib_addCalc2(&mVesselPosY, pos_y, 1.0f, 10.0f);
|
|
draw_lightdrop = true;
|
|
if ((f32)fabs(mVesselPosY - pos_y) < 0.1f) {
|
|
mVesselPosY = pos_y;
|
|
}
|
|
}
|
|
|
|
if (mVesselScale != scale) {
|
|
cLib_addCalc2(&mVesselScale, scale, 0.2f, 1.0f);
|
|
draw_lightdrop = true;
|
|
if ((f32)fabs(mVesselScale - scale) < 0.1f) {
|
|
mVesselScale = scale;
|
|
}
|
|
}
|
|
|
|
if (mVesselAlpha != alpha) {
|
|
cLib_addCalc2(&mVesselAlpha, alpha, 0.2f, 1.0f);
|
|
draw_lightdrop = true;
|
|
if ((f32)fabs(mVesselAlpha - alpha) < 0.1f) {
|
|
mVesselAlpha = alpha;
|
|
}
|
|
}
|
|
|
|
if (draw_lightdrop == true) {
|
|
mpMeterDraw->drawLightDrop(mLightDropNum, mNeedLightDropNum, mVesselPosX, mVesselPosY,
|
|
mVesselScale, mVesselAlpha, var_r28);
|
|
}
|
|
|
|
alphaAnimeLightDrop();
|
|
}
|
|
|
|
/* 80220C30-802210AC 21B570 047C+00 1/1 0/0 0/0 .text moveRupee__9dMeter2_cFv */
|
|
void dMeter2_c::moveRupee() {
|
|
s16 temp_r5;
|
|
s16 var_r6;
|
|
s32 temp_r0;
|
|
bool draw_rupee;
|
|
|
|
temp_r5 = dComIfGs_getRupeeMax();
|
|
draw_rupee = false;
|
|
|
|
// using dComIfGp_getItemRupeeCount() here swaps r3/r4 reg alloc?
|
|
if (g_dComIfG_gameInfo.play.mItemInfo.mItemRupeeCount != 0) {
|
|
var_r6 = dComIfGs_getRupee() + dComIfGp_getItemRupeeCount();
|
|
if (var_r6 > temp_r5) {
|
|
var_r6 = temp_r5;
|
|
} else if (var_r6 < 0) {
|
|
var_r6 = 0;
|
|
}
|
|
|
|
dComIfGs_setRupee(var_r6);
|
|
dComIfGp_clearItemRupeeCount();
|
|
temp_r0 = (u16)var_r6 - mRupeeNum;
|
|
|
|
if (temp_r0 >= 5) {
|
|
onRupeeSoundBit(2);
|
|
if (isRupeeSoundBit(3)) {
|
|
offRupeeSoundBit(3);
|
|
offRupeeSoundBit(1);
|
|
}
|
|
} else if (temp_r0 <= -5) {
|
|
onRupeeSoundBit(3);
|
|
if (isRupeeSoundBit(2)) {
|
|
offRupeeSoundBit(2);
|
|
offRupeeSoundBit(0);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (mRupeeNum != dComIfGs_getRupee()) {
|
|
if (mRupeeNum < dComIfGs_getRupee()) {
|
|
mRupeeNum++;
|
|
draw_rupee = true;
|
|
|
|
if (isRupeeSoundBit(2) & 1) {
|
|
if (mRupeeNum != dComIfGs_getRupee()) {
|
|
if (!isRupeeSoundBit(0)) {
|
|
onRupeeSoundBit(0);
|
|
mDoAud_seStart(Z2SE_LUPY_INC_CNT_1, NULL, 0, 0);
|
|
} else {
|
|
offRupeeSoundBit(0);
|
|
}
|
|
} else {
|
|
mDoAud_seStart(Z2SE_LUPY_INC_CNT_2, NULL, 0, 0);
|
|
offRupeeSoundBit(2);
|
|
offRupeeSoundBit(0);
|
|
}
|
|
}
|
|
} else if (mRupeeNum > dComIfGs_getRupee()) {
|
|
mRupeeNum--;
|
|
draw_rupee = true;
|
|
|
|
if (isRupeeSoundBit(3) & 1) {
|
|
if (mRupeeNum != dComIfGs_getRupee()) {
|
|
if (!isRupeeSoundBit(1)) {
|
|
onRupeeSoundBit(1);
|
|
mDoAud_seStart(Z2SE_LUPY_DEC_CNT_1, NULL, 0, 0);
|
|
} else {
|
|
offRupeeSoundBit(1);
|
|
}
|
|
} else {
|
|
mDoAud_seStart(Z2SE_LUPY_DEC_CNT_2, NULL, 0, 0);
|
|
offRupeeSoundBit(3);
|
|
offRupeeSoundBit(1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (mRupeeKeyScale != g_drawHIO.mRupeeKeyScale) {
|
|
mRupeeKeyScale = g_drawHIO.mRupeeKeyScale;
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (mRupeeKeyPosX != g_drawHIO.mRupeeKeyPosX) {
|
|
mRupeeKeyPosX = g_drawHIO.mRupeeKeyPosX;
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (mRupeeKeyPosY != g_drawHIO.mRupeeKeyPosY) {
|
|
mRupeeKeyPosY = g_drawHIO.mRupeeKeyPosY;
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (mRupeeScale != g_drawHIO.mRupeeScale) {
|
|
mRupeeScale = g_drawHIO.mRupeeScale;
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (mRupeePosX != g_drawHIO.mRupeePosX) {
|
|
mRupeePosX = g_drawHIO.mRupeePosX;
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (mRupeePosY != g_drawHIO.mRupeePosY) {
|
|
mRupeePosY = g_drawHIO.mRupeePosY;
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (mRupeeFramePosY != g_drawHIO.mRupeeFramePosY) {
|
|
mRupeeFramePosY = g_drawHIO.mRupeeFramePosY;
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (mRupeeFrameScale != g_drawHIO.mRupeeFrameScale) {
|
|
mRupeeFrameScale = g_drawHIO.mRupeeFrameScale;
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (mRupeeFramePosX != g_drawHIO.mRupeeFramePosX) {
|
|
mRupeeFramePosX = g_drawHIO.mRupeeFramePosX;
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (mRupeeCountScale != g_drawHIO.mRupeeCountScale) {
|
|
mRupeeCountScale = g_drawHIO.mRupeeCountScale;
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (mRupeeCountPosX != g_drawHIO.mRupeeCountPosX) {
|
|
mRupeeCountPosX = g_drawHIO.mRupeeCountPosX;
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (mRupeeCountPosY != g_drawHIO.mRupeeCountPosY) {
|
|
mRupeeCountPosY = g_drawHIO.mRupeeCountPosY;
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (mWalletSize != dComIfGs_getWalletSize()) {
|
|
mWalletSize = dComIfGs_getWalletSize();
|
|
draw_rupee = true;
|
|
}
|
|
|
|
if (draw_rupee == true) {
|
|
mpMeterDraw->drawRupee(mRupeeNum);
|
|
}
|
|
|
|
alphaAnimeRupee();
|
|
}
|
|
|
|
/* 802210AC-80221244 21B9EC 0198+00 1/1 0/0 0/0 .text moveKey__9dMeter2_cFv */
|
|
void dMeter2_c::moveKey() {
|
|
s16 var_r5;
|
|
bool draw_key;
|
|
|
|
draw_key = false;
|
|
if (dComIfGp_getItemKeyNumCount() != 0) {
|
|
var_r5 = dComIfGs_getKeyNum() + dComIfGp_getItemKeyNumCount();
|
|
if (var_r5 > 99) {
|
|
var_r5 = 99;
|
|
} else if (var_r5 < 0) {
|
|
var_r5 = 0;
|
|
}
|
|
|
|
dComIfGs_setKeyNum(var_r5);
|
|
dComIfGp_clearItemKeyNumCount();
|
|
}
|
|
|
|
if (mKeyNum != dComIfGs_getKeyNum()) {
|
|
if (mKeyNum < dComIfGs_getKeyNum()) {
|
|
mKeyNum++;
|
|
draw_key = true;
|
|
} else if (mKeyNum > dComIfGs_getKeyNum()) {
|
|
mKeyNum--;
|
|
draw_key = true;
|
|
}
|
|
}
|
|
|
|
if (mKeyScale != g_drawHIO.mKeyScale) {
|
|
mKeyScale = g_drawHIO.mKeyScale;
|
|
draw_key = true;
|
|
}
|
|
|
|
if (mKeyPosX != g_drawHIO.mKeyPosX) {
|
|
mKeyPosX = g_drawHIO.mKeyPosX;
|
|
draw_key = true;
|
|
}
|
|
|
|
if (mKeyPosY != g_drawHIO.mKeyPosY) {
|
|
mKeyPosY = g_drawHIO.mKeyPosY;
|
|
draw_key = true;
|
|
}
|
|
|
|
if (mKeyNumScale != g_drawHIO.mKeyNumScale) {
|
|
mKeyNumScale = g_drawHIO.mKeyNumScale;
|
|
draw_key = true;
|
|
}
|
|
|
|
if (mKeyNumPosX != g_drawHIO.mKeyNumPosX) {
|
|
mKeyNumPosX = g_drawHIO.mKeyNumPosX;
|
|
draw_key = true;
|
|
}
|
|
|
|
if (mKeyNumPosY != g_drawHIO.mKeyNumPosY) {
|
|
mKeyNumPosY = g_drawHIO.mKeyNumPosY;
|
|
draw_key = true;
|
|
}
|
|
|
|
if (draw_key == true) {
|
|
mpMeterDraw->drawKey(mKeyNum);
|
|
}
|
|
|
|
alphaAnimeKey();
|
|
}
|
|
|
|
/* 80221244-802217F4 21BB84 05B0+00 1/1 0/0 0/0 .text moveButtonA__9dMeter2_cFv */
|
|
void dMeter2_c::moveButtonA() {
|
|
f32 var_f31;
|
|
f32 pos_x[2];
|
|
f32 pos_y[2];
|
|
|
|
bool draw_buttonA;
|
|
bool var_r29;
|
|
bool emphasis_a;
|
|
u8 temp_r0;
|
|
|
|
draw_buttonA = false;
|
|
var_r29 = 0;
|
|
emphasis_a = false;
|
|
|
|
if (dComIfGp_getDoStatusForce() != 0) {
|
|
dComIfGp_setDoStatus(dComIfGp_getDoStatusForce(), dComIfGp_getDoSetFlagForce());
|
|
dComIfGp_setDoStatusForce(0, 0);
|
|
}
|
|
|
|
if (daPy_getPlayerActorClass()->getSumouMode()) {
|
|
if (dComIfGp_getDoStatus() == 0) {
|
|
dComIfGp_setDoStatus(0x15, 0);
|
|
emphasis_a = true;
|
|
} else if (dComIfGp_getDoStatus() == 0x15 && !mpMeterDraw->isEmphasisA()) {
|
|
var_r29 = 1;
|
|
draw_buttonA = true;
|
|
}
|
|
}
|
|
|
|
if (mDoStatus != dComIfGp_getDoStatus()) {
|
|
mDoStatus = dComIfGp_getDoStatus();
|
|
|
|
if (mDoStatus == 0x2D || mDoStatus == 0x2E) {
|
|
dComIfGp_setDoStatus(mDoStatus, 1);
|
|
}
|
|
|
|
var_r29 = 1;
|
|
draw_buttonA = true;
|
|
}
|
|
|
|
if (mDoSetFlag != dComIfGp_isDoSetFlag(2)) {
|
|
mDoSetFlag = dComIfGp_isDoSetFlag(2);
|
|
var_r29 = 1;
|
|
draw_buttonA = true;
|
|
}
|
|
|
|
if (emphasis_a && mpMeterDraw->isEmphasisA()) {
|
|
if (field_0x1fd == 0) {
|
|
var_r29 = 1;
|
|
draw_buttonA = true;
|
|
field_0x1fd = 1;
|
|
}
|
|
} else if (!emphasis_a && !mpMeterDraw->isEmphasisA() && field_0x1fd == 1) {
|
|
var_r29 = 1;
|
|
draw_buttonA = true;
|
|
field_0x1fd = 0;
|
|
}
|
|
|
|
if (mButtonAScale != g_drawHIO.mButtonAScale) {
|
|
mButtonAScale = g_drawHIO.mButtonAScale;
|
|
draw_buttonA = true;
|
|
}
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
if (mButtonATalkScale[i] != g_drawHIO.mButtonATalkScale[i]) {
|
|
mButtonATalkScale[i] = g_drawHIO.mButtonATalkScale[i];
|
|
draw_buttonA = true;
|
|
}
|
|
}
|
|
|
|
if (mButtonAPosX != g_drawHIO.mButtonAPosX) {
|
|
mButtonAPosX = g_drawHIO.mButtonAPosX;
|
|
draw_buttonA = true;
|
|
}
|
|
|
|
if (mButtonAPosY != g_drawHIO.mButtonAPosY) {
|
|
mButtonAPosY = g_drawHIO.mButtonAPosY;
|
|
draw_buttonA = true;
|
|
}
|
|
|
|
if (mButtonATextScale != g_drawHIO.mButtonATextScale) {
|
|
mButtonATextScale = g_drawHIO.mButtonATextScale;
|
|
draw_buttonA = true;
|
|
}
|
|
|
|
if (mButtonATextPosX != g_drawHIO.mButtonATextPosX) {
|
|
mButtonATextPosX = g_drawHIO.mButtonATextPosX;
|
|
draw_buttonA = true;
|
|
}
|
|
|
|
if (mButtonATextPosY != g_drawHIO.mButtonATextPosY) {
|
|
mButtonATextPosY = g_drawHIO.mButtonATextPosY;
|
|
draw_buttonA = true;
|
|
}
|
|
|
|
if (isShowLightDrop()) {
|
|
pos_x[0] = g_drawHIO.mButtonAVesselPosX;
|
|
pos_y[0] = g_drawHIO.mButtonAVesselPosY;
|
|
pos_x[1] = 0.0f;
|
|
pos_y[1] = 0.0f;
|
|
var_f31 = 1.0f;
|
|
} else if (isShowFlag(0)) {
|
|
if (isShowFlag(1)) {
|
|
for (int i = 0; i < 2; i++) {
|
|
pos_x[i] = g_drawHIO.mButtonATalkPosX[i];
|
|
pos_y[i] = g_drawHIO.mButtonATalkPosY[i];
|
|
}
|
|
} else {
|
|
for (int i = 0; i < 2; i++) {
|
|
pos_x[i] = g_drawHIO.mButtonATalkAPosX[i];
|
|
pos_y[i] = g_drawHIO.mButtonATalkAPosY[i];
|
|
}
|
|
}
|
|
var_f31 = 1.0f;
|
|
} else {
|
|
pos_x[0] = g_drawHIO.mButtonAPosX;
|
|
pos_y[0] = g_drawHIO.mButtonAPosY;
|
|
pos_x[1] = 0.0f;
|
|
pos_y[1] = 0.0f;
|
|
var_f31 = 1.0f;
|
|
}
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
if (mButtonATalkPosX[i] != pos_x[i]) {
|
|
cLib_addCalc2(&mButtonATalkPosX[i], pos_x[i], 1.0f, 10.0f);
|
|
draw_buttonA = true;
|
|
if ((f32)fabs(mButtonATalkPosX[i] - pos_x[i]) < 0.1f) {
|
|
mButtonATalkPosX[i] = pos_x[i];
|
|
}
|
|
}
|
|
|
|
if (mButtonATalkPosY[i] != pos_y[i]) {
|
|
cLib_addCalc2(&mButtonATalkPosY[i], pos_y[i], 1.0f, 10.0f);
|
|
draw_buttonA = true;
|
|
if ((f32)fabs(mButtonATalkPosY[i] - pos_y[i]) < 0.1f) {
|
|
mButtonATalkPosY[i] = pos_y[i];
|
|
}
|
|
}
|
|
}
|
|
|
|
if (field_0x144 != var_f31) {
|
|
cLib_addCalc2(&field_0x144, var_f31, 1.0f, 10.0f);
|
|
draw_buttonA = true;
|
|
if ((f32)fabs(field_0x144 - var_f31) < 0.01f) {
|
|
field_0x144 = var_f31;
|
|
}
|
|
}
|
|
|
|
if (field_0x200 != dMsgObject_isTalkNowCheck()) {
|
|
field_0x200 = dMsgObject_isTalkNowCheck();
|
|
draw_buttonA = true;
|
|
}
|
|
|
|
if (draw_buttonA) {
|
|
mpMeterDraw->drawButtonA(mDoStatus, mButtonATalkPosX[0], mButtonATalkPosY[0],
|
|
mButtonATalkPosX[1], mButtonATalkPosY[1], field_0x144, var_r29,
|
|
((mStatus & 0x100) ||
|
|
daPy_getPlayerActorClass()->checkHawkWait() ||
|
|
daPy_getPlayerActorClass()->checkGrassWhistle()) != false);
|
|
|
|
if (emphasis_a) {
|
|
mpMeterDraw->setEmphasisA(0);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 802217F4-80221EC8 21C134 06D4+00 1/1 0/0 0/0 .text moveButtonB__9dMeter2_cFv */
|
|
void dMeter2_c::moveButtonB() {
|
|
f32 var_f31;
|
|
f32 pos_x[2];
|
|
f32 pos_y[2];
|
|
|
|
bool draw_buttonB;
|
|
bool var_r29;
|
|
bool emphasis_b;
|
|
u8 temp_r0;
|
|
|
|
draw_buttonB = false;
|
|
var_r29 = 0;
|
|
emphasis_b = false;
|
|
|
|
if (dComIfGp_getAStatusForce() != 0) {
|
|
dComIfGp_setAStatus(dComIfGp_getAStatusForce(), dComIfGp_getASetFlagForce());
|
|
dComIfGp_setAStatusForce(0, 0);
|
|
}
|
|
|
|
if (daPy_getPlayerActorClass()->getSumouMode()) {
|
|
if (dComIfGp_getAStatus() == 0 || dComIfGp_getAStatus() == 0x26) {
|
|
dComIfGp_setAStatus(0x44, 0);
|
|
emphasis_b = true;
|
|
} else if (dComIfGp_getAStatus() == 0x44 && !mpMeterDraw->isEmphasisB()) {
|
|
var_r29 = 1;
|
|
draw_buttonB = true;
|
|
}
|
|
} else if (daPy_getPlayerActorClass()->checkGoatStopGame() ||
|
|
((mStatus & 2) && dComIfGp_getAStatus() == 0x26))
|
|
{
|
|
dComIfGp_setAStatus(0, 0);
|
|
}
|
|
|
|
if (mAStatus != dComIfGp_getAStatus()) {
|
|
mAStatus = dComIfGp_getAStatus();
|
|
|
|
if (mAStatus == 0x2D || mAStatus == 0x2E) {
|
|
dComIfGp_setAStatus(mAStatus, 1);
|
|
}
|
|
|
|
var_r29 = 1;
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
if (mASetFlag != dComIfGp_isASetFlag(2)) {
|
|
mASetFlag = dComIfGp_isASetFlag(2);
|
|
var_r29 = 1;
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
if (mEquipSword != dComIfGs_getSelectEquipSword()) {
|
|
mEquipSword = dComIfGs_getSelectEquipSword();
|
|
var_r29 = 1;
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
if (emphasis_b && mpMeterDraw->isEmphasisB()) {
|
|
if (field_0x1fe == 0) {
|
|
var_r29 = 1;
|
|
draw_buttonB = true;
|
|
field_0x1fe = 1;
|
|
}
|
|
} else if (!emphasis_b && !mpMeterDraw->isEmphasisB() && field_0x1fe == 1) {
|
|
var_r29 = 1;
|
|
draw_buttonB = true;
|
|
field_0x1fe = 0;
|
|
}
|
|
|
|
if (field_0x2cc != g_drawHIO.mButtonBScale) {
|
|
field_0x2cc = g_drawHIO.mButtonBScale;
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
if (field_0x2ec[i] != g_drawHIO.mButtonBTalkScale[i]) {
|
|
field_0x2ec[i] = g_drawHIO.mButtonBTalkScale[i];
|
|
draw_buttonB = true;
|
|
}
|
|
}
|
|
|
|
if (mButtonBPosX != g_drawHIO.mButtonBPosX) {
|
|
mButtonBPosX = g_drawHIO.mButtonBPosX;
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
if (mButtonBPosY != g_drawHIO.mButtonBPosY) {
|
|
mButtonBPosY = g_drawHIO.mButtonBPosY;
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
if (g_drawHIO.mButtonDebug[3]) {
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
if (mItemBBaseScale[i] != g_drawHIO.mItemBBaseScale[i]) {
|
|
mItemBBaseScale[i] = g_drawHIO.mItemBBaseScale[i];
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
if (mItemBBasePosX[i] != g_drawHIO.mItemBBasePosX[i]) {
|
|
mItemBBasePosX[i] = g_drawHIO.mItemBBasePosX[i];
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
if (mItemBBasePosY[i] != g_drawHIO.mItemBBasePosY[i]) {
|
|
mItemBBasePosY[i] = g_drawHIO.mItemBBasePosY[i];
|
|
draw_buttonB = true;
|
|
}
|
|
}
|
|
|
|
if (mButtonBFontScale != g_drawHIO.mButtonBFontScale) {
|
|
mButtonBFontScale = g_drawHIO.mButtonBFontScale;
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
if (mButtonBFontPosX != g_drawHIO.mButtonBFontPosX) {
|
|
mButtonBFontPosX = g_drawHIO.mButtonBFontPosX;
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
if (mButtonBFontPosY != g_drawHIO.mButtonBFontPosY) {
|
|
mButtonBFontPosY = g_drawHIO.mButtonBFontPosY;
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
if (isShowLightDrop()) {
|
|
pos_x[0] = g_drawHIO.mButtonBVesselPosX;
|
|
pos_y[0] = g_drawHIO.mButtonBVesselPosY;
|
|
pos_x[1] = 0.0f;
|
|
pos_y[1] = 0.0f;
|
|
var_f31 = 1.0f;
|
|
} else if (isShowFlag(1)) {
|
|
for (int i = 0; i < 2; i++) {
|
|
pos_x[i] = g_drawHIO.mButtonBTalkPosX[i];
|
|
pos_y[i] = g_drawHIO.mButtonBTalkPosY[i];
|
|
}
|
|
var_f31 = 1.0f;
|
|
} else {
|
|
for (int i = 0; i < 2; i++) {
|
|
if (field_0x128 != 0 && i == 0) {
|
|
pos_x[i] = g_drawHIO.mButtonBWolfPosX;
|
|
pos_y[i] = g_drawHIO.mButtonBWolfPosY;
|
|
} else {
|
|
pos_x[i] = 0.0f;
|
|
pos_y[i] = 0.0f;
|
|
}
|
|
}
|
|
var_f31 = 1.0f;
|
|
}
|
|
|
|
if (mpMeterDraw->isBButtonShow(false)) {
|
|
if (field_0x1ff == 0) {
|
|
field_0x1ff = 1;
|
|
draw_buttonB = true;
|
|
}
|
|
} else if (field_0x1ff == 1) {
|
|
field_0x1ff = 0;
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
if (field_0x148[i] != pos_x[i]) {
|
|
cLib_addCalc2(&field_0x148[i], pos_x[i], 1.0f, 10.0f);
|
|
draw_buttonB = true;
|
|
if ((f32)fabs(field_0x148[i] - pos_x[i]) < 0.1f) {
|
|
field_0x148[i] = pos_x[i];
|
|
}
|
|
}
|
|
|
|
if (field_0x150[i] != pos_y[i]) {
|
|
cLib_addCalc2(&field_0x150[i], pos_y[i], 1.0f, 10.0f);
|
|
draw_buttonB = true;
|
|
if ((f32)fabs(field_0x150[i] - pos_y[i]) < 0.1f) {
|
|
field_0x150[i] = pos_y[i];
|
|
}
|
|
}
|
|
}
|
|
|
|
if (field_0x158 != var_f31) {
|
|
cLib_addCalc2(&field_0x158, var_f31, 1.0f, 10.0f);
|
|
draw_buttonB = true;
|
|
if ((f32)fabs(field_0x158 - var_f31) < 0.01f) {
|
|
field_0x158 = var_f31;
|
|
}
|
|
}
|
|
|
|
if (g_drawHIO.mItemScaleAdjustON && field_0x4bc != g_drawHIO.mItemScalePercent) {
|
|
field_0x4bc = g_drawHIO.mItemScalePercent;
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
if (field_0x1c6 != daPy_getPlayerActorClass()->checkGrassWhistle()) {
|
|
field_0x1c6 = daPy_getPlayerActorClass()->checkGrassWhistle();
|
|
draw_buttonB = true;
|
|
}
|
|
|
|
if (draw_buttonB) {
|
|
mpMeterDraw->drawButtonB(mAStatus, field_0x128 == 0, field_0x148[0], field_0x150[0],
|
|
field_0x148[1], field_0x150[1], field_0x158, var_r29);
|
|
|
|
if (emphasis_b) {
|
|
mpMeterDraw->setEmphasisB(0);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 80221EC8-80222000 21C808 0138+00 1/1 0/0 0/0 .text moveButtonR__9dMeter2_cFv */
|
|
void dMeter2_c::moveButtonR() {
|
|
bool var_r7;
|
|
bool draw_buttonR;
|
|
|
|
draw_buttonR = false;
|
|
var_r7 = 0;
|
|
|
|
if (field_0x128 != 0 &&
|
|
(mCollectSmell != dComIfGs_getCollectSmell() || field_0x128 != field_0x12c))
|
|
{
|
|
mCollectSmell = dComIfGs_getCollectSmell();
|
|
var_r7 = 1;
|
|
draw_buttonR = true;
|
|
}
|
|
|
|
if (dComIfGp_getRStatusForce() != 0) {
|
|
dComIfGp_setRStatus(dComIfGp_getRStatusForce(), dComIfGp_getRSetFlagForce());
|
|
dComIfGp_setRStatusForce(0, 0);
|
|
}
|
|
|
|
if (mRStatus != dComIfGp_getRStatus()) {
|
|
mRStatus = dComIfGp_getRStatus();
|
|
|
|
if (mRStatus == 0x2D || mRStatus == 0x2E) {
|
|
dComIfGp_setRStatus(mRStatus, 1);
|
|
}
|
|
|
|
var_r7 = 1;
|
|
draw_buttonR = true;
|
|
}
|
|
|
|
if (mRSetFlag != dComIfGp_isRSetFlag(2)) {
|
|
mRSetFlag = dComIfGp_isRSetFlag(2);
|
|
var_r7 = 1;
|
|
draw_buttonR = true;
|
|
}
|
|
|
|
if (draw_buttonR) {
|
|
mpMeterDraw->drawButtonR(mCollectSmell, mRStatus, field_0x128 == 0, var_r7);
|
|
}
|
|
}
|
|
|
|
/* 80222000-802222A0 21C940 02A0+00 1/1 0/0 0/0 .text moveButtonZ__9dMeter2_cFv */
|
|
void dMeter2_c::moveButtonZ() {
|
|
bool draw_buttonZ = false;
|
|
|
|
if (field_0x324 != g_drawHIO.mButtonZScale) {
|
|
field_0x324 = g_drawHIO.mButtonZScale;
|
|
draw_buttonZ = true;
|
|
}
|
|
|
|
if (field_0x328 != g_drawHIO.mButtonZPosX) {
|
|
field_0x328 = g_drawHIO.mButtonZPosX;
|
|
draw_buttonZ = true;
|
|
}
|
|
|
|
if (field_0x32c != g_drawHIO.mButtonZPosY) {
|
|
field_0x32c = g_drawHIO.mButtonZPosY;
|
|
draw_buttonZ = true;
|
|
}
|
|
|
|
if (field_0x384 != g_drawHIO.mButtonZItemScale) {
|
|
field_0x384 = g_drawHIO.mButtonZItemScale;
|
|
draw_buttonZ = true;
|
|
}
|
|
|
|
if (field_0x388 != g_drawHIO.mButtonZItemPosX) {
|
|
field_0x388 = g_drawHIO.mButtonZItemPosX;
|
|
draw_buttonZ = true;
|
|
}
|
|
|
|
if (field_0x38c != g_drawHIO.mButtonZItemPosY) {
|
|
field_0x38c = g_drawHIO.mButtonZItemPosY;
|
|
draw_buttonZ = true;
|
|
}
|
|
|
|
if (field_0x3e4 != g_drawHIO.mButtonZItemBaseScale) {
|
|
field_0x3e4 = g_drawHIO.mButtonZItemBaseScale;
|
|
draw_buttonZ = true;
|
|
}
|
|
|
|
if (field_0x3e8 != g_drawHIO.mButtonZItemBasePosX) {
|
|
field_0x3e8 = g_drawHIO.mButtonZItemBasePosX;
|
|
draw_buttonZ = true;
|
|
}
|
|
|
|
if (field_0x3ec != g_drawHIO.mButtonZItemBasePosY) {
|
|
field_0x3ec = g_drawHIO.mButtonZItemBasePosY;
|
|
draw_buttonZ = true;
|
|
}
|
|
|
|
if (field_0x330 != g_drawHIO.mButtonZFontScale) {
|
|
field_0x330 = g_drawHIO.mButtonZFontScale;
|
|
draw_buttonZ = true;
|
|
}
|
|
|
|
if (field_0x334 != g_drawHIO.mButtonZFontPosX) {
|
|
field_0x334 = g_drawHIO.mButtonZFontPosX;
|
|
draw_buttonZ = true;
|
|
}
|
|
|
|
if (field_0x338 != g_drawHIO.mButtonZFontPosY) {
|
|
field_0x338 = g_drawHIO.mButtonZFontPosY;
|
|
draw_buttonZ = true;
|
|
}
|
|
|
|
if (dComIfGp_getZStatusForce() != 0) {
|
|
dComIfGp_setZStatus(dComIfGp_getZStatusForce(), dComIfGp_getZSetFlagForce());
|
|
dComIfGp_setZStatusForce(0, 0);
|
|
}
|
|
|
|
if (mZStatus != dComIfGp_getZStatus() || draw_buttonZ) {
|
|
mZStatus = dComIfGp_getZStatus();
|
|
|
|
if (mZStatus == 0x2D || mZStatus == 0x2E) {
|
|
dComIfGp_setZStatus(mZStatus, 1);
|
|
}
|
|
|
|
mpMeterDraw->drawButtonZ(mZStatus);
|
|
}
|
|
|
|
mpMeterDraw->setButtonIconMidonaAlpha(mStatus);
|
|
dComIfGp_setZStatus(0, 0);
|
|
|
|
if (dComIfGp_getBottleStatusForce() != 0) {
|
|
dComIfGp_setBottleStatus(dComIfGp_getBottleStatusForce(),
|
|
dComIfGp_getBottleSetFlagForce());
|
|
dComIfGp_setBottleStatusForce(0, 0);
|
|
}
|
|
|
|
if (mBottleStatus != dComIfGp_getBottleStatus()) {
|
|
mBottleStatus = dComIfGp_getBottleStatus();
|
|
mpMeterDraw->drawButtonBin(mBottleStatus);
|
|
}
|
|
}
|
|
|
|
/* 802222A0-80222364 21CBE0 00C4+00 1/1 0/0 0/0 .text moveButton3D__9dMeter2_cFv */
|
|
void dMeter2_c::moveButton3D() {
|
|
u8 var_r6;
|
|
|
|
if (dComIfGp_get3DStatusForce() != 0) {
|
|
var_r6 = dComIfGp_get3DSetFlagForce();
|
|
if (dComIfGp_get3DStatusForce() == 0x6A) {
|
|
var_r6 = 1;
|
|
}
|
|
|
|
dComIfGp_set3DStatus(dComIfGp_get3DStatusForce(), dComIfGp_get3DDirectionForce(), var_r6);
|
|
dComIfGp_set3DStatusForce(0, 0, 0);
|
|
}
|
|
|
|
if (m3DStatus != dComIfGp_get3DStatus()) {
|
|
m3DStatus = dComIfGp_get3DStatus();
|
|
|
|
if (m3DStatus == 0x2D || m3DStatus == 0x2E) {
|
|
dComIfGp_set3DStatus(m3DStatus, 5, 1);
|
|
}
|
|
|
|
mpMeterDraw->drawButton3D(m3DStatus);
|
|
}
|
|
}
|
|
|
|
/* 80222364-80222494 21CCA4 0130+00 1/1 0/0 0/0 .text moveButtonC__9dMeter2_cFv */
|
|
void dMeter2_c::moveButtonC() {
|
|
if (dComIfGp_getCStickStatusForce()) {
|
|
u8 setFlag = dComIfGp_getCStickSetFlagForce();
|
|
u8 dirForce = dComIfGp_getCStickDirectionForce();
|
|
u8 statusForce = dComIfGp_getCStickStatusForce();
|
|
dComIfGp_setCStickStatus(statusForce, dirForce, setFlag);
|
|
dComIfGp_setCStickStatusForce(0, 0, 0);
|
|
}
|
|
|
|
if (mCStickStatus == dComIfGp_getCStickStatus() && field_0x1ac == dMeter2Info_isUseButton(0x10))
|
|
{
|
|
if ((!mpMeterDraw->isEmphasisC() || dComIfGp_isCStickSetFlag(2)) &&
|
|
(mpMeterDraw->isEmphasisC() || !dComIfGp_isCStickSetFlag(2)) &&
|
|
field_0x19a == mpMeterDraw->getButtonTimer())
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
|
|
field_0x19a = mpMeterDraw->getButtonTimer();
|
|
mCStickStatus = dComIfGp_getCStickStatus();
|
|
field_0x1ac = dMeter2Info_isUseButton(0x10);
|
|
mpMeterDraw->drawButtonC(mCStickStatus, field_0x128 == 0);
|
|
}
|
|
|
|
/* 80222494-80222518 21CDD4 0084+00 1/1 0/0 0/0 .text moveButtonS__9dMeter2_cFv */
|
|
void dMeter2_c::moveButtonS() {
|
|
if (dComIfGp_getSButtonStatusForce()) {
|
|
u8 setFlag = dComIfGp_getSButtonSetFlagForce();
|
|
u8 statusForce = dComIfGp_getSButtonStatusForce();
|
|
dComIfGp_setSButtonStatus(statusForce, setFlag);
|
|
dComIfGp_setSButtonStatusForce(0, 0);
|
|
} else {
|
|
dComIfGp_setSButtonStatus(0, 0);
|
|
}
|
|
|
|
if (mSButtonStatus != dComIfGp_getSButtonStatus()) {
|
|
mSButtonStatus = dComIfGp_getSButtonStatus();
|
|
mpMeterDraw->drawButtonS(mSButtonStatus);
|
|
}
|
|
}
|
|
|
|
/* 80222518-80222E88 21CE58 0970+00 1/1 0/0 0/0 .text moveButtonXY__9dMeter2_cFv */
|
|
void dMeter2_c::moveButtonXY() {
|
|
bool sp8[2];
|
|
bool spC[2];
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
sp8[i] = 0;
|
|
spC[i] = 0;
|
|
}
|
|
|
|
if (field_0x33c != g_drawHIO.mButtonXScale) {
|
|
field_0x33c = g_drawHIO.mButtonXScale;
|
|
sp8[0] = 1;
|
|
}
|
|
|
|
if (field_0x340 != g_drawHIO.mButtonXPosX) {
|
|
field_0x340 = g_drawHIO.mButtonXPosX;
|
|
sp8[0] = 1;
|
|
}
|
|
|
|
if (field_0x344 != g_drawHIO.mButtonXPosY) {
|
|
field_0x344 = g_drawHIO.mButtonXPosY;
|
|
sp8[0] = 1;
|
|
}
|
|
|
|
if (field_0x348 != g_drawHIO.mButtonYScale) {
|
|
field_0x348 = g_drawHIO.mButtonYScale;
|
|
sp8[1] = 1;
|
|
}
|
|
|
|
if (field_0x34c != g_drawHIO.mButtonYPosX) {
|
|
field_0x34c = g_drawHIO.mButtonYPosX;
|
|
sp8[1] = 1;
|
|
}
|
|
|
|
if (field_0x350 != g_drawHIO.mButtonYPosY) {
|
|
field_0x350 = g_drawHIO.mButtonYPosY;
|
|
sp8[1] = 1;
|
|
}
|
|
|
|
if (field_0x360 != g_drawHIO.mButtonXItemScale) {
|
|
field_0x360 = g_drawHIO.mButtonXItemScale;
|
|
sp8[0] = 1;
|
|
}
|
|
|
|
if (field_0x364 != g_drawHIO.mButtonXItemPosX) {
|
|
field_0x364 = g_drawHIO.mButtonXItemPosX;
|
|
sp8[0] = 1;
|
|
}
|
|
|
|
if (field_0x368 != g_drawHIO.mButtonXItemPosY) {
|
|
field_0x368 = g_drawHIO.mButtonXItemPosY;
|
|
sp8[0] = 1;
|
|
}
|
|
|
|
if (field_0x36c != g_drawHIO.mButtonYItemScale) {
|
|
field_0x36c = g_drawHIO.mButtonYItemScale;
|
|
sp8[1] = 1;
|
|
}
|
|
|
|
if (field_0x370 != g_drawHIO.mButtonYItemPosX) {
|
|
field_0x370 = g_drawHIO.mButtonYItemPosX;
|
|
sp8[1] = 1;
|
|
}
|
|
|
|
if (field_0x374 != g_drawHIO.mButtonYItemPosY) {
|
|
field_0x374 = g_drawHIO.mButtonYItemPosY;
|
|
sp8[1] = 1;
|
|
}
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
if (field_0x39c[i] != g_drawHIO.mButtonXItemBaseScale[i]) {
|
|
field_0x39c[i] = g_drawHIO.mButtonXItemBaseScale[i];
|
|
sp8[0] = 1;
|
|
}
|
|
|
|
if (field_0x3a4[i] != g_drawHIO.mButtonXItemBasePosX[i]) {
|
|
field_0x3a4[i] = g_drawHIO.mButtonXItemBasePosX[i];
|
|
sp8[0] = 1;
|
|
}
|
|
|
|
if (field_0x3ac[i] != g_drawHIO.mButtonXItemBasePosY[i]) {
|
|
field_0x3ac[i] = g_drawHIO.mButtonXItemBasePosY[i];
|
|
sp8[0] = 1;
|
|
}
|
|
|
|
if (field_0x3b4[i] != g_drawHIO.mButtonYItemBaseScale[i]) {
|
|
field_0x3b4[i] = g_drawHIO.mButtonYItemBaseScale[i];
|
|
sp8[1] = 1;
|
|
}
|
|
|
|
if (field_0x3bc[i] != g_drawHIO.mButtonYItemBasePosX[i]) {
|
|
field_0x3bc[i] = g_drawHIO.mButtonYItemBasePosX[i];
|
|
sp8[1] = 1;
|
|
}
|
|
|
|
if (field_0x3c4[i] != g_drawHIO.mButtonYItemBasePosY[i]) {
|
|
field_0x3c4[i] = g_drawHIO.mButtonYItemBasePosY[i];
|
|
sp8[1] = 1;
|
|
}
|
|
}
|
|
|
|
if (g_drawHIO.mItemScaleAdjustON && field_0x4bd != g_drawHIO.mItemScalePercent) {
|
|
field_0x4bd = g_drawHIO.mItemScalePercent;
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
sp8[i] = 1;
|
|
}
|
|
}
|
|
|
|
if (field_0x3f0 != g_drawHIO.mButtonXYTextScale) {
|
|
field_0x3f0 = g_drawHIO.mButtonXYTextScale;
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
sp8[i] = 1;
|
|
}
|
|
}
|
|
|
|
if (field_0x3f4 != g_drawHIO.mButtonXYTextPosX) {
|
|
field_0x3f4 = g_drawHIO.mButtonXYTextPosX;
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
sp8[i] = 1;
|
|
}
|
|
}
|
|
|
|
if (field_0x3f8 != g_drawHIO.mButtonXYTextPosY) {
|
|
field_0x3f8 = g_drawHIO.mButtonXYTextPosY;
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
sp8[i] = 1;
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < 3; i++) {
|
|
if (field_0x390[i] != g_drawHIO.mButtonItemRotation[i]) {
|
|
field_0x390[i] = g_drawHIO.mButtonItemRotation[i];
|
|
sp8[i] = 1;
|
|
}
|
|
|
|
if (g_drawHIO.mButtonDebug[i]) {
|
|
sp8[i] = 1;
|
|
}
|
|
|
|
if (field_0x430 != g_drawHIO.field_0x54c) {
|
|
field_0x430 = g_drawHIO.field_0x54c;
|
|
sp8[i] = 1;
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
if (field_0x128 != 0) {
|
|
if (field_0x128 != field_0x12c) {
|
|
spC[i] = 1;
|
|
sp8[i] = 1;
|
|
}
|
|
|
|
if (i == 0) {
|
|
if (dComIfGp_getXStatusForce() != 0) {
|
|
dComIfGp_setXStatus(dComIfGp_getXStatusForce(), dComIfGp_getXSetFlagForce());
|
|
dComIfGp_setXStatusForce(0, 0);
|
|
}
|
|
|
|
if (mItemStatus[i * 2 + 1] != dComIfGp_getXStatus()) {
|
|
mItemStatus[i * 2 + 1] = dComIfGp_getXStatus();
|
|
|
|
if (mItemStatus[i * 2 + 1] == 0x2D || mItemStatus[i * 2 + 1] == 0x2E) {
|
|
dComIfGp_setXStatus(mItemStatus[i * 2 + 1], 1);
|
|
}
|
|
|
|
spC[i] = 1;
|
|
sp8[i] = 1;
|
|
}
|
|
|
|
if ((&mXSetFlag)[i] != dComIfGp_isXSetFlag(2)) {
|
|
(&mXSetFlag)[i] = dComIfGp_isXSetFlag(2);
|
|
spC[i] = 1;
|
|
sp8[i] = 1;
|
|
}
|
|
} else if (i == 1) {
|
|
if (dComIfGp_getYStatusForce() != 0) {
|
|
dComIfGp_setYStatus(dComIfGp_getYStatusForce(), dComIfGp_getYSetFlagForce());
|
|
dComIfGp_setYStatusForce(0, 0);
|
|
}
|
|
|
|
if (mItemStatus[i * 2 + 1] != dComIfGp_getYStatus()) {
|
|
mItemStatus[i * 2 + 1] = dComIfGp_getYStatus();
|
|
|
|
if (mItemStatus[i * 2 + 1] == 0x2D || mItemStatus[i * 2 + 1] == 0x2E) {
|
|
dComIfGp_setYStatus(mItemStatus[i * 2 + 1], 1);
|
|
}
|
|
|
|
spC[i] = 1;
|
|
sp8[i] = 1;
|
|
}
|
|
|
|
if ((&mXSetFlag)[i] != dComIfGp_isYSetFlag(2)) {
|
|
(&mXSetFlag)[i] = dComIfGp_isYSetFlag(2);
|
|
spC[i] = 1;
|
|
sp8[i] = 1;
|
|
}
|
|
}
|
|
} else {
|
|
if (mItemStatus[2 * i] != dComIfGp_getSelectItem(i) || field_0x128 != field_0x12c) {
|
|
mItemStatus[2 * i] = dComIfGp_getSelectItem(i);
|
|
spC[i] = 1;
|
|
sp8[i] = 1;
|
|
}
|
|
|
|
if (field_0x1d6[i] != dMeter2Info_isDirectUseItem(i)) {
|
|
field_0x1d6[i] = dMeter2Info_isDirectUseItem(i);
|
|
spC[i] = 1;
|
|
sp8[i] = 1;
|
|
}
|
|
|
|
if (mItemStatus[2 * i] == 0x48) {
|
|
if (field_0x1ec == 0) {
|
|
if (dComIfGs_getOil() != 0) {
|
|
field_0x1ec = 1;
|
|
sp8[i] = 1;
|
|
}
|
|
} else {
|
|
if (dComIfGs_getOil() == 0) {
|
|
field_0x1ec = 0;
|
|
sp8[i] = 1;
|
|
}
|
|
}
|
|
} else if (mItemStatus[2 * i] == 0x46) {
|
|
if (field_0x1ed == 0) {
|
|
if (daPy_getPlayerActorClass()->checkCopyRodTopUse()) {
|
|
field_0x1ed = 1;
|
|
sp8[i] = 1;
|
|
}
|
|
} else {
|
|
if (!daPy_getPlayerActorClass()->checkCopyRodTopUse()) {
|
|
field_0x1ed = 0;
|
|
sp8[i] = 1;
|
|
}
|
|
}
|
|
} else if (mItemStatus[2 * i] == 0x50 || mItemStatus[2 * i] == 0x70 ||
|
|
mItemStatus[2 * i] == 0x71 || mItemStatus[2 * i] == 0x72)
|
|
{
|
|
if (sp8[i] != 0) {
|
|
mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i),
|
|
dComIfGp_getSelectItemMaxNum(i));
|
|
}
|
|
} else if (mItemStatus[2 * i] == 0x76) {
|
|
if (field_0x1d8[i] != dComIfGp_getSelectItemNum(i)) {
|
|
field_0x1d8[i] = dComIfGp_getSelectItemNum(i);
|
|
sp8[i] = 1;
|
|
}
|
|
|
|
if (sp8[i] != 0) {
|
|
mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i),
|
|
dComIfGp_getSelectItemMaxNum(i));
|
|
}
|
|
} else if (mItemStatus[2 * i] == 0x43 || mItemStatus[2 * i] == 0x53 ||
|
|
mItemStatus[2 * i] == 0x54 || mItemStatus[2 * i] == 0x55 ||
|
|
mItemStatus[2 * i] == 0x56 || mItemStatus[2 * i] == 0x5A)
|
|
{
|
|
if (sp8[i] != 0) {
|
|
mpMeterDraw->setItemNum(i, mArrowNum, dComIfGs_getArrowMax());
|
|
}
|
|
} else if (mItemStatus[2 * i] == 0x4B) {
|
|
if (sp8[i] != 0) {
|
|
mpMeterDraw->setItemNum(i, mPachinkoNum, dComIfGs_getPachinkoMax());
|
|
}
|
|
} else if (mItemStatus[2 * i] == 0x59) {
|
|
u8 var_r25 = dComIfGp_getSelectItemNum(i);
|
|
u8 var_r6_2 = dComIfGp_getSelectItemMaxNum(i);
|
|
|
|
if (var_r25 > mArrowNum) {
|
|
var_r25 = mArrowNum;
|
|
}
|
|
|
|
if (var_r6_2 < dComIfGs_getArrowMax()) {
|
|
var_r6_2 = dComIfGs_getArrowMax();
|
|
}
|
|
|
|
mpMeterDraw->setItemNum(i, var_r25, var_r6_2);
|
|
}
|
|
}
|
|
|
|
if (sp8[i] != 0) {
|
|
mpMeterDraw->drawButtonXY(i, mItemStatus[2 * i], mItemStatus[i * 2 + 1],
|
|
field_0x128 == 0 ? true : false, spC[i]);
|
|
}
|
|
}
|
|
|
|
alphaAnimeButton();
|
|
dMeter2Info_resetDirectUseItem();
|
|
}
|
|
|
|
/* 80222E88-802230F8 21D7C8 0270+00 1/1 0/0 0/0 .text moveButtonCross__9dMeter2_cFv */
|
|
void dMeter2_c::moveButtonCross() {
|
|
f32 temp_f1;
|
|
f32 temp_f30;
|
|
f32 temp_f31;
|
|
f32 var_f31;
|
|
bool draw_cross;
|
|
|
|
draw_cross = false;
|
|
var_f31 = 0.0f;
|
|
|
|
if (mButtonCrossOFFPosX != g_drawHIO.mButtonCrossOFFPosX) {
|
|
mButtonCrossOFFPosX = g_drawHIO.mButtonCrossOFFPosX;
|
|
draw_cross = true;
|
|
}
|
|
|
|
if (mButtonCrossOFFPosY != g_drawHIO.mButtonCrossOFFPosY) {
|
|
mButtonCrossOFFPosY = g_drawHIO.mButtonCrossOFFPosY;
|
|
draw_cross = true;
|
|
}
|
|
|
|
if (mButtonCrossONPosX != g_drawHIO.mButtonCrossONPosX) {
|
|
mButtonCrossONPosX = g_drawHIO.mButtonCrossONPosX;
|
|
draw_cross = true;
|
|
}
|
|
|
|
if (mButtonCrossONPosY != g_drawHIO.mButtonCrossONPosY) {
|
|
mButtonCrossONPosY = g_drawHIO.mButtonCrossONPosY;
|
|
draw_cross = true;
|
|
}
|
|
|
|
if (mButtonCrossScale != g_drawHIO.mButtonCrossScale) {
|
|
mButtonCrossScale = g_drawHIO.mButtonCrossScale;
|
|
draw_cross = true;
|
|
}
|
|
|
|
if (mButtonCrossTextScale != g_drawHIO.mButtonCrossTextScale) {
|
|
mButtonCrossTextScale = g_drawHIO.mButtonCrossTextScale;
|
|
draw_cross = true;
|
|
}
|
|
|
|
if (mpMap != NULL) {
|
|
temp_f31 = mpMap->getMapDispEdgeTop();
|
|
temp_f1 = (temp_f31 - mpMeterDraw->getButtonCrossParentInitTransY()) - 15.0f;
|
|
|
|
if (mpMap->isDispPosInsideFlg()) {
|
|
if (field_0x1b4 < g_drawHIO.mButtonCrossMoveFrame) {
|
|
field_0x1b4++;
|
|
draw_cross = true;
|
|
} else {
|
|
field_0x1b4 = g_drawHIO.mButtonCrossMoveFrame;
|
|
}
|
|
|
|
var_f31 = mButtonCrossONPosY + temp_f1;
|
|
} else {
|
|
if (field_0x1b4 > 0) {
|
|
field_0x1b4--;
|
|
draw_cross = true;
|
|
} else {
|
|
field_0x1b4 = 0;
|
|
}
|
|
|
|
var_f31 = mButtonCrossOFFPosY;
|
|
}
|
|
}
|
|
|
|
temp_f30 = mButtonCrossOFFPosX + (((f32)field_0x1b4 / (f32)g_drawHIO.mButtonCrossMoveFrame) *
|
|
(mButtonCrossONPosX - mButtonCrossOFFPosX));
|
|
if (field_0x15c != var_f31) {
|
|
cLib_addCalc2(&field_0x15c, var_f31, 0.5f, 50.0f);
|
|
if ((f32)fabs(field_0x15c - var_f31) < 0.5f) {
|
|
field_0x15c = var_f31;
|
|
}
|
|
draw_cross = true;
|
|
}
|
|
|
|
if (draw_cross == true) {
|
|
mpMeterDraw->drawButtonCross(temp_f30, field_0x15c);
|
|
}
|
|
|
|
alphaAnimeButtonCross();
|
|
}
|
|
|
|
/* 802230F8-802230FC 21DA38 0004+00 1/1 0/0 0/0 .text moveTouchSubMenu__9dMeter2_cFv */
|
|
void dMeter2_c::moveTouchSubMenu() {}
|
|
|
|
/* 802230FC-802231C8 21DA3C 00CC+00 1/1 0/0 0/0 .text moveSubContents__9dMeter2_cFv */
|
|
void dMeter2_c::moveSubContents() {
|
|
JKRHeap* heap = mDoExt_setCurrentHeap(mpSubHeap);
|
|
checkSubContents();
|
|
|
|
if (mpSubContents != NULL) {
|
|
mpSubContents->_execute(mStatus);
|
|
}
|
|
|
|
if (mpSubSubContents != NULL) {
|
|
if (mSubContentType == 5 && mSubContentsStringType != dMeter2Info_getMeterStringType()) {
|
|
mSubContentsStringType = dMeter2Info_getMeterStringType();
|
|
if (mSubContentsStringType != 0) {
|
|
mpSubSubContents->createString(mSubContentsStringType);
|
|
}
|
|
}
|
|
mpSubSubContents->_execute(mStatus);
|
|
}
|
|
|
|
mDoExt_setCurrentHeap(heap);
|
|
}
|
|
|
|
/* 802231C8-802237D4 21DB08 060C+00 1/1 0/0 0/0 .text move2DContents__9dMeter2_cFv */
|
|
void dMeter2_c::move2DContents() {
|
|
bool var_r19;
|
|
bool var_r27;
|
|
bool var_r20;
|
|
bool var_r28;
|
|
bool var_r21;
|
|
bool var_r22;
|
|
bool var_r23;
|
|
bool var_r24;
|
|
bool var_r25;
|
|
bool var_r29;
|
|
bool var_r26;
|
|
u8 var_r30;
|
|
|
|
field_0x201 = 0;
|
|
field_0x108 = NULL;
|
|
|
|
JKRHeap* temp_r3 = dComIfGp_getSubHeap2D(8);
|
|
if (temp_r3 != NULL) {
|
|
field_0x108 = mDoExt_setCurrentHeap(temp_r3);
|
|
}
|
|
|
|
check2DContents();
|
|
|
|
if (mpEmpButton != NULL) {
|
|
var_r19 = 0;
|
|
var_r27 = 0;
|
|
var_r20 = 0;
|
|
var_r28 = 0;
|
|
var_r21 = 0;
|
|
var_r22 = 0;
|
|
var_r23 = 0;
|
|
var_r24 = 0;
|
|
var_r25 = 0;
|
|
var_r29 = 0;
|
|
var_r26 = 0;
|
|
var_r30 = 2;
|
|
|
|
if (mpMeterDraw->isEmphasisS() && mpEmpButton->isSetButton(6)) {
|
|
mpEmpButton->setString(mpMeterDraw->getActionString(mSButtonStatus, 0, NULL), 6, 0, 0);
|
|
var_r23 = 1;
|
|
var_r30 = 0;
|
|
}
|
|
|
|
if (mpMeterDraw->isEmphasisB() && mpMeterDraw->isEmphasis3D() && var_r30 != 0) {
|
|
if (mAStatus == m3DStatus) {
|
|
mpEmpButton->setString(mpMeterDraw->getActionString(mAStatus, 0, NULL), 13,
|
|
2 - var_r30, 0);
|
|
var_r29 = 1;
|
|
var_r30 -= 2;
|
|
}
|
|
}
|
|
|
|
if (var_r29 == 0) {
|
|
if (mpMeterDraw->isEmphasis3D() && var_r30 != 0 && mpEmpButton->isSetButton(4)) {
|
|
mpEmpButton->setString(mpMeterDraw->getActionString(m3DStatus, 0, NULL), 4,
|
|
2 - var_r30, 0);
|
|
var_r21 = 1;
|
|
var_r30 -= 1;
|
|
}
|
|
}
|
|
|
|
if (mpMeterDraw->isEmphasisC() && var_r30 != 0 && mpEmpButton->isSetButton(5)) {
|
|
mpEmpButton->setString(mpMeterDraw->getActionString(mCStickStatus, 0, NULL), 5,
|
|
2 - var_r30, 0);
|
|
var_r22 = 1;
|
|
var_r30 -= 1;
|
|
}
|
|
|
|
if (var_r29 == 0) {
|
|
if (mpMeterDraw->isEmphasisB() && var_r30 != 0 && mpEmpButton->isSetButton(1)) {
|
|
mpEmpButton->setString(mpMeterDraw->getActionString(mAStatus, 0, NULL), 1,
|
|
2 - var_r30, mAStatus == 0x4F ? true : false);
|
|
var_r27 = 1;
|
|
var_r30 -= 1;
|
|
}
|
|
}
|
|
|
|
if (mpMeterDraw->isEmphasisY() && var_r30 != 0 && mpEmpButton->isSetButton(8)) {
|
|
mpEmpButton->setString(mpMeterDraw->getActionString(mItemStatus[3], 0, NULL), 8,
|
|
2 - var_r30, 0);
|
|
var_r25 = 1;
|
|
var_r30 -= 1;
|
|
}
|
|
|
|
if (mpMeterDraw->isEmphasisA() && var_r30 != 0 && mpEmpButton->isSetButton(0)) {
|
|
mpEmpButton->setString(mpMeterDraw->getActionString(mDoStatus, 0, NULL), 0, 2 - var_r30,
|
|
0);
|
|
var_r19 = 1;
|
|
var_r30 -= 1;
|
|
}
|
|
|
|
if (mpMeterDraw->isEmphasisZ() && var_r30 != 0 && mpEmpButton->isSetButton(3)) {
|
|
if (mZStatus == 8) {
|
|
mpEmpButton->setString(mpMeterDraw->getActionString(100, 0, NULL), 3, 2 - var_r30,
|
|
0);
|
|
} else {
|
|
mpEmpButton->setString(mpMeterDraw->getActionString(mZStatus, 0, NULL), 3,
|
|
2 - var_r30, 0);
|
|
}
|
|
|
|
var_r28 = 1;
|
|
var_r30 -= 1;
|
|
}
|
|
|
|
if (mpMeterDraw->isEmphasisR() && var_r30 != 0 && mpEmpButton->isSetButton(2)) {
|
|
mpEmpButton->setString(mpMeterDraw->getActionString(mRStatus, 0, NULL), 2, 2 - var_r30,
|
|
0);
|
|
var_r20 = 1;
|
|
var_r30 -= 1;
|
|
}
|
|
|
|
if (mpMeterDraw->isEmphasisX() && var_r30 != 0 && mpEmpButton->isSetButton(7)) {
|
|
mpEmpButton->setString(mpMeterDraw->getActionString(mItemStatus[1], 0, NULL), 7,
|
|
2 - var_r30, 0);
|
|
var_r24 = 1;
|
|
var_r30 -= 1;
|
|
}
|
|
|
|
if (mpMeterDraw->isEmphasisBin() && var_r30 != 0 && mpEmpButton->isSetButton(21) &&
|
|
!dMeter2Info_is2DActiveTouchArea())
|
|
{
|
|
mpEmpButton->setString(mpMeterDraw->getActionString(mBottleStatus, 0, NULL), 21,
|
|
2 - var_r30, 0);
|
|
var_r26 = 1;
|
|
}
|
|
|
|
mpEmpButton->_execute(mStatus, var_r19, var_r27, var_r20, var_r28, var_r21, var_r22,
|
|
var_r23, var_r24, var_r25, false, false, false, false, var_r29, false,
|
|
false, false, false, false, false, false, var_r26);
|
|
|
|
if ((var_r19 != 0) || (var_r27 != 0) || (var_r20 != 0) || (var_r28 != 0) ||
|
|
(var_r21 != 0) || (var_r22 != 0) || (var_r23 != 0) || (var_r24 != 0) ||
|
|
(var_r25 != 0) || (var_r29 != 0) || (var_r26 != 0))
|
|
{
|
|
field_0x201 = 1;
|
|
}
|
|
}
|
|
|
|
if (field_0x108 != NULL) {
|
|
mDoExt_setCurrentHeap(field_0x108);
|
|
}
|
|
}
|
|
|
|
/* 802237D4-80223BC4 21E114 03F0+00 1/1 0/0 0/0 .text checkSubContents__9dMeter2_cFv */
|
|
void dMeter2_c::checkSubContents() {
|
|
if (mStatus & 0x80) {
|
|
killSubContents(4);
|
|
|
|
if (mSubContentType == 0) {
|
|
mpSubContents = new dScope_c(0);
|
|
mSubContentType = 4;
|
|
}
|
|
return;
|
|
} else if (mStatus & 0x2000000) {
|
|
if (strcmp(dComIfGp_getStartStageName(), "F_SP103") &&
|
|
(strcmp(dComIfGp_getStartStageName(), "F_SP00") || dComIfG_play_c::getLayerNo(0) != 5))
|
|
{
|
|
killSubContents(1);
|
|
|
|
if (mSubContentType == 0) {
|
|
mpSubHeap->getTotalFreeSize();
|
|
mpSubContents = new dMeterHakusha_c(mpMeterDraw->getMainScreenPtr());
|
|
mSubContentType = 1;
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
|
|
if (daPy_getPlayerActorClass()->getSumouMode() != 0) {
|
|
killSubContents(5);
|
|
|
|
if (mSubContentType == 0) {
|
|
mpSubContents = new dMeterHaihai_c(0);
|
|
mpSubSubContents = new dMeterString_c(dMeter2Info_getMeterStringType());
|
|
mSubContentType = 5;
|
|
mSubContentsStringType = dMeter2Info_getMeterStringType();
|
|
}
|
|
} else if (mStatus & 0x200) {
|
|
killSubContents(2);
|
|
|
|
if (mSubContentType == 0) {
|
|
mpSubContents = new dMeterHaihai_c(0);
|
|
mSubContentType = 2;
|
|
}
|
|
} else if (dMeter2Info_getMeterStringType() != 0) {
|
|
killSubContents(3);
|
|
|
|
if (mSubContentType == 0) {
|
|
mpSubContents = new dMeterString_c(dMeter2Info_getMeterStringType());
|
|
mSubContentType = 3;
|
|
}
|
|
} else if (mSubContentType == 4) {
|
|
if (mpSubContents != NULL || mpSubSubContents != NULL) {
|
|
bool free_heap = false;
|
|
|
|
if (mpSubContents != NULL && mpSubContents->isDead()) {
|
|
delete mpSubContents;
|
|
mpSubContents = NULL;
|
|
free_heap = true;
|
|
}
|
|
|
|
if (mpSubSubContents != NULL && mpSubSubContents->isDead()) {
|
|
delete mpSubSubContents;
|
|
mpSubSubContents = NULL;
|
|
free_heap = true;
|
|
}
|
|
|
|
if (free_heap) {
|
|
mpSubHeap->freeAll();
|
|
mSubContentType = 0;
|
|
mSubContentsStringType = 0;
|
|
}
|
|
} else {
|
|
mSubContentType = 0;
|
|
}
|
|
} else if (mSubContentType != 0) {
|
|
bool free_heap = false;
|
|
|
|
if (mpSubContents != NULL) {
|
|
delete mpSubContents;
|
|
mpSubContents = NULL;
|
|
free_heap = true;
|
|
}
|
|
|
|
if (mpSubSubContents != NULL) {
|
|
delete mpSubSubContents;
|
|
mpSubSubContents = NULL;
|
|
free_heap = true;
|
|
}
|
|
|
|
if (free_heap) {
|
|
mpSubHeap->freeAll();
|
|
}
|
|
|
|
mSubContentType = 0;
|
|
mSubContentsStringType = 0;
|
|
}
|
|
}
|
|
|
|
/* 80223BC4-80223E00 21E504 023C+00 1/1 0/0 0/0 .text check2DContents__9dMeter2_cFv */
|
|
void dMeter2_c::check2DContents() {
|
|
if (mpEmpButton == NULL) {
|
|
if ((dComIfGp_isHeapLockFlag() == 0 || dComIfGp_isHeapLockFlag() == 5) &&
|
|
(dMeter2Info_isFloatingMessageVisible() || mpMeterDraw->isEmphasisA() ||
|
|
mpMeterDraw->isEmphasisB() || mpMeterDraw->isEmphasisR() ||
|
|
mpMeterDraw->isEmphasisZ() || mpMeterDraw->isEmphasis3D() ||
|
|
mpMeterDraw->isEmphasisC() || mpMeterDraw->isEmphasisS() ||
|
|
mpMeterDraw->isEmphasisX() || mpMeterDraw->isEmphasisY() ||
|
|
mpMeterDraw->isEmphasisBin()))
|
|
{
|
|
dComIfGp_setHeapLockFlag(8);
|
|
|
|
if (field_0x108 == NULL) {
|
|
field_0x108 = mDoExt_setCurrentHeap(dComIfGp_getSubHeap2D(8));
|
|
}
|
|
|
|
mpEmpButton = new dMeterButton_c();
|
|
}
|
|
} else if (dComIfGp_isHeapLockFlag() == 5 && !dMeter2Info_isFloatingMessageVisible()) {
|
|
if (!mpMeterDraw->isEmphasisA() && !mpMeterDraw->isEmphasisB() &&
|
|
!mpMeterDraw->isEmphasisR() && !mpMeterDraw->isEmphasisZ() &&
|
|
!mpMeterDraw->isEmphasis3D() && !mpMeterDraw->isEmphasisC() &&
|
|
!mpMeterDraw->isEmphasisS() && !mpMeterDraw->isEmphasisX() &&
|
|
!mpMeterDraw->isEmphasisY() && !mpMeterDraw->isEmphasisBin() && mpEmpButton->isClose())
|
|
{
|
|
delete mpEmpButton;
|
|
mpEmpButton = NULL;
|
|
dComIfGp_getSubHeap2D(8)->freeAll();
|
|
|
|
if (field_0x108 != NULL) {
|
|
mDoExt_setCurrentHeap(field_0x108);
|
|
field_0x108 = NULL;
|
|
}
|
|
|
|
dComIfGp_offHeapLockFlag(8);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 80223E00-80224258 21E740 0458+00 1/1 0/0 0/0 .text moveBombNum__9dMeter2_cFv */
|
|
void dMeter2_c::moveBombNum() {
|
|
u8 temp_r28;
|
|
u8 temp_r31;
|
|
|
|
for (int i = 0; i < 3; i++) {
|
|
s16 var_r22;
|
|
temp_r31 = dComIfGs_getItem((u8)(i + SLOT_15), true);
|
|
temp_r28 = dComIfGs_getItem((u8)(i + SLOT_15), false);
|
|
|
|
if (temp_r31 != fpcNm_ITEM_NONE && temp_r31 != fpcNm_ITEM_BOMB_BAG_LV1) {
|
|
if (g_mwHIO.getBombFlag() ||
|
|
(dMeter2Info_getMiniGameItemSetFlag() == 1 && i == dMeter2Info_getRentalBombBag()))
|
|
{
|
|
if (dComIfGs_getBombMax(temp_r28) != dComIfGs_getBombNum(i)) {
|
|
dComIfGp_setItemBombNumCount(i, dComIfGs_getBombMax(temp_r28));
|
|
}
|
|
|
|
if (dComIfGp_getItemBombNumCount(i) < 0) {
|
|
dComIfGp_clearItemBombNumCount(i);
|
|
}
|
|
}
|
|
|
|
if (dComIfGp_getItemBombNumCount(i) != 0 || mBombNum[i] != dComIfGs_getBombNum(i) ||
|
|
mBombMax[i] != dComIfGs_getBombMax(temp_r28))
|
|
{
|
|
var_r22 = dComIfGs_getBombNum(i) + dComIfGp_getItemBombNumCount(i);
|
|
dComIfGp_clearItemBombNumCount(i);
|
|
|
|
if (var_r22 < 0) {
|
|
var_r22 = 0;
|
|
}
|
|
|
|
if (var_r22 > dComIfGs_getBombMax(temp_r28)) {
|
|
var_r22 = dComIfGs_getBombMax(temp_r28);
|
|
}
|
|
|
|
if (var_r22 == 0) {
|
|
if (temp_r31 == fpcNm_ITEM_BOMB_ARROW) {
|
|
for (int j = 0; j < 2; j++) {
|
|
if (i + SLOT_15 == dComIfGs_getSelectItemIndex(j) ||
|
|
i + SLOT_15 == dComIfGs_getMixItemIndex(j))
|
|
{
|
|
dComIfGs_setMixItemIndex(j, 0xFF);
|
|
dComIfGs_setSelectItemIndex(j, 4);
|
|
dComIfGp_setSelectItem(j);
|
|
}
|
|
}
|
|
}
|
|
dComIfGs_setItem(i + SLOT_15, fpcNm_ITEM_BOMB_BAG_LV1);
|
|
dComIfGp_setItem(i + SLOT_15, fpcNm_ITEM_BOMB_BAG_LV1);
|
|
|
|
for (int j = 0; j < 2; j++) {
|
|
if (i + SLOT_15 == dComIfGs_getSelectMixItemNoArrowIndex(j)) {
|
|
dComIfGp_setSelectItem(j);
|
|
}
|
|
}
|
|
}
|
|
|
|
dComIfGs_setBombNum(i, var_r22);
|
|
mBombMax[i] = dComIfGs_getBombMax(temp_r28);
|
|
|
|
if (temp_r31 != fpcNm_ITEM_BOMB_ARROW) {
|
|
for (int j = 0; j < 2; j++) {
|
|
if (i + SLOT_15 == dComIfGs_getSelectMixItemNoArrowIndex(j)) {
|
|
mpMeterDraw->setItemNum(j, dComIfGp_getSelectItemNum(j),
|
|
dComIfGp_getSelectItemMaxNum(j));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
if (temp_r31 != fpcNm_ITEM_BOMB_BAG_LV1) {
|
|
dComIfGs_setBombNum(i, 0);
|
|
}
|
|
|
|
if (dComIfGp_getItemBombNumCount(i) != 0) {
|
|
dComIfGp_clearItemBombNumCount(i);
|
|
}
|
|
}
|
|
|
|
if (mBombNum[i] != dComIfGs_getBombNum(i)) {
|
|
mBombNum[i] = dComIfGs_getBombNum(i);
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
if (mItemMaxNum[i] != dComIfGs_getSelectItemIndex(i)) {
|
|
for (int j = 0; j < 3; j++) {
|
|
if (j + SLOT_15 == dComIfGs_getSelectItemIndex(i)) {
|
|
mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i),
|
|
dComIfGp_getSelectItemMaxNum(i));
|
|
}
|
|
}
|
|
|
|
mItemMaxNum[i] = dComIfGs_getSelectItemIndex(i);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 80224258-80224354 21EB98 00FC+00 1/1 0/0 0/0 .text moveBottleNum__9dMeter2_cFv */
|
|
void dMeter2_c::moveBottleNum() {
|
|
for (int i = 0; i < 4; i++) {
|
|
if (dComIfGs_getItem((u8)(i + SLOT_11), true) == fpcNm_ITEM_BEE_CHILD) {
|
|
if (mBottleNum[i] != dComIfGs_getBottleNum(i)) {
|
|
for (int j = 0; j < 2; j++) {
|
|
if (i + SLOT_11 == dComIfGs_getSelectItemIndex(j)) {
|
|
mpMeterDraw->setItemNum(j, dComIfGp_getSelectItemNum(j),
|
|
dComIfGp_getSelectItemMaxNum(j));
|
|
mBottleNum[i] = dComIfGs_getBottleNum(i);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 80224354-80224680 21EC94 032C+00 1/1 0/0 0/0 .text moveArrowNum__9dMeter2_cFv */
|
|
void dMeter2_c::moveArrowNum() {
|
|
s16 var_r6;
|
|
int var_r28;
|
|
int i;
|
|
u8 var_r27;
|
|
u8 var_r6_2;
|
|
|
|
if (g_mwHIO.getArrowFlag() || dMeter2Info_getMiniGameItemSetFlag() == 1) {
|
|
if (dComIfGs_getArrowMax() != dComIfGs_getArrowNum()) {
|
|
dComIfGp_setItemArrowNumCount(dComIfGs_getArrowMax());
|
|
}
|
|
|
|
if (dComIfGp_getItemArrowNumCount() < 0) {
|
|
dComIfGp_clearItemArrowNumCount();
|
|
}
|
|
}
|
|
|
|
if (dComIfGp_getItemArrowNumCount() != 0 || mItemMaxNum[2] != dComIfGs_getArrowMax() ||
|
|
mArrowNum != dComIfGs_getArrowNum())
|
|
{
|
|
var_r6 = dComIfGs_getArrowNum() + dComIfGp_getItemArrowNumCount();
|
|
dComIfGp_clearItemArrowNumCount();
|
|
|
|
if (var_r6 < 0) {
|
|
var_r6 = 0;
|
|
}
|
|
|
|
if (var_r6 > dComIfGs_getArrowMax()) {
|
|
var_r6 = dComIfGs_getArrowMax();
|
|
}
|
|
|
|
dComIfGs_setArrowNum(var_r6);
|
|
mItemMaxNum[2] = dComIfGs_getArrowMax();
|
|
|
|
if (mArrowNum < dComIfGs_getArrowNum()) {
|
|
mArrowNum++;
|
|
onArrowSoundBit(2);
|
|
|
|
if (isArrowSoundBit(2)) {
|
|
if (mArrowNum != dComIfGs_getArrowNum()) {
|
|
if (!isArrowSoundBit(0) && isArrowEquip() && mpMeterDraw->isButtonVisible()) {
|
|
onArrowSoundBit(0);
|
|
mDoAud_seStart(Z2SE_CONSUM_INC_CNT_1, NULL, 0, 0);
|
|
} else {
|
|
offArrowSoundBit(0);
|
|
}
|
|
} else {
|
|
if (isArrowEquip() && mpMeterDraw->isButtonVisible()) {
|
|
mDoAud_seStart(Z2SE_CONSUM_INC_CNT_2, NULL, 0, 0);
|
|
}
|
|
offArrowSoundBit(2);
|
|
offArrowSoundBit(0);
|
|
}
|
|
}
|
|
} else if (mArrowNum > dComIfGs_getArrowNum()) {
|
|
mArrowNum--;
|
|
}
|
|
|
|
i = 0;
|
|
var_r28 = 0;
|
|
for (; i < 2; i++, var_r28 += 2) {
|
|
if (mItemStatus[var_r28] == fpcNm_ITEM_BOW || mItemStatus[var_r28] == fpcNm_ITEM_LIGHT_ARROW ||
|
|
mItemStatus[var_r28] == fpcNm_ITEM_ARROW_LV1 || mItemStatus[var_r28] == fpcNm_ITEM_ARROW_LV2 ||
|
|
mItemStatus[var_r28] == fpcNm_ITEM_ARROW_LV3 || mItemStatus[var_r28] == fpcNm_ITEM_HAWK_ARROW)
|
|
{
|
|
mpMeterDraw->setItemNum(i, mArrowNum, dComIfGs_getArrowMax());
|
|
} else if (mItemStatus[var_r28] == fpcNm_ITEM_PACHINKO) {
|
|
mpMeterDraw->setItemNum(i, mPachinkoNum, dComIfGs_getPachinkoMax());
|
|
} else if (mItemStatus[var_r28] == fpcNm_ITEM_BOMB_ARROW) {
|
|
var_r27 = dComIfGp_getSelectItemNum(i);
|
|
var_r6_2 = dComIfGp_getSelectItemMaxNum(i);
|
|
|
|
if (var_r27 > mArrowNum) {
|
|
var_r27 = mArrowNum;
|
|
}
|
|
|
|
if (var_r6_2 < dComIfGs_getArrowMax()) {
|
|
var_r6_2 = dComIfGs_getArrowMax();
|
|
}
|
|
|
|
mpMeterDraw->setItemNum(i, var_r27, var_r6_2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 80224680-802248E4 21EFC0 0264+00 1/1 0/0 0/0 .text movePachinkoNum__9dMeter2_cFv */
|
|
void dMeter2_c::movePachinkoNum() {
|
|
if (g_mwHIO.getPachinkoFlag()) {
|
|
if (dComIfGs_getPachinkoNum() != dComIfGs_getPachinkoMax()) {
|
|
u8 max = dComIfGs_getPachinkoMax();
|
|
dComIfGp_setItemPachinkoNumCount(max);
|
|
}
|
|
|
|
if (dComIfGp_getItemPachinkoNumCount() < 0) {
|
|
dComIfGp_clearItemPachinkoNumCount();
|
|
}
|
|
}
|
|
|
|
if (dComIfGp_getItemPachinkoNumCount() == 0 && mItemMaxNum[3] == dComIfGs_getPachinkoMax() &&
|
|
mPachinkoNum == dComIfGs_getPachinkoNum())
|
|
{
|
|
return;
|
|
}
|
|
|
|
s16 pachinko_num = dComIfGs_getPachinkoNum() + dComIfGp_getItemPachinkoNumCount();
|
|
dComIfGp_clearItemPachinkoNumCount();
|
|
if (pachinko_num < 0) {
|
|
pachinko_num = 0;
|
|
}
|
|
|
|
if (dComIfGs_getPachinkoMax() < pachinko_num) {
|
|
pachinko_num = dComIfGs_getPachinkoMax();
|
|
}
|
|
|
|
dComIfGs_setPachinkoNum(pachinko_num);
|
|
mItemMaxNum[3] = dComIfGs_getPachinkoMax();
|
|
|
|
if (mPachinkoNum < dComIfGs_getPachinkoNum()) {
|
|
mPachinkoNum++;
|
|
onArrowSoundBit(2);
|
|
|
|
if (isArrowSoundBit(2)) {
|
|
if (mPachinkoNum != dComIfGs_getPachinkoNum()) {
|
|
if (!isArrowSoundBit(0) && isPachinkoEquip() && mpMeterDraw->isButtonVisible()) {
|
|
onArrowSoundBit(0);
|
|
mDoAud_seStart(Z2SE_CONSUM_INC_CNT_1, 0, 0, 0);
|
|
} else {
|
|
offArrowSoundBit(0);
|
|
}
|
|
} else {
|
|
if (isPachinkoEquip() && mpMeterDraw->isButtonVisible()) {
|
|
mDoAud_seStart(Z2SE_CONSUM_INC_CNT_2, 0, 0, 0);
|
|
}
|
|
offArrowSoundBit(2);
|
|
offArrowSoundBit(0);
|
|
}
|
|
}
|
|
} else if (mPachinkoNum > dComIfGs_getPachinkoNum()) {
|
|
mPachinkoNum--;
|
|
}
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
if (mItemStatus[i * 2] == fpcNm_ITEM_PACHINKO) {
|
|
mpMeterDraw->setItemNum(i, mPachinkoNum, dComIfGs_getPachinkoMax());
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 802248E4-80224A04 21F224 0120+00 1/1 0/0 0/0 .text alphaAnimeLife__9dMeter2_cFv */
|
|
void dMeter2_c::alphaAnimeLife() {
|
|
if ((mStatus & 0x4000) ||
|
|
((mStatus & 0x40) && dComIfGp_event_checkHind(0x10) &&
|
|
!dComIfGp_checkPlayerStatus1(0, 0x2000)) ||
|
|
((daPy_getPlayerActorClass()->getSumouMode() != 0) || (mStatus & 0x100000) ||
|
|
(mStatus & 0x80000000) || (mStatus & 8) || (mStatus & 0x10) || (mStatus & 0x01000000) ||
|
|
(mStatus & 0x20) || (mStatus & 0x04000000) || (mStatus & 0x08000000) ||
|
|
(mStatus & 0x10000000)))
|
|
{
|
|
mpMeterDraw->setAlphaLifeAnimeMin();
|
|
} else {
|
|
mpMeterDraw->setAlphaLifeAnimeMax();
|
|
mDoAud_heartGaugeOn();
|
|
}
|
|
|
|
mpMeterDraw->setAlphaLifeChange(false);
|
|
}
|
|
|
|
/* 80224A04-80224BAC 21F344 01A8+00 1/1 0/0 0/0 .text alphaAnimeKantera__9dMeter2_cFv */
|
|
void dMeter2_c::alphaAnimeKantera() {
|
|
if (dComIfGs_getMaxOil() == 0 || dComIfGs_getItem(SLOT_1, true) != fpcNm_ITEM_KANTERA ||
|
|
!daPy_getPlayerActorClass()->checkUseKandelaar(0) || (mStatus & 0x4000) ||
|
|
((mStatus & 0x40) && dComIfGp_event_checkHind(0x400)) || dComIfGp_getOxygenShowFlag() ||
|
|
((daPy_getPlayerActorClass()->getSumouMode() != 0) ||
|
|
(daPy_getPlayerActorClass()->checkCanoeSlider() &&
|
|
(dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4)) ||
|
|
(mStatus & 0x100000) || (mStatus & 0x80000000) || (mStatus & 8) || (mStatus & 0x10) ||
|
|
(mStatus & 0x01000000) || (mStatus & 0x20) || (mStatus & 0x04000000) ||
|
|
(mStatus & 0x08000000) || (mStatus & 0x10000000)))
|
|
{
|
|
mpMeterDraw->setAlphaKanteraAnimeMin();
|
|
} else {
|
|
mpMeterDraw->setAlphaKanteraAnimeMax();
|
|
}
|
|
|
|
mpMeterDraw->setAlphaKanteraChange(true);
|
|
}
|
|
|
|
/* 80224BAC-80224D6C 21F4EC 01C0+00 1/1 0/0 0/0 .text alphaAnimeOxygen__9dMeter2_cFv */
|
|
void dMeter2_c::alphaAnimeOxygen() {
|
|
if (!dComIfGp_getOxygenShowFlag() || (mStatus & 0x4000) ||
|
|
((mStatus & 0x40) && dComIfGp_event_checkHind(0x800)) ||
|
|
((daPy_getPlayerActorClass()->getSumouMode() != 0) ||
|
|
(daPy_getPlayerActorClass()->checkCanoeSlider() &&
|
|
(dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4)) ||
|
|
(mStatus & 0x100000) || (mStatus & 0x80000000) || (mStatus & 8) || (mStatus & 0x10) ||
|
|
(mStatus & 0x01000000) || (mStatus & 0x20) || (mStatus & 0x04000000) ||
|
|
(mStatus & 0x08000000) || (mStatus & 0x10000000)))
|
|
{
|
|
mpMeterDraw->setAlphaOxygenAnimeMin();
|
|
|
|
if (!dComIfGp_getOxygenShowFlag()) {
|
|
field_0x1e1 = 0;
|
|
}
|
|
} else {
|
|
mpMeterDraw->setAlphaOxygenAnimeMax();
|
|
|
|
if (field_0x1e1 == 0) {
|
|
field_0x1e1 = 1;
|
|
|
|
if (mpMeterDraw->getMeterGaugeAlphaRate(2) > 0.0f) {
|
|
Z2GetAudioMgr()->seStart(Z2SE_SWIM_TIMER_ON, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
|
|
0);
|
|
}
|
|
}
|
|
}
|
|
|
|
mpMeterDraw->setAlphaOxygenChange(false);
|
|
}
|
|
|
|
/* 80224D6C-80224DC0 21F6AC 0054+00 1/1 0/0 0/0 .text alphaAnimeLightDrop__9dMeter2_cFv
|
|
*/
|
|
void dMeter2_c::alphaAnimeLightDrop() {
|
|
if (!isShowLightDrop()) {
|
|
mpMeterDraw->setAlphaLightDropAnimeMin();
|
|
} else {
|
|
mpMeterDraw->setAlphaLightDropAnimeMax();
|
|
}
|
|
|
|
mpMeterDraw->setAlphaLightDropChange(false);
|
|
}
|
|
|
|
|
|
/* 80224DC0-80224F70 21F700 01B0+00 1/1 0/0 0/0 .text alphaAnimeRupee__9dMeter2_cFv */
|
|
void dMeter2_c::alphaAnimeRupee() {
|
|
if ((mStatus & 0x4000) || ((mStatus & 0x40) && dComIfGp_event_checkHind(0x80)) ||
|
|
daPy_getPlayerActorClass()->getSumouMode() ||
|
|
(daPy_getPlayerActorClass()->checkCanoeSlider() && dComIfG_getTimerMode() == 4) ||
|
|
((strcmp(dComIfGp_getStartStageName(), "R_SP127") != 0 || dComIfGp_event_checkHind(0x80)) &&
|
|
(((mStatus & 0x40000000) && !(mStatus & 0x100)) || (mStatus & 0x1000) ||
|
|
(mStatus & 0x100000))) ||
|
|
(mStatus & 0x80000000) || (mStatus & 8) || (mStatus & 0x10) || (mStatus & 0x01000000) ||
|
|
((mStatus & 0x20) != 0) || (mStatus & 0x04000000) || (mStatus & 0x08000000) ||
|
|
(mStatus & 0x10000000) || dMeter2Info_isSub2DStatus(1))
|
|
{
|
|
mpMeterDraw->setAlphaRupeeAnimeMin();
|
|
} else {
|
|
mpMeterDraw->setAlphaRupeeAnimeMax();
|
|
}
|
|
|
|
mpMeterDraw->setAlphaRupeeChange(false);
|
|
}
|
|
|
|
/* 80224F70-802250F4 21F8B0 0184+00 1/1 0/0 0/0 .text alphaAnimeKey__9dMeter2_cFv */
|
|
void dMeter2_c::alphaAnimeKey() {
|
|
if ((mStatus & 0x4000) || ((mStatus & 0x40) && dComIfGp_event_checkHind(0x40)) ||
|
|
!isKeyVisible() || (mStatus & 0x40000000) || (mStatus & 0x1000) || (mStatus & 0x100000) ||
|
|
(mStatus & 0x80000000) || daPy_getPlayerActorClass()->getSumouMode() ||
|
|
(daPy_getPlayerActorClass()->checkCanoeSlider() &&
|
|
(dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4)) ||
|
|
(mStatus & 0x100) || (mStatus & 8) || (mStatus & 0x10) ||
|
|
(mStatus & 0x1000000) || (mStatus & 0x20) || (mStatus & 0x4000000) ||
|
|
(mStatus & 0x8000000) || (mStatus & 0x10000000) || dMeter2Info_isSub2DStatus(1))
|
|
{
|
|
mpMeterDraw->setAlphaKeyAnimeMin();
|
|
} else {
|
|
mpMeterDraw->setAlphaKeyAnimeMax();
|
|
}
|
|
|
|
mpMeterDraw->setAlphaKeyChange(false);
|
|
}
|
|
|
|
/* 802250F4-802254C0 21FA34 03CC+00 1/1 0/0 0/0 .text alphaAnimeButton__9dMeter2_cFv */
|
|
void dMeter2_c::alphaAnimeButton() {
|
|
u8 var_31;
|
|
var_31 = 0;
|
|
|
|
if ((mStatus & 0x4000) ||
|
|
((mStatus & 0x100) && dMsgObject_getMsgObjectClass()->isAutoMessageFlag()) ||
|
|
((mStatus & 0x40000000) && !(mStatus & 0x100)) || (mStatus & 0x80000000) || (mStatus & 8) ||
|
|
(mStatus & 0x10) || (mStatus & 0x20) || (mStatus & 0x04000000) || (mStatus & 0x10000000))
|
|
{
|
|
mpMeterDraw->setAlphaButtonAnimeMin();
|
|
mpMeterDraw->setAlphaButtonAAnimeMin();
|
|
mpMeterDraw->setAlphaButtonBAnimeMin();
|
|
} else if (!(mStatus & 0x1000000) &&
|
|
((mStatus & 0x100) || daPy_getPlayerActorClass()->checkHawkWait() ||
|
|
(mStatus & 0x40) && dComIfGp_event_checkHind(1)))
|
|
{
|
|
mpMeterDraw->setAlphaButtonAnimeMin();
|
|
var_31 = 1;
|
|
} else if (dMeter2Info_getItemExplainWindowStatus()) {
|
|
mpMeterDraw->setAlphaButtonAnimeMin();
|
|
var_31 = 1;
|
|
} else {
|
|
mpMeterDraw->setAlphaButtonAnimeMax();
|
|
}
|
|
|
|
field_0x1e6 = 0;
|
|
|
|
if (var_31 == 1) {
|
|
if (dMeter2Info_getItemExplainWindowStatus()) {
|
|
mpMeterDraw->setAlphaButtonAAnimeMin();
|
|
} else if ((mStatus & 0x100) || daPy_getPlayerActorClass()->checkHawkWait() ||
|
|
!dComIfGp_event_checkHind(2))
|
|
{
|
|
mpMeterDraw->setAlphaButtonAAnimeMax();
|
|
onShowFlag(0);
|
|
} else {
|
|
mpMeterDraw->setAlphaButtonAAnimeMin();
|
|
}
|
|
|
|
if (mpMeterDraw->isBButtonShow(false)) {
|
|
mpMeterDraw->setAlphaButtonBAnimeMax();
|
|
onShowFlag(1);
|
|
} else {
|
|
mpMeterDraw->setAlphaButtonBAnimeMin();
|
|
}
|
|
}
|
|
|
|
if (!isShowFlag(0)) {
|
|
mpMeterDraw->setButtonIconAAlpha(mDoStatus, mStatus, field_0x128 == 0);
|
|
}
|
|
|
|
if (!isShowFlag(1)) {
|
|
mpMeterDraw->setButtonIconBAlpha(mAStatus, mStatus, field_0x128 == 0);
|
|
}
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
mpMeterDraw->setButtonIconAlpha(i, mItemStatus[i * 2], mStatus,
|
|
field_0x128 == 0 ? true : false);
|
|
|
|
if (field_0x128 == 0 && dMeter2Info_getMiniGameItemSetFlag() != 1 &&
|
|
(mItemStatus[i * 2] == fpcNm_ITEM_BOW || mItemStatus[i * 2] == fpcNm_ITEM_LIGHT_ARROW ||
|
|
mItemStatus[i * 2] == fpcNm_ITEM_ARROW_LV1 || mItemStatus[i * 2] == fpcNm_ITEM_ARROW_LV2 ||
|
|
mItemStatus[i * 2] == fpcNm_ITEM_ARROW_LV3 || mItemStatus[i * 2] == fpcNm_ITEM_BOMB_BAG_LV1 ||
|
|
mItemStatus[i * 2] == fpcNm_ITEM_NORMAL_BOMB || mItemStatus[i * 2] == fpcNm_ITEM_WATER_BOMB ||
|
|
mItemStatus[i * 2] == fpcNm_ITEM_POKE_BOMB || mItemStatus[i * 2] == fpcNm_ITEM_HAWK_ARROW ||
|
|
mItemStatus[i * 2] == fpcNm_ITEM_BOMB_ARROW || mItemStatus[i * 2] == fpcNm_ITEM_PACHINKO ||
|
|
mItemStatus[i * 2] == fpcNm_ITEM_BEE_CHILD))
|
|
{
|
|
mpMeterDraw->drawItemNum(i, 1.0f);
|
|
} else {
|
|
mpMeterDraw->drawItemNum(i, 0.0f);
|
|
}
|
|
|
|
if (field_0x128 == 0 && mItemStatus[i * 2] == fpcNm_ITEM_KANTERA) {
|
|
mpMeterDraw->drawKanteraMeter(i, 1.0f);
|
|
} else {
|
|
mpMeterDraw->drawKanteraMeter(i, 0.0f);
|
|
}
|
|
}
|
|
|
|
mpMeterDraw->setAlphaButtonChange(false);
|
|
}
|
|
|
|
/* 802254C0-802256DC 21FE00 021C+00 1/1 0/0 0/0 .text alphaAnimeButtonCross__9dMeter2_cFv
|
|
*/
|
|
void dMeter2_c::alphaAnimeButtonCross() {
|
|
if ((mStatus & 0x4000) || ((mStatus & 0x40) && dComIfGp_event_checkHind(0x100)) ||
|
|
((daPy_getPlayerActorClass()->getSumouMode() != 0) || (mStatus & 0x100) ||
|
|
(mStatus & 0x80) || (mStatus & 0x40000000) || (mStatus & 0x1000) || (mStatus & 0x100000) ||
|
|
(mStatus & 0x80000000) || (mStatus & 8) || (mStatus & 0x10) || (mStatus & 0x01000000) ||
|
|
(mStatus & 0x20) || (mStatus & 0x04000000) || (mStatus & 0x08000000) ||
|
|
(mStatus & 0x10000000) || (mStatus & 0x20000000)) ||
|
|
daPy_getPlayerActorClass()->checkEnemyAttentionLock() || dMeter2Info_isGameStatus(1))
|
|
{
|
|
mpMeterDraw->setAlphaButtonCrossAnimeMin();
|
|
|
|
if ((!dComIfGp_event_chkEventFlag(0x40) || dMeter2Info_isGameStatus(2) ||
|
|
(mStatus & 0x100)) &&
|
|
field_0x190 > 0)
|
|
{
|
|
field_0x190--;
|
|
}
|
|
} else if (dMeter2Info_isSub2DStatus(1) || dMeter2Info_isFloatingMessageVisible()) {
|
|
mpMeterDraw->setAlphaButtonCrossAnimeMin();
|
|
|
|
if (field_0x190 < 5) {
|
|
field_0x190++;
|
|
}
|
|
} else {
|
|
mpMeterDraw->setAlphaButtonCrossAnimeMax();
|
|
|
|
if (field_0x190 < 5) {
|
|
field_0x190++;
|
|
}
|
|
}
|
|
|
|
if (mpMap != NULL) {
|
|
mpMap->setMapAlpha((field_0x190 * 255.0f) / 5.0f);
|
|
}
|
|
}
|
|
|
|
/* 802256DC-802258A0 22001C 01C4+00 3/3 0/0 0/0 .text isShowLightDrop__9dMeter2_cFv */
|
|
bool dMeter2_c::isShowLightDrop() {
|
|
if (!g_drawHIO.mLightDrop.mAnimDebug) {
|
|
if ((mStatus & 0x4000) || !dComIfGs_isLightDropGetFlag(dComIfGp_getStartStageDarkArea()) ||
|
|
dMeter2Info_getLightDropGetFlag(dComIfGp_getStartStageDarkArea()) <= 1 ||
|
|
!dKy_darkworld_check() || ((mStatus & 0x40) && dComIfGp_event_checkHind(0x200)) ||
|
|
daPy_getPlayerActorClass()->getSumouMode() ||
|
|
(daPy_getPlayerActorClass()->checkCanoeSlider() &&
|
|
(dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4)) ||
|
|
(mStatus & 0x40000000) || (mStatus & 0x00001000) || (mStatus & 0x00100000) ||
|
|
(mStatus & 0x80000000) || (mStatus & 0x00000100) || (mStatus & 0x00000080) ||
|
|
(mStatus & 0x00000008) || (mStatus & 0x00000010) || (mStatus & 0x01000000) ||
|
|
(mStatus & 0x00000020) || (mStatus & 0x04000000) || (mStatus & 0x08000000) ||
|
|
(mStatus & 0x10000000) || dMeter2Info_isSub2DStatus(1))
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
/* 802258A0-80225960 2201E0 00C0+00 1/1 0/0 0/0 .text killSubContents__9dMeter2_cFUc */
|
|
void dMeter2_c::killSubContents(u8 param_0) {
|
|
if (mSubContentType != param_0 && mSubContentType != 0) {
|
|
bool free = false;
|
|
|
|
if (mpSubContents != NULL) {
|
|
delete mpSubContents;
|
|
mpSubContents = NULL;
|
|
free = true;
|
|
}
|
|
|
|
if (mpSubSubContents != NULL) {
|
|
delete mpSubSubContents;
|
|
mpSubSubContents = NULL;
|
|
free = true;
|
|
}
|
|
|
|
if (free) {
|
|
mpSubHeap->freeAll();
|
|
}
|
|
|
|
mSubContentType = 0;
|
|
mSubContentsStringType = 0;
|
|
}
|
|
}
|
|
|
|
/* 80225960-802259F8 2202A0 0098+00 1/1 0/0 0/0 .text isKeyVisible__9dMeter2_cFv */
|
|
u8 dMeter2_c::isKeyVisible() {
|
|
if (dStage_stagInfo_ChkKeyDisp(dComIfGp_getStage()->getStagInfo())) {
|
|
if (dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) == ST_FIELD) {
|
|
return dComIfGs_getKeyNum() != 0;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
/* 802259F8-80225A64 220338 006C+00 2/2 0/0 0/0 .text isArrowEquip__9dMeter2_cFv */
|
|
int dMeter2_c::isArrowEquip() {
|
|
for (int i = 0; i < 2; i++) {
|
|
if (mItemStatus[i * 2] == fpcNm_ITEM_BOW || mItemStatus[i * 2] == fpcNm_ITEM_LIGHT_ARROW ||
|
|
mItemStatus[i * 2] == fpcNm_ITEM_ARROW_LV1 || mItemStatus[i * 2] == fpcNm_ITEM_ARROW_LV2 ||
|
|
mItemStatus[i * 2] == fpcNm_ITEM_ARROW_LV3 || mItemStatus[i * 2] == fpcNm_ITEM_HAWK_ARROW ||
|
|
mItemStatus[i * 2] == fpcNm_ITEM_BOMB_ARROW)
|
|
{
|
|
return i + 1;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
/* 80225A64-80225AA0 2203A4 003C+00 2/2 0/0 0/0 .text isPachinkoEquip__9dMeter2_cFv */
|
|
int dMeter2_c::isPachinkoEquip() {
|
|
for (int i = 0; i < 2; i++) {
|
|
if (mItemStatus[i * 2] == fpcNm_ITEM_PACHINKO) {
|
|
return i + 1;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
/* 80225AA0-80225AC0 2203E0 0020+00 1/0 0/0 0/0 .text dMeter2_Draw__FP9dMeter2_c */
|
|
static int dMeter2_Draw(dMeter2_c* i_this) {
|
|
return i_this->_draw();
|
|
}
|
|
|
|
/* 80225AC0-80225AE0 220400 0020+00 1/0 0/0 0/0 .text dMeter2_Execute__FP9dMeter2_c */
|
|
static int dMeter2_Execute(dMeter2_c* i_this) {
|
|
return i_this->_execute();
|
|
}
|
|
|
|
/* 80225AE0-80225AE8 220420 0008+00 1/0 0/0 0/0 .text dMeter2_IsDelete__FP9dMeter2_c */
|
|
static int dMeter2_IsDelete(dMeter2_c* i_this) {
|
|
return 1;
|
|
}
|
|
|
|
/* 80225AE8-80225B08 220428 0020+00 1/0 0/0 0/0 .text dMeter2_Delete__FP9dMeter2_c */
|
|
static int dMeter2_Delete(dMeter2_c* i_this) {
|
|
return i_this->_delete();
|
|
}
|
|
|
|
/* 80225B08-80225BB8 220448 00B0+00 1/0 0/0 0/0 .text dMeter2_Create__FP9msg_class */
|
|
static int dMeter2_Create(msg_class* i_this) {
|
|
dMeter2Info_setMeterClass(static_cast<dMeter2_c*>(i_this));
|
|
dComIfGp_2dShowOn();
|
|
fopMsgM_Create(PROC_MENUWINDOW, NULL, NULL);
|
|
|
|
g_drawHIO.field_0x4 = -1;
|
|
g_ringHIO.field_0x4 = -1;
|
|
g_fmapHIO.field_0x4 = -1;
|
|
g_cursorHIO.field_0x4 = -1;
|
|
|
|
u32 id = fopMsgM_Create(PROC_MSG_OBJECT, NULL, NULL);
|
|
fopMsgM_setMessageID(id);
|
|
|
|
dTimer_createStockTimer();
|
|
fopMsgM_setStageLayer(i_this);
|
|
|
|
return static_cast<dMeter2_c*>(i_this)->_create();
|
|
}
|
|
|
|
/* ############################################################################################## */
|
|
/* 803BFA54-803BFA68 -00001 0014+00 1/0 0/0 0/0 .data l_dMeter2_Method */
|
|
SECTION_DATA static leafdraw_method_class l_dMeter2_Method = {
|
|
(process_method_func)dMeter2_Create, (process_method_func)dMeter2_Delete,
|
|
(process_method_func)dMeter2_Execute, (process_method_func)dMeter2_IsDelete,
|
|
(process_method_func)dMeter2_Draw,
|
|
};
|
|
|
|
/* 803BFA68-803BFA90 -00001 0028+00 0/0 0/0 1/0 .data g_profile_METER2 */
|
|
SECTION_DATA extern msg_process_profile_definition g_profile_METER2 = {
|
|
-3,
|
|
12,
|
|
-3,
|
|
PROC_METER2,
|
|
(process_method_class*)&g_fpcLf_Method,
|
|
sizeof(dMeter2_c),
|
|
0,
|
|
0,
|
|
&g_fopMsg_Method,
|
|
0x0301,
|
|
&l_dMeter2_Method,
|
|
};
|