Commit graph

10 commits

Author SHA1 Message Date
Christoph Oelckers
a210aaea3e - fixed: All melee functions calling TraceBleed after DamageMobj must first copy the target member to a local variable.
DamageMobj can destroy the damaged actor if the death state sequence has zero duration. But Actor.target is a garbage collected member variable, i.e. it will be null, once the actor it points to gets destroyed.
This was originally done correctly in the C++ code but during the scriptification all those 'AActor *target = self->target' lines were removed because they looked redundant, but were not.
2017-06-06 09:12:58 +02:00
Rachael Alexanderson
2997f31f9f - removed ZDOOMADD and updated actors in question with ZDOOMTRANS 2017-06-04 12:30:35 +02:00
Rachael Alexanderson
a937f709aa - Added +ZDOOMADD to all Heretic, Hexen, and Strife actors that needed it (that I know of...)
- this developer's insanity level increased another 21%
2017-06-04 12:30:35 +02:00
Christoph Oelckers
19b1c10ba8 - scriptified a large part of the weapon code. 2017-01-19 17:40:34 +01:00
Christoph Oelckers
3d61d2c1f4 - reviewd script code for spawn calls that did not check their results.
Nothing should ever assume that spawning an actor is unconditionally successful. There can always be some edge cases where this is not the case.
2016-12-31 15:40:51 +01:00
Christoph Oelckers
092461ed34 - make dynamic object casts a dedicated VM instruction instead of a builtin function.
This can see some heavy use in iterators where saving several hundreds of function calls can be achieved. In these cases, using a function to do the job will become a significant time waster.
2016-12-05 14:52:34 +01:00
Christoph Oelckers
a13e23dbe6 - scriptified some trivial stuff from g_shared. 2016-11-29 19:50:34 +01:00
Christoph Oelckers
7385cd70c0 - scriptified the Minotaur.
Interesting tidbit: The damage calculation in P_MinotaurSlam had been incorrect for the Heretic version since the friendly Hexen Dark Servant was added, but nobody ever noticed in 14 years...
2016-11-26 01:14:47 +01:00
Christoph Oelckers
371712c53a - turned everything I could into non-action functions.
- fixed emission of the self pointer in FxVMFunctionCall. I did not realize that the self expression only sets up a register for the value, not pushing it onto the stack.
2016-10-22 17:49:08 +02:00
Christoph Oelckers
76f1b9d3f8 - converted the raven actors. 2016-10-17 00:21:52 +02:00