Commit graph

217 commits

Author SHA1 Message Date
Mitchell Richters
2129d3b4e7 Duke3D: Process one_eighty_count (Turn-around key) at frame-rate. 2020-05-13 15:12:44 +02:00
Mitchell Richters
3af6ad697b Duke3D: Process q16rotscrnang and q16look_ang at frame-rate.
Had to move lastInputTicks to the DukePlayer_t struct. When first running P_GetInput(), the initial value of elapsedInputTicks is the actual value of timerGetHiTicks(), which is into the thousands. This high initial value was affecting how scaleAdjustmentToInterval() scales as it was taking an initial q16look_ang value of 512 and overflowing the fix16_t type, making it -32,768.
2020-05-13 15:12:44 +02:00
Mitchell Richters
de0cc8f164 Duke3D: Promote look_ang to Q16.16. 2020-05-13 15:12:44 +02:00
Mitchell Richters
ac4b33a770 Duke3D: Promote rotscrnang to Q16.16. 2020-05-13 15:12:44 +02:00
Mitchell Richters
742974c61c Duke3D: Return to centre improvements.
- Lock player horizon while returning to centre.
- Precisely scale player's horizon in time with rate at which 'pPlayer->return_to_center' decrements.
- Check player's horizon is between 99 and 101 degrees, not 99.9 and 100.1. The extra 0.9 degrees of precision is not noticeable and is dramatically slower.
- Reset 'pPlayer->return_to_center' to '0' when player's horizon is at 100.
- Match q16horizoff precision to precision of q16horiz.
2020-05-11 21:27:29 +02:00
Mitchell Richters
ae353b93fb Duke3D: Change horizSkew from fix16_t to int8_t.
- No point converting an int to fix16, only to convert it back. It's only ever an unrounded integer.
2020-05-11 21:27:29 +02:00
Mitchell Richters
d088795f28 Revert "Duke3D: Fix hard landing from preventing vertical mouse movement with player input tied to frame-rate."
This reverts commit 6dcd83b734.
2020-05-11 21:27:29 +02:00
Mitchell Richters
6dcd83b734 Duke3D: Fix hard landing from preventing vertical mouse movement with player input tied to frame-rate. 2020-05-08 10:51:59 +02:00
Mitchell Richters
2e3bcdadd6 Duke 3D & RR: Repair issue where player would not return to centre following hard landing.
- Accidentally left in while merging changes from upstream.
- Change restores accuracy to game play in that a hard landing now returns the player's view to center.
2020-05-08 10:51:59 +02:00
Richard C. Gobeille
3f7914ad57 Duke3d: set .horizRecenter when handling SK_CENTER_VIEW
This seems so obvious that I almost think I intentionally left it out before, but I can't remember why I would have.
2020-05-08 10:51:59 +02:00
Richard C. Gobeille
c53edd9e5a Duke3d: zero .horizAngleAdjust and .horizSkew after checking playerquitflag instead of before
I don't think this actually makes a difference, but it's more consistent.
2020-05-08 10:51:59 +02:00
Richard C. Gobeille
26b87e3aa0 Duke3d: zero .horizSkew in P_DoJetpack() 2020-05-08 10:51:59 +02:00
Richard C. Gobeille
b21a4d5880 Duke3d: fix stupid input scaling bug 2020-04-16 00:03:06 +02:00
Mitchell Richters
db428a4f03 All Games: Make more precise use of 'scaleAdjustmentToInterval()'.
- Inline function returns a double, therefore we should use it and not potentially truncate the mantissa.
- Use divisors to get true numbers of some floats (3.333 -> 10/3, etc).
- Remove a few brackets/parentheses where possible from what are already exceedingly bracketed lines.
2020-04-14 00:00:21 +02:00
Mitchell Richters
02d436f802 Change Next/Previous Weapon button handling for Duke and RR games.
- Resolves inability to change weapons under SDL-based environments as reported at https://forum.zdoom.org/viewtopic.php?f=340&t=67232#p1142970
2020-04-13 23:59:47 +02:00
Christoph Oelckers
66ecb05eb8 - use Printf as the only command to print to the console.
All uses of OSD_Printf, initprintf etc. have been renamed.
2020-04-12 08:30:38 +02:00
Richard C. Gobeille
01bb5491af Rename G_HaveActor() and G_DefaultActorHealth() for clarity
The new names are G_TileHasActor() and G_DefaultActorHealthForTile().

# Conflicts:
#	source/duke3d/src/duke3d.h
2020-04-08 00:38:50 +02:00
Evan Ramos
b54a6e0565 WT Incinerator projectile velocity hotfix from Nuke.YKT
From-SVN: r8791
2020-04-08 00:38:48 +02:00
Evan Ramos
52eab0545b Implement WT's widescreen tiles
From-SVN: r8789
# Conflicts:
#	source/duke3d/src/menus.cpp
#	source/duke3d/src/premap.cpp
#	source/duke3d/src/sbar.h
2020-04-08 00:38:46 +02:00
Evan Ramos
e6940cd591 Implement hardcoded WT stuff
Includes the new weapon, enemy projectiles, and breakable objects.

Patch from Nuke.YKT.

I edited it some, mostly to add the proper "if (WORLDTOUR)" checks.

From-SVN: r8788
# Conflicts:
#	source/duke3d/src/namesdyn.cpp
2020-04-08 00:38:45 +02:00
Richard C. Gobeille
ec3e8bffe1 Are you kidding me? This fixes the elevator in Duke3D E2L3. 2020-04-08 00:38:43 +02:00
terminx
c110c1018d Fix IF crouch jumping and unintentional automatic crouching under sprites
git-svn-id: https://svn.eduke32.com/eduke32@8737 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:38:33 +01:00
terminx
a7e1d3f307 Patch from Nuke.YKT to fix a couple of NAM/WW2GI issues
git-svn-id: https://svn.eduke32.com/eduke32@8726 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:34:27 +01:00
terminx
9630126a6d Improve player input locking logic
This fixes the issue with mouse input and viewscreens.

git-svn-id: https://svn.eduke32.com/eduke32@8619 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:12 +01:00
terminx
bcb561014d Fix hilarious bug where holding the strafe modifier and pressing turn left/right moved the player in the wrong direction
git-svn-id: https://svn.eduke32.com/eduke32@8617 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:11 +01:00
terminx
ce2c378dcb Emulate previous behavior for player oang/ohoriz/angvel struct members
git-svn-id: https://svn.eduke32.com/eduke32@8605 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:11 +01:00
terminx
b48de3ca3c Take CRANE sprites into account before applying mouse input
git-svn-id: https://svn.eduke32.com/eduke32@8565 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:11 +01:00
terminx
ae9b6915ce Get rid of the globals used when implementing the framerate based input polling
git-svn-id: https://svn.eduke32.com/eduke32@8555 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:11 +01:00
terminx
e94ce88b27 Use the saturating versions of the fix16 functions for player input
git-svn-id: https://svn.eduke32.com/eduke32@8554 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:10 +01:00
terminx
659ebf82d8 Improve player view recentering
git-svn-id: https://svn.eduke32.com/eduke32@8552 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:10 +01:00
terminx
3b43bba32f Tie player input to the frame rate instead of the game tickrate
This voodoo bullshit entirely eliminates any and all player viewport input latency.

git-svn-id: https://svn.eduke32.com/eduke32@8551 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:10 +01:00
Christoph Oelckers
de2c07aa6a - revert all consolidation efforts between Duke and RR frontends.
Too many problems with different code.
2020-03-18 08:24:31 +01:00
Christoph Oelckers
a5c2152530 - consolidated the dynamic tile handling for Duke and RR frontends 2020-03-06 17:12:38 +01:00
Christoph Oelckers
64a34f8af7 - disable the tenth weapon slot for Ion Fury. 2020-02-29 09:58:15 +01:00
Christoph Oelckers
1b6b43291b - disabled the 'portable' savegame feature for Ion Fury.
This won't survive the coming savegame refactoring because its only reason for existence is to work around the savegame format's volatility.
2020-02-23 09:55:49 +01:00
Christoph Oelckers
57a3f89105 - workaround for cl_autoaim not being set anymore.
Only for singleplayer for now, the network implementation for this flag leaves a lot to be desired.
2020-02-16 21:31:29 +01:00
terminx
9bd966c77e Macros for a couple hardcoded values
git-svn-id: https://svn.eduke32.com/eduke32@8641 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-11 18:24:50 +01:00
terminx
a9e8666b07 This lets the player jump into the vents in DUKEDC3.MAP
Since this is Duke3D, I'm sure this change breaks something else.

git-svn-id: https://svn.eduke32.com/eduke32@8640 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-11 18:24:39 +01:00
terminx
376c29dba6 Rename ZOFFSET1 to ACTOR_FLOOR_OFFSET and use ACTOR_MAXFALLINGZVEL in several places where it should have been used
git-svn-id: https://svn.eduke32.com/eduke32@8637 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/player.cpp
2020-02-11 18:23:49 +01:00
terminx
b214a67853 Minor clipping fix
git-svn-id: https://svn.eduke32.com/eduke32@8608 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-07 18:55:56 +01:00
Christoph Oelckers
a90185bea9 - cleaned up the remaining dependencies on windows.h
This file now only gets included by code that really needs it.
2020-02-03 21:30:57 +01:00
Christoph Oelckers
4aaf6c4cf6 - check for angular overflow in pitch calculations. 2020-01-29 21:52:17 +01:00
terminx
af816fdf00 This fixes things like shrunk player behavior at the expense of the return of issues like the player automatically stepping up onto sprite architecture.
git-svn-id: https://svn.eduke32.com/eduke32@8568 1a8010ca-5511-0410-912e-c29ae57300e0
2020-01-29 19:35:34 +01:00
terminx
8543f476d7 Ion Fury compatibility improvements
git-svn-id: https://svn.eduke32.com/eduke32@8559 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/game.cpp
2020-01-29 19:20:35 +01:00
terminx
92a6178429 Fix forward movement with the mouse when mouse aiming is disabled
This was missed back when input between the x and y axes was normalized to use the same scale.

git-svn-id: https://svn.eduke32.com/eduke32@8541 1a8010ca-5511-0410-912e-c29ae57300e0
2020-01-29 19:09:48 +01:00
terminx
e4add4956b Factor conditions for locking player movement out into new P_CheckLockedMovement() function
git-svn-id: https://svn.eduke32.com/eduke32@8539 1a8010ca-5511-0410-912e-c29ae57300e0
2020-01-29 19:09:33 +01:00
Christoph Oelckers
a870df840e - hooked up the input system and did a major cleanup.
Much of the old system is no longer needed with all buttons being handled as keys.
Mouse axis movement is not working yet.
2019-12-24 12:59:26 +01:00
Christoph Oelckers
d24bd0fc14 - added refactored sound code to RR frontend.
- removed most code using the low level sound interface directly from Duke and RR frontends.
2019-12-16 16:18:47 +01:00
Christoph Oelckers
62660e76f3 - sound system rework. Not complete. 2019-12-15 10:00:25 +01:00
Christoph Oelckers
69fd6cf69d - removed currentBoardFilename
This was only used for displaying the name for user maps, everything else was using other means of getting the data already, and even here currentLevel is better suited.
2019-12-11 01:01:03 +01:00