Commit Graph

536 Commits

Author SHA1 Message Date
Christoph Oelckers 8595b9fa47 -play SW's intro through the screen job framework. 2020-08-15 13:04:15 +02:00
Christoph Oelckers 3f9cc1412c - transitioning helper for screen jobs. 2020-08-15 10:55:21 +02:00
Christoph Oelckers 53cf248269 - added a few missing World Tour bits.
Looks like GDX missed the redefined new types of the old bosses.
Also guard the commentary sprites by a CVAR.
2020-08-15 10:25:30 +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 37ea207d5a - fixed another one of those stupidly badly designed iterator loops.
Fixes #176.
2020-08-14 21:49:12 +02:00
Christoph Oelckers 52ddac21b0 - fixed RR's transition to its final map. 2020-08-14 21:30:09 +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 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 9c40c2f6af - don't draw screenblends when not in a 3D view.
Fixed #174.
2020-08-12 22:52:41 +02:00
Christoph Oelckers 80d1b71899 - fixed sounds disappearing when the owning actor was deleted.
These sounds now get unlinked so that they can play out normally.

Fixes #119.
2020-08-12 20:15:02 +02:00
Christoph Oelckers cbfa8abd34 - fixed some messed up conditionals in RR's switch code.
Fixes #166
2020-08-12 00:31:04 +02:00
Christoph Oelckers 4c01f1e073 - don't count chickens as kill.
Fixes #160.
2020-08-11 21:42:41 +02:00
Mitchell Richters e083f78f8e - stop Duke screaming while falling if player puts the jet pack on.
No need to keep screaming if the player has saved themselves.
2020-08-11 15:40:02 +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 000c00dc91 - block game input during intro cutscenes
Fixes #158
2020-08-11 00:42:08 +02:00
Christoph Oelckers ca740ad709 - increase volume for summary screen's speeches in Duke.
Fixes #125
2020-08-10 20:59:04 +02:00
Mitchell Richters a3a7a8f6be - repeat of cf548e055e for RR. 2020-08-09 16:41:42 +10:00
Mitchell Richters fb6a58904a - Set `glcycle_t` class as active when `stat fps` is active.
Fixes #122.
2020-08-09 16:39:15 +10:00
Mitchell Richters cf548e055e - clamp player sprite's xvel between 0 and 512 to stop it going into the negative with rapid posx/posy changes due to teleporting.
* With steroids and a controller (controllers have a slightly higher max fvel/svel than a keyboard), I could not get xvel to exceed 503.
* Fixes #123.
2020-08-09 16:24:48 +10:00
Christoph Oelckers d731bf4e57 - fixed typo in floor damage check.
This rendered the boots ineffective on lava.
Fixes #114
2020-08-07 23:30:08 +02:00
Christoph Oelckers dfa3519ebc - stop screaming sound when landing.
Fixes #116
2020-08-07 22:20:29 +02:00
Christoph Oelckers 596367f10f - Screenblend fixes. 2020-08-07 22:00:43 +02:00
Christoph Oelckers f8c65839f0 - fixed broken jumping.
This was a nasty, but typical case for Duke where a variable did not contain what the name said and was carried along way too much code.

Fixes #112
2020-08-07 21:59:11 +02:00
Christoph Oelckers 4b69a181c3 - use symbolic constants for some statnums 2020-08-06 20:54:51 +02:00
Christoph Oelckers 4cfeb9b2cc - fixed bouncing flame in VACA2.
Taking a hint from EDuke32 here.
2020-08-06 20:54:02 +02:00
Mitchell Richters 47dbc46213 - fixed the interpolation issues while on a crane.
* Partially addresses issues discussed in #105 and #106.
2020-08-06 15:39:45 +10:00
Mitchell Richters bbe05b0c81 - harden `FinalizeInput()` with else blocks on each if statement after checking whether all movement is blocked.
Fixes #105.
2020-08-06 07:25:04 +10: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 ba3c353198 - use the correct code for the devastator in operateweapon.
The code present was from EDuke 2.1, I have no idea if it ever worked there. It was replaced with JFDuke's.
Fixes #104.
2020-08-05 22:36:38 +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
Mitchell Richters ddd30e742c - ensure player's angle input while playing with `cl_syncinput 0` is scaled appropriately when sector's lotag is ST_2_UNDERWATER. 2020-08-05 22:57:47 +10:00
Mitchell Richters d1a68421bd - fix `cl_weaponsway` for Duke. 2020-08-05 20:04:14 +10:00
Mitchell Richters 2919cdcb44 - clamp the calculated `horizAngle` to -180/180 to stop overflowing if player moves the mouse stupidly quick while `cl_syncinput 1` is set. 2020-08-05 19:56:49 +10:00
Mitchell Richters 03bccb3a06 - functionalise significant portions of 0ee3ab4df8. 2020-08-05 19:24:42 +10:00
Mitchell Richters 0142449d95 - clamp angle velocity as originally intended. 2020-08-05 17:59:46 +10:00
Mitchell Richters 736811e864 - properly tune `sethorizon()` so that 'frominput' bool can be removed. Returning to centre function is essentially consistent between input states now. 2020-08-05 17:59:01 +10:00
Mitchell Richters 0ee3ab4df8 - revert most of e474ebc2b7 and adjust player's angle/horizon in a way that's compatible with `cl_syncinput 0` and `cl_syncinput 1`.
Previous attempts at leveraging `applylook()` and `sethorizon()` in different spots had pros and cons, but ultimately changing where these functions were called from was a net negative and had hard to diagnose issues.

Maintaining two types of player input is considerable work. Lessons have been learned and will be beneficial when it comes time to re-doing the other games. Ideas from PR #98 for optimising RRRA vehicle experience while `cl_syncinput 0` is in use have been implemented here.
2020-08-05 17:53:41 +10:00
Mitchell Richters 65428a2d1a - revert ea98978ae7 and baed75ff8a, and do in a more compatible way with synchronised and unsychronised input. 2020-08-05 17:43:14 +10:00
Mitchell Richters bb0129c331 - add missed savegame addition when doing 9f8d50c0a1. 2020-08-05 17:39:02 +10:00
Mitchell Richters 9f8d50c0a1 - add horizAdjust after processing pitch adjustments and call `sethorizon()` in `processinput_d()` after `dokneeattack()`.
Fixes #101.
2020-08-05 14:23:07 +10:00
Christoph Oelckers 454e0e36c9 - added a sound for advancing multi-screen menus.
Fixes #100.
2020-08-05 00:32:29 +02:00
Christoph Oelckers f363aca1b7 - fixed the crane in Duke3D.
Fixes #92
2020-08-05 00:28:14 +02: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 24d847f4ec - create Duke dynamic CCMD `warptocoords`. 2020-08-04 18:04:02 +10:00
Mitchell Richters 2bdf5f38e5 - remove code meant to have been deleted when performing e474ebc2b7. Makes `processinput_r()` match `processinput_d()`. 2020-08-04 17:13:28 +10:00
Mitchell Richters bc103595ce - force `scaleAdjust` to be 1 when `cl_syncinput` is 1.
* Above calculation has some micro variances to it which were leading to strange behaviour like the bike's tilting not working properly with `cl_syncinput 1`.
2020-08-04 17:11:32 +10:00