Commit graph

13449 commits

Author SHA1 Message Date
Christoph Oelckers
3163e4a799 - check for invalid tiles being passed to the 2D renderer.
Since mods can actually replace valid tiles with invalid ones, the low level render code needs to check this case.
2021-01-27 23:52:40 +01:00
Christoph Oelckers
8cf3e50ade - removed bad 'pos' setup in PreDrawStackedWater
This was a) supposed to set 'opos' not 'pos' and is b) redundant because here both Users point to the same sprite.

Fixes #261
2021-01-25 18:07:49 +01:00
Christoph Oelckers
981a2c7e5c - Exhumed: restored old static switch array.
There's side effects in here that broke the door logic and made doors automatically open sometimes.
2021-01-24 14:49:51 +01:00
Christoph Oelckers
1ab11a02e2 - RR: fixed player input for diving.
Fixes #260
2021-01-24 08:59:08 +01:00
Christoph Oelckers
7f75b2274f - code updates from PCExhumed. 2021-01-19 09:44:16 +01:00
Rachael Alexanderson
09d2e44da6 - add missing menu spacer 2021-01-18 08:17:35 -05:00
Rachael Alexanderson
8c87bc7d08 - language update 2021-01-18 06:26:14 -05:00
Rachael Alexanderson
47f0370512 - add some 21:9 presets 2021-01-18 06:25:04 -05:00
Rachael Alexanderson
3f30d91323 - 21:9 improvements
- vid_aspect is now set to change to 21:9's ACTUAL aspect - 64:27
- screen elements now scale to 64:27 properly. to restore classic behavior, set cvar `vid_allowtrueultrawide` to false
2021-01-17 11:45:12 -05:00
Christoph Oelckers
042795612e - Exhumed: Refined sector movement code so that pickups get always moved even when not touching the floor.
... because it seems to be inevitable that games have to exploit some implementation shortcomings...
2021-01-16 23:42:34 +01:00
Christoph Oelckers
c342594691 - Exhumed: fixed wall scrollers. 2021-01-14 23:55:45 +01:00
Christoph Oelckers
91f8df48c6 - Exhumed: changed MoveSectorSprites so it only moves sprites that actually stand on the sector's floor.
Since this had no check for z it even moved things floating above a lift or players hanging over a dropoff with the lift below.
2021-01-12 20:57:28 +01:00
Christoph Oelckers
fc11f537f7 - project cleanup
* moved all games into the 'games' folder.
* fixed project to include all sources and move them to the proper folders.
2021-01-10 20:31:32 +01:00
Christoph Oelckers
a74419f5e7 - Exhumed: removed opos entirely. 2021-01-10 18:30:56 +01:00
Christoph Oelckers
b0e5e9fc72 - Exhumed: fixed camera position interpolation.
This was still using old the old game-specific method.
Moving up a lift now interpolates properly, but there's still an unrelated issue when moving down.
2021-01-10 18:15:28 +01:00
Christoph Oelckers
e2f546862b - Exhumed: fixed scrolling floor/ceilings. 2021-01-10 17:13:48 +01:00
Mitchell Richters
41ad44bf40 - Blood: Avoid integer truncation when updating player's sprite angle with actual angle of player.
* Fixes #256.
2021-01-10 18:17:29 +11:00
Christoph Oelckers
98ee5178aa - Exhumed: interpolate lifts/platforms
Unfortunately this reveals a rather ugly problem with player movement on such a platform that still needs examination.
2021-01-05 22:32:34 +01:00
Mitchell Richters
afdfcba9c3 - SW: Leverage new spritetype methods within SW.
* We now also interpolate the player's sprite angle in the automap code so that `cl_syncinput 1` is smooth, just like e8c20f502b.
2021-01-06 06:22:37 +11:00
Mitchell Richters
1a86e74c40 - Blood: Leverage new spritetype methods within Blood. 2021-01-06 06:22:35 +11:00
Mitchell Richters
6721a6aa05 - Exhumed: Leverage new spritetype methods within Exhumed. 2021-01-06 06:22:33 +11: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
07a43c572e - Build: Extend spritetype struct with interpolation variables and numerous methods to do with pos, angle and interpolation of such. 2021-01-06 06:22:27 +11:00
Mitchell Richters
ede15c3af2 - Exhumed: Remove unrequired !bUnderwater check. 2021-01-05 17:13:22 +11:00
Mitchell Richters
7fcf1c94a1 - Exhumed: Minor fixes to panning code.
* Stop panning if underwater.
* Remove overload from PlayerHorizon from d32dcd5f8e that was causing problems for other games.
* Remove static bool `plrFalling` also from d32dcd5f8e and add `bIsFalling` to `Player` struct, hooking up with save code as well.
2021-01-05 17:07:56 +11:00
Mitchell Richters
726c51bf63 - Exhumed: Update inita in UpdatePlayerSpriteAngle(), allowing the removal of forced synchronised input while using the chase cam. 2021-01-05 11:01:47 +11:00
Mitchell Richters
d32dcd5f8e - Exhumed: Fix player panning when walking up/down steps while horizon is 0. 2021-01-05 11:01:41 +11:00
Christoph Oelckers
b034d9e059 - Exhumed: Interpolate doors. 2021-01-04 21:51:54 +01: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
3c5d553456 - Move krecipasm() from pragmas.h into polymost.cpp. 2021-01-05 07:31:30 +11:00
Mitchell Richters
d460f048fa - Remove klabs() define and replace with abs(). 2021-01-05 07:31:28 +11:00
Mitchell Richters
b9c2af130a - Replace divscale() calls with DivScale() from common. 2021-01-05 07:31:26 +11:00
Mitchell Richters
868aa7f07a - Replace mulscale() calls with MulScale() from common. 2021-01-05 07:31:24 +11:00
Mitchell Richters
b5aac8723f - Replace dmulscale() calls with DMulScale() from common. 2021-01-05 07:31:22 +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
f20daa2595 - Replace divscale64() calls with DivScaleU() from common. 2021-01-05 07:31:17 +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
Mitchell Richters
8f75f06efd - Replace tmulscale##() calls with TMulScale() from common. 2021-01-05 07:31:08 +11:00
Christoph Oelckers
b5caf2fd97 - Exhumed: Interpolate the movable blocks. 2021-01-04 20:44:46 +01:00
Christoph Oelckers
6257ea30e1 - Exhumed: added interpolation for slides and moving platforms. 2021-01-04 20:34:27 +01:00
Christoph Oelckers
0f3da7194a - actually compile the game code as larger units and integrate them in the main project.
This eliminates the problematic subprojects for good.
Compiling the games as larger units is necessary because otherwise compile times will break down on MSVC.
2021-01-04 11:52:10 +01:00
Christoph Oelckers
e866a9e0c0 - moved setsectinterpolate/clearsectinterpolate into the backend. 2021-01-04 10:37:14 +01:00
Mitchell Richters
8e62d585eb - Blood: Fix glitched akimbo shotguns by removing code that needed to go with 182b8023ca.
* Fixes #200.
2021-01-04 15:15:19 +11: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