Commit graph

758 commits

Author SHA1 Message Date
Christoph Oelckers
c62e14d2c1 - Backend update from Raze
Mostly cleanup and better separation of game/backend concerns.
2022-06-06 12:09:29 +02:00
Christoph Oelckers
a59436c4c2 - fixed auto-scaling for console. 2022-06-05 12:34:22 +02:00
Christoph Oelckers
e266fb1c16 - removed all vid_fps offsetting.
To compensate there is now also a "stat fps" which displays the FPS rate in the lower left corner. This had to go because unconditionally altering positions was causing problems with custom HUDs.
2022-06-05 12:16:56 +02:00
Christoph Oelckers
efaaa3c118 - added Raze-style HUD scaling. 2022-06-05 10:57:21 +02:00
Christoph Oelckers
0ee1cc85ec - fixed: The IVF decoder never accounted for odd dimensions when applying the UV subsampling.
To simplify the code the 'optimized' loop was replaced with one iterating over all pixels - even in the worst of cases the little savings are hardly performance relevant.
2022-06-05 08:09:50 +02:00
Christoph Oelckers
608b387e04 - use correct mapping for IBM437’s lower characters
For use on text screens these need to be mapped to the printable characters they represent on screen, not the control characters of ASCII.
2022-06-03 00:12:45 +02:00
Christoph Oelckers
05c846c4eb - fixed: the last column of a text-type start screen was not rendered. 2022-06-02 08:32:39 +02:00
Christoph Oelckers
092eb1eb6f - use StartupTexture, not HeaderTexture to clear the screen.
HeaderTexture does not exist for the Endoom screen.
2022-06-01 18:00:03 +02:00
Christoph Oelckers
c11729c2bb - fixed: Vulkan descriptor sets must check the real translation, not just the translation ID.
In particular the one for the menu's player sprite and ACS translations can alter a translation ID's actual translation at run time, these changes never triggered a descriptor set change.
2022-06-01 16:47:54 +02:00
Christoph Oelckers
298407aaf3 - workaround for clearing the start screen in Vulkan.
There seems to be a bug in the backend, but I have no idea what's wrong.
Clearing the start screen with a ClearRect call renders the 2D drawer in an unstable state. So for now, clear the screen by rendering a texture, but with light color black, which produces the same effect without later breaking stuff.
2022-06-01 16:02:24 +02:00
Rachael Alexanderson
c8156fa581 - add keybinds for F17-F24 2022-06-01 10:23:08 +02:00
Christoph Oelckers
3b87c19b5b - fixed startuo screen creation 2022-06-01 10:20:32 +02:00
Christoph Oelckers
7787a410ea - Startscreen fixes.
* for Strife the game palette must be loaded before the start screen.
* increase update frequency of start screen to roughly 35 fps
* fixed Strife's laser sprite names.
* do not show the native progress bar if a graphical start screen is used.
2022-06-01 09:30:20 +02:00
Christoph Oelckers
da30b6f6f0 - fixed some GCC warnings 2022-06-01 08:37:00 +02:00
Christoph Oelckers
077aa6b0ae - cleaned out some duplicates in Posix platform code 2022-06-01 08:37:00 +02:00
Christoph Oelckers
59cddf1601 - hooked up graphical start screens with the in-game renderer. 2022-06-01 08:37:00 +02:00
Christoph Oelckers
79f4a9c0f3 - removed the native graphical startup screens.
ENDOOM is already working with this commit, the start screens still require some work to connect them.
2022-06-01 08:37:00 +02:00
Christoph Oelckers
d6886ed44f - route the StartScreen#::Net... functions through a global interface.
These will require different treatment later, so best only have one place where each method is called.
2022-06-01 08:37:00 +02:00
Christoph Oelckers
21c60c931e - warning fixes and cleanup from old startscreen branch. 2022-06-01 08:36:59 +02:00
Christoph Oelckers
1aa3a5ea16 - platform independent classes for start screen rendering.
These use the internal 2D drawer. Not hooked up yet.
2022-06-01 08:36:59 +02:00
Christoph Oelckers
3b3a3a31e8 - Win32 i_main.cpp cleanup
Moved SetWndowTitle into the menu class
Removed the dead Windows session code
Removed the unused modules for Win32 core DLLs.
removed dynamic function calls for post-XP features
2022-06-01 08:36:59 +02:00
Magnus Norddahl
6670bc09b9 Create a MainWindow class that manages the main win32 window of the application 2022-06-01 08:36:59 +02:00
Christoph Oelckers
2c69afa118 - fixed SDL version check 2022-05-31 11:00:10 +02:00
RicardoLuis0
d6516f5c3b Relative Includes for ZScript 2022-05-31 09:09:42 +02:00
Rachael Alexanderson
f1ad0961be - remove m_filter and simplify related code 2022-05-29 17:58:06 +02:00
Christoph Oelckers
b218b8de6a - removed the unused SCREENPITCH #define 2022-05-23 15:52:30 +02:00
Christoph Oelckers
3ad6793ba3 - fixed yet another index issue in the shader code. 2022-05-18 20:14:43 +02:00
Christoph Oelckers
1d9da40f5b - fixed user shader compilation in OpenGL 2022-05-15 11:37:46 +02:00
Christoph Oelckers
648dc87101 - fixed two index out of range issues in Vulkan's shader compiler code. 2022-05-15 09:12:30 +02:00
Christoph Oelckers
c95b1b0149 - fixed shader selection logic in OpenGL. 2022-05-14 12:08:31 +02:00
Christoph Oelckers
c23abd1930 - silenced some warnings. 2022-05-14 11:55:56 +02:00
Christoph Oelckers
2be13e1b9f - changed shader loader to load only one shader at a time
This is merely preparation - the actual loading is still in one uninterrupted piece.
2022-05-13 08:22:22 +02:00
Magnus Norddahl
1452dd06a7 Fix that vk_debug doesn't output anything for newer versions of the vulkan sdk 2022-05-13 08:18:17 +02:00
Christoph Oelckers
beeb5f00aa - added JPEG YCCK decoding.
Just for completeness - the formula was pieced together from stb_image's handling.
2022-05-12 12:14:14 +02:00
Rachael Alexanderson
c9e01353b0 - define ARM64's endianness in rapidjson 2022-05-10 16:43:57 -04:00
Christoph Oelckers
3fb292ac71 Revert "- added a bit of hackery so that compatmode CVAR can be set up on startup"
This reverts commit c4408d8536.

This does not work. It always overwrites the saved compatibility settings with the current compatmode.
2022-05-06 08:31:16 +02:00
temx
0dfa632d29 Fix off-by-one in Vulkan multisample sample count selection 2022-05-04 18:19:29 +02:00
Christoph Oelckers
c86d9f60d0 - added handlers to load Strife’s startup screen images as textures 2022-05-03 00:04:28 +02:00
Christoph Oelckers
73abb2dfac - added image source handlers for Hexen’s special startup image types 2022-05-02 00:28:56 +02:00
Christoph Oelckers
265122bb97 - removed all remaining code for handling 4 bpp startup screens. 2022-05-01 15:04:58 +02:00
Christoph Oelckers
3f2374c0f9 - use 8 bit for Hexen start up as well. 2022-05-01 14:59:12 +02:00
Christoph Oelckers
82fe5b8150 - use 8 bit bitmaps for Heretic's startup screen. 2022-05-01 14:46:09 +02:00
Christoph Oelckers
010f41a3aa - load the hex font as early as possible. 2022-05-01 14:12:21 +02:00
Christoph Oelckers
7832ada2fc - use the hex font for the Heretic/Endoom text screens. 2022-05-01 13:41:03 +02:00
Christoph Oelckers
0a208597c6 - fixed return type of MSTimeF script function. 2022-04-30 12:13:20 +02:00
Christoph Oelckers
72be9bcc27 - pass ´hashfile´ to filesystem as parameter
Avoid global variables, also check args as late as possible.
2022-04-29 02:20:35 +02:00
Christoph Oelckers
65a37856ec -fix TArray::Append with rvalue parameter
This must clear the source array to obey move rules.
2022-04-29 02:10:43 +02:00
Christoph Oelckers
2bc787b1cc - only check „allowduplicates“ for the final file system init
The other calls to InitMultipleFiles should not use it.

Also fix the check to not skip some entries.
2022-04-29 01:36:06 +02:00
Christoph Oelckers
bd885977e8 - added MSTimef script function
This also deprecates MSTime due to value range / overflow issues.
2022-04-29 00:47:06 +02:00
Christoph Oelckers
739b015a4d - reinstated code that has gotten lost.
Fixes texture trimming.
2022-04-28 21:14:50 +02:00