Commit graph

214 commits

Author SHA1 Message Date
Mitchell Richters
d6549d6335 - Duke: Interpolate knee_incs when drawing onscreen (stomping on shrunken enemies). 2022-06-06 09:19:55 +10:00
Mitchell Richters
ab95a8b890 - Duke: Interpolate fist_incs when drawing onscreen (hitting the nuke detonator at the end of each level). 2022-06-05 21:00:44 +02:00
Mitchell Richters
7282e0d8bf - Remove multiple addadjustment()/settarget() overloads in favour of native binangle/fixedhoriz versions only.
* Simplifies these classes a bit.
* Better shows intent in actual game code.
* Removes unnecessary int to double conversions.
2022-05-30 20:35:41 +10:00
Christoph Oelckers
8487d693f5 - flags for the bolts. 2022-01-27 01:05:12 +01:00
Christoph Oelckers
58b718d2a2 - turn all special actor type checks in moveflammable into flags.
Also wrap all flag checks in actorflag function
2022-01-27 00:34:21 +01:00
Christoph Oelckers
ef22a78618 - moved all VM exports to their own file. 2022-01-26 23:35:46 +01:00
Christoph Oelckers
4ee64df844 - uncouple the fist animation for being shrunk from the display frame rate. 2022-01-15 15:48:50 +01:00
Christoph Oelckers
694f44774f - Duke: added missing z-offset in hits.
Among other things, this made throwing pipebombs on slopes misbehave.
2022-01-09 14:43:59 +01:00
Mitchell Richters
9de4b4753a - Duke: Add nullptr check to haskey(). 2022-01-05 18:05:15 +11:00
Mitchell Richters
6414a4ce78 - Duke: Add nullptr check to footprints() code. 2022-01-04 22:44:11 +11:00
Christoph Oelckers
cd599a7a15 - Duke: abstracted all checks for TILE_APLAYER with an isPlayer method. 2021-12-31 18:51:43 +01:00
Christoph Oelckers
5498699faf - use DCoreActor::sector() wherever possible. 2021-12-30 16:51:56 +01:00
Mitchell Richters
225a2a39da - Duke: Replace player_struct noise_* variables with a vector. 2021-12-31 00:19:33 +11:00
Mitchell Richters
1e90b0bbbe - Duke: Replace player_struct bobposy with bobpos.Y calls. 2021-12-30 23:00:44 +11:00
Mitchell Richters
034e1fd175 - Duke: Replace player_struct bobposx with bobpos.X calls. 2021-12-30 23:00:44 +11:00
Mitchell Richters
0bc26e78ba - Duke: Replace player_struct loogiey[64] with loogie[64].Y calls. 2021-12-30 23:00:43 +11:00
Mitchell Richters
e196a4daa3 - Duke: Replace player_struct loogiex[64] with loogie[64].X calls. 2021-12-30 23:00:43 +11:00
Mitchell Richters
2d6bc783c4 - Duke: Replace player_struct exity with exit.Y calls. 2021-12-30 23:00:43 +11:00
Mitchell Richters
8d2595ea84 - Duke: Replace player_struct exitx with exit.X calls. 2021-12-30 23:00:43 +11:00
Mitchell Richters
fd8c7bfa52 - Duke: Replace player_struct poszv with vel.Z calls. 2021-12-30 23:00:41 +11:00
Mitchell Richters
b2023efb44 - Duke: Replace player_struct posyv with vel.Y calls. 2021-12-30 23:00:41 +11:00
Mitchell Richters
31ed257f39 - Duke: Replace player_struct posxv with vel.X calls. 2021-12-30 23:00:41 +11:00
Christoph Oelckers
12619671e6 - Duke/RR: added fudging to work around aiming randomization issues with the pistol when autoaim is off.
Solution is the same as in RedNukem/EDuke32: do one hitscan directly in aiming order and if that hits a sprite, use it as aiming target.
2021-12-30 09:58:10 +01:00
Christoph Oelckers
34f14aa4c3 - added vector variants of FindDistance2D and FindDistance3D 2021-12-30 09:58:07 +01:00
Mitchell Richters
3adf81e4f9 - Duke: Replace player_struct oposz with opos.Z calls. 2021-12-30 09:57:07 +01:00
Mitchell Richters
111aa16e64 - Duke: Replace player_struct oposy with opos.Y calls. 2021-12-30 09:57:07 +01:00
Mitchell Richters
0e897c29b0 - Duke: Replace player_struct oposx with opos.X calls. 2021-12-30 09:57:07 +01:00
Mitchell Richters
baf78848eb - Replace spritetypebase z with pos.Z calls and eliminate spritetypebase pos union. 2021-12-30 09:57:06 +01:00
Mitchell Richters
cecb8dc48e - Replace spritetypebase y with pos.Y calls. 2021-12-30 09:57:05 +01:00
Mitchell Richters
33ca55023f - Replace spritetypebase x with pos.X calls. 2021-12-30 09:57:05 +01:00
Mitchell Richters
b2ab64bb62 - Capitalise vec3_t z variable. 2021-12-30 09:57:03 +01:00
Mitchell Richters
68e2691be7 - Capitalise vec3_t y variable. 2021-12-30 09:57:03 +01:00
Mitchell Richters
c549cc5276 - Capitalise vec3_t x variable. 2021-12-30 09:57:02 +01:00
Mitchell Richters
118ceb18ca - Capitalise vec2_t y variable. 2021-12-30 09:57:02 +01:00
Mitchell Richters
3c9cd926ba - Capitalise vec2_t x variable. 2021-12-30 09:57:02 +01:00
Christoph Oelckers
1240818122 - getting rid of DDukeActor::s, final part. 2021-12-30 09:57:00 +01:00
Christoph Oelckers
a982c7e590 - player.cpp + noise.cpp. 2021-12-30 09:56:58 +01:00
Christoph Oelckers
55cb5aaac6 - global search & replace of ->s-> with ->spr.
This is the largest part of uses of DDukeActor's 's' pointer.
2021-12-30 09:56:56 +01:00
Christoph Oelckers
2d648924e8 - the final Duke flags. 2021-12-30 09:56:49 +01:00
Christoph Oelckers
e02f4d8fd1 - randomFlip stuff.
To avoid casting from int to flags.
2021-12-30 09:56:49 +01:00
Christoph Oelckers
c5ae454207 - another big batch of automatic replacements. 2021-12-30 09:56:48 +01:00
Christoph Oelckers
5b65e214e0 - global search & replace of the more frequent sprite flag patterns. 2021-12-30 09:56:48 +01:00
Christoph Oelckers
b263c3ac6b - wall and sprite flags in Duke, just simple cases. 2021-12-30 09:56:46 +01:00
Christoph Oelckers
b0e3c6b5ec - some remaining sector flag stuff 2021-12-30 09:56:45 +01:00
Christoph Oelckers
8606045689 - Duke: made gamevars type safe and capable of managing actor pointers.
Also a few unrelated changes needed to make it compile again.
2021-12-26 23:09:56 +01:00
Christoph Oelckers
122a1f009d - moved gamevar storage to player and actor objects respectively.
For actors this eliminates the need to for sprite indices which was the intended goal. It also properly associates the gamevars with their owners.
2021-12-26 23:09:56 +01:00
Mitchell Richters
0c6e55d1b8 - Silence all the -Wuninitialized and -Wmaybe-uninitialized warnings relating to HitInfo objects passed through to functions by reference. 2021-12-26 23:09:50 +01:00
Christoph Oelckers
75b36cbd1c - Duke: made player.i a real pointer
How could I overlook this one.
2021-12-26 23:09:45 +01:00
Christoph Oelckers
b7a5ea8ef6 - moved some common utilities into the backend. 2021-12-26 23:09:44 +01:00
Christoph Oelckers
4788c7ba5e - made Collision derive from a common base class and refactored clipmove to a single engine-side entry point.
Done for Doom so far.
2021-12-26 23:08:57 +01:00