Commit graph

1783 commits

Author SHA1 Message Date
Christoph Oelckers
edb2cb31ee - backend update with GZDoom model code. 2020-05-31 08:55:00 +02:00
Christoph Oelckers
7e5c3e066c - fixed compilation 2020-05-30 23:45:47 +02:00
Richard C. Gobeille
47df8ed855 Duke3d: remove extraneous call to videoNextPage() when handling savegames initiated from CON
# Conflicts:
#	source/duke3d/src/game.cpp
2020-05-30 23:39:03 +02:00
Richard C. Gobeille
94eda45df9 Duke3d: improve nextsectorneighborz() return value checks
Improves the messages printed to console when bailing out of sector effect processing due to nextsectorneighborz() returning -1. This also adds such a check to ST_21_FLOOR_DOOR, which was missing it entirely. (!!)

# Conflicts:
#	source/duke3d/src/sector.cpp
2020-05-30 23:38:08 +02:00
Christoph Oelckers
1bc744b77b - moved hictinting data into the lookup tables. 2020-05-29 20:15:42 +02:00
Christoph Oelckers
381e53017d - some hackery to make the camera textures in DN3D work again.
They depend on a deleted texture not writing to the depth buffer, but other parts in the engine like ROR surfaces depend on them writing a proper depth buffer value, so for now there is a global variable that allows to exclude a single tile from ever getting rendered.
2020-05-29 00:44:13 +02:00
Christoph Oelckers
72889540a5 - use GZDoom's gl_samplers.cpp 2020-05-28 23:48:50 +02:00
Christoph Oelckers
193b940eef - palette code cleanup. 2020-05-27 22:19:02 +02:00
Christoph Oelckers
29db3febb8 - updated the platform code to be mostly identical with GZDoom 2020-05-26 00:08:26 +02:00
Christoph Oelckers
7a1fda2cc2 - use the 2D drawer's coordinates in the console. 2020-05-25 17:13:26 +02:00
Christoph Oelckers
55a3c62b59 - use GZDoom's 2D drawer.
Console and menu font colors are not ok yet, aside from that it works.
2020-05-25 17:11:32 +02:00
Christoph Oelckers
266364fc2e - properly implement texture offsets 2020-05-24 13:26:45 +02:00
Christoph Oelckers
00e7b2fa25 - simple stuff from the texture manager inclusion commit.
To get this out of the way first...
2020-05-24 00:27:24 +02:00
Christoph Oelckers
f929419a0a - refactoring of the lookup tables. 2020-05-23 22:43:04 +02:00
Christoph Oelckers
b971bc2717 - avoid using global palette settings when drawing 2D content with a custom palette.
Instead pass the palette info with the render call to avoid stale global state.
2020-05-23 22:43:01 +02:00
Christoph Oelckers
8bd5f12b42 - matching sound backend code with GZDoom.
# Conflicts:
#	source/core/sound/s_soundinternal.h
2020-05-23 12:59:11 +02:00
Christoph Oelckers
6a8efb7520 - update of music code, in particular separating the engine-specific lookup from the backend.
# Conflicts:
#	source/core/music/music.cpp

# Conflicts:
#	source/build/src/palette.cpp
2020-05-23 12:37:47 +02:00
Christoph Oelckers
d0406e27b6 - all base palette data has been transitioned to GPalette. 2020-05-23 12:31:05 +02:00
Christoph Oelckers
6f9ee4b60f - store palettes in the palette container. 2020-05-23 12:31:05 +02:00
Evan Ramos
960d4b6ecc Duke3D: Fix breaking glass
Amends dc46c60e9fb511c0bc955ca39ea48ccfa3b02a24
2020-05-22 23:41:14 +02:00
Evan Ramos
262f2234c6 Duke3D: Disable dead code in implementation of undocumented SE 128
Avoids warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
2020-05-22 17:11:16 +02:00
Jordon Moss
49deeb350e Fix trains not moving spawn points with higher indexes than player count. 2020-05-22 17:11:16 +02:00
Richard C. Gobeille
d9b8f58558 Duke3d: make CON_GETFLORZOFSLOPE and CON_GETCEILZOFSLOPE TROR aware 2020-05-22 17:01:37 +02:00
Richard C. Gobeille
e2d79b4682 engine: add yax_getflorzofslope() and yax_getceilzofslope() 2020-05-22 17:01:36 +02:00
Richard C. Gobeille
5e677d6089 Duke3d: restore previous version of VM_ASSERT macro for compilers other than MSVC 2020-05-22 17:01:35 +02:00
Richard C. Gobeille
14f3eb17f1 Duke3d: flip CON_USE_COMPUTED_GOTO dispatch macro logic around so the branch is taken less often 2020-05-22 17:00:12 +02:00
Richard C. Gobeille
34126a50be Duke3d: change random_angle hack in CON_MOVE to match CON_AI 2020-05-22 17:00:11 +02:00
Richard C. Gobeille
b0902f916a Duke3d: zero player return_to_center when setting horizRecenter to false 2020-05-22 17:00:10 +02:00
Richard C. Gobeille
2d4f6be147 Duke3d: convert several more VM error checks into VM_ASSERT statements
# Conflicts:
#	source/duke3d/src/gameexec.cpp
2020-05-22 17:00:09 +02:00
Richard C. Gobeille
7fbcab3dc1 Duke3d: VM_ASSERT fix 2020-05-22 16:57:34 +02:00
Richard C. Gobeille
86e2f4ec8a Revert "Duke3d: set .horizRecenter when handling SK_CENTER_VIEW"
This reverts commit ef06d8c3dba3e4ccf9388bf31404ab23ebdcb37e.
2020-05-22 16:57:01 +02:00
Richard C. Gobeille
1f82cfa3bf Duke3d: replace VM_CONDITIONAL macro with a lambda
# Conflicts:
#	source/duke3d/src/gameexec.cpp
2020-05-22 16:57:00 +02:00
Richard C. Gobeille
c0160065e4 Duke3d: this is intended to fix an issue where CON VM errors within a CON_FOR loop could cause an infinite loop 2020-05-22 16:56:24 +02:00
Richard C. Gobeille
8cf064b90c Duke3d: add a few missing VM_ASSERT checks 2020-05-22 16:56:23 +02:00
Richard C. Gobeille
1a1112b4c1 Duke3d: fix OOB memory access in CON_FOR 2020-05-22 16:55:37 +02:00
Richard C. Gobeille
dc9c6ce2e6 Duke3d: allow SE_14_SUBWAY_CAR to move STAT_PLAYER sprites
Fixes #18.
2020-05-22 16:54:12 +02:00
Richard C. Gobeille
23909f8ca1 Duke3d: hoist checks for ST_2_UNDERWATER outside of loops in SE_14_SUBWAY_CAR processing 2020-05-22 16:54:10 +02:00
Richard C. Gobeille
45fd214ffe Duke3d: remove interpolation fixups from subway
These aren't needed anymore after Striker's patch to improve overall interpolation.
2020-05-22 16:54:09 +02:00
Richard C. Gobeille
b19d258870 Duke3d: fix APLAYER radius damage distance calculation regression
Fixes #20.
2020-05-22 16:54:08 +02:00
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