Mitchell Richters
1f807792af
Duke3D: Move lastInputTicks from DukePlayer_t struct to PlayerData_t struct.
...
Better location for it since it never needs to be sent across the wire in a multiplayer situation. It's now also located where the other properties to do with input being tied to frame-rate are located.
2020-05-14 10:00:16 +02:00
Mitchell Richters
2c13e746c5
Duke3D: Reset one_eighty_count if player angle input is detected.
2020-05-13 15:12:44 +02:00
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
d30bf548bd
Duke3D: Restore old interpolations when camera is chasing actor who whacked you (idea from NY00123).
2020-05-11 21:26:34 +02:00
Mitchell Richters
aad2b3a782
- hacks to make IF launch again after gamefunc changes in 57cb22f135
.
...
Also re-ordered gamefuncs to 1:1 match EDuke32.
2020-05-11 13:30:14 +02:00
Mitchell Richters
8730bd9dda
- allow game's clock to keep running while paused (restores interpolations/animations in menus).
2020-05-08 21:23:02 +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
0ec9dd9a14
Duke3d: zero player .horizRecenter, .horizSkew, and .horizAngleAdjust in P_ResetPlayer()
2020-05-08 10:51:59 +02:00
Mitchell Richters
d99c907acb
- reset buttonMap button states after returning from pause for Duke3D (stops keys acting stuck down if down prior to pausing).
2020-05-06 10:51:08 +02:00
Mitchell Richters
1bb3640bc9
- fix interpolation stutters when opening console for Duke3D.
2020-05-06 10:51:08 +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
fda4293013
- draw the movie franes outside of the tile system to reduce the palette maintenance.
...
The movie code has always been the part causing the most issues because it alters the palettes - the rest treats them as static data.
2020-04-13 23:58:45 +02:00
Christoph Oelckers
fac004b4d2
- palette code cleanup
2020-04-13 23:58:44 +02:00
Christoph Oelckers
57cb22f135
- console code matching with GZDoom
...
Refactored the buttons to be definable locally per game for easier handling of differing input.
2020-04-12 08:30:41 +02:00
Christoph Oelckers
14cdfa3f3c
- more file matching.
...
- moved c_con to Duke subproject because it's the only one using this stuff.
2020-04-12 08:30:41 +02:00
Christoph Oelckers
8e87674d4c
- backend code matching with GZDoom
2020-04-12 08:30:40 +02:00
Christoph Oelckers
0ca4bbd0c4
- changed some menu related names to match GZDoom.
2020-04-12 08:30:40 +02:00
Christoph Oelckers
5584c726ba
- file system update and adjustment.
2020-04-12 08:30:40 +02:00
Christoph Oelckers
f671eb622f
- migrated to GZDoom's utility code.
2020-04-12 08:30:39 +02:00
Christoph Oelckers
2a9813eb5c
- code matching with GZDoom.
2020-04-12 08:30:38 +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
Christoph Oelckers
6ef93ba514
- match cmdlib.cpp/.h with GZDoom.
2020-04-12 08:30:36 +02:00
Christoph Oelckers
6589d31678
0.6.0
...
- fixed compilation.
2020-04-08 00:51:46 +02:00
Christoph Oelckers
3c3ea281f0
- fixed compilation.
2020-04-08 00:40:02 +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
Richard C. Gobeille
c8f15f8e4b
Demote labeltype to uint8_t
2020-04-08 00:38:49 +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
fd025374d4
Implement WT episode 5 ending
...
From-SVN: r8790
2020-04-08 00:38:47 +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
Evan Ramos
0d576cf798
Fix negative viewtypes to match what World Tour expects
...
From-SVN: r8787
2020-04-08 00:38:45 +02:00
Evan Ramos
2dbbfd4db2
Cleanup some Duke game logic, mostly to allow easier chaining to the default case
...
From-SVN: r8786
2020-04-08 00:38:44 +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
Richard C. Gobeille
53baf228eb
Fix stupid typo that broke the camera aiming at the enemy that killed you in Duke3D
2020-04-08 00:38:43 +02:00
Mitchell Richters
9e8e441d02
Further improve Duke3D and RR main game loop.
...
- Replace if statement containing nested do/while loop with a while loop.
2020-03-30 09:53:04 +02:00
Christoph Oelckers
7392b699e4
- cleaning out a few more parts of the software renderer.
2020-03-29 15:54:02 +02:00
Christoph Oelckers
0de4b134da
- stripped out most of the software renderer.
...
Now that the camera textures can be handled through the hardware renderer this isn't needed anymore.
2020-03-29 14:55:09 +02:00
Christoph Oelckers
621a9338e5
- render camera textures with the hardware renderer.
...
This removes the last active use case for the software renderer and allows rendering the camera views at a higher resolution.
For Shadow Warrior this necessitated a split of JS_DrawMirrors, because it processed cameras and mirrors in the same loop which cannot be done with the hardware renderer.
2020-03-29 14:01:46 +02:00