Commit graph

133 commits

Author SHA1 Message Date
Christoph Oelckers
4692cc55f7 - cleaned up checkhitdefault
Only required 4 new flags plus one property...
2023-04-23 17:33:36 +02:00
Christoph Oelckers
fc0c8e0787 - NOHITJIBS flag. 2023-04-23 10:45:44 +02:00
Christoph Oelckers
1bc9de1cf0 - the last picnums in actors_r.cpp 2023-04-23 09:52:56 +02:00
Christoph Oelckers
4812e1431e - made fallspecial game independent and eliminated all the wrapping and callback weirdness with fall. 2023-04-23 09:43:20 +02:00
Christoph Oelckers
35a088ba04 - added map flags to enable RR's special sector types in Duke as well. 2023-04-23 09:42:29 +02:00
Christoph Oelckers
5a2410cbbb - more properties to get rid of the remaining actor type checks in move_d and move_r. 2023-04-23 09:42:29 +02:00
Christoph Oelckers
c4c035a527 - handle more of move's special cases with flags and properties. 2023-04-23 09:42:28 +02:00
Christoph Oelckers
2d4eee4153 - eliminated the last references to picnum in actors.cpp. 2023-04-23 09:42:28 +02:00
Christoph Oelckers
0249725ed8 - got rid of all TILE_* globals, except TILE_CROSSHAIR. 2023-04-23 09:42:28 +02:00
Christoph Oelckers
46f7e38e46 - cleaned up movesprite_ex.
This needed 5 actor flags to handle some really inane special cases!
2023-04-23 09:42:27 +02:00
Christoph Oelckers
927d014cea - final cleanup on hitradius.
Several dead code paths were also removed that are unable to be triggered by any event in the game - due to the spaghetti-style checks this hadn't been obvious before.
Also one more flag that handles the WT flamethrower's special case of not hurting any actors of the shooter's kind in a more generalized form
2023-04-22 12:08:47 +02:00
Christoph Oelckers
ac430e6bc7 - another flag and the second old one renamed. 2023-04-22 12:08:47 +02:00
Christoph Oelckers
19f4e4ff63 - added a new flag and split out the geometry destruction part from the hitradius functions
... which suddenly look a lot less menacing...
2023-04-22 12:08:47 +02:00
Christoph Oelckers
cb8137c32b - consolidated shoot_d and shoot_r. 2023-04-16 16:53:52 +02:00
Christoph Oelckers
e97fc54179 - scriptified shootstuff. 2023-04-16 16:53:52 +02:00
Christoph Oelckers
041d5214a4 - two new flags for the hitscan attack. 2023-04-16 16:53:51 +02:00
Christoph Oelckers
e15517cf57 - fixed some issues with projectile ownership.
Some init code was run here that should not be run. Added a new flag to handle this case without major code explosion.
2023-04-16 07:54:26 +02:00
Christoph Oelckers
c73830992f - added a few exports and properties for weapon shooting and added missing 'const' annotations for ShootThis overrides. 2023-04-15 23:23:09 +02:00
Christoph Oelckers
660227e175 - Duke: restrict skill filter to those actors which originally handled it.
For flexibility there now is a flag that can be set on any actor class, but due to precedent it needs to be off by default.
2023-04-11 20:14:02 +02:00
Christoph Oelckers
b908ede470 - reviewed actor flags and applied several fixes. 2023-04-09 09:35:37 +02:00
Christoph Oelckers
8172a9ac0c - moved all flags into the actor definitions. 2023-04-09 09:35:37 +02:00
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
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
81f6899e72 - C++20 constant fixes.
Use of enums is deprecated in floating point calculations.
2023-01-21 10:34:44 +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
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
837e4d1438 - eliminated many uses of wallpicnum.
The ones left require a bit more work on the data first.
2022-12-18 15:11:08 +01:00
Christoph Oelckers
622710ede4 - migrated all uses of floorpicnum.
This necessitated a few more surface type definitions.
2022-12-18 14:02:56 +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
1a98f9b478 - Duke: change all checks for mirrors to texture IDs 2022-12-18 13:52:10 +01:00
Christoph Oelckers
0ffeb2378a - generalize Duke's purple lava check. 2022-12-18 13:43:26 +01:00
Christoph Oelckers
20edd800f9 - big texture system refactor.
Finally that quickly slapped together BuildTiles class is gone and replaced with something that better integrates with the underlying texture manager
2022-12-18 13:05:58 +01:00
Mitchell Richters
5d3710d677 - Duke: Always use tsprite pos/angle when used in conjunction with viewvec or viewang.
* This solves the issue of jittery picnum changes when circle-strafing actors at high speeds.
2022-12-11 19:45:38 +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
1cfba8e989 - cleaned up the main thinker loops, using a flag to denote actors that are not on STAT_ACTOR but need to run CON code.
This should not be automatic as it may cause problems with mods not expecting this.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
e6c466fcba - scriptified several of Duke's destructible items. 2022-12-11 19:43:52 +01:00
Christoph Oelckers
7cbc713b4e - scriptified stat121 special effect. 2022-12-11 19:43:52 +01:00
Christoph Oelckers
be6ead173a - scriptified several smaller actors 2022-12-11 19:43:51 +01:00
Christoph Oelckers
b9caa23357 - gave proper names to ST_160 and ST_161. 2022-12-11 19:43:51 +01:00
Christoph Oelckers
ff6a9b89ac - scriptified the green slimer. 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
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
8a921c98bd - scriptified ooz. 2022-12-11 19:43:47 +01:00
Christoph Oelckers
2ab5e63386 - added a few new actor flags. 2022-12-11 19:43:47 +01:00
Christoph Oelckers
1ef61c8588 - exported a bunch of stuff we're going to need soon. 2022-12-11 19:43:47 +01:00
Christoph Oelckers
dbb7965550 - added two new flags for later use. 2022-12-11 19:43:46 +01:00
Christoph Oelckers
786c335489 - added SFLAG2_NORADIUSPUSH flag. 2022-12-11 18:46:40 +01:00
Christoph Oelckers
93ef4b34d7 - scriptified the guts spawning function. 2022-12-11 18:46:40 +01:00