Commit Graph

55 Commits

Author SHA1 Message Date
Léo Lam d8da4fc5f2 Actor: PlayerInfo/PlayerBase are game, GameConfig ksys
Every decomp user of PlayerInfo is game code, and PlayerBase sits right
above Player. GameConfig.h models the engine base that
links at GameConfig's slot in KingSystem/System.

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-06 03:19:38 +02:00
Léo Lam ec2ec9ad6d Damage: move Game/Damage under Game/Actor
Link order: the damage code is interleaved with actor TUs inside the
Game/Actor block, not in a block of its own.

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-04 06:50:35 +02:00
Léo Lam a0245d4696 Move aiCameraEvent, AirOctaDataMgr, scenes, CameraMgr
Put each where link order does: aiCameraEvent in the camera AI run,
AirOctaDataMgr right before aiAirOctaFlyUp, CameraMgr between the
ActorSystem and Chemical runs.

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
2026-10-04 06:50:35 +02:00
Pistonight 824436aa11 fix pmdm comment about cook data 2025-09-13 14:46:49 -07:00
Pistonight cfdc70d6a0 fix clang-tidy warnings in PMDM 2025-07-10 15:50:58 -07:00
Pistonight 3d92031404 CreatePlayerEquipActorMgr 2025-06-19 12:18:30 -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
oxixes a7c8d40275 Implement FadeProgress class (#110) 2023-01-08 00:49:25 +01:00
notyourav 2f62d26424 Decompile some Action classes (#104)
* various action classes

* rename instanceset fns

* rename isFork -> isChangeable
2022-10-18 08:27:57 +02: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
theo3 60dd80779a match some ai::Query 2021-07-01 21:05:10 -07:00
Léo Lam c95a79bbc1 Rename aoc2 to HardModeManager
It seems to have been called HardModeManager according to a leftover
context name for loading Aoc/0010/Ecosystem/HardMode.byml
(which also doesn't exist anymore).
2021-04-20 12:08:07 +02:00
Léo Lam 39856b1a7d uking/ui: Implement getWeaponStats 2021-01-22 19:55:52 +01: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 29817a3e21 uking/act: Add most of the weapon modifier utils 2021-01-10 02:14:31 +01:00
Léo Lam 3ce19016ec uking/ui: Add more inventory functions 2021-01-09 13:40:43 +01:00