Commit graph

13094 commits

Author SHA1 Message Date
Mitchell Richters
e3f6b5ff85 - SW: Clean up a useless test function. 2022-12-11 18:41:50 +01:00
Mitchell Richters
c43bde9b4d - SW: Remove all the player oldpos stuff.
* This only had one valid use, for a bad setup in `DoPlayerRun()` where `DoPlayerBob()` was called before `DoPlayerMove()`.
2022-12-11 18:41:49 +01:00
Mitchell Richters
703db0e3c3 - SW: Remove PLAYER::posGet(). 2022-12-11 18:41:49 +01:00
Mitchell Richters
be06582062 - SW: Remove PLAYER::posAdd(). 2022-12-11 18:41:49 +01:00
Mitchell Richters
7eba7aacbd - SW: Remove last PLAYER::posSet() calls. 2022-12-11 18:41:49 +01:00
Mitchell Richters
bf0f0345b3 - SW: Remove most PLAYER::posSet() calls. 2022-12-11 18:41:49 +01:00
Mitchell Richters
0917434888 - SW: Remove PLAYER::posXY(). 2022-12-11 18:41:49 +01:00
Mitchell Richters
ff75fa513a - SW: Remove PLAYER::posZadd(). 2022-12-11 18:41:48 +01:00
Mitchell Richters
3b961ccae9 - SW: Remove PLAYER::posZget().
- SW: Remove `PLAYER::posZget()`.
2022-12-11 18:41:48 +01:00
Mitchell Richters
fe795e6cfb - SW: Remove PLAYER::posZset() in favour of new utilities. 2022-12-11 18:41:48 +01:00
Mitchell Richters
f18512e270 - SW: Ladder fixes where centering of player was effectively occurring twice. 2022-12-11 18:41:48 +01:00
Mitchell Richters
7624f8b77d - SW: Death sequence fixes. 2022-12-11 18:41:48 +01:00
Mitchell Richters
88bace9dd7 - SW: Slightly increase the range check in DoPlayerDeathHoriz(). 2022-12-11 18:41:48 +01:00
Mitchell Richters
61086d7a8b - SW: Don't bob the actual sprite's Z since we apply it as an offset in the draw code. 2022-12-11 18:41:48 +01:00
Mitchell Richters
e6044bc0fd - SW: Repair player height issues. 2022-12-11 18:41:48 +01:00
Mitchell Richters
6d736aea19 - SW: Swap out the internals of the player's pos methods and get the game going again.
* Leave `PLAYER::PlayerOldPosition` for now.
2022-12-11 18:41:47 +01:00
Mitchell Richters
c14d1587f0 - SW: Move PLAYER struct underneath include for swactor.h.
* Needed by the next commit since the forward declaration isn't working.
2022-12-11 18:41:47 +01:00
Mitchell Richters
97a07cd83c - SW: Wrap remaining calls to PLAYER::PlayerOldPosition. 2022-12-11 18:41:47 +01:00
Mitchell Richters
9ab5fd0801 - SW: Wrap calls to PLAYER::PlayerOldPosition.XY(). 2022-12-11 18:41:47 +01:00
Mitchell Richters
f711355f2f - SW: Wrap calls that get PLAYER::PlayerPrevPosition. 2022-12-11 18:41:47 +01:00
Mitchell Richters
ad7a626b92 - SW: Wrap calls that set PLAYER::PlayerPrevPosition. 2022-12-11 18:41:47 +01:00
Mitchell Richters
2d351b2c28 - SW: Wrap calls that set PLAYER::PlayerPrevPosition.Z. 2022-12-11 18:41:47 +01:00
Mitchell Richters
bf833fcfa3 - SW: Wrap calls to PLAYER::PlayerPrevPosition.XY(). 2022-12-11 18:41:47 +01:00
Mitchell Richters
82e0e25b7e - SW: Manual fixes to last commit I wanted to keep separate. 2022-12-11 18:41:46 +01:00
Mitchell Richters
a54d0f7639 - SW: Wrap calls that get PLAYER::PlayerNowPosition. 2022-12-11 18:41:46 +01:00
Mitchell Richters
964557ab6b - SW: Wrap calls that add to PLAYER::PlayerNowPosition. 2022-12-11 18:41:46 +01:00
Mitchell Richters
11f9d82239 - SW: Wrap calls that set PLAYER::PlayerNowPosition. 2022-12-11 18:41:46 +01:00
Mitchell Richters
4bf202bee4 - SW: Wrap calls that get PLAYER::PlayerNowPosition.Z. 2022-12-11 18:41:46 +01:00
Mitchell Richters
4e0aa1add1 - SW: Wrap calls that add/subtract PLAYER::PlayerNowPosition.Z. 2022-12-11 18:41:46 +01:00
Mitchell Richters
6226d302f5 - SW: Wrap calls that set PLAYER::PlayerNowPosition.Z. 2022-12-11 18:41:46 +01:00
Mitchell Richters
7757288d33 - SW: Tidy up one vector equality test. 2022-12-11 18:41:45 +01:00
Mitchell Richters
7d0b2fba69 - SW: Wrap calls to PLAYER::PlayerNowPosition.XY(). 2022-12-11 18:41:45 +01:00
Mitchell Richters
f0074a913e - SW: Rename Player::oldpos to Player::PlayerOldPosition to make it easier to search upon. 2022-12-11 18:41:45 +01:00
Mitchell Richters
bf10d9816f - SW: Rename Player::opos to Player::PlayerPrevPosition to make it easier to search upon. 2022-12-11 18:41:45 +01:00
Mitchell Richters
cf25884675 - SW: Rename Player::pos to Player::PlayerNowPosition to make it easier to search upon. 2022-12-11 18:41:45 +01:00
Mitchell Richters
e55412f240 - Remove DCoreActor::ZeroVelocity(). 2022-12-11 18:41:45 +01:00
Mitchell Richters
39d1a758ed - Remove DCoreActor::ZeroVelocityXY(). 2022-12-11 18:41:44 +01:00
Mitchell Richters
7dd5cdb86c - Get rid of 2x unnecessary scope change calls on interpolatedvalue() calls. 2022-12-11 18:41:44 +01:00
Mitchell Richters
4de1b8ad86 - Create DCoreActor::getRenderPos() and use within Duke. 2022-12-11 18:41:44 +01:00
Mitchell Richters
d1c5f9516f - Duke: Remove player_struct::posoldAdd() and player_struct::posoldGet(). 2022-12-11 18:41:44 +01:00
Mitchell Richters
f10f1b9154 - Duke: Remove player_struct::posoldZset() and player_struct::posoldZget(). 2022-12-11 18:41:44 +01:00
Mitchell Richters
66a08a26e8 - Duke: Remove player_struct::posoldX(), player_struct::posoldY(), and player_struct::posoldXY(). 2022-12-11 18:41:44 +01:00
Mitchell Richters
4551274e7d - Duke: Remove player_struct::posSet(). 2022-12-11 18:41:44 +01:00
Mitchell Richters
a1e68f88a5 - Duke: Remove player_struct::posAdd(). 2022-12-11 18:41:44 +01:00
Mitchell Richters
27be72c7ec - Duke: Remove player_struct::posGet(). 2022-12-11 18:41:43 +01:00
Mitchell Richters
b42672dcf9 - Duke: Remove player_struct::posZget(). 2022-12-11 18:41:43 +01:00
Mitchell Richters
bd8a6dd956 - Duke: Remove player_struct::posZadd(). 2022-12-11 18:41:43 +01:00
Mitchell Richters
78b04649f1 - Duke: Remove player_struct::posZset(). 2022-12-11 18:41:43 +01:00
Mitchell Richters
92dd6c9795 - Duke: Remove player_struct::posXY(). 2022-12-11 18:41:43 +01:00
Mitchell Richters
6f102e1171 - Duke: Remove player_struct::posX() and player_struct::posY(). 2022-12-11 18:41:43 +01:00
Mitchell Richters
b1bd59db41 - Duke: Clean up all player position calls referencing gs.playerheight that don't need it when using the sprite height. 2022-12-11 18:41:42 +01:00
Mitchell Richters
29f2212d8f - Duke: Remove player_struct::backupz() in lieu of actor variant. 2022-12-11 18:41:42 +01:00
Mitchell Richters
a8c923f05c - Duke: Remove player_struct::backupxy() in lieu of actor variant. 2022-12-11 18:41:42 +01:00
Mitchell Richters
6eeedbd38a - Duke: Move player_struct::restorexyz() to DCoreActor::restorepos(). 2022-12-11 18:41:42 +01:00
Mitchell Richters
a78d976352 - Duke: Remove player_struct::backupxyz() in lieu of actor variant. 2022-12-11 18:41:42 +01:00
Mitchell Richters
4e4e457cfe - Duke: Fix doanimations() following position change to sprite. 2022-12-11 18:41:42 +01:00
Mitchell Richters
6d1370dcab - Duke: Fix a few more sector effector after position change to sprite. 2022-12-11 18:41:42 +01:00
Mitchell Richters
4a9775fde7 - Duke: Fix SE17 elevators after change to player position internals. 2022-12-11 18:41:41 +01:00
Christoph Oelckers
bfa7fddcea - always set the sound listener position to something valid.
Otherwise OpenAL throws lots of warning messages.
2022-12-11 18:41:41 +01:00
Mitchell Richters
dd5834444e - Duke: Swap out the internals of the player's pos methods and get the game going again. 2022-12-11 18:41:41 +01:00
Mitchell Richters
202137ed69 - Duke: Fix interpolation issues with player's XY coordinates while drawing using the sprite. 2022-12-11 18:41:41 +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
Mitchell Richters
abd6275f17 - Add new double DCoreActor::viewzoffset set in spawning code during level loads.
* Interpolated backup copy isn't needed for Duke, but will be for SW.
2022-12-11 18:41:41 +01:00
Mitchell Richters
b0c95f69c5 - Duke: Wrap calls that get player_struct::PlayerOldPosition. 2022-12-11 18:41:41 +01:00
Mitchell Richters
1962d85f99 - Duke: Wrap calls that subtract from player_struct::PlayerOldPosition. 2022-12-11 18:41:40 +01:00
Mitchell Richters
fffc1915a9 - Duke: Wrap calls that add to player_struct::PlayerOldPosition. 2022-12-11 18:41:40 +01:00
Mitchell Richters
e4dd69f5b0 - Duke: Wrap calls that get player_struct::PlayerOldPosition.Z. 2022-12-11 18:41:40 +01:00
Mitchell Richters
830480b8b9 - Duke: Wrap calls that set player_struct::PlayerOldPosition.Z. 2022-12-11 18:41:40 +01:00
Mitchell Richters
4027f7256d - Duke: Wrap calls to player_struct::PlayerOldPosition.Y. 2022-12-11 18:41:40 +01:00
Mitchell Richters
823c5a7a47 - Duke: Wrap calls to player_struct::PlayerOldPosition.X. 2022-12-11 18:41:40 +01:00
Mitchell Richters
fa16d5d344 - Duke: Wrap calls to player_struct::PlayerOldPosition.XY(). 2022-12-11 18:41:40 +01:00
Mitchell Richters
a3b1ab10fe - Duke: Wrap calls that get player_struct::PlayerNowPosition. 2022-12-11 18:41:39 +01:00
Mitchell Richters
e9dcffc5ec - Duke: Route all clipmove()/pushmove() calls through a new interface that accepts a separated Z coordinate. 2022-12-11 18:41:39 +01:00
Mitchell Richters
a6a4cefa6c - Duke: Wrap calls that add to player_struct::PlayerNowPosition.
* The only adds were from DVector2 objects.
2022-12-11 18:41:39 +01:00
Mitchell Richters
58381c6eca - Duke: Wrap calls that set player_struct::PlayerNowPosition. 2022-12-11 18:41:39 +01:00
Mitchell Richters
25e6c4ecf8 - Duke: Wrap calls that get player_struct::PlayerNowPosition.Z. 2022-12-11 18:41:39 +01:00
Mitchell Richters
adc78c81c6 - Duke: Wrap calls that subtract from player_struct::PlayerNowPosition.Z. 2022-12-11 18:41:39 +01:00
Mitchell Richters
44166ae9e6 - Duke: Wrap calls that add to player_struct::PlayerNowPosition.Z. 2022-12-11 18:41:39 +01:00
Mitchell Richters
93189037c3 - Duke: Wrap calls that set player_struct::PlayerNowPosition.Z. 2022-12-11 18:41:38 +01:00
Mitchell Richters
008c05710b - Duke: Wrap calls to player_struct::PlayerNowPosition.Y. 2022-12-11 18:41:38 +01:00
Mitchell Richters
3a07c05af7 - Duke: Wrap calls to player_struct::PlayerNowPosition.X. 2022-12-11 18:41:38 +01:00
Mitchell Richters
5d3878eb55 - Duke: Wrap calls to player_struct::PlayerNowPosition.XY(). 2022-12-11 18:41:38 +01:00
Mitchell Richters
4b7d2fcfcc - Duke: Rename player's opos to something identifiable. 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
Mitchell Richters
59e8821332 - Use the interpolated sine table for tangent instead of Cephis math in TAngle<T>.
* Performed testing and it's ~6.5x faster this way.
2022-12-11 18:41:38 +01:00
Mitchell Richters
17914db418 - SW: Utilise new weapon drawing offsets from the backend. 2022-12-11 18:41:38 +01:00
Mitchell Richters
f524abdf47 - Blood: Utilise new weapon drawing offsets from the backend. 2022-12-11 18:41:37 +01:00
Christoph Oelckers
0741570ba9 - we're past 1.6 now. 2022-12-11 18:31:07 +01:00
Christoph Oelckers
9cd1e9adb1 - updated Vulkan backend to use ZVulkan. 2022-12-11 18:30:01 +01:00
Christoph Oelckers
fbf5cdc18f - pulled in the ZScript map fixes from GZDoom. 2022-12-11 16:38:20 +01:00
Christoph Oelckers
e412a34f4e - bump savegame version. 2022-12-11 16:31:00 +01:00
Kevin Caccamo
b1c0614d93 Attempt to fix #647
I'm guessing the `nWalls < -1` is a typo, and it should have been `nWalls <= -1` all along. I decided to write `nWalls < 0` instead.

I don't know if I broke anything with this commit, but hopefully everything else still works as intended.
2022-12-11 16:26:25 +01:00
Mitchell Richters
64e53ffc7e Revert "- Duke: Invert the horizon offset in displayweapon_d() as it makes more sense."
This reverts commit 2d2f628b95.

This made sense for things such as cracking knuckles on idle as if you're looking up, the Y should drop down, however the setup of other areas such as `animateknee()` depend on the pitch being inverted like this.
2022-12-11 20:01:41 +11:00
Mitchell Richters
4bf8ea140c - Fix IWADBoxCallback() and MENUDEF setup for GLES backend. 2022-12-11 19:45:07 +11:00
Mitchell Richters
c762505b02 - Use the game's display name for defaultiwad, not the filename.
* Add-ons don't have a FileName entry, but everything has a display name therefore all bases are covered.
* Fixes #616.
2022-12-11 17:02:36 +11:00
Mitchell Richters
33975a083f - Draw crosshair at 1:1 scale when crosshairscale is 0, just like GZDoom.
* Fixes #767.
2022-12-11 16:16:16 +11:00
Christoph Oelckers
7d82ae28f4 - Duke/RR: fixed: animates array must be cleared on map change.
There was also some undefined behavior when an entry was deleted, this seems to originate from the original code.
2022-12-10 10:20:01 +01:00
Mitchell Richters
dc41057984 - In SetupGame(), test userConfig.DefaultCon before userConfig.gamegrp so addons work properly. 2022-12-10 10:48:34 +11:00
Mitchell Richters
25460e8e98 - Fix change to constant in last commit.
* How did that little `3` not make it in...
2022-12-09 20:00:37 +11:00
Mitchell Richters
2a82ef85b8 - Minor optimisation to the return to centre code. 2022-12-09 18:00:56 +11:00