Commit graph

1290 commits

Author SHA1 Message Date
Christoph Oelckers
a46792e519 - fixed SE21 handler.
This one is most prominently noticeable in WW2GI's first map where blowing up a crack has no effect.
This must have happened when removing all those dangerous pointer to long casts that were so popular back in the bad old days.
Fixes #266
2021-02-26 13:14:44 +01:00
Mitchell Richters
cff97c9cf3 - calcChaseCamPos(): Restore original algorithms for new position via GameInterface struct.
* Averaging out the values was a net negative for all games. Each games' original value is tuned to the specific games.
2021-02-18 21:47:39 +11:00
Mitchell Richters
ba57429ac6 - Blood, Duke & SW: Create new backend chasecam function and replace game-specific versions with it.
* Based off SW's implementation.
2021-02-18 21:47:37 +11:00
Mitchell Richters
2abda0e27d - All Games: Migrate each game's clock counter to backend solution. 2021-02-18 21:47:33 +11:00
Mitchell Richters
b1290448c5 - Duke: Slightly tune texty in FullscreenHUD1() to line it up perfectly. 2021-02-01 18:42:41 +11:00
Christoph Oelckers
8ffda1c9d1 - Duke: Calculate the true font height of the numbers for alignment in the Statusbar.
The original tiles are all 15 pixels tall, but depending on the games can vary in their true height, so use CheckRealHeight on them to get their true dimensions.
Fixes #250
2021-02-01 00:09:22 +01:00
Christoph Oelckers
30e8111979 - fix inventory selector positioning in WW2GI.
This must have abused some quirk of the original code to be this far off...
2021-01-30 23:51:50 +01:00
Christoph Oelckers
40593b866f - WW2GI: fixed event numbering.
There is a typo in the CON files that assigns EVENT_AIMUP and EVENT_AIMDOWN the same number. The source did not replicate this which caused several events to call the wrong handler.
Fixes #252
2021-01-30 23:42:44 +01:00
Mitchell Richters
c267c214c2 - Duke: Repair jumping zvel issue originating from 5e45f988e3 for Duke and 1c5c90d00f for RR.
* Thanks for backtracing, Graf :)
* Fixes #259.
2021-01-29 20:00:15 +11:00
Christoph Oelckers
1ab11a02e2 - RR: fixed player input for diving.
Fixes #260
2021-01-24 08:59:08 +01:00
Mitchell Richters
18fbc8996b - Duke: Remove a few redundant sprite backups and change some backups to what's actually needed. 2021-01-06 06:22:31 +11:00
Mitchell Richters
97159c20c1 - Duke: Leverage new spritetype methods within Duke, removing bposx/bposy/bposz from hittype. 2021-01-06 06:22:29 +11:00
Mitchell Richters
5124c0daec - Amalgamate ksgn and sgn into Sgn in cmdlib.h, and remove pragmas.h. 2021-01-05 07:31:37 +11:00
Mitchell Richters
b36bea7c69 - Replace scale() calls with Scale() from common. 2021-01-05 07:31:34 +11:00
Mitchell Richters
d460f048fa - Remove klabs() define and replace with abs(). 2021-01-05 07:31:28 +11:00
Mitchell Richters
868aa7f07a - Replace mulscale() calls with MulScale() from common. 2021-01-05 07:31:24 +11:00
Mitchell Richters
aae175f287 - Replace divscale##() calls with MulScale() from common.
* Regex for reference: divscale([0-9]+)\((.+)(\)+)
2021-01-05 07:31:20 +11:00
Mitchell Richters
2396179dfc - Replace mulscale##() calls with MulScale() from common.
* Regex for reference: mulscale([0-9]+)\((.+)(\)+)
2021-01-05 07:31:15 +11:00
Mitchell Richters
8cf2588bad - Replace fmulscale##() calls with MulScaleF() from common.
* Regex for reference: fmulscale([0-9]+)\((.+)(\)+)
2021-01-05 07:31:13 +11:00
Mitchell Richters
7d9f868e4c - Replace dmulscale##() calls with DMulScale() from common.
* Regex for reference: dmulscale([0-9]+)\((.+)(\)+)
2021-01-05 07:31:10 +11:00
Christoph Oelckers
e866a9e0c0 - moved setsectinterpolate/clearsectinterpolate into the backend. 2021-01-04 10:37:14 +01:00
Mitchell Richters
e8c20f502b - Duke: Back up sprite's angle in ticker and interpolate in gi->GetInput() if !SyncInput(). Sprite angle now works properly with cl_syncinput 1. 2021-01-04 13:27:31 +11:00
Mitchell Richters
8911805e3a - Duke: Ensure an uninterpolated angle is sent to DrawOverheadMap() if playing with unsynchronised input. 2021-01-04 09:06:57 +11:00
Mitchell Richters
22f28477e4 - Duke: Revert backing up of sprite's ang to tempang from be12da6bfb and subsequent interpolation of sprite's ang in 21da658617 and directly update the sprite's angle in gi->GetInput() like the other games.
* Fixes #251.
2021-01-04 08:49:57 +11:00
Mitchell Richters
de1b4765dc - Duke: Partially revert edba971b7f. I need to stop breaking this. 2021-01-03 20:14:40 +11:00
Mitchell Richters
f036e94cca - Duke (RR): Also fix location of p->apply_seasick() in the ticker as well. 2021-01-03 20:06:28 +11:00
Mitchell Richters
6058669e29 - Duke: Within gi->GetInput() , call p->apply_seasick() after applylook() as per the original code, and call unconditionally since its guarded as to whether it runs or not internally. Original spot only had it called if on a vehicle which wasn't right. 2021-01-03 20:00:43 +11:00
Mitchell Richters
f6b9c3cba7 - Duke (RR): Fix braking on vehicles which never got picked up. 2021-01-03 19:25:49 +11:00
Mitchell Richters
edba971b7f - Duke: Remove newOwner check from cef1f8275b & cb93560a4a that were just cancelling out each other, and clean up 2x if (p->newOwner != nullptr) checks into one. 2021-01-03 18:51:43 +11:00
Mitchell Richters
d3b95d4d70 - Build/Duke: Remove the only use case for drawrooms() inline wrapper and change getcamspriteang() to return binangle instead of a build angle. 2021-01-03 17:35:19 +11:00
Mitchell Richters
0cab84f17a - Duke: Backport EDuke32 commits b1e3f3bcf9c5214ae835d09e12cc41bac4f057ce & 4c4fdd1f4ab9381b60db06f37ec270850599e1ae in relation to swinging doors. 2021-01-03 15:45:38 +11:00
Mitchell Richters
9b7d07df90 - Duke: Fix flashing vehicle HUD when cl_syncinput 1 is set. 2021-01-03 09:55:25 +11:00
Mitchell Richters
86bb6b1cdc - Duke: Backport EDuke32 commit ac64e11553344084753cdd75abd898ec2c725a16 to fix buggy swinging doors, most apparent on E4L1. 2021-01-02 23:41:03 +11:00
Mitchell Richters
21da658617 - Duke: Interpolate automap player. 2021-01-02 18:23:12 +11:00
Mitchell Richters
be12da6bfb - Automap: Put in framework to interpolate automap player. 2021-01-02 18:23:01 +11:00
Mitchell Richters
9833c94114 - Duke: Pass the player_struct through to FinalizeInput() in line with other functions. 2021-01-02 11:04:03 +11:00
Mitchell Richters
bcb838f3fb - Duke: Fix some broken checks in FinalizeInput() stemming from 5f33b0087f. 2021-01-02 10:43:03 +11:00
Mitchell Richters
4397646cc4 - Duke: Move cancellation of spin from FinalizeInput() into applylook() in gameinput.cpp. 2021-01-02 10:26:22 +11:00
Mitchell Richters
5f33b0087f - Duke: Comment out unused enum values but leave behind for reference purposes.
* In line with SW, should have been done with fb91fc49a3.
2021-01-02 10:09:42 +11:00
Mitchell Richters
e65e112281 - Duke: Remove local calculation of turboturntime for RRRA vehicles in lieu of backend solution. 2021-01-02 09:59:51 +11:00
Mitchell Richters
3a801cbf5c - calcviewpitch(): Set scaleAdjust to default to 1 in prototype like other functions in gameinput.cpp. 2021-01-02 09:32:19 +11:00
Mitchell Richters
8003753989 - Duke/SW: Move each game's check of cl_slopetilting into calcviewpitch() backend function. 2021-01-02 00:34:44 +11:00
Mitchell Richters
6d12159006 - Duke/SW: Consolidate each game's slopetilting function into backend solution.
* Based on SW's implementation purely for its commentary, but includes a fix from Duke's.
* Allow disabling Duke's slopetilting via `cl_slopetilting` like SW.
2021-01-02 00:30:11 +11:00
Mitchell Richters
949e456018 - All Games: Slight tidy up of gi->GetInput() functions. 2021-01-01 21:33:00 +11:00
Mitchell Richters
571583ca9c - Duke: Store velocity scale in motoApplyTurn() as a variable like boatApplyTurn(). 2021-01-01 21:21:26 +11:00
Mitchell Richters
a0a710c56a - Duke: Fix camera horizon when viewing the screen from in-game.
* Leftover horizon offset that was missed when doing 09a05f354c.
2020-12-30 18:31:51 +11:00
Mitchell Richters
f2c6a23f38 - Duke: Allow horz input to go through when returning to center and horiz is abs(5) or less. This mimics the original behaviour where Duke would stop returning to center at 95/105. This allows faster mouse input to be applied instead of waiting for player's horizon to return to 0. 2020-12-30 18:04:30 +11:00
Mitchell Richters
0afaff2663 Revert "- Duke: Don't block horz input while returning to center."
This reverts commit 5f62058020.
2020-12-30 17:07:59 +11:00
Mitchell Richters
5f62058020 - Duke: Don't block horz input while returning to center.
* Player still returns to center after a fall or by looking/aiming up/down, but input breaks the return just like the other games.
* Fixes #220.
2020-12-29 16:48:28 +11:00
Christoph Oelckers
3787e103d2 - use the same camera sprite selection logic as EDuke32 and RedNukem.
This is the only one that makes some sense.
2020-12-13 14:13:51 +01:00