Takis the Fox! (Dynamite Demo!)

[Open Assets] Takis the Fox! (Dynamite Demo!) dynamite-4-2-24

This content may be freely modified and/or maintained by anyone.
bro is not a cave diver 💀 😭
srb20014.gif
 
Last edited:
I'm a bit confused how this mod is both marked as [Open Assets] but also has "Modify: ASK ME - Maintain: NO"?

Anyway, I was trying to look into why v2.2.14/2.2.15 broke this mod, or at least why the enemy ragdolls break - while I don't know the actual reason its behaviour changed between versions, MT_TAKIS_BADNIK_RAGDOLL in 1-LUA_init.lua having S_PLAY_WAIT as its spawn state seems to be the main issue.
MT_TAKIS_BADNIK_RAGDOLL is the representation of a launched enemy, which is given the enemy's last used sprite when it spawns. However, S_PLAY_WAIT has a set duration, which after 16 tics will loop back into itself, setting the sprite to SPR_PLAY and frame to SPR2_WAIT, which doesn't have a skin set if the enemy wasn't originally using a player skin. This causes the object to turn into a green Super Sonic as that's the fallback sprite for when SPR_PLAY has nothing to use.
Because the ragdoll's sprite changes into a player sprite, Takis' scripting gets confused and tries to reference skin information that isn't there, which causes an error and the script to stop functioning. This can be fixed by changing MT_TAKIS_BADNIK_RAGDOLL's spawnstate = S_PLAY_WAIT into a -1 duration state, like spawnstate = S_PLAY_DEAD or spawnstate = S_INVISIBLE.

TL;DR:
Go to mobjinfo[MT_TAKIS_BADNIK_RAGDOLL] in Lua/1-LUA_init.lua and change S_PLAY_WAIT to S_INVISIBLE to stop the Super Sonics that infinitely spawn debris until the game runs out of memory
 
Last edited:

Who is viewing this thread (Total: 0, Members: 0, Guests: 0)

Back
Top