Christoph Oelckers
60339a217c
- moved a lot of shareable code out of the CON interpreter.
2023-04-07 13:15:06 +02:00
Christoph Oelckers
9ba0b18013
- moved the 3 health related instructions out of the CON interpreter.
...
This code can be shared with ZScript so it needs to be elsewhere.
2023-04-07 13:15:06 +02:00
Christoph Oelckers
2ba204444c
- merged the spawn init code now that all differences are externalized
2023-04-07 13:15:06 +02:00
Christoph Oelckers
ef6a8c010a
- exported ceilingsteam and consolidated movefallers functions.
2023-04-07 11:52:53 +02:00
Christoph Oelckers
b4dcf8ddcf
- exported the remaining Duke enemies.
2023-04-07 11:52:53 +02:00
Christoph Oelckers
7f240a0a7a
- converted all remaining classes used by PicForName.
...
This means all functions using this can now pass class pointers directly to the native code.
2023-04-02 13:13:45 +02:00
Christoph Oelckers
c9888ae6cb
- exported several RR enemies/animals needed for the UFO spawner.
2023-04-02 13:13:06 +02:00
Christoph Oelckers
bc50f596e8
- exported two more classes used by PicForName.
2023-04-02 13:10:34 +02:00
Christoph Oelckers
ccc048136f
- exported TOILETWATER, BURNING and EXPLOSION2.
...
All types needed for cleaning up PicForName
2023-04-02 13:00:13 +02:00
Christoph Oelckers
e0bd038391
- scriptified the native parts of TRANSPORTERSTAR and TRANSPORTERBEAM
2023-04-02 13:00:13 +02:00
Christoph Oelckers
4328016963
- move the remaining parts of spawninitdefault to DukeActor::Initialize.
...
This ensures proper execution of all code - spawninitdefault was designed to be the fallback for actors without a special case in spawninit.
2023-01-28 16:33:35 +01:00
Christoph Oelckers
38b278b12d
- fixed enemy setup.
...
All enemies now run a native init function to reduce script-induced problems.
this required adding a NOGRAVITY flag so that the recon can use the same code as well which was the only enemy relying on custom code.
2023-01-28 16:33:15 +01:00
Christoph Oelckers
90702ae2f5
- consolidated the animwall code by using texture flags.
...
This is way too hacky for generalization. For that newly defined control actors are surely a better option.
2022-12-29 14:14:53 +01:00
Christoph Oelckers
95a2b85fae
- migrated the rest of the switch code to use the external data.
2022-12-29 13:35:21 +01:00
Christoph Oelckers
8c41294cb0
- overpicnum lightening.
...
Especially make sure that it is never set to tile 0. There seems to have been some undefined behavior here treating 0 as 'no texture', but doing so inconsistently.
2022-12-18 15:13:22 +01:00
Christoph Oelckers
4a306a21dc
- split several texture flags off into a surface type value.
...
Using the same field in the TexExtInfo struct as Blood's surfType.
This frees up a lot of flags for later use.
2022-12-18 13:56:54 +01:00
Christoph Oelckers
0ffeb2378a
- generalize Duke's purple lava check.
2022-12-18 13:43:26 +01:00
Christoph Oelckers
a08db47528
- exported all breakable ceilings.
...
Very simple stuff with instant profit. :)
2022-12-11 19:43:58 +01:00
Christoph Oelckers
a63ee8079a
- implemented customizable breakable walls and ported all hard coded variants to use this.
2022-12-11 19:43:57 +01:00
Christoph Oelckers
9e3318a2fb
- moved spawnclasses and breakwall definitions from .def to RMAPINFO.
...
.def is not the right place for this - it needs to run very early in the process, before scripted actors are loaded, so doing this stuff there means that half the initialization has to be postponed and error reporting is sub-par.
These are now part of RMAPINFO which gets parsed as one of the very last things - it is also where GZDoom is doing some of these things.
The better error reporting also allowed fixing some errors in these definitions.
2022-12-11 19:43:57 +01:00
Christoph Oelckers
5b34917f62
- split the sprite animation code for CON-based actors into a separate function.
...
Like the shadow code this is virtually identical for Duke and RR.
2022-12-11 19:43:55 +01:00
Christoph Oelckers
0d7288c543
- moved the shadow creation code out of animatesprites into a common subfunction.
...
Also removing several checks for non-enemy actors for which shadows are generally not being created.
2022-12-11 19:43:55 +01:00
Christoph Oelckers
6fb263d61b
- converted the two last non-CON-based active items - RRRA's empty bike and boat.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
3ee28eb600
- use tickstat for all thinker loops that have no more special cases.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
6de147b77f
- moved the CON execute call to DDukeActor::Tick and removed a large portion of the special handling for scriptified actors.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
bdc474d04f
- scriptified all remaining Duke actors with specific init code and no CON part.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
cbb3b0ebfb
- preparations for the next script exports.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
0dc526899b
- scriptified FrameEffect
2022-12-11 19:43:51 +01:00
Christoph Oelckers
0bc9023e17
- scriptified the pipe bomb and RR's dynamite, which is mostly the same thing.
...
The mortars were split off because they made the code too convoluted.
2022-12-11 19:43:51 +01:00
Christoph Oelckers
5358b3d98c
- added a new sprite flag for those types which can trigger respawn actions.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
f89ccec829
- scriptified Duke's reactor.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
403141807f
- scriptified all simple and explosive RR projectiles.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
fcd05e38c9
- scriptified the freezer projectile.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
a756b71647
- scriptified the firelaser projectile.
...
This also fixes the animation of the RR variant, which used a bad value with '&'.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
15fb7dab35
- virtualized the 'shoot' interface and scriptified the bloodsplats to test it.
...
This calls virtual functions on the actor defaults now to allow writing specific shoot functions for subclasses.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
8a921c98bd
- scriptified ooz.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
6d9a8bfaa5
- scriptified the pool balls.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
f138798e26
- scriptified the rat.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
9e29c3970d
- generic destructibles
2022-12-11 19:43:45 +01:00
Christoph Oelckers
93ef4b34d7
- scriptified the guts spawning function.
2022-12-11 18:46:40 +01:00
Christoph Oelckers
3ac8bd02f5
- scriptified the jibs
2022-12-11 18:46:40 +01:00
Christoph Oelckers
1b3f551216
- use a flag for outer space textures.
2022-12-11 18:42:02 +01:00
Christoph Oelckers
7188956702
- minor cleanup.
2022-12-11 18:41:50 +01:00
Mitchell Richters
9972c65842
- Duke: Back up all sprites as soon as possible.
...
* The player's input is processed before the sprites were backed up, causing interpolation issues with the player's Z.
2022-12-11 18:41:41 +01:00
Christoph Oelckers
a76d166966
- scriptified tongue actor.
...
This seems to be develpment garbage. No proper sprites exist for this.
2022-11-20 20:40:46 +01:00
Christoph Oelckers
5528725985
- got rid of deletesprite, plus one new flag.
2022-11-20 19:25:23 +01:00
Christoph Oelckers
b069904be1
- scriptified the remaining controller sprites.
2022-11-20 13:57:51 +01:00
Christoph Oelckers
9fa2fb75cf
- scriptified the respawn controller.
...
This also handles one special RRRA controller which was just easier to scriptify right away than temporarily work around it.
2022-11-20 11:58:19 +01:00
Christoph Oelckers
f515939fde
- scriptified the sound controller.
2022-11-20 08:46:49 +01:00
Christoph Oelckers
dee33ba4dd
- scriptified viewscreen and camera.
2022-11-19 17:35:04 +01:00