mirror of
https://github.com/zeldaret/botw
synced 2026-10-13 14:51:30 -04:00
Add PauseMenuDataMgr::grabbedItemStuff() (#88)
This commit is contained in:
@@ -7,9 +7,11 @@
|
||||
#include "Game/Actor/actWeapon.h"
|
||||
#include "Game/DLC/aocManager.h"
|
||||
#include "Game/UI/uiUtils.h"
|
||||
#include "Game/gameItemUtils.h"
|
||||
#include "Game/gameScene.h"
|
||||
#include "KingSystem/ActorSystem/Profiles/actPlayerBase.h"
|
||||
#include "KingSystem/ActorSystem/actActorConstDataAccess.h"
|
||||
#include "KingSystem/ActorSystem/actActorHeapUtil.h"
|
||||
#include "KingSystem/ActorSystem/actActorUtil.h"
|
||||
#include "KingSystem/ActorSystem/actBaseProcLink.h"
|
||||
#include "KingSystem/ActorSystem/actInfoCommon.h"
|
||||
@@ -2782,4 +2784,38 @@ bool PauseMenuDataMgr::useItemFromRecipeAndSave(void* unk, int multiplier, Pouch
|
||||
return true;
|
||||
}
|
||||
|
||||
void PauseMenuDataMgr::grabbedItemStuff(PouchItem* item) {
|
||||
auto lock = sead::makeScopedLock(mCritSection);
|
||||
|
||||
for (auto& cur : mItemLists.list1) {
|
||||
if (&cur == item && item->mType == PouchItemType::Material) {
|
||||
if (item->mValue > 1) {
|
||||
item->mValue -= 1;
|
||||
} else {
|
||||
item->mEquipped = false;
|
||||
item->mValue = 0;
|
||||
}
|
||||
|
||||
for (auto& info : mGrabbedItems) {
|
||||
if (info.item) {
|
||||
if (info.item == item) {
|
||||
info._9 = true;
|
||||
}
|
||||
} else {
|
||||
info.item = item;
|
||||
info._8 = true;
|
||||
info._9 = false;
|
||||
spawnDroppedInventoryItem(
|
||||
item->getName().cstr(),
|
||||
ksys::act::ActorHeapUtil::instance()->getBaseProcHeap(), -1,
|
||||
SleepAfterInit::No, nullptr, SpawnViaCarryBox::Yes, 0.8, -0.8);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
updateInventoryInfo(mItemLists.list1);
|
||||
saveToGameData(mItemLists.list1);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace uking::ui
|
||||
|
||||
Reference in New Issue
Block a user