Commit graph

170 commits

Author SHA1 Message Date
Mitchell Richters
b883204f6a - All Games: Remove remaining use of totalclock and associated timing code. 2020-08-26 09:49:34 +10:00
Mitchell Richters
a6cc3c4128 - Exhumed: Migrate to GZDoom time code like Duke and SW. 2020-08-26 09:48:57 +10:00
Christoph Oelckers
435e13dfa4 cleanup of the timer interface.
* rewrote all uses of timerSetCallback. Most were unnecessary or long obsolete, the sound updates need to run per frame, not per tic and the UI tickers need to be handled in the main loop anyway.
* Use a more precise timer to animate the menu transition.
* uncouple other menu animations from the game timer.
2020-08-25 19:42:11 +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
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
Mitchell Richters
e225e85ae1 - Exhumed: Perform weapon bobbing with maximum precision and implement cl_weaponsway. 2020-08-24 13:22:52 +10: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
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
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
Christoph Oelckers
3a3ba43985 - Exhumed: moved the input code out of the main loop 2020-08-23 07:41:29 +02:00
Christoph Oelckers
fccd054381 - split off the entire game loop related code into its own file.
This should make it easier to work on this.
2020-08-22 22:40:22 +02:00
Christoph Oelckers
7401c0e133 - moved Ramses head code into its own file. 2020-08-22 21:39:14 +02:00
Christoph Oelckers
8589d43835 - migrated Exhumed's cheats to the global system.
This also eliminates the last pieces using that global string list. All relevant text is now in the external string table.
2020-08-22 21:13:11 +02:00
Christoph Oelckers
6d852c33dd - added CCMDs for all 'holly' cheats that didn't have an equivalent yet. 2020-08-22 20:34:58 +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
bddd196539 - ported the credits screen. 2020-08-22 19:50:04 +02:00
Christoph Oelckers
d94077f833 - exported cinema texts to the string table as well. 2020-08-22 18:30:48 +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
7e7f9670c1 - transitioned the text intermission screen to use DScreenJob and interpolate the scrolling text display. 2020-08-22 11:56:54 +02:00
Christoph Oelckers
8e34288a1c - moved the end level handler further out in the main loop. 2020-08-22 10:39:37 +02:00
Christoph Oelckers
8b3e3b6d4a - cleaned out some waiting code.
There's still too many loops but this at least gets rid of the empty ones.
2020-08-22 10:17:24 +02:00
Christoph Oelckers
c74a1f03e3 - defer FinishLevel handling to the main loop instead of doing it deep inside the game logic code. 2020-08-22 10:03:21 +02:00
Christoph Oelckers
b96f12aa34 - removed Exhumed's demo loop.
It was broken already anyway and also looks like a first grade refactoring blocker.
2020-08-22 09:31:17 +02:00
Christoph Oelckers
e1fd0d8d80 - replaced most of the old text and graphics display functionality in Exhumed. 2020-08-21 22:40:09 +02:00
Christoph Oelckers
31e792223a - converted Exhumed intro to use the ScreenJob framework. 2020-08-20 21:05:14 +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
f888df9f5b - fixed screen resize actions to work outside the automap. 2020-08-19 20:38:36 +02:00
Christoph Oelckers
d645674c1c - consolidated the DEF parser parts in the backend.
Only Blood had some special handling - better implement callbacks here instead of requiring a second parsing pass.
2020-08-19 20:29:37 +02:00
Christoph Oelckers
aa5f42e5f4 - more header consolidation and cleanup.
In particular, this removes the pointless kTrue and kFalse constants.
2020-08-18 18:56:56 +02:00
Christoph Oelckers
4ea93ebccc Exhumed code cleanup
merging all AI headers and removing several unused files
2020-08-18 18:56:39 +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
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
a0cd407632 - cleanup on pausing code. 2020-07-15 18:10:31 +02:00
Christoph Oelckers
aa01adb2f1 - removed osd.h as it was merely a minimal wrapper around c_dispatch, giving some alias names.
Nothing that's needed when cutting ties to upstream.
2020-07-14 14:00:27 +02:00
Christoph Oelckers
e146e73345 - consolidated the 'music' parsing in Defs (pending a refactor of the MAPINFO system.)
- removed the remaining parts of the game Defs parser because we do not want anything EDuke in here.
2020-06-24 00:40:22 +02:00
Christoph Oelckers
550576d94d - allow skipping the Exhumed logos. 2020-06-17 17:10:31 +02:00
sirlemonhead
9df13d0dfe PCExhumed: Don't restore mid level save point if re-entering a just completed level 2020-06-17 12:26:05 +02:00
sirlemonhead
2e514e539e PCExhumed: Fix cheat messages 2020-06-17 12:26:05 +02:00
Christoph Oelckers
35471ce7e2 - clear the screen for Exhumed's logos. 2020-06-13 00:08:47 +02:00
Christoph Oelckers
ee98db589f - fixed the Exhumed startup to do proper fading of the publisher logos, which PCExhumed only implemented for the software renderer.
Made it faster than PCExhumed, though
2020-06-12 23:06:11 +02:00
Christoph Oelckers
1311db9ac9 - changed all places clearing the screen in 2D display code to use the 2D drawer's ClearScreen method. 2020-06-12 20:52:01 +02:00
Mitchell Richters
ce48f081fc Exhumed: Amend how game pauses. 2020-05-31 23:19:54 +02:00
Christoph Oelckers
b971bc2717 - avoid using global palette settings when drawing 2D content with a custom palette.
Instead pass the palette info with the render call to avoid stale global state.
2020-05-23 22:43:01 +02:00