Library/Execute: Implement ExecutorList variants (#848)

This commit is contained in:
Narr the Reg 2026-01-06 05:55:41 -06:00 committed by GitHub
parent 4a840f987f
commit 413dae1545
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
36 changed files with 1287 additions and 238 deletions

View file

@ -239083,648 +239083,648 @@ Library/Execute/ExecutorListActorDraw.o:
label:
- _ZN2al21ExecutorListActorDrawC1EPKci
- _ZN2al21ExecutorListActorDrawC2EPKci
status: NotDecompiled
status: Matching
- offset: 0x893f88
size: 52
label: _ZNK2al21ExecutorListActorDraw14createExecutorEPKc
status: NotDecompiled
status: Matching
- offset: 0x893fbc
size: 20
label: _ZN2al16ExecutorListBaseD2Ev
status: NotDecompiled
status: NonMatchingMajor
lazy: true
- offset: 0x893fd0
size: 4
label: _ZN2al21ExecutorListActorDrawD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x893fd4
size: 16
label: _ZNK2al28ExecutorListActorExecuteBase8isActiveEv
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x893fe4
size: 4
label: _ZN2al16ExecutorListBaseD0Ev
status: NotDecompiled
status: Matching
lazy: true
Library/Execute/ExecutorListActorModelDraw.o:
'.text':
- offset: 0x893fe8
size: 172
label: _ZN2al30ExecutorListActorModelDrawBaseC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x894094
size: 104
label: _ZN2al30ExecutorListActorModelDrawBaseD0Ev
status: NotDecompiled
status: Matching
- offset: 0x8940fc
size: 288
label: _ZN2al30ExecutorListActorModelDrawBase18registerActorModelEPNS_9LiveActorE
status: NotDecompiled
status: Matching
- offset: 0x89421c
size: 80
label: _ZN2al30ExecutorListActorModelDrawBase10createListEv
status: NotDecompiled
status: Matching
- offset: 0x89426c
size: 124
label: _ZNK2al30ExecutorListActorModelDrawBase11executeListEv
status: NotDecompiled
status: Matching
- offset: 0x8942e8
size: 196
label:
- _ZN2al33ExecutorListActorModelDrawForwardC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al33ExecutorListActorModelDrawForwardC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x8943ac
size: 76
label: _ZNK2al33ExecutorListActorModelDrawForward12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x8943f8
size: 196
label:
- _ZN2al37ExecutorListActorModelDrawForwardOnlyC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al37ExecutorListActorModelDrawForwardOnlyC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x8944bc
size: 76
label: _ZNK2al37ExecutorListActorModelDrawForwardOnly12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x894508
size: 196
label:
- _ZN2al38ExecutorListActorModelDrawForwardForceC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al38ExecutorListActorModelDrawForwardForceC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x8945cc
size: 76
label: _ZNK2al38ExecutorListActorModelDrawForwardForce12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x894618
size: 196
label:
- _ZN2al47ExecutorListActorModelDrawForwardPostEffectMaskC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al47ExecutorListActorModelDrawForwardPostEffectMaskC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x8946dc
size: 76
label: _ZNK2al47ExecutorListActorModelDrawForwardPostEffectMask12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x894728
size: 196
label:
- _ZN2al34ExecutorListActorModelDrawIndirectC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al34ExecutorListActorModelDrawIndirectC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x8947ec
size: 76
label: _ZNK2al34ExecutorListActorModelDrawIndirect12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x894838
size: 196
label:
- _ZN2al38ExecutorListActorModelDrawIndirectOnlyC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al38ExecutorListActorModelDrawIndirectOnlyC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x8948fc
size: 76
label: _ZNK2al38ExecutorListActorModelDrawIndirectOnly12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x894948
size: 196
label:
- _ZN2al34ExecutorListActorModelDrawDeferredC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al34ExecutorListActorModelDrawDeferredC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x894a0c
size: 68
label: _ZNK2al34ExecutorListActorModelDrawDeferred12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x894a50
size: 196
label:
- _ZN2al38ExecutorListActorModelDrawDeferredOnlyC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al38ExecutorListActorModelDrawDeferredOnlyC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x894b14
size: 68
label: _ZNK2al38ExecutorListActorModelDrawDeferredOnly12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x894b58
size: 196
label:
- _ZN2al37ExecutorListActorModelDrawDeferredOpaC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al37ExecutorListActorModelDrawDeferredOpaC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x894c1c
size: 68
label: _ZNK2al37ExecutorListActorModelDrawDeferredOpa12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x894c60
size: 196
label:
- _ZN2al37ExecutorListActorModelDrawDeferredXluC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al37ExecutorListActorModelDrawDeferredXluC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x894d24
size: 68
label: _ZNK2al37ExecutorListActorModelDrawDeferredXlu12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x894d68
size: 196
label:
- _ZN2al44ExecutorListActorModelDrawDeferredSilhouetteC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al44ExecutorListActorModelDrawDeferredSilhouetteC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x894e2c
size: 56
label: _ZNK2al44ExecutorListActorModelDrawDeferredSilhouette12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x894e64
size: 196
label:
- _ZN2al48ExecutorListActorModelDrawDeferredSilhouetteRideC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al48ExecutorListActorModelDrawDeferredSilhouetteRideC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x894f28
size: 56
label: _ZNK2al48ExecutorListActorModelDrawDeferredSilhouetteRide12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x894f60
size: 196
label:
- _ZN2al46ExecutorListActorModelDrawDeferredMarchingCubeC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al46ExecutorListActorModelDrawDeferredMarchingCubeC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x895024
size: 68
label: _ZNK2al46ExecutorListActorModelDrawDeferredMarchingCube12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895068
size: 196
label:
- _ZN2al37ExecutorListActorModelDrawDepthShadowC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al37ExecutorListActorModelDrawDepthShadowC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x89512c
size: 60
label: _ZNK2al37ExecutorListActorModelDrawDepthShadow12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895168
size: 196
label:
- _ZN2al49ExecutorListActorModelDrawDepthShadowMarchingCubeC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al49ExecutorListActorModelDrawDepthShadowMarchingCubeC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x89522c
size: 60
label: _ZNK2al49ExecutorListActorModelDrawDepthShadowMarchingCube12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895268
size: 196
label:
- _ZN2al43ExecutorListActorModelDrawStaticDepthShadowC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al43ExecutorListActorModelDrawStaticDepthShadowC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x89532c
size: 52
label: _ZNK2al43ExecutorListActorModelDrawStaticDepthShadow12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895360
size: 196
label:
- _ZN2al35ExecutorListActorModelDrawDepthOnlyC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al35ExecutorListActorModelDrawDepthOnlyC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x895424
size: 72
label: _ZNK2al35ExecutorListActorModelDrawDepthOnly12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x89546c
size: 196
label:
- _ZN2al36ExecutorListActorModelDrawDepthForceC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al36ExecutorListActorModelDrawDepthForceC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x895530
size: 72
label: _ZNK2al36ExecutorListActorModelDrawDepthForce12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895578
size: 196
label:
- _ZN2al33ExecutorListActorModelDrawCullingC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al33ExecutorListActorModelDrawCullingC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x89563c
size: 52
label: _ZNK2al33ExecutorListActorModelDrawCulling12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895670
size: 196
label:
- _ZN2al34ExecutorListActorModelDrawDepthXluC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al34ExecutorListActorModelDrawDepthXluC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x895734
size: 72
label: _ZNK2al34ExecutorListActorModelDrawDepthXlu12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x89577c
size: 196
label:
- _ZN2al39ExecutorListActorModelDrawDepthIndirectC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al39ExecutorListActorModelDrawDepthIndirectC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x895840
size: 72
label: _ZNK2al39ExecutorListActorModelDrawDepthIndirect12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895888
size: 196
label:
- _ZN2al37ExecutorListActorModelDrawDepthDitherC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al37ExecutorListActorModelDrawDepthDitherC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x89594c
size: 72
label: _ZNK2al37ExecutorListActorModelDrawDepthDither12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895994
size: 196
label:
- _ZN2al45ExecutorListActorModelDrawDepthDitherIndirectC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al45ExecutorListActorModelDrawDepthDitherIndirectC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x895a58
size: 72
label: _ZNK2al45ExecutorListActorModelDrawDepthDitherIndirect12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895aa0
size: 196
label:
- _ZN2al40ExecutorListActorModelDrawDepthChromakeyC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al40ExecutorListActorModelDrawDepthChromakeyC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x895b64
size: 72
label: _ZNK2al40ExecutorListActorModelDrawDepthChromakey12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895bac
size: 196
label:
- _ZN2al41ExecutorListActorModelDrawDitherChromakeyC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al41ExecutorListActorModelDrawDitherChromakeyC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x895c70
size: 72
label: _ZNK2al41ExecutorListActorModelDrawDitherChromakey12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895cb8
size: 196
label:
- _ZN2al37ExecutorListActorModelDrawDeferredSkyC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al37ExecutorListActorModelDrawDeferredSkyC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x895d7c
size: 52
label: _ZNK2al37ExecutorListActorModelDrawDeferredSky12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895db0
size: 196
label:
- _ZN2al43ExecutorListActorModelDrawDeferredFootPrintC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al43ExecutorListActorModelDrawDeferredFootPrintC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x895e74
size: 52
label: _ZNK2al43ExecutorListActorModelDrawDeferredFootPrint12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895ea8
size: 196
label:
- _ZN2al33ExecutorListActorModelDrawWorldAoC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al33ExecutorListActorModelDrawWorldAoC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x895f6c
size: 52
label: _ZNK2al33ExecutorListActorModelDrawWorldAo12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x895fa0
size: 196
label:
- _ZN2al32ExecutorListActorModelDrawUpdateC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al32ExecutorListActorModelDrawUpdateC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x896064
size: 52
label: _ZNK2al32ExecutorListActorModelDrawUpdate12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x896098
size: 196
label:
- _ZN2al41ExecutorListActorModelDrawPlayerChromakeyC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al41ExecutorListActorModelDrawPlayerChromakeyC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x89615c
size: 68
label: _ZNK2al41ExecutorListActorModelDrawPlayerChromakey12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x8961a0
size: 196
label:
- _ZN2al44ExecutorListActorModelDrawPlayerChromakeyOpaC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al44ExecutorListActorModelDrawPlayerChromakeyOpaC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x896264
size: 68
label: _ZNK2al44ExecutorListActorModelDrawPlayerChromakeyOpa12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x8962a8
size: 196
label:
- _ZN2al44ExecutorListActorModelDrawPlayerChromakeyXluC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al44ExecutorListActorModelDrawPlayerChromakeyXluC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x89636c
size: 68
label: _ZNK2al44ExecutorListActorModelDrawPlayerChromakeyXlu12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x8963b0
size: 196
label:
- _ZN2al44ExecutorListActorModelDrawCharacterChromakeyC1EPKciRKNS_21ExecuteSystemInitInfoE
- _ZN2al44ExecutorListActorModelDrawCharacterChromakeyC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x896474
size: 68
label: _ZNK2al44ExecutorListActorModelDrawCharacterChromakey12createDrawerEPKc
status: NotDecompiled
status: Matching
- offset: 0x8964b8
size: 16
label: _ZNK2al30ExecutorListActorModelDrawBase8isActiveEv
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x8964c8
size: 104
label: _ZN2al33ExecutorListActorModelDrawForwardD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896530
size: 104
label: _ZN2al37ExecutorListActorModelDrawForwardOnlyD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896598
size: 104
label: _ZN2al38ExecutorListActorModelDrawForwardForceD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896600
size: 104
label: _ZN2al47ExecutorListActorModelDrawForwardPostEffectMaskD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896668
size: 104
label: _ZN2al34ExecutorListActorModelDrawIndirectD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x8966d0
size: 104
label: _ZN2al38ExecutorListActorModelDrawIndirectOnlyD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896738
size: 104
label: _ZN2al34ExecutorListActorModelDrawDeferredD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x8967a0
size: 104
label: _ZN2al38ExecutorListActorModelDrawDeferredOnlyD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896808
size: 104
label: _ZN2al37ExecutorListActorModelDrawDeferredOpaD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896870
size: 104
label: _ZN2al37ExecutorListActorModelDrawDeferredXluD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x8968d8
size: 104
label: _ZN2al44ExecutorListActorModelDrawDeferredSilhouetteD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896940
size: 104
label: _ZN2al48ExecutorListActorModelDrawDeferredSilhouetteRideD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x8969a8
size: 104
label: _ZN2al46ExecutorListActorModelDrawDeferredMarchingCubeD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896a10
size: 104
label: _ZN2al37ExecutorListActorModelDrawDepthShadowD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896a78
size: 104
label: _ZN2al49ExecutorListActorModelDrawDepthShadowMarchingCubeD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896ae0
size: 104
label: _ZN2al43ExecutorListActorModelDrawStaticDepthShadowD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896b48
size: 104
label: _ZN2al35ExecutorListActorModelDrawDepthOnlyD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896bb0
size: 104
label: _ZN2al36ExecutorListActorModelDrawDepthForceD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896c18
size: 104
label: _ZN2al33ExecutorListActorModelDrawCullingD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896c80
size: 104
label: _ZN2al34ExecutorListActorModelDrawDepthXluD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896ce8
size: 104
label: _ZN2al39ExecutorListActorModelDrawDepthIndirectD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896d50
size: 104
label: _ZN2al37ExecutorListActorModelDrawDepthDitherD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896db8
size: 104
label: _ZN2al45ExecutorListActorModelDrawDepthDitherIndirectD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896e20
size: 104
label: _ZN2al40ExecutorListActorModelDrawDepthChromakeyD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896e88
size: 104
label: _ZN2al41ExecutorListActorModelDrawDitherChromakeyD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896ef0
size: 116
label:
- _ZN2al30ExecutorListActorModelDrawBaseD1Ev
- _ZN2al30ExecutorListActorModelDrawBaseD2Ev
status: NotDecompiled
status: NonMatchingMajor
- offset: 0x896f64
size: 104
label: _ZN2al37ExecutorListActorModelDrawDeferredSkyD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x896fcc
size: 104
label: _ZN2al43ExecutorListActorModelDrawDeferredFootPrintD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x897034
size: 104
label: _ZN2al33ExecutorListActorModelDrawWorldAoD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x89709c
size: 104
label: _ZN2al32ExecutorListActorModelDrawUpdateD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x897104
size: 104
label: _ZN2al41ExecutorListActorModelDrawPlayerChromakeyD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x89716c
size: 104
label: _ZN2al44ExecutorListActorModelDrawPlayerChromakeyOpaD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x8971d4
size: 104
label: _ZN2al44ExecutorListActorModelDrawPlayerChromakeyXluD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x89723c
size: 104
label: _ZN2al44ExecutorListActorModelDrawCharacterChromakeyD0Ev
status: NotDecompiled
status: Matching
lazy: true
Library/Execute/ExecutorListActorExecute.o:
'.text':
- offset: 0x8972a4
size: 140
label: _ZN2al28ExecutorListActorExecuteBaseC2EPKci
status: NotDecompiled
status: Matching
- offset: 0x897330
size: 224
label: _ZN2al28ExecutorListActorExecuteBase13registerActorEPNS_9LiveActorE
status: NotDecompiled
status: Matching
- offset: 0x897410
size: 72
label: _ZN2al28ExecutorListActorExecuteBase10createListEv
status: NotDecompiled
status: Matching
- offset: 0x897458
size: 80
label: _ZNK2al28ExecutorListActorExecuteBase11executeListEv
status: NotDecompiled
status: Matching
- offset: 0x8974a8
size: 4
label: _ZN2al28ExecutorListActorExecuteBaseD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x8974ac
size: 48
label:
- _ZN2al25ExecutorListActorMovementC1EPKci
- _ZN2al25ExecutorListActorMovementC2EPKci
status: NotDecompiled
status: Matching
- offset: 0x8974dc
size: 52
label: _ZNK2al25ExecutorListActorMovement14createExecutorEPKc
status: NotDecompiled
status: Matching
- offset: 0x897510
size: 48
label:
- _ZN2al25ExecutorListActorCalcAnimC1EPKci
- _ZN2al25ExecutorListActorCalcAnimC2EPKci
status: NotDecompiled
status: Matching
- offset: 0x897540
size: 52
label: _ZNK2al25ExecutorListActorCalcAnim14createExecutorEPKc
status: NotDecompiled
status: Matching
- offset: 0x897574
size: 48
label:
- _ZN2al33ExecutorListActorMovementCalcAnimC1EPKci
- _ZN2al33ExecutorListActorMovementCalcAnimC2EPKci
status: NotDecompiled
status: Matching
- offset: 0x8975a4
size: 52
label: _ZNK2al33ExecutorListActorMovementCalcAnim14createExecutorEPKc
status: NotDecompiled
status: Matching
- offset: 0x8975d8
size: 48
label:
- _ZN2al25ExecutorListActorCalcViewC1EPKci
- _ZN2al25ExecutorListActorCalcViewC2EPKci
status: NotDecompiled
status: Matching
- offset: 0x897608
size: 52
label: _ZNK2al25ExecutorListActorCalcView14createExecutorEPKc
status: NotDecompiled
status: Matching
- offset: 0x89763c
size: 4
label: _ZN2al25ExecutorListActorMovementD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x897640
size: 4
label: _ZN2al25ExecutorListActorCalcAnimD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x897644
size: 4
label: _ZN2al33ExecutorListActorMovementCalcAnimD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x897648
size: 4
label: _ZN2al25ExecutorListActorCalcViewD0Ev
status: NotDecompiled
status: Matching
lazy: true
Library/Execute/ExecutorListBase.o:
'.text':
- offset: 0x89764c
size: 24
label: _ZN2al16ExecutorListBaseC2EPKc
status: NotDecompiled
status: Matching
Library/Execute/ExecutorListFunctor.o:
'.text':
- offset: 0x897664
@ -239732,38 +239732,38 @@ Library/Execute/ExecutorListFunctor.o:
label:
- _ZN2al19ExecutorListFunctorC1EPKci
- _ZN2al19ExecutorListFunctorC2EPKci
status: NotDecompiled
status: Matching
- offset: 0x8976b0
size: 84
label: _ZN2al19ExecutorListFunctor15registerFunctorERKNS_11FunctorBaseE
status: NotDecompiled
status: Matching
- offset: 0x897704
size: 80
label: _ZNK2al19ExecutorListFunctor11executeListEv
status: NotDecompiled
status: Matching
- offset: 0x897754
size: 16
label: _ZNK2al19ExecutorListFunctor8isActiveEv
status: NotDecompiled
status: Matching
- offset: 0x897764
size: 4
label: _ZN2al19ExecutorListFunctorD0Ev
status: NotDecompiled
status: Matching
lazy: true
Library/Execute/ExecutorListLayoutDraw.o:
'.text':
- offset: 0x897768
size: 172
label: _ZN2al26ExecutorListLayoutDrawBaseC2EPKciRKNS_21ExecuteSystemInitInfoE
status: NotDecompiled
status: Matching
- offset: 0x897814
size: 40
label: _ZN2al26ExecutorListLayoutDrawBase14registerLayoutEPNS_11LayoutActorE
status: NotDecompiled
status: Matching
- offset: 0x89783c
size: 244
label: _ZNK2al26ExecutorListLayoutDrawBase11executeListEv
status: NotDecompiled
status: Matching
- offset: 0x897930
size: 196
label:
@ -239777,12 +239777,12 @@ Library/Execute/ExecutorListLayoutDraw.o:
- offset: 0x897a34
size: 4
label: _ZN2al26ExecutorListLayoutDrawBaseD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x897a38
size: 16
label: _ZNK2al26ExecutorListLayoutDrawBase8isActiveEv
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x897a48
size: 4
@ -239796,74 +239796,74 @@ Library/Execute/ExecutorListLayoutUpdate.o:
label:
- _ZN2al24ExecutorListLayoutUpdateC1EPKci
- _ZN2al24ExecutorListLayoutUpdateC2EPKci
status: NotDecompiled
status: Matching
- offset: 0x897ad8
size: 40
label: _ZN2al24ExecutorListLayoutUpdate14registerLayoutEPNS_11LayoutActorE
status: NotDecompiled
status: Matching
- offset: 0x897b00
size: 120
label: _ZNK2al24ExecutorListLayoutUpdate11executeListEv
status: NotDecompiled
status: Matching
- offset: 0x897b78
size: 4
label: _ZN2al24ExecutorListLayoutUpdateD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x897b7c
size: 16
label: _ZNK2al24ExecutorListLayoutUpdate8isActiveEv
status: NotDecompiled
status: Matching
lazy: true
Library/Execute/ExecutorListUser.o:
'.text':
- offset: 0x897b8c
size: 140
label: _ZN2al28ExecutorListIUseExecutorBaseC2EPKci
status: NotDecompiled
status: Matching
- offset: 0x897c18
size: 28
label: _ZN2al28ExecutorListIUseExecutorBase12registerUserEPNS_12IUseExecutorE
status: NotDecompiled
status: Matching
- offset: 0x897c34
size: 164
label:
- _ZN2al30ExecutorListIUseExecutorUpdateC1EPKci
- _ZN2al30ExecutorListIUseExecutorUpdateC2EPKci
status: NotDecompiled
status: Matching
- offset: 0x897cd8
size: 80
label: _ZNK2al30ExecutorListIUseExecutorUpdate11executeListEv
status: NotDecompiled
status: Matching
- offset: 0x897d28
size: 164
label:
- _ZN2al28ExecutorListIUseExecutorDrawC1EPKci
- _ZN2al28ExecutorListIUseExecutorDrawC2EPKci
status: NotDecompiled
status: Matching
- offset: 0x897dcc
size: 80
label: _ZNK2al28ExecutorListIUseExecutorDraw11executeListEv
status: NotDecompiled
status: Matching
- offset: 0x897e1c
size: 4
label: _ZN2al30ExecutorListIUseExecutorUpdateD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x897e20
size: 16
label: _ZNK2al28ExecutorListIUseExecutorBase8isActiveEv
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x897e30
size: 4
label: _ZN2al28ExecutorListIUseExecutorDrawD0Ev
status: NotDecompiled
status: Matching
lazy: true
- offset: 0x897e34
size: 4
label: _ZN2al28ExecutorListIUseExecutorBaseD0Ev
status: NotDecompiled
status: Matching
lazy: true
Library/Execute/LayoutExecuteInfo.o:
'.text':

View file

@ -0,0 +1,15 @@
#pragma once
#include "Library/Execute/ExecutorActorExecuteBase.h"
namespace al {
class ExecutorActorCalcAnim : public ExecutorActorExecuteBase {
public:
ExecutorActorCalcAnim(const char* name);
void execute() const override;
};
static_assert(sizeof(ExecutorActorCalcAnim) == 0x20);
} // namespace al

View file

@ -0,0 +1,15 @@
#pragma once
#include "Library/Execute/ExecutorActorExecuteBase.h"
namespace al {
class ExecutorActorCalcView : public ExecutorActorExecuteBase {
public:
ExecutorActorCalcView(const char* name);
void execute() const override;
};
static_assert(sizeof(ExecutorActorCalcView) == 0x20);
} // namespace al

View file

@ -0,0 +1,15 @@
#pragma once
#include "Library/Execute/ExecutorActorExecuteBase.h"
namespace al {
class ExecutorActorDraw : public ExecutorActorExecuteBase {
public:
ExecutorActorDraw(const char* name);
void execute() const override;
};
static_assert(sizeof(ExecutorActorDraw) == 0x20);
} // namespace al

View file

@ -18,6 +18,8 @@ public:
virtual void execute() const = 0;
const char* getName() const { return mName; }
private:
const char* mName;
sead::PtrArray<LiveActor> mActors;

View file

@ -0,0 +1,15 @@
#pragma once
#include "Library/Execute/ExecutorActorExecuteBase.h"
namespace al {
class ExecutorActorMovement : public ExecutorActorExecuteBase {
public:
ExecutorActorMovement(const char* name);
void execute() const override;
};
static_assert(sizeof(ExecutorActorMovement) == 0x20);
} // namespace al

View file

@ -0,0 +1,15 @@
#pragma once
#include "Library/Execute/ExecutorActorExecuteBase.h"
namespace al {
class ExecutorActorMovementCalcAnim : public ExecutorActorExecuteBase {
public:
ExecutorActorMovementCalcAnim(const char* name);
void execute() const override;
};
static_assert(sizeof(ExecutorActorMovementCalcAnim) == 0x20);
} // namespace al

View file

@ -0,0 +1,47 @@
#include "Library/Execute/ExecutorListActorDraw.h"
#include "Library/Execute/ExecutorActorCalcAnim.h"
#include "Library/Execute/ExecutorActorCalcView.h"
#include "Library/Execute/ExecutorActorDraw.h"
#include "Library/Execute/ExecutorActorMovement.h"
#include "Library/Execute/ExecutorActorMovementCalcAnim.h"
namespace al {
ExecutorListActorDraw::ExecutorListActorDraw(const char* name, s32 size)
: ExecutorListActorExecuteBase(name, size) {}
ExecutorActorExecuteBase* ExecutorListActorDraw::createExecutor(const char* name) const {
return new ExecutorActorDraw(name);
}
ExecutorListActorMovement::ExecutorListActorMovement(const char* name, s32 size)
: ExecutorListActorExecuteBase(name, size) {}
ExecutorActorExecuteBase* ExecutorListActorMovement::createExecutor(const char* name) const {
return new ExecutorActorMovement(name);
}
ExecutorListActorCalcAnim::ExecutorListActorCalcAnim(const char* name, s32 size)
: ExecutorListActorExecuteBase(name, size) {}
ExecutorActorExecuteBase* ExecutorListActorCalcAnim::createExecutor(const char* name) const {
return new ExecutorActorCalcAnim(name);
}
ExecutorListActorMovementCalcAnim::ExecutorListActorMovementCalcAnim(const char* name, s32 size)
: ExecutorListActorExecuteBase(name, size) {}
ExecutorActorExecuteBase*
ExecutorListActorMovementCalcAnim::createExecutor(const char* name) const {
return new ExecutorActorMovementCalcAnim(name);
}
ExecutorListActorCalcView::ExecutorListActorCalcView(const char* name, s32 size)
: ExecutorListActorExecuteBase(name, size) {}
ExecutorActorExecuteBase* ExecutorListActorCalcView::createExecutor(const char* name) const {
return new ExecutorActorCalcView(name);
}
} // namespace al

View file

@ -2,7 +2,7 @@
#include <basis/seadTypes.h>
#include "Library/Execute/ExecutorListActorExecuteBase.h"
#include "Library/Execute/ExecutorListActorExecute.h"
namespace al {
class ExecutorActorExecuteBase;
@ -13,4 +13,28 @@ public:
ExecutorActorExecuteBase* createExecutor(const char* name) const override;
};
class ExecutorListActorMovement : public ExecutorListActorExecuteBase {
public:
ExecutorListActorMovement(const char* name, s32 size);
ExecutorActorExecuteBase* createExecutor(const char* name) const override;
};
class ExecutorListActorCalcAnim : public ExecutorListActorExecuteBase {
public:
ExecutorListActorCalcAnim(const char* name, s32 size);
ExecutorActorExecuteBase* createExecutor(const char* name) const override;
};
class ExecutorListActorMovementCalcAnim : public ExecutorListActorExecuteBase {
public:
ExecutorListActorMovementCalcAnim(const char* name, s32 size);
ExecutorActorExecuteBase* createExecutor(const char* name) const override;
};
class ExecutorListActorCalcView : public ExecutorListActorExecuteBase {
public:
ExecutorListActorCalcView(const char* name, s32 size);
ExecutorActorExecuteBase* createExecutor(const char* name) const override;
};
} // namespace al

View file

@ -0,0 +1,45 @@
#include "Library/Execute/ExecutorListActorExecute.h"
#include "Library/Base/StringUtil.h"
#include "Library/Execute/ExecutorActorExecuteBase.h"
#include "Library/LiveActor/LiveActor.h"
namespace al {
ExecutorListActorExecuteBase::ExecutorListActorExecuteBase(const char* name, s32 size)
: ExecutorListBase(name), mCapacity(size) {
mList = new ExecutorActorExecuteBase*[size];
for (s32 i = 0; i < mCapacity; i++)
mList[i] = nullptr;
}
bool ExecutorListActorExecuteBase::isActive() const {
return mSize > 0;
}
void ExecutorListActorExecuteBase::executeList() const {
for (s32 i = 0; i < mSize; i++)
mList[i]->execute();
}
void ExecutorListActorExecuteBase::registerActor(LiveActor* actor) {
for (s32 i = 0; i < mSize; i++) {
ExecutorActorExecuteBase* executor = mList[i];
if (isEqualString(executor->getName(), actor->getName())) {
executor->registerActor(actor);
return;
}
}
ExecutorActorExecuteBase* executor = createExecutor(actor->getName());
executor->registerActor(actor);
mList[mSize] = executor;
mSize++;
}
void ExecutorListActorExecuteBase::createList() {
for (s32 i = 0; i < mSize; i++)
mList[i]->createExecutorTable();
}
} // namespace al

View file

@ -10,11 +10,11 @@ class LiveActor;
class ExecutorListActorExecuteBase : public ExecutorListBase {
public:
ExecutorListActorExecuteBase(const char* name, s32);
ExecutorListActorExecuteBase(const char* name, s32 size);
bool isActive() const override;
void executeList() const override;
virtual ExecutorActorExecuteBase* createExecutor(const char*) const = 0;
virtual ExecutorActorExecuteBase* createExecutor(const char* name) const = 0;
void registerActor(LiveActor* actor);
void createList();

View file

@ -0,0 +1,355 @@
#include "Library/Execute/ExecutorListActorModelDraw.h"
#include "Library/Base/StringUtil.h"
#include "Library/Execute/ActorExecuteInfo.h"
#include "Library/LiveActor/ActorSceneInfo.h"
#include "Library/LiveActor/LiveActor.h"
#include "Library/Model/ModelDrawerBase.h"
#include "Library/Model/ModelDrawerBufferUpdate.h"
#include "Library/Model/ModelDrawerChromakey.h"
#include "Library/Model/ModelDrawerDeferred.h"
#include "Library/Model/ModelDrawerDeferredFootPrint.h"
#include "Library/Model/ModelDrawerDeferredSilhouette.h"
#include "Library/Model/ModelDrawerDeferredSky.h"
#include "Library/Model/ModelDrawerDepthOnly.h"
#include "Library/Model/ModelDrawerDepthShadow.h"
#include "Library/Model/ModelDrawerForward.h"
#include "Library/Model/ModelDrawerPrepassCulling.h"
#include "Library/Model/ModelDrawerStaticDepthShadow.h"
#include "Library/Model/ModelDrawerWorldAo.h"
#include "Library/Model/ModelKeeper.h"
#include "Project/Execute/ExecuteSystemInitInfo.h"
namespace al {
ExecutorListActorModelDrawBase::ExecutorListActorModelDrawBase(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListBase(name), mCapacity(size) {
mList = new ModelDrawerBase*[mCapacity];
for (s32 i = 0; i < mCapacity; i++)
mList[i] = nullptr;
mContext = initInfo.drawCtx;
}
ExecutorListActorModelDrawBase::~ExecutorListActorModelDrawBase() {
for (s32 i = 0; i < mCapacity; i++)
delete mList[i];
}
bool ExecutorListActorModelDrawBase::isActive() const {
return mSize > 0;
}
void ExecutorListActorModelDrawBase::executeList() const {
if (!ExecutorListActorModelDrawBase::isActive())
return;
// Note: What is the purpose of these?
isEqualString(getName(), "シルエット[プレイヤー]");
isEqualString(getName(), "シルエット[乗り物]");
for (s32 i = 0; i < mSize; i++)
mList[i]->draw();
}
void ExecutorListActorModelDrawBase::registerActorModel(LiveActor* actor) {
const char* name = actor->getModelKeeper()->getName();
ModelCtrl* modelCtrl = actor->getModelKeeper()->getModelCtrl();
for (s32 i = 0; i < mSize; i++) {
ModelDrawerBase* modelDrawer = mList[i];
if (isEqualString(modelDrawer->getName(), name)) {
modelDrawer->registerModel(modelCtrl);
actor->getExecuteInfo()->addDrawer(modelDrawer);
return;
}
}
ModelDrawerBase* modelDrawer = createDrawer(name);
modelDrawer->setDrawInfo(mContext, actor->getSceneInfo()->graphicsSystemInfo,
actor->getSceneInfo()->modelDrawBufferCounter,
actor->getModelKeeper());
modelDrawer->registerModel(modelCtrl);
actor->getExecuteInfo()->addDrawer(modelDrawer);
mList[mSize] = modelDrawer;
mSize++;
}
void ExecutorListActorModelDrawBase::createList() {
for (s32 i = 0; i < mSize; i++)
mList[i]->createTable();
}
ExecutorListActorModelDrawForward::ExecutorListActorModelDrawForward(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawForward::createDrawer(const char* name) const {
return new ModelDrawerForward(name, false, false, false, false, false, false);
}
ExecutorListActorModelDrawForwardOnly::ExecutorListActorModelDrawForwardOnly(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawForwardOnly::createDrawer(const char* name) const {
return new ModelDrawerForward(name, true, false, false, false, false, false);
}
ExecutorListActorModelDrawForwardForce::ExecutorListActorModelDrawForwardForce(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawForwardForce::createDrawer(const char* name) const {
return new ModelDrawerForward(name, false, false, true, false, false, false);
}
ExecutorListActorModelDrawForwardPostEffectMask::ExecutorListActorModelDrawForwardPostEffectMask(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase*
ExecutorListActorModelDrawForwardPostEffectMask::createDrawer(const char* name) const {
return new ModelDrawerForward(name, false, true, false, false, false, false);
}
ExecutorListActorModelDrawIndirect::ExecutorListActorModelDrawIndirect(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawIndirect::createDrawer(const char* name) const {
return new ModelDrawerForward(name, false, false, false, true, false, false);
}
ExecutorListActorModelDrawIndirectOnly::ExecutorListActorModelDrawIndirectOnly(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawIndirectOnly::createDrawer(const char* name) const {
return new ModelDrawerForward(name, true, false, false, true, false, false);
}
ExecutorListActorModelDrawDeferred::ExecutorListActorModelDrawDeferred(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDeferred::createDrawer(const char* name) const {
return new ModelDrawerDeferred(name, false, true, true, false);
}
ExecutorListActorModelDrawDeferredOnly::ExecutorListActorModelDrawDeferredOnly(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDeferredOnly::createDrawer(const char* name) const {
return new ModelDrawerDeferred(name, true, true, true, false);
}
ExecutorListActorModelDrawDeferredOpa::ExecutorListActorModelDrawDeferredOpa(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDeferredOpa::createDrawer(const char* name) const {
return new ModelDrawerDeferred(name, true, true, false, false);
}
ExecutorListActorModelDrawDeferredXlu::ExecutorListActorModelDrawDeferredXlu(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDeferredXlu::createDrawer(const char* name) const {
return new ModelDrawerDeferred(name, true, false, true, false);
}
ExecutorListActorModelDrawDeferredSilhouette::ExecutorListActorModelDrawDeferredSilhouette(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase*
ExecutorListActorModelDrawDeferredSilhouette::createDrawer(const char* name) const {
return new ModelDrawerDeferredSilhouette(name, SilhouetteDrawCategory::Default);
}
ExecutorListActorModelDrawDeferredSilhouetteRide::ExecutorListActorModelDrawDeferredSilhouetteRide(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase*
ExecutorListActorModelDrawDeferredSilhouetteRide::createDrawer(const char* name) const {
return new ModelDrawerDeferredSilhouette(name, SilhouetteDrawCategory::Ride);
}
ExecutorListActorModelDrawDeferredMarchingCube::ExecutorListActorModelDrawDeferredMarchingCube(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase*
ExecutorListActorModelDrawDeferredMarchingCube::createDrawer(const char* name) const {
return new ModelDrawerDeferred(name, false, true, true, true);
}
ExecutorListActorModelDrawDepthShadow::ExecutorListActorModelDrawDepthShadow(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDepthShadow::createDrawer(const char* name) const {
return new ModelDrawerDepthShadow(name, false, false);
}
ExecutorListActorModelDrawDepthShadowMarchingCube::
ExecutorListActorModelDrawDepthShadowMarchingCube(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase*
ExecutorListActorModelDrawDepthShadowMarchingCube::createDrawer(const char* name) const {
return new ModelDrawerDepthShadow(name, false, true);
}
ExecutorListActorModelDrawStaticDepthShadow::ExecutorListActorModelDrawStaticDepthShadow(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawStaticDepthShadow::createDrawer(const char* name) const {
return new ModelDrawerStaticDepthShadow(name);
}
ExecutorListActorModelDrawDepthOnly::ExecutorListActorModelDrawDepthOnly(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDepthOnly::createDrawer(const char* name) const {
return new ModelDrawerDepthOnly(name, false, false, false, false, false);
}
ExecutorListActorModelDrawDepthForce::ExecutorListActorModelDrawDepthForce(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDepthForce::createDrawer(const char* name) const {
return new ModelDrawerDepthOnly(name, true, false, false, false, false);
}
ExecutorListActorModelDrawCulling::ExecutorListActorModelDrawCulling(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawCulling::createDrawer(const char* name) const {
return new ModelDrawerPrepassCulling(name);
}
ExecutorListActorModelDrawDepthXlu::ExecutorListActorModelDrawDepthXlu(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDepthXlu::createDrawer(const char* name) const {
return new ModelDrawerDepthOnly(name, false, false, true, false, false);
}
ExecutorListActorModelDrawDepthIndirect::ExecutorListActorModelDrawDepthIndirect(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDepthIndirect::createDrawer(const char* name) const {
return new ModelDrawerDepthOnly(name, false, false, false, true, false);
}
ExecutorListActorModelDrawDepthDither::ExecutorListActorModelDrawDepthDither(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDepthDither::createDrawer(const char* name) const {
return new ModelDrawerDepthOnly(name, false, true, false, false, false);
}
ExecutorListActorModelDrawDepthDitherIndirect::ExecutorListActorModelDrawDepthDitherIndirect(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase*
ExecutorListActorModelDrawDepthDitherIndirect::createDrawer(const char* name) const {
return new ModelDrawerDepthOnly(name, false, true, false, true, false);
}
ExecutorListActorModelDrawDepthChromakey::ExecutorListActorModelDrawDepthChromakey(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDepthChromakey::createDrawer(const char* name) const {
return new ModelDrawerDepthOnly(name, false, false, false, false, true);
}
ExecutorListActorModelDrawDitherChromakey::ExecutorListActorModelDrawDitherChromakey(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDitherChromakey::createDrawer(const char* name) const {
return new ModelDrawerDepthOnly(name, false, true, false, false, true);
}
ExecutorListActorModelDrawDeferredSky::ExecutorListActorModelDrawDeferredSky(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDeferredSky::createDrawer(const char* name) const {
return new ModelDrawerDeferredSky(name);
}
ExecutorListActorModelDrawDeferredFootPrint::ExecutorListActorModelDrawDeferredFootPrint(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawDeferredFootPrint::createDrawer(const char* name) const {
return new ModelDrawerDeferredFootPrint(name);
}
ExecutorListActorModelDrawWorldAo::ExecutorListActorModelDrawWorldAo(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawWorldAo::createDrawer(const char* name) const {
return new ModelDrawerWorldAo(name);
}
ExecutorListActorModelDrawUpdate::ExecutorListActorModelDrawUpdate(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawUpdate::createDrawer(const char* name) const {
return new ModelDrawerBufferUpdate(name);
}
ExecutorListActorModelDrawPlayerChromakey::ExecutorListActorModelDrawPlayerChromakey(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase* ExecutorListActorModelDrawPlayerChromakey::createDrawer(const char* name) const {
return new ModelDrawerChromakey(name, true, false, false, false);
}
ExecutorListActorModelDrawPlayerChromakeyOpa::ExecutorListActorModelDrawPlayerChromakeyOpa(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase*
ExecutorListActorModelDrawPlayerChromakeyOpa::createDrawer(const char* name) const {
return new ModelDrawerChromakey(name, true, false, true, false);
}
ExecutorListActorModelDrawPlayerChromakeyXlu::ExecutorListActorModelDrawPlayerChromakeyXlu(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase*
ExecutorListActorModelDrawPlayerChromakeyXlu::createDrawer(const char* name) const {
return new ModelDrawerChromakey(name, true, false, false, true);
}
ExecutorListActorModelDrawCharacterChromakey::ExecutorListActorModelDrawCharacterChromakey(
const char* name, s32 size, const ExecuteSystemInitInfo& initInfo)
: ExecutorListActorModelDrawBase(name, size, initInfo) {}
ModelDrawerBase*
ExecutorListActorModelDrawCharacterChromakey::createDrawer(const char* name) const {
return new ModelDrawerChromakey(name, false, true, false, false);
}
} // namespace al

View file

@ -26,10 +26,10 @@ public:
void registerActorModel(LiveActor* actor);
void createList();
virtual ModelDrawerBase* createDrawer(const char*) const = 0;
virtual ModelDrawerBase* createDrawer(const char* name) const = 0;
private:
s32 mCapacity = 0;
s32 mCapacity;
s32 mSize = 0;
ModelDrawerBase** mList = nullptr;
agl::DrawContext* mContext = nullptr;
@ -39,202 +39,233 @@ static_assert(sizeof(ExecutorListActorModelDrawBase) == 0x28);
class ExecutorListActorModelDrawForward : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawForward(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const override;
ExecutorListActorModelDrawForward(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const override;
};
class ExecutorListActorModelDrawForwardOnly : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawForwardOnly(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const override;
ExecutorListActorModelDrawForwardOnly(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const override;
};
class ExecutorListActorModelDrawForwardForce : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawForwardForce(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const override;
ExecutorListActorModelDrawForwardForce(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const override;
};
class ExecutorListActorModelDrawForwardPostEffectMask : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawForwardPostEffectMask(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const override;
ExecutorListActorModelDrawForwardPostEffectMask(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const override;
};
class ExecutorListActorModelDrawIndirect : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawIndirect(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const override;
ExecutorListActorModelDrawIndirect(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const override;
};
class ExecutorListActorModelDrawIndirectOnly : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawIndirectOnly(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const override;
ExecutorListActorModelDrawIndirectOnly(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const override;
};
class ExecutorListActorModelDrawDeferred : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDeferred(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDeferred(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDeferredOnly : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDeferredOnly(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDeferredOnly(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDeferredOpa : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDeferredOpa(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDeferredOpa(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDeferredXlu : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDeferredXlu(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDeferredXlu(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDeferredSilhouette : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDeferredSilhouette(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDeferredSilhouette(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDeferredSilhouetteRide : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDeferredSilhouetteRide(const char*, s32,
const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDeferredSilhouetteRide(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDeferredMarchingCube : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDeferredMarchingCube(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDeferredMarchingCube(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDepthShadow : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDepthShadow(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDepthShadow(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDepthShadowMarchingCube : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDepthShadowMarchingCube(const char*, s32,
const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDepthShadowMarchingCube(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawStaticDepthShadow : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawStaticDepthShadow(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawStaticDepthShadow(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDepthOnly : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDepthOnly(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDepthOnly(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDepthForce : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDepthForce(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDepthForce(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawCulling : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawCulling(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawCulling(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDepthXlu : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDepthXlu(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDepthXlu(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDepthIndirect : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDepthIndirect(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDepthIndirect(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDepthDither : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDepthDither(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDepthDither(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDepthDitherIndirect : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDepthDitherIndirect(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDepthDitherIndirect(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDepthChromakey : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDepthChromakey(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDepthChromakey(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDitherChromakey : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDitherChromakey(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDitherChromakey(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDeferredSky : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDeferredSky(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDeferredSky(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawDeferredFootPrint : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawDeferredFootPrint(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawDeferredFootPrint(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawWorldAo : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawWorldAo(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawWorldAo(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawUpdate : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawUpdate(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawUpdate(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawPlayerChromakey : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawPlayerChromakey(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawPlayerChromakey(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawPlayerChromakeyOpa : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawPlayerChromakeyOpa(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawPlayerChromakeyOpa(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawPlayerChromakeyXlu : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawPlayerChromakeyXlu(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawPlayerChromakeyXlu(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
class ExecutorListActorModelDrawCharacterChromakey : public ExecutorListActorModelDrawBase {
public:
ExecutorListActorModelDrawCharacterChromakey(const char*, s32, const ExecuteSystemInitInfo&);
ModelDrawerBase* createDrawer(const char*) const;
ExecutorListActorModelDrawCharacterChromakey(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo);
ModelDrawerBase* createDrawer(const char* name) const;
};
} // namespace al

View file

@ -0,0 +1,7 @@
#include "Library/Execute/ExecutorListBase.h"
namespace al {
ExecutorListBase::ExecutorListBase(const char* name) : mName(name) {}
} // namespace al

View file

@ -8,7 +8,7 @@ class ExecutorListBase : public HioNode {
public:
ExecutorListBase(const char* name);
virtual ~ExecutorListBase();
virtual ~ExecutorListBase() = default;
virtual void executeList() const = 0;
virtual bool isActive() const = 0;

View file

@ -0,0 +1,23 @@
#include "Library/Execute/ExecutorListFunctor.h"
#include "Library/Thread/FunctorV0M.h"
namespace al {
ExecutorListFunctor::ExecutorListFunctor(const char* name, s32 size) : ExecutorListBase(name) {
mList.allocBuffer(size, nullptr);
}
bool ExecutorListFunctor::isActive() const {
return !mList.isEmpty();
}
void ExecutorListFunctor::executeList() const {
for (s32 i = 0; i < mList.size(); i++)
(*mList[i])();
}
void ExecutorListFunctor::registerFunctor(const FunctorBase& functor) {
mList.pushBack(functor.clone());
}
} // namespace al

View file

@ -10,12 +10,12 @@ class FunctorBase;
class ExecutorListFunctor : public ExecutorListBase {
public:
ExecutorListFunctor(const char* name, s32);
ExecutorListFunctor(const char* name, s32 size);
bool isActive() const override;
void executeList() const override;
void registerFunctor(const FunctorBase&);
void registerFunctor(const FunctorBase& functor);
private:
sead::PtrArray<FunctorBase> mList;

View file

@ -0,0 +1,43 @@
#include "Library/Execute/ExecutorListLayoutDraw.h"
#include "Library/Execute/LayoutExecuteInfo.h"
#include "Library/Layout/LayoutActor.h"
#include "Library/Layout/LayoutKeeper.h"
#include "Project/Execute/ExecuteSystemInitInfo.h"
namespace al {
ExecutorListLayoutDrawBase::ExecutorListLayoutDrawBase(const char* name, s32 size,
const ExecuteSystemInitInfo& initInfo)
: ExecutorListBase(name), mCapacity(size) {
mList = new LayoutActor*[mCapacity];
for (s32 i = 0; i < mCapacity; i++)
mList[i] = nullptr;
mContext = initInfo.drawCtx;
}
bool ExecutorListLayoutDrawBase::isActive() const {
return mSize > 0;
}
void ExecutorListLayoutDrawBase::executeList() const {
bool isAlive = false;
for (s32 i = 0; i < mSize; i++)
if (mList[i]->isAlive())
isAlive = true;
if (!ExecutorListLayoutDrawBase::isActive() || !isAlive)
return;
startDraw();
for (s32 i = 0; i < mSize; i++)
if (mList[i]->isAlive())
mList[i]->getLayoutKeeper()->draw();
}
void ExecutorListLayoutDrawBase::registerLayout(LayoutActor* layout) {
mList[mSize] = layout;
mSize++;
layout->getExecuteInfo()->addDrawer(this);
}
} // namespace al

View file

@ -14,7 +14,7 @@ class LayoutActor;
class ExecutorListLayoutDrawBase : public ExecutorListBase {
public:
ExecutorListLayoutDrawBase(const char* name, s32, const ExecuteSystemInitInfo&);
ExecutorListLayoutDrawBase(const char* name, s32 size, const ExecuteSystemInitInfo& initInfo);
bool isActive() const override;
void executeList() const override;
@ -22,6 +22,8 @@ public:
void registerLayout(LayoutActor* layout);
agl::DrawContext* getContext() const { return mContext; }
private:
s32 mCapacity = 0;
s32 mSize = 0;
@ -33,7 +35,7 @@ static_assert(sizeof(ExecutorListLayoutDrawBase) == 0x28);
class ExecutorListLayoutDrawNormal : public ExecutorListLayoutDrawBase {
public:
ExecutorListLayoutDrawNormal(const char*, s32, const ExecuteSystemInitInfo&);
ExecutorListLayoutDrawNormal(const char* name, s32 size, const ExecuteSystemInitInfo& initInfo);
void startDraw() const override;
};

View file

@ -0,0 +1,30 @@
#include "Library/Execute/ExecutorListLayoutUpdate.h"
#include "Library/Execute/LayoutExecuteInfo.h"
#include "Library/Layout/LayoutActor.h"
namespace al {
ExecutorListLayoutUpdate::ExecutorListLayoutUpdate(const char* name, s32 size)
: ExecutorListBase(name), mCapacity(size) {
mList = new LayoutActor*[size];
for (s32 i = 0; i < mCapacity; i++)
mList[i] = nullptr;
}
void ExecutorListLayoutUpdate::registerLayout(LayoutActor* layout) {
mList[mSize] = layout;
mSize++;
layout->getExecuteInfo()->addUpdater(this);
}
void ExecutorListLayoutUpdate::executeList() const {
for (s32 i = 0; i < mSize; i++) {
LayoutActor* layout = mList[i];
if (layout->isAlive()) {
layout->movement();
layout->calcAnim(true);
}
}
}
} // namespace al

View file

@ -0,0 +1,32 @@
#pragma once
#include <basis/seadTypes.h>
#include "Library/Execute/ExecutorListBase.h"
namespace agl {
class DrawContext;
}
namespace al {
struct ExecuteSystemInitInfo;
class LayoutActor;
class ExecutorListLayoutUpdate : public ExecutorListBase {
public:
ExecutorListLayoutUpdate(const char* name, s32 size);
void registerLayout(LayoutActor* layout);
void executeList() const override;
bool isActive() const override { return mSize > 0; }
private:
s32 mCapacity;
s32 mSize = 0;
LayoutActor** mList = nullptr;
};
static_assert(sizeof(ExecutorListLayoutUpdate) == 0x20);
} // namespace al

View file

@ -0,0 +1,38 @@
#include "Library/Execute/ExecutorListUser.h"
#include "Library/Execute/IUseExecutor.h"
namespace al {
ExecutorListIUseExecutorBase::ExecutorListIUseExecutorBase(const char* name, s32 size)
: ExecutorListBase(name), mCapacity(size) {
mList = new IUseExecutor*[size];
for (s32 i = 0; i < mCapacity; i++)
mList[i] = nullptr;
}
bool ExecutorListIUseExecutorBase::isActive() const {
return mSize > 0;
}
void ExecutorListIUseExecutorBase::registerUser(IUseExecutor* user) {
mList[mSize] = user;
mSize++;
}
ExecutorListIUseExecutorUpdate::ExecutorListIUseExecutorUpdate(const char* name, s32 size)
: ExecutorListIUseExecutorBase(name, size) {}
void ExecutorListIUseExecutorUpdate::executeList() const {
for (s32 i = 0; i < getSize(); i++)
getExecutor(i)->execute();
}
ExecutorListIUseExecutorDraw::ExecutorListIUseExecutorDraw(const char* name, s32 size)
: ExecutorListIUseExecutorBase(name, size) {}
void ExecutorListIUseExecutorDraw::executeList() const {
for (s32 i = 0; i < getSize(); i++)
getExecutor(i)->draw();
}
} // namespace al

View file

@ -9,26 +9,32 @@ class IUseExecutor;
class ExecutorListIUseExecutorBase : public ExecutorListBase {
public:
ExecutorListIUseExecutorBase(const char* name, s32);
ExecutorListIUseExecutorBase(const char* name, s32 size);
bool isActive() const override;
void registerUser(IUseExecutor* user);
s32 getSize() const { return mSize; }
IUseExecutor* getExecutor(s32 index) const { return mList[index]; }
private:
char filler[0x10];
s32 mCapacity;
s32 mSize = 0;
IUseExecutor** mList = nullptr;
};
class ExecutorListIUseExecutorUpdate : public ExecutorListIUseExecutorBase {
public:
ExecutorListIUseExecutorUpdate(const char* name, s32);
ExecutorListIUseExecutorUpdate(const char* name, s32 size);
void executeList() const override;
};
class ExecutorListIUseExecutorDraw : public ExecutorListIUseExecutorBase {
public:
ExecutorListIUseExecutorDraw(const char* name, s32);
ExecutorListIUseExecutorDraw(const char* name, s32 size);
void executeList() const override;
};

View file

@ -1,16 +1,33 @@
#pragma once
#include <basis/seadTypes.h>
namespace nn::ui2d {
class Layout;
class DrawInfo;
} // namespace nn::ui2d
namespace eui {
class Screen;
}
namespace al {
class LayoutPaneGroup;
class LayoutResource;
class CustomTagProcessor;
class LayoutKeeper {
public:
LayoutKeeper();
void initScreen(nn::ui2d::Layout* layout, LayoutResource* resource);
void initScreen(eui::Screen*);
void initLayout(nn::ui2d::Layout* layout, LayoutResource* resource);
void initDrawInfo(nn::ui2d::DrawInfo*);
void initTagProcessor(CustomTagProcessor*);
LayoutPaneGroup* getGroup(const char*) const;
LayoutPaneGroup* getGroup(s32) const;
s32 getGroupNum() const;
void calcAnim(bool);
void draw();
};
} // namespace al

View file

@ -0,0 +1,17 @@
#pragma once
#include "Library/Model/ModelDrawerBase.h"
namespace al {
class ModelDrawerBufferUpdate : public ModelDrawerBase {
public:
ModelDrawerBufferUpdate(const char* name);
void draw() const override;
void createTable() override;
};
static_assert(sizeof(ModelDrawerBufferUpdate) == 0x50);
} // namespace al

View file

@ -0,0 +1,25 @@
#pragma once
#include "Library/Model/ModelDrawerBase.h"
namespace al {
class ModelCtrl;
class ModelDrawerChromakey : public ModelDrawerBase {
public:
ModelDrawerChromakey(const char* name, bool, bool, bool, bool);
void createTable() override;
void registerModel(ModelCtrl*) override;
void draw() const override;
private:
bool _50;
bool _51;
bool _52;
bool _53;
};
static_assert(sizeof(ModelDrawerChromakey) == 0x58);
} // namespace al

View file

@ -0,0 +1,26 @@
#pragma once
#include "Library/Model/ModelDrawerBase.h"
namespace al {
class ModelCtrl;
class ModelDrawerDeferred : public ModelDrawerBase {
public:
ModelDrawerDeferred(const char* name, bool, bool, bool, bool);
void createTable() override;
void draw() const override;
void addModel(ModelCtrl*) override;
void removeModel(ModelCtrl*) override;
private:
bool _50;
bool _51;
bool _52;
bool _53;
};
static_assert(sizeof(ModelDrawerDeferred) == 0x58);
} // namespace al

View file

@ -0,0 +1,20 @@
#pragma once
#include "Library/Model/ModelDrawerBase.h"
namespace al {
class ModelDrawerDeferredFootPrint : public ModelDrawerBase {
public:
ModelDrawerDeferredFootPrint(const char* name);
void createTable() override;
void draw() const override;
private:
char filler[0x128];
};
static_assert(sizeof(ModelDrawerDeferredFootPrint) == 0x178);
} // namespace al

View file

@ -0,0 +1,24 @@
#pragma once
#include "Library/Model/ModelDrawerBase.h"
namespace al {
enum class SilhouetteDrawCategory : u64 {
Default,
Ride,
};
class ModelDrawerDeferredSilhouette : public ModelDrawerBase {
public:
ModelDrawerDeferredSilhouette(const char* name, SilhouetteDrawCategory category);
void createTable() override;
void draw() const override;
private:
char _filler[0x10];
};
static_assert(sizeof(ModelDrawerDeferredSilhouette) == 0x60);
} // namespace al

View file

@ -0,0 +1,20 @@
#pragma once
#include "Library/Model/ModelDrawerBase.h"
namespace al {
class ModelDrawerDeferredSky : public ModelDrawerBase {
public:
ModelDrawerDeferredSky(const char* name);
void createTable() override;
void draw() const override;
private:
char filler[0x128];
};
static_assert(sizeof(ModelDrawerDeferredSky) == 0x178);
} // namespace al

View file

@ -0,0 +1,27 @@
#pragma once
#include "Library/Model/ModelDrawerBase.h"
namespace al {
class ModelCtrl;
class ModelDrawerDepthOnly : public ModelDrawerBase {
public:
ModelDrawerDepthOnly(const char* name, bool, bool, bool, bool, bool);
void createTable() override;
void draw() const override;
void registerModel(ModelCtrl*) override;
void addModel(ModelCtrl*) override;
void removeModel(ModelCtrl*) override;
void updateModel(ModelCtrl*) override;
virtual void createTableCulling();
private:
char filler[0x10];
};
static_assert(sizeof(ModelDrawerDepthOnly) == 0x60);
} // namespace al

View file

@ -0,0 +1,24 @@
#pragma once
#include "Library/Model/ModelDrawerBase.h"
namespace al {
class ModelCtrl;
class ModelDrawerDepthShadow : public ModelDrawerBase {
public:
ModelDrawerDepthShadow(const char* name, bool, bool);
void createTable() override;
void registerModel(ModelCtrl*) override;
void addModel(ModelCtrl*) override;
void updateModel(ModelCtrl*) override;
void draw() const override;
private:
bool _50;
};
static_assert(sizeof(ModelDrawerDepthShadow) == 0x58);
} // namespace al

View file

@ -0,0 +1,30 @@
#pragma once
#include "Library/Model/ModelDrawerBase.h"
namespace al {
class ModelCtrl;
class ModelDrawerForward : public ModelDrawerBase {
public:
ModelDrawerForward(const char* name, bool, bool, bool, bool, bool, bool);
void createTable() override;
void draw() const override;
void addModel(ModelCtrl*) override;
void removeModel(ModelCtrl*) override;
private:
bool _50;
bool _51;
bool _52;
bool _53;
bool _54;
bool _55;
bool _56;
bool _57;
};
static_assert(sizeof(ModelDrawerForward) == 0x58);
} // namespace al

View file

@ -0,0 +1,20 @@
#pragma once
#include "Library/Model/ModelDrawerBase.h"
namespace al {
class ModelDrawerPrepassCulling : public ModelDrawerBase {
public:
ModelDrawerPrepassCulling(const char* name);
void createTable() override;
void draw() const override;
void registerModel(ModelCtrl*) override;
void addModel(ModelCtrl*) override;
void updateModel(ModelCtrl*) override;
};
static_assert(sizeof(ModelDrawerPrepassCulling) == 0x50);
} // namespace al

View file

@ -0,0 +1,20 @@
#pragma once
#include "Library/Model/ModelDrawerBase.h"
namespace al {
class ModelCtrl;
class ModelDrawerStaticDepthShadow : public ModelDrawerBase {
public:
ModelDrawerStaticDepthShadow(const char* name);
void createTable() override;
void addModel(ModelCtrl*) override;
void removeModel(ModelCtrl*) override;
void draw() const override;
};
static_assert(sizeof(ModelDrawerStaticDepthShadow) == 0x50);
} // namespace al

View file

@ -0,0 +1,19 @@
#pragma once
#include "Library/Model/ModelDrawerBase.h"
namespace al {
class ModelDrawerWorldAo : public ModelDrawerBase {
public:
ModelDrawerWorldAo(const char* name);
void createTable() override;
void draw() const override;
void addModel(ModelCtrl*) override;
void removeModel(ModelCtrl*) override;
};
static_assert(sizeof(ModelDrawerWorldAo) == 0x50);
} // namespace al