mirror of
https://github.com/zeldaret/ss
synced 2026-07-28 07:08:38 -04:00
d_lyt_common_icon_item OK
This commit is contained in:
+5
-5
@@ -362,7 +362,7 @@ void dCsGame_c::lytItemCursor_c::lytBowCsr_c::initializeState_AimStart() {
|
||||
mAnm[MAIN_ANIM_ARROW_ON].setFrame(0.0f);
|
||||
}
|
||||
void dCsGame_c::lytItemCursor_c::lytBowCsr_c::executeState_AimStart() {
|
||||
if (mAnm[MAIN_ANIM_ARROW_ON].isFlag2()) {
|
||||
if (mAnm[MAIN_ANIM_ARROW_ON].isEnabled()) {
|
||||
mAnm[MAIN_ANIM_ARROW_ON].play();
|
||||
if (mAnm[MAIN_ANIM_ARROW_ON].isEndReached()) {
|
||||
mpLyt->calc();
|
||||
@@ -404,7 +404,7 @@ void dCsGame_c::lytItemCursor_c::lytBowCsr_c::initializeState_Charge() {
|
||||
}
|
||||
void dCsGame_c::lytItemCursor_c::lytBowCsr_c::executeState_Charge() {
|
||||
if (field_0x54 >= 1.0f) {
|
||||
if (!mAnm[MAIN_ANIM_ARROW_PEAK].isFlag2()) {
|
||||
if (!mAnm[MAIN_ANIM_ARROW_PEAK].isEnabled()) {
|
||||
mAnm[MAIN_ANIM_ARROW_PEAK].setAnimEnable(true);
|
||||
mAnm[MAIN_ANIM_ARROW_PEAK].setFrame(0.0f);
|
||||
SmallSoundManager::GetInstance()->playSound(SE_S_BW_ALIGN_SIGHT);
|
||||
@@ -521,7 +521,7 @@ void dCsGame_c::lytItemCursor_c::lytPachinkoCsr_c::executeState_ChargeFull() {
|
||||
if (field_0x50) {
|
||||
if (mAnm[MAIN_ANIM_SLING_PEAK].isEndReached()) {
|
||||
mpLyt->calc();
|
||||
} else if (mAnm[MAIN_ANIM_SLING_PEAK].isFlag2()) {
|
||||
} else if (mAnm[MAIN_ANIM_SLING_PEAK].isEnabled()) {
|
||||
mAnm[MAIN_ANIM_SLING_PEAK].play();
|
||||
}
|
||||
} else {
|
||||
@@ -555,7 +555,7 @@ void dCsGame_c::lytItemCursor_c::lytVacuumCsr_c::executeState_Normal() {
|
||||
if (field_0x5C) {
|
||||
mAnm[MAIN_ANIM_VACUUM_LOCK].setAnimEnable(true);
|
||||
mAnm[MAIN_ANIM_VACUUM_LOCK].setForward();
|
||||
mAnm[MAIN_ANIM_VACUUM_LOCK].setToEnd2();
|
||||
mAnm[MAIN_ANIM_VACUUM_LOCK].setToStart();
|
||||
mAnm[MAIN_ANIM_LOOP].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_ToLock);
|
||||
} else {
|
||||
@@ -583,7 +583,7 @@ void dCsGame_c::lytItemCursor_c::lytVacuumCsr_c::executeState_Lock() {
|
||||
if (!field_0x5C) {
|
||||
mAnm[MAIN_ANIM_VACUUM_LOCK].setAnimEnable(true);
|
||||
mAnm[MAIN_ANIM_VACUUM_LOCK].setBackward();
|
||||
mAnm[MAIN_ANIM_VACUUM_LOCK].setToEnd2();
|
||||
mAnm[MAIN_ANIM_VACUUM_LOCK].setToStart();
|
||||
mAnm[MAIN_ANIM_LOCK_LOOP].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_ToNormal);
|
||||
} else {
|
||||
|
||||
+8
-9
@@ -441,8 +441,7 @@ void LytBase_c::setPropertiesRecursive(nw4r::lyt::Pane *pane, f32 posX, f32 posY
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" const char *fn_801B2600(const char *);
|
||||
extern "C" void fn_800AF930(dTextBox_c *, const char *);
|
||||
extern "C" const wchar_t *fn_801B2600(const char *);
|
||||
extern "C" void fn_800B0F40(dTextBox_c *);
|
||||
|
||||
void LytBase_c::setProperties(nw4r::lyt::Pane *pane, f32 posX, f32 posY, f32 scale, f32 spaceX, f32 spaceY) {
|
||||
@@ -612,7 +611,7 @@ bool LytBase_c::fn_800ABCE0(
|
||||
return false;
|
||||
}
|
||||
|
||||
fn_800AF930(textbox1, fn_801B2600(text));
|
||||
textbox1->fn_800AF930(fn_801B2600(text));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -823,11 +822,11 @@ bool AnmGroupBase_c::setDirection(bool b) {
|
||||
}
|
||||
|
||||
nw4r::lyt::BindAnimation(mpGroup, anmTransform, false, b);
|
||||
mFlags |= 1;
|
||||
mFlags |= ANMGROUP_FLAG_BOUND;
|
||||
if (b) {
|
||||
mFlags = (mFlags & ~2);
|
||||
mFlags = (mFlags & ~ANMGROUP_FLAG_ENABLE);
|
||||
} else {
|
||||
mFlags |= 2;
|
||||
mFlags |= ANMGROUP_FLAG_ENABLE;
|
||||
}
|
||||
|
||||
u32 flags = 1;
|
||||
@@ -852,7 +851,7 @@ bool AnmGroupBase_c::unbind() {
|
||||
}
|
||||
|
||||
nw4r::lyt::UnbindAnimation(group, anmTransform, mAnmResource.IsDescendingBind());
|
||||
mFlags = (mFlags & ~1);
|
||||
mFlags = (mFlags & ~ANMGROUP_FLAG_BOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -865,9 +864,9 @@ void AnmGroupBase_c::setAnimEnable(bool b) {
|
||||
nw4r::lyt::AnimTransform *anmTransform = mpAnmTransform;
|
||||
nw4r::lyt::SetAnimationEnable(group, anmTransform, b, mAnmResource.IsDescendingBind());
|
||||
if (b) {
|
||||
mFlags |= 2;
|
||||
mFlags |= ANMGROUP_FLAG_ENABLE;
|
||||
} else {
|
||||
mFlags = mFlags & ~2;
|
||||
mFlags = mFlags & ~ANMGROUP_FLAG_ENABLE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ bool dLytAreaCaptionParts_c::update() {
|
||||
mStateMgr.executeState();
|
||||
if (*mStateMgr.getStateID() != StateID_Wait) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (mAnmCtrlInUse[i] && mAnmGroups[i].isFlag2()) {
|
||||
if (mAnmCtrlInUse[i] && mAnmGroups[i].isEnabled()) {
|
||||
mAnmGroups[i].play();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ bool dLytBattery_c::doDraw() {
|
||||
mStateMgr.executeState();
|
||||
if (*mStateMgr.getStateID() != StateID_Off) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (mAnmGroups[i].isFlag2()) {
|
||||
if (mAnmGroups[i].isEnabled()) {
|
||||
mAnmGroups[i].play();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ bool dLytBirdGaugeMain_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
bool dLytBirdGaugeMain_c::execute() {
|
||||
mStateMgr.executeState();
|
||||
for (int i = 0; i < LYT_SKY_GAUGE_MAIN_NUM_ANIMS; i++) {
|
||||
if (mAnmGroups[i].isFlag2()) {
|
||||
if (mAnmGroups[i].isEnabled()) {
|
||||
mAnmGroups[i].play();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,892 @@
|
||||
#include "d/lyt/d_lyt_common_icon_item.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_cs_base.h"
|
||||
#include "d/lyt/d_structd.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
STATE_DEFINE(dLytCommonIconItem_c, None);
|
||||
STATE_DEFINE(dLytCommonIconItem_c, In);
|
||||
STATE_DEFINE(dLytCommonIconItem_c, Wait);
|
||||
STATE_DEFINE(dLytCommonIconItem_c, Out);
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMapPart1[] = {
|
||||
{ "commonIcon_02_size.brlan", "G_size_00"},
|
||||
{"commonIcon_02_bocoburin.brlan", "G_bocoburin_00"},
|
||||
{ "commonIcon_02_numberV.brlan", "G_numberV_00"},
|
||||
{ "commonIcon_02_item.brlan", "G_icon_00"},
|
||||
{"commonIcon_02_textColor.brlan", "G_textColor_00"},
|
||||
{ "commonIcon_02_onOff.brlan", "G_btn_00"},
|
||||
{ "commonIcon_02_decide.brlan", "G_btn_00"},
|
||||
};
|
||||
|
||||
// S = shadow
|
||||
static const char *part1TextBoxes[] = {
|
||||
"T_comNumberS_01",
|
||||
"T_comNumber_01",
|
||||
};
|
||||
|
||||
static const char *part1Bounding = "B_item_00";
|
||||
|
||||
#define LYT_COMMON_ICON_PART_1_ANIM_SIZE 0
|
||||
#define LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN 1
|
||||
#define LYT_COMMON_ICON_PART_1_ANIM_NUMBERV 2
|
||||
#define LYT_COMMON_ICON_PART_1_ANIM_ICON 3
|
||||
#define LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR 4
|
||||
#define LYT_COMMON_ICON_PART_1_ANIM_ONOFF 5
|
||||
#define LYT_COMMON_ICON_PART_1_ANIM_DECIDE 6
|
||||
|
||||
#define LYT_COMMON_ICON_PART_1_NUM_ANIMS 7
|
||||
|
||||
bool dLytCommonIconItemPart1_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mLyt.setResAcc(resAcc);
|
||||
mLyt.build("commonIcon_02.brlyt", nullptr);
|
||||
for (int i = 0; i < LYT_COMMON_ICON_PART_1_NUM_ANIMS; i++) {
|
||||
mAnm[i].init(brlanMapPart1[i].mFile, resAcc, mLyt.getLayout(), brlanMapPart1[i].mName);
|
||||
mAnm[i].setDirection(false);
|
||||
mAnm[i].setRate(1.0f);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpTextBoxes[i] = mLyt.getTextBox(part1TextBoxes[i]);
|
||||
}
|
||||
|
||||
mpBounding = mLyt.findBounding(part1Bounding);
|
||||
reset();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonIconItemPart1_c::remove() {
|
||||
for (int i = 0; i < LYT_COMMON_ICON_PART_1_NUM_ANIMS; i++) {
|
||||
mAnm[i].unbind();
|
||||
mAnm[i].afterUnbind();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonIconItemPart1_c::execute() {
|
||||
if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].isEnabled() && mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].isStop2()) {
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(false);
|
||||
}
|
||||
|
||||
if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].isEnabled() && mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].isStop2()) {
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setAnimEnable(false);
|
||||
}
|
||||
|
||||
for (int i = 0; i < LYT_COMMON_ICON_PART_1_NUM_ANIMS; i++) {
|
||||
if (mAnm[i].isEnabled()) {
|
||||
mAnm[i].play();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::reset() {
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setFrame(1.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setBackwardsOnce();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setToEnd2();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setForwardOnce();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setToEnd2();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setAnimEnable(true);
|
||||
|
||||
mLyt.calc();
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::setItem(u8 item) {
|
||||
realizeUnk();
|
||||
realizeNumber();
|
||||
realizeSize();
|
||||
realizeBocoburin();
|
||||
realizeItem(item);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::realizeUnk() {
|
||||
// Probably related to field_0x2B4
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::realizeNumber() {
|
||||
if (mHasNumber) {
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setFrame(1.0f);
|
||||
} else {
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setFrame(0.0f);
|
||||
}
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::realizeSize() {
|
||||
if (mSize) {
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setFrame(0.0f);
|
||||
} else {
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setFrame(1.0f);
|
||||
}
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::realizeBocoburin() {
|
||||
if (mBocoburinLocked) {
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setFrame(1.0f);
|
||||
} else {
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setFrame(0.0f);
|
||||
}
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::realizeItem(u8 item) {
|
||||
// Inline?
|
||||
if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].getEndFrameRaw() - 1.0f < item) {
|
||||
field_0x28C = 0;
|
||||
} else {
|
||||
field_0x28C = item;
|
||||
}
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setFrame(field_0x28C);
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setAnimEnable(false);
|
||||
mpBounding->SetVisible(true);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::setNumber(s32 number) {
|
||||
std::memset(mNumberBuf, 0, sizeof(mNumberBuf));
|
||||
swprintf(mNumberBuf, ARRAY_LENGTH(mNumberBuf), L"%d", number);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpTextBoxes[i]->fn_800AF930(mNumberBuf);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::setNumberColor(u8 color) {
|
||||
mColor = color;
|
||||
switch (mColor) {
|
||||
case 0: mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setFrame(0.0f); break;
|
||||
case 1: mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setFrame(1.0f); break;
|
||||
case 2: mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setFrame(2.0f); break;
|
||||
}
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::setOn() {
|
||||
if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].isPlayingBackwardsOnce()) {
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setForwardOnce();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(true);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::setOff() {
|
||||
if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].isPlayingForwardsOnce()) {
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setBackwardsOnce();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(true);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::startDecide() {
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setForwardOnce();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setToStart();
|
||||
mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setAnimEnable(true);
|
||||
}
|
||||
|
||||
bool dLytCommonIconItemPart1_c::isDoneDeciding() const {
|
||||
return mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].isStop2();
|
||||
}
|
||||
|
||||
bool dLytCommonIconItemPart1_c::isCursorOver() const {
|
||||
d2d::dLytStructD *d = dCsBase_c::GetInstance()->getUnk();
|
||||
if (d != nullptr && d->getType() == 'lyt ' && d->field_0x24 == mpBounding) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart1_c::setVisible(bool visible) {
|
||||
if (visible) {
|
||||
mpBounding->SetVisible(true);
|
||||
} else {
|
||||
mpBounding->SetVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMapPart2[] = {
|
||||
{ "commonIcon_03_shieldOnOff.brlan", "G_shiledOnOff_00"},
|
||||
{ "commonIcon_03_shieldType.brlan", "G_type_00"},
|
||||
{"commonIcon_03_shieldUpDown.brlan", "G_gauge_00"},
|
||||
{ "commonIcon_03_size.brlan", "G_size_00"},
|
||||
{ "commonIcon_03_bocoburin.brlan", "G_bocoburin_00"},
|
||||
{ "commonIcon_03_numberV.brlan", "G_numberV_00"},
|
||||
{ "commonIcon_03_poach.brlan", "G_icon_00"},
|
||||
{ "commonIcon_03_textColor.brlan", "G_textColor_00"},
|
||||
{ "commonIcon_03_onOff.brlan", "G_btn_00"},
|
||||
{ "commonIcon_03_decide.brlan", "G_btn_00"},
|
||||
};
|
||||
|
||||
static const char *part2TextBoxes[] = {
|
||||
"T_comNumberS_01",
|
||||
"T_comNumber_01",
|
||||
};
|
||||
|
||||
static const char *part2Bounding = "B_poach_00";
|
||||
|
||||
#define LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF 0
|
||||
#define LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE 1
|
||||
#define LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE 2
|
||||
#define LYT_COMMON_ICON_PART_2_ANIM_SIZE 3
|
||||
#define LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN 4
|
||||
#define LYT_COMMON_ICON_PART_2_ANIM_NUMBERV 5
|
||||
#define LYT_COMMON_ICON_PART_2_ANIM_ICON 6
|
||||
#define LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR 7
|
||||
#define LYT_COMMON_ICON_PART_2_ANIM_ONOFF 8
|
||||
#define LYT_COMMON_ICON_PART_2_ANIM_DECIDE 9
|
||||
|
||||
#define LYT_COMMON_ICON_PART_2_NUM_ANIMS 10
|
||||
|
||||
bool dLytCommonIconItemPart2_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mLyt.setResAcc(resAcc);
|
||||
mLyt.build("commonIcon_03.brlyt", nullptr);
|
||||
for (int i = 0; i < LYT_COMMON_ICON_PART_2_NUM_ANIMS; i++) {
|
||||
mAnm[i].init(brlanMapPart2[i].mFile, resAcc, mLyt.getLayout(), brlanMapPart2[i].mName);
|
||||
mAnm[i].setDirection(false);
|
||||
mAnm[i].setRate(1.0f);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpTextBoxes[i] = mLyt.getTextBox(part2TextBoxes[i]);
|
||||
}
|
||||
|
||||
mpBounding = mLyt.findBounding(part2Bounding);
|
||||
reset();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonIconItemPart2_c::remove() {
|
||||
for (int i = 0; i < LYT_COMMON_ICON_PART_2_NUM_ANIMS; i++) {
|
||||
mAnm[i].unbind();
|
||||
mAnm[i].afterUnbind();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonIconItemPart2_c::execute() {
|
||||
if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].isEnabled() && mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].isStop2()) {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(false);
|
||||
}
|
||||
|
||||
if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].isEnabled() && mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].isStop2()) {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setAnimEnable(false);
|
||||
}
|
||||
|
||||
for (int i = 0; i < LYT_COMMON_ICON_PART_2_NUM_ANIMS; i++) {
|
||||
if (mAnm[i].isEnabled()) {
|
||||
mAnm[i].play();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::reset() {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setFrame(1.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setBackwardsOnce();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setToEnd2();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setForwardOnce();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setToEnd2();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setAnimEnable(true);
|
||||
|
||||
mLyt.calc();
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::setShieldOnOff(bool onOff) {
|
||||
if (getShieldType() != 4) {
|
||||
mOnOff = onOff;
|
||||
realizeShieldOnOff(mOnOff);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::setItem(u8 item) {
|
||||
if (item == 32) {
|
||||
return;
|
||||
}
|
||||
|
||||
u8 mappedItem = item;
|
||||
realizeUnk();
|
||||
if (item == 9) {
|
||||
if (mNumber == 1) {
|
||||
mappedItem = 50;
|
||||
} else if (mNumber == 2) {
|
||||
mappedItem = 9;
|
||||
}
|
||||
mHasNumber = false;
|
||||
realizeNumber();
|
||||
} else if (item == 43) {
|
||||
if (mNumber == 1) {
|
||||
mappedItem = 51;
|
||||
} else if (mNumber == 2) {
|
||||
mappedItem = 43;
|
||||
}
|
||||
mHasNumber = false;
|
||||
realizeNumber();
|
||||
} else {
|
||||
realizeNumber();
|
||||
}
|
||||
|
||||
realizeSize();
|
||||
realizeBocoburin();
|
||||
realizeItem(mappedItem);
|
||||
u8 shieldType = getShieldType();
|
||||
if (shieldType != 4) {
|
||||
realizeShieldOnOff(true);
|
||||
} else {
|
||||
realizeShieldOnOff(false);
|
||||
}
|
||||
|
||||
if (shieldType != 4) {
|
||||
realizeShieldType(shieldType);
|
||||
setDurability(0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::realizeUnk() {
|
||||
// Probably related to field_0x???
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::realizeNumber() {
|
||||
if (mHasNumber) {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setFrame(1.0f);
|
||||
} else {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setFrame(0.0f);
|
||||
}
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::realizeSize() {
|
||||
if (mSize) {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setFrame(0.0f);
|
||||
} else {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setFrame(1.0f);
|
||||
}
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::realizeBocoburin() {
|
||||
if (mBocoburinLocked) {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setFrame(1.0f);
|
||||
} else {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setFrame(0.0f);
|
||||
}
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::realizeItem(u8 item) {
|
||||
// Inline?
|
||||
if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].getEndFrameRaw() - 1.0f < item) {
|
||||
mItem = 0;
|
||||
} else {
|
||||
mItem = item;
|
||||
}
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setFrame(mItem);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setAnimEnable(false);
|
||||
mpBounding->SetVisible(true);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::realizeShieldOnOff(bool onOff) {
|
||||
mOnOff = onOff;
|
||||
if (onOff) {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setFrame(0.0f);
|
||||
} else {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setFrame(1.0f);
|
||||
}
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(false);
|
||||
}
|
||||
|
||||
u8 dLytCommonIconItemPart2_c::getShieldType() const {
|
||||
switch (mItem) {
|
||||
case 2:
|
||||
case 15:
|
||||
case 16: return 0; // Wooden Shield
|
||||
case 3:
|
||||
case 17:
|
||||
case 18: return 1; // Iron Shield
|
||||
case 4:
|
||||
case 19:
|
||||
case 20: return 2; // Goddess Shield
|
||||
case 5: return 3; // Hylia's Shield
|
||||
default: return 4;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::realizeShieldType(u8 type) {
|
||||
if (mOnOff) {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setFrame(type);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(false);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::setNumber(s32 number) {
|
||||
mNumber = number;
|
||||
std::memset(mNumberBuf, 0, sizeof(mNumberBuf));
|
||||
swprintf(mNumberBuf, ARRAY_LENGTH(mNumberBuf), L"%d", number);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpTextBoxes[i]->fn_800AF930(mNumberBuf);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::setNumberColor(u8 color) {
|
||||
mColor = color;
|
||||
switch (mColor) {
|
||||
case 0: mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setFrame(0.0f); break;
|
||||
case 1: mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setFrame(1.0f); break;
|
||||
case 2: mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setFrame(2.0f); break;
|
||||
}
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::setOn() {
|
||||
if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].isPlayingBackwardsOnce()) {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setForwardOnce();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(true);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::setOff() {
|
||||
if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].isPlayingForwardsOnce()) {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setBackwardsOnce();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(true);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::startDecide() {
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setForwardOnce();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setToStart();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setAnimEnable(true);
|
||||
}
|
||||
|
||||
bool dLytCommonIconItemPart2_c::isDoneDeciding() const {
|
||||
return mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].isStop2();
|
||||
}
|
||||
|
||||
bool dLytCommonIconItemPart2_c::isCursorOver() const {
|
||||
d2d::dLytStructD *d = dCsBase_c::GetInstance()->getUnk();
|
||||
if (d != nullptr && d->getType() == 'lyt ' && d->field_0x24 == mpBounding) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::setVisible(bool visible) {
|
||||
if (visible) {
|
||||
mpBounding->SetVisible(true);
|
||||
} else {
|
||||
mpBounding->SetVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart2_c::setDurability(f32 durability) {
|
||||
if (mOnOff) {
|
||||
mDurability = durability;
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setFrameRatio(durability);
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(false);
|
||||
}
|
||||
}
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMapPart3[] = {
|
||||
{ "commonIcon_04_size.brlan", "G_size_00"},
|
||||
{"commonIcon_04_bocoburin.brlan", "G_bocoburin_00"},
|
||||
{ "commonIcon_04_dauzing.brlan", "G_icon_00"},
|
||||
};
|
||||
|
||||
static const char *part3Bounding = "B_dauz_00";
|
||||
|
||||
#define LYT_COMMON_ICON_PART_3_ANIM_SIZE 0
|
||||
#define LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN 1
|
||||
#define LYT_COMMON_ICON_PART_3_ANIM_ICON 2
|
||||
|
||||
#define LYT_COMMON_ICON_PART_3_NUM_ANIMS 3
|
||||
|
||||
bool dLytCommonIconItemPart3_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mLyt.setResAcc(resAcc);
|
||||
mLyt.build("commonIcon_04.brlyt", nullptr);
|
||||
for (int i = 0; i < LYT_COMMON_ICON_PART_3_NUM_ANIMS; i++) {
|
||||
mAnm[i].init(brlanMapPart3[i].mFile, resAcc, mLyt.getLayout(), brlanMapPart3[i].mName);
|
||||
mAnm[i].setDirection(false);
|
||||
mAnm[i].setRate(1.0f);
|
||||
}
|
||||
|
||||
mpBounding = mLyt.findBounding(part3Bounding);
|
||||
reset();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonIconItemPart3_c::remove() {
|
||||
for (int i = 0; i < LYT_COMMON_ICON_PART_3_NUM_ANIMS; i++) {
|
||||
mAnm[i].unbind();
|
||||
mAnm[i].afterUnbind();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonIconItemPart3_c::execute() {
|
||||
for (int i = 0; i < LYT_COMMON_ICON_PART_3_NUM_ANIMS; i++) {
|
||||
if (mAnm[i].isEnabled()) {
|
||||
mAnm[i].play();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart3_c::reset() {
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setFrame(1.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setAnimEnable(true);
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setFrame(0.0f);
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setAnimEnable(true);
|
||||
|
||||
mLyt.calc();
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setAnimEnable(false);
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart3_c::setItem(u8 item) {
|
||||
realizeSize();
|
||||
realizeBocoburin();
|
||||
realizeItem(item);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart3_c::realizeSize() {
|
||||
if (mSize) {
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setFrame(0.0f);
|
||||
} else {
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setFrame(1.0f);
|
||||
}
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart3_c::realizeBocoburin() {
|
||||
if (mBocoburinLocked) {
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setFrame(1.0f);
|
||||
} else {
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setFrame(0.0f);
|
||||
}
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setAnimEnable(false);
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart3_c::realizeItem(u8 item) {
|
||||
if (mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].getEndFrameRaw() - 1.0f < item) {
|
||||
mItem = 0;
|
||||
} else {
|
||||
mItem = item;
|
||||
}
|
||||
// @bug ignoring the check above
|
||||
mItem = item;
|
||||
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setFrame(mItem);
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setAnimEnable(false);
|
||||
mpBounding->SetVisible(true);
|
||||
}
|
||||
|
||||
bool dLytCommonIconItemPart3_c::isCursorOver() const {
|
||||
d2d::dLytStructD *d = dCsBase_c::GetInstance()->getUnk();
|
||||
if (d != nullptr && d->getType() == 'lyt ' && d->field_0x24 == mpBounding) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void dLytCommonIconItemPart3_c::setVisible(bool visible) {
|
||||
if (visible) {
|
||||
mpBounding->SetVisible(true);
|
||||
} else {
|
||||
mpBounding->SetVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
// Incredible use of the state manager here
|
||||
void dLytCommonIconItem_c::initializeState_None() {}
|
||||
void dLytCommonIconItem_c::executeState_None() {}
|
||||
void dLytCommonIconItem_c::finalizeState_None() {}
|
||||
|
||||
void dLytCommonIconItem_c::initializeState_In() {}
|
||||
void dLytCommonIconItem_c::executeState_In() {}
|
||||
void dLytCommonIconItem_c::finalizeState_In() {}
|
||||
|
||||
void dLytCommonIconItem_c::initializeState_Wait() {}
|
||||
void dLytCommonIconItem_c::executeState_Wait() {}
|
||||
void dLytCommonIconItem_c::finalizeState_Wait() {}
|
||||
|
||||
void dLytCommonIconItem_c::initializeState_Out() {}
|
||||
void dLytCommonIconItem_c::executeState_Out() {}
|
||||
void dLytCommonIconItem_c::finalizeState_Out() {}
|
||||
|
||||
bool dLytCommonIconItem_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
build(resAcc, 1);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonIconItem_c::build(d2d::ResAccIf_c *resAcc, u8 variant) {
|
||||
mPart = variant;
|
||||
switch (mPart) {
|
||||
case 0: mPart1.build(resAcc); break;
|
||||
case 1: mPart2.build(resAcc); break;
|
||||
case 2: mPart3.build(resAcc); break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonIconItem_c::remove() {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.remove(); break;
|
||||
case 1: mPart2.remove(); break;
|
||||
case 2: mPart3.remove(); break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytCommonIconItem_c::execute() {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.execute(); break;
|
||||
case 1: mPart2.execute(); break;
|
||||
case 2: mPart3.execute(); break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::reset() {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.reset(); break;
|
||||
case 1: mPart2.reset(); break;
|
||||
case 2: mPart3.reset(); break;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::setUnk(bool unk) {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.setUnk(unk); break;
|
||||
case 1: mPart2.setUnk(unk); break;
|
||||
case 2: break;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::setHasNumber(bool hasNumber) {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.setHasNumber(hasNumber); break;
|
||||
case 1: mPart2.setHasNumber(hasNumber); break;
|
||||
case 2: break;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::setSize(bool size) {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.setSize(size); break;
|
||||
case 1: mPart2.setSize(size); break;
|
||||
case 2: mPart3.setSize(size); break;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::setBocoburinLocked(bool locked) {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.setBocoburinLocked(locked); break;
|
||||
case 1: mPart2.setBocoburinLocked(locked); break;
|
||||
case 2: mPart3.setBocoburinLocked(locked); break;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::setItem(u8 item) {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.setItem(item); break;
|
||||
case 1: mPart2.setItem(item); break;
|
||||
case 2: mPart3.setItem(item); break;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::setShieldDurability(f32 durability) {
|
||||
switch (mPart) {
|
||||
case 0: break;
|
||||
case 1: mPart2.setDurability(durability); break;
|
||||
case 2: break;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::setShieldOnOff(bool onOff) {
|
||||
switch (mPart) {
|
||||
case 0: break;
|
||||
case 1: mPart2.setShieldOnOff(onOff); break;
|
||||
case 2: break;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::setNumber(s32 number) {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.setNumber(number); break;
|
||||
case 1: mPart2.setNumber(number); break;
|
||||
case 2: break;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::setNumberColor(u8 color) {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.setNumberColor(color); break;
|
||||
case 1: mPart2.setNumberColor(color); break;
|
||||
case 2: break;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::setOn() {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.setOn(); break;
|
||||
case 1: mPart2.setOn(); break;
|
||||
case 2: break;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::setOff() {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.setOff(); break;
|
||||
case 1: mPart2.setOff(); break;
|
||||
case 2: break;
|
||||
}
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::startDecide() {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.startDecide(); break;
|
||||
case 1: mPart2.startDecide(); break;
|
||||
case 2: break;
|
||||
}
|
||||
}
|
||||
|
||||
bool dLytCommonIconItem_c::isDoneDeciding() const {
|
||||
switch (mPart) {
|
||||
case 0:
|
||||
if (mPart1.isDoneDeciding()) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (mPart2.isDoneDeciding()) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool dLytCommonIconItem_c::isCursorOver() const {
|
||||
switch (mPart) {
|
||||
case 0:
|
||||
if (mPart1.isCursorOver()) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (mPart2.isCursorOver()) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (mPart3.isCursorOver()) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void dLytCommonIconItem_c::setVisible(bool visible) {
|
||||
switch (mPart) {
|
||||
case 0: mPart1.setVisible(visible); break;
|
||||
case 1: mPart2.setVisible(visible); break;
|
||||
case 2: mPart3.setVisible(visible); break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ void dLytFader_c::setStatus(EStatus status) {
|
||||
mLytBase.unbindAnims();
|
||||
d2d::AnmGroup_c *s = &mLytStructAs[0];
|
||||
s->setDirection(false);
|
||||
s->setToStart();
|
||||
s->setFrame(0.0f);
|
||||
s->setAnimEnable(true);
|
||||
mLytBase.calc();
|
||||
fn_80175BC0(2);
|
||||
@@ -112,6 +112,7 @@ void dLytFader_c::fn_801758F0() {
|
||||
s->setDirection(false);
|
||||
s->setFrame(0.0f);
|
||||
s->setRate(20.0f / (mFrame - 1));
|
||||
s->setAnimEnable(true);
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(true);
|
||||
}
|
||||
|
||||
@@ -132,6 +133,7 @@ void dLytFader_c::fn_80175A50() {
|
||||
s->setDirection(false);
|
||||
s->setFrame(0.0f);
|
||||
s->setRate(20.0f / (mFrame - 1));
|
||||
s->setAnimEnable(true);
|
||||
mLytBase.getLayout()->GetRootPane()->SetVisible(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ void dLytNote_c::executeState_In() {
|
||||
mStateMgr.changeState(StateID_Move);
|
||||
}
|
||||
|
||||
if (mAnmGroups[NOTE_ANIM_GET].isFlag2()) {
|
||||
if (mAnmGroups[NOTE_ANIM_GET].isEnabled()) {
|
||||
mAnmGroups[NOTE_ANIM_GET].play();
|
||||
}
|
||||
}
|
||||
@@ -129,7 +129,7 @@ void dLytNote_c::executeState_Out() {
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
}
|
||||
|
||||
if (mAnmGroups[mOutAnim].isFlag2()) {
|
||||
if (mAnmGroups[mOutAnim].isEnabled()) {
|
||||
mAnmGroups[mOutAnim].play();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ void dLytPauseDisp00_c::init() {
|
||||
}
|
||||
|
||||
for (int i = 0; i < 0x18; i++) {
|
||||
field_0x2050[i].init(nullptr, lbl_804E8898[i]);
|
||||
field_0x2050[i].build(nullptr, lbl_804E8898[i]);
|
||||
mSubpanes.PushBack(&field_0xE11C[i]);
|
||||
}
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ bool dLytSkyGaugeMain_c::execute() {
|
||||
mStateMgr.executeState();
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
if (mAnmGroups[i].isFlag2()) {
|
||||
if (mAnmGroups[i].isEnabled()) {
|
||||
if (mAnmGroups[i].isStop()) {
|
||||
mAnmGroups[i].setAnimEnable(false);
|
||||
if (i == 0) {
|
||||
|
||||
@@ -37,7 +37,8 @@ void dLytMeter1Button_c::executeState_Wait() {
|
||||
void dLytMeter1Button_c::finalizeState_Wait() {}
|
||||
|
||||
void dLytMeter1Button_c::initializeState_ToUse() {
|
||||
mAnmGroups[0].playBackwardsOnce();
|
||||
mAnmGroups[0].setBackwardsOnce();
|
||||
mAnmGroups[0].setToStart();
|
||||
mAnmGroups[0].setAnimEnable(true);
|
||||
}
|
||||
void dLytMeter1Button_c::executeState_ToUse() {
|
||||
@@ -45,7 +46,7 @@ void dLytMeter1Button_c::executeState_ToUse() {
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
}
|
||||
|
||||
if (mAnmGroups[0].isFlag2()) {
|
||||
if (mAnmGroups[0].isEnabled()) {
|
||||
mAnmGroups[0].play();
|
||||
}
|
||||
}
|
||||
@@ -54,7 +55,8 @@ void dLytMeter1Button_c::finalizeState_ToUse() {
|
||||
}
|
||||
|
||||
void dLytMeter1Button_c::initializeState_ToUnuse() {
|
||||
mAnmGroups[0].playLoop();
|
||||
mAnmGroups[0].setForwardOnce();
|
||||
mAnmGroups[0].setToStart();
|
||||
mAnmGroups[0].setAnimEnable(true);
|
||||
}
|
||||
void dLytMeter1Button_c::executeState_ToUnuse() {
|
||||
@@ -62,7 +64,7 @@ void dLytMeter1Button_c::executeState_ToUnuse() {
|
||||
mStateMgr.changeState(StateID_Unuse);
|
||||
}
|
||||
|
||||
if (mAnmGroups[0].isFlag2()) {
|
||||
if (mAnmGroups[0].isEnabled()) {
|
||||
mAnmGroups[0].play();
|
||||
}
|
||||
}
|
||||
@@ -148,7 +150,8 @@ void dLytMeter2Button_c::executeState_Wait() {
|
||||
void dLytMeter2Button_c::finalizeState_Wait() {}
|
||||
|
||||
void dLytMeter2Button_c::initializeState_ToUse() {
|
||||
mAnmGroups[0].playBackwardsOnce();
|
||||
mAnmGroups[0].setBackwardsOnce();
|
||||
mAnmGroups[0].setToStart();
|
||||
mAnmGroups[0].setAnimEnable(true);
|
||||
}
|
||||
void dLytMeter2Button_c::executeState_ToUse() {
|
||||
@@ -156,7 +159,7 @@ void dLytMeter2Button_c::executeState_ToUse() {
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
}
|
||||
|
||||
if (mAnmGroups[0].isFlag2()) {
|
||||
if (mAnmGroups[0].isEnabled()) {
|
||||
mAnmGroups[0].play();
|
||||
}
|
||||
}
|
||||
@@ -165,7 +168,8 @@ void dLytMeter2Button_c::finalizeState_ToUse() {
|
||||
}
|
||||
|
||||
void dLytMeter2Button_c::initializeState_ToUnuse() {
|
||||
mAnmGroups[0].playLoop();
|
||||
mAnmGroups[0].setForwardOnce();
|
||||
mAnmGroups[0].setToStart();
|
||||
mAnmGroups[0].setAnimEnable(true);
|
||||
}
|
||||
void dLytMeter2Button_c::executeState_ToUnuse() {
|
||||
@@ -173,7 +177,7 @@ void dLytMeter2Button_c::executeState_ToUnuse() {
|
||||
mStateMgr.changeState(StateID_Unuse);
|
||||
}
|
||||
|
||||
if (mAnmGroups[0].isFlag2()) {
|
||||
if (mAnmGroups[0].isEnabled()) {
|
||||
mAnmGroups[0].play();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,23 +26,24 @@ void dLytMeterABtn_c::executeState_InvisibleWait() {
|
||||
void dLytMeterABtn_c::finalizeState_InvisibleWait() {}
|
||||
|
||||
void dLytMeterABtn_c::initializeState_In() {
|
||||
mpContainerAnmGroup1->setToEnd2();
|
||||
mpContainerAnmGroup1->setToStart();
|
||||
mpContainerAnmGroup1->setAnimEnable(true);
|
||||
mAnmGroups[0].playBackwardsOnce();
|
||||
mAnmGroups[0].setBackwardsOnce();
|
||||
mAnmGroups[0].setToStart();
|
||||
}
|
||||
void dLytMeterABtn_c::executeState_In() {
|
||||
if (mpContainerAnmGroup1->isEndReached()) {
|
||||
mpContainerAnmGroup1->setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
}
|
||||
if (mpContainerAnmGroup1->isFlag2()) {
|
||||
if (mpContainerAnmGroup1->isEnabled()) {
|
||||
mpContainerAnmGroup1->play();
|
||||
}
|
||||
}
|
||||
void dLytMeterABtn_c::finalizeState_In() {}
|
||||
|
||||
void dLytMeterABtn_c::initializeState_Out() {
|
||||
mpContainerAnmGroup2->setToEnd2();
|
||||
mpContainerAnmGroup2->setToStart();
|
||||
mpContainerAnmGroup2->setAnimEnable(true);
|
||||
}
|
||||
void dLytMeterABtn_c::executeState_Out() {
|
||||
@@ -50,7 +51,7 @@ void dLytMeterABtn_c::executeState_Out() {
|
||||
mpContainerAnmGroup2->setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_InvisibleWait);
|
||||
}
|
||||
if (mpContainerAnmGroup2->isFlag2()) {
|
||||
if (mpContainerAnmGroup2->isEnabled()) {
|
||||
mpContainerAnmGroup2->play();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,10 +19,10 @@ STATE_DEFINE(dLytMeterDrink_c, Out);
|
||||
|
||||
void dLytMeterDrinkParts_c::initializeState_Invisible() {
|
||||
if (field_0x51) {
|
||||
if (mAnmGroups[2]->isFlag2()) {
|
||||
if (mAnmGroups[2]->isEnabled()) {
|
||||
mAnmGroups[2]->setAnimEnable(false);
|
||||
}
|
||||
if (!mAnmGroups[0]->isFlag2()) {
|
||||
if (!mAnmGroups[0]->isEnabled()) {
|
||||
mAnmGroups[0]->setAnimEnable(true);
|
||||
}
|
||||
mAnmGroups[0]->setFrame(0.0f);
|
||||
@@ -32,7 +32,7 @@ void dLytMeterDrinkParts_c::initializeState_Invisible() {
|
||||
}
|
||||
}
|
||||
void dLytMeterDrinkParts_c::executeState_Invisible() {
|
||||
if (mAnmGroups[0]->isFlag2()) {
|
||||
if (mAnmGroups[0]->isEnabled()) {
|
||||
mAnmGroups[0]->setAnimEnable(false);
|
||||
}
|
||||
if (field_0x50) {
|
||||
@@ -43,7 +43,7 @@ void dLytMeterDrinkParts_c::finalizeState_Invisible() {}
|
||||
|
||||
void dLytMeterDrinkParts_c::initializeState_In() {
|
||||
if (field_0x51) {
|
||||
if (mAnmGroups[2]->isFlag2()) {
|
||||
if (mAnmGroups[2]->isEnabled()) {
|
||||
mAnmGroups[2]->setAnimEnable(false);
|
||||
}
|
||||
mAnmGroups[0]->setToEnd();
|
||||
@@ -59,7 +59,7 @@ void dLytMeterDrinkParts_c::executeState_In() {
|
||||
mStateMgr.changeState(StateID_Visible);
|
||||
}
|
||||
|
||||
if (mAnmGroups[0]->isFlag2()) {
|
||||
if (mAnmGroups[0]->isEnabled()) {
|
||||
mAnmGroups[0]->play();
|
||||
}
|
||||
}
|
||||
@@ -67,7 +67,7 @@ void dLytMeterDrinkParts_c::finalizeState_In() {}
|
||||
|
||||
void dLytMeterDrinkParts_c::initializeState_Visible() {
|
||||
if (field_0x51) {
|
||||
if (mAnmGroups[2]->isFlag2()) {
|
||||
if (mAnmGroups[2]->isEnabled()) {
|
||||
mAnmGroups[2]->setAnimEnable(false);
|
||||
}
|
||||
mAnmGroups[0]->setAnimEnable(true);
|
||||
@@ -77,7 +77,7 @@ void dLytMeterDrinkParts_c::initializeState_Visible() {
|
||||
}
|
||||
|
||||
void dLytMeterDrinkParts_c::executeState_Visible() {
|
||||
if (mAnmGroups[0]->isFlag2()) {
|
||||
if (mAnmGroups[0]->isEnabled()) {
|
||||
mAnmGroups[0]->setAnimEnable(false);
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ void dLytMeterDrinkParts_c::finalizeState_Visible() {}
|
||||
|
||||
void dLytMeterDrinkParts_c::initializeState_Out() {
|
||||
if (field_0x51) {
|
||||
if (mAnmGroups[0]->isFlag2()) {
|
||||
if (mAnmGroups[0]->isEnabled()) {
|
||||
mAnmGroups[0]->setAnimEnable(false);
|
||||
}
|
||||
mAnmGroups[2]->setToEnd();
|
||||
@@ -108,7 +108,7 @@ void dLytMeterDrinkParts_c::executeState_Out() {
|
||||
field_0x50 = 0;
|
||||
mStateMgr.changeState(StateID_Invisible);
|
||||
}
|
||||
if (mAnmGroups[2]->isFlag2()) {
|
||||
if (mAnmGroups[2]->isEnabled()) {
|
||||
mAnmGroups[2]->play();
|
||||
}
|
||||
}
|
||||
@@ -255,7 +255,7 @@ void dLytMeterDrink_c::executeState_In() {
|
||||
mAnmGroups[0].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
}
|
||||
if (mAnmGroups[0].isFlag2()) {
|
||||
if (mAnmGroups[0].isEnabled()) {
|
||||
mAnmGroups[0].play();
|
||||
}
|
||||
}
|
||||
@@ -336,7 +336,7 @@ void dLytMeterDrink_c::executeState_Move() {
|
||||
mLyt.calc();
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_MOVE + i].isFlag2()) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_MOVE + i].isEnabled()) {
|
||||
mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_MOVE + i].setAnimEnable(false);
|
||||
}
|
||||
}
|
||||
@@ -344,7 +344,7 @@ void dLytMeterDrink_c::executeState_Move() {
|
||||
}
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_MOVE + i].isFlag2()) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_MOVE + i].isEnabled()) {
|
||||
mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_MOVE + i].play();
|
||||
}
|
||||
}
|
||||
@@ -360,7 +360,7 @@ void dLytMeterDrink_c::executeState_Out() {
|
||||
mAnmGroups[LYT_METER_DRINK_ANIM_DEMO_OUT].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_Invisible);
|
||||
}
|
||||
if (mAnmGroups[LYT_METER_DRINK_ANIM_DEMO_OUT].isFlag2()) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_ANIM_DEMO_OUT].isEnabled()) {
|
||||
mAnmGroups[LYT_METER_DRINK_ANIM_DEMO_OUT].play();
|
||||
}
|
||||
}
|
||||
@@ -474,13 +474,13 @@ void dLytMeterDrink_c::executeInternal() {
|
||||
if (!mParts[i].isDrinkAboutToExpire()) {
|
||||
drinksLast[i] = true;
|
||||
bHasNotSoonExpiringDrink = true;
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isFlag2()) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isEnabled()) {
|
||||
frameLoop = mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].getNextFrame();
|
||||
}
|
||||
} else {
|
||||
drinksLast[i] = false;
|
||||
bHasSoonExpiringDrink = true;
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isFlag2()) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isEnabled()) {
|
||||
frameCaution = mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].getNextFrame();
|
||||
}
|
||||
}
|
||||
@@ -489,14 +489,14 @@ void dLytMeterDrink_c::executeInternal() {
|
||||
if (bHasNotSoonExpiringDrink) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (drinksLast[i] == true) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isFlag2()) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isEnabled()) {
|
||||
mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].play();
|
||||
} else {
|
||||
mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].setAnimEnable(true);
|
||||
mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].setFrame(frameLoop);
|
||||
}
|
||||
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isFlag2()) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isEnabled()) {
|
||||
bool oldVisible = mpPartPanes[i]->IsVisible();
|
||||
mpPartPanes[i]->SetVisible(true);
|
||||
mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].setFrame(0.0f);
|
||||
@@ -508,7 +508,7 @@ void dLytMeterDrink_c::executeInternal() {
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isFlag2()) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isEnabled()) {
|
||||
bool oldVisible = mpPartPanes[i]->IsVisible();
|
||||
mpPartPanes[i]->SetVisible(true);
|
||||
mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].setFrame(0.0f);
|
||||
@@ -522,14 +522,14 @@ void dLytMeterDrink_c::executeInternal() {
|
||||
if (bHasSoonExpiringDrink) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (drinksLast[i] == false) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isFlag2()) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isEnabled()) {
|
||||
mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].play();
|
||||
} else {
|
||||
mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].setAnimEnable(true);
|
||||
mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].setFrame(frameCaution);
|
||||
}
|
||||
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isFlag2()) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isEnabled()) {
|
||||
bool oldVisible = mpPartPanes[i]->IsVisible();
|
||||
mpPartPanes[i]->SetVisible(true);
|
||||
mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].setFrame(0.0f);
|
||||
@@ -541,7 +541,7 @@ void dLytMeterDrink_c::executeInternal() {
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isFlag2()) {
|
||||
if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isEnabled()) {
|
||||
bool oldVisible = mpPartPanes[i]->IsVisible();
|
||||
mpPartPanes[i]->SetVisible(true);
|
||||
mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].setFrame(0.0f);
|
||||
|
||||
+2
-2
@@ -153,7 +153,7 @@ bool FrameCtrl_c::isStop() const {
|
||||
}
|
||||
}
|
||||
|
||||
f32 FrameCtrl_c::getEndFrame() const {
|
||||
f32 FrameCtrl_c::getStartFrame() const {
|
||||
if (isBackwards()) {
|
||||
if (notLooping()) {
|
||||
return mEndFrame - 1.0f;
|
||||
@@ -164,7 +164,7 @@ f32 FrameCtrl_c::getEndFrame() const {
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
f32 FrameCtrl_c::getEndFrame2() const {
|
||||
f32 FrameCtrl_c::getEndFrame() const {
|
||||
if (isBackwards()) {
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user