mirror of
https://github.com/zeldaret/ss
synced 2026-10-27 04:22:39 -04:00
updates
This commit is contained in:
@@ -57,7 +57,7 @@ updateSpotTilesFromPuzzle__13dAcOCtrlPnl_cFv = .text:0x00002290; // type:functio
|
||||
isFirstTime__13dAcOCtrlPnl_cFv = .text:0x000022E0; // type:function size:0x90
|
||||
changedPuzzle__13dAcOCtrlPnl_cFv = .text:0x00002370; // type:function size:0x6C
|
||||
getScreenCenter__13dAcOCtrlPnl_cFR7mVec3_c = .text:0x000023E0; // type:function size:0x98
|
||||
handleLinkObjProp0x200__13dAcOCtrlPnl_cFb = .text:0x00002480; // type:function size:0x38
|
||||
setLinkVisibility__13dAcOCtrlPnl_cFb = .text:0x00002480; // type:function size:0x38
|
||||
timingB__Q213dAcOCtrlPnl_c10callback_cFUlPQ34nw4r3g3d13WorldMtxManipQ34nw4r3g3d6ResMdl = .text:0x000024C0; // type:function size:0x1EC
|
||||
updateTileColors__13dAcOCtrlPnl_cFv = .text:0x000026B0; // type:function size:0x34C
|
||||
__dt__13dAcOCtrlPnl_cFv = .text:0x00002A00; // type:function size:0x144
|
||||
|
||||
@@ -75,7 +75,7 @@ public:
|
||||
void updateTilePositions();
|
||||
void updateSpotTilesFromPuzzle();
|
||||
void getScreenCenter(mVec3_c &);
|
||||
void handleLinkObjProp0x200(bool);
|
||||
void setLinkVisibility(bool);
|
||||
void updateTileColors();
|
||||
void afterControlPanel();
|
||||
void afterControlPanelFirst();
|
||||
@@ -112,7 +112,6 @@ private:
|
||||
/* 0x664 */ s32 mCurrentlyHoveredTile;
|
||||
/* 0x668 */ s32 mCurrentlyHoveredSpot;
|
||||
/** The spots where tiles can be, in the following order:
|
||||
* TODO check
|
||||
* 0 | 1 | 2
|
||||
* ---+---+---
|
||||
* 3 | 4 | 5
|
||||
|
||||
@@ -249,7 +249,7 @@ void dAcOCtrlPnl_c::doInteraction(s32) {
|
||||
}
|
||||
|
||||
void dAcOCtrlPnl_c::enterMove() {
|
||||
handleLinkObjProp0x200(false);
|
||||
setLinkVisibility(false);
|
||||
mCurrentlyHoveredSpot = 0xFF;
|
||||
mCurrentlyHoveredTile = -1;
|
||||
mHasMovedATile = false;
|
||||
@@ -258,7 +258,7 @@ void dAcOCtrlPnl_c::enterMove() {
|
||||
sIsInSkykeepPuzzle = true;
|
||||
}
|
||||
void dAcOCtrlPnl_c::finishMove() {
|
||||
handleLinkObjProp0x200(true);
|
||||
setLinkVisibility(true);
|
||||
bool changed = changedPuzzle();
|
||||
sIsInSkykeepPuzzle = false;
|
||||
savePuzzleState();
|
||||
@@ -378,7 +378,7 @@ void dAcOCtrlPnl_c::handleEvent() {
|
||||
case 'ctrl':
|
||||
handleControl();
|
||||
if (mLeavePuzzle) {
|
||||
handleLinkObjProp0x200(true);
|
||||
setLinkVisibility(true);
|
||||
mCurrentlyHoveredSpot = 0xFF;
|
||||
mCurrentlyHoveredTile = -1;
|
||||
dSndSmallEffectMgr_c::GetInstance()->playSound(SE_S_CtrlPnl_DECIDE);
|
||||
@@ -742,11 +742,9 @@ void dAcOCtrlPnl_c::updateSpotTilesFromPuzzle() {
|
||||
}
|
||||
}
|
||||
|
||||
// non matching
|
||||
bool dAcOCtrlPnl_c::isFirstTime() {
|
||||
u8 flag = getFromParams(0x10, 0xFF);
|
||||
// non matching: first comparison is weird
|
||||
return flag >= 0xFF || (flag < 0xFF && !SceneflagManager::sInstance->checkBoolFlag(mRoomID, flag));
|
||||
return !(flag < 0xFF) || (flag < 0xFF && !SceneflagManager::sInstance->checkBoolFlag(mRoomID, flag));
|
||||
}
|
||||
|
||||
bool dAcOCtrlPnl_c::changedPuzzle() {
|
||||
@@ -765,11 +763,11 @@ void dAcOCtrlPnl_c::getScreenCenter(mVec3_c &outVec) {
|
||||
d3d::worldToScreen(outVec, local);
|
||||
}
|
||||
|
||||
void dAcOCtrlPnl_c::handleLinkObjProp0x200(bool shouldUnset) {
|
||||
void dAcOCtrlPnl_c::setLinkVisibility(bool isVisible) {
|
||||
if (dAcPy_c::GetLinkM() == nullptr) {
|
||||
return;
|
||||
}
|
||||
if (shouldUnset) {
|
||||
if (isVisible) {
|
||||
dAcPy_c::GetLinkM()->unsetObjectProperty(OBJ_PROP_0x200);
|
||||
} else {
|
||||
dAcPy_c::GetLinkM()->setObjectProperty(OBJ_PROP_0x200);
|
||||
|
||||
Reference in New Issue
Block a user