Commit Graph

773 Commits

Author SHA1 Message Date
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 689221f4a2
ksys/res: Rename TaskRequest to ControlTaskRequest
Avoids possible confusion with ksys::util::TaskRequest.
2020-10-10 23:43:46 +02:00
Léo Lam c080f61e35
ksys/res: Add size assertion for MemoryTaskRequest
Helps avoid regressions.
2020-10-10 13:59:51 +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
theo3 4eae9f9cc8 decompile resResourceLifeCondition 2020-10-05 19:08:30 -07: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 50ebf5116f
ksys/util: Add TaskMgr initialisation helper 2020-09-27 14:16:10 +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 26baae29de
ksys/frm: Fix RootTaskParam struct layout 2020-09-26 21:03:24 +02:00
Léo Lam b8eeb70da3
ksys: Add frm::RootTaskParam 2020-09-26 19:15:30 +02:00
Léo Lam d088e0cc58
ksys/util: Remove obsolete comment 2020-09-26 17:12:13 +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 cdf27ca63c
ksys/util: Add StrTreeMapKey(const SafeString&) for convenience 2020-09-26 15:48:18 +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 90b93ef720
ksys: Silence unused-private-field warning in Account 2020-09-25 18:10:58 +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
Léo Lam 7d51cbac51
ksys/res: Add more LoadRequest classes 2020-09-24 19:48:36 +02:00
Léo Lam 9e6e871859
Fix formatting issues 2020-09-24 14:38:37 +02:00
Léo Lam 4cb68509c7
ksys/Utils: Fix inaccuracy in TaskThread dtor 2020-09-24 13:55:36 +02:00
Léo Lam 7a5f9dae9b
ksys/sys: Fix inaccuracy 2020-09-24 13:24:32 +02:00
Léo Lam 8faa579a69
ksys/Map: Fix initialization order for key hashes 2020-09-24 12:38:17 +02:00
Léo Lam 75eaf5608f
ksys/res: Start adding LoadRequest 2020-09-23 22:38:03 +02:00
Léo Lam 22a0c93c51
ksys/res: Add status descriptions 2020-09-22 19:36:59 +02:00
Léo Lam d1c2700677
build: Add missing CMakeLists 2020-09-22 18:43:04 +02:00
Léo Lam 8756ccdd07
ksys: Start adding OverlayArenaSystem 2020-09-22 18:43:03 +02:00
Léo Lam 509d19f762
build: Split the main CMakeLists.txt for readability reasons 2020-09-20 17:18:14 +02:00
Léo Lam 5dc9b9542e
ksys/res: Add getters for GParam objects 2020-09-20 14:54:40 +02:00
Léo Lam ba8edc3d45
ksys/res: Finish GParamList by fixing stack issues
Turns out Nintendo used a macro.
2020-09-20 14:42:36 +02:00
Léo Lam 9aadac7040
ksys/res: Implement GParamList Motorcycle 2020-09-20 14:01:35 +02:00
Léo Lam 75fca6248c
ksys/res: Implement GParamList AirWall 2020-09-20 14:00:11 +02:00
Léo Lam b8a3ac571c
ksys/res: Implement GParamList PictureBook 2020-09-20 13:59:00 +02:00
Léo Lam 8b3aed47e6
ksys/res: Implement GParamList GolemIK 2020-09-20 13:55:36 +02:00
Léo Lam e9dbd61deb
ksys/res: Implement GParamList Event 2020-09-20 13:53:16 +02:00
Léo Lam db9f30ed81
ksys/res: Implement GParamList WolfLink 🐺 2020-09-20 13:51:22 +02:00
Léo Lam f9a64a2ce5
ksys/res: Implement GParamList HorseTargetedInfo 2020-09-20 13:15:06 +02:00
Léo Lam 59916149b7
ksys/res: Implement GParamList Golem 2020-09-20 13:13:13 +02:00
Léo Lam 1a37389159
ksys/res: Implement GParamList ChemicalType 2020-09-20 13:11:10 +02:00
Léo Lam 364108b0fa
ksys/res: Implement GParamList AutoGen 2020-09-20 13:09:42 +02:00
Léo Lam 5407926f7e
ksys/res: Implement GParamList Beam 2020-09-20 13:08:12 +02:00
Léo Lam f2d0fcc8c0
ksys/res: Implement GParamList Global 2020-09-20 13:06:23 +02:00
Léo Lam 0c2a62c7fd
ksys/res: Implement GParamList ClothReaction 2020-09-20 13:01:22 +02:00
Léo Lam e9328d26e4
ksys/res: Implement GParamList GuardianMini 2020-09-20 12:26:41 +02:00
Léo Lam acccdd5b96
ksys/res: Implement GParamList StalEnemy 2020-09-20 12:25:04 +02:00
Léo Lam b7b1f6a28b
ksys/res: Implement GParamList Wizzrobe 2020-09-20 12:22:17 +02:00
Léo Lam 5583679013
ksys/res: Implement GParamList Nest 2020-09-20 12:19:25 +02:00
Léo Lam 0e13b65932
ksys/res: Implement GParamList GelEnemy 2020-09-20 12:18:31 +02:00
Léo Lam 2868170492
ksys/res: Implement GParamList Swarm 2020-09-20 12:15:24 +02:00
Léo Lam 15deb532c2
ksys/res: Implement GParamList MonsterShop 2020-09-20 12:13:57 +02:00
Léo Lam 2daaa04b71
ksys/res: Implement GParamList Guardian 2020-09-20 12:12:34 +02:00
Léo Lam 63c932e396
ksys/res: Implement GParamList GiantArmor 2020-09-20 12:10:46 +02:00
Léo Lam 2770d637c7
ksys/res: Implement GParamList GiantArmorSlot 2020-09-20 12:09:44 +02:00
Léo Lam bc80812c09
ksys/res: Implement GParamList HorseCreator 2020-09-20 12:06:03 +02:00
Léo Lam 707001d747
ksys/res: Implement GParamList HorseRider 2020-09-20 12:03:23 +02:00
Léo Lam ac66ce82e2
ksys/res: Implement GParamList HorseObject 2020-09-20 12:01:04 +02:00
Léo Lam c6d573f6d7
ksys/res: Implement GParamList HorseUnit 2020-09-20 12:00:09 +02:00
Léo Lam 782cdf9415
ksys/res: Implement GParamList Horse 2020-09-20 11:57:37 +02:00
Léo Lam ef1925df9f
ksys/res: Implement GParamList Rope 2020-09-20 11:55:47 +02:00
Léo Lam 518586b352
ksys/res: Implement GParamList Fish 2020-09-20 11:54:21 +02:00
Léo Lam 806b54b027
ksys/res: Implement GParamList Insect 2020-09-20 11:52:59 +02:00
Léo Lam f31654ef7a
ksys/res: Implement GParamList AnimalUnit 2020-09-20 11:52:02 +02:00
Léo Lam 58f52a8cc2
ksys/res: Implement GParamList EatTarget 2020-09-20 11:49:32 +02:00
Léo Lam fa45c13199
ksys/res: Implement GParamList BindActor 2020-09-20 11:48:28 +02:00
Léo Lam 1a055d81da
ksys/res: Implement GParamList ExtendedEntity 2020-09-20 11:46:16 +02:00
Léo Lam 2fd514a30d
ksys/res: Implement GParamList AnimalFollowOffset 2020-09-20 11:44:40 +02:00
Léo Lam ee9dfe6ae3
ksys/res: Implement GParamList Prey 2020-09-20 11:39:00 +02:00
Léo Lam 8781079806
ksys/res: Add GParamList Traveler to parse list 2020-09-20 11:35:34 +02:00
Léo Lam e318790ae5
ksys/res: Implement GParamList Zora 2020-09-20 01:44:55 +02:00
Léo Lam 0f1fe77664
ksys/res: Implement GParamList NpcEquipment 2020-09-20 01:42:21 +02:00
Léo Lam 80c8d2f762
ksys/res: Implement GParamList Npc 2020-09-20 01:40:21 +02:00
Léo Lam c0eec2b1c8
ksys/res: Implement GParamList LumberjackTree 2020-09-20 01:38:26 +02:00
Léo Lam 91ced88d4e
ksys/res: Implement GParamList CookSpice 2020-09-20 01:37:02 +02:00
Léo Lam c0d7b624ae
ksys/res: Implement GParamList CureItem 2020-09-20 01:35:06 +02:00
Léo Lam 5dabe96826
ksys/res: Implement GParamList Bullet 2020-09-20 01:33:27 +02:00
Léo Lam 0d02234773
ksys/res: Implement GParamList Arrow 2020-09-20 01:28:20 +02:00
Léo Lam 1d89ca868c
ksys/res: Implement GParamList Rupee 2020-09-20 01:25:23 +02:00
Léo Lam 31f108e78b
ksys/res: Implement GParamList Item 2020-09-20 01:23:56 +02:00
Léo Lam 00e2ba737e
ksys/res: Implement GParamList Liftable 2020-09-20 01:21:24 +02:00
Léo Lam fcdb52e723
ksys/res: Implement GParamList SeriesArmor 2020-09-20 01:18:31 +02:00
Léo Lam 2d566fbbd9
ksys/res: Implement GParamList ShiekerStone 2020-09-20 01:16:34 +02:00
Léo Lam 9aa37fdf5a
ksys/res: Implement GParamList ArmorUpper 2020-09-20 01:13:04 +02:00
Léo Lam 13df0a6560
ksys/res: Implement GParamList ArmorHead 2020-09-20 01:11:44 +02:00
Léo Lam 0f0a7259a9
ksys/res: Implement GParamList ArmorEffect 2020-09-20 01:10:39 +02:00
Léo Lam 3bed1f3360
ksys/res: Implement GParamList Armor 2020-09-20 01:09:22 +02:00
Léo Lam e28d742e27
ksys/res: Implement GParamList Grab 2020-09-20 01:07:31 +02:00
Léo Lam 1fe88a8707
ksys/res: Implement GParamList Camera 2020-09-20 01:05:16 +02:00
Léo Lam 5cd5dafce6
ksys/res: Implement GParamList Player 2020-09-20 00:36:15 +02:00
Léo Lam 276d266291
ksys/res: Implement GParamList GuardianMiniWeapon 2020-09-20 00:31:04 +02:00
Léo Lam a5ea3328f4
ksys/res: Implement GParamList MasterSword 2020-09-20 00:29:20 +02:00
Léo Lam 5cc61e6db8
ksys/res: Implement GParamList WeaponOption 2020-09-20 00:26:06 +02:00
Léo Lam 5a2ff7cedf
ksys/res: Implement GParamList Bow 2020-09-20 00:24:09 +02:00
Léo Lam 8b6e95939d
ksys/res: Implement GParamList Shield 2020-09-19 23:59:42 +02:00
Léo Lam 9c32a09afb
ksys/res: Implement GParamList Spear 2020-09-19 23:53:49 +02:00
Léo Lam 6979611c63
ksys/res: Implement GParamList LargeSword 2020-09-19 23:43:33 +02:00
Léo Lam 5e9d25da72
ksys/res: Implement GParamList Rod 2020-09-19 23:36:33 +02:00
Léo Lam 15a60c029e
ksys/res: Implement GParamList SmallSword 2020-09-19 23:34:12 +02:00
Léo Lam b800e1a9e6
ksys/res: Implement GParamList Sandworm 2020-09-19 23:24:14 +02:00
Léo Lam 9a50ece856
ksys/res: Implement GParamList WeaponThrow 2020-09-19 23:21:59 +02:00
Léo Lam a079a5ab20
ksys/res: Implement GParamList WeaponCommon 2020-09-19 22:45:05 +02:00
Léo Lam f22c87d03f
ksys/res: Implement GParamList Attack 2020-09-19 22:40:21 +02:00
Léo Lam 0e69423ecb
ksys/res: Implement GParamList BindBone 2020-09-19 22:38:25 +02:00
Léo Lam e1e3f71d50
ksys/res: Implement GParamList EnemyShown 2020-09-19 22:35:16 +02:00
Léo Lam 72a9500adf
ksys/res: Implement GParamList AttackInterval 2020-09-19 22:32:14 +02:00
Léo Lam 54500e2d1d
ksys/res: Implement GParamList EnemyRace 2020-09-19 22:29:46 +02:00
Léo Lam 643efc3104
ksys/res: Implement GParamList EnemyLevel 2020-09-19 22:24:39 +02:00
Léo Lam b3be87fe4f
ksys/res: Implement GParamList Enemy 2020-09-19 22:18:54 +02:00
Léo Lam 62e675b9f4
Fix include quotes 2020-09-19 22:09:31 +02:00
Léo Lam 5ff20fa250
ksys/res: Implement GParamList System + General 2020-09-19 22:06:52 +02:00
Léo Lam 62880a0b1d
ksys/res: Start implementing GParamList
Incomplete because many of the sub-objects have their constructors
inlined into the GParamList parse function...
2020-09-19 22:00:00 +02:00
Léo Lam 7767a81449
ksys: Add GParamListObjType enum
Values are used as indices for the GeneralParamList resource class'
PtrArray.
2020-09-19 01:37:16 +02:00
Léo Lam a59add899e
ksys/res: Add GParamListObjectTraveler
Also adds source files for the resource class, though they're just
stubs at the moment.
2020-09-19 00:55:52 +02:00
Léo Lam 50027520f7
ksys: Add defines for some function attributes 2020-09-19 00:50:24 +02:00
Léo Lam af1aacc5bd
ksys/utils: Add FixedString for light constexpr string manipulation 2020-09-18 20:37:54 +02:00
Léo Lam 7828ee535d
ksys/act: Fix extra semicolon in macro definition 2020-09-18 01:20:20 +02:00
Léo Lam 1176af740b
aoc2: Add shouldApplyMasterModeDamageMultiplier 2020-09-18 01:12:07 +02:00
Léo Lam 7553861fb8
Add actor tag definitions 2020-09-17 20:35:28 +02:00
Léo Lam 76378caa60
ksys/act: Add more ActorConstDataAccess functions
Implements a couple of simple wrappers around BaseProc member functions
2020-09-17 18:31:36 +02:00
Léo Lam 7226150ed7
ksys/act: Add ActorLinkConstDataAccess (incomplete)
Also moves from functions from ActorLinkConstDataAccess (the base class
for BaseProc) into the Actor-specific ActorConstDataAccess
2020-09-17 17:42:35 +02:00
Léo Lam 1cc0b1e6be
Implement aoc2::rankUpEnemy
It's a pretty large function and I wanted to see how difficult it would
be to match it. Not very hard :D
2020-09-17 00:50:36 +02:00
Léo Lam b93b9d3c45
ksys: Add map::Object (incomplete) 2020-09-16 22:50:02 +02:00
Léo Lam f733cd0d5c
ksys: Add map::MubinIter 2020-09-16 21:43:02 +02:00
Léo Lam 1b21cd669b
game: Put actions, AIs, behaviors, queries in an "AI" folder
Helps keep things clean as Game starts containing more source files.
2020-09-16 19:00:03 +02:00
Léo Lam 3db6228dfc
ksys: Add more task utilities
* TaskMgr, ManagedTask, ManagedTaskHandle

* GameTaskThread: partial implementation because PhysicsMemSys / Havok
  stuff hasn't been decompiled yet and calc_() requires PhysicsMemSys
2020-09-16 17:49:37 +02:00
Léo Lam 8b7369dffb
ksys: Add Task utilities 2020-09-15 17:54:16 +02:00
Léo Lam 59c91970f6
ksys/res: Add Recipe
It's mostly the same as Drop. *shrug*
2020-09-10 16:49:07 +02:00
Léo Lam 6af5dfd747
ksys/Utils: Add Event 2020-09-10 13:53:26 +02:00
Léo Lam 0f0c1b59ca
ksys/res: Add Drop 2020-09-10 00:09:01 +02:00
Léo Lam 5ab4e15967
ksys/res: Add AIProgram 2020-09-09 17:29:45 +02:00
Léo Lam 02e6bb42db
ksys/Utils: Improve accuracy of HeapUtil::tryCreateDualHeap 2020-09-07 14:38:53 +02:00
Léo Lam 8961c0cc6c
ksys/Utils: Implement tryCreateDualHeap 2020-09-07 00:13:42 +02:00
Léo Lam 96deb88e27
ksys/Utils: Add DualFrameHeap 2020-09-06 22:52:10 +02:00
Léo Lam 69dc675a95
ksys/Utils: Add DualHeap 2020-09-06 22:51:58 +02:00
Léo Lam 8f3eeb87b9
Move SizedEnum to sead
It is useful in sead and other libraries as well.
2020-09-06 21:23:29 +02:00
Léo Lam 83ad191341
ksys/res: Implement CurrentResNameMgr 2020-09-06 18:03:21 +02:00
Léo Lam 1778aff4d4
ksys/res: Rename Resource::m5() to finalize() 2020-09-06 17:55:26 +02:00
Léo Lam bb055e442e
ksys/res: Implement Archive 2020-09-06 17:10:23 +02:00
Léo Lam 3d3bcaee1a
ksys/res: Add ActorLink 2020-09-06 16:34:53 +02:00
Léo Lam 02051dce6b
ksys/res: Add size assertion for Demo
And fix the CMakeLists.
2020-09-05 22:10:08 +02:00
Léo Lam 0fafc292f9
ksys/res: Implement Demo 2020-09-05 21:34:45 +02:00
Léo Lam 072e906eaf
ksys/res: Add Lod 2020-09-05 17:30:39 +02:00
Léo Lam 977ff07c85
ksys: Implement more heap utilities 2020-09-04 22:38:24 +02:00
Léo Lam 3d371999a4
ksys/res: Implement EntryFactory (base class and template)
Also adds a heap-related function that's used by EntryFactory
(and many other functions)
2020-09-04 22:01:52 +02:00
Léo Lam 578955f4e9
ksys/res: Implement Resource (base class) 2020-09-04 20:15:55 +02:00
theo3 2ee9bba8b8 AiAction and AiClass getters and setter functions 2020-08-27 16:16:20 -07:00
theo3 965d34c712 non request BaseProcHandle stuff
refactoring

baseProcHandle.cpp refactoring
2020-08-27 14:48:22 -07:00
theo3 aff4047630 actionSetInstEventFlag ctor dtor 2020-08-27 14:10:18 -07:00
theo3 71ac906495 defined baseProcHandle, baseProcUnit nonmatchings 2020-08-27 14:10:17 -07:00
Léo Lam 87cc9104de
ci: Add a PR lint workflow 2020-08-22 10:42:36 +02:00
notyouraveragehooman da35629aa8
BaseProc::release 2020-08-22 10:17:58 +02:00
notyouraveragehooman a49164a85f
BaseProc child connection functions 2020-08-22 10:17:58 +02:00
notyouraveragehooman ff99d77635
BaseProc::getConnectedCalcParent
BaseProc::setConnectedCalcParent
2020-08-22 10:17:05 +02:00
Léo Lam fc306aa5f0
ksys: Decompile ByamlUtil
And fix some declarations in Byaml.h
2020-08-21 22:21:26 +02:00
Léo Lam bad90bc5d8
ksys: Add headers for BYML utilities 2020-08-21 21:18:27 +02:00
Léo Lam efdedd1d88
ksys/act: Fix const-correctness for BaseProcLink::getProc 2020-08-20 18:47:59 +02:00
Léo Lam afde5b2775
ksys/act: Implement BaseProcLink 2020-08-20 18:25:47 +02:00
Léo Lam f92ab2f559
ksys/act: Finish BaseProcLinkData 2020-08-20 12:19:13 +02:00
Léo Lam c9207a3cc3
ksys/act: Implement act::acquireProc 2020-08-20 11:26:23 +02:00
Léo Lam 7e96f826c0
ksys/act: Fix ~ActorLinkConstDataAccess 2020-08-20 11:02:45 +02:00
Léo Lam 0dc0752530
ksys/act: Implement ActorLinkConstDataAccess 2020-08-20 01:26:10 +02:00
Léo Lam 6989d0f7f8
ksys/act: Get rid of some setDirect() calls 2020-08-20 00:03:13 +02:00
Léo Lam 50a8a8c5e3
ksys/act: Implement BaseProc::x00000071011ba9fc 2020-08-19 21:00:50 +02:00
Léo Lam 5de91ef5fd
ksys/act: Fix BaseProc::isSpecialJobType_ return type
BaseProc::isSpecialJobType_ returns 0, 1 or 2

This fixes the matching issue!
2020-08-19 18:16:03 +02:00
Léo Lam 08687964b4
ksys/act: Declare more BaseProc functions
It's possible I've missed some BaseProc functions but now every single
function that was identified as a BaseProc member function in my IDB
has been added to the class

Most of those are very easy to implement.
2020-08-19 18:12:18 +02:00
Léo Lam 2de366be0f
Initial commit 2020-08-18 22:50:25 +02:00