The task and thread families are plain ksys::

They link in the same block as the plain-ksys:: Message family.
getItemValue and applyScreenFade sit in engine UI TUs, hence ksys::ui.

(AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
This commit is contained in:
Léo Lam
2026-09-28 03:39:31 +02:00
parent 6442a24670
commit 98f0c80f1d
66 changed files with 465 additions and 477 deletions
+247 -247
View File
@@ -49591,11 +49591,11 @@ Address,Quality,Size,Name
0x00000071007cb614,U,000324,GameSceneTaskMgr::init
0x00000071007cb758,U,000040,GameSceneTaskMgr::invokeInvoker
0x00000071007cb780,U,000172,GameSceneTaskMgr::submitRequest
0x00000071007cb82c,O,000004,_ZN4ksys4util11TaskRequestD2Ev
0x00000071007cb82c,O,000004,_ZN4ksys11TaskRequestD2Ev
0x00000071007cb830,U,000004,j__ZdlPv_350
0x00000071007cb834,O,000112,_ZNK4ksys4util11TaskRequest27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071007cb8a4,O,000092,_ZNK4ksys4util11TaskRequest18getRuntimeTypeInfoEv
0x00000071007cb900,O,000004,_ZN4ksys4util11TaskRequestD0Ev
0x00000071007cb834,O,000112,_ZNK4ksys11TaskRequest27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071007cb8a4,O,000092,_ZNK4ksys11TaskRequest18getRuntimeTypeInfoEv
0x00000071007cb900,O,000004,_ZN4ksys11TaskRequestD0Ev
0x00000071007cb904,U,000052,
0x00000071007cb938,U,000092,
0x00000071007cb994,U,000056,
@@ -57933,17 +57933,17 @@ Address,Quality,Size,Name
0x00000071009ccbf0,U,000204,
0x00000071009cccbc,U,000092,
0x00000071009ccd18,U,000140,
0x00000071009ccda4,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveIN4ksys4util8TaskDataEE9isDerivedEPKNS0_9InterfaceE
0x00000071009ccda4,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveIN4ksys8TaskDataEE9isDerivedEPKNS0_9InterfaceE
0x00000071009cce30,U,000052,
0x00000071009cce64,U,000092,
0x00000071009ccec0,U,000048,
0x00000071009ccef0,U,000092,
0x00000071009ccf4c,O,000008,_ZNK4sead10IDelegate2IPN4ksys4util17TaskPostRunResultERKNS2_18TaskPostRunContextEE9isNoDummyEv
0x00000071009ccf54,U,000008,
0x00000071009ccf4c,O,000008,_ZNK4sead10IDelegate2IPN4ksys17TaskPostRunResultERKNS1_18TaskPostRunContextEE9isNoDummyEv
0x00000071009ccf54,O,000008,_ZNK4sead10IDelegate2IPN4ksys17TaskPostRunResultERKNS1_18TaskPostRunContextEE5cloneEPNS_4HeapE
0x00000071009ccf5c,U,000048,
0x00000071009ccf8c,U,000092,
0x00000071009ccfe8,O,000008,_ZNK4sead10IDelegate1IRKN4ksys4util25TaskRemoveCallbackContextEE9isNoDummyEv
0x00000071009ccff0,O,000008,_ZNK4sead10IDelegate1IRKN4ksys4util25TaskRemoveCallbackContextEE5cloneEPNS_4HeapE
0x00000071009ccfe8,O,000008,_ZNK4sead10IDelegate1IRKN4ksys25TaskRemoveCallbackContextEE9isNoDummyEv
0x00000071009ccff0,O,000008,_ZNK4sead10IDelegate1IRKN4ksys25TaskRemoveCallbackContextEE5cloneEPNS_4HeapE
0x00000071009ccff8,U,000100,ResourceJpg::ctor
0x00000071009cd05c,U,000008,
0x00000071009cd064,U,000036,ResourceJpg::dtorDelete
@@ -61146,11 +61146,11 @@ Address,Quality,Size,Name
0x0000007100a6d978,U,000016,uiLowPrioThreadMgr::pause
0x0000007100a6d988,U,000016,uiLowPrioThreadMgr::__auto0
0x0000007100a6d998,U,000016,
0x0000007100a6d9a8,O,000060,_ZN4ksys4util7TaskMgr13makeTaskType_INS0_11ManagedTaskEEEvPPS3_
0x0000007100a6d9e4,O,000048,_ZN4sead9Delegate1IN4ksys4util7TaskMgrEPPNS2_11ManagedTaskEE6invokeES6_
0x0000007100a6da14,O,000092,_ZNK4sead9Delegate1IN4ksys4util7TaskMgrEPPNS2_11ManagedTaskEE5cloneEPNS_4HeapE
0x0000007100a6da70,O,000008,_ZNK4sead10IDelegate1IPPN4ksys4util11ManagedTaskEE9isNoDummyEv
0x0000007100a6da78,O,000008,_ZNK4sead10IDelegate1IPPN4ksys4util11ManagedTaskEE5cloneEPNS_4HeapE
0x0000007100a6d9a8,O,000060,_ZN4ksys7TaskMgr13makeTaskType_INS_11ManagedTaskEEEvPPS2_
0x0000007100a6d9e4,O,000048,_ZN4sead9Delegate1IN4ksys7TaskMgrEPPNS1_11ManagedTaskEE6invokeES5_
0x0000007100a6da14,O,000092,_ZNK4sead9Delegate1IN4ksys7TaskMgrEPPNS1_11ManagedTaskEE5cloneEPNS_4HeapE
0x0000007100a6da70,O,000008,_ZNK4sead10IDelegate1IPPN4ksys11ManagedTaskEE9isNoDummyEv
0x0000007100a6da78,O,000008,_ZNK4sead10IDelegate1IPPN4ksys11ManagedTaskEE5cloneEPNS_4HeapE
0x0000007100a6da80,U,000008,
0x0000007100a6da88,U,000004,nullsub_5525
0x0000007100a6da8c,U,000004,nullsub_5526
@@ -74662,8 +74662,8 @@ Address,Quality,Size,Name
0x0000007100d5e494,U,000004,nullsub_3781
0x0000007100d5e498,U,000052,
0x0000007100d5e4cc,U,000092,
0x0000007100d5e528,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveIN4ksys4util11ManagedTaskEE9isDerivedEPKNS0_9InterfaceE
0x0000007100d5e5b4,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveIN4ksys4util4TaskEE9isDerivedEPKNS0_9InterfaceE
0x0000007100d5e528,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveIN4ksys11ManagedTaskEE9isDerivedEPKNS0_9InterfaceE
0x0000007100d5e5b4,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveIN4ksys4TaskEE9isDerivedEPKNS0_9InterfaceE
0x0000007100d5e640,U,000052,
0x0000007100d5e674,U,000136,VillagerMgr::ctor
0x0000007100d5e6fc,U,000120,VillagerMgr::dtor
@@ -80671,7 +80671,7 @@ Address,Quality,Size,Name
0x0000007100edc34c,U,000028,callCheckWeaponFreeSlotHandlerMaybe
0x0000007100edc368,U,000024,ui::callIncreasePouchNum
0x0000007100edc380,U,000024,ui::checkVacancyItem
0x0000007100edc398,U,000028,_ZN5uking2ui12getItemValueERKN4sead14SafeStringBaseIcEE
0x0000007100edc398,U,000028,_ZN4ksys2ui12getItemValueERKN4sead14SafeStringBaseIcEE
0x0000007100edc3b4,U,000028,_ZN4ksys2ui11getPorchNumERKN4sead14SafeStringBaseIcEE
0x0000007100edc3d0,U,000028,
0x0000007100edc3ec,U,000028,
@@ -85291,7 +85291,7 @@ Address,Quality,Size,Name
0x0000007100fe6438,U,000204,
0x0000007100fe6504,U,000092,
0x0000007100fe6560,U,000004,j__ZdlPv_1024
0x0000007100fe6564,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveIN4ksys4util11TaskRequestEE9isDerivedEPKNS0_9InterfaceE
0x0000007100fe6564,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveIN4ksys11TaskRequestEE9isDerivedEPKNS0_9InterfaceE
0x0000007100fe65f0,U,000052,
0x0000007100fe6624,U,000092,
0x0000007100fe6680,U,000048,
@@ -89221,7 +89221,7 @@ Address,Quality,Size,Name
0x00000071010b62c4,U,000340,ui::isFadeDemoOrFadeScreenOpened
0x00000071010b6418,U,000320,
0x00000071010b6558,U,000024,
0x00000071010b6570,U,000200,_ZN5uking2ui15applyScreenFadeEf
0x00000071010b6570,U,000200,_ZN4ksys2ui15applyScreenFadeEf
0x00000071010b6638,U,000376,
0x00000071010b67b0,O,000096,_ZN4ksys7AutoDim18SingletonDisposer_D1Ev
0x00000071010b6810,O,000104,_ZN4ksys7AutoDim18SingletonDisposer_D0Ev
@@ -89487,77 +89487,77 @@ Address,Quality,Size,Name
0x00000071010c09e4,O,000008,_ZN4ksys23ActorMessageTransceiver11getReceiverEv
0x00000071010c09ec,O,000204,_ZNK4ksys23ActorMessageTransceiver8Receiver27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071010c0ab8,O,000092,_ZNK4ksys23ActorMessageTransceiver8Receiver18getRuntimeTypeInfoEv
0x00000071010c0b14,O,000032,_ZN4ksys4util5EventC1Ev
0x00000071010c0b34,O,000032,_ZN4ksys4util5EventC1EPN4sead4HeapE
0x00000071010c0b54,O,000036,_ZN4ksys4util5EventC1Eb
0x00000071010c0b78,O,000040,_ZN4ksys4util5EventC1EPN4sead4HeapEb
0x00000071010c0ba0,O,000040,_ZN4ksys4util5EventC1EPN4sead4HeapENS2_9IDisposer14HeapNullOptionEb
0x00000071010c0bc8,O,000020,_ZN4ksys4util5EventD1Ev
0x00000071010c0bdc,O,000052,_ZN4ksys4util5EventD0Ev
0x00000071010c0c10,O,000016,_ZN4ksys4util5Event10initializeEb
0x00000071010c0c20,O,000028,_ZN4ksys4util5Event4waitEv
0x00000071010c0c3c,O,000032,_ZN4ksys4util5Event4waitEN4sead8TickSpanE
0x00000071010c0c5c,O,000052,_ZN4ksys4util5Event9setSignalEv
0x00000071010c0c90,O,000064,_ZN4ksys4util5Event11resetSignalEv
0x00000071010c0cd0,O,000016,_ZNK4ksys4util5Event11isSignalSetEv
0x00000071010c0b14,O,000032,_ZN4ksys5EventC1Ev
0x00000071010c0b34,O,000032,_ZN4ksys5EventC1EPN4sead4HeapE
0x00000071010c0b54,O,000036,_ZN4ksys5EventC1Eb
0x00000071010c0b78,O,000040,_ZN4ksys5EventC1EPN4sead4HeapEb
0x00000071010c0ba0,O,000040,_ZN4ksys5EventC1EPN4sead4HeapENS1_9IDisposer14HeapNullOptionEb
0x00000071010c0bc8,O,000020,_ZN4ksys5EventD1Ev
0x00000071010c0bdc,O,000052,_ZN4ksys5EventD0Ev
0x00000071010c0c10,O,000016,_ZN4ksys5Event10initializeEb
0x00000071010c0c20,O,000028,_ZN4ksys5Event4waitEv
0x00000071010c0c3c,O,000032,_ZN4ksys5Event4waitEN4sead8TickSpanE
0x00000071010c0c5c,O,000052,_ZN4ksys5Event9setSignalEv
0x00000071010c0c90,O,000064,_ZN4ksys5Event11resetSignalEv
0x00000071010c0cd0,O,000016,_ZNK4ksys5Event11isSignalSetEv
0x00000071010c0ce0,U,000032,sinitXXX_0
0x00000071010c0d00,O,000096,_ZN4ksys4util13TaskQueueBaseC1EPN4sead4HeapE
0x00000071010c0d60,O,000136,_ZN4ksys4util13TaskQueueBaseD1Ev
0x00000071010c0de8,O,000524,_ZN4ksys4util13TaskQueueBase5clearEv
0x00000071010c0ff4,O,000144,_ZN4ksys4util13TaskQueueBaseD0Ev
0x00000071010c1084,O,000308,_ZN4ksys4util13TaskQueueBase4initERKNS1_7InitArgE
0x00000071010c11b8,O,000156,_ZN4ksys4util13TaskQueueBase9addThreadEPNS0_10TaskThreadE
0x00000071010c1254,O,000168,_ZN4ksys4util13TaskQueueBase12removeThreadEPNS0_10TaskThreadE
0x00000071010c12fc,O,000008,_ZNK4ksys4util13TaskQueueBase17getNumActiveTasksEv
0x00000071010c1304,O,000228,_ZNK4ksys4util13TaskQueueBase16countTasksInLaneEt
0x00000071010c13e8,O,000188,_ZNK4ksys4util13TaskQueueBase16areNoThreadsBusyEv
0x00000071010c14a4,O,000208,_ZN4ksys4util13TaskQueueBase19waitForQueueToEmptyEv
0x00000071010c1574,O,000212,_ZN4ksys4util13TaskQueueBase18waitForLaneToEmptyEh
0x00000071010c1648,O,000796,_ZN4ksys4util13TaskQueueBase11cancelTasksEh
0x00000071010c1964,O,000192,_ZNK4ksys4util13TaskQueueBase16isProcessingTaskEh
0x00000071010c1a24,O,000416,_ZN4ksys4util13TaskQueueBase25signalEmptyEventsIfNeededEv
0x00000071010c1bc4,O,000052,_ZN4ksys4util13TaskQueueBase10blockTasksEh
0x00000071010c1bf8,M,000464,_ZN4ksys4util13TaskQueueBase26blockTasksAndReloadThreadsEh
0x00000071010c1dc8,O,000048,_ZN4ksys4util13TaskQueueBase12unblockTasksEh
0x00000071010c1df8,O,000016,_ZN4ksys4util13TaskQueueBase4lockEPNS0_13TaskQueueLockE
0x00000071010c1e08,O,000184,_ZNK4ksys4util13TaskQueueBase16getCurrentThreadEv
0x00000071010c1ec0,O,000052,_ZN4ksys4util13TaskQueueBase16activeTasksBeginEPNS0_13TaskQueueLockE
0x00000071010c1ef4,O,000072,_ZN4ksys4util13TaskQueueBase22activeTasksRobustBeginEPNS0_13TaskQueueLockE
0x00000071010c1f3c,O,000016,_ZNK4ksys4util13TaskQueueBase14activeTasksEndEv
0x00000071010c1f4c,O,000032,_ZNK4ksys4util13TaskQueueBase20activeTasksRobustEndEv
0x00000071010c1f6c,m,000384,_ZN4ksys4util13TaskQueueBase24notifyThreadsForNewTasksEv
0x00000071010c20ec,O,000412,_ZN4ksys4util13TaskQueueBase4pushERKNS1_7PushArgE
0x00000071010c2288,O,000364,_ZN4ksys4util13TaskQueueBase10removeTaskEPNS0_4TaskEb
0x00000071010c23f4,O,000004,_ZNK4ksys4util13TaskQueueBase4lockEv
0x00000071010c23f8,O,000004,_ZNK4ksys4util13TaskQueueBase6unlockEv
0x00000071010c23fc,m,000860,_ZN4ksys4util13TaskQueueBase9fetchTaskEPPNS0_4TaskE
0x00000071010c2758,O,000112,_ZNK4ksys4util13TaskQueueBase27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071010c27c8,O,000092,_ZNK4ksys4util13TaskQueueBase18getRuntimeTypeInfoEv
0x00000071010c0d00,O,000096,_ZN4ksys13TaskQueueBaseC1EPN4sead4HeapE
0x00000071010c0d60,O,000136,_ZN4ksys13TaskQueueBaseD1Ev
0x00000071010c0de8,O,000524,_ZN4ksys13TaskQueueBase5clearEv
0x00000071010c0ff4,O,000144,_ZN4ksys13TaskQueueBaseD0Ev
0x00000071010c1084,O,000308,_ZN4ksys13TaskQueueBase4initERKNS0_7InitArgE
0x00000071010c11b8,O,000156,_ZN4ksys13TaskQueueBase9addThreadEPNS_10TaskThreadE
0x00000071010c1254,O,000168,_ZN4ksys13TaskQueueBase12removeThreadEPNS_10TaskThreadE
0x00000071010c12fc,O,000008,_ZNK4ksys13TaskQueueBase17getNumActiveTasksEv
0x00000071010c1304,O,000228,_ZNK4ksys13TaskQueueBase16countTasksInLaneEt
0x00000071010c13e8,O,000188,_ZNK4ksys13TaskQueueBase16areNoThreadsBusyEv
0x00000071010c14a4,O,000208,_ZN4ksys13TaskQueueBase19waitForQueueToEmptyEv
0x00000071010c1574,O,000212,_ZN4ksys13TaskQueueBase18waitForLaneToEmptyEh
0x00000071010c1648,O,000796,_ZN4ksys13TaskQueueBase11cancelTasksEh
0x00000071010c1964,O,000192,_ZNK4ksys13TaskQueueBase16isProcessingTaskEh
0x00000071010c1a24,O,000416,_ZN4ksys13TaskQueueBase25signalEmptyEventsIfNeededEv
0x00000071010c1bc4,O,000052,_ZN4ksys13TaskQueueBase10blockTasksEh
0x00000071010c1bf8,M,000464,_ZN4ksys13TaskQueueBase26blockTasksAndReloadThreadsEh
0x00000071010c1dc8,O,000048,_ZN4ksys13TaskQueueBase12unblockTasksEh
0x00000071010c1df8,O,000016,_ZN4ksys13TaskQueueBase4lockEPNS_13TaskQueueLockE
0x00000071010c1e08,O,000184,_ZNK4ksys13TaskQueueBase16getCurrentThreadEv
0x00000071010c1ec0,O,000052,_ZN4ksys13TaskQueueBase16activeTasksBeginEPNS_13TaskQueueLockE
0x00000071010c1ef4,O,000072,_ZN4ksys13TaskQueueBase22activeTasksRobustBeginEPNS_13TaskQueueLockE
0x00000071010c1f3c,O,000016,_ZNK4ksys13TaskQueueBase14activeTasksEndEv
0x00000071010c1f4c,O,000032,_ZNK4ksys13TaskQueueBase20activeTasksRobustEndEv
0x00000071010c1f6c,m,000384,_ZN4ksys13TaskQueueBase24notifyThreadsForNewTasksEv
0x00000071010c20ec,O,000412,_ZN4ksys13TaskQueueBase4pushERKNS0_7PushArgE
0x00000071010c2288,O,000364,_ZN4ksys13TaskQueueBase10removeTaskEPNS_4TaskEb
0x00000071010c23f4,O,000004,_ZNK4ksys13TaskQueueBase4lockEv
0x00000071010c23f8,O,000004,_ZNK4ksys13TaskQueueBase6unlockEv
0x00000071010c23fc,m,000860,_ZN4ksys13TaskQueueBase9fetchTaskEPPNS_4TaskE
0x00000071010c2758,O,000112,_ZNK4ksys13TaskQueueBase27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071010c27c8,O,000092,_ZNK4ksys13TaskQueueBase18getRuntimeTypeInfoEv
0x00000071010c2824,U,000100,sinitKsysTaskQueueBase
0x00000071010c2888,O,000020,_ZN4ksys4util13TaskQueueLockC1Ev
0x00000071010c289c,O,000068,_ZN4ksys4util13TaskQueueLockD1Ev
0x00000071010c28e0,O,000068,_ZN4ksys4util13TaskQueueLockD0Ev
0x00000071010c2924,O,000032,_ZN4ksys4util13TaskQueueLock4lockEPNS0_13TaskQueueBaseE
0x00000071010c2944,O,000112,_ZNK4ksys4util13TaskQueueLock27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071010c29b4,O,000092,_ZNK4ksys4util13TaskQueueLock18getRuntimeTypeInfoEv
0x00000071010c2888,O,000020,_ZN4ksys13TaskQueueLockC1Ev
0x00000071010c289c,O,000068,_ZN4ksys13TaskQueueLockD1Ev
0x00000071010c28e0,O,000068,_ZN4ksys13TaskQueueLockD0Ev
0x00000071010c2924,O,000032,_ZN4ksys13TaskQueueLock4lockEPNS_13TaskQueueBaseE
0x00000071010c2944,O,000112,_ZNK4ksys13TaskQueueLock27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071010c29b4,O,000092,_ZNK4ksys13TaskQueueLock18getRuntimeTypeInfoEv
0x00000071010c2a10,O,000008,_ZN5uking3act17PlayerCreateTrace4makeERKN4sead14SafeStringBaseIcEEi
0x00000071010c2a18,O,000004,_ZN5uking3act18PlayerCreateTracer6finishEv
0x00000071010c2a1c,O,000024,_ZN5uking3act22PlayerCreateTraceScopeC1EPNS0_17PlayerCreateTraceERKN4sead14SafeStringBaseIcEES8_i
0x00000071010c2a34,O,000020,_ZN5uking3act22PlayerCreateTraceScopeD1Ev
0x00000071010c2a48,O,000004,_ZN5uking3act22PlayerCreateTraceScopeD0Ev
0x00000071010c2a4c,O,000032,_ZN4ksys4util17ManagedTaskHandleC1Ev
0x00000071010c2a6c,O,000128,_ZN4ksys4util17ManagedTaskHandleD1Ev
0x00000071010c2aec,O,000160,_ZN4ksys4util17ManagedTaskHandle19removeTaskFromQueueEv
0x00000071010c2b8c,O,000108,_ZN4ksys4util17ManagedTaskHandle8finalizeEv
0x00000071010c2bf8,O,000136,_ZN4ksys4util17ManagedTaskHandleD0Ev
0x00000071010c2c80,O,000016,_ZNK4ksys4util17ManagedTaskHandle7hasTaskEv
0x00000071010c2c90,O,000164,_ZN4ksys4util17ManagedTaskHandle4waitEv
0x00000071010c2d34,O,000248,_ZN4ksys4util17ManagedTaskHandle4waitERKN4sead8TickSpanE
0x00000071010c2e2c,O,000032,_ZNK4ksys4util17ManagedTaskHandle14isTaskAttachedEv
0x00000071010c2e4c,O,000036,_ZNK4ksys4util17ManagedTaskHandle27didTaskCompleteSuccessfullyEv
0x00000071010c2e70,O,000096,_ZN4ksys4util17ManagedTaskHandle10attachTaskERKNS1_10SetTaskArgE
0x00000071010c2ed0,O,000008,_ZN4ksys4util17ManagedTaskHandle9setStatusENS1_6StatusE
0x00000071010c2ed8,O,000012,_ZN4ksys4util17ManagedTaskHandle12setIsSuccessEb
0x00000071010c2a4c,O,000032,_ZN4ksys17ManagedTaskHandleC1Ev
0x00000071010c2a6c,O,000128,_ZN4ksys17ManagedTaskHandleD1Ev
0x00000071010c2aec,O,000160,_ZN4ksys17ManagedTaskHandle19removeTaskFromQueueEv
0x00000071010c2b8c,O,000108,_ZN4ksys17ManagedTaskHandle8finalizeEv
0x00000071010c2bf8,O,000136,_ZN4ksys17ManagedTaskHandleD0Ev
0x00000071010c2c80,O,000016,_ZNK4ksys17ManagedTaskHandle7hasTaskEv
0x00000071010c2c90,O,000164,_ZN4ksys17ManagedTaskHandle4waitEv
0x00000071010c2d34,O,000248,_ZN4ksys17ManagedTaskHandle4waitERKN4sead8TickSpanE
0x00000071010c2e2c,O,000032,_ZNK4ksys17ManagedTaskHandle14isTaskAttachedEv
0x00000071010c2e4c,O,000036,_ZNK4ksys17ManagedTaskHandle27didTaskCompleteSuccessfullyEv
0x00000071010c2e70,O,000096,_ZN4ksys17ManagedTaskHandle10attachTaskERKNS0_10SetTaskArgE
0x00000071010c2ed0,O,000008,_ZN4ksys17ManagedTaskHandle9setStatusENS0_6StatusE
0x00000071010c2ed8,O,000012,_ZN4ksys17ManagedTaskHandle12setIsSuccessEb
0x00000071010c2ee4,U,000516,
0x00000071010c30e8,U,000044,
0x00000071010c3114,U,000280,ElementSpark::ctor
@@ -92424,7 +92424,7 @@ Address,Quality,Size,Name
0x00000071011bf1cc,O,000008,_ZNK4ksys3act11BaseProcMgr28isAnyInitializerThreadActiveEv
0x00000071011bf1d4,O,000012,_ZNK4ksys3act11BaseProcMgr23getInitializerQueueSizeEv
0x00000071011bf1e0,O,000008,_ZNK4ksys3act11BaseProcMgr25getInitializerQueueSizeExEi
0x00000071011bf1e8,O,000008,_ZN4ksys3act11BaseProcMgr24removeInitializerTasksIfERN4sead11IDelegate1RIPNS_4util4TaskEbEE
0x00000071011bf1e8,O,000008,_ZN4ksys3act11BaseProcMgr24removeInitializerTasksIfERN4sead11IDelegate1RIPNS_4TaskEbEE
0x00000071011bf1f0,O,000012,_ZN4ksys3act11BaseProcMgr25setActorGenerationEnabledEb
0x00000071011bf1fc,O,000024,_ZN4ksys3act11BaseProcMgr13incrementUnk3Ev
0x00000071011bf214,O,000020,_ZN4ksys3act11BaseProcMgr13decrementUnk3Ev
@@ -92812,7 +92812,7 @@ Address,Quality,Size,Name
0x00000071011dbae4,O,000260,_ZN4ksys3act12ActorCreator14createInstanceEPN4sead4HeapE
0x00000071011dbbe8,O,000088,_ZN4ksys3act12ActorCreator14deleteInstanceEv
0x00000071011dbc40,U,001652,ActorCreator::invokedCreateActor
0x00000071011dc2b4,O,000152,_ZN4ksys3act12ActorCreator13onTaskRemovedERKNS_4util25TaskRemoveCallbackContextE
0x00000071011dc2b4,O,000152,_ZN4ksys3act12ActorCreator13onTaskRemovedERKNS_25TaskRemoveCallbackContextE
0x00000071011dc34c,O,000020,_ZN4ksys3act12ActorCreatorD1Ev
0x00000071011dc360,O,000052,_ZN4ksys3act12ActorCreatorD0Ev
0x00000071011dc394,O,000004,_ZN4ksys3act22BaseProcCreateTaskDataD2Ev
@@ -92835,20 +92835,20 @@ Address,Quality,Size,Name
0x00000071011dd998,O,000056,_ZN4ksys3act26BaseProcCreateTaskSelector18SingletonDisposer_D1Ev
0x00000071011dd9d0,O,000092,_ZN4ksys3act26BaseProcCreateTaskSelector18SingletonDisposer_D0Ev
0x00000071011dda2c,O,000148,_ZN4ksys3act26BaseProcCreateTaskSelector14createInstanceEPN4sead4HeapE
0x00000071011ddac0,O,000348,_ZN4ksys3act26BaseProcCreateTaskSelector10selectTaskERKNS_4util20TaskSelectionContextE
0x00000071011ddac0,O,000348,_ZN4ksys3act26BaseProcCreateTaskSelector10selectTaskERKNS_20TaskSelectionContextE
0x00000071011ddc1c,O,000204,_ZNK4ksys3act22BaseProcCreateTaskData27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011ddce8,O,000092,_ZNK4ksys3act22BaseProcCreateTaskData18getRuntimeTypeInfoEv
0x00000071011ddd44,O,000004,_ZN4ksys3act22BaseProcCreateTaskDataD0Ev
0x00000071011ddd48,O,000052,_ZN4sead10Delegate1RIN4ksys3act26BaseProcCreateTaskSelectorERKNS1_4util20TaskSelectionContextEPNS4_4TaskEE6invokeES7_
0x00000071011ddd7c,O,000092,_ZNK4sead10Delegate1RIN4ksys3act26BaseProcCreateTaskSelectorERKNS1_4util20TaskSelectionContextEPNS4_4TaskEE5cloneEPNS_4HeapE
0x00000071011dddd8,O,000008,_ZNK4sead11IDelegate1RIRKN4ksys4util20TaskSelectionContextEPNS2_4TaskEE9isNoDummyEv
0x00000071011ddde0,O,000008,_ZNK4sead11IDelegate1RIRKN4ksys4util20TaskSelectionContextEPNS2_4TaskEE5cloneEPNS_4HeapE
0x00000071011ddd48,O,000052,_ZN4sead10Delegate1RIN4ksys3act26BaseProcCreateTaskSelectorERKNS1_20TaskSelectionContextEPNS1_4TaskEE6invokeES6_
0x00000071011ddd7c,O,000092,_ZNK4sead10Delegate1RIN4ksys3act26BaseProcCreateTaskSelectorERKNS1_20TaskSelectionContextEPNS1_4TaskEE5cloneEPNS_4HeapE
0x00000071011dddd8,O,000008,_ZNK4sead11IDelegate1RIRKN4ksys20TaskSelectionContextEPNS1_4TaskEE9isNoDummyEv
0x00000071011ddde0,O,000008,_ZNK4sead11IDelegate1RIRKN4ksys20TaskSelectionContextEPNS1_4TaskEE5cloneEPNS_4HeapE
0x00000071011ddde8,O,000052,_ZN4sead10Delegate1RIN4ksys3act12ActorCreatorERNS2_17BaseProcCreateArgEPNS2_8BaseProcEE6invokeES5_
0x00000071011dde1c,O,000092,_ZNK4sead10Delegate1RIN4ksys3act12ActorCreatorERNS2_17BaseProcCreateArgEPNS2_8BaseProcEE5cloneEPNS_4HeapE
0x00000071011dde78,O,000008,_ZNK4sead11IDelegate1RIRN4ksys3act17BaseProcCreateArgEPNS2_8BaseProcEE9isNoDummyEv
0x00000071011dde80,O,000008,_ZNK4sead11IDelegate1RIRN4ksys3act17BaseProcCreateArgEPNS2_8BaseProcEE5cloneEPNS_4HeapE
0x00000071011dde88,O,000048,_ZN4sead9Delegate1IN4ksys3act12ActorCreatorERKNS1_4util25TaskRemoveCallbackContextEE6invokeES7_
0x00000071011ddeb8,O,000092,_ZNK4sead9Delegate1IN4ksys3act12ActorCreatorERKNS1_4util25TaskRemoveCallbackContextEE5cloneEPNS_4HeapE
0x00000071011dde88,O,000048,_ZN4sead9Delegate1IN4ksys3act12ActorCreatorERKNS1_25TaskRemoveCallbackContextEE6invokeES6_
0x00000071011ddeb8,O,000092,_ZNK4sead9Delegate1IN4ksys3act12ActorCreatorERKNS1_25TaskRemoveCallbackContextEE5cloneEPNS_4HeapE
0x00000071011ddf14,O,000064,_ZN4ksys3act2ai2AiC1ERKNS1_10ActionBase7InitArgE
0x00000071011ddf54,O,000084,_ZN4ksys3act2ai2AiD1Ev
0x00000071011ddfa8,O,000092,_ZN4ksys3act2ai2AiD0Ev
@@ -93292,130 +93292,130 @@ Address,Quality,Size,Name
0x00000071011f67b0,O,000008,_ZN4ksys24MessageTransceiverRxOnly11getReceiverEv
0x00000071011f67b8,O,000204,_ZNK4ksys24MessageTransceiverRxOnly8Receiver27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f6884,O,000092,_ZNK4ksys24MessageTransceiverRxOnly8Receiver18getRuntimeTypeInfoEv
0x00000071011f68e0,O,000108,_ZN4ksys4util10TaskThreadC1ERKN4sead14SafeStringBaseIcEEPNS2_4HeapEiNS2_12MessageQueue9BlockTypeElii
0x00000071011f694c,O,000120,_ZN4ksys4util10TaskThreadD1Ev
0x00000071011f69c4,O,000128,_ZN4ksys4util10TaskThreadD0Ev
0x00000071011f6a44,O,000224,_ZN4ksys4util10TaskThread4initERKNS1_7InitArgE
0x00000071011f6b24,O,000008,_ZNK4ksys4util10TaskThread17getNumActiveTasksEv
0x00000071011f6b2c,O,000008,_ZN4ksys4util10TaskThread19waitForQueueToEmptyEv
0x00000071011f6b34,O,000008,_ZN4ksys4util10TaskThread11cancelTasksEh
0x00000071011f6b3c,O,000008,_ZN4ksys4util10TaskThread10clearQueueEv
0x00000071011f6b44,O,000008,_ZN4ksys4util10TaskThread4lockEPNS0_13TaskQueueLockE
0x00000071011f6b4c,O,000064,_ZNK4ksys4util10TaskThread33isActiveAndReceivedQueueUpdateMsgEv
0x00000071011f6b8c,O,000012,_ZNK4ksys4util10TaskThread8isPausedEv
0x00000071011f6b98,O,000036,_ZNK4ksys4util10TaskThread23receivedQueueUpdatedMsgEv
0x00000071011f6bbc,O,000128,_ZN4ksys4util10TaskThread5pauseEv
0x00000071011f6c3c,O,000156,_ZN4ksys4util10TaskThread18pauseAndWaitForAckEv
0x00000071011f6cd8,O,000128,_ZN4ksys4util10TaskThread6resumeEv
0x00000071011f6d58,O,000156,_ZN4ksys4util10TaskThread19resumeAndWaitForAckEv
0x00000071011f6df4,O,000016,_ZNK4ksys4util10TaskThread20isBusyProcessingTaskEv
0x00000071011f6e04,O,000012,_ZNK4ksys4util10TaskThread16isLookingForTaskEv
0x00000071011f6e10,m,000624,_ZN4ksys4util10TaskThread5calc_El
0x00000071011f7080,O,000004,_ZN4ksys4util17TaskPostRunResultD2Ev
0x00000071011f7084,O,000036,_ZNK4ksys4util10TaskThread16receivedPauseMsgEv
0x00000071011f70a8,O,000036,_ZNK4ksys4util10TaskThread17receivedResumeMsgEv
0x00000071011f70cc,O,000048,_ZNK4ksys4util10TaskThread15receivedQuitMsgEv
0x00000071011f70fc,O,000076,_ZN4ksys4util10TaskThread17cancelCurrentTaskEv
0x00000071011f7148,O,000112,_ZNK4ksys4util10TaskThread27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f71b8,O,000092,_ZNK4ksys4util10TaskThread18getRuntimeTypeInfoEv
0x00000071011f7214,O,000112,_ZNK4ksys4util17TaskPostRunResult27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f7284,O,000092,_ZNK4ksys4util17TaskPostRunResult18getRuntimeTypeInfoEv
0x00000071011f72e0,O,000004,_ZN4ksys4util17TaskPostRunResultD0Ev
0x00000071011f68e0,O,000108,_ZN4ksys10TaskThreadC1ERKN4sead14SafeStringBaseIcEEPNS1_4HeapEiNS1_12MessageQueue9BlockTypeElii
0x00000071011f694c,O,000120,_ZN4ksys10TaskThreadD1Ev
0x00000071011f69c4,O,000128,_ZN4ksys10TaskThreadD0Ev
0x00000071011f6a44,O,000224,_ZN4ksys10TaskThread4initERKNS0_7InitArgE
0x00000071011f6b24,O,000008,_ZNK4ksys10TaskThread17getNumActiveTasksEv
0x00000071011f6b2c,O,000008,_ZN4ksys10TaskThread19waitForQueueToEmptyEv
0x00000071011f6b34,O,000008,_ZN4ksys10TaskThread11cancelTasksEh
0x00000071011f6b3c,O,000008,_ZN4ksys10TaskThread10clearQueueEv
0x00000071011f6b44,O,000008,_ZN4ksys10TaskThread4lockEPNS_13TaskQueueLockE
0x00000071011f6b4c,O,000064,_ZNK4ksys10TaskThread33isActiveAndReceivedQueueUpdateMsgEv
0x00000071011f6b8c,O,000012,_ZNK4ksys10TaskThread8isPausedEv
0x00000071011f6b98,O,000036,_ZNK4ksys10TaskThread23receivedQueueUpdatedMsgEv
0x00000071011f6bbc,O,000128,_ZN4ksys10TaskThread5pauseEv
0x00000071011f6c3c,O,000156,_ZN4ksys10TaskThread18pauseAndWaitForAckEv
0x00000071011f6cd8,O,000128,_ZN4ksys10TaskThread6resumeEv
0x00000071011f6d58,O,000156,_ZN4ksys10TaskThread19resumeAndWaitForAckEv
0x00000071011f6df4,O,000016,_ZNK4ksys10TaskThread20isBusyProcessingTaskEv
0x00000071011f6e04,O,000012,_ZNK4ksys10TaskThread16isLookingForTaskEv
0x00000071011f6e10,m,000624,_ZN4ksys10TaskThread5calc_El
0x00000071011f7080,O,000004,_ZN4ksys17TaskPostRunResultD2Ev
0x00000071011f7084,O,000036,_ZNK4ksys10TaskThread16receivedPauseMsgEv
0x00000071011f70a8,O,000036,_ZNK4ksys10TaskThread17receivedResumeMsgEv
0x00000071011f70cc,O,000048,_ZNK4ksys10TaskThread15receivedQuitMsgEv
0x00000071011f70fc,O,000076,_ZN4ksys10TaskThread17cancelCurrentTaskEv
0x00000071011f7148,O,000112,_ZNK4ksys10TaskThread27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f71b8,O,000092,_ZNK4ksys10TaskThread18getRuntimeTypeInfoEv
0x00000071011f7214,O,000112,_ZNK4ksys17TaskPostRunResult27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f7284,O,000092,_ZNK4ksys17TaskPostRunResult18getRuntimeTypeInfoEv
0x00000071011f72e0,O,000004,_ZN4ksys17TaskPostRunResultD0Ev
0x00000071011f72e4,U,000044,
0x00000071011f7310,O,000060,_ZN4ksys4util11ManagedTaskC1EPN4sead4HeapE
0x00000071011f734c,O,000072,_ZN4ksys4util11ManagedTaskC1EN4sead9IDisposer14HeapNullOptionE
0x00000071011f7394,O,000072,_ZN4ksys4util11ManagedTaskD1Ev
0x00000071011f73dc,O,000080,_ZN4ksys4util11ManagedTaskD0Ev
0x00000071011f742c,O,000016,_ZN4ksys4util11ManagedTask8prepare_EPNS0_11TaskRequestE
0x00000071011f743c,O,000044,_ZN4ksys4util11ManagedTask4run_Ev
0x00000071011f7468,O,000004,_ZN4ksys4util11ManagedTask14onRunFinished_Ev
0x00000071011f746c,O,000100,_ZN4ksys4util11ManagedTask9onFinish_Ev
0x00000071011f74d0,O,000012,_ZN4ksys4util11ManagedTask13onPostFinish_Ev
0x00000071011f74dc,O,000088,_ZN4ksys4util11ManagedTask10preRemove_Ev
0x00000071011f7534,O,000012,_ZN4ksys4util11ManagedTask11postRemove_Ev
0x00000071011f7540,O,000004,_ZN4ksys4util11ManagedTask6onRun_Ev
0x00000071011f7544,O,000004,_ZN4ksys4util11ManagedTask12prepareImpl_EPNS0_11TaskRequestE
0x00000071011f7548,O,000004,_ZN4ksys4util11ManagedTask14preRemoveImpl_Ev
0x00000071011f754c,O,000008,_ZNK4ksys4util11ManagedTask6isIdleEv
0x00000071011f7554,O,000008,_ZN4ksys4util11ManagedTask6setMgrEPNS0_7TaskMgrE
0x00000071011f755c,O,000084,_ZN4ksys4util11ManagedTask12attachHandleEPNS0_17ManagedTaskHandleEPNS0_13TaskQueueBaseE
0x00000071011f75b0,m,000128,_ZN4ksys4util11ManagedTask12detachHandleEv
0x00000071011f7630,O,000204,_ZNK4ksys4util11ManagedTask27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f76fc,O,000092,_ZNK4ksys4util11ManagedTask18getRuntimeTypeInfoEv
0x00000071011f7758,O,000068,_ZN4ksys4util14GameTaskThreadC1ERKN4sead14SafeStringBaseIcEEPNS2_4HeapEiNS2_12MessageQueue9BlockTypeElii
0x00000071011f779c,O,000028,_ZN4ksys4util14GameTaskThreadD2Ev
0x00000071011f77b8,O,000060,_ZN4ksys4util14GameTaskThreadD0Ev
0x00000071011f77f4,O,000052,_ZN4ksys4util14GameTaskThread4quitEb
0x00000071011f7310,O,000060,_ZN4ksys11ManagedTaskC1EPN4sead4HeapE
0x00000071011f734c,O,000072,_ZN4ksys11ManagedTaskC1EN4sead9IDisposer14HeapNullOptionE
0x00000071011f7394,O,000072,_ZN4ksys11ManagedTaskD1Ev
0x00000071011f73dc,O,000080,_ZN4ksys11ManagedTaskD0Ev
0x00000071011f742c,O,000016,_ZN4ksys11ManagedTask8prepare_EPNS_11TaskRequestE
0x00000071011f743c,O,000044,_ZN4ksys11ManagedTask4run_Ev
0x00000071011f7468,O,000004,_ZN4ksys11ManagedTask14onRunFinished_Ev
0x00000071011f746c,O,000100,_ZN4ksys11ManagedTask9onFinish_Ev
0x00000071011f74d0,O,000012,_ZN4ksys11ManagedTask13onPostFinish_Ev
0x00000071011f74dc,O,000088,_ZN4ksys11ManagedTask10preRemove_Ev
0x00000071011f7534,O,000012,_ZN4ksys11ManagedTask11postRemove_Ev
0x00000071011f7540,O,000004,_ZN4ksys11ManagedTask6onRun_Ev
0x00000071011f7544,O,000004,_ZN4ksys11ManagedTask12prepareImpl_EPNS_11TaskRequestE
0x00000071011f7548,O,000004,_ZN4ksys11ManagedTask14preRemoveImpl_Ev
0x00000071011f754c,O,000008,_ZNK4ksys11ManagedTask6isIdleEv
0x00000071011f7554,O,000008,_ZN4ksys11ManagedTask6setMgrEPNS_7TaskMgrE
0x00000071011f755c,O,000084,_ZN4ksys11ManagedTask12attachHandleEPNS_17ManagedTaskHandleEPNS_13TaskQueueBaseE
0x00000071011f75b0,m,000128,_ZN4ksys11ManagedTask12detachHandleEv
0x00000071011f7630,O,000204,_ZNK4ksys11ManagedTask27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f76fc,O,000092,_ZNK4ksys11ManagedTask18getRuntimeTypeInfoEv
0x00000071011f7758,O,000068,_ZN4ksys14GameTaskThreadC1ERKN4sead14SafeStringBaseIcEEPNS1_4HeapEiNS1_12MessageQueue9BlockTypeElii
0x00000071011f779c,O,000028,_ZN4ksys14GameTaskThreadD2Ev
0x00000071011f77b8,O,000060,_ZN4ksys14GameTaskThreadD0Ev
0x00000071011f77f4,O,000052,_ZN4ksys14GameTaskThread4quitEb
0x00000071011f7828,U,000164,ThreadDerived::calc_
0x00000071011f78cc,O,000204,_ZNK4ksys4util14GameTaskThread27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f7998,O,000092,_ZNK4ksys4util14GameTaskThread18getRuntimeTypeInfoEv
0x00000071011f79f4,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveIN4ksys4util10TaskThreadEE9isDerivedEPKNS0_9InterfaceE
0x00000071011f7a80,O,000020,_ZN4ksys4util18TaskDelegateSetterC1Ev
0x00000071011f7a94,O,000004,_ZN4ksys4util18TaskDelegateSetterD1Ev
0x00000071011f7a98,O,000004,_ZN4ksys4util18TaskDelegateSetterD0Ev
0x00000071011f7a9c,O,000008,_ZN4ksys4util18TaskDelegateSetter11setDelegateEPN4sead11IDelegate1RIPvbEE
0x00000071011f7aa4,O,000120,_ZN4ksys4util4TaskC1EPN4sead4HeapE
0x00000071011f7b1c,O,000120,_ZN4ksys4util4TaskC1EPN4sead4HeapENS2_9IDisposer14HeapNullOptionE
0x00000071011f7b94,m,000132,_ZN4ksys4util4TaskD1Ev
0x00000071011f7c18,m,000112,_ZN4ksys4util4Task9finalize_Ev
0x00000071011f7c88,m,000140,_ZN4ksys4util4TaskD0Ev
0x00000071011f7d14,O,000036,_ZN4ksys4util4Task11setDelegateERKNS0_18TaskDelegateSetterE
0x00000071011f7d38,m,000544,_ZN4ksys4util4Task13submitRequestERNS0_11TaskRequestE
0x00000071011f7f58,O,000124,_ZNK4ksys4util4Task16canSubmitRequestEv
0x00000071011f7fd4,O,000008,_ZN4ksys4util4Task11setUserDataEPv
0x00000071011f7fdc,O,000088,_ZN4ksys4util4Task20setDelegateInternal_EPN4sead11IDelegate1RIPvbEE
0x00000071011f8034,O,000360,_ZN4ksys4util4Task30processOnCurrentThreadDirectlyEPNS0_10TaskThreadE
0x00000071011f819c,O,000028,_ZN4ksys4util4Task15removeFromQueueEv
0x00000071011f81b8,O,000028,_ZN4ksys4util4Task16removeFromQueue2Ev
0x00000071011f81d4,O,000028,_ZN4ksys4util4Task4waitEv
0x00000071011f81f0,O,000012,_ZN4ksys4util4Task4waitERKN4sead8TickSpanE
0x00000071011f81fc,O,000008,_ZNK4ksys4util4Task9getLaneIdEv
0x00000071011f8204,O,000040,_ZNK4ksys4util4Task9isSuccessEv
0x00000071011f822c,O,000040,_ZNK4ksys4util4Task10isInactiveEv
0x00000071011f8254,O,000012,_ZN4ksys4util4Task15setStatusPushedEv
0x00000071011f8260,O,000008,_ZN4ksys4util4Task9setThreadEPNS0_10TaskThreadE
0x00000071011f8268,O,000048,_ZN4ksys4util4Task3runEv
0x00000071011f8298,O,000012,_ZN4ksys4util4Task13onRunFinishedEv
0x00000071011f82a4,O,000100,_ZN4ksys4util4Task21invokePostRunCallbackEPNS0_17TaskPostRunResultE
0x00000071011f8308,O,000100,_ZN4ksys4util4Task6finishEv
0x00000071011f836c,O,000008,_ZN4ksys4util4Task14onSetDelegate_ERKNS0_18TaskDelegateSetterE
0x00000071011f8374,O,000004,_ZN4ksys4util4Task8prepare_EPNS0_11TaskRequestE
0x00000071011f8378,O,000060,_ZN4ksys4util4Task4run_Ev
0x00000071011f83b4,O,000004,_ZN4ksys4util4Task14onRunFinished_Ev
0x00000071011f83b8,O,000004,_ZN4ksys4util4Task9onFinish_Ev
0x00000071011f83bc,O,000004,_ZN4ksys4util4Task13onPostFinish_Ev
0x00000071011f83c0,O,000004,_ZN4ksys4util4Task10preRemove_Ev
0x00000071011f83c4,O,000004,_ZN4ksys4util4Task11postRemove_Ev
0x00000071011f83c8,O,000008,_ZNK4ksys4util4Task11getUserDataEv
0x00000071011f83d0,O,000052,_ZN4ksys4util4Task6cancelEv
0x00000071011f8404,O,000192,_ZN4ksys4util4Task8onRemoveEv
0x00000071011f84c4,O,000004,_ZN4ksys4util25TaskRemoveCallbackContextD2Ev
0x00000071011f84c8,O,000004,_ZN4ksys4util18TaskPostRunContextD2Ev
0x00000071011f84cc,O,000012,_ZN4ksys4util4Task16setStatusFetchedEv
0x00000071011f84d8,O,000008,_ZN4ksys4util4Task9setLaneIdEh
0x00000071011f84e0,O,000112,_ZNK4ksys4util18TaskDelegateSetter27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f8550,O,000092,_ZNK4ksys4util18TaskDelegateSetter18getRuntimeTypeInfoEv
0x00000071011f85ac,O,000112,_ZNK4ksys4util4Task27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f861c,O,000092,_ZNK4ksys4util4Task18getRuntimeTypeInfoEv
0x00000071011f8678,O,000112,_ZNK4ksys4util25TaskRemoveCallbackContext27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f86e8,O,000092,_ZNK4ksys4util25TaskRemoveCallbackContext18getRuntimeTypeInfoEv
0x00000071011f8744,O,000004,_ZN4ksys4util25TaskRemoveCallbackContextD0Ev
0x00000071011f8748,O,000112,_ZNK4ksys4util18TaskPostRunContext27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f87b8,O,000092,_ZNK4ksys4util18TaskPostRunContext18getRuntimeTypeInfoEv
0x00000071011f8814,O,000004,_ZN4ksys4util18TaskPostRunContextD0Ev
0x00000071011f8818,O,000172,_ZN4ksys4util7TaskMgrC1EPN4sead4HeapE
0x00000071011f88c4,O,000080,_ZN4ksys4util7TaskMgrD1Ev
0x00000071011f8914,O,000196,_ZN4ksys4util7TaskMgr8finalizeEv
0x00000071011f89d8,O,000088,_ZN4ksys4util7TaskMgrD0Ev
0x00000071011f8a30,O,000408,_ZN4ksys4util7TaskMgr13submitRequestERNS0_14TaskMgrRequestE
0x00000071011f8bc8,m,000276,_ZN4ksys4util7TaskMgr24fetchIdleTaskForRequest_ERNS0_14TaskMgrRequestEb
0x00000071011f8cdc,O,000112,_ZN4ksys4util7TaskMgr8freeTaskEPNS0_11ManagedTaskE
0x00000071011f8d4c,O,000460,_ZN4ksys4util7TaskMgr16trySubmitRequestERNS0_14TaskMgrRequestE
0x00000071011f8f18,m,000380,_ZN4ksys4util7TaskMgr4initEiPN4sead4HeapERNS2_10IDelegate1IPPNS0_11ManagedTaskEEE
0x00000071011f9094,O,000016,_ZNK4ksys4util7TaskMgr8hasTasksEv
0x00000071011f90a4,O,000428,_ZN4ksys4util7TaskMgr14fetchIdleTask_Eb
0x00000071011f9250,O,000112,_ZNK4ksys4util7TaskMgr27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f92c0,O,000092,_ZNK4ksys4util7TaskMgr18getRuntimeTypeInfoEv
0x00000071011f78cc,O,000204,_ZNK4ksys14GameTaskThread27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f7998,O,000092,_ZNK4ksys14GameTaskThread18getRuntimeTypeInfoEv
0x00000071011f79f4,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveIN4ksys10TaskThreadEE9isDerivedEPKNS0_9InterfaceE
0x00000071011f7a80,O,000020,_ZN4ksys18TaskDelegateSetterC1Ev
0x00000071011f7a94,O,000004,_ZN4ksys18TaskDelegateSetterD1Ev
0x00000071011f7a98,O,000004,_ZN4ksys18TaskDelegateSetterD0Ev
0x00000071011f7a9c,O,000008,_ZN4ksys18TaskDelegateSetter11setDelegateEPN4sead11IDelegate1RIPvbEE
0x00000071011f7aa4,O,000120,_ZN4ksys4TaskC1EPN4sead4HeapE
0x00000071011f7b1c,O,000120,_ZN4ksys4TaskC1EPN4sead4HeapENS1_9IDisposer14HeapNullOptionE
0x00000071011f7b94,m,000132,_ZN4ksys4TaskD1Ev
0x00000071011f7c18,m,000112,_ZN4ksys4Task9finalize_Ev
0x00000071011f7c88,m,000140,_ZN4ksys4TaskD0Ev
0x00000071011f7d14,O,000036,_ZN4ksys4Task11setDelegateERKNS_18TaskDelegateSetterE
0x00000071011f7d38,m,000544,_ZN4ksys4Task13submitRequestERNS_11TaskRequestE
0x00000071011f7f58,O,000124,_ZNK4ksys4Task16canSubmitRequestEv
0x00000071011f7fd4,O,000008,_ZN4ksys4Task11setUserDataEPv
0x00000071011f7fdc,O,000088,_ZN4ksys4Task20setDelegateInternal_EPN4sead11IDelegate1RIPvbEE
0x00000071011f8034,O,000360,_ZN4ksys4Task30processOnCurrentThreadDirectlyEPNS_10TaskThreadE
0x00000071011f819c,O,000028,_ZN4ksys4Task15removeFromQueueEv
0x00000071011f81b8,O,000028,_ZN4ksys4Task16removeFromQueue2Ev
0x00000071011f81d4,O,000028,_ZN4ksys4Task4waitEv
0x00000071011f81f0,O,000012,_ZN4ksys4Task4waitERKN4sead8TickSpanE
0x00000071011f81fc,O,000008,_ZNK4ksys4Task9getLaneIdEv
0x00000071011f8204,O,000040,_ZNK4ksys4Task9isSuccessEv
0x00000071011f822c,O,000040,_ZNK4ksys4Task10isInactiveEv
0x00000071011f8254,O,000012,_ZN4ksys4Task15setStatusPushedEv
0x00000071011f8260,O,000008,_ZN4ksys4Task9setThreadEPNS_10TaskThreadE
0x00000071011f8268,O,000048,_ZN4ksys4Task3runEv
0x00000071011f8298,O,000012,_ZN4ksys4Task13onRunFinishedEv
0x00000071011f82a4,O,000100,_ZN4ksys4Task21invokePostRunCallbackEPNS_17TaskPostRunResultE
0x00000071011f8308,O,000100,_ZN4ksys4Task6finishEv
0x00000071011f836c,O,000008,_ZN4ksys4Task14onSetDelegate_ERKNS_18TaskDelegateSetterE
0x00000071011f8374,O,000004,_ZN4ksys4Task8prepare_EPNS_11TaskRequestE
0x00000071011f8378,O,000060,_ZN4ksys4Task4run_Ev
0x00000071011f83b4,O,000004,_ZN4ksys4Task14onRunFinished_Ev
0x00000071011f83b8,O,000004,_ZN4ksys4Task9onFinish_Ev
0x00000071011f83bc,O,000004,_ZN4ksys4Task13onPostFinish_Ev
0x00000071011f83c0,O,000004,_ZN4ksys4Task10preRemove_Ev
0x00000071011f83c4,O,000004,_ZN4ksys4Task11postRemove_Ev
0x00000071011f83c8,O,000008,_ZNK4ksys4Task11getUserDataEv
0x00000071011f83d0,O,000052,_ZN4ksys4Task6cancelEv
0x00000071011f8404,O,000192,_ZN4ksys4Task8onRemoveEv
0x00000071011f84c4,O,000004,_ZN4ksys25TaskRemoveCallbackContextD2Ev
0x00000071011f84c8,O,000004,_ZN4ksys18TaskPostRunContextD2Ev
0x00000071011f84cc,O,000012,_ZN4ksys4Task16setStatusFetchedEv
0x00000071011f84d8,O,000008,_ZN4ksys4Task9setLaneIdEh
0x00000071011f84e0,O,000112,_ZNK4ksys18TaskDelegateSetter27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f8550,O,000092,_ZNK4ksys18TaskDelegateSetter18getRuntimeTypeInfoEv
0x00000071011f85ac,O,000112,_ZNK4ksys4Task27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f861c,O,000092,_ZNK4ksys4Task18getRuntimeTypeInfoEv
0x00000071011f8678,O,000112,_ZNK4ksys25TaskRemoveCallbackContext27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f86e8,O,000092,_ZNK4ksys25TaskRemoveCallbackContext18getRuntimeTypeInfoEv
0x00000071011f8744,O,000004,_ZN4ksys25TaskRemoveCallbackContextD0Ev
0x00000071011f8748,O,000112,_ZNK4ksys18TaskPostRunContext27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f87b8,O,000092,_ZNK4ksys18TaskPostRunContext18getRuntimeTypeInfoEv
0x00000071011f8814,O,000004,_ZN4ksys18TaskPostRunContextD0Ev
0x00000071011f8818,O,000172,_ZN4ksys7TaskMgrC1EPN4sead4HeapE
0x00000071011f88c4,O,000080,_ZN4ksys7TaskMgrD1Ev
0x00000071011f8914,O,000196,_ZN4ksys7TaskMgr8finalizeEv
0x00000071011f89d8,O,000088,_ZN4ksys7TaskMgrD0Ev
0x00000071011f8a30,O,000408,_ZN4ksys7TaskMgr13submitRequestERNS_14TaskMgrRequestE
0x00000071011f8bc8,m,000276,_ZN4ksys7TaskMgr24fetchIdleTaskForRequest_ERNS_14TaskMgrRequestEb
0x00000071011f8cdc,O,000112,_ZN4ksys7TaskMgr8freeTaskEPNS_11ManagedTaskE
0x00000071011f8d4c,O,000460,_ZN4ksys7TaskMgr16trySubmitRequestERNS_14TaskMgrRequestE
0x00000071011f8f18,m,000380,_ZN4ksys7TaskMgr4initEiPN4sead4HeapERNS1_10IDelegate1IPPNS_11ManagedTaskEEE
0x00000071011f9094,O,000016,_ZNK4ksys7TaskMgr8hasTasksEv
0x00000071011f90a4,O,000428,_ZN4ksys7TaskMgr14fetchIdleTask_Eb
0x00000071011f9250,O,000112,_ZNK4ksys7TaskMgr27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f92c0,O,000092,_ZNK4ksys7TaskMgr18getRuntimeTypeInfoEv
0x00000071011f931c,U,000012,SeadController::getInstance
0x00000071011f9328,U,000012,SeadController::setInstance
0x00000071011f9334,U,000012,
@@ -93771,7 +93771,7 @@ Address,Quality,Size,Name
0x0000007101209c54,U,000388,_ZN4ksys3res15ResourceMgrTask20requestUnloadForSyncEPNS0_6HandleE
0x0000007101209dd8,O,000128,_ZN4ksys3res15ResourceMgrTask12registerUnitEPNS0_12ResourceUnitE
0x0000007101209e58,O,000128,_ZN4ksys3res15ResourceMgrTask14deregisterUnitEPNS0_12ResourceUnitE
0x0000007101209ed8,O,000464,_ZN4ksys3res15ResourceMgrTask17requestClearCacheEPPNS0_12ResourceUnitEPNS_4util4TaskE
0x0000007101209ed8,O,000464,_ZN4ksys3res15ResourceMgrTask17requestClearCacheEPPNS0_12ResourceUnitEPNS_4TaskE
0x000000710120a0a8,O,000524,_ZN4ksys3res15ResourceMgrTask24requestClearCacheForSyncEPPNS0_12ResourceUnitEbb
0x000000710120a2b4,O,000144,_ZN4ksys3res15ResourceMgrTask10deleteUnitERPNS0_12ResourceUnitEb
0x000000710120a344,O,000400,_ZN4ksys3res15ResourceMgrTask17requestDeleteUnitEPPNS0_12ResourceUnitE
@@ -93835,14 +93835,14 @@ Address,Quality,Size,Name
0x000000710120cc20,O,000016,_ZN4ksys3res7Counter10doSetData_ERKNS0_11CounterBase4DataE
0x000000710120cc30,O,000024,_ZN4sead14Delegate1RFuncIPvbE6invokeES1_
0x000000710120cc48,O,000076,_ZNK4sead14Delegate1RFuncIPvbE5cloneEPNS_4HeapE
0x000000710120cc94,O,000024,_ZN4sead13Delegate2FuncIPN4ksys4util17TaskPostRunResultERKNS2_18TaskPostRunContextEE6invokeES4_S7_
0x000000710120ccac,O,000076,_ZNK4sead13Delegate2FuncIPN4ksys4util17TaskPostRunResultERKNS2_18TaskPostRunContextEE5cloneEPNS_4HeapE
0x000000710120cc94,O,000024,_ZN4sead13Delegate2FuncIPN4ksys17TaskPostRunResultERKNS1_18TaskPostRunContextEE6invokeES3_S6_
0x000000710120ccac,O,000076,_ZNK4sead13Delegate2FuncIPN4ksys17TaskPostRunResultERKNS1_18TaskPostRunContextEE5cloneEPNS_4HeapE
0x000000710120ccf8,O,000052,_ZN4sead10Delegate1RIN4ksys3res15ResourceMgrTaskEPvbE6invokeES4_
0x000000710120cd2c,O,000092,_ZNK4sead10Delegate1RIN4ksys3res15ResourceMgrTaskEPvbE5cloneEPNS_4HeapE
0x000000710120cd88,O,000048,_ZN4sead9Delegate2IN4ksys3res15ResourceMgrTaskEPNS1_4util17TaskPostRunResultERKNS4_18TaskPostRunContextEE6invokeES6_S9_
0x000000710120cdb8,O,000092,_ZNK4sead9Delegate2IN4ksys3res15ResourceMgrTaskEPNS1_4util17TaskPostRunResultERKNS4_18TaskPostRunContextEE5cloneEPNS_4HeapE
0x000000710120ce14,O,000048,_ZN4sead9Delegate1IN4ksys3res15ResourceMgrTaskERKNS1_4util25TaskRemoveCallbackContextEE6invokeES7_
0x000000710120ce44,O,000092,_ZNK4sead9Delegate1IN4ksys3res15ResourceMgrTaskERKNS1_4util25TaskRemoveCallbackContextEE5cloneEPNS_4HeapE
0x000000710120cd88,O,000048,_ZN4sead9Delegate2IN4ksys3res15ResourceMgrTaskEPNS1_17TaskPostRunResultERKNS1_18TaskPostRunContextEE6invokeES5_S8_
0x000000710120cdb8,O,000092,_ZNK4sead9Delegate2IN4ksys3res15ResourceMgrTaskEPNS1_17TaskPostRunResultERKNS1_18TaskPostRunContextEE5cloneEPNS_4HeapE
0x000000710120ce14,O,000048,_ZN4sead9Delegate1IN4ksys3res15ResourceMgrTaskERKNS1_25TaskRemoveCallbackContextEE6invokeES6_
0x000000710120ce44,O,000092,_ZNK4sead9Delegate1IN4ksys3res15ResourceMgrTaskERKNS1_25TaskRemoveCallbackContextEE5cloneEPNS_4HeapE
0x000000710120cea0,U,000060,makeEventResourceLoadArg
0x000000710120cedc,U,000060,
0x000000710120cf18,U,000048,
@@ -95199,18 +95199,18 @@ Address,Quality,Size,Name
0x000000710127a374,O,000052,_ZN4sead10Delegate1RIN4ksys3act15BaseProcDeleterEPvbE6invokeES4_
0x000000710127a3a8,O,000092,_ZNK4sead10Delegate1RIN4ksys3act15BaseProcDeleterEPvbE5cloneEPNS_4HeapE
0x000000710127a404,U,000080,
0x000000710127a454,O,000100,_ZN4ksys4util16LowPrioThreadMgr18SingletonDisposer_D1Ev
0x000000710127a4b8,O,000108,_ZN4ksys4util16LowPrioThreadMgr18SingletonDisposer_D0Ev
0x000000710127a524,O,000152,_ZN4ksys4util16LowPrioThreadMgr14createInstanceEPN4sead4HeapE
0x000000710127a5bc,O,000256,_ZN4ksys4util16LowPrioThreadMgrD1Ev
0x000000710127a6bc,O,000252,_ZN4ksys4util16LowPrioThreadMgrD0Ev
0x000000710127a7b8,O,000508,_ZN4ksys4util16LowPrioThreadMgr11startThreadERKNS1_7InitArgE
0x000000710127a9b4,O,000412,_ZN4ksys4util16LowPrioThreadMgr13submitRequestERKNS1_7RequestE
0x000000710127ab50,O,000120,_ZN4ksys4util16LowPrioThreadMgr13pauseAllTasksEv
0x000000710127abc8,O,000120,_ZN4ksys4util16LowPrioThreadMgr14resumeAllTasksEv
0x000000710127ac40,O,000004,_ZN4ksys4util16LowPrioThreadMgr14sub_710127AC40Ev
0x000000710127ac44,O,000112,_ZNK4ksys4util16LowPrioThreadMgr27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x000000710127acb4,O,000092,_ZNK4ksys4util16LowPrioThreadMgr18getRuntimeTypeInfoEv
0x000000710127a454,O,000100,_ZN4ksys16LowPrioThreadMgr18SingletonDisposer_D1Ev
0x000000710127a4b8,O,000108,_ZN4ksys16LowPrioThreadMgr18SingletonDisposer_D0Ev
0x000000710127a524,O,000152,_ZN4ksys16LowPrioThreadMgr14createInstanceEPN4sead4HeapE
0x000000710127a5bc,O,000256,_ZN4ksys16LowPrioThreadMgrD1Ev
0x000000710127a6bc,O,000252,_ZN4ksys16LowPrioThreadMgrD0Ev
0x000000710127a7b8,O,000508,_ZN4ksys16LowPrioThreadMgr11startThreadERKNS0_7InitArgE
0x000000710127a9b4,O,000412,_ZN4ksys16LowPrioThreadMgr13submitRequestERKNS0_7RequestE
0x000000710127ab50,O,000120,_ZN4ksys16LowPrioThreadMgr13pauseAllTasksEv
0x000000710127abc8,O,000120,_ZN4ksys16LowPrioThreadMgr14resumeAllTasksEv
0x000000710127ac40,O,000004,_ZN4ksys16LowPrioThreadMgr14sub_710127AC40Ev
0x000000710127ac44,O,000112,_ZNK4ksys16LowPrioThreadMgr27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x000000710127acb4,O,000092,_ZNK4ksys16LowPrioThreadMgr18getRuntimeTypeInfoEv
0x000000710127ad10,O,000140,_ZN4ksys3res12GameSaveData4File11forEachFlagERKN4sead9Delegate1INS_7SaveMgrERKNS1_4FlagEEE
0x000000710127ad9c,O,000164,_ZN4ksys3res12GameSaveData4File11forEachFlagERKN4sead9Delegate1INS_7SaveMgrERKNS1_4FlagEEEii
0x000000710127ae40,O,000140,_ZN4ksys3res12GameSaveData4File11forEachFlagERKN4sead9Delegate1INS_7SaveMgrERNS1_4FlagEEE
@@ -96166,14 +96166,14 @@ Address,Quality,Size,Name
0x00000071012bb050,O,000072,_ZN4ksys3res11ControlTaskD2Ev
0x00000071012bb098,O,000020,_ZN4ksys3res15ControlTaskDataD2Ev
0x00000071012bb0ac,O,000080,_ZN4ksys3res11ControlTaskD0Ev
0x00000071012bb0fc,O,000368,_ZN4ksys3res11ControlTask12prepareImpl_EPNS_4util11TaskRequestE
0x00000071012bb0fc,O,000368,_ZN4ksys3res11ControlTask12prepareImpl_EPNS_11TaskRequestE
0x00000071012bb26c,O,000004,_ZN4ksys3res11ControlTask6onRun_Ev
0x00000071012bb270,O,000032,_ZN4ksys3res11ControlTask14preRemoveImpl_Ev
0x00000071012bb290,O,000156,_ZN4ksys3res10MemoryTaskC1EPN4sead4HeapE
0x00000071012bb32c,O,000020,_ZN4ksys3res10MemoryTaskD2Ev
0x00000071012bb340,O,000004,_ZN4ksys3res14MemoryTaskDataD2Ev
0x00000071012bb344,O,000052,_ZN4ksys3res10MemoryTaskD0Ev
0x00000071012bb378,O,000260,_ZN4ksys3res10MemoryTask12prepareImpl_EPNS_4util11TaskRequestE
0x00000071012bb378,O,000260,_ZN4ksys3res10MemoryTask12prepareImpl_EPNS_11TaskRequestE
0x00000071012bb47c,O,000004,_ZN4ksys3res10MemoryTask6onRun_Ev
0x00000071012bb480,O,000032,_ZN4ksys3res10MemoryTask14preRemoveImpl_Ev
0x00000071012bb4a0,O,000288,_ZNK4ksys3res11ControlTask27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
@@ -97452,14 +97452,14 @@ Address,Quality,Size,Name
0x00000071012fd5f0,O,000004,_ZN4ksys16MessageProcessorD1Ev
0x00000071012fd5f4,O,000004,_ZN4ksys16MessageProcessorD0Ev
0x00000071012fd5f8,O,000532,_ZN4ksys16MessageProcessor7processEPNS_7MessageE
0x00000071012fd80c,O,000060,_ZN4ksys4util9TaskQueueC1EPN4sead4HeapE
0x00000071012fd848,O,000052,_ZN4ksys4util9TaskQueueD2Ev
0x00000071012fd87c,O,000060,_ZN4ksys4util9TaskQueueD0Ev
0x00000071012fd8b8,O,000008,_ZNK4ksys4util9TaskQueue4lockEv
0x00000071012fd8c0,O,000008,_ZNK4ksys4util9TaskQueue6unlockEv
0x00000071012fd8c8,O,000204,_ZNK4ksys4util9TaskQueue27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071012fd994,O,000092,_ZNK4ksys4util9TaskQueue18getRuntimeTypeInfoEv
0x00000071012fd9f0,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveIN4ksys4util13TaskQueueBaseEE9isDerivedEPKNS0_9InterfaceE
0x00000071012fd80c,O,000060,_ZN4ksys9TaskQueueC1EPN4sead4HeapE
0x00000071012fd848,O,000052,_ZN4ksys9TaskQueueD2Ev
0x00000071012fd87c,O,000060,_ZN4ksys9TaskQueueD0Ev
0x00000071012fd8b8,O,000008,_ZNK4ksys9TaskQueue4lockEv
0x00000071012fd8c0,O,000008,_ZNK4ksys9TaskQueue6unlockEv
0x00000071012fd8c8,O,000204,_ZNK4ksys9TaskQueue27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071012fd994,O,000092,_ZNK4ksys9TaskQueue18getRuntimeTypeInfoEv
0x00000071012fd9f0,O,000140,_ZNK4sead15RuntimeTypeInfo6DeriveIN4ksys13TaskQueueBaseEE9isDerivedEPKNS0_9InterfaceE
0x00000071012fda7c,U,000488,
0x00000071012fdc64,U,000528,
0x00000071012fde74,U,000072,
@@ -97572,7 +97572,7 @@ Address,Quality,Size,Name
0x0000007101304f14,O,000400,_ZN4ksys3act18BaseProcCreateTask21onTaskDelegateInvokedEPv
0x00000071013050a4,O,000088,_ZN4ksys3act18BaseProcCreateTask24onBaseProcCreationFailedEPNS0_8BaseProcEb
0x00000071013050fc,O,000688,_ZN4ksys3act18BaseProcCreateTask9doPrepareEPKNS0_22BaseProcCreateTaskDataE
0x00000071013053ac,O,000152,_ZN4ksys3act18BaseProcCreateTask12prepareImpl_EPNS_4util11TaskRequestE
0x00000071013053ac,O,000152,_ZN4ksys3act18BaseProcCreateTask12prepareImpl_EPNS_11TaskRequestE
0x0000007101305444,O,000288,_ZNK4ksys3act18BaseProcCreateTask27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x0000007101305564,O,000092,_ZNK4ksys3act18BaseProcCreateTask18getRuntimeTypeInfoEv
0x00000071013055c0,O,000056,_ZN4ksys3act18BaseProcCreateTaskD2Ev
@@ -97584,7 +97584,7 @@ Address,Quality,Size,Name
0x0000007101305730,O,000260,_ZN4ksys3act19BaseProcInitializerD1Ev
0x0000007101305834,O,000036,_ZN4ksys3act19BaseProcInitializerD0Ev
0x0000007101305858,O,000960,_ZN4ksys3act19BaseProcInitializer4initEPN4sead4HeapERKNS0_23BaseProcInitializerArgsE
0x0000007101305c18,O,000224,_ZN4ksys4util7TaskMgr16initAndCheckTypeINS_3act18BaseProcCreateTaskEEEviPN4sead4HeapE
0x0000007101305c18,O,000224,_ZN4ksys7TaskMgr16initAndCheckTypeINS_3act18BaseProcCreateTaskEEEviPN4sead4HeapE
0x0000007101305cf8,O,000100,_ZN4ksys3act19BaseProcInitializer20deleteThreadIfPausedEv
0x0000007101305d5c,O,000348,_ZN4ksys3act19BaseProcInitializer21requestCreateBaseProcERKNS0_21BaseProcCreateRequestE
0x0000007101305eb8,O,000368,_ZN4ksys3act19BaseProcInitializer14createBaseProcERKNS0_21BaseProcCreateRequestE
@@ -97599,12 +97599,12 @@ Address,Quality,Size,Name
0x00000071013063d8,O,000060,_ZN4ksys3act19BaseProcInitializer24waitForTaskQueuesToEmptyEv
0x0000007101306414,O,000284,_ZN4ksys3act19BaseProcInitializer11cancelTasksEv
0x0000007101306530,O,000092,_ZNK4ksys3act19BaseProcInitializer12getQueueSizeEi
0x000000710130658c,O,000160,_ZN4ksys3act19BaseProcInitializer13removeTasksIfERN4sead11IDelegate1RIPNS_4util4TaskEbEE
0x000000710130658c,O,000160,_ZN4ksys3act19BaseProcInitializer13removeTasksIfERN4sead11IDelegate1RIPNS_4TaskEbEE
0x000000710130662c,O,000012,_ZN4ksys3act19BaseProcInitializer25setActorGenerationEnabledEb
0x0000007101306638,O,000204,_ZNK4ksys3act25BaseProcCreateTaskRequest27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x0000007101306704,O,000092,_ZNK4ksys3act25BaseProcCreateTaskRequest18getRuntimeTypeInfoEv
0x0000007101306760,O,000004,_ZN4ksys3act25BaseProcCreateTaskRequestD0Ev
0x0000007101306764,O,000060,_ZN4ksys4util7TaskMgr13makeTaskType_INS_3act18BaseProcCreateTaskEEEvPPNS0_11ManagedTaskE
0x0000007101306764,O,000060,_ZN4ksys7TaskMgr13makeTaskType_INS_3act18BaseProcCreateTaskEEEvPPNS_11ManagedTaskE
0x00000071013067a0,U,000064,
0x00000071013067e0,O,000160,_ZN4ksys3act14BaseProcJobQueC1Ev
0x0000007101306880,O,000108,_ZN4ksys3act14BaseProcJobQueD1Ev
Can't render this file because it is too large.
+4 -4
View File
@@ -1,6 +1,6 @@
#include "Game/Actor/Query/queryHasPorchArrow.h"
#include <evfl/Query.h>
#include "Game/UI/uiUtils.h"
#include "KingSystem/System/UIGlue.h"
namespace uking::query {
@@ -9,9 +9,9 @@ HasPorchArrow::HasPorchArrow(const InitArg& arg) : ksys::act::ai::Query(arg) {}
HasPorchArrow::~HasPorchArrow() = default;
int HasPorchArrow::doQuery() {
s32 arrow_cnt = ui::getItemValue("NormalArrow") + ui::getItemValue("FireArrow") +
ui::getItemValue("IceArrow") + ui::getItemValue("ElectricArrow") +
ui::getItemValue("BombArrow_A") + ui::getItemValue("AncientArrow");
s32 arrow_cnt = ksys::ui::getItemValue("NormalArrow") + ksys::ui::getItemValue("FireArrow") +
ksys::ui::getItemValue("IceArrow") + ksys::ui::getItemValue("ElectricArrow") +
ksys::ui::getItemValue("BombArrow_A") + ksys::ui::getItemValue("AncientArrow");
return arrow_cnt < *mCheckNum;
}
+2 -2
View File
@@ -1,6 +1,6 @@
#include "Game/Actor/Query/queryHasPorchItem.h"
#include <evfl/Query.h>
#include "Game/UI/uiUtils.h"
#include "KingSystem/System/UIGlue.h"
namespace uking::query {
@@ -9,7 +9,7 @@ HasPorchItem::HasPorchItem(const InitArg& arg) : ksys::act::ai::Query(arg) {}
HasPorchItem::~HasPorchItem() = default;
int HasPorchItem::doQuery() {
return ui::getItemValue(mPorchItemName) >= *mCount;
return ksys::ui::getItemValue(mPorchItemName) >= *mCount;
}
void HasPorchItem::loadParams(const evfl::QueryArg& arg) {
+2 -1
View File
@@ -1,5 +1,6 @@
#include "Game/UI/uiFadeProgress.h"
#include "Game/UI/uiUtils.h"
#include "KingSystem/System/UIGlue.h"
namespace uking::ui {
@@ -37,7 +38,7 @@ void FadeProgress::updateFadeScreen() {
if (new_progress < progress)
progress = new_progress;
mGaugeValue = progress;
applyScreenFade(progress);
ksys::ui::applyScreenFade(progress);
}
void FadeProgress::setProgress(float value) {
-5
View File
@@ -47,11 +47,6 @@ void setShowRaceResult(s32 result_type);
int countCookResultsCheck(const sead::SafeString& name, s32 effect_type);
int countCookResultsAllOk(const sead::SafeString& name);
int getItemValue(const sead::SafeString& name);
// TODO: move these to another translation unit (TBD)
// Do not implement until the location is figured out
void applyScreenFade(float progress);
act::CreateEquipmentSlot getCreateEquipmentSlot(ui::PouchItemType type);
ui::EquipmentSlot getEquipmentSlot(act::CreateEquipmentSlot slot);
@@ -23,7 +23,7 @@ ActorCreator::ActorCreator() {
mPlacementMgrHeap = nullptr;
}
void ActorCreator::onTaskRemoved(const util::TaskRemoveCallbackContext& context) {
void ActorCreator::onTaskRemoved(const TaskRemoveCallbackContext& context) {
if (!context.mTask)
return;
+2 -3
View File
@@ -67,7 +67,7 @@ private:
InstParamPack* params, bool sleep_after_init, bool = false);
BaseProc* doCreateProc(BaseProcCreateArg& arg);
void onTaskRemoved(const util::TaskRemoveCallbackContext& context);
void onTaskRemoved(const TaskRemoveCallbackContext& context);
sead::Heap* mForBaseProcDualHeap;
sead::Heap* mPlacementMgrHeap;
@@ -79,8 +79,7 @@ private:
void* _60{};
sead::Delegate1R<ActorCreator, BaseProcCreateArg&, BaseProc*> mCreateProcDelegate{
this, &ActorCreator::doCreateProc};
util::TaskRemoveCallbackT<ActorCreator> mTaskRemovedDelegate{this,
&ActorCreator::onTaskRemoved};
TaskRemoveCallbackT<ActorCreator> mTaskRemovedDelegate{this, &ActorCreator::onTaskRemoved};
sead::CriticalSection mActorListCS;
ActorFactory* mActorFactory;
};
+2 -2
View File
@@ -175,8 +175,8 @@ private:
std::array<s32, 2> mNumHandles;
s32 mRefCount{};
sead::CriticalSection mCS{nullptr};
util::Event mEvent{nullptr,
sead::IDisposer::HeapNullOption::DoNotAppendDisposerIfNoHeapSpecified, true};
Event mEvent{nullptr, sead::IDisposer::HeapNullOption::DoNotAppendDisposerIfNoHeapSpecified,
true};
};
KSYS_CHECK_SIZE_NX150(ActorParam, 0x200);
@@ -75,7 +75,7 @@ void BaseProcCreateTask::doPrepare(const BaseProcCreateTaskData* arg) {
}();
}
void BaseProcCreateTask::prepareImpl_(util::TaskRequest* req) {
void BaseProcCreateTask::prepareImpl_(TaskRequest* req) {
doPrepare(sead::DynamicCast<BaseProcCreateTaskRequest>(req)->mData);
setDelegateInternal_(&mTaskDelegate);
}
@@ -33,8 +33,8 @@ struct BaseProcCreateArg {
};
KSYS_CHECK_SIZE_NX150(BaseProcCreateArg, 0x58);
class BaseProcCreateTaskData : public util::TaskData {
SEAD_RTTI_OVERRIDE(BaseProcCreateTaskData, util::TaskData)
class BaseProcCreateTaskData : public TaskData {
SEAD_RTTI_OVERRIDE(BaseProcCreateTaskData, TaskData)
public:
BaseProcCreateTaskData() = default;
@@ -53,8 +53,8 @@ public:
};
KSYS_CHECK_SIZE_NX150(BaseProcCreateTaskData, 0x68);
class BaseProcCreateTaskRequest : public util::TaskRequest {
SEAD_RTTI_OVERRIDE(BaseProcCreateTaskRequest, util::TaskRequest)
class BaseProcCreateTaskRequest : public TaskRequest {
SEAD_RTTI_OVERRIDE(BaseProcCreateTaskRequest, TaskRequest)
public:
BaseProcCreateTaskRequest() = default;
@@ -62,8 +62,8 @@ public:
BaseProcCreateTaskData* mData{};
};
class BaseProcCreateTask : public util::ManagedTask {
SEAD_RTTI_OVERRIDE(BaseProcCreateTask, util::ManagedTask)
class BaseProcCreateTask : public ManagedTask {
SEAD_RTTI_OVERRIDE(BaseProcCreateTask, ManagedTask)
public:
enum class LaneId : u8 {
@@ -77,7 +77,7 @@ public:
void onBaseProcCreationFailed(BaseProc* proc, bool set_flag_5);
protected:
void prepareImpl_(util::TaskRequest* req) override;
void prepareImpl_(TaskRequest* req) override;
private:
friend class BaseProcCreateTaskSelector;
@@ -92,8 +92,8 @@ private:
sead::IDelegate1R<BaseProcCreateArg&, BaseProc*>* mCreateDelegate{};
BaseProcUnit* mUnit{};
map::Object* mMapObject{};
util::TaskDelegateT<BaseProcCreateTask> mTaskDelegate{
this, &BaseProcCreateTask::onTaskDelegateInvoked};
TaskDelegateT<BaseProcCreateTask> mTaskDelegate{this,
&BaseProcCreateTask::onTaskDelegateInvoked};
BaseProcLink mLink;
f32 mDistanceToLoadSphere = -1.0;
InstParamPack::Buffer mParams;
@@ -7,9 +7,9 @@ namespace ksys::act {
SEAD_SINGLETON_DISPOSER_IMPL(BaseProcCreateTaskSelector)
util::Task* BaseProcCreateTaskSelector::selectTask(const util::TaskSelectionContext& context) {
util::Task* min_task = nullptr;
util::Task* lane1_task = nullptr;
Task* BaseProcCreateTaskSelector::selectTask(const TaskSelectionContext& context) {
Task* min_task = nullptr;
Task* lane1_task = nullptr;
auto min = std::numeric_limits<float>::max();
for (auto& it : context) {
@@ -15,9 +15,9 @@ public:
auto& getDelegate() { return mDelegate; }
private:
util::Task* selectTask(const util::TaskSelectionContext& context);
Task* selectTask(const TaskSelectionContext& context);
util::TaskSelectionDelegateT<BaseProcCreateTaskSelector> mDelegate{
TaskSelectionDelegateT<BaseProcCreateTaskSelector> mDelegate{
this, &BaseProcCreateTaskSelector::selectTask};
};
KSYS_CHECK_SIZE_NX150(BaseProcCreateTaskSelector, 0x40);
@@ -31,12 +31,12 @@ BaseProcDeleter::~BaseProcDeleter() {
void BaseProcDeleter::init(const InitArg& arg) {
auto* heap = arg.heap;
mTaskQueue = arg.task_queue;
mTaskMgr = new (heap) util::TaskMgr(heap);
mTaskMgr->init<util::ManagedTask>(arg.task_queue_size, heap);
mTaskMgr = new (heap) TaskMgr(heap);
mTaskMgr->init<ManagedTask>(arg.task_queue_size, heap);
}
bool BaseProcDeleter::requestPreDelete(BaseProc* proc) {
util::TaskRequest request{false};
TaskRequest request{false};
request.mSynchronous = false;
request.mQueue = mTaskQueue;
request.mDelegate = &mPreDeleteDelegate;
@@ -44,13 +44,13 @@ bool BaseProcDeleter::requestPreDelete(BaseProc* proc) {
request.mLaneId = u8(TaskLane::PreDelete);
request.mName = "PreDelete";
util::TaskMgrRequest req;
TaskMgrRequest req;
req.request = &request;
return mTaskMgr->trySubmitRequest(req);
}
void BaseProcDeleter::requestUnloadActorParam(ActorParam* param) {
util::TaskRequest request{false};
TaskRequest request{false};
request.mSynchronous = false;
request.mQueue = mTaskQueue;
request.mDelegate = &mUnloadActorParamDelegate;
@@ -58,7 +58,7 @@ void BaseProcDeleter::requestUnloadActorParam(ActorParam* param) {
request.mLaneId = u8(TaskLane::UnloadActorParam);
request.mName = "UnloadActorParam";
util::TaskMgrRequest req;
TaskMgrRequest req;
req.request = &request;
mTaskMgr->submitRequest(req);
}
@@ -5,10 +5,10 @@
#include "KingSystem/Utils/Thread/Task.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::util {
namespace ksys {
class TaskMgr;
class TaskQueue;
} // namespace ksys::util
} // namespace ksys
namespace ksys::act {
@@ -19,7 +19,7 @@ class BaseProcDeleter {
public:
struct InitArg {
sead::Heap* heap;
util::TaskQueue* task_queue;
TaskQueue* task_queue;
int task_queue_size;
};
@@ -40,12 +40,11 @@ private:
bool doPreDelete(void* proc);
bool doUnloadParam(void* actor_param);
util::TaskMgr* mTaskMgr{};
util::TaskQueue* mTaskQueue{};
TaskMgr* mTaskMgr{};
TaskQueue* mTaskQueue{};
sead::Buffer<void*> mBuffer;
util::TaskDelegateT<BaseProcDeleter> mPreDeleteDelegate{this, &BaseProcDeleter::doPreDelete};
util::TaskDelegateT<BaseProcDeleter> mUnloadActorParamDelegate{this,
&BaseProcDeleter::doUnloadParam};
TaskDelegateT<BaseProcDeleter> mPreDeleteDelegate{this, &BaseProcDeleter::doPreDelete};
TaskDelegateT<BaseProcDeleter> mUnloadActorParamDelegate{this, &BaseProcDeleter::doUnloadParam};
};
KSYS_CHECK_SIZE_NX150(BaseProcDeleter, 0x68);
@@ -26,7 +26,7 @@ bool BaseProcHandle::hasProcCreationFailed() const {
if (status == BaseProcUnit::Status::NoProc || status == BaseProcUnit::Status::Cancelled)
return true;
if (mUnit->getCreateTask().getStatus() == util::Task::Status::RemovedFromQueue ||
if (mUnit->getCreateTask().getStatus() == Task::Status::RemovedFromQueue ||
status == BaseProcUnit::Status::Cancelled) {
return true;
}
@@ -38,7 +38,7 @@ bool BaseProcHandle::isProcCreationCancelled() const {
if (!mUnit)
return false;
if (mUnit->getCreateTask().getStatus() == util::Task::Status::RemovedFromQueue)
if (mUnit->getCreateTask().getStatus() == Task::Status::RemovedFromQueue)
return true;
if (mUnit->getStatus() == BaseProcUnit::Status::Cancelled)
@@ -42,8 +42,8 @@ void BaseProcInitializer::init(sead::Heap* parent_heap, const BaseProcInitialize
mThreads.allocBufferAssert(NumThreads, mHeap);
const auto init_queue = [&] {
mTaskQueue = new (mHeap) util::TaskQueue(mHeap);
util::TaskQueue::InitArg arg;
mTaskQueue = new (mHeap) TaskQueue(mHeap);
TaskQueue::InitArg arg;
arg.enable_locks = true;
arg.heap = mHeap;
arg.num_lanes = 5;
@@ -53,16 +53,16 @@ void BaseProcInitializer::init(sead::Heap* parent_heap, const BaseProcInitialize
};
init_queue();
mTaskMgr = new (mHeap) util::TaskMgr(mHeap);
mTaskMgr = new (mHeap) TaskMgr(mHeap);
mTaskMgr->initAndCheckType<BaseProcCreateTask>(args.queue_size, mHeap);
for (int i = 0; i < NumThreads; ++i) {
mThreads[i].thread_name.format("%s", args.thread_name.cstr());
mThreads[i].thread = new (mHeap) util::GameTaskThread(
mThreads[i].thread = new (mHeap) GameTaskThread(
mThreads[i].thread_name, mHeap, sead::ThreadUtil::ConvertPrioritySeadToPlatform(20),
sead::MessageQueue::BlockType::Blocking, 0x7FFFFFFF, 0x100000, 64);
{
util::TaskThread::InitArg arg;
TaskThread::InitArg arg;
arg.num_lanes = 5;
arg.heap = mHeap;
arg.queue = mTaskQueue;
@@ -109,7 +109,7 @@ bool BaseProcInitializer::requestCreateBaseProc(const BaseProcCreateRequest& req
if (req.task_data)
task_req.mName = req.task_data->mProcName;
util::TaskMgrRequest mgr_req;
TaskMgrRequest mgr_req;
if (req.task_data->mProcHandle) {
if (!req.task_data->mProcHandle->allocUnit()) {
req.task_data->mProcHandle->setFailed(true);
@@ -214,11 +214,11 @@ void BaseProcInitializer::pauseMainThread() {
void BaseProcInitializer::resumeMainThread() {
mThreads[0].valid = true;
if (!mThreads[0].thread) {
mThreads[0].thread = new (mHeap) util::GameTaskThread(
mThreads[0].thread = new (mHeap) GameTaskThread(
mThreads[0].thread_name, mHeap, sead::ThreadUtil::ConvertPrioritySeadToPlatform(20),
sead::MessageQueue::BlockType::Blocking, 0x7FFFFFFF, 0x100000, 64);
{
util::TaskThread::InitArg arg;
TaskThread::InitArg arg;
arg.num_lanes = 5;
arg.heap = mHeap;
arg.queue = mTaskQueue;
@@ -272,8 +272,8 @@ int BaseProcInitializer::getQueueSize(int x) const {
return count;
}
void BaseProcInitializer::removeTasksIf(sead::IDelegate1R<util::Task*, bool>& predicate) {
util::TaskQueueLock lock;
void BaseProcInitializer::removeTasksIf(sead::IDelegate1R<Task*, bool>& predicate) {
TaskQueueLock lock;
auto it = mTaskQueue->activeTasksRobustBegin(&lock);
const auto end = mTaskQueue->activeTasksRobustEnd();
for (; it != end; ++it) {
@@ -10,11 +10,11 @@ namespace sead {
class Heap;
}
namespace ksys::util {
namespace ksys {
class TaskMgr;
class TaskQueue;
class TaskThread;
} // namespace ksys::util
} // namespace ksys
namespace ksys::act {
@@ -24,14 +24,14 @@ struct BaseProcCreateRequest;
struct BaseProcInitializerArgs {
u32 queue_size;
sead::SafeString thread_name = "BaseProcCreate";
util::TaskSelectionDelegate* task_selector = nullptr;
TaskSelectionDelegate* task_selector = nullptr;
};
class BaseProcInitializer {
public:
struct ThreadInfo {
bool valid = false;
util::TaskThread* thread = nullptr;
TaskThread* thread = nullptr;
sead::FixedSafeString<32> thread_name;
};
KSYS_CHECK_SIZE_NX150(ThreadInfo, 0x48);
@@ -68,15 +68,15 @@ public:
void cancelTasks();
int getQueueSize(int x = -1) const;
void removeTasksIf(sead::IDelegate1R<util::Task*, bool>& predicate);
void removeTasksIf(sead::IDelegate1R<Task*, bool>& predicate);
void setActorGenerationEnabled(bool enabled);
util::TaskQueue* getTaskQueue() const { return mTaskQueue; }
TaskQueue* getTaskQueue() const { return mTaskQueue; }
private:
sead::Buffer<ThreadInfo> mThreads;
util::TaskMgr* mTaskMgr = nullptr;
util::TaskQueue* mTaskQueue = nullptr;
TaskMgr* mTaskMgr = nullptr;
TaskQueue* mTaskQueue = nullptr;
sead::Heap* mHeap = nullptr;
bool mActorGenerationEnabled = true;
};
@@ -614,7 +614,7 @@ int BaseProcMgr::getInitializerQueueSizeEx(int x) const {
return mProcInitializer->getQueueSize(x);
}
void BaseProcMgr::removeInitializerTasksIf(sead::IDelegate1R<util::Task*, bool>& predicate) {
void BaseProcMgr::removeInitializerTasksIf(sead::IDelegate1R<Task*, bool>& predicate) {
mProcInitializer->removeTasksIf(predicate);
}
+2 -2
View File
@@ -37,7 +37,7 @@ class BaseProcJobQue;
struct BaseProcCreateRequest {
u32 task_lane_id;
BaseProcCreateTaskData* task_data;
util::TaskRemoveCallback* task_remove_callback;
TaskRemoveCallback* task_remove_callback;
};
class BaseProcMgr {
@@ -201,7 +201,7 @@ public:
bool isAnyInitializerThreadActive() const;
int getInitializerQueueSize() const;
int getInitializerQueueSizeEx(int x = -1) const;
void removeInitializerTasksIf(sead::IDelegate1R<util::Task*, bool>& predicate);
void removeInitializerTasksIf(sead::IDelegate1R<Task*, bool>& predicate);
void setActorGenerationEnabled(bool enabled);
// endregion
+2 -2
View File
@@ -1,7 +1,7 @@
target_sources(uking PRIVATE
frmFramework.cpp
frmFramework.h
frmRootTaskParam.h
frmWorkerSupportThreadMgr.cpp
frmWorkerSupportThreadMgr.h
Framework.cpp
Framework.h
)
-1
View File
@@ -1 +0,0 @@
#include "KingSystem/Framework/Framework.h"
@@ -0,0 +1 @@
#include "KingSystem/Framework/frmFramework.h"
@@ -15,13 +15,13 @@ SEAD_SINGLETON_DISPOSER_IMPL(WorkerSupportThreadMgr)
void WorkerSupportThreadMgr::init(sead::Heap* heap) {
auto* worker = mWorkers;
for (size_t i = 0; i < NumWorkers; ++i) {
auto* mgr = new (heap) util::TaskMgr(heap);
mgr->init<util::ManagedTask>(NumTasks, heap);
auto* mgr = new (heap) TaskMgr(heap);
mgr->init<ManagedTask>(NumTasks, heap);
worker->task_mgr = mgr;
worker->task_handle = new (heap) util::ManagedTaskHandle;
worker->task_handle = new (heap) ManagedTaskHandle;
for (int j = 0; j < NumTasks; ++j)
worker->tasks[j] = new (heap) util::ManagedTask(heap);
worker->tasks[j] = new (heap) ManagedTask(heap);
const auto affinity = [&] {
if (i == 0)
@@ -30,11 +30,11 @@ void WorkerSupportThreadMgr::init(sead::Heap* heap) {
}();
worker->thread_name.format("WorkerSupport[%d]", int(i));
worker->task_thread = new (heap) util::GameTaskThread(
worker->task_thread = new (heap) GameTaskThread(
worker->thread_name, heap, sead::ThreadUtil::ConvertPrioritySeadToPlatform(17),
sead::MessageQueue::BlockType::Blocking, 0x7fffffff, 0x20000, 32);
util::TaskThread::InitArg arg;
TaskThread::InitArg arg;
arg.batch_size = 0;
arg.heap = nullptr;
arg.queue = nullptr;
@@ -85,23 +85,23 @@ static int getTaskIdx(u32 id) {
return idx[id];
}
util::ManagedTask* WorkerSupportThreadMgr::getTask(int id) {
ManagedTask* WorkerSupportThreadMgr::getTask(int id) {
return mWorkers[getWorkerIdx(id)].tasks[getTaskIdx(id)];
}
void WorkerSupportThreadMgr::submitRequest(int id, util::TaskDelegate* delegate) {
void WorkerSupportThreadMgr::submitRequest(int id, TaskDelegate* delegate) {
auto& worker = mWorkers[getWorkerIdx(id)];
if (mThreadsPaused)
return;
util::TaskRequest req{false};
TaskRequest req{false};
req.mName = worker.thread_name;
req.mDelegate = delegate;
req.mHasHandle = true;
req.mSynchronous = false;
req.mThread = worker.task_thread;
util::TaskMgrRequest task_mgr_req;
TaskMgrRequest task_mgr_req;
task_mgr_req.request = &req;
task_mgr_req.handle = worker.task_handle;
task_mgr_req.task = worker.tasks[getTaskIdx(id)];
@@ -11,12 +11,12 @@ class DelegateThread;
class Thread;
} // namespace sead
namespace ksys::util {
namespace ksys {
class GameTaskThread;
class ManagedTask;
class ManagedTaskHandle;
class TaskMgr;
} // namespace ksys::util
} // namespace ksys
namespace ksys::frm {
@@ -28,7 +28,7 @@ class WorkerSupportThreadMgr {
public:
void init(sead::Heap* heap);
void submitRequest(int id, util::TaskDelegate* delegate);
void submitRequest(int id, TaskDelegate* delegate);
void waitForTask(int id);
void pauseThreads();
void resumeThreads();
@@ -39,18 +39,18 @@ private:
static constexpr int NumTasks = 5;
struct Worker {
util::GameTaskThread* task_thread = nullptr;
GameTaskThread* task_thread = nullptr;
sead::DelegateThread* thread;
util::ManagedTask* tasks[NumTasks];
util::TaskMgr* task_mgr = nullptr;
util::ManagedTaskHandle* task_handle;
ManagedTask* tasks[NumTasks];
TaskMgr* task_mgr = nullptr;
ManagedTaskHandle* task_handle;
sead::FixedSafeString<32> thread_name;
};
void initSleeperThreads();
void sleeperThreadFun(sead::Thread* thread, sead::MessageQueue::Element);
util::ManagedTask* getTask(int id);
ManagedTask* getTask(int id);
Worker mWorkers[NumWorkers];
bool mThreadsPaused = false;
@@ -33,7 +33,7 @@ private:
sead::CriticalSection mCS;
sead::TList<RayCastForRequest*> mQueuedList;
sead::TList<RayCastForRequest*> mFreeList;
util::TaskDelegateT<RayCastRequestMgr> mWorkerFunction;
TaskDelegateT<RayCastRequestMgr> mWorkerFunction;
/// The number of requests to process per batch.
int mBatchSize = 1;
int mLargestRecordedQueueSize = 0;
+1 -1
View File
@@ -16,7 +16,7 @@ ArchiveWork::~ArchiveWork() {
}
bool ArchiveWork::init(const ArchiveWork::InitArg& arg) {
mEvent = new (arg.heap) util::Event(
mEvent = new (arg.heap) Event(
nullptr, sead::IDisposer::HeapNullOption::DoNotAppendDisposerIfNoHeapSpecified, false);
mEvent->resetSignal();
+1 -3
View File
@@ -12,9 +12,7 @@ namespace ksys {
class OverlayArena;
namespace util {
class Event;
}
namespace res {
@@ -41,7 +39,7 @@ public:
void setEvent();
private:
util::Event* mEvent = nullptr;
Event* mEvent = nullptr;
OverlayArena* mArena = nullptr;
};
KSYS_CHECK_SIZE_NX150(ArchiveWork, 0x10);
+2 -2
View File
@@ -3,11 +3,11 @@
namespace ksys::res {
ControlTask::ControlTask(sead::Heap* heap) : util::ManagedTask(heap) {}
ControlTask::ControlTask(sead::Heap* heap) : ManagedTask(heap) {}
void ControlTask::onRun_() {}
void ControlTask::prepareImpl_(util::TaskRequest* req_) {
void ControlTask::prepareImpl_(TaskRequest* req_) {
auto* req = static_cast<ControlTaskRequest*>(req_);
mData.mHasResLoadReq = req->mHasResLoadReq;
+7 -7
View File
@@ -12,8 +12,8 @@ namespace ksys::res {
class Handle;
class ResourceUnit;
class ControlTaskData : public util::TaskData {
SEAD_RTTI_OVERRIDE(ControlTaskData, util::TaskData)
class ControlTaskData : public TaskData {
SEAD_RTTI_OVERRIDE(ControlTaskData, TaskData)
public:
virtual ~ControlTaskData() = default;
@@ -25,22 +25,22 @@ public:
};
KSYS_CHECK_SIZE_NX150(ControlTaskData, 0x138);
class ControlTask : public util::ManagedTask {
SEAD_RTTI_OVERRIDE(ControlTask, util::ManagedTask)
class ControlTask : public ManagedTask {
SEAD_RTTI_OVERRIDE(ControlTask, ManagedTask)
public:
explicit ControlTask(sead::Heap* heap);
private:
void onRun_() override;
void prepareImpl_(util::TaskRequest* req) override;
void prepareImpl_(TaskRequest* req) override;
void preRemoveImpl_() override;
ControlTaskData mData;
};
KSYS_CHECK_SIZE_NX150(ControlTask, 0x1f8);
class ControlTaskRequest : public util::TaskRequest {
SEAD_RTTI_OVERRIDE(ControlTaskRequest, util::TaskRequest)
class ControlTaskRequest : public TaskRequest {
SEAD_RTTI_OVERRIDE(ControlTaskRequest, TaskRequest)
public:
explicit ControlTaskRequest(bool has_handle = false) : TaskRequest(has_handle) {}
+1 -1
View File
@@ -209,7 +209,7 @@ bool Handle::parseResource(Context* context) {
if (mFlags.isOn(Flag::UnloadRequested))
return false;
if (mTaskHandle.getStatus() == util::ManagedTaskHandle::Status::TaskRemoved ||
if (mTaskHandle.getStatus() == ManagedTaskHandle::Status::TaskRemoved ||
(mUnit && mUnit->isTask1NotQueued())) {
stubbedLogFunction();
mStatus = Status::Cancelled;
+1 -1
View File
@@ -111,7 +111,7 @@ private:
sead::TypedBitFlag<Flag> mFlags = Flag::Dummy;
Status mStatus = Status::NoFile;
ResourceUnit* mUnit = nullptr;
util::ManagedTaskHandle mTaskHandle;
ManagedTaskHandle mTaskHandle;
sead::ListNode mListNode;
};
KSYS_CHECK_SIZE_NX150(Handle, 0x50);
+2 -2
View File
@@ -3,11 +3,11 @@
namespace ksys::res {
MemoryTask::MemoryTask(sead::Heap* heap) : util::ManagedTask(heap) {}
MemoryTask::MemoryTask(sead::Heap* heap) : ManagedTask(heap) {}
void MemoryTask::onRun_() {}
void MemoryTask::prepareImpl_(util::TaskRequest* req_) {
void MemoryTask::prepareImpl_(TaskRequest* req_) {
auto* req = static_cast<MemoryTaskRequest*>(req_);
mData._8 = req->mData_8;
mData._c = req->mData_c;
+8 -8
View File
@@ -7,8 +7,8 @@
namespace ksys::res {
class MemoryTaskData : public util::TaskData {
SEAD_RTTI_OVERRIDE(MemoryTaskData, util::TaskData)
class MemoryTaskData : public TaskData {
SEAD_RTTI_OVERRIDE(MemoryTaskData, TaskData)
public:
virtual ~MemoryTaskData() = default;
@@ -18,25 +18,25 @@ public:
};
KSYS_CHECK_SIZE_NX150(MemoryTaskData, 0xa8);
class MemoryTask : public util::ManagedTask {
SEAD_RTTI_OVERRIDE(MemoryTask, util::ManagedTask)
class MemoryTask : public ManagedTask {
SEAD_RTTI_OVERRIDE(MemoryTask, ManagedTask)
public:
explicit MemoryTask(sead::Heap* heap);
~MemoryTask() override { ; }
private:
void onRun_() override;
void prepareImpl_(util::TaskRequest* req) override;
void prepareImpl_(TaskRequest* req) override;
void preRemoveImpl_() override;
void setUserData() { util::ManagedTask::setUserData(&mData); }
void setUserData() { ManagedTask::setUserData(&mData); }
MemoryTaskData mData;
};
KSYS_CHECK_SIZE_NX150(MemoryTask, 0x168);
class MemoryTaskRequest : public util::TaskRequest {
SEAD_RTTI_OVERRIDE(MemoryTaskRequest, util::TaskRequest)
class MemoryTaskRequest : public TaskRequest {
SEAD_RTTI_OVERRIDE(MemoryTaskRequest, TaskRequest)
public:
MemoryTaskRequest() = default;
+17 -17
View File
@@ -23,8 +23,8 @@
namespace ksys::res {
namespace {
class ClearCachesTaskData : public util::TaskData {
SEAD_RTTI_OVERRIDE(ClearCachesTaskData, util::TaskData)
class ClearCachesTaskData : public TaskData {
SEAD_RTTI_OVERRIDE(ClearCachesTaskData, TaskData)
public:
virtual ~ClearCachesTaskData() = default;
@@ -106,17 +106,17 @@ void ResourceMgrTask::insertOverlayArena(OverlayArena* arena) {
}
}
util::TaskThread* ResourceMgrTask::makeResourceLoadingThread(sead::Heap* heap,
bool use_game_task_thread) {
TaskThread* ResourceMgrTask::makeResourceLoadingThread(sead::Heap* heap,
bool use_game_task_thread) {
if (use_game_task_thread) {
return new (heap) util::GameTaskThread(
return new (heap) GameTaskThread(
"Resource Loading", heap, sead::ThreadUtil::ConvertPrioritySeadToPlatform(19),
sead::MessageQueue::BlockType::Blocking, 0x7fffffff, 0xfa000, 32);
}
return new (heap) util::TaskThread(
"Resource Loading", heap, sead::ThreadUtil::ConvertPrioritySeadToPlatform(19),
sead::MessageQueue::BlockType::Blocking, 0x7fffffff, 0xa000, 32);
return new (heap)
TaskThread("Resource Loading", heap, sead::ThreadUtil::ConvertPrioritySeadToPlatform(19),
sead::MessageQueue::BlockType::Blocking, 0x7fffffff, 0xa000, 32);
}
void ResourceMgrTask::clearAllCaches(OverlayArena* arena) {
@@ -135,13 +135,13 @@ void ResourceMgrTask::clearAllCaches(OverlayArena* arena) {
req.mData_c = -1;
req.mData_mStr = arena->getHeap()->getName();
util::TaskMgrRequest task_mgr_request;
TaskMgrRequest task_mgr_request;
task_mgr_request.request = &req;
mResourceMemoryTaskMgr->submitRequest(task_mgr_request);
}
bool ResourceMgrTask::isDefragDone() const {
return mTask2->getStatus() == util::Task::Status::PostFinishCallback;
return mTask2->getStatus() == Task::Status::PostFinishCallback;
}
f32 ResourceMgrTask::getDefragProgress() const {
@@ -263,7 +263,7 @@ void ResourceMgrTask::deregisterUnit(ResourceUnit* unit) {
}
}
void ResourceMgrTask::requestClearCache(ResourceUnit** p_unit, util::Task* task) {
void ResourceMgrTask::requestClearCache(ResourceUnit** p_unit, Task* task) {
if (!p_unit || !*p_unit || !(*p_unit)->isStatusFlag8000Set()) {
stubbedLogFunction();
return;
@@ -405,7 +405,7 @@ bool ResourceMgrTask::calc_(void*) {
req.mData_8 = false;
req.mData_c = -1;
util::TaskMgrRequest request;
TaskMgrRequest request;
request.request = &req;
mResourceMemoryTaskMgr->submitRequest(request);
mTexHandleMgr->clearAllCache();
@@ -522,7 +522,7 @@ ResourceUnit* ResourceMgrTask::clearCachesAndGetUnit(const GetUnitArg& arg) {
auto* unit = mUnitPool.tryAlloc();
if (!unit) {
util::TaskQueueLock lock;
TaskQueueLock lock;
auto* queue = mResourceControlThread->getTaskQueue();
auto it = queue->activeTasksRobustBegin(&lock);
@@ -541,7 +541,7 @@ ResourceUnit* ResourceMgrTask::clearCachesAndGetUnit(const GetUnitArg& arg) {
ClearCachesTaskData data;
data._8 = true;
data._c = 100;
util::TaskRequest req;
TaskRequest req;
req.mLaneId = u8(LaneId::_8);
req.mHasHandle = true;
req.mSynchronous = true;
@@ -555,7 +555,7 @@ ResourceUnit* ResourceMgrTask::clearCachesAndGetUnit(const GetUnitArg& arg) {
}
if (!unit) {
util::TaskQueueLock lock;
TaskQueueLock lock;
auto* queue = mResourceControlThread->getTaskQueue();
auto it = queue->activeTasksRobustBegin(&lock);
@@ -658,7 +658,7 @@ void ResourceMgrTask::clearUnits_() {
void ResourceMgrTask::systemCalc_() {
if (mTask1->canSubmitRequest()) {
util::TaskRequest request;
TaskRequest request;
request.mSynchronous = false;
request.mHasHandle = false;
request.mLaneId = u8(LaneId::_6);
@@ -732,7 +732,7 @@ void ResourceMgrTask::clearAllCachesSynchronously(OverlayArena* arena) {
req.mData_c = -1;
req.mData_mStr = arena->getHeap()->getName();
util::TaskMgrRequest task_mgr_request;
TaskMgrRequest task_mgr_request;
task_mgr_request.request = &req;
mResourceMemoryTaskMgr->submitRequest(task_mgr_request);
}
+21 -25
View File
@@ -35,11 +35,9 @@ class SZSDecompressor;
namespace ksys {
class OverlayArena;
namespace util {
class TaskMgr;
class TaskPostRunResult;
class TaskThread;
} // namespace util
} // namespace ksys
namespace ksys::res {
@@ -99,8 +97,7 @@ public:
};
using ResourceUnitDelegate = sead::Delegate1RFunc<void*, bool>;
using TaskCallback =
sead::Delegate2Func<util::TaskPostRunResult*, const util::TaskPostRunContext&>;
using TaskCallback = sead::Delegate2Func<TaskPostRunResult*, const TaskPostRunContext&>;
using MemoryTaskDelegate = sead::Delegate1R<ResourceMgrTask, void*, bool>;
struct ResourceUnitDelegatePair {
@@ -114,7 +111,7 @@ public:
void insertOverlayArena(OverlayArena* arena);
util::TaskThread* makeResourceLoadingThread(sead::Heap* heap, bool use_game_task_thread);
TaskThread* makeResourceLoadingThread(sead::Heap* heap, bool use_game_task_thread);
void clearAllCaches(OverlayArena* arena);
OverlayArena* getTexHandleMgrArena() const;
@@ -157,7 +154,7 @@ public:
void registerUnit(ResourceUnit* unit);
void deregisterUnit(ResourceUnit* unit);
void requestClearCache(ResourceUnit** p_unit, util::Task* task = nullptr);
void requestClearCache(ResourceUnit** p_unit, Task* task = nullptr);
void requestClearCacheForSync(ResourceUnit** p_unit, bool clear_immediately,
bool delete_immediately);
@@ -206,7 +203,7 @@ public:
ResourceUnit* clearCachesAndGetUnit(const GetUnitArg& arg);
struct SetActorCreateInitializerThreadsArg {
sead::PtrArray<util::TaskThread>* threads;
sead::PtrArray<TaskThread>* threads;
};
void setActorCreateInitializerThreads(const SetActorCreateInitializerThreadsArg& arg);
void clearActorCreateInitializerThreads();
@@ -261,10 +258,10 @@ public:
void removeOverlayArena(OverlayArena* arena);
util::TaskThread* getResourceLoadingThread() const { return mResourceLoadingThread; }
util::TaskThread* getResourceControlThread() const { return mResourceControlThread; }
util::TaskThread* getResourceMemoryThread() const { return mResourceMemoryThread; }
util::TaskThread* getMovableMemoryThread() const { return mMovableMemoryThread; }
TaskThread* getResourceLoadingThread() const { return mResourceLoadingThread; }
TaskThread* getResourceControlThread() const { return mResourceControlThread; }
TaskThread* getResourceMemoryThread() const { return mResourceMemoryThread; }
TaskThread* getMovableMemoryThread() const { return mMovableMemoryThread; }
ResourceUnitDelegatePair& getUnitInitLoadFn() { return mUnitInitLoadFn; }
auto& getUnitAdjustHeapFn() { return mUnitAdjustHeapFn; }
@@ -315,17 +312,17 @@ private:
sead::TypedBitFlag<CacheControlFlag> mCacheControlFlags;
u32 _17c = 0;
sead::Heap* mResSystemHeap = nullptr;
util::TaskThread* mResourceLoadingThread = nullptr;
util::TaskThread* mResourceControlThread = nullptr;
util::TaskThread* mResourceMemoryThread = nullptr;
util::TaskThread* mMovableMemoryThread = nullptr;
sead::PtrArray<util::TaskThread>* mActorCreateInitializerThreads = nullptr;
util::TaskMgr* mResourceControlTaskMgr = nullptr;
util::TaskMgr* mResourceMemoryTaskMgr;
TaskThread* mResourceLoadingThread = nullptr;
TaskThread* mResourceControlThread = nullptr;
TaskThread* mResourceMemoryThread = nullptr;
TaskThread* mMovableMemoryThread = nullptr;
sead::PtrArray<TaskThread>* mActorCreateInitializerThreads = nullptr;
TaskMgr* mResourceControlTaskMgr = nullptr;
TaskMgr* mResourceMemoryTaskMgr;
ControlTask* mControlTask = nullptr;
util::Task* mTask1 = nullptr;
util::Task* mTask2 = nullptr;
util::Task* mTask3 = nullptr;
Task* mTask1 = nullptr;
Task* mTask2 = nullptr;
Task* mTask3 = nullptr;
EntryFactoryBase* mEntryFactoryBase = nullptr;
EntryFactoryBase* mDefaultEntryFactory = nullptr;
@@ -349,9 +346,8 @@ private:
MemoryTaskDelegate mDefragAllMemoryMgrFn;
MemoryTaskDelegate mLoadFn;
sead::Delegate2<ResourceMgrTask, util::TaskPostRunResult*, const util::TaskPostRunContext&>
mLoadCb;
sead::Delegate1<ResourceMgrTask, const util::TaskRemoveCallbackContext&> mLoadTaskRemoveCb;
sead::Delegate2<ResourceMgrTask, TaskPostRunResult*, const TaskPostRunContext&> mLoadCb;
sead::Delegate1<ResourceMgrTask, const TaskRemoveCallbackContext&> mLoadTaskRemoveCb;
MemoryTaskDelegate mCalcFn;
MemoryTaskDelegate mCalcArenaHeapSizeFn;
@@ -413,7 +409,7 @@ private:
u8 _9c0d98 = 1;
size_t _9c0da0 = 500;
util::Task mTask; // TODO: rename
Task mTask; // TODO: rename
sead::CriticalSection mCritSection4; // TODO: rename
sead::TickTime mTickTime;
MemoryTaskDelegate mSystemCalcFn;
+4 -4
View File
@@ -98,12 +98,12 @@ bool ResourceUnit::init(const ResourceUnit::InitArg& arg) {
}
{
util::TaskDelegateSetter setter;
TaskDelegateSetter setter;
mTask1.setDelegate(setter);
}
{
util::TaskDelegateSetter setter;
TaskDelegateSetter setter;
mTask2.setDelegate(setter);
}
@@ -154,7 +154,7 @@ void ResourceUnit::updateStatus() {
}
bool ResourceUnit::isTask1NotQueued() const {
return mTask1.getStatus() == util::Task::Status::RemovedFromQueue;
return mTask1.getStatus() == Task::Status::RemovedFromQueue;
}
bool ResourceUnit::isStatus0() const {
@@ -243,7 +243,7 @@ bool ResourceUnit::removeTask3FromQueue() {
void ResourceUnit::requestInitLoad(const RequestInitLoadArg& arg) {
mStatus = Status::_7;
util::TaskRequest req;
TaskRequest req;
req.mHasHandle = arg.has_handle;
req.mSynchronous = false;
req.mLaneId = arg.lane_id;
+7 -7
View File
@@ -196,14 +196,14 @@ private:
void initLoad(void* x = nullptr);
void prepareLoad();
void requestPrepareLoad(util::TaskPostRunResult* result, const util::TaskPostRunContext& ctx);
void requestPrepareLoad(TaskPostRunResult* result, const TaskPostRunContext& ctx);
void unloadForSync();
void clearCacheForSync(bool x);
void unload();
void clearCache(void* x);
void requestClearCache(util::TaskPostRunResult* result, const util::TaskPostRunContext& ctx);
void requestClearCache(TaskPostRunResult* result, const TaskPostRunContext& ctx);
sead::TypedBitFlag<CacheFlag> mCacheFlags;
sead::TypedBitFlag<Flag> mFlags;
@@ -226,13 +226,13 @@ private:
sead::ListNode mArenaUnitListNode;
sead::ListNode mArenaUnitListNode2;
sead::ListNode mResMgrUnitListNode;
util::Task mTask1;
util::Task mTask2;
util::Task mTask3;
Task mTask1;
Task mTask2;
Task mTask3;
ResourceUnitMapNode mMapNode{this};
sead::Atomic<s32> mCounter;
util::Event mEvent{nullptr,
sead::IDisposer::HeapNullOption::DoNotAppendDisposerIfNoHeapSpecified, true};
Event mEvent{nullptr, sead::IDisposer::HeapNullOption::DoNotAppendDisposerIfNoHeapSpecified,
true};
sead::ResourceMgr::LoadArg mLoadArg;
sead::FixedSafeString<128> mPath;
sead::Heap* mHeap = nullptr;
+4 -4
View File
@@ -66,12 +66,12 @@ void OverlayArenaSystem::destroyHeaps() {
bool OverlayArenaSystem::init(const InitArg& arg, sead::Heap* heap) {
mSystemPauseMgr = arg.system_pause_mgr;
mPrepareThread = new (heap) util::TaskThread(
mPrepareThread = new (heap) TaskThread(
"OverlayArena Prepare", heap, sead::ThreadUtil::ConvertPrioritySeadToPlatform(17),
sead::MessageQueue::BlockType::Blocking, 0x7fffffff, 0x14000, 32);
{
util::TaskThread::InitArg arg_;
TaskThread::InitArg arg_;
arg_.batch_size = 0;
arg_.queue = nullptr;
arg_.num_lanes = 1;
@@ -84,8 +84,8 @@ bool OverlayArenaSystem::init(const InitArg& arg, sead::Heap* heap) {
mDelegate = {this, &OverlayArenaSystem::delegatedFunction};
{
mTask = new (heap) util::Task(heap);
util::TaskDelegateSetter setter;
mTask = new (heap) Task(heap);
TaskDelegateSetter setter;
mTask->setDelegate(setter);
}
+3 -6
View File
@@ -17,11 +17,8 @@ class SZSDecompressor;
namespace ksys {
namespace util {
class Task;
class TaskThread;
} // namespace util
class OverlayArena;
class ISystemPauseMgr {
@@ -116,14 +113,14 @@ private:
ISystemPauseMgr* mSystemPauseMgr = nullptr;
OverlayArenaSystemS1 mS1;
u32 _b8 = 0;
util::TaskThread* mPrepareThread = nullptr;
util::Task* mTask = nullptr;
TaskThread* mPrepareThread = nullptr;
Task* mTask = nullptr;
sead::DelegateR<OverlayArenaSystem, bool> mDelegate;
OverlayArenaSystemS2 mS2;
sead::Atomic<u32> _130 = 0;
sead::Atomic<u32> _134 = 0;
res::Handle mResHandle;
util::Event mEvent;
Event mEvent;
};
KSYS_CHECK_SIZE_NX150(OverlayArenaSystem, 0x1c8);
+1 -1
View File
@@ -7,7 +7,7 @@
#include <nn/oe.h>
#include "KingSystem/Camera/CameraMgr.h"
#include "KingSystem/Framework/Framework.h"
#include "KingSystem/Framework/frmFramework.h"
#include "KingSystem/Map/mapPlacementMgr.h"
#include "KingSystem/Sound/sndMgr.h"
#include "KingSystem/System/PlayReportMgr.h"
+2
View File
@@ -5,7 +5,9 @@
namespace ksys::ui {
int getPorchNum(const sead::SafeString& name);
int getItemValue(const sead::SafeString& name);
void initRupeeCounter();
bool isRupeeCounterActive();
void applyScreenFade(float progress);
} // namespace ksys::ui
+2 -2
View File
@@ -1,6 +1,6 @@
#include "KingSystem/Utils/Thread/Event.h"
namespace ksys::util {
namespace ksys {
Event::Event() = default;
@@ -51,4 +51,4 @@ bool Event::isSignalSet() const {
return mSignalSet == 1;
}
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -4,7 +4,7 @@
#include <thread/seadEvent.h>
#include "KingSystem/Utils/Types.h"
namespace ksys::util {
namespace ksys {
class Event {
public:
@@ -32,4 +32,4 @@ private:
KSYS_CHECK_SIZE_NX150(sead::Event, 0x30);
KSYS_CHECK_SIZE_NX150(Event, 0x40);
} // namespace ksys::util
} // namespace ksys
@@ -1,6 +1,6 @@
#include "KingSystem/Utils/Thread/GameTaskThread.h"
namespace ksys::util {
namespace ksys {
GameTaskThread::GameTaskThread(const sead::SafeString& name, sead::Heap* heap, s32 priority,
sead::MessageQueue::BlockType block_type, long quit_msg,
@@ -12,4 +12,4 @@ void GameTaskThread::quit(bool) {
Thread::quit(false);
}
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -3,7 +3,7 @@
#include "KingSystem/Utils/Thread/TaskThread.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::util {
namespace ksys {
class GameTaskThread : public TaskThread {
SEAD_RTTI_OVERRIDE(GameTaskThread, TaskThread)
@@ -24,4 +24,4 @@ protected:
};
KSYS_CHECK_SIZE_NX150(GameTaskThread, 0x1a8);
} // namespace ksys::util
} // namespace ksys
@@ -5,7 +5,7 @@
#include "KingSystem/Utils/SafeDelete.h"
#include "KingSystem/Utils/Thread/TaskQueue.h"
namespace ksys::util {
namespace ksys {
SEAD_SINGLETON_DISPOSER_IMPL(LowPrioThreadMgr)
@@ -116,4 +116,4 @@ void LowPrioThreadMgr::resumeAllTasks() {
void LowPrioThreadMgr::sub_710127AC40() {}
} // namespace ksys::util
} // namespace ksys
@@ -7,7 +7,7 @@
#include "KingSystem/Utils/Thread/TaskMgr.h"
#include "KingSystem/Utils/Thread/TaskThread.h"
namespace ksys::util {
namespace ksys {
class LowPrioThreadMgr {
SEAD_SINGLETON_DISPOSER(LowPrioThreadMgr)
@@ -55,4 +55,4 @@ private:
sead::Buffer<CoreThreadTask> mCoreThreadTasks{};
};
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -3,7 +3,7 @@
#include "KingSystem/Utils/Thread/TaskMgr.h"
#include "KingSystem/Utils/Thread/TaskQueueLock.h"
namespace ksys::util {
namespace ksys {
ManagedTask::ManagedTask(sead::Heap* heap) : Task(heap) {}
@@ -103,4 +103,4 @@ void ManagedTask::detachHandle() {
}
}
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -3,7 +3,7 @@
#include "KingSystem/Utils/Thread/Task.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::util {
namespace ksys {
class ManagedTaskHandle;
class TaskMgr;
@@ -43,4 +43,4 @@ protected:
};
KSYS_CHECK_SIZE_NX150(ManagedTask, 0xc0);
} // namespace ksys::util
} // namespace ksys
@@ -3,7 +3,7 @@
#include "KingSystem/Utils/Thread/TaskQueueBase.h"
#include "KingSystem/Utils/Thread/TaskQueueLock.h"
namespace ksys::util {
namespace ksys {
ManagedTaskHandle::ManagedTaskHandle() = default;
@@ -104,4 +104,4 @@ inline void ManagedTaskHandle::decrementRef_() {
}
}
} // namespace ksys::util
} // namespace ksys
@@ -4,7 +4,7 @@
#include <time/seadTickSpan.h>
#include "KingSystem/Utils/Types.h"
namespace ksys::util {
namespace ksys {
class ManagedTask;
class TaskQueueBase;
@@ -57,4 +57,4 @@ private:
};
KSYS_CHECK_SIZE_NX150(ManagedTaskHandle, 0x28);
} // namespace ksys::util
} // namespace ksys
@@ -154,7 +154,7 @@ private:
sead::Buffer<u8> mBoolBuffer;
sead::ObjList<u8*> mBools;
sead::CriticalSection mCritSection;
util::Event mUpdateEndEvent;
Event mUpdateEndEvent;
sead::Atomic<int> mNumEntries = 0;
};
+2 -2
View File
@@ -4,7 +4,7 @@
#include "KingSystem/Utils/Thread/TaskQueueLock.h"
#include "KingSystem/Utils/Thread/TaskThread.h"
namespace ksys::util {
namespace ksys {
TaskDelegateSetter::TaskDelegateSetter() = default;
@@ -282,4 +282,4 @@ void Task::setLaneId(u8 id) {
mLaneId = id;
}
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -9,7 +9,7 @@
#include "KingSystem/Utils/Thread/Event.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::util {
namespace ksys {
class Task;
class TaskQueueBase;
@@ -203,4 +203,4 @@ KSYS_CHECK_SIZE_NX150(Task, 0xa8);
inline void Task::prepare_(TaskRequest*) {}
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -2,10 +2,10 @@
#include <prim/seadRuntimeTypeInfo.h>
namespace ksys::util {
namespace ksys {
class TaskData {
SEAD_RTTI_BASE(TaskData)
};
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -4,7 +4,7 @@
#include "KingSystem/Utils/Thread/ManagedTask.h"
#include "KingSystem/Utils/Thread/TaskThread.h"
namespace ksys::util {
namespace ksys {
TaskMgr::TaskMgr(sead::Heap* heap)
: mTasksCS(heap), mCS2(heap), mNewFreeTaskEvent(heap, true), mEvent2(heap, true) {
@@ -209,4 +209,4 @@ ManagedTask* TaskMgr::fetchIdleTask_(bool retry_until_success) {
}
}
} // namespace ksys::util
} // namespace ksys
+3 -3
View File
@@ -15,7 +15,7 @@
#include "KingSystem/Utils/Thread/ManagedTask.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::util {
namespace ksys {
class ManagedTaskHandle;
class TaskRequest;
@@ -93,7 +93,7 @@ protected:
template <typename TaskType>
void makeTaskType_(ManagedTask** task) {
*task = new TaskType(getCurrentHeap());
*task = new TaskType(util::getCurrentHeap());
}
template <typename TaskType>
@@ -114,4 +114,4 @@ protected:
};
KSYS_CHECK_SIZE_NX150(TaskMgr, 0x158);
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -1,7 +1,7 @@
#include "KingSystem/Utils/Thread/TaskQueue.h"
namespace ksys::util {
namespace ksys {
TaskQueue::TaskQueue(sead::Heap* heap) : TaskQueueBase(heap), mCS(heap) {}
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -3,7 +3,7 @@
#include <thread/seadCriticalSection.h>
#include "KingSystem/Utils/Thread/TaskQueueBase.h"
namespace ksys::util {
namespace ksys {
class TaskQueue : public TaskQueueBase {
SEAD_RTTI_OVERRIDE(TaskQueue, TaskQueueBase)
@@ -18,4 +18,4 @@ private:
};
KSYS_CHECK_SIZE_NX150(TaskQueue, 0xd0);
} // namespace ksys::util
} // namespace ksys
@@ -7,7 +7,7 @@
#include "KingSystem/Utils/Thread/TaskQueueLock.h"
#include "KingSystem/Utils/Thread/TaskThread.h"
namespace ksys::util {
namespace ksys {
static const auto cSleepSpan = sead::TickSpan::makeFromMicroSeconds(10);
@@ -333,7 +333,8 @@ void TaskQueueBase::notifyThreadsForNewTasks() {
}
if (retry_count >= 2)
PrintDebug(sead::FormatFixedSafeString<128>("↓↓↓\nリトライ回数 %d 回\n↑↑↑\n", retry_count));
util::PrintDebug(
sead::FormatFixedSafeString<128>("↓↓↓\nリトライ回数 %d 回\n↑↑↑\n", retry_count));
}
bool TaskQueueBase::push(const PushArg& arg) {
@@ -482,4 +483,4 @@ void TaskQueueBase::fetchTask(Task** out_task) {
unlock();
}
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -11,7 +11,7 @@
#include "KingSystem/Utils/Thread/Event.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::util {
namespace ksys {
class Task;
class TaskQueueLock;
@@ -156,4 +156,4 @@ protected:
};
KSYS_CHECK_SIZE_NX150(TaskQueueBase, 0x90);
} // namespace ksys::util
} // namespace ksys
@@ -1,7 +1,7 @@
#include "KingSystem/Utils/Thread/TaskQueueLock.h"
#include "KingSystem/Utils/Thread/TaskQueueBase.h"
namespace ksys::util {
namespace ksys {
TaskQueueLock::TaskQueueLock() = default;
@@ -23,4 +23,4 @@ void TaskQueueLock::unlock() {
}
}
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -4,7 +4,7 @@
#include "KingSystem/Utils/Thread/TaskThread.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::util {
namespace ksys {
class TaskQueueBase;
@@ -25,4 +25,4 @@ private:
};
KSYS_CHECK_SIZE_NX150(TaskQueueLock, 0x10);
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -4,7 +4,7 @@
#include "KingSystem/Utils/Thread/TaskQueue.h"
#include "KingSystem/Utils/Thread/TaskQueueLock.h"
namespace ksys::util {
namespace ksys {
TaskThread::TaskThread(const sead::SafeString& name, sead::Heap* heap, s32 priority,
sead::MessageQueue::BlockType block_type,
@@ -259,4 +259,4 @@ void TaskThread::cancelCurrentTask() {
mTask->cancel();
}
} // namespace ksys::util
} // namespace ksys
+2 -2
View File
@@ -7,7 +7,7 @@
#include "KingSystem/Utils/Thread/Event.h"
#include "KingSystem/Utils/Types.h"
namespace ksys::util {
namespace ksys {
class Task;
class TaskQueueBase;
@@ -106,4 +106,4 @@ protected:
};
KSYS_CHECK_SIZE_NX150(TaskThread, 0x1a0);
} // namespace ksys::util
} // namespace ksys