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
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