mirror of https://github.com/zeldaret/botw.git
A few corrections that Piston told me to do
This commit is contained in:
parent
b728be65cf
commit
c1551074d3
|
@ -13,7 +13,6 @@
|
||||||
#include "KingSystem/ActorSystem/actActorHeapUtil.h"
|
#include "KingSystem/ActorSystem/actActorHeapUtil.h"
|
||||||
#include "KingSystem/ActorSystem/actActorUtil.h"
|
#include "KingSystem/ActorSystem/actActorUtil.h"
|
||||||
#include "KingSystem/ActorSystem/actBaseProcLink.h"
|
#include "KingSystem/ActorSystem/actBaseProcLink.h"
|
||||||
#include "KingSystem/ActorSystem/actGlobalParameter.h"
|
|
||||||
#include "KingSystem/ActorSystem/actInfoCommon.h"
|
#include "KingSystem/ActorSystem/actInfoCommon.h"
|
||||||
#include "KingSystem/ActorSystem/actInfoData.h"
|
#include "KingSystem/ActorSystem/actInfoData.h"
|
||||||
#include "KingSystem/ActorSystem/actPlayerInfo.h"
|
#include "KingSystem/ActorSystem/actPlayerInfo.h"
|
||||||
|
@ -22,7 +21,6 @@
|
||||||
#include "KingSystem/GameData/gdtSpecialFlagNames.h"
|
#include "KingSystem/GameData/gdtSpecialFlagNames.h"
|
||||||
#include "KingSystem/GameData/gdtSpecialFlags.h"
|
#include "KingSystem/GameData/gdtSpecialFlags.h"
|
||||||
#include "KingSystem/GameData/gdtTriggerParam.h"
|
#include "KingSystem/GameData/gdtTriggerParam.h"
|
||||||
#include "KingSystem/Resource/GeneralParamList/resGParamListObjectGlobal.h"
|
|
||||||
#include "KingSystem/System/PlayReportMgr.h"
|
#include "KingSystem/System/PlayReportMgr.h"
|
||||||
#include "KingSystem/Utils/Byaml/Byaml.h"
|
#include "KingSystem/Utils/Byaml/Byaml.h"
|
||||||
#include "KingSystem/Utils/HeapUtil.h"
|
#include "KingSystem/Utils/HeapUtil.h"
|
||||||
|
@ -1252,8 +1250,8 @@ const sead::SafeString& PauseMenuDataMgr::autoEquip(PouchItem* item,
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case PouchItemType::Sword:
|
case PouchItemType::Sword:
|
||||||
case PouchItemType::Bow:
|
case PouchItemType::Bow:
|
||||||
case PouchItemType::Arrow:
|
|
||||||
case PouchItemType::Shield:
|
case PouchItemType::Shield:
|
||||||
|
case PouchItemType::Arrow:
|
||||||
for (auto& other : list) {
|
for (auto& other : list) {
|
||||||
if (other.getType() > PouchItemType::Shield)
|
if (other.getType() > PouchItemType::Shield)
|
||||||
break;
|
break;
|
||||||
|
@ -3107,7 +3105,6 @@ void PauseMenuDataMgr::useMaybe(int tab_index, int slot_index, int quantity) {
|
||||||
}
|
}
|
||||||
updateInventoryInfo(getItems());
|
updateInventoryInfo(getItems());
|
||||||
saveToGameData(getItems());
|
saveToGameData(getItems());
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PouchCategory PauseMenuDataMgr::getTabCategory(int tab_index) {
|
PouchCategory PauseMenuDataMgr::getTabCategory(int tab_index) {
|
||||||
|
@ -3139,15 +3136,14 @@ void PauseMenuDataMgr::sellItem(PouchItem* target_item, int quantity) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int PauseMenuDataMgr::getWeaponsForDpad(sead::SafeArray<PouchItem*, 20>* result_array,
|
int PauseMenuDataMgr::getWeaponsForDpad(sead::SafeArray<PouchItem*, NumItemsPerTabMax>* result_array,
|
||||||
PouchItemType target_type) {
|
PouchItemType target_type) const {
|
||||||
if (!result_array) {
|
if (!result_array) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 20; i++) {
|
for (int i = 0; i < NumItemsPerTabMax; i++) {
|
||||||
(*result_array)[i] = nullptr;
|
(*result_array)[i] = nullptr;
|
||||||
}
|
}
|
||||||
const auto lock = sead::makeScopedLock(mCritSection);
|
const auto lock = sead::makeScopedLock(mCritSection);
|
||||||
|
@ -3158,7 +3154,7 @@ int PauseMenuDataMgr::getWeaponsForDpad(sead::SafeArray<PouchItem*, 20>* result_
|
||||||
int i = 0;
|
int i = 0;
|
||||||
auto* item = list.nth(0);
|
auto* item = list.nth(0);
|
||||||
if (target_type != PouchItemType::Arrow) {
|
if (target_type != PouchItemType::Arrow) {
|
||||||
for (; item && item->isWeapon() && i < 20; item = list.next(item)) {
|
for (; item && item->isWeapon() && i < NumItemsPerTabMax; item = list.next(item)) {
|
||||||
if (item->getType() == target_type &&
|
if (item->getType() == target_type &&
|
||||||
!(isMasterSwordItem(*item) && item->getValue() <= 0)) {
|
!(isMasterSwordItem(*item) && item->getValue() <= 0)) {
|
||||||
(*result_array)[i] = item;
|
(*result_array)[i] = item;
|
||||||
|
@ -3166,7 +3162,7 @@ int PauseMenuDataMgr::getWeaponsForDpad(sead::SafeArray<PouchItem*, 20>* result_
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (; item && item->isWeapon() && i < 20; item = list.next(item)) {
|
for (; item && item->isWeapon() && i < NumItemsPerTabMax; item = list.next(item)) {
|
||||||
if (item->getType() == PouchItemType::Arrow) {
|
if (item->getType() == PouchItemType::Arrow) {
|
||||||
(*result_array)[i] = item;
|
(*result_array)[i] = item;
|
||||||
i++;
|
i++;
|
||||||
|
@ -3176,7 +3172,7 @@ int PauseMenuDataMgr::getWeaponsForDpad(sead::SafeArray<PouchItem*, 20>* result_
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
int PauseMenuDataMgr::getNumberOfItemsInTab(int tab_index) {
|
int PauseMenuDataMgr::getNumberOfItemsInTab(int tab_index) const {
|
||||||
PouchItem* first = mTabs[tab_index];
|
PouchItem* first = mTabs[tab_index];
|
||||||
auto& items = getItems();
|
auto& items = getItems();
|
||||||
if (!first)
|
if (!first)
|
||||||
|
@ -3201,7 +3197,7 @@ int PauseMenuDataMgr::getNumberOfItemsInTab(int tab_index) {
|
||||||
for (auto* item = first; item && item->getType() == type;) {
|
for (auto* item = first; item && item->getType() == type;) {
|
||||||
count++;
|
count++;
|
||||||
item = items.next(item);
|
item = items.next(item);
|
||||||
if (count >= SizeTabMax)
|
if (count >= NumItemsPerTabMax)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -3211,7 +3207,7 @@ int PauseMenuDataMgr::getNumberOfItemsInTab(int tab_index) {
|
||||||
for (auto* item = first; item && item->getType() <= type;) {
|
for (auto* item = first; item && item->getType() <= type;) {
|
||||||
count++;
|
count++;
|
||||||
item = items.next(item);
|
item = items.next(item);
|
||||||
if (count >= SizeTabMax)
|
if (count >= NumItemsPerTabMax)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -3222,7 +3218,7 @@ int PauseMenuDataMgr::getNumberOfItemsInTab(int tab_index) {
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
PouchItem* PauseMenuDataMgr::getPouchItemFromTabSlot(int tab_index, int slot_index) {
|
PouchItem* PauseMenuDataMgr::getPouchItemFromTabSlot(int tab_index, int slot_index) const {
|
||||||
if (tab_index >= NumTabMax) {
|
if (tab_index >= NumTabMax) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
@ -3237,13 +3233,13 @@ PouchItem* PauseMenuDataMgr::getPouchItemFromTabSlot(int tab_index, int slot_ind
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
const sead::SafeString* PauseMenuDataMgr::getNameFromTabSlot(int tab_index, int slot_index) {
|
const sead::SafeString* PauseMenuDataMgr::getNameFromTabSlot(int tab_index, int slot_index) const {
|
||||||
if (tab_index >= NumTabMax) {
|
if (tab_index >= NumTabMax) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
int count = getNumberOfItemsInTab(tab_index);
|
int count = getNumberOfItemsInTab(tab_index);
|
||||||
PouchItem* item = mTabs[tab_index];
|
PouchItem* item = mTabs[tab_index];
|
||||||
if (slot_index >= count || !item) {
|
if (slot_index >= count || !item) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
for (int i = 0; i < slot_index; i++) {
|
for (int i = 0; i < slot_index; i++) {
|
||||||
|
@ -3252,7 +3248,7 @@ const sead::SafeString* PauseMenuDataMgr::getNameFromTabSlot(int tab_index, int
|
||||||
return item ? &(item->getName()) : nullptr;
|
return item ? &(item->getName()) : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PauseMenuDataMgr::isInInventoryFromTabSlot(int tab_index, int slot_index) {
|
bool PauseMenuDataMgr::isInInventoryFromTabSlot(int tab_index, int slot_index) const {
|
||||||
if (tab_index >= NumTabMax) {
|
if (tab_index >= NumTabMax) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -3267,7 +3263,7 @@ bool PauseMenuDataMgr::isInInventoryFromTabSlot(int tab_index, int slot_index) {
|
||||||
return item ? item->isInInventory() : false;
|
return item ? item->isInInventory() : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PauseMenuDataMgr::isEquippedFromTabSlot(int tab_index, int slot_index) {
|
bool PauseMenuDataMgr::isEquippedFromTabSlot(int tab_index, int slot_index) const {
|
||||||
if (tab_index >= NumTabMax) {
|
if (tab_index >= NumTabMax) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
#include <heap/seadDisposer.h>
|
#include <heap/seadDisposer.h>
|
||||||
#include <math/seadVector.h>
|
#include <math/seadVector.h>
|
||||||
#include <prim/seadSafeString.h>
|
#include <prim/seadSafeString.h>
|
||||||
#include <prim/seadScopedLock.h>
|
|
||||||
#include <prim/seadTypedBitFlag.h>
|
#include <prim/seadTypedBitFlag.h>
|
||||||
#include <thread/seadCriticalSection.h>
|
#include <thread/seadCriticalSection.h>
|
||||||
#include "Game/Cooking/cookManager.h"
|
#include "Game/Cooking/cookManager.h"
|
||||||
|
@ -56,7 +55,7 @@ constexpr int ItemStackSizeMax = 999;
|
||||||
// Maximum number of tabs (pages with 20 items) you can have.
|
// Maximum number of tabs (pages with 20 items) you can have.
|
||||||
// Going beyond this limit will glitch the menu.
|
// Going beyond this limit will glitch the menu.
|
||||||
constexpr int NumTabMax = 50;
|
constexpr int NumTabMax = 50;
|
||||||
constexpr int SizeTabMax = 20;
|
constexpr int NumItemsPerTabMax = 20;
|
||||||
|
|
||||||
constexpr int NumGrabbableItems = 5;
|
constexpr int NumGrabbableItems = 5;
|
||||||
|
|
||||||
|
@ -397,11 +396,14 @@ public:
|
||||||
|
|
||||||
void grabbedItemStuff(PouchItem* item);
|
void grabbedItemStuff(PouchItem* item);
|
||||||
PouchCategory getTabCategory(int tab_index);
|
PouchCategory getTabCategory(int tab_index);
|
||||||
const sead::SafeString* getNameFromTabSlot(int tab_index, int slot_index);
|
const sead::SafeString* getNameFromTabSlot(int tab_index, int slot_index) const;
|
||||||
PouchItem* getPouchItemFromTabSlot(int tab_index, int slot_index);
|
PouchItem* getPouchItemFromTabSlot(int tab_index, int slot_index) const;
|
||||||
bool isInInventoryFromTabSlot(int tab_index, int slot_index);
|
bool isInInventoryFromTabSlot(int tab_index, int slot_index) const;
|
||||||
bool isEquippedFromTabSlot(int tab_index, int slot_index);
|
bool isEquippedFromTabSlot(int tab_index, int slot_index) const;
|
||||||
const sead::SafeString* equipFromTabSlot(int tab_index, int slot_index);
|
const sead::SafeString* equipFromTabSlot(int tab_index, int slot_index);
|
||||||
|
void useMaybe(int tab_index, int slot_index, int quantity);
|
||||||
|
void sellItem(PouchItem* target_item, int quantity);
|
||||||
|
int getWeaponsForDpad(sead::SafeArray<PouchItem*, NumItemsPerTabMax>* result_array, PouchItemType target_type) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// TODO: rename
|
// TODO: rename
|
||||||
|
@ -515,10 +517,7 @@ private:
|
||||||
/// @param num_cleared_beasts The number of divine beasts that have been done.
|
/// @param num_cleared_beasts The number of divine beasts that have been done.
|
||||||
void updateDivineBeastClearFlags(int num_cleared_beasts);
|
void updateDivineBeastClearFlags(int num_cleared_beasts);
|
||||||
|
|
||||||
void useMaybe(int tab_index, int slot_index, int quantity);
|
int getNumberOfItemsInTab(int tab_index) const;
|
||||||
void sellItem(PouchItem* target_item, int quantity);
|
|
||||||
int getWeaponsForDpad(sead::SafeArray<PouchItem*, 20>* result_array, PouchItemType target_type);
|
|
||||||
int getNumberOfItemsInTab(int tab_index);
|
|
||||||
|
|
||||||
mutable sead::CriticalSection mCritSection;
|
mutable sead::CriticalSection mCritSection;
|
||||||
Lists mItemLists;
|
Lists mItemLists;
|
||||||
|
|
Loading…
Reference in New Issue