Commit graph

11683 commits

Author SHA1 Message Date
Christoph Oelckers
6672b8af99 - generalized the automap label code.
Using proper scaling and should be reusable from all games now.
2020-08-24 23:14:55 +02:00
Christoph Oelckers
25ade79b90 - stat display fine tuning. 2020-08-24 22:18:45 +02:00
Christoph Oelckers
fef7608705 - made a few fixes for the fullscreen HUD in Nam:
* the font was placed too low
* the Duke health icon is not a health icon in this game so it had to be exchanged for something proper.
2020-08-24 22:12:56 +02:00
Christoph Oelckers
88bcaf37ab - changed the scale range of hud_statscale so that 1 is for fullscreen 320x200. 2020-08-24 22:02:49 +02:00
Christoph Oelckers
e7c58a5b29 - make hud_scale a floating point CVAR. 2020-08-24 21:48:47 +02:00
Christoph Oelckers
3a6ccac8ea - fixed bad offset with vertically mirrored sprites.
Fixes #239
2020-08-24 21:15:22 +02:00
Christoph Oelckers
a5e798289b - add message scale value display to the menu.
Fixes #240
2020-08-24 20:47:43 +02:00
Christoph Oelckers
6d1e3e77fc - fixed item percentage display on SW's status bar.
Fixes #242
2020-08-24 20:46:14 +02:00
Christoph Oelckers
9bfea796df - fixed menu entries for automap bindings. 2020-08-24 20:37:29 +02:00
Christoph Oelckers
76811a1881 - InputState cleanup
This removes most of the InputState class because it is no longer used.
The only remaining places still checking scan codes are the modifiers for sizeup and sizedown.
All the rest was remapped to safer methods. The multiplayer taunts are currently inoperable, they will need support of shift-bindings to get proper support.
2020-08-24 20:34:18 +02:00
Christoph Oelckers
b88a279a57 - removed the mouse wheel up event hackery
With the weapon cycling commands being done as CCMDs this is no longer needed.
2020-08-24 20:26:32 +02:00
Christoph Oelckers
c09a5150a9 - added some predefined fullscreen modes
This is to cut down on boilerplate code because these encode the virtual screen size in the mode parameter, making it unnecessary to specify a virtual size separately.
2020-08-24 20:25:53 +02:00
Christoph Oelckers
f1a988b221 - make use of map bindings
All automap controls have been moved there, and sizeup/sizedown have been made CCMDs, taking screen size management entirely out of the game modules
2020-08-24 20:20:15 +02:00
Christoph Oelckers
092fb55db3 - hooked up the automap bindings.
Now, with centralized state management these can finally work.
2020-08-24 19:55:21 +02:00
Christoph Oelckers
e158775e67 - … and for Exhumed
This game does not implement follow mode.
Note: Follow mode needs to be simplified across games!
2020-08-24 19:54:26 +02:00
Christoph Oelckers
0ee042fb60 - same procedure for Blood 2020-08-24 19:47:09 +02:00
Christoph Oelckers
debb4b17b6 - transitioned SW's automap to the global variables
Also copied the automap label output to the status bar for proper ordering.
2020-08-24 19:36:17 +02:00
Christoph Oelckers
7859a29e95 - use global variables to track automap state
So far implemented in Duke/RR.
2020-08-24 19:31:43 +02:00
Mitchell Richters
89a15335df - Exhumed: Clear the screen in the 2D drawer prior to drawing in menu_DoPlasma().
Fixes #237.
2020-08-24 17:44:39 +10:00
Mitchell Richters
e8057cd871 - Exhumed: Fix menu scaling upon opening following changes in 979cc63835.
Fixes #238.
2020-08-24 17:11:51 +10:00
Mitchell Richters
6cbd607f31 - Exhumed: Stop playing kSoundJonLaugh2 in DLobotomyScreen screenjob if skiprequest is true. 2020-08-24 16:51:38 +10:00
Mitchell Richters
b5823385e1 - Exhumed: Fix if statement in DrawWeapons() following changes in e225e85ae1. 2020-08-24 16:02:12 +10:00
Mitchell Richters
e225e85ae1 - Exhumed: Perform weapon bobbing with maximum precision and implement cl_weaponsway. 2020-08-24 13:22:52 +10:00
Christoph Oelckers
fed70e6df7 - make Exhumed's intro block the UI.
Fixes #235.
2020-08-24 00:36:47 +02:00
Christoph Oelckers
c60acd7af4 - fixed RR's HUD positioning when the weapon bar is active. 2020-08-24 00:35:04 +02:00
Christoph Oelckers
e25d1c4cda - improvements for automap labels.
* use a CVAR to decide whether to show them at the top or bottom
* draw them on top of the screen border so that they don't get overdrawn on smaller windows.
2020-08-24 00:25:42 +02:00
Christoph Oelckers
e7c1595531 - allow using a better font for the map name on the automap.
- allow displaying the map label on the automap.

So far only for Duke and related games, the rest will follow.
2020-08-24 00:05:36 +02:00
Christoph Oelckers
f6417f5876 - fixed bad texture validation in Duke automap. 2020-08-23 23:02:15 +02:00
Christoph Oelckers
91b31cec39 - fixed: hud_messages completely blocked the messages, even from going to the console.
It should only block the on-screen notification display, which the backend already implements. The game code should not check this CVAR again.
2020-08-23 22:46:53 +02:00
Christoph Oelckers
41a1120033 - added a native style display mode to the notification message display.
Fixes #9
2020-08-23 22:39:53 +02:00
Christoph Oelckers
4469cf7edb - only go from menu to console when closing with Escape. 2020-08-23 21:24:31 +02:00
Christoph Oelckers
c0da85d0ff - SW: fixed: When entering the summary screen, clear the FinishedLevel variable immediately.
So that its value won't stick around and trigger the screen again. Same when an exception occurs.
Fixes #232.
2020-08-23 20:55:21 +02:00
Christoph Oelckers
7417160abd - when closing the main menu, go directly to the full console.
Fixes #27
2020-08-23 20:48:48 +02:00
Christoph Oelckers
c777fea1af - added back the player sprites in Duke/RR's player setup menu.
Fixes #46
2020-08-23 20:44:17 +02:00
Christoph Oelckers
8b8f048393 - moved parts of videoNextPage to app_loop. 2020-08-23 18:08:08 +02:00
Christoph Oelckers
adb98a47ba - restructured the main loop code so that the actual loop is in the common code. 2020-08-23 17:47:05 +02:00
Christoph Oelckers
85875da77a - removed the old start-of-level-only savegame code.
This serves no purpose anymore, even with a checkpoint-based gameplay the full saves will do just as well.
2020-08-23 16:30:20 +02:00
Christoph Oelckers
f7fcd341ec - removed redundant levelnum variable.
Better use the global map record.
2020-08-23 16:24:54 +02:00
Christoph Oelckers
1a0e413d5c - use CCMDs for Exhumed's input where applicable.
- made crosshair toggle consistent across games.
2020-08-23 16:11:18 +02:00
Christoph Oelckers
7fe7b9b8e0 - be gone, rotatesprite. 2020-08-23 14:59:34 +02:00
Christoph Oelckers
a4a26ef6bc - removed the last uses of the original rotatesprite function. 2020-08-23 14:55:19 +02:00
Christoph Oelckers
2a3f7a48c9 - implemented a proper kill counter.
Unfortunately the display is a bit limited by the available font characters.
2020-08-23 14:39:14 +02:00
Christoph Oelckers
e75cfd82f9 - the training map could not be started. 2020-08-23 14:00:53 +02:00
Christoph Oelckers
979cc63835 - use DrawTexture for rendering the menu items. 2020-08-23 13:57:56 +02:00
Christoph Oelckers
4d477bc15b - fixed uninitialized GameAction variable. 2020-08-23 13:57:31 +02:00
Christoph Oelckers
212b3ae0f9 - Exhumed: fixed map startuo 2020-08-23 12:59:01 +02:00
Christoph Oelckers
5c7b613aa7 - reworked the main loop. 2020-08-23 12:26:52 +02:00
Christoph Oelckers
7889605ff4 - condensed main loop further, started laying out the new one. 2020-08-23 09:11:32 +02:00
Christoph Oelckers
9e5ca8c408 - moved game and level init code out of app_main. 2020-08-23 08:22:59 +02:00
Christoph Oelckers
5ba384db35 - moved the main game ticker out of app_main. 2020-08-23 07:49:58 +02:00