mirror of
https://github.com/zeldaret/ss
synced 2026-06-27 18:32:51 -04:00
More
This commit is contained in:
+2
-2
@@ -257,7 +257,7 @@ bool dCsGame_c::shouldDraw() const {
|
||||
bool dCsGame_c::isForcedHidden() const {
|
||||
return (
|
||||
EventManagerNotDrawControl0x80() && EventManagerNotSkyKeepPuzzle() && EventManagerNotInShop() &&
|
||||
EventManagerNotInDeposit() && !EventManagerIsMapOpenAndMessage() && !EventManagerIsMapOpenAnd0x9008Eq10()
|
||||
EventManagerNotInDeposit() && !EventManagerIsMapOpenNormal() && !EventManagerIsMapEventSaveObj()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -338,7 +338,7 @@ mVec2_c &dCursorInterfaceGame_c::getCursorPos() {
|
||||
f32 f3 = sHio.field_0x10 + 4.0f;
|
||||
f32 f4 = sHio.field_0x0C + -15.0f;
|
||||
|
||||
if (dLytMap_c::GetInstance() != nullptr && dLytMap_c::GetInstance()->isOpenMaybe()) {
|
||||
if (dLytMap_c::GetInstance() != nullptr && dLytMap_c::GetInstance()->isOpen()) {
|
||||
if (pos.x < -f0 + f4) {
|
||||
pos.x = -f0 + f4;
|
||||
}
|
||||
|
||||
+21
-19
@@ -417,35 +417,37 @@ bool dFlow_c::handleEventInternal(const MsbFlowInfo *element) {
|
||||
dStageMgr_c::GetInstance()->getFlagIndex();
|
||||
SceneflagManager::sInstance->unsetTempflag_i(0x3F, (params1n2 >> 16) & 0xFFFF);
|
||||
break;
|
||||
case EVENT_LIGHT_PILLAR_30: {
|
||||
case EVENT_START_MAP_EVENT: {
|
||||
s8 p4 = (params1n2 >> 24) & 0xFF;
|
||||
s8 p1 = params1n2 & 0xFF;
|
||||
s8 p3 = (params1n2 >> 16) & 0xFF;
|
||||
s8 p2 = (params1n2 >> 8) & 0xFF;
|
||||
s32 val = 1;
|
||||
s8 arg1 = (params1n2 >> 16) & 0xFF;
|
||||
s8 arg2 = (params1n2 >> 8) & 0xFF;
|
||||
s32 mapEvent = 1;
|
||||
switch (p1) {
|
||||
case 1: val = 4; break;
|
||||
case 2: val = 3; break;
|
||||
case 3: val = 5; break;
|
||||
case 5: val = 7; break;
|
||||
case 6: val = 8; break;
|
||||
case 7: val = 9; break;
|
||||
case 1: mapEvent = dLytMapMain_c::MAP_EVENT_DUNGEON_MAP_GET; break;
|
||||
case 2: mapEvent = dLytMapMain_c::MAP_EVENT_MAP_INTRO; break;
|
||||
case 3: mapEvent = dLytMapMain_c::MAP_EVENT_FIELD_MAP_CHANGE_5; break;
|
||||
case 5: mapEvent = dLytMapMain_c::MAP_EVENT_SIGNAL_ADD; break;
|
||||
case 6: mapEvent = dLytMapMain_c::MAP_EVENT_FIELD_MAP_CHANGE_8; break;
|
||||
case 7: mapEvent = dLytMapMain_c::MAP_EVENT_GODDESS_CUBE; break;
|
||||
}
|
||||
dMessage_c::getInstance()->setField_0x32C(val);
|
||||
dMessage_c::getInstance()->setField_0x32C(mapEvent);
|
||||
dMessage_c::getInstance()->setField_0x329(true);
|
||||
if (dMessage_c::getInstance()->getField_0x328() == 0) {
|
||||
dMessage_c::getInstance()->setField_0x328(1);
|
||||
if (dMessage_c::getInstance()->getInMapEvent() == false) {
|
||||
dMessage_c::getInstance()->setInMapEvent(true);
|
||||
dMessage_c::getInstance()->clearLightPillarRelatedArgs();
|
||||
if (dLytControlGame_c::getInstance()->isStateNormalOrNotInEvent()) {
|
||||
dLytControlGame_c::getInstance()->somehowRelatedToEnteringLightPillars(val, p3, p2);
|
||||
dLytControlGame_c::getInstance()->somehowRelatedToEnteringLightPillars(
|
||||
mapEvent, arg1, arg2
|
||||
);
|
||||
}
|
||||
} else {
|
||||
dLytMap_c::GetInstance()->lightPillarRelated(val, p3, p2);
|
||||
dLytMap_c::GetInstance()->queueMapEvent(mapEvent, arg1, arg2);
|
||||
}
|
||||
dMessage_c::getInstance()->storeLightPillarRelatedArg(p4);
|
||||
break;
|
||||
}
|
||||
case EVENT_LIGHT_PILLAR_34: {
|
||||
case EVENT_END_MAP_EVENT: {
|
||||
// TODO what do these modes do?
|
||||
if (params1n2 == 1) {
|
||||
if (!dLytControlGame_c::getInstance()->isNotInStateMap()) {
|
||||
@@ -463,7 +465,7 @@ bool dFlow_c::handleEventInternal(const MsbFlowInfo *element) {
|
||||
dMessage_c::getInstance()->setField_0x32A(1);
|
||||
}
|
||||
}
|
||||
dMessage_c::getInstance()->setField_0x328(0);
|
||||
dMessage_c::getInstance()->setInMapEvent(false);
|
||||
break;
|
||||
}
|
||||
case EVENT_SET_STORYFLAG_217:
|
||||
@@ -1127,7 +1129,7 @@ bool dFlow_c::advanceUntil(s32 searchType, s32 searchParam3, s32 *pOutParams1n2)
|
||||
case EVENT_LOAD_FI_FLOW:
|
||||
case EVENT_COUNTER_THRESHOLD:
|
||||
case 27: keepGoing = handleEvent(); continue;
|
||||
case EVENT_LIGHT_PILLAR_34:
|
||||
case EVENT_END_MAP_EVENT:
|
||||
if (element->params1n2 == 2) {
|
||||
keepGoing = false;
|
||||
continue;
|
||||
@@ -1762,7 +1764,7 @@ void dMessage_c::executeMinigame() {
|
||||
void dMessage_c::init() {
|
||||
clearLightPillarRelatedArgs();
|
||||
// Probably inlines
|
||||
field_0x328 = 0;
|
||||
mInMapEvent = false;
|
||||
field_0x329 = 0;
|
||||
field_0x32A = 0;
|
||||
sInstance->setField_0x32C(12);
|
||||
|
||||
+1
-1
@@ -498,7 +498,7 @@ void ex_c::fn_80056790(s32 chan) {
|
||||
|
||||
f32 f;
|
||||
if (dScGame_c::GetInstance() != nullptr && dLytMap_c::GetInstance() != nullptr &&
|
||||
!dLytMap_c::GetInstance()->isNotInvisible()) {
|
||||
!dLytMap_c::GetInstance()->isVisible()) {
|
||||
f = dScGame_c::GetInstance()->targetingScreenFn_801BBEC0();
|
||||
} else {
|
||||
f = 1.0f;
|
||||
|
||||
+628
-75
File diff suppressed because it is too large
Load Diff
@@ -18,7 +18,7 @@ dLytMapGlobal_c::dLytMapGlobal_c()
|
||||
field_0x4D(0),
|
||||
mAlpha(0),
|
||||
field_0x4F(0),
|
||||
field_0x50(0) {
|
||||
mMapEvent(0) {
|
||||
sInstance = this;
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "d/flag/dungeonflag_manager.h"
|
||||
#include "d/flag/storyflag_manager.h"
|
||||
#include "d/lyt/d2d.h"
|
||||
#include "d/lyt/d_lyt_map.h"
|
||||
#include "d/lyt/d_lyt_map_global.h"
|
||||
#include "d/lyt/d_window.h"
|
||||
#include "d/snd/d_snd_small_effect_mgr.h"
|
||||
@@ -857,7 +858,8 @@ bool dLytMapIcon01_c::execute() {
|
||||
}
|
||||
}
|
||||
|
||||
if (dLytMapGlobal_c::GetInstance()->getField_0x4D() && dLytMapGlobal_c::GetInstance()->getField_0x50() != 10) {
|
||||
if (dLytMapGlobal_c::GetInstance()->getField_0x4D() &&
|
||||
dLytMapGlobal_c::GetInstance()->getMapEvent() != dLytMapMain_c::MAP_EVENT_SAVE_OBJ) {
|
||||
checkBoundingPointing();
|
||||
}
|
||||
|
||||
@@ -1587,7 +1589,7 @@ void dLytMapIcon01_c::setupLinkDrawCommand() {
|
||||
if (dAcPy_c::GetLinkM() != nullptr) {
|
||||
setupLinkDrawCommand1(dAcPy_c::GetLinkM());
|
||||
|
||||
if (dLytMapGlobal_c::GetInstance()->getField_0x50() != 3) {
|
||||
if (dLytMapGlobal_c::GetInstance()->getMapEvent() != dLytMapMain_c::MAP_EVENT_MAP_INTRO) {
|
||||
setupLinkDrawCommand2();
|
||||
}
|
||||
}
|
||||
@@ -1862,7 +1864,7 @@ void dLytMapMarkers_c::drawPopups() {
|
||||
mVec2_c textPos = mPopups[i].textPos;
|
||||
mVec2_c pos = boundingPos + textPos + field_0x06F4;
|
||||
pos.x += width / 2.0f;
|
||||
|
||||
|
||||
mMapPopup.setPosition(pos);
|
||||
|
||||
mMapPopup.setInout(mPopups[i].inAnimFrame);
|
||||
|
||||
@@ -996,7 +996,7 @@ bool dLytMeterMain_c::remove() {
|
||||
void dLytMeterMain_c::fn_800D5290() {
|
||||
dLytMeter_c *meter = dLytMeter_c::GetInstance();
|
||||
|
||||
if (dLytMap_c::GetInstance() != nullptr && !dLytMap_c::GetInstance()->isSomeMapFieldEq2Or4Or5Or6()) {
|
||||
if (dLytMap_c::GetInstance() != nullptr && !dLytMap_c::GetInstance()->isMapEventEq2Or4Or5Or6()) {
|
||||
meter->setFlags(METER_BTN_PLUS);
|
||||
}
|
||||
|
||||
@@ -1008,7 +1008,7 @@ void dLytMeterMain_c::fn_800D5290() {
|
||||
}
|
||||
|
||||
bool dLytMeterMain_c::fn_800D5350() {
|
||||
if (mBasicPosition == POSITION_MAP && dMessage_c::getInstance()->getField_0x328()) {
|
||||
if (mBasicPosition == POSITION_MAP && dMessage_c::getInstance()->getInMapEvent()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -1093,7 +1093,7 @@ bool dLytMeterMain_c::fn_800D56B0() {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (dLytMap_c::GetInstance() != nullptr && !dLytMap_c::GetInstance()->getFn_80139EA0()) {
|
||||
if (dLytMap_c::GetInstance() != nullptr && !dLytMap_c::GetInstance()->isVisibleNoIntro()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -551,7 +551,7 @@ void dLytMsgWindow_c::finalizeState_WaitKeySelectQuestion() {}
|
||||
|
||||
void dLytMsgWindow_c::initializeState_MapOpen() {}
|
||||
void dLytMsgWindow_c::executeState_MapOpen() {
|
||||
if ((dLytMap_c::GetInstance() != nullptr && dLytMap_c::GetInstance()->isOpenMaybe()) ||
|
||||
if ((dLytMap_c::GetInstance() != nullptr && dLytMap_c::GetInstance()->isOpen()) ||
|
||||
!dLytControlGame_c::getInstance()->isInSomeMapState()) {
|
||||
dMessage_c::getInstance()->setField_0x329(0);
|
||||
mStateMgr.changeState(StateID_Invisible);
|
||||
|
||||
Reference in New Issue
Block a user