Commit Graph

390 Commits

Author SHA1 Message Date
Léo Lam 39856b1a7d
uking/ui: Implement getWeaponStats 2021-01-22 19:55:52 +01:00
Léo Lam 5280254ef1
uking/dmg: Implement DamageInfoMgr::isTrueFormMasterSword
And some trivial getters.
2021-01-22 17:36:21 +01:00
Léo Lam 5328fd2782
Move Damage to Game/ and add more DamageInfoMgr members
Damage stuff seems to be considered game code rather than KingSystem
code based on the function order in the executable and on the fact
that the Damage code uses other components that are known to be
in Game/U-King rather than in KingSystem.
2021-01-22 17:10:53 +01:00
Léo Lam 0d9117c1b8
ksys/act: Add remaining actInfoCommon functions 2021-01-22 16:37:57 +01:00
Léo Lam ad95be2d08
ksys/act: Fix missing parameter for InfoData::getStringByKey
Callers in actInfoData.cpp still matched because LLVM detected that the
last argument is unused and optimized it out (or inlined the function
entirely)
2021-01-22 16:37:57 +01:00
Léo Lam 5d36832608
Add a script to generate actInfoCommon
It's too tedious to write by hand
2021-01-22 16:37:57 +01:00
Léo Lam 24bb3a679a
ksys/act: Add InfoCommon Bow and Master Sword functions 2021-01-22 14:19:40 +01:00
Léo Lam 73329896f9
ksys/act: Add convenient default for InfoData::getString 2021-01-22 12:35:54 +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 01b8a01ec3
uking: Mark WeaponModifierInfo member functions as const when possible 2021-01-17 14:53:13 +01:00
Léo Lam eeeab7ab93
uking/ui: Add inventory saving function 2021-01-17 14:34:52 +01:00
Léo Lam 404597421d
ksys/gdt: Add some special flag utils 2021-01-16 21:18:24 +01:00
Léo Lam 4a6f3f9786
uking/ui: Implement "item get" PauseMenuDataMgr function 2021-01-16 21:18:24 +01:00
Léo Lam 2f9e3d0c32
ksys/map: Fix include cycle 2021-01-14 12:51:48 +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 d67568341b
ksys/util: Remove unnecessary include 2021-01-10 01:37:20 +01:00
Léo Lam 1999ea8721
ksys/act: Add GlobalParameter 2021-01-09 19:39:33 +01:00
Léo Lam 8569722db6
ksys/act: Start adding actInfoCommon 2021-01-09 17:23:38 +01:00
Léo Lam 9069c4e9f8
ksys/act: Add convenience wrappers for InstParamPack 2021-01-09 16:46:34 +01:00
Léo Lam 3ce19016ec
uking/ui: Add more inventory functions 2021-01-09 13:40:43 +01:00
Léo Lam 23b3047f49
Add aocManager header stub 2021-01-08 19:37:21 +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
Léo Lam b9d37afa1c
ksys/act: Add SameGroupActorName getters 2021-01-07 15:32:59 +01:00
Léo Lam b3fa7ae230
uking: Implement GameDataConvertIntToSring action 2021-01-01 19:21:17 +01:00
Léo Lam 117e6891b0
Reduce code size by avoiding static inline member variables
Static inline member variables require the compiler to emit a static
runtime constructor in all translation units that can see the variables
in question. This normally wouldn't be a problem, but it gets expensive
really quickly when you have ~3000 classes and ~3000 duplicate
static constructors.

This drops the ELF size from ~270MB to ~220MB and probably speeds up
builds a little bit.
2021-01-01 19:10:46 +01:00
Léo Lam cb33d236a3
uking: Implement GameDataAddVec3 action 2021-01-01 19:00:46 +01:00
Léo Lam f621d136c0
uking: Implement GameDataAddInt action 2021-01-01 19:00:41 +01:00