diff options
| author | Briggs Baltzell <b3apollo13@gmail.com> | 2023-01-27 11:30:24 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-27 18:30:24 +0100 |
| commit | 2340dc7bc09a354ff6e487e723c667d873dd7073 (patch) | |
| tree | 98ad419392cf54bebb1ec3385e0c291f2635a9d0 /src/Game/UI/uiPauseMenuDataMgr.cpp | |
| parent | 969b1c3f33b4edb3ed4cf74af063c371280a8fe9 (diff) | |
Implement CookingMgr class (#113)
* Added CookingMgr fields and started on ctor
* Implemented CookItem::copy
* Implemented CookingMgr dtor
* Marked CookingMgr createInstance as matching
* Implemented CookingMgr::getCookItem
* Added CookingMgr::cook decl
* Added CookingMgr method decls
* Replaced part of CookingMgr with sead::FixedObjArray
* Added line separators in cookManager.h
* Defined structs Ingredient and BoostArg in CookingMgr
* Defined structs CookArg and CookIngredient
* Renamed some fields of CookingMgr
* Added struct CookingMgr::CookingEffectEntry
* Started implementing CookingMgr::init
* Set more entries in init
* Set field _548
* Set field default values in init
* Loaded string values from config
* Set mCookingEffectEntries in init
* Added conditional mConfig allocation
* Added FixedTreeMap class to sead
* Used FixedTreeMap in CookingMgr
* Set CookingMgr constructor to default and marked it as matching
* Removed field _31C from CookingMgr
* Updated sead
* Cleared _548 before filling
* Used name hash for _548 keys
* Fixed path setup
* Changed type of _548 to sead::FixedTreeMap<u32, u32, 13>
* Set mNMSSR to correct values
* Fixed field init order
* Rearranged variables
* Swapped entry_hash comparisons
* Changed CRC32 names and index values
* Cast i to u64
* Renamed static crc32 variables
* Renamed _548 to mCookingEffectNameIdMap
* Marked static vars as const and used decimal numbers
* Used sead::SafeArray for mNMMR and mNMSSR
* Rearranged mNMMR and mNMSSR conditions
* Removed size check from mNMMR and mNMSSR conditions
* Removed size check from CEI conditions
* Renamed mRes2 to mResHandle
* Renamed cook args
* Moved crc32 statics into Constants struct
* Marked CookingMgr::init as matching
* Renamed Constants to Crc32Constants
* Added cookFail and cookFailForMissingConfig
* Added NumIngredientsMax, NumEffects, and NumEffectSlots constants
* Renamed getCookItem to setCookItem
* Renamed x to getCookItem
* Implemented getCookItem
* Made setCookItem take a const ref
* Decompiled cookCalcItemPrice
* Marked cookCalcItemPrice as const
* Fixed both cookFail and cookFailForMissingConfig
* Added CookItem::reset
* Added CookingMgr::resetCookItem
* Moved ctor and dtor below static variables
* Changed cookFailForMissingConfig arg to sead::SafeString
* Started on cookCalcBoost
* Moved CookItem into cookManager.h
* Moved Cooking into Game
* Moved CookingMgr to uking namespace
* Inlined CookItem::reset
* Renamed CookItem members
* Fixed CookItem mangled names in uking_functions.csv
* Added enum class CookEffectId
* Moved CookingMgr ctor below disposer impl
* Updated sead
* Started on cookHandleBoostSuccessInner
* Made changes to cookCalcBoost and cookHandleBoostSuccessInner
* Extracted cookHandleBoostMonsterExtractInner
* Removed found_monster_extract in cookCalcBoost
* Marked cookCalcBoost as matching
* Got cookHandleBoostMonsterExtractInner matching
* Made changes to cookHandleBoostSuccessInner
* Renamed discriminator to bonus in cookHandleBoostSuccessInner
* Added CookingMgr::cookCalcSpiceBoost
* Made changes to CookingMgr::cookCalcSpiceBoost
* Added CookingMgr::cookCalcPotencyBoost
* Mostly matched CookingMgr::cookCalcPotencyBoost
* Added CookingMgr::getCookEffectId
* Used getCookEffectId in cookCalcPotencyBoost
* Set access modifiers in CookingMgr
* Made cookCalcPotencyBoost const-correct
* Marked global init as mismatching
* Renamed CookingMgr functions in uking_functions.csv
* Added CookingMgr::prepareCookArg
* Added IngredientArray type
* Added cookWithItems
* Added CookingMgr::prepareCookArg
* Fixed getCookEffectId
* Fixed cookCalcPotencyBoost
* Made changes to prepareCookArg
* Got cookWithItems matching
* Marked vars const
* Removed commented-out destructor and UnkItem
* Renamed CookIngredient._58 to count
* Started on CookingMgr::cook
* Extracted cookAdjustItem
* Fixed ingredient setup
* Extracted actor_info_data
* Fixed some control flow for single ingredients
* Fixed more control flow for single ingredients
* Handled no effect and empty actor name
* Renamed Ingredient::_10 to used_in_recipe
* Fixed recipe control flow
* Matched cookAdjustItem
* Fixed InfoData instance uses
* Removed BAD_RECIPE label
* Rearranged to remove goto
* Added cookCalcRecipeBoost
* Extracted getCookEffectId
* Extracted isCookFailure and isMedicine
* Extracted getCookEffectIdFromTreeMap
* Extracted findIngredientByName and findIngredientByTag
* Marked nonmatching functions
* Added resetArgCookData
* Matched resetArgCookData and prepareCookArg
* Added fields and handleMessage to CookPotRoot
* Started on CookPotRoot::init_
* Added hasMonsterExtract
* Added to CookPotRoot::handleMessage_
* Removed Ingredient::_4 field
* Renamed CookItem::_224 to is_crit
* Renamed CookingEffectEntry members
* Renamed CookingMgr fields
* Changed comparison in cook
* Renamed actor_tag_iter to hash_iter and added num checks
* Got cookCalcSpiceBoost closer to matching
* Removed int_val init from cookCalcSpiceBoost
* Inlined actor_data
* Added `using namespace ksys::act`
* Moved int_val outside loop
* Marked cookCalcSpiceBoost as matching
* Rearranged cookHandleBoostSuccessInner
* Renamed cookCalcPotencyBoost to cookCalcIngredientsBoost
* Renamed stamina_recover to vitality_boost
* Renamed CookItem args to cook_item
* Renamed cookFailForMissingConfig arg
* Used IngredientArray in findIngredient functions
* Renamed crit functions
* Renamed getCookEffectId arg
* Renamed getCookEffectId to getCookEffectIdByName
* Added SetCookItemInDemo::oneShot_
* Matched SetCookItemInDemo::oneShot_
* Added comment about CookArg constructor and formatted
* Removed TODO from CookingMgr
* Marked WIP functions as non-matching
* Fixed formatting
* Matched sead::SafeArray<uking::CookIngredient, 5>::SafeArray
* Added BoostArg default member initializers
* Used auto for cooking_mgr in CookPotRoot::handleMessage_
* Used designated initializers for boost_arg and added whitespace
* Used angle brackets for sead import
* Removed [[maybe_unused]] from declaration
* Used safeDelete
* Inverted condition in CookingMgr::cookCalcCritBoost
* Added getCookingEffectEntry getter and moved CookingEffectEntry up
* Cleaned up CookingMgr::cookCalcSpiceBoost
* Used loops to init ingredient num members
* Converted CookingMgr fields to s32
* Cleaned up CookingMgr::cookCalcItemPrice
* Renamed CookItem::item_price to sell_price
* Used min and max in CookingMgr::cookCalcItemPrice
* Inlined count vars in CookingMgr::cookCalcItemPrice
* Removed explicit casts in CookingMgr::cookCalcItemPrice
* Cleaned up and reformatted CookingMgr::cookCalcIngredientsBoost
* Added casts back into CookingMgr::cookCalcItemPrice to silence warnings
Diffstat (limited to 'src/Game/UI/uiPauseMenuDataMgr.cpp')
| -rw-r--r-- | src/Game/UI/uiPauseMenuDataMgr.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/Game/UI/uiPauseMenuDataMgr.cpp b/src/Game/UI/uiPauseMenuDataMgr.cpp index 40faa561..6416633b 100644 --- a/src/Game/UI/uiPauseMenuDataMgr.cpp +++ b/src/Game/UI/uiPauseMenuDataMgr.cpp @@ -5,6 +5,7 @@ #include <math/seadMathCalcCommon.h> #include <prim/seadScopedLock.h> #include "Game/Actor/actWeapon.h" +#include "Game/Cooking/cookManager.h" #include "Game/DLC/aocManager.h" #include "Game/UI/uiUtils.h" #include "Game/gameItemUtils.h" @@ -17,7 +18,6 @@ #include "KingSystem/ActorSystem/actInfoCommon.h" #include "KingSystem/ActorSystem/actInfoData.h" #include "KingSystem/ActorSystem/actPlayerInfo.h" -#include "KingSystem/Cooking/cookItem.h" #include "KingSystem/GameData/gdtCommonFlagsUtils.h" #include "KingSystem/GameData/gdtSpecialFlags.h" #include "KingSystem/System/PlayReportMgr.h" @@ -1017,30 +1017,30 @@ void PauseMenuDataMgr::saveToGameData(const sead::OffsetList<PouchItem>& list) c } } -void PauseMenuDataMgr::cookItemGet(const ksys::CookItem& cook_item) { +void PauseMenuDataMgr::cookItemGet(const uking::CookItem& cook_item) { const auto* info = ksys::act::InfoData::instance(); - if (!info->hasTag(cook_item.name.cstr(), ksys::act::tags::CookResult)) + if (!info->hasTag(cook_item.actor_name.cstr(), ksys::act::tags::CookResult)) return; const auto lock = sead::makeScopedLock(mCritSection); auto& lists = mItemLists; - ksys::PlayReportMgr::instance()->reportDebug("PouchGet", cook_item.name); - const auto type = getType(cook_item.name); - addToPouch(cook_item.name, type, lists, 1, false); + ksys::PlayReportMgr::instance()->reportDebug("PouchGet", cook_item.actor_name); + const auto type = getType(cook_item.actor_name); + addToPouch(cook_item.actor_name, type, lists, 1, false); setCookDataOnLastAddedItem(cook_item); saveToGameData(lists.list1); } -void PauseMenuDataMgr::setCookDataOnLastAddedItem(const ksys::CookItem& cook_item) { +void PauseMenuDataMgr::setCookDataOnLastAddedItem(const uking::CookItem& cook_item) { if (!mLastAddedItem) return; - mLastAddedItem->getCookData().setStaminaRecoverY(cook_item.stamina_recover_y); - mLastAddedItem->getCookData().setStaminaRecoverX(cook_item.stamina_recover_x); - mLastAddedItem->getCookData().setCookEffect1(cook_item.cook_effect_1); - const int y = cook_item.cook_effect_0_y; - const int x = cook_item.cook_effect_0_x; + mLastAddedItem->getCookData().setStaminaRecoverY(cook_item.effect_time); + mLastAddedItem->getCookData().setStaminaRecoverX(cook_item.life_recover); + mLastAddedItem->getCookData().setCookEffect1(cook_item.sell_price); + const int y = cook_item.vitality_boost; + const CookEffectId x = cook_item.effect_id; mLastAddedItem->getCookData().setCookEffect0({float(x), float(y)}); for (s32 i = 0; i < cook_item.ingredients.size(); ++i) mLastAddedItem->setIngredient(i, cook_item.ingredients[i]); |
