Commit Graph

12172 Commits

Author SHA1 Message Date
Christoph Oelckers 2c183bf504 Merge remote-tracking branch 'remotes/Github_private/back_to_basics2' into automap 2020-09-06 11:47:35 +02:00
Mitchell Richters 677efb20ba - SW: Don't check `SB_RUN` as player action in `ChopsCheck()`.
Fixes #312.
2020-09-06 19:18:14 +10:00
Mitchell Richters d73ea118df - SW: Get `cl_syncinput 0` (default) working properly.
* Joystick input probably not appropriately scaled. Refactor is coming but lets just get the game workable for now.
* Fixes #328.
2020-09-06 19:17:58 +10:00
Christoph Oelckers d61d279168 - excised Blood's entire automap code. 2020-09-06 10:59:45 +02:00
Christoph Oelckers 8f6f368445 - cleaned out the remaining parts of automap handling in Duke and Exhumed. 2020-09-06 10:42:39 +02:00
Christoph Oelckers df6d480519 - took automap code out of Exhumed's game module and added handling for cleaning movement in automap follow mode.
I cannot say I was surprised when discovering that this game had no handling for that at all...
2020-09-06 10:23:38 +02:00
Christoph Oelckers d947cc4765 - also took out the zoom variable so that no automap data remains in the playsim code. 2020-09-06 10:22:05 +02:00
Christoph Oelckers c1a995822d - took all automap related code out of Duke's game module. 2020-09-06 10:08:47 +02:00
Christoph Oelckers 07ea2ef350 - fixed Ramses head animation.
This now uses the DoSpiritHead variant from PowerslaveGDX because I was unable to determine where in that cryptic code something went wrong. The GDX version looks a lot more cleaned up by comparison.
Fixes #332
2020-09-06 09:48:26 +02:00
Christoph Oelckers 0b399fb384 - Exhumed: fixed time values for Ramses text scroll. 2020-09-06 09:10:45 +02:00
Mitchell Richters 72771aeb40 - Fix broken `krand()` follow changes in 1354d52c05 due to truncation occuring from `FixedToInt()` inline function.
Very very sorry... :'(
Fixes #321.
2020-09-06 16:37:04 +10:00
Christoph Oelckers d6b80bda52 - force the renderer to use radial fog.
Plane-distance based fog does not work with Polymost's projection settings - the distance value appears to be completely off and useless.
Fixes #243
2020-09-06 00:19:38 +02:00
Christoph Oelckers dc0968bf61 - fixed fog on RRRA E2L1
Fixes #183
2020-09-05 23:20:48 +02:00
Christoph Oelckers ac0eb92367 - fixed timer screwups in Exhumed.
The leveltime ticker only runs at 30 fps so all places where it replaces totalclock need to multiply it by 4.
2020-09-05 22:41:02 +02:00
Christoph Oelckers 7dbae8b8f4 - enabled autosaves.
Fixes #55
This only creates them but does not auto-resume from them.
2020-09-05 22:39:27 +02:00
Christoph Oelckers 45882a02cc - fix WT level name display. 2020-09-05 22:14:00 +02:00
Christoph Oelckers 8b2302ec67 - backslash eradication in sound definitions.
World Tour does this badly, even using double backslashes.
2020-09-05 22:01:19 +02:00
Christoph Oelckers d5b7935ca1 - fixed the CON parser to treat tabs as whitespace.
Fixes #287.

World Tour starts now but still has issues.
2020-09-05 21:53:48 +02:00
Christoph Oelckers 36b9ac54b7 - added a parser for World Tour's language files. 2020-09-05 21:33:04 +02:00
Christoph Oelckers 8dfb7967e2 - use a more precise timer for Exhumed's text scroller. 2020-09-05 20:31:45 +02:00
Christoph Oelckers a7b198d7ee - Stop music when ending a level, or when going back to the menu in Blood. Also play the sound on Blood's summary screen as an UI sound.
Fixes #349
2020-09-05 19:20:25 +02:00
Christoph Oelckers b4dd006a40 - debug output for investigating Exhumed text crawl. 2020-09-05 18:41:40 +02:00
Christoph Oelckers f36ac1dc90 - fixed issues with console on top of intermissions not appearing. 2020-09-05 18:41:18 +02:00
Christoph Oelckers 443ddf670b - let the ANM player wait until the sound has finished if it has reached the last frame before the sound ends.
In Shadow Warrior there's a few where the sound plays a bit longer than the video.
Fixes #341
2020-09-05 18:14:50 +02:00
Christoph Oelckers 607d30ef8e - fixed broken end of level timer in Duke.
Fixes #342
2020-09-05 17:56:35 +02:00
Christoph Oelckers 55c7c56709 - fixed bad sound check in Duke's E3 ending. 2020-09-05 17:56:09 +02:00
Christoph Oelckers 27acd430aa - reset the screen job clock when advancing.
Fixes #347
2020-09-05 17:37:37 +02:00
Christoph Oelckers fa50cde93f - fixed skill selection in Duke.
Screw these old shadowing menu variables. Well, the one for skill is gone now.
Fixes #344
2020-09-05 16:31:01 +02:00
Christoph Oelckers 9af093b818 - fixed screen job timer when paused
Fixes #343
2020-09-05 16:21:53 +02:00
Christoph Oelckers e0b4dde3cd - fixed: A screen job that fades out was not rendering its final (black) frame which could result in visual glitches.
Fixes #320
2020-09-05 15:59:32 +02:00
Christoph Oelckers c1786001b2 - route all game state changes through game actions.
This is to avoid problems with the main loop not calling Ticker and Render in sync.
2020-09-05 15:43:34 +02:00
Christoph Oelckers 7a5dca7d5d - renamed startgame CCMD to levelstart. 2020-09-05 14:02:07 +02:00
Christoph Oelckers 32ec9ff369 - consolidated crosshair drawing and added ZDoom's crosshair code.
For Exhumed this is the default, for the other games it is an option.
Fixes #269.
2020-09-05 13:57:26 +02:00
Christoph Oelckers 0263d8eed0 - Exhumed: Don't waste health powerup if fully healed.
Fixes #309
2020-09-05 12:29:09 +02:00
Christoph Oelckers 04dd939d65 - Exhumed: don't clear all button state when dead.
This makes it impossible to respawn.
Fixes #338
2020-09-05 12:14:30 +02:00
Christoph Oelckers 7c5635671e - Exhumed: When Ramses is talking, hide the status bar. 2020-09-05 12:01:47 +02:00
Christoph Oelckers b23424485a - re-implemented VP8 support.
Since the decoder cannot handle sound, there's two options:

1: Use the same sounds as the video it replaces.
2: If an identifiable streamable sound with the same base name is found, it will be played along with the video.
Fixes #133
2020-09-05 11:58:19 +02:00
Christoph Oelckers 80cea90854 - implemented zoom by mouse wheel for the automap.
Fixes #121
2020-09-05 09:10:24 +02:00
Christoph Oelckers adbedd30c4 - consolidated the 4 functions for handling the automap zoom. 2020-09-05 00:58:25 +02:00
Christoph Oelckers 6e6d74f058 - update the sector for the interpolated camera position in Exhumed.
Let's hope that fixes #272..
2020-09-05 00:21:10 +02:00
Christoph Oelckers b54fd2f054 - fixed: Entering the menu from SW's intro may not stop the sound.
This is a singular special case, everything else must do it.
Fixes #335
2020-09-05 00:07:06 +02:00
Christoph Oelckers cdd2329b63 - fixed levelwarp for games with linear level counting.
Fixes #337
2020-09-05 00:00:55 +02:00
Christoph Oelckers d2de11cd99 - hide the message display on intermission screens.
Fixes #336
2020-09-04 23:56:04 +02:00
Christoph Oelckers f72b283519 - fixed alignment of Exhumed's menu captions. 2020-09-04 23:31:41 +02:00
Christoph Oelckers 5a90f35aed - fixed order of Exhumed cinema texts and their color.
Fixes #286
2020-09-04 23:16:21 +02:00
Christoph Oelckers b7db8b988d - SW: Ignore follow mode setting when not on the automap.
Fixes #311.
2020-09-04 22:54:11 +02:00
Christoph Oelckers 2e8b808683 - added a C_ClearMessages function for the console and fixed game restart after death.
Fixes #322
2020-09-04 22:23:38 +02:00
Christoph Oelckers 1eb99f69c2 - transitioned Exhumed to level change events. 2020-09-04 21:59:38 +02:00
Christoph Oelckers 8114309e89 - compat.h cleanup.
* use static_assert directly. Raze is C++17, no need for that macro shit.
* removed CONSTEXPR - I seriously fail to see the use here, many of the functions marked as CONSTEXPR cannot possibly even be constant evaluated so the declaration makes no sense. Removed most of these and replaced the valid ones with the official constexpr keyword.
* got rid of EDUKE_PREDICT_FALSE - this makes zero sense in script parsing code, at best it will save a few microseconds. Clean code wins.
* replaced Blrintf with xs_CRoundToInt. Shitty name is shitty name, even if derived from POSIX.
* replaced Bstr*casecmp with str*icmp. As these get defined in the CMake project based on actual compiler checks they are preferable here.
* removed lots of other stuff that is not needed with a minimum compiler requirement of C++17.
2020-09-04 21:24:48 +02:00
Christoph Oelckers 5bc80d2468 - macro cleanup 2020-09-04 21:17:24 +02:00