Commit Graph

44 Commits

Author SHA1 Message Date
Pistonight 1f50e8fd9c CreatePlayerEquipActorMgr 2025-05-17 12:23:00 -07:00
Pistonight 316dc2d1a2 matched (thanks to TheGreatB3 :) 2025-05-04 16:45:33 -07:00
Pistonight cd19e8cd96 PauseMenuDataMgr createPlayerEquipment 2025-05-02 20:47:19 -07:00
Pistonight 56ef34dc6b match PMDM autoEquip and unequipAll 2025-05-02 20:26:00 -07:00
Pistonight 64122c55bf Rename PouchItem::CookData::getStaminaRecoverValue -> getEffectDurationFrames 2024-12-25 23:12:14 -08:00
Pistonight dd506b160e rename CookData and WeaponData fields 2024-03-09 00:45:00 -08:00
Kinak338 fe9558b931
PauseMenuDataMgr: use better variable names (#123) 2023-09-03 15:45:37 +01:00
Briggs Baltzell 2340dc7bc0
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
2023-01-27 18:30:24 +01:00
Léo Lam b3b97a93aa
UI/PauseMenuDataMgr: Use getItems() instead of mItemLists.list1 2022-02-27 23:34:55 +01:00
Léo Lam 63bf3d2fa4
Match PauseMenuDataMgr::removeGrabbedItem 2022-02-27 23:32:51 +01:00
Léo Lam a1fd80bd1c
Rename PauseMenuDataMgr addGrabbedItem to removeGrabbedItem
The previous name was completely wrong, whoops.
2022-02-27 22:50:55 +01:00
Léo Lam df36d65665
Revert "Add #ifdef declarations for NON_MATCHING code"
This reverts commit 42807160cf.

It makes searching for NON_MATCHING comment descriptions much less
convenient in most text editors or IDEs, and we want the function
CSV to be the single source of truth for function statuses. Having
a function marked as matching but not built because of a stray #ifdef
would be bad.
2022-02-27 12:50:52 +01:00
savage13 a564186002
Add PauseMenuDataMgr::grabbedItemStuff() (#88) 2022-02-26 22:42:09 +01:00
savage13 17750b5225
Add PauseMenuDataMgr::x_28 (#87) 2022-02-26 16:29:50 +01:00
savage13 9d35c385f9
Match two small functions in PauseMenuDataMgr (#86) 2022-02-26 15:01:44 +01:00
AlexApps99 42807160cf
Add #ifdef declarations for NON_MATCHING code 2021-07-26 23:05:19 +12:00
Léo Lam bb3f05e209
uking/ui: Implement weapon and bow sorting in inventory 2021-01-22 12:35:54 +01:00
Léo Lam d9f7561588
uking/ui: Implement food sorting in inventory 2021-01-22 12:35:53 +01:00
Léo Lam 48276bb4e7
uking/ui: Implement material sorting for inventory 2021-01-22 00:14:41 +01:00
Léo Lam 7814fd527b
uking/ui: Implement shield sorting for inventory 2021-01-22 00:14:40 +01:00
Léo Lam 3e31611d2a
uking/ui: Clean up PauseMenuDataMgr::getItemByIndex
Deduplicate the nullptr checks.
2021-01-21 18:17:37 +01:00
Léo Lam 620eb2b39e
uking/ui: Add even more inventory functions 2021-01-21 18:12:04 +01:00
Léo Lam 57d3a082c2
uking/ui: Add more PauseMenuDataMgr functions 2021-01-21 01:03:57 +01:00
Léo Lam 30bbc0c54a
uking/ui: Add even more inventory functions 2021-01-20 01:36:14 +01:00
Léo Lam 0ac3ba93ad
uking/ui: Add more inventory functions 2021-01-19 19:01:27 +01:00
Léo Lam fe3a437a26
uking/ui: Rename mItem_44488 to mLastAddedItem
That's what it is
2021-01-19 19:01:26 +01:00
Léo Lam a0f67e2f7d
uking/ui: Implement PauseMenuDataMgr::addToPouch 2021-01-18 02:08:34 +01:00
Léo Lam 36fa2b36c2
uking/ui: Remove setValue() for consistency 2021-01-17 23:46:31 +01:00
Léo Lam 268f7f2d8a
uking/ui: Add inventory loading function 2021-01-17 19:46:43 +01:00
Léo Lam a338f4f6f0
uking/ui: Fix some clang-tidy warnings 2021-01-17 16:08:30 +01:00
Léo Lam eeeab7ab93
uking/ui: Add inventory saving function 2021-01-17 14:34:52 +01:00
Léo Lam 4a6f3f9786
uking/ui: Implement "item get" PauseMenuDataMgr function 2021-01-16 21:18:24 +01:00
Léo Lam ee713ab899
uking/ui: Add "can get item" inventory functions 2021-01-11 19:00:31 +01:00
Léo Lam c28e7ace3d
uking/ui: Implement PauseMenuDataMgr::countItems 2021-01-11 15:51:22 +01:00
Léo Lam 4c171605ff
uking/ui: Fix PouchConstants struct 2021-01-11 15:51:22 +01:00
Léo Lam d943be4ea1
uking/ui: Add named constants for inventory item limits
Cleaner
2021-01-11 15:45:06 +01:00
Léo Lam 2ae06d6b39
uking/ui: Fix another minor accuracy issue (add inline function)
Both versions match perfectly, but there is a wrapper function for
getSameGroupActorName in the Wii U version.
2021-01-10 22:58:38 +01:00
Léo Lam dd653e871f
uking/ui: Fix minor accuracy issue (don't use memcpy)
Still matches, but the original code didn't use memcpy (according to
the Wii U version)
2021-01-10 22:58:11 +01:00
Léo Lam 3ce19016ec
uking/ui: Add more inventory functions 2021-01-09 13:40:43 +01:00
Léo Lam 5912b65eff
uking/ui: Add Master Sword related inventory functions 2021-01-08 12:55:01 +01:00
Léo Lam e3791db95e
Remove incomplete match 2021-01-08 12:47:44 +01:00
Léo Lam f90e96360e
uking/ui: Add some more PauseMenuDataMgr functions 2021-01-08 11:51:49 +01:00
Léo Lam 8a18657290
Add missing trailing newlines 2021-01-07 22:15:11 +01:00
Léo Lam ebc09f924a
uking/ui: Start adding PauseMenuDataMgr 2021-01-07 22:11:41 +01:00