Commit graph

154 commits

Author SHA1 Message Date
Christoph Oelckers
947d427a9d - merged tileinfo and actorinfo. 2023-04-12 21:52:28 +02:00
Christoph Oelckers
a155a09f9f - deleted the setflag inlines. 2023-04-12 20:07:12 +02:00
Christoph Oelckers
b9702fbb66 - moved 'move' data out of the ScriptCode array as well. 2023-04-12 20:07:11 +02:00
Christoph Oelckers
94b676bd7c - wrapped access to the current 'move' values read from CON. 2023-04-12 20:07:11 +02:00
Christoph Oelckers
da0b429751 - migrated attackertype to class objects. 2023-04-09 09:46:09 +02:00
Christoph Oelckers
ae4ef6401c - use the actual actor flags.
Not fully working yet...
2023-04-09 09:45:42 +02:00
Christoph Oelckers
f4c176988a - first round of flag additions. 2023-04-09 09:35:36 +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
7a699e032f - cleaned up Duke's very broken kill count system.
This now uses a static flag to denote an actor as countable and an internal flag to track its killed state, because CON can toggle that at will.
2023-04-07 09:49:20 +02:00
Mitchell Richters
c4041affb1 - Duke: Reduce boilerplate from previous commit. 2023-03-16 22:24:34 +11:00
Mitchell Richters
18ef460a99 - Tidy up interface for PlayerAngles::doViewPitch() since we have internal access to the player's actor. 2023-03-14 21:45:36 +11: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
6848af9b6c - use texture IDs in Duke's texture flag checkers. 2022-12-18 13:42:28 +01:00
Christoph Oelckers
8a789b9015 - voxel management cleanup.
Moving the voxel index into the texExtInfo array and removing most of Blood's and SW's special handling.
2022-12-18 13:18:43 +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
3eb3a29a7e - Duke: Tidy up animateshrunken(). 2022-12-11 19:46:26 +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
Mitchell Richters
2c592405fa - Separate pitch/yaw key input into separate functions and apply from the ticker. 2022-12-11 19:43:56 +01:00
Mitchell Richters
9437ea9622 - Move input vector rotation for Duke and SW into the playsim.
* The next commit needs this to ensure the vector is rotated using the most current angle.
2022-12-11 19:43:55 +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
be6ead173a - scriptified several smaller actors 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
9d1384449c - scriptified the Recon. 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
c7cdf96a62 - exported two more settings to tile flags. 2022-12-11 18:42:02 +01:00
Christoph Oelckers
5a2819239c - moved Duke's tile flags into the tile manager.
This is so that .def can access them. Later the other games also might make use of this.
2022-12-11 18:42:01 +01:00
Mitchell Richters
dfb55c39ca - Duke: Remove all remaining angle wrapper usage. 2022-12-11 18:42:00 +01:00
Mitchell Richters
abdeeac205 - Rework PlayerAngles::doViewPitch() to apply at ticrate like PlayerAngles::doViewYaw(). 2022-12-11 18:41:59 +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
bd063de5f5 - Rename PlayerAngle::ang in preparation for replacement work. 2022-12-11 18:41:54 +01:00
Mitchell Richters
d810afa2e9 - Rename PlayerHorizon prototypes in preparation for replacement work. 2022-12-11 18:41:54 +01:00
Mitchell Richters
2e0b9490e1 - Change spritetypebase::angle to a DRotator named Angles.
* Major pre-requisite for the next steps I'm undertaking, let's get it into the branch now.
2022-12-11 18:41:52 +01:00
Mitchell Richters
92dd6c9795 - Duke: Remove player_struct::posXY(). 2022-12-11 18:41:43 +01:00
Mitchell Richters
5d3878eb55 - Duke: Wrap calls to player_struct::PlayerNowPosition.XY(). 2022-12-11 18:41:38 +01:00
Mitchell Richters
4aa63b5446 - Duke: Rename player's pos to something identifiable. 2022-12-11 18:41:38 +01:00
Christoph Oelckers
cb005062cd - scriptified activators and locators. 2022-11-20 12:43:24 +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
Christoph Oelckers
5ae7011e41 - converted the masterswitch. 2022-11-19 11:24:39 +01:00
Christoph Oelckers
5fea500f92 - flammable actors scriptified. 2022-11-14 16:31:45 +01:00
Christoph Oelckers
c511e5dca9 - eliminated int_xvel 2022-10-22 11:33:16 +02:00
Christoph Oelckers
9cfd56a912 - mathutil is not needed anymore. 2022-10-22 09:34:13 +02:00
Christoph Oelckers
be0eb81c95 - deleted unused utilities 2022-10-21 00:00:09 +02:00
Christoph Oelckers
0432930e5b - converted all dist() calls to vector math and deleted the utilities 2022-10-21 00:00:04 +02:00
Christoph Oelckers
ada4af8fb7 -consolidated sprite rotation formula in 2 inline functions. 2022-10-21 00:00:03 +02:00
Mitchell Richters
8bfcb8c939 - Floatify InputPacket::fvel and InputPacket::svel.
* Since all velocities are floated, we can now take each game's keymove scaling into its ticker and use a consistent keymove size, making non-mouselook and controller input truly identical across the games without having to try and fudge any values.
2022-10-20 00:48:09 +02:00
Christoph Oelckers
23c529589e - eliminated add_int_xvel 2022-10-19 18:26:16 +02:00
Christoph Oelckers
fe7dfa1c53 - floatify angle stuff for bowling, henstand etc. in RR. 2022-10-18 20:02:01 +02:00