Richard C. Gobeille
32ddabb12c
Derp...
...
Probably actually fixes #4 . Regardless, I want to note that this is really sub-optimal.
# Conflicts:
# source/duke3d/src/m32def.cpp
2020-05-22 16:51:27 +02:00
Richard C. Gobeille
61d82c8152
Fix really stupid error with CON_NULLOP branch detection
...
Fixes #4 .
# Conflicts:
# source/duke3d/src/gamedef.cpp
# source/duke3d/src/m32def.cpp
2020-05-22 16:50:28 +02:00
Jordon Moss
79d2bb1bb8
Fix player sprite disappearing and chat indicator using the wrong sprite when typing.
2020-05-22 16:48:44 +02:00
Jordon Moss
658a96ce19
Re-added a check in VM_Move that probably should't have been removed.
2020-05-22 16:48:24 +02:00
alexey.lysiuk
2974af3178
- fixed a bunch of compilation errors with MSVC 16.6.0
2020-05-21 10:29:59 +03:00
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
Christoph Oelckers
8f3cc0b5af
- removed screen tilting code for software renderer.
...
Since this doesn't work anymore the code is no longer needed - and it stands in the way of doing camera textures purely in hardware.
2020-03-29 08:36:39 +02:00
Mitchell Richters
2cbbe9ec61
Remove last vestiges of input latency from Duke3D and RR main game loops.
...
- Hack code to break loop early removed. If game code is running slow, that's not the fix.
- Get input and fill the input_t struct in same loop as G_DoMoveThings().
- Remove unnecessary do/while (0) loop.
2020-03-25 14:42:51 +01:00
Mitchell Richters
b1ebb897e8
Repair HUD scaling returning to 100% when relaunching Duke or RR games.
...
- Resolves https://forum.zdoom.org/viewtopic.php?f=340&t=67811
2020-03-22 10:37:43 +01:00
Christoph Oelckers
fca147c83b
- fixed compilation.
2020-03-20 21:26:28 +01: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
6c9bdae0ec
Reduce width of a couple fields in memberlabel_t
...
git-svn-id: https://svn.eduke32.com/eduke32@8735 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:38:05 +01:00
terminx
7dc1a3c904
Make gamestructures a proper object
...
git-svn-id: https://svn.eduke32.com/eduke32@8734 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# GNUmakefile
# platform/Windows/eduke32.vcxproj
# platform/Windows/eduke32.vcxproj.filters
# source/duke3d/src/gamedef.cpp
# source/duke3d/src/gameexec.cpp
# source/duke3d/src/gamevars.cpp
# source/duke3d/src/m32def.cpp
# source/duke3d/src/m32def.h
# source/duke3d/src/m32exec.cpp
# source/duke3d/src/m32structures.cpp
2020-03-20 17:37:54 +01:00
terminx
21ec33ac51
Eliminate unnecessary goto
...
git-svn-id: https://svn.eduke32.com/eduke32@8731 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:35:25 +01:00
terminx
2e17467a8f
Fix return type of A_CheckHitSprite()
...
Since the returned value is a distance, it should be int32_t.
git-svn-id: https://svn.eduke32.com/eduke32@8730 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:35:09 +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
3941fccc4c
Patch from Striker to improve sprite interpolation
...
git-svn-id: https://svn.eduke32.com/eduke32@8724 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:34:19 +01:00
terminx
8c5e3116c9
Make SE_13_EXPLOSIVE call A_GetZLimits() for all statnum 0-2 sprites in sector when triggering
...
This fixes the fire sprites inside exploding walls not waking up after the wall explodes.
git-svn-id: https://svn.eduke32.com/eduke32@8723 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:33:51 +01:00
terminx
7ed8f5aec4
Fix a bug with swinging doors
...
This fixes a bug with swinging doors where multiple swinging doors linked together could become out of sync with each other if you block one door from moving and activate the second door again while the first is still blocked.
git-svn-id: https://svn.eduke32.com/eduke32@8721 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:33:25 +01:00
terminx
086141e205
Fix off-by-one error in various CON text truncation warnings
...
git-svn-id: https://svn.eduke32.com/eduke32@8720 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/gamedef.cpp
2020-03-20 17:33:15 +01:00
terminx
19630b0d4e
Add missing diagnostic information for getactor/setactor
...
Internally, there are several different permutations of the opcodes that implement CON_GETACTOR and CON_SETACTOR. This maps the internal opcodes back to the external keywords that generated them and makes sure they all have the script line number attached to them for use in diagnostic warning and error messages.
git-svn-id: https://svn.eduke32.com/eduke32@8719 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:32:13 +01:00
terminx
e88535a228
Fix tripbomb laser
...
git-svn-id: https://svn.eduke32.com/eduke32@8718 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:31:46 +01:00
terminx
cefb1a5551
Fix stupid typo that broke conveyor belts
...
git-svn-id: https://svn.eduke32.com/eduke32@8620 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:01:12 +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
d04bf2cfb9
Ion Fury compatibility improvements
...
git-svn-id: https://svn.eduke32.com/eduke32@8559 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
80cc12001f
- a bit of cleanup.
2020-03-08 13:54:00 +01:00
Christoph Oelckers
73a4e0d1fe
- made Blood's FullMap flag global and removed the hacks to show the full automap.
...
Also refactor show2dsector into a bit array to get rid of the bit shifting code at play here.
2020-03-07 19:30:18 +01:00
Christoph Oelckers
5a6096c740
- no Lunatic
2020-03-07 19:30:17 +01:00
Christoph Oelckers
2c203fbf80
- more consolidation between RR and Duke.
2020-03-06 19:29:13 +01:00
Christoph Oelckers
cb322a1a1b
Merge branch 'master' of https://github.com/coelckers/Raze
2020-03-06 17:44:53 +01:00
Christoph Oelckers
6095808503
- consolidation of dynamic sound remapping
2020-03-06 17:23:30 +01:00
Christoph Oelckers
a5c2152530
- consolidated the dynamic tile handling for Duke and RR frontends
2020-03-06 17:12:38 +01:00
alexey.lysiuk
12a655b58f
- fixed build with GCC and Clang
...
source/duke3d/src/gameexec.h:109:35: error: expected primary-expression before ‘)’ token
source/duke3d/src/gameexec.h:115:35: error: expected primary-expression before ‘)’ token
2020-03-06 13:26:32 +02:00
Christoph Oelckers
a519861571
- I think this is needed...
2020-03-05 21:14:34 +01:00
Christoph Oelckers
e2fab16fd4
- fixed crashes with VM asserts.
...
No idea what went wrong here - formatting the string in two stages works fine, though.
2020-03-05 20:28:37 +01:00
Christoph Oelckers
4a76674f4b
- deleted a few unused files
2020-03-05 01:20:58 +01:00
Christoph Oelckers
822079abe0
fixed some compiler warnings listed by XCode
2020-03-05 01:01:05 +01:00
Christoph Oelckers
a00bb4cbea
- started consolidation of EDuke/RedNukem code by moving the identical parts of actor.h to a shared namespace.
2020-03-05 01:01:05 +01:00
Christoph Oelckers
f59bfa1224
- consolidation of screentext code
2020-03-05 00:58:38 +01:00
Christoph Oelckers
cd5ff69c98
- Duke: Do not let the max kill counter underflow.
...
The entire thing looks broken anyway but this at least prevents the broken values from showing up in the statistics.
2020-03-01 08:35:05 +01:00
Christoph Oelckers
64a34f8af7
- disable the tenth weapon slot for Ion Fury.
2020-02-29 09:58:15 +01:00
Christoph Oelckers
3aea6d1fad
- refactored sound user data to be easier to serialize.
2020-02-23 18:30:48 +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