mirror of
https://github.com/zeldaret/ss
synced 2026-07-05 13:03:35 -04:00
d_message OK (via dFlow_c)
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/col/c/c_cc_d.h"
|
||||
#include "d/col/cc/d_cc_s.h"
|
||||
#include "d/d_pouch.h"
|
||||
#include "d/flag/sceneflag_manager.h"
|
||||
#include "m/m_angle.h"
|
||||
#include "toBeSorted/small_sound_mgr.h"
|
||||
@@ -37,7 +38,6 @@ bool dTgReaction_c::createHeap() {
|
||||
}
|
||||
|
||||
extern "C" bool isHeroMode();
|
||||
extern "C" u32 adventurePouchCountItem(u32 itemId);
|
||||
|
||||
int dTgReaction_c::create() {
|
||||
// Note the double _c here
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "d/col/c/c_bg_s_poly_info.h"
|
||||
#include "d/col/cc/d_cc_d.h"
|
||||
#include "d/col/cc/d_cc_s.h"
|
||||
#include "d/d_pouch.h"
|
||||
#include "d/d_room.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "d/flag/sceneflag_manager.h"
|
||||
@@ -1935,8 +1936,6 @@ void dAcTbox_c::finalizeState_LoadArchive() {}
|
||||
extern "C" void fn_800298B0(u16 effectIndex, mVec3_c *, mAng3_c *, mVec3_c *, void *, void *, void *, void *);
|
||||
extern "C" const u16 PARTICLE_RESOURCE_ID_MAPPING_209_;
|
||||
extern "C" const bool isPouchItem(u16);
|
||||
extern "C" u8 adventurePouchFindItemSlot(ITEM_ID item);
|
||||
extern "C" u16 findItemInItemCheck(ITEM_ID item);
|
||||
extern "C" dAcItem_c *giveItem3(u16 item, s32);
|
||||
|
||||
void dAcTbox_c::initializeState_Open() {
|
||||
@@ -1962,7 +1961,8 @@ void dAcTbox_c::initializeState_Open() {
|
||||
}
|
||||
fn_8026D140();
|
||||
ITEM_ID itemId = mItemId != 0 ? (ITEM_ID)mItemId : ITEM_GODDESS_HARP;
|
||||
if (isPouchItem(itemId) && adventurePouchFindItemSlot(ITEM_NONE) == 8 && findItemInItemCheck(ITEM_NONE) == 0x3C) {
|
||||
if (isPouchItem(itemId) && adventurePouchFindItemSlot(ITEM_NONE) == POUCH_SLOT_NONE &&
|
||||
itemCheckFindItemSlot(ITEM_NONE) == ITEM_CHECK_SLOT_NONE) {
|
||||
setShouldCloseFlag();
|
||||
}
|
||||
dAcItem_c *item = giveItem3(itemId, -1);
|
||||
|
||||
+1256
-7
File diff suppressed because it is too large
Load Diff
+5
-6
@@ -16,6 +16,7 @@
|
||||
#include "toBeSorted/file_manager.h"
|
||||
#include "toBeSorted/minigame_mgr.h"
|
||||
#include "toBeSorted/music_mgrs.h"
|
||||
#include "toBeSorted/unk_save_time.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
@@ -232,7 +233,7 @@ void dScGame_c::clearSpawnInfo() {
|
||||
}
|
||||
|
||||
extern "C" void processEventFlags();
|
||||
void dScGame_c::triggerExit(s32 room, u8 exitIndex, s32 forcedNight, s32 forcedTrial) {
|
||||
void dScGame_c::triggerExit(s32 room, u16 exitIndex, s32 forcedNight, s32 forcedTrial) {
|
||||
processEventFlags();
|
||||
// TODO
|
||||
}
|
||||
@@ -261,8 +262,6 @@ bool dScGame_c::isCurrentStage(const char *stage) {
|
||||
}
|
||||
|
||||
extern "C" void fn_801BB9C0();
|
||||
extern "C" void *lbl_80575688;
|
||||
extern "C" void fn_801909A0(void *);
|
||||
extern "C" void maybeResetSkykeepPuzzle(bool);
|
||||
|
||||
void dScGame_c::copySpawnNextToCurrent() {
|
||||
@@ -271,7 +270,7 @@ void dScGame_c::copySpawnNextToCurrent() {
|
||||
sDoSomethingWithFileAOnTransition = false;
|
||||
}
|
||||
if (std::strncmp(currentSpawnInfo.stageName, nextSpawnInfo.stageName, 2)) {
|
||||
fn_801909A0(lbl_80575688);
|
||||
SaveTimeRelated::GetInstance()->fn_801909A0();
|
||||
}
|
||||
currentSpawnInfo = nextSpawnInfo;
|
||||
sCurrentLayer = currentSpawnInfo.layer;
|
||||
@@ -283,13 +282,13 @@ void dScGame_c::actuallyTriggerEntrance(
|
||||
u16 transitionFadeFrames, s8 field0x28
|
||||
) {
|
||||
s32 trial, night;
|
||||
if (forcedTrial == 2) {
|
||||
if (forcedTrial == SpawnInfo::RETAIN_TRIAL) {
|
||||
trial = currentSpawnInfo.trial;
|
||||
} else {
|
||||
trial = forcedTrial;
|
||||
}
|
||||
|
||||
if (forcedNight == 2) {
|
||||
if (forcedNight == SpawnInfo::RETAIN_TOD) {
|
||||
night = currentSpawnInfo.night;
|
||||
} else {
|
||||
night = forcedNight;
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "toBeSorted/file_manager.h"
|
||||
#include "toBeSorted/music_mgrs.h"
|
||||
#include "toBeSorted/reload_color_fader.h"
|
||||
#include "toBeSorted/unk_save_time.h"
|
||||
|
||||
SPECIAL_BASE_PROFILE(TITLE, dScTitle_c, fProfile::TITLE, 0, 0);
|
||||
|
||||
@@ -39,14 +40,14 @@ static const char *sLayoutArcsToLoad[] = {
|
||||
STATE_VIRTUAL_DEFINE(dScTitle_c, Stanby);
|
||||
STATE_VIRTUAL_DEFINE(dScTitle_c, Action);
|
||||
|
||||
extern "C" void *lbl_80575688;
|
||||
extern "C" void fn_801907F0(void *);
|
||||
extern "C" void *lbl_805750D8;
|
||||
extern "C" void fn_80052D50(void *);
|
||||
|
||||
dScTitle_c::dScTitle_c() {
|
||||
sInstance = this;
|
||||
mRelCtrl.set(sModulesToLoad, ARRAY_LENGTH(sModulesToLoad));
|
||||
mLayoutCtrl.set(sLayoutArcsToLoad, ARRAY_LENGTH(sLayoutArcsToLoad));
|
||||
fn_801907F0(lbl_80575688);
|
||||
SaveTimeRelated::GetInstance()->fn_801907F0();
|
||||
if (checkAllSaveFilesEmpty() == true) {
|
||||
actuallyTriggerEntrance("F000", 0, 26, 55, 0, 0, 0, 15, -1);
|
||||
} else {
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#include "d/lyt/d_lyt_demo_dowsing.h"
|
||||
|
||||
#include "f/f_profile.h"
|
||||
#include "s/s_State.hpp"
|
||||
|
||||
SPECIAL_BASE_PROFILE(LYT_DEMO_DOWSING, dLytDemoDowsing_c, fProfile::LYT_DEMO_DOWSING, 0x2AA, 0x6F9);
|
||||
|
||||
STATE_DEFINE(dLytDemoDowsing_c, Wait);
|
||||
STATE_DEFINE(dLytDemoDowsing_c, Start);
|
||||
@@ -1564,8 +1564,8 @@ bool dLytMeterMain_c::execute() {
|
||||
|
||||
if (dMessage_c::getInstance()->getField_0x2FC() != 0) {
|
||||
rupeePos = 3;
|
||||
if (dLytMsgWindow_c::getInstance() != nullptr && (dLytMsgWindow_c::getInstance()->fn_800D7B40() == 0x9E02 ||
|
||||
dLytMsgWindow_c::getInstance()->fn_800D7B40() == 0x768C)) {
|
||||
if (dLytMsgWindow_c::getInstance() != nullptr && (dLytMsgWindow_c::getInstance()->fn_800D7B40() == 40450 ||
|
||||
dLytMsgWindow_c::getInstance()->fn_800D7B40() == 30348)) {
|
||||
s32 off = -(mHeart.getCurrentHealthCapacity() / 4 <= 10);
|
||||
rupeePos = 6 + off;
|
||||
}
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
#include "d/lyt/meter/d_lyt_meter_rupy.h"
|
||||
|
||||
#include "c/c_math.h"
|
||||
#include "d/a/d_a_item.h"
|
||||
#include "d/lyt/d2d.h"
|
||||
#include "d/lyt/d_lyt_meter_configuration.h"
|
||||
#include "nw4r/math/math_types.h"
|
||||
#include "toBeSorted/small_sound_mgr.h"
|
||||
|
||||
extern "C" s32 getRupeeCounter2();
|
||||
extern "C" u32 getCurrentWalletCapacity2();
|
||||
|
||||
STATE_DEFINE(dLytMeterRupyStart_c, Wait);
|
||||
STATE_DEFINE(dLytMeterRupyStart_c, Start);
|
||||
|
||||
@@ -239,7 +237,7 @@ void dLytMeterRupy_c::executeState_Out() {
|
||||
field_0x8AB = 0;
|
||||
|
||||
if (field_0x8AE == 0 && hasChangeInRupees()) {
|
||||
mDisplayedRupeeCount = getRupeeCounter2();
|
||||
mDisplayedRupeeCount = dAcItem_c::getRupeeCounter();
|
||||
updateDisplayedAmount(true);
|
||||
}
|
||||
|
||||
@@ -290,7 +288,7 @@ bool dLytMeterRupy_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mAnm[RUPY_ANIM_IN].setAnimEnable(false);
|
||||
|
||||
field_0x8AB = 0;
|
||||
mDisplayedRupeeCount = getRupeeCounter2();
|
||||
mDisplayedRupeeCount = dAcItem_c::getRupeeCounter();
|
||||
field_0x890 = -1;
|
||||
mBlinkDelay = cM::rndF(10.0f);
|
||||
for (int i = 0; i < RUPY_NUM_DIGITS; i++) {
|
||||
@@ -362,7 +360,7 @@ bool dLytMeterRupy_c::execute() {
|
||||
|
||||
bool isMax = false;
|
||||
u32 current = mDisplayedRupeeCount;
|
||||
u32 capacity = getCurrentWalletCapacity2();
|
||||
u32 capacity = dAcItem_c::getCurrentWalletCapacity();
|
||||
if (current != 0 && capacity == current) {
|
||||
isMax = true;
|
||||
};
|
||||
@@ -375,7 +373,7 @@ bool dLytMeterRupy_c::execute() {
|
||||
}
|
||||
|
||||
bool dLytMeterRupy_c::hasChangeInRupees() const {
|
||||
s32 amount = getRupeeCounter2();
|
||||
s32 amount = dAcItem_c::getRupeeCounter();
|
||||
if (amount > 9999) {
|
||||
amount = 9999;
|
||||
} else if (amount < 0) {
|
||||
@@ -385,7 +383,7 @@ bool dLytMeterRupy_c::hasChangeInRupees() const {
|
||||
}
|
||||
|
||||
s32 dLytMeterRupy_c::getRupeeDifference() const {
|
||||
return getRupeeCounter2() - mDisplayedRupeeCount;
|
||||
return dAcItem_c::getRupeeCounter() - mDisplayedRupeeCount;
|
||||
}
|
||||
|
||||
mVec3_c dLytMeterRupy_c::getLastVisibleDigitPosition() {
|
||||
@@ -407,7 +405,7 @@ void dLytMeterRupy_c::setDigit(s32 index, s32 digit) {
|
||||
}
|
||||
|
||||
bool dLytMeterRupy_c::updateDisplayedAmount(bool suppressSound) {
|
||||
s32 amount = getRupeeCounter2();
|
||||
s32 amount = dAcItem_c::getRupeeCounter();
|
||||
if (amount > 9999) {
|
||||
amount = 9999;
|
||||
} else if (amount < 0) {
|
||||
@@ -512,7 +510,7 @@ bool dLytMeterRupy_c::updateDisplayedAmount(bool suppressSound) {
|
||||
mPrevDigits[1] = mDisplayedDigits[1];
|
||||
mPrevDigits[2] = mDisplayedDigits[2];
|
||||
mPrevDigits[3] = mDisplayedDigits[3];
|
||||
} else if (field_0x8AD && amount == getCurrentWalletCapacity2()) {
|
||||
} else if (field_0x8AD && amount == dAcItem_c::getCurrentWalletCapacity()) {
|
||||
SmallSoundManager::GetInstance()->playSound(SE_S_RUPEE_MAX);
|
||||
field_0x890 = 0;
|
||||
field_0x8AD = 0;
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "toBeSorted/arc_managers/layout_arc_manager.h"
|
||||
#include "toBeSorted/d_d3d.h"
|
||||
#include "toBeSorted/event_manager.h"
|
||||
#include "toBeSorted/global_fi_context.h"
|
||||
#include "toBeSorted/fi_context.h"
|
||||
#include "toBeSorted/lyt_related_floats.h"
|
||||
#include "toBeSorted/music_mgrs.h"
|
||||
#include "toBeSorted/other_sound_stuff.h"
|
||||
@@ -89,8 +89,8 @@ bool dLytMsgWindow_c::build() {
|
||||
mpTagProcessor = new dTagProcessor_c();
|
||||
mpMsgWindowUnk = new TextWindowUnk(mpTagProcessor);
|
||||
|
||||
if (GLOBAL_FI_CONTEXT != nullptr) {
|
||||
fn_8016C9F0(GLOBAL_FI_CONTEXT);
|
||||
if (FiContext::GetInstance() != nullptr) {
|
||||
FiContext::GetInstance()->resetField_0x3C();
|
||||
}
|
||||
|
||||
mpWindowTalk = nullptr;
|
||||
@@ -514,8 +514,8 @@ void dLytMsgWindow_c::executeState_WaitKeySelectQuestion() {
|
||||
field_0x824 = 0;
|
||||
mTextOptionSelection = selection;
|
||||
field_0x1220 = 0;
|
||||
if (GLOBAL_FI_CONTEXT != nullptr) {
|
||||
doFiThing = GLOBAL_FI_CONTEXT->mDoSpecialFiMenuHandling;
|
||||
if (FiContext::GetInstance() != nullptr) {
|
||||
doFiThing = FiContext::GetInstance()->getDoSpecialFiMenuHandling();
|
||||
}
|
||||
|
||||
if (doFiThing) {
|
||||
@@ -714,10 +714,10 @@ bool dLytMsgWindow_c::draw() {
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytMsgWindow_c::setCurrentLabelName(const char *name, bool storeFile) {
|
||||
bool dLytMsgWindow_c::setCurrentLabelName(const char *name, bool storeFile) {
|
||||
// TODO
|
||||
mName = name;
|
||||
!std::strcmp(name, "FR_SIREN_04");
|
||||
return !std::strcmp(name, "FR_SIREN_04");
|
||||
}
|
||||
|
||||
bool dLytMsgWindow_c::isVisible() const {
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "d/a/d_a_item.h"
|
||||
#include "d/a/d_a_itembase.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/d_pouch.h"
|
||||
#include "m/m_angle.h"
|
||||
#include "m/m_vec.h"
|
||||
|
||||
@@ -444,8 +445,6 @@ bool SpecialItemDropMgr::shouldTryExtraRupees(int specialItemId) {
|
||||
return sDropTable.mList[specialItemId].mFlags & FLAG_EXTRA_RUPEES;
|
||||
}
|
||||
|
||||
extern "C" bool adventurePouchCountItem(u32 itemId);
|
||||
|
||||
// 800c7d40
|
||||
int SpecialItemDropMgr::giveSpecialDropItem(
|
||||
int specialItemId, int roomid, mVec3_c *pos, int subtype, mAng rot, s32 unused
|
||||
|
||||
Reference in New Issue
Block a user