Commit graph

666 commits

Author SHA1 Message Date
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
f327e3832a - fixed Blood's weapon drawer.
It didn't clear its custom flags and applied the wrong shade.
2020-08-19 16:56:36 +02:00
Christoph Oelckers
57cdcda253 - initiate a proper game state reset when ending an episode.
Fixes #207.
2020-08-18 20:56:18 +02:00
Christoph Oelckers
57efb26567 - wrap Blood's main loop into an exception handler for recoverable errors. 2020-08-16 20:04:27 +02:00
Christoph Oelckers
8c98d44620 - handle console-based map changes directly instead of the cheat handler.
This allows handling user maps again.
2020-08-16 14:54:33 +02:00
Christoph Oelckers
9700b8435b - handle Blood's level progression by the actual level data, not some episode/level pair.
This should allow loading user maps again.
2020-08-16 13:49:28 +02:00
Christoph Oelckers
598ea99441 - simplify the music starting code in Blood. 2020-08-16 12:35:46 +02:00
Christoph Oelckers
0ac8568be0 - removed redundant fields from Blood's startup info struct. 2020-08-16 11:58:42 +02:00
Christoph Oelckers
90a4d0dcb8 - removed the non-functional user map handling.
This will have to be redone in a more flexible manner
2020-08-16 11:42:13 +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
8595b9fa47 -play SW's intro through the screen job framework. 2020-08-15 13:04:15 +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
19635c7bdf - render Blood's choking hands in the 3D view.
This may not be faithful but it looks a lot less buggy than placing these on top of the entire HUD.
2020-08-14 21:08:28 +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
09a3567f14 - fix some more sloppiness with Blood's global game state.
Fixes #171.
2020-08-12 19:11:16 +02:00
Christoph Oelckers
05fbfa3f25 - Blood: When starting a new game, reset the global flag immediately.
Otherwise the game can get stuck in an endless loop when trying to set up a level.
Fixes 168.
2020-08-12 01:16:29 +02:00
Christoph Oelckers
83796e9eed - changed map startup order to first play a cutscene before loading the level.
Something with the timers is screwing up here if a cutscene gets played - Blood's timer code is even worse than Duke's.
Fixes #151.
2020-08-11 23:21:08 +02:00
Christoph Oelckers
0686928ee8 - fixed transition to credits in blood.
Fixes #150.
2020-08-11 20:26:50 +02:00
Christoph Oelckers
fcc271ed7b - treat 100 as maximum volume for 2D sounds when coming from the SFX data.
Without this, many sounds are way too quiet, e.g. at tne beginning of E2M1 or the end of E3M7.

Fixes #146.
2020-08-11 20:17:56 +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
Mitchell Richters
7243c08379 - stop weapon from moving up and down while cl_weaponsway 0 is set.
* Default zDelta is -2048, so only add (zDelta / 128.) if `cl_weaponsway 1` and add (-2048. / 128.) otherwise.
* Fixes #134 a bit better.
2020-08-11 08:40:42 +10:00
Christoph Oelckers
1d03d3d6a2 - fixed HUD meter and crosshair default size.
Fixes #137
2020-08-10 23:06:24 +02:00
Christoph Oelckers
7a2b1ee0aa - moved Blood's updatePauseStatus call to the main loop.
Fixes #149
2020-08-10 22:44:24 +02:00
Christoph Oelckers
030ca6f75d - reset the timer after the initial cutscene in Blood 2020-08-10 22:22:27 +02:00
Christoph Oelckers
97b202955c - strip the drive letter off WAV names for cutscenes. 2020-08-10 22:11:00 +02:00
Christoph Oelckers
5165834441 - handle GS_FULLCONSOLE in Blood 2020-08-10 22:02:58 +02:00
Christoph Oelckers
e93ec79608 - Blood: restart music after level warp. 2020-08-10 21:41:16 +02:00
Christoph Oelckers
3ba5ca46c9 - fixed font alignment in Blood 2020-08-10 21:14:42 +02:00
Christoph Oelckers
28b9aafe69 - disable translucency for menu text shadows.
It didn't look that great.
2020-08-10 20:27:00 +02:00
Christoph Oelckers
7317caf567 - do not loop the scream sound on the summary screen.
Fixes 143.
2020-08-10 20:24:49 +02:00
Christoph Oelckers
8a2d34cceb - fixed typo in BUNZ cheat. 2020-08-10 20:22:12 +02:00
Christoph Oelckers
ddf238ff19 - fixed cheat args parser.
Fixes 139
2020-08-10 20:18:21 +02:00
Mitchell Richters
09f347353a - fix cl_weaponsway() for Blood.
Fixes #134.
2020-08-10 22:08:44 +10:00
Mitchell Richters
db6d2e4d89 - fix cl_viewbob() for Blood.
Fixes #134.
2020-08-10 22:08:44 +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
c7e664d3a6 - animate status bar elements
Fixes #127
2020-08-10 00:36:50 +02:00
Mitchell Richters
a3dfa58662 - correct typo in Blood text string because I'm OCD like that. 2020-08-05 23:17:57 +10:00
Mitchell Richters
157933e902 - fixed regression from b9eef9c6a3 where the angle wouldn't apply if horizon was specified. 2020-08-04 23:13:22 +10:00
Mitchell Richters
b9eef9c6a3 - make ang and horiz optional on each game's warptocoords CCMD as suggested in commentary for 1dc6edfa56. 2020-08-04 22:33:17 +10:00
Mitchell Richters
b08d571be9 - create Blood dynamic CCMD warptocoords.
* The setting of the player's horizon/viewangle probably still requires work, but warping to pos x/y/z works fine.
2020-08-04 19:10:43 +10:00
Christoph Oelckers
41cc5cac34 - fixed responsiveness issues with Blood's weapon selection.
This shouldn't really do anything and might point to some deeper implementation flaw.
2020-08-04 00:06:36 +02:00
Christoph Oelckers
b0c1140649 - fixed bad default for viewDrawText's alpha.
Like so many other things in Build the concept of alpha is hopelessly stupid and really makes no sense, and this was carried over here.
2020-08-03 21:26:19 +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
825b286424 - removed some redundant parts in level.cpp
Let's use the underlying data directly.
2020-08-03 19:11:48 +02:00
Christoph Oelckers
5704c57fe0 - changed the byte order swappers to use ZDoom's versions
This is to reduce redundancy, plus, these are native on Windows and macOS.
2020-08-03 19:09:57 +02:00