Commit graph

309 commits

Author SHA1 Message Date
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
7859a29e95 - use global variables to track automap state
So far implemented in Duke/RR.
2020-08-24 19:31:43 +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
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
7417160abd - when closing the main menu, go directly to the full console.
Fixes #27
2020-08-23 20:48:48 +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
6b1d6a44d7 - exported the item pickup messages to the string table and use the global 'nomonsters' flag. 2020-08-22 20:14:00 +02:00
Christoph Oelckers
0843f5f04a - ported the final level's text screen and exported its text to the string table. 2020-08-22 18:12:19 +02:00
Christoph Oelckers
ca943317e7 - ported Exhumed's map to the ScreenJob interface. 2020-08-21 22:30:51 +02:00
Christoph Oelckers
78bfbdb253 - Exhumed status bar work.
Unfortunately this is a bit limited due to how the data was designed.
2020-08-20 17:04:21 +02:00
Christoph Oelckers
5cfd427e42 - renamed local totalclock variables to reduce noise for the forthcoming timer cleanup. 2020-08-19 17:23:18 +02:00
Christoph Oelckers
94beac937d - scale down the notify display by 2 in RR.
Its fonts are double the size as the other games and this must be factored in here for HUD scaling to work as expected.
2020-08-19 16:40:54 +02:00
Christoph Oelckers
0a8f7e60b6 - fixed incompatibility of FindDistance3D with Shadow Warrior.
Fixes #200 and most likely many other issues as well.
2020-08-18 23:49:44 +02:00
Christoph Oelckers
b417ad2f6d - 0 is a valid level number.
Fixes #206.
2020-08-18 20:12:04 +02:00
Mitchell Richters
5cc30ad7c6 - SW: Increase precision of x/y coordinates where possible. 2020-08-18 18:26:04 +10:00
Christoph Oelckers
a535f62d4a - fixed: SW's intro cutscene must not terminate its sound.
Fixes #201.
2020-08-18 00:04:48 +02:00
Christoph Oelckers
7bb6b6a1ee - do not call handleEvents outside the main loop.
In other places I_GetEvent should be used to call the system's message pump and keep the app responsive, but all game side processing should be skipped.
2020-08-16 10:00:13 +02:00
Christoph Oelckers
ef78e8602a - major cleanup and consolidation of the screen/hud resizing code.
This is now being handled by the backend, except for the processing of the key bindings which cannot be done yet.
2020-08-16 02:55:50 +02:00
Christoph Oelckers
910ca69484 - migrated all of SW's text display to the backend and removed the various redundant printing functions. 2020-08-15 20:29:13 +02:00
Christoph Oelckers
8595b9fa47 -play SW's intro through the screen job framework. 2020-08-15 13:04:15 +02:00
Christoph Oelckers
ff38cfe179 - open the in-game menu only when really inside a game and actually playing.
Fixes #182
This isn't foolproof but it's probably the best that can be done.
2020-08-14 22:41:32 +02:00
Christoph Oelckers
2403e8cb2c - fixed RRRA summary screens. 2020-08-14 22:31:54 +02:00
Christoph Oelckers
3455610031 - base palette cleanup.
Avoid passing this anywhere in the client code. It should only be set right before rendering the 3D view and the only code using the base palette should be the 3D renderer and hud_drawsprite.
Also make the palette override CVARs 3D view only in debug mode.
2020-08-14 21:18:14 +02:00
Christoph Oelckers
249c5b5734 - removed some dead code. 2020-08-14 21:12:32 +02:00
Christoph Oelckers
66cb7f61a4 - fixed rendering on narrow screens with an aspect ratio less than 4:3 and removed some parts that are no longer needed. 2020-08-14 21:01:27 +02:00
Christoph Oelckers
aef59ef523 - migrated SW cheats to the generic system, removed the more pointless of SWP's cheats and filled in a few blanks. 2020-08-12 22:24:51 +02:00
Christoph Oelckers
2dad86a304 - made some adjustments to DMessageBoxMenu to handle screens that must close the menu before performing their option.
Fixes #173. The "End Game" menu option needs this.
2020-08-12 19:04:19 +02:00
Christoph Oelckers
2d545767ef - completely clear all texture data when setting a frame size.
SMK tries to draw a texture from it before the first frame has been rendered. This ensures that it gets a fully black frame.
Fixes #167.
2020-08-12 01:32:05 +02:00
Christoph Oelckers
57edd370a7 - fixed: When quitting the game, first clear the menu.
This is to ensure that the menu stack is empty.
Fixes 170
2020-08-12 01:15:03 +02:00
Christoph Oelckers
85364c2bb6 - let all video players respect the SoundEnabled setting.
Fixes #164.
2020-08-11 19:52:54 +02:00
Christoph Oelckers
6a10a7f266 - changed the rules for dimming the menu to be more clear
It will no longer depend on the game state when the menu was opened but the current game state - only on the dedicated menu screen there's no dimming - everywhere else a dim gets applied.

Also renamed GS_DEMOSCREEN to GS_MENUSCREEN for clarity
2020-08-11 00:46:27 +02:00
Christoph Oelckers
b1c8046470 - fixed dimming checks for menu.
Now with proper game state management this can be done better.
2020-08-10 20:43:51 +02:00
Mitchell Richters
4c74c172e3 - fix screenjob.cpp PlayVideo() returning after stripping drive letter without checking whether it was able to re-open the file thereafter successfully.
Fixes #128.
2020-08-10 21:15:17 +10:00
Christoph Oelckers
d3df4e580c - do not restart one-page image scrollers with Enter
Instead go back one menu level.

Fixed #129
2020-08-10 01:12:53 +02:00
Christoph Oelckers
0492c5f4d3 - optimized reverb settings.
Fixes #124
2020-08-09 13:26:48 +02:00
Christoph Oelckers
596367f10f - Screenblend fixes. 2020-08-07 22:00:43 +02:00
Christoph Oelckers
3e8ff96e6b - added workaround for DukeDC's ending cutscene which was abusing undefined behavior in the original code. 2020-08-05 22:57:45 +02:00
Christoph Oelckers
454e0e36c9 - added a sound for advancing multi-screen menus.
Fixes #100.
2020-08-05 00:32:29 +02:00
Christoph Oelckers
d526c6401f - use the generic cheat system for Blood. 2020-08-03 20:51:31 +02:00
Christoph Oelckers
724c811de3 - Moved message storage to the map records. 2020-08-03 20:16:32 +02:00
Christoph Oelckers
35a5c4e23c - undid hardcoded coupling of Mapinfo slots with episode/level pairs in Blood.
This both lifts the imposed limit of 16 levels and will allow dynamic management of global mapinfo data.
2020-08-03 20:11:30 +02:00
Christoph Oelckers
0036402be8 - removed most of the network code in Blood.
Mainly to expose the parts that still get used in single player because there's some problems here that need addressing.
ENet is also gone now.
2020-08-03 20:06:27 +02:00
Christoph Oelckers
dea0804f9a - how could this compile? 2020-08-03 19:14:33 +02:00
Mitchell Richters
348acf95e0 - change division of delta between currentTime and lastTime from 8 to 72 to ensure smoothratio doesn't clip at 65536.
* Divisor of delta is there so smoothratio always starts off with some kind of value. After 10 minutes at 1100 fps, closest final result to 65536 was:

ototalclk: 4573
totalclk: 4576
gametics: 33.333 ms
elapsedTime: 33.331 ms
ratio: 0.999938
result: 65531.941356
2020-08-03 10:00:06 +10:00
Christoph Oelckers
e434df5328 - always play menu sounds by calling M_MenuSound to check the menu_sounds CVAR. 2020-08-02 22:16:26 +02:00
Christoph Oelckers
6a305748ff - removed some C cruft from compat.h. 2020-08-02 21:25:03 +02:00