[Enhancement] Skip Enemy Cutscenes#1038
Conversation
Archez
left a comment
There was a problem hiding this comment.
Left a little spam of comments lol, mainly trying to think about how to minimize impact to vanilla src (even if just whitesapcing related)
|
Applied the 8 early return suggestions. The diff is a little cleaner now. |
There was a problem hiding this comment.
At a high level, this feels more invasive than I'd like on the source code for z_en_pametfrog, z_en_bigslime, and z_en_kaizoku.
If these actors aren't often in a scene, it might be worth trying to use ShouldActorUpdate, and conditionally overriding their actionFunc with a custom one that cuts out the undesired behavior before the update is run.
|
The actors using |
6ba5c8e to
1817e1c
Compare
I pushed an update that does this just for EnPametfrog. Given how extensive the change in approach is, I wanted to do just one enemy to submit for consideration before doing all of them. The footprint on If this example is preferred over |
1817e1c to
99d03ab
Compare
|
After a discussion, I took Archez's suggestion to instead hook into the more common shared camera functions and use a static variable combined with actor lifecycle hooks to remove the need for ad-hoc modifications to individual actor source code. This flag is set to true when a relevant actor is initialized and false when the actor is destroyed. Considering that these cutscene-driven enemies don't share rooms with each other, that should be fine.
|
Archez
left a comment
There was a problem hiding this comment.
Loving the latest updates! The footprint has been significantly reduced which is nice.
Mainly had one bit of feedback below that I think should be worth considering.
d721f76 to
1231fd6
Compare
1231fd6 to
a9f17ba
Compare
balloondude2
left a comment
There was a problem hiding this comment.
Left a few minor nitpicks. It'd be nice to get some more QA on this.
a9f17ba to
044350d
Compare
Some boss cutscene skips existed, but this expands the scope to include most bosses and mini-bosses in the game.
VB_ENEMY_CUTSCENE_ACTION, that exists to be used within actor files. In most cases, it is a simple set to false to skip vanilla behavior. Other uses involve setting state information as part of the phase change cutscene skip, or a death cutscene skip. These uses were not covered by the existing cutscene hooks; some actors use their own timers and camera control for instance.Build Artifacts