Commit Graph

1575 Commits

Author SHA1 Message Date
Léo Lam 00568fbbab
build: allow specifying custom linker flags
This is useful for people who want to link using recent versions of
mold which are smart enough to e.g. optimise GOT loads; we need to
pass --no-relax to disable those optimisations in order to get matching
instructions.
2024-03-29 20:24:07 +00:00
bomba1749 f62a726266
most of AirOctaFlyUp is done, some of AirOctaDataMgr is done (#121) 2024-03-18 01:44:47 +00:00
Léo Lam 72a0a82932
Merge pull request #125 from Pistonight/pmdm_cook_data_name
Rename CookData and WeaponData fields
2024-03-09 19:43:04 +00: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 fd527f9216
Added VFR::getDeltaFrame (#122)
* Added getDeltaFrame and changed getDeltaTime

* Replaced getDeltaTime usages with getDeltaFrame

* Moved getDeltaTime above getDeltaFrame
2023-07-01 21:29:40 +01:00
Esras bdd6e57d63
resPlacement (#120) 2023-06-11 23:17:14 +01:00
notyourav dc4e48523b
mapRail.cpp ok (#118) 2023-05-27 00:39:40 +01:00
Martin Aguayo 78fd3c6e7a
Add uking::ai::ActorWaterDepthSelect functions (#117) 2023-05-14 15:01:16 +01:00
Léo Lam 9a6a5fffa4
Add sead::TreeMap functions that were missed in #113 2023-01-27 18:36:59 +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
Briggs Baltzell 969b1c3f33
Match ShootingStarMgr::initSchedule (#114) 2023-01-25 12:48:06 +01:00
Anonymous Fantasy 6198143b5f
Update NintendoSDK submodule and uking_functions.csv (#115) 2023-01-25 12:44:28 +01:00
Tonycons-dev 50469a43fc
Add uking::PlayReport (#112) 2023-01-22 18:17:04 +01:00
Léo Lam 19f115dcae
lib: Update sead 2023-01-22 01:31:19 +01:00
Léo Lam 22627a0949
Add all missing functions (and remove some incorrect names) 2023-01-22 00:53:43 +01:00
Léo Lam 67441f1bea
Update tools 2023-01-22 00:18:42 +01:00
Léo Lam 0b5737c041
data: Fix overlapping functions and incorrect status 2023-01-21 18:32:12 +01:00
Léo Lam 8d9d65f1e3
Merge pull request #111 from Nitr4m12/master
data: update function list
2023-01-13 02:23:35 +01:00
Nitr4m12 21e06caac2 data: Fix duplicate functions 2023-01-12 14:47:38 -03:00
Nitr4m12 07c4f37047 data: update function list
Added all xlink2 symbols I could find, as well as some aal and nn::vfx, as they're called from within the xlink2 library.
This also includes some data symbols used by xlink.
All names are from Splatoon2's symbols
2023-01-12 14:30:34 -03:00
oxixes a7c8d40275
Implement FadeProgress class (#110) 2023-01-08 00:49:25 +01:00
Léo Lam 050bbeab29
Update tools 2022-12-31 11:37:20 +01:00
Martin Aguayo d739de4dae
data: Update function list (#109)
Function names taken from Splatoon 2's debug symbols
2022-12-30 12:48:33 +01:00
Léo Lam dfa6df3629
lib: Update sead 2022-12-28 22:57:19 +01:00
Léo Lam 6723cd5a5c
Improve rebuild times by removing unnecessary includes in AI headers 2022-12-22 14:35:08 +01:00
Léo Lam 2616802996
ksys/act: Clean up RootAiFlag/RootAiFlag2 definitions and usage 2022-12-22 14:35:08 +01:00
Léo Lam 4df2370639
lib: Update sead 2022-12-22 14:35:08 +01:00
Léo Lam 25427f1b4c
ksys/phys: Add RagdollController (the real one, not RagdollInstance) 2022-12-21 12:25:49 +01:00
Léo Lam 3fc168ab99
Update tools 2022-12-21 01:25:26 +01:00
Léo Lam 27ef71eff7
ksys/phys: Rename RagdollController to RagdollInstance
RagdollController is a different thing!
2022-12-20 19:23:54 +01:00
Léo Lam d1d4bf3c29
lib: Update NintendoSDK 2022-12-20 18:35:33 +01:00
Léo Lam 08ccaf9c3c
ksys/phys: Add RagdollController::getTransform and more
Credit to @Dragorn421 for helping me figure out the rotation matrix
thing in the getTransform function
2022-12-20 16:27:40 +01:00
Léo Lam faf29549c6
clang-tidy: Relax member name check (for AI parameter variables) 2022-12-20 15:13:34 +01:00
Léo Lam e9790f83eb
lib: Update sead 2022-12-20 01:58:44 +01:00
Léo Lam c0c1db9b36
Update tools 2022-12-20 01:40:34 +01:00
Léo Lam a217abe647
ksys/phys: Improve RagdollController::setUnk1 match
https://discord.com/channels/688807550715560050/745633101157498880/1054479382892249119

[20:24]TheGreatB3: The Wii U version sets the fields to zero if the value is less than zero, so I think it's really using clamp.
2022-12-19 20:39:15 +01:00
Léo Lam 8c9a316c5b
ksys/phys: Match RagdollController::setUnk1 2022-12-19 13:21:19 +01:00
ThePixelCoder 4275779f8a
Handle nn::gfx merge (#108)
* Fix build and document nn::gfx merge

* Update submodules and some extra labelling in csv

* Fix various issues

* Make versioning more flexible
2022-12-19 13:12:15 +01:00
Léo Lam b4e6a4dac9
ksys/phys: Implement the rest of the easy RagdollController functions 2022-12-19 02:09:22 +01:00
Léo Lam 50464f7435
Havok: Fix warnings in hkpConstraintInstance 2022-12-19 00:28:45 +01:00
Léo Lam bdd2015a08
ksys/phys: Implement more RagdollController functions 2022-12-19 00:07:21 +01:00
Léo Lam 20be3a197a
ksys/phys: Clarify EntityCollisionMask structure and names 2022-12-18 18:58:23 +01:00
Léo Lam 30368facc0
ksys/phys: Finish RagdollRigidBody and add more RagdollController functions 2022-12-18 01:24:44 +01:00
Léo Lam 7934e14ad6
ksys/phys: Use named bools in RigidBody to improve call site readability 2022-12-17 22:10:38 +01:00
Léo Lam 294666ba13
clang-tidy: Disable misc-const-correctness
We want to give people the ability to exercise discretion in balancing
const correctness and readability.
2022-12-17 19:24:15 +01:00
Léo Lam 5a793566f3
Disable readability-make-member-function-const
It produces warnings in cases where we explicitly do *not* want to mark
a function as const even though it can be, because it is not
*logically* const.

This is something no automated tool will be able to detect so disable
the check to avoid spurious warnings.
2022-12-09 13:30:03 +01:00
Léo Lam 8dbd0d7839
Add a script to detect function overlaps in the CSV
Helps identify and fix function sizes in the function CSV
2022-12-04 11:56:32 +01:00
Léo Lam 965b45426c
data: Fix yet another function size 2022-12-04 11:54:59 +01:00
Léo Lam 924839b5df
data: Fix function size for 0x710090ab68 2022-12-03 20:04:55 +01:00