Commit graph

17350 commits

Author SHA1 Message Date
Christoph Oelckers
7e36e57639 - fix dangerous pointer arithmetic in ParseCommandLine
Should be rewritten entirely to sanitize, though.
2022-08-05 09:40:37 +02:00
Christoph Oelckers
8d423fdc6f - toned down the fov change a bit.
With real projection math it was a bit extreme.
2022-08-03 19:59:46 +02:00
Christoph Oelckers
0fd42a50e8 -fixed ZScript warnings with comparison signedness. 2022-08-03 19:44:37 +02:00
Christoph Oelckers
e6ca0f4817 - made fov change for RRRA's drug mode work. 2022-08-03 19:41:30 +02:00
Christoph Oelckers
b60181eed5 - variable cleanup. 2022-08-03 15:58:18 +02:00
Christoph Oelckers
291726cc55 - removed the Polymost renderer. 2022-08-03 15:50:27 +02:00
Christoph Oelckers
7debab7ff4 - refined wall sprite check so that orthogonally aligned sprites are only aligned to orthogonal walls.
Here even the slightest deviation can create problems.
2022-08-03 14:13:42 +02:00
Christoph Oelckers
cac54d42e9 - fixed script warnings after updating to version 4.9.0 2022-08-03 13:49:17 +02:00
Christoph Oelckers
89e8d7ad58 - removed all remnants of the softpoly renderer which was never used in Raze. 2022-08-03 13:27:48 +02:00
Rachael Alexanderson
8de8e51d9d - add libvpx (arm64) from gzdoom 2022-07-26 23:08:39 -04:00
Christoph Oelckers
1df66f4971 - clear all collision flags from generic controller sprites
Taken from EDuke32 - there seem to be a few maps which need this.
Also consolidate a bit of setup code between Duke and RR.
2022-07-26 00:13:11 +02:00
Rachael Alexanderson
7e8e6b1cde
update badge, again, one last time 2022-07-24 16:26:05 -04:00
Mitchell Richters
8fb4549998 - Replicate GZDoom fix on POSIX systems to ensure GameConfig global is initialised before trying to load the ENGINERES file.
* Same fix as 0f0b4b7620.
2022-07-24 20:11:00 +10:00
alexey.lysiuk
e9fd96fd20
- updated continuous integration badge in readme
[skip ci]
2022-07-24 10:12:49 +03:00
Rachael Alexanderson
00efeaa02a - transition commit change from gzdoom 27d4fc28db 2022-07-23 19:13:49 -04:00
Christoph Oelckers
6591b3b090 - Backend update from GZDoom.
Mainly new features for 2D drawer and model renderer.
2022-07-23 12:05:27 +02:00
Mitchell Richters
79022e8afa - Clean up and simplify getincangle()/getincanglebam() functions and inline them. 2022-07-23 12:57:45 +10:00
Mitchell Richters
5dce9c8ff2 - Simplify tosigned() method inside of binangle class. 2022-07-23 12:43:54 +10:00
Christoph Oelckers
abb7f87de3 - Backend update from GZDoom. 2022-07-23 12:10:08 +10:00
Mitchell Richters
b9ee6c327d - Change internals of bsinf() and bcosf() to use BAM sine functions instead of coverting build angle into radians, then into BAM. 2022-07-23 10:37:33 +10:00
Mitchell Richters
4324f923bc - Call updateTurnHeldAmt() after doing the turn, not before it. This gives one tic more preamble. 2022-07-23 10:37:32 +10:00
Mitchell Richters
e016f65321 - Don't adjust joystick pitch/yaw speeds based on whether autorun is enabled or not.
* Only SW did this out of the box.
* Duke never did, NBlood has no working joystick setup to compare with, and GZDoom doesn't either.
* Fixes #693.
2022-07-23 10:37:32 +10:00
Mitchell Richters
a423b93ad8 - Use turnscale in controller pitch calculations, which is only used in SW when on a sector object, and is original behaviour. 2022-07-23 10:37:32 +10:00
Mitchell Richters
00e12ea031 - Remove some uses of xs_Float.h functions in game-side code where overflow protection isn't needed.
* Went a little bit nuts and just used this everywhere back way back when.
2022-07-23 10:37:32 +10:00
Mitchell Richters
78fcf2b4f0 - Move invertmouse and invertmousex CVARs from gameinput.cpp to inputstate.cpp.
* Old setup was inverting the entire player's horz/avel, even for joystick input while not inverting `mousemovex` or `mousemovey` at all.
2022-07-23 10:37:32 +10:00
Mitchell Richters
c68e112867 - Remove some unnecessary branching and abs() calls in processMovement().
* Since fvel/svel is clamped at the end of the function, these tests just aren't necessary.
* Reversed the logic in some if statements so the most likely outcome doesn't fall to the else branch.
2022-07-23 10:37:32 +10:00
Mitchell Richters
ea17352aea - Do some small tidying up in gameinput.cpp and change how some constants are stored. 2022-07-23 10:37:32 +10:00
Mitchell Richters
1906491129 - Move some PlayerHorizon/PlayerAngle class methods out into inlines in gameinput.cpp.
* These class methods did nothing with the objects inside the class, they worked generically so they're better as inlines.
* Also tidied up some of the internals so they're easier to read.
2022-07-23 10:37:32 +10:00
Dale Whinham
7856d30957 Improve KDE/kdialog detection
If KDE is running but kdialog is not present on the system (e.g. as is
the case on SteamOS), allow falling back on the GTK dialogs instead.
2022-07-23 10:36:15 +10:00
Mitchell Richters
6b4561f3bd - Commit changes that Discord compilation always makes on Linux, leading to -m on compiles. 2022-07-20 11:18:31 +10:00
Christoph Oelckers
6c915d7940 - Blood may not abort on a bogus start position.
There seem to be ways to override it elsewhere.
The initial position gets used by some code, so it still needs to be validated, though.
2022-07-12 09:52:30 +02:00
Dale Whinham
ed4e23f1ec Fix crash when exiting with no game data
When shutting down with no game data, GameConfig is saved and the
pointer is nulled. If a joystick was present, a null dereference occurs
when the engine tries to save the joystick config later in the shutdown
sequence.

Add a check to avoid a crash in this scenario.
2022-07-10 22:30:18 +02:00
Christoph Oelckers
390cd2ca98 - fixed rendering of non-orthogonal wall sprites.
These cannot be done in a simple two-pass approach, for wall sprites attached to walls it requires doing the two passes per wall to ensure proper depth buffer coverage.
2022-07-04 09:11:24 +02:00
Christoph Oelckers
2c3fcbaf51 - glslang compiler and Vulkan backend update. 2022-07-02 10:20:11 +02:00
Christoph Oelckers
0c03d3e364 - lzma and zlib update. 2022-07-02 09:58:48 +02:00
Christoph Oelckers
3ec8a96ddf - partial backend update from GZDoom. 2022-07-02 09:30:37 +02:00
Christoph Oelckers
486da6922d - fixed automap angle in unrotated mode. 2022-06-28 22:33:53 +02:00
alexey.lysiuk
fd3fccdc7a - updated continuous integration workflow
* Use macOS 12 runners
* Test Xcode project generation in addition to Makefile one
* Remove obsolete CMake options
* Use ZMusic 1.1.9
2022-06-26 11:34:32 +03:00
Christoph Oelckers
9e6fe2cbaa - added workaround to render the crane in WT's 'Docks' map correctly.
This one violates engine specifications by creating overlapping walls when the crane is rotated.
2022-06-26 09:36:01 +02:00
Christoph Oelckers
eb8fae761e - backend update from GZDoom. 2022-06-26 09:35:21 +02:00
Christoph Oelckers
30b81c0920 - SW: changed fullscreen HUD to display all 8 keys without gaps ans overlapping. 2022-06-06 22:03:42 +02:00
Christoph Oelckers
f8aacb3825 - fixed crash in Last Warrior map 9.
Really, asserts should not be used to test for errors that can actually happen!
2022-06-06 20:56:50 +02:00
Christoph Oelckers
998def2487 - another backend update from GZDoom. 2022-06-06 15:28:41 +02:00
Christoph Oelckers
f599040212 - GCC needs this commented out but really shouldn't. 2022-06-06 13:08:23 +02:00
Christoph Oelckers
d2eaaf7ac1 - for Raze hud_aspectscale needs to default to true 2022-06-06 12:42:45 +02:00
Christoph Oelckers
e5c7c4f680 - don't use longs. 2022-06-06 12:05:50 +02:00
Christoph Oelckers
84173ee09b - backend update from GZDoom.
The main bulk of this is the new start screen code. To make this work in Raze some more work on the startup procedure is needed.
What this does provide is support for the DOS end-of-game text screens in Duke and SW on non-Windows systems.
2022-06-06 11:45:34 +02:00
Mitchell Richters
47aa110441 - Remove the ability to set a custom ticrate in calls to I_GetInputFrac(). There's no real world need for this. 2022-06-06 18:41:48 +10:00
Mitchell Richters
20dde9fabc - Force synchronised input when cl_capfps is true. 2022-06-06 18:41:48 +10:00
Mitchell Richters
71fb91940d Revert "- Simplify PlayerHorizon::settarget() by adding a dedicated angle setter that resets interpolated value as well."
This reverts commit 0416834d9d.

Revert "- Simplify `PlayerAngle::settarget()` by adding a dedicated angle setter that resets interpolated value as well."

This reverts commit 5a550613f3.

Revert "- Add bool `lock` to `PlayerHorizon::settarget()` when setting target from the ticker without having to call setters and resetters."

This reverts commit 18541d1ab4.

Revert "- Add bool `lock` to `PlayerAngle::settarget()` when setting target from the ticker without having to call setters and resetters."

This reverts commit 1ac58dc41c.

* We need to ensure only the ticker can unlock the player's input if it's telling us to lock the input.
2022-06-06 18:41:45 +10:00