Commit graph

316 commits

Author SHA1 Message Date
Christoph Oelckers
f5e9e7d981 - got rid of most remaining references to wallpicnum and overpicnum.
What remains now needs changing the variables to texture IDs first.
2022-12-29 14:14:53 +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
0c0199fbdc - same procedure for wall switches 2022-12-29 13:33:02 +01:00
Christoph Oelckers
d9122a0482 - split out the sprite switch toggle handler into a common subfunction using the switch definitions. 2022-12-29 13:33:02 +01:00
Christoph Oelckers
4191a9493a - split RRRA's tag10000specialswitch into a subfunction.
Unfortunately I have no idea where this gets used so it's untested for now.
2022-12-29 13:33:02 +01:00
Christoph Oelckers
564e9d2905 - use switch types to cut doen the first switch/case block in checkhitswitch 2022-12-29 13:33:01 +01:00
Christoph Oelckers
2386ea9930 - implemented the 3 special switches
That's the developer commentary icon in World Tour, the deactivation switch for the chicken processing plant in RR and one shootable alarm bell in RRRA.
2022-12-29 13:32:30 +01:00
Christoph Oelckers
0d9fe83cba - implemented the switch parser and set up the external definitions. 2022-12-29 13:32:29 +01:00
Mitchell Richters
22f5c69b4c - Duke: Fix bad checkaccessswitch_*() calls.
* Fixes #815.
2022-12-29 22:45:36 +11:00
Christoph Oelckers
ffb471666d - moved the access switch handlers out of checkhitswitch_*. 2022-12-18 15:08:27 +01:00
Christoph Oelckers
1a98f9b478 - Duke: change all checks for mirrors to texture IDs 2022-12-18 13:52:10 +01:00
Christoph Oelckers
6848af9b6c - use texture IDs in Duke's texture flag checkers. 2022-12-18 13:42:28 +01:00
Christoph Oelckers
ede5b017ab - renamed walltype::picnum to wallpicnum for easier searching. 2022-12-11 19:43:58 +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
0df5be7ad0 - also renamed all RR tile names. 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
c1a09196f0 - implemented breakable walls with external definitions.
The scripted case does not work yet due to bad loading order of files.
2022-12-11 19:43:57 +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
9641d3f712 - scriptified two of RRRA's special effects. 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
c9628db264 - scriptified the toilet. 2022-12-11 19:43:53 +01:00
Christoph Oelckers
d83e203b8d - renamed a few RR sprites plus one associated global variable. 2022-12-11 19:43:53 +01:00
Christoph Oelckers
e5ac32e329 - scriptified the remaining RR destructibles. 2022-12-11 19:43:53 +01:00
Christoph Oelckers
15bee4ca6a - scriptified the remaining Duke destructibles, except the toilets. 2022-12-11 19:43:52 +01:00
Christoph Oelckers
e6c466fcba - scriptified several of Duke's destructible items. 2022-12-11 19:43:52 +01:00
Christoph Oelckers
066c4c88b2 - scriptified the two final special stat items from RRRA. 2022-12-11 19:43:52 +01:00
Christoph Oelckers
5a155730b4 - scriptified RR's bowling stuff. 2022-12-11 19:43:52 +01:00
Christoph Oelckers
9ad8f67ce9 - added isEffector inline and exported NATURALLIGHTNING which got a bit in the way. 2022-12-11 19:43:52 +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
4397e65443 - cleaned up the generic destructible code and used it for several more things. 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
44fa420387 - added a few new flags and renamed some sprites.
All this is preparations for scriptifying the projectiles.
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
2ab5e63386 - added a few new actor flags. 2022-12-11 19:43:47 +01:00
Christoph Oelckers
7db953e0ea - scriptified the force sphere.
Doesn't seem to be used anywhere, though...
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
b485d7a450 - use isPlayer function where possible. 2022-12-11 19:43:46 +01:00
Christoph Oelckers
a6a4e628df - scriptified RRRA's gambling machines.
These were fallout from the generic destructibles because the code to destroy them was removed along with that.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
1d52963d4b - converted all simple destructible sprites.
Ironically the first item I used for testing needed a dedicated class, so here's that, too...
2022-12-11 19:43:46 +01:00
Christoph Oelckers
9e29c3970d - generic destructibles 2022-12-11 19:43:45 +01:00
Christoph Oelckers
c7cdf96a62 - exported two more settings to tile flags. 2022-12-11 18:42:02 +01:00
Mitchell Richters
dfb55c39ca - Duke: Remove all remaining angle wrapper usage. 2022-12-11 18:42:00 +01:00
Mitchell Richters
850c988dfa - Wrap access to previous yaw. 2022-12-11 18:41:57 +01:00
Mitchell Richters
be466fec8d - Wrap access to current yaw. 2022-12-11 18:41:57 +01:00
Mitchell Richters
b9f5bb71cc - Merge PlayerHorizon and PlayerAngle structs into PlayerAngles struct. 2022-12-11 18:41:56 +01:00
Mitchell Richters
50cf22ec53 - Rename PlayerAngle::oang in preparation for replacement work. 2022-12-11 18:41:55 +01:00
Mitchell Richters
bd063de5f5 - Rename PlayerAngle::ang in preparation for replacement work. 2022-12-11 18:41:54 +01:00