Commit Graph

380 Commits

Author SHA1 Message Date
Léo Lam 1b89dc7024
tools: Fix base action classes being ignored by the function matcher 2020-12-28 17:20:48 +01:00
Léo Lam 19e0f9a81c
Add more matching functions to the list 2020-12-28 10:54:51 +01:00
Léo Lam 02c583ca4d
Generate actions 2020-12-28 01:26:51 +01:00
Léo Lam dff91d6b4c
Convert data/aidef_vtables.yml to Unix line endings 2020-12-27 18:35:48 +01:00
Léo Lam 95b91196aa
Update Action function names 2020-12-26 02:41:40 +01:00
Léo Lam 60b457c522
Add script to rename Action virtual functions
Useful to keep function names synchronised between decomp, IDA and the
function CSV
2020-12-26 02:41:01 +01:00
Léo Lam b1d59ba594
tools: Add script to show non-trivial AI class hierarchies 2020-12-25 18:39:03 +01:00
Léo Lam 6f71b7b30a
ksys/act: Add more ActionBase functions 2020-12-25 12:11:33 +01:00
Léo Lam 399cde1271
ksys/act: Give more meaningful names to ai::ActionBase functions 2020-12-23 21:02:43 +01:00
Léo Lam 2dd52d903b
uking: Implement CheckGameDataFloat query 2020-12-23 17:16:38 +01:00
Léo Lam edb2de168d
Fix function list 2020-12-23 17:06:31 +01:00
Léo Lam 20a1007897
uking: Implement RandomChoiceExceptOnFlag query 2020-12-23 16:59:37 +01:00
Léo Lam 15fb041a7c
ksys/gdt: Add missing bool parameter for some getters 2020-12-23 16:00:51 +01:00
Léo Lam e46f921611
uking: Implement RandomChoice{2,3,4,8} queries 2020-12-23 15:47:25 +01:00
Léo Lam eba2713653
Generate query factories as well 2020-12-23 14:22:24 +01:00
Léo Lam f98d3ee758
Generate stubs for queries 2020-12-22 01:50:49 +01:00
Léo Lam f376435211
ksys/act: Fix Query's second loadParams overload 2020-12-21 19:16:49 +01:00
Léo Lam b1470e45fa
ksys/act: Add Queries 2020-12-21 16:53:44 +01:00
Léo Lam 64b93c984e
ksys/act: Add Behaviors 2020-12-21 16:33:04 +01:00
Léo Lam 258bfd057a
ksys/act: Give better names to ActionBase/Actions functions
And get rid of Ais::clone, which is unused.
2020-12-21 15:50:21 +01:00
Léo Lam 62014b715b
ksys/act: Implement Actions, Ais 2020-12-20 18:38:18 +01:00
Léo Lam 19ef291d20
ksys/act: Add two more simple Query functions 2020-12-19 21:00:37 +01:00
Léo Lam 8a22f0bb50
ksys/act: Add more ActionBase, Ai and RootAi functions 2020-12-19 20:37:37 +01:00
Léo Lam 9269283b71
ksys/act: Add more ActionBase functions 2020-12-11 00:22:27 +01:00
Léo Lam e9cf096819
ksys/act: Rename Query::preInit -> loadParams 2020-12-09 20:51:14 +01:00
Léo Lam 930b780cd1
ksys/act: Implement more Query functions 2020-12-09 20:43:22 +01:00
Léo Lam fcbe17a3f0
ksys/act: Start adding RootAi 2020-12-09 18:11:24 +01:00
Léo Lam ad32d1abe0
ksys/act: Start adding Behavior 2020-12-09 16:10:28 +01:00
Léo Lam 632517f727
ksys/act: Add trivial Action functions 2020-12-09 14:53:37 +01:00
Léo Lam bf5be970dc
ksys/act: Start adding Ai 2020-12-09 14:53:37 +01:00
Léo Lam 610e627e25
Update function list 2020-12-06 20:34:51 +01:00
Léo Lam 933811d34a
ksys/act: Start adding ai::ActionBase 2020-12-06 19:07:38 +01:00
Léo Lam 5a1a488ed3
ksys/act: Rename ai::ClassArg for consistency with Query::InitArg 2020-12-06 16:04:13 +01:00
Léo Lam b11344bc5e
ksys/act: Finish ParamPack 2020-12-06 13:55:31 +01:00
Léo Lam a72a4b25c0
ksys/act: Add most remaining ParamPack functions 2020-12-06 02:38:22 +01:00
Léo Lam 49097ad9e6
ksys/act: Add more ParamPack functions 2020-12-05 19:02:14 +01:00
Léo Lam d3b065bfa2
ksys/act: Implement the rest of AIClassDef 2020-12-05 17:57:30 +01:00
Léo Lam fd2f653b6f
ksys/act: Start implementing AIClassDef 2020-12-05 02:34:24 +01:00
Léo Lam aea46fce5e
ksys/act: Start adding base Query class 2020-12-05 01:02:17 +01:00
Léo Lam 5672fd9397
ksys/act: Implement even more ActorUtil functions 2020-12-04 21:58:56 +01:00
Léo Lam 5b523db03b
ksys/act: Implement more ActorUtil functions 2020-12-03 01:45:28 +01:00
Léo Lam bfbe2db425
ksys/act: Implement ActorUtil placement functions 2020-12-02 23:11:51 +01:00
Léo Lam fc55c87f12
ksys/act: Implement ActorUtil "has tag" functions 2020-12-02 19:23:05 +01:00
Léo Lam 3559c31bc9
ksys/act: Don't use Tag as argument as it causes matching diffs
And fairly stupid diffs for that matter, like an additional mov w1, w1
instruction that shouldn't exist
2020-12-02 18:52:44 +01:00
Léo Lam 581b3ef144
ksys/act: Add ActorUtil header (and one function implementation) 2020-12-02 18:34:18 +01:00
theo3 2c47c801f6 partially implement ecosystem 2020-11-24 17:39:53 -08:00
Léo Lam 82eb75a449
Merge pull request #18 from h1k421/feature/nvn-loadcprocs
Add nvnLoadCProcs mapping to uking_functions.csv
2020-11-24 00:30:39 +01:00
Hikari df139c9ee1 Add nvnLoadCProcs mapping to uking_functions.csv
This is linked to https://github.com/open-ead/nnheaders/pull/1
2020-11-23 23:38:13 +01:00
Léo Lam 57de412dcb
Merge pull request #17 from h1k421/feature/nvn-pfnc
Map all NVN function pointers in data_symbols.csv
2020-11-22 20:32:59 +01:00
Hikari 0b15cf04d0 Map all NVN function pointers in data_symbols.csv 2020-11-22 18:13:17 +01:00
Léo Lam 622104fbd2
ksys/act: Add more InfoData functions 2020-11-22 15:36:18 +01:00
Hikari 7c893fa3d6 expheap: Add :allocFromHead_(unsigned long), isEmpty, isFreeable, isResizable and isAdjustable mappings
As title said.

Related to https://github.com/open-ead/sead/pull/80.
2020-11-21 23:15:35 +01:00
Léo Lam 88620ca9af
ksys/act: Add several more InfoData functions 2020-11-17 02:26:55 +01:00
notyourav d4f80d7cf9
Merge branch 'master' into placement 2020-11-16 15:49:02 -08:00
theo3 8205744abc implement map::Object getters 2020-11-16 15:48:20 -08:00
Léo Lam b0498a15bf
ksys/act: Fix one matching issue 2020-11-16 20:44:20 +01:00
Léo Lam 1cbf7fae43
ksys/act: Start adding ActorInfoData 2020-11-16 02:31:22 +01:00
Léo Lam f6379c323b
data: Add missing functions 2020-11-15 22:05:40 +01:00
Léo Lam 3dbd022014
ksys/act: Implement async ActorParamMgr functions 2020-11-15 15:17:16 +01:00
Léo Lam ffe38d0076
ksys/act: Implement more ActorParamMgr functions 2020-11-14 21:06:08 +01:00
Léo Lam aa636bd44a
ksys/res: Add AttClient header 2020-11-14 14:36:40 +01:00
Wildex999 56f9c3ac0c ksys/utils/byaml: First iteration of implementation.
4 Functions are still not fully matching with their inlined functions,
and at least one function is still missing.
2020-11-14 13:07:07 +01:00
Léo Lam c639c70c5b
ksys/res: Add ASList header 2020-11-13 20:19:27 +01:00
Léo Lam 4c18e03834
ksys/res: Add UMii 2020-11-13 19:03:47 +01:00
Léo Lam c3d665f1c1
ksys/res: Add ModelList (incomplete) 2020-11-13 16:36:40 +01:00
Léo Lam 13d1f0d0be
ksys/res: Add TempResourceLoader 2020-11-12 12:38:47 +01:00
Léo Lam 2f80f2b581
ksys/res: Add ArchiveWork
Required for TempResourceLoader, which is used by ActorParamMgr among
other things
2020-11-12 00:12:56 +01:00
Léo Lam 2abce16984
ksys/act: Implement more ActorParamMgr functions 2020-11-11 19:17:31 +01:00
Léo Lam 68c9ffeede
tools: Add support for data symbol checking for GOT entries 2020-11-11 17:31:52 +01:00
Léo Lam 27afd0aa6a
ksys/gdt: Implement Manager increase functions 2020-11-11 12:35:59 +01:00
Léo Lam e0a8e69d8b
Add decompiled GameData functions to CSV 2020-11-11 02:07:57 +01:00
Léo Lam fc4536b0d3
ksys/gdt: Add reset wrappers to Manager and CommonFlags 2020-11-11 02:04:17 +01:00
Léo Lam 2cb268dcab
data: Add missing functions 2020-11-11 00:34:04 +01:00
Léo Lam a3abb115b9
ksys/res: Fix missing destructor for Resource 2020-11-10 21:25:45 +01:00
Léo Lam 0a16b78855
data: Add functions that were missed because of IDA's function tail system 2020-11-10 18:48:52 +01:00
Léo Lam 24ef7add9b
data: Add several gdt functions that were missed 2020-11-10 18:36:52 +01:00
Léo Lam 8fd9863e1a
ksys/gdt: Fix "no check, force" setters for vector flags
And add the other setters to the CSV.
2020-11-10 17:51:41 +01:00
Léo Lam 9b8ef52e05
Add most GameData CommonFlags functions to CSV 2020-11-10 00:39:54 +01:00
Léo Lam ce5ff17666
tools: Add script to automatically identify matches
Given a list L of functions to identify and a small list of
candidates C, this tool will attempt to automatically identify matches
by checking each function in L against each function in C.

Very slow, but this should work well enough for small lists.
2020-11-09 23:46:57 +01:00
Léo Lam d5bdc23ef5
ksys/gdt: Fix array getters/setters being generated incorrectly
They were treated as non-array flags.
2020-11-09 17:30:51 +01:00
Léo Lam aee089b720
ksys/gdt: Fix Manager setter wrappers for string types 2020-11-09 16:45:29 +01:00
Léo Lam 441b98a31e
ksys/gdt: Add getFlagGenericBool/S32 2020-11-09 16:22:59 +01:00
Léo Lam f2927c1de8
ksys/gdt: Do not inline gdtCommonFlagsUtils functions 2020-11-09 16:02:22 +01:00
Léo Lam cb5976d8ae
Add ActorCapture factory to CSV 2020-11-08 22:56:55 +01:00
Léo Lam ecec485d55
ksys: Add remaining ActorCapture functions to CSV 2020-11-08 22:45:24 +01:00
Léo Lam 7d2ef1d6b2
ksys/act: Start adding ActorCaptureMgr 2020-11-08 22:26:54 +01:00
Léo Lam f7e6cce7a9
ksys/act: Implement final non-dev-only ActorParam function 2020-11-08 18:28:43 +01:00
Léo Lam f128251414
ksys/act: Add ActorTemplate 2020-11-08 18:16:55 +01:00
Léo Lam a9ec880f2e
ksys/act: Fix ActorParamMgr struct and add ASSetting stub 2020-11-08 16:17:44 +01:00
Léo Lam aa92bf882c
ksys/act: Implement more ActorParam functions 2020-11-08 15:13:59 +01:00
Léo Lam ad01b2b1fb
ksys/act: Fix matching issue in ActorParam 2020-11-08 12:22:08 +01:00
Léo Lam 9eb8806b6f
ksys/act: Implement a couple more ActorParam functions 2020-11-08 01:44:58 +01:00
Léo Lam f9456b5b1c
ksys: Fix ActorParam struct 2020-11-08 00:56:14 +01:00
Léo Lam 3bd9d7a599
aoc2: Implement more functions 2020-11-07 23:28:51 +01:00
Léo Lam f60734bded
aoc2: Fix the struct and implement more functions 2020-11-07 02:10:12 +01:00
Léo Lam d87fefe1fb
ksys/gdt: Add common flags 2020-11-06 22:21:02 +01:00
Léo Lam f2a8d32f29
ksys/gdt: Implement more Manager functions 2020-11-06 01:24:28 +01:00
Léo Lam 0b6cdede6d
Add functions to CSV and fix matching issue in InitTimeInfoEx 2020-11-04 12:08:53 +01:00
Léo Lam e70c1c37cd
ksys/gdt: Start adding GameDataMgr 2020-11-04 02:12:27 +01:00
Léo Lam 911625ac23
ksys/res: Add GameSaveData 2020-11-03 02:27:38 +01:00
Léo Lam d0deedac4c
Compare non-matching functions against expected output
This makes it possible to catch regressions for non-matching functions,
especially those that only have minor issues.

This also reclassifies some minor non-matchings as major non-matchings
whenever it's really not obvious to see that they are equivalent.
2020-11-01 15:43:22 +01:00
Léo Lam 6c686fb962
ksys/gdt: Implement more TriggerParam copy functions 2020-11-01 02:34:14 +01:00
Léo Lam 1ccd65836d
ksys/gdt: Start adding TriggerParam's copy record functions 2020-10-31 14:58:32 +01:00
Léo Lam 2cd8eb111f
ksys/gdt: Implement flag+index getters 2020-10-29 21:56:29 +01:00
Léo Lam abf3276642
ksys/gdt: Implement more parts of TriggerParam (notably setters) 2020-10-28 22:19:34 +01:00
Léo Lam fd9b8ad11d
ksys/gdt: Add TriggerParamConfig 2020-10-27 00:52:51 +01:00
Léo Lam c612f77fcd
ksys/gdt: Implement TriggerParam::recordFlagChange 2020-10-25 14:32:56 +01:00
Léo Lam 660336044f
ksys/gdt: Implement more TriggerParam functions 2020-10-24 23:30:53 +02:00
Léo Lam f886213593
data: Mark _ZN4ksys4util13TaskQueueBase4pushERKNS1_7PushArgE as matching 2020-10-24 17:53:38 +02:00
Léo Lam 6cb668288f
data: Rename ksys::gdt::Flag<T>::getRandomResetData to FlagT<T> 2020-10-24 01:31:47 +02:00
Léo Lam 1cbb1a3311
Merge pull request #13 from notyourav/pr
decompile DamageParam
2020-10-24 01:21:18 +02:00
theo3 b11347344a decompile DamageParam 2020-10-23 16:15:23 -07:00
Léo Lam a26ae0ba91
ksys/gdt: Start adding TriggerParam 2020-10-22 18:54:26 +02:00
Léo Lam 228471ee3c
Merge pull request #12 from notyourav/pr3
decompiled resResourceAwareness
2020-10-21 00:59:59 +02:00
theo3 4bb4c935a6 decompiled resResourceAwareness 2020-10-20 15:48:31 -07:00
Léo Lam 3287f5eb25
Merge pull request #8 from notyourav/pr
resResourceShop decompiled
2020-10-21 00:40:39 +02:00
Léo Lam 38859e0f6e
Merge pull request #11 from wildex999/master
ksys/dmg: Implementing some of DamageManagerBase.
2020-10-21 00:32:43 +02:00
Wildex999 05a69f745b ksys/dmg: Implementing some of DamageManagerBase. Added some temporary classes/variables used by DamageManagerBase. 2020-10-21 00:19:48 +02:00
theo3 c562d67fab resResourceShop decompiled 2020-10-20 15:00:08 -07:00
Léo Lam 27da317935
ksys/res: Add GameData 2020-10-18 20:52:02 +02:00
Léo Lam e3fd543178
ksys/gdt: Add Flag 2020-10-17 22:31:35 +02:00
Léo Lam dbaac9cb78
ksys/act: Add InstParamPack 2020-10-16 00:06:18 +02:00
Léo Lam 2d721f8969
ksys/eco: Add LevelSensor header
It's not implementable yet because Ecosystem and some act:: code hasn't
been decompiled yet.
2020-10-15 21:04:51 +02:00
Léo Lam b16ba552db
ksys/res: Implement all of Handle 2020-10-15 17:09:26 +02:00
theo3 f47c49b5a0 decompile actorCapture 2020-10-14 15:24:24 -07:00
Léo Lam 0a98116af0
data: Update function matching status 2020-10-12 23:24:22 +02:00
Léo Lam afec1a82cc
ksys/res: Implement Handle destructor 2020-10-12 01:46:30 +02:00
Léo Lam 0a0d287e37
ksys/res: Implement ResourceMgrTask cache clear functions 2020-10-11 21:42:10 +02:00
Léo Lam 1c9d5781ae
ksys/res: Implement more ResourceMgrTask and OverlayArena functions 2020-10-11 19:24:03 +02:00
Léo Lam fc0d0ddaf7
ksys/res: Implement more ResourceUnit functions 2020-10-11 01:15:56 +02:00
Léo Lam 00b9296aa9
ksys/res: Implement ResourceMgrTask::calc_ and fix MemoryTaskRequest 2020-10-10 13:50:55 +02:00
Léo Lam 78f64ca78c
ksys/res: Implement ResourceMgrTask::insertOverlayArena 2020-10-10 01:30:29 +02:00
Léo Lam 83660921b6
ksys/res: Start adding ResourceMgrTask
Adds data members and simple functions.
2020-10-10 00:54:50 +02:00
Léo Lam 76655d85a9
ksys/res: Implement some ResourceMgrTask prerequisites 2020-10-08 00:09:53 +02:00
Léo Lam 99de7fa009
ksys/res: Add more LifeCondition functions 2020-10-06 20:44:10 +02:00
Léo Lam f19d229fa4
Check for non-matching functions that now match 2020-10-06 20:30:17 +02:00
Léo Lam 5ea758b40a
Merge pull request #6 from notyourav/pr
decompile resResourceLifeCondition
2020-10-06 13:20:59 +02:00
theo3 4eae9f9cc8 decompile resResourceLifeCondition 2020-10-05 19:08:30 -07:00
Léo Lam ec6680f7a4
lib: Update sead 2020-10-05 22:02:57 +02:00
Léo Lam 12e6979b6c
ksys/res: Implement more Cache functions 2020-10-04 02:00:38 +02:00
Léo Lam 2930173f65
ksys/res: Add MemoryTask 2020-09-27 14:56:42 +02:00
Léo Lam dc7d55e71e
Mark more functions as decompiled 2020-09-27 13:26:54 +02:00
Léo Lam ba5a3c642d
ksys/res: Add ControlTask, TaskRequest 2020-09-27 13:00:37 +02:00
Léo Lam b1926813b7
ksys/res: Start adding ResourceUnit and Cache 2020-09-26 21:03:24 +02:00
Léo Lam b2ce4e32ea
ksys/util: Add Task functions that were missed because of IDA's bad tail detection 2020-09-26 17:04:43 +02:00
Léo Lam cb1b70bb03
ksys/act: Fix matching issue in BaseProcMapNode::erase_
Fixed by adding an inline function, as usual...
2020-09-25 21:40:53 +02:00
Léo Lam 53f375b0ec
ksys/util: Fix matching issue in StrTreeMapKey::setKey
The stack variable is in fact a StrTreeMapKey temporary that is used
by the default assignment operator.
2020-09-25 20:28:31 +02:00
Léo Lam 2b26a9bb76
ksys: Start adding PlayReport 2020-09-25 16:07:44 +02:00
Léo Lam 89137d9834
ksys: Add Account 2020-09-25 01:14:17 +02:00
Léo Lam 72d100323c
ksys/res: Implement OffsetReadFileDevice 2020-09-24 21:30:18 +02:00