Commit graph

74 commits

Author SHA1 Message Date
Christoph Oelckers
553bb2af19 - moved 'frags' into player_struct.
Again for reducing the work with the script interface.
2020-11-29 14:10:03 +01:00
Christoph Oelckers
48b16d5233 - cleanup on player CVAR use. 2020-11-29 13:22:04 +01:00
Mitchell Richters
fc359065ae - Duke: Tune level end summary screen text positioning.
* Number positioning was 1 px off for some items such as `TXT_YourTime`.
* Positioning of number and text was 1px off for some items such as `TXT_3DRTIME` and `TXT_EnemiesLeft`.
2020-11-23 09:36:05 +11:00
Christoph Oelckers
fc82b3bc8a - Duke: replaced the game type macros with inline functions. 2020-10-11 14:30:42 +02:00
Christoph Oelckers
4c2ff2950a - for Duke/RR, when not using English force use of the regular text font for drawing the map label on the automap.
This essentially removes the tiny font which is simply too small to ever be able to receive a proper international extension from the equation for localization because the level name display was the only remaining relevant content using this font.
The only other screen where this font is still being used to draw text requiring translated content is the multiplayer summary which will have to be redesigned anyway if multiplayer becomes functional again.
2020-09-29 21:47:32 +02:00
Christoph Oelckers
3a50f82498 - Duke: In the ending cutscene of the first episode, stop the music only when entering the summary screen. 2020-09-27 20:34:48 +02:00
Christoph Oelckers
5d35d02c87 - fixed overflow in first episode's end cutscene. 2020-09-27 20:34:48 +02:00
Christoph Oelckers
73c57af9ca - added credit screen handling for Duke Nukem 1.3. 2020-09-25 20:22:30 +02:00
Christoph Oelckers
e7f16f6ff7 - Duke: do not play 1.5 intro sounds in 1.3
- Duke: In 1.3, the Duke team image should stay until dismissed manually.
2020-09-25 18:40:45 +02:00
Mitchell Richters
5e947cd78f - Duke: Fix occasional flicker in corner of 'Completed' text. Need to do the text after all backdrop changes. 2020-09-25 09:08:22 +10:00
Mitchell Richters
439633e6db - Duke: Don't play 3rd pipebomb explosion if not Plutonium/Atomic. 2020-09-25 08:40:58 +10:00
Christoph Oelckers
af298411df - added widescreen titlepic for Duke Nukem 3D:
Also made some tweaks to the intro sequence drawer so that it recognizes image formats not depending on the game palette.
2020-09-17 23:20:50 +02:00
Christoph Oelckers
b52a2b0d9a - set up the loadscreen code.
This isn't active, though, because load times are so short these days that all this results in is an irritating screen flash before the level starts.
It may be activated later when hires assets are in use.

Fixes #10 (or not...? ;) )
2020-09-09 22:42:01 +02:00
Christoph Oelckers
8d2d36457f - consolidated the map name display on startup
Fixes #275
2020-09-08 18:28:41 +02:00
Christoph Oelckers
de7da0d4d7 - fixed: The summary screen in Duke and RR was blocking without explicit user input.
It must check for the actual sound that was played, because at least in Duke the looping music is still playing.
Fixes #367
2020-09-07 20:09:53 +02:00
Christoph Oelckers
cbbbe2a09b - Duke+RR: Don't quit the level summary screen through timeout when a sound is still playing.
Fixes #359
2020-09-06 23:23:17 +02:00
Christoph Oelckers
55c7c56709 - fixed bad sound check in Duke's E3 ending. 2020-09-05 17:56:09 +02:00
Christoph Oelckers
9af093b818 - fixed screen job timer when paused
Fixes #343
2020-09-05 16:21:53 +02:00
Christoph Oelckers
77f96a1c75 - fixing some issues. Level transitions in Duke are working now. 2020-09-04 19:43:36 +02:00
Christoph Oelckers
e5e8c02f1d - WIP level transition refactored to a game independent event system. 2020-09-04 19:43:35 +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
5cfd427e42 - renamed local totalclock variables to reduce noise for the forthcoming timer cleanup. 2020-08-19 17:23:18 +02:00
Christoph Oelckers
8595b9fa47 -play SW's intro through the screen job framework. 2020-08-15 13:04:15 +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
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
ca740ad709 - increase volume for summary screen's speeches in Duke.
Fixes #125
2020-08-10 20:59:04 +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
514c029e47 - this wasn't supposed to get committed. 2020-08-05 22:40:47 +02:00
Christoph Oelckers
a30933871e - fixed most end of game cutscenes. 2020-08-05 22:36:39 +02:00
Christoph Oelckers
4a0e155637 - fixed starting of bonus screen music.
It must not be done in the constructor of the screen but when actually playing the first frame.
2020-08-05 22:36:38 +02:00
Christoph Oelckers
b6cb0ce1a1 - consolidated shade to light conversion 2020-07-31 20:58:55 +02:00
Christoph Oelckers
6980c64f7b - BONUS_SPEECH1-4 are not continuous.
Fixes #83
2020-07-30 18:36:52 +02:00
Christoph Oelckers
347ed51036 - refactored Blood's main loop.
* moved Smacker video playing code into the backend, so now all games can play all supported video formats
* logos and level intro/exit videos use ScreenJob
2020-07-29 23:18:08 +02:00
Christoph Oelckers
10e4482245 - fixed counter on summary screen. 2020-07-28 22:37:11 +02:00
Christoph Oelckers
94b445db26 - The bonus screen's counter is a bit broken so help it to actually play Duke's speech.
(Hopefully) fixes #44
2020-07-27 18:17:40 +02:00
Mitchell Richters
31b7e7fa3d - revert some inline if statement conversions when re-creating dobonus() as a ScreenJob.
* Inline if statements were applying `DrawTexture()` calls to cases where they were not being called before, affecting animation.
* Repaired issue where with high frame rates, the code behind `if (totalclock > (1000000000L) && totalclock < (1000000320L))` wasn't triggered because `totalclock` hadn't become `1000000001` yet.
* Fixes #34.
2020-07-27 17:51:36 +10:00
Christoph Oelckers
8af4cfd772 - skip all 3 parts of the E4 intro together.
Fixes #39.
2020-07-26 18:39:18 +02:00
Christoph Oelckers
b111ca5f96 - fixed the summary screen animation.
Fixes #21.
2020-07-26 12:31:20 +02:00
Christoph Oelckers
6e276545cd - fixed typo in savegame metadata reader and an issue with code execution order when exiting a level. 2020-07-26 12:15:24 +02:00
Christoph Oelckers
654391a278 - fixed layout for classic Duke fullscreen HUD. 2020-07-25 15:41:11 +02:00
Christoph Oelckers
f9d48e1f68 - removed all the intermediate variables for the status bar size.
hud_size now gets used directly by the status bar code.
2020-07-25 13:26:56 +02:00
Christoph Oelckers
a0cc798c9c - cleaned up the sound system interface to have consistent naming and no aliases. 2020-07-25 09:32:54 +02:00
Christoph Oelckers
be9094cb97 Silenced lots of warnings pointed out by XCode. 2020-07-23 17:02:59 +02:00
Christoph Oelckers
d16d8f0d0e - fixed issues reported by XCode 2020-07-23 17:02:59 +02:00
Christoph Oelckers
368298d02d - enable the menu and console everywhere, except on the intro logos. 2020-07-22 00:42:50 +02:00
Christoph Oelckers
7eb158bf72 - properly tabified everything. 2020-07-20 23:21:27 +02:00
Christoph Oelckers
06fa1391f5 - did some cleanup on the global variables. 2020-07-20 18:43:50 +02:00
Christoph Oelckers
f9842fc4a8 - implemented running screen jobs from the main loop.
The entire game now has only one single place where videoNextPage gets called.
2020-07-20 18:43:48 +02:00
Christoph Oelckers
31b9995406 - rewrote the ScreenJob player as a class that can be called by an asynchronous dispatcher.
Works, except for timing issues with ANMs.
2020-07-20 18:43:48 +02:00
Christoph Oelckers
55feadd11c - render the weapons with the DrawTexture interface and properly handle rotatesprite's alignment modes 2020-07-16 13:23:26 +02:00