Christoph Oelckers
7f75b2274f
- code updates from PCExhumed.
2021-01-19 09:44:16 +01: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
Mitchell Richters
b191a482d6
- Remove hw_detailmapping
and hw_glowmapping
since they're no longer relevant with GZDoom's backend (they're always in an on state).
2021-01-03 21:39:21 +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
Rachael Alexanderson
fc7dada764
- sync from gzdoom
2021-01-02 07:52:59 -05: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
617dc8001c
- Exhumed: Fix automap player smoothness.
2021-01-02 19:50:02 +11:00
Mitchell Richters
2ec79ad581
- Exhumed: Interpolate x/y/ang coordinates before passing to DrawOverheadMap()
.
2021-01-02 19:49:06 +11:00
Mitchell Richters
aef6fddd3f
- Blood: Fix automap player smoothness.
2021-01-02 19:41:48 +11:00
Mitchell Richters
b5e197d9be
- Blood: Interpolate x/y/ang coordinates before passing to DrawOverheadMap()
.
2021-01-02 19:36:46 +11:00
Mitchell Richters
fd026edc5c
- SW: Interpolate automap player.
2021-01-02 18:44:07 +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
2fa2d93084
- Blood: Move synchronised input call to doslopetilting()
above call to resetForcedSyncInput()
.
2021-01-02 14:54:54 +11:00
Mitchell Richters
25eaeff0db
- Wrap all g_gameType & GAMEFLAG_BLOOD
checks into isBlood()
inline.
2021-01-02 14:46:58 +11:00
Mitchell Richters
532d128afd
- Blood: Migrate game's slopetilting code to calcviewpitch()
.
2021-01-02 14:40:35 +11:00
Mitchell Richters
3516e4c3b0
- Blood: Don't use cl_viewbob
to control bobbing overall, only cl_viewhbob
and cl_viewvbob
as exposed via the menus.
2021-01-02 13:16:15 +11:00
Mitchell Richters
5cfc528f5a
- Exhumed: Don't clear localInput
when copying to backend packet.
...
* Did this in 949e456018
.
* Exhumed works differently...
2021-01-02 11:17:17 +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
4aae71f0ee
- InputState::ClearAllInput(): Call resetTurnHeldAmt()
when clearing input.
2021-01-02 10:00:29 +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
36c25ee2a0
- gameinput.cpp: Break out processMovement()
's turnheldamt calculations into functions.
2021-01-02 09:53:03 +11:00
Mitchell Richters
a1dd36ffee
- Exhumed: Rename ps_input.h
-> input.h
.
2021-01-02 09:38:23 +11:00
Mitchell Richters
37d13e3ea3
- SW: Remove unused turnheldtime
missed when doing 949e456018
.
2021-01-02 09:32:38 +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
dac08a2cb9
- calcviewpitch(): Fix issue with returning horizoff
to 0 from negative slope.
2021-01-02 01:15:58 +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
3ec41e776c
- SW: Clean up old auto aim/mouse aim bits.
2021-01-01 22:37:40 +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
e8894eeab0
- WHaven: Replace all *mulscale*()
function calls with ones in m_fixed.h.
2021-01-01 19:30:04 +11:00
Mitchell Richters
24e09055ca
- m_fixed.h: Define MulScaleF()
for floating point multiplying and scaling.
2021-01-01 19:29:26 +11:00
Mitchell Richters
449714667b
- buildutils: Replace sintable[]
use within remainder of WHaven's files with bsin()
/bcos()
.
2021-01-01 19:16:29 +11:00
Mitchell Richters
96aa6452ef
- buildutils: Replace sintable[]
use within WHaven's whani.cpp with bsin()
/bcos()
.
2021-01-01 19:16:07 +11:00
Mitchell Richters
bf06ac6460
- buildutils: Replace sintable[]
use within WHaven's weapons.cpp with bsin()
/bcos()
.
2021-01-01 19:15:57 +11:00
Mitchell Richters
26c378936d
- buildutils: Replace sintable[]
use within remainder of WHaven's ai*.cpp files with bsin()
/bcos()
.
2021-01-01 18:54:13 +11:00
Mitchell Richters
60761ba779
- buildutils: Replace sintable[]
use within WHaven's ai.cpp with bsin()
/bcos()
.
2021-01-01 18:51:25 +11:00
Mitchell Richters
a8d8335e2b
- WHaven: Uplift sector/wall x/y panning in line with changes from d545eb7aa9
and 2cd3927613
.
2021-01-01 17:44:59 +11:00
Mitchell Richters
a515426c68
Merge branch 'master' into witchaven2
2021-01-01 17:32:32 +11:00
Nikolay Ambartsumov
591f593888
[Blood] Fix negative priority event processing
...
Some sprites (for example, "Blood Drip" sprite type 702) cause
negative priority events to be added added to the event queue
on map initialization. Despite them being the highest priority
entries in the event queue, comparision with the game timer performs an
implicit unsigned conversion, which wrongly results in their priority
being considered much higher than the current in-game time, causing the
event loop to never advance. This commit fixes this problem.
2020-12-31 20:43:18 +01:00
Nikolay Ambartsumov
edd5b92c94
[Blood] Fix wrong sector path marker stat lookup
2020-12-31 20:43:18 +01:00
Christoph Oelckers
3ecd02dcac
- downgrade overflow message to a debug warning.
2020-12-30 09:55:57 +01:00
Christoph Oelckers
b73b59cf66
- fixed badly inherited exception subclass.
2020-12-30 09:55:57 +01:00
Christoph Oelckers
0f8e73ce77
- inlined calc_globalshifts to get rid of two global variables.
2020-12-30 09:55:57 +01: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
5c87b7b894
- Return to center using tangent of pitch, as per original games (Duke/SW).
...
* Preserves the original return to center feel more accurately as original algorithm can't directly translate to pitch. If we ever get rid of Build's horizon throughout the games, this can go on the chopping block then as a necessity.
2020-12-30 18:04:00 +11:00