Commit graph

4033 commits

Author SHA1 Message Date
Christoph Oelckers
ee11fba4e7 - cleaned out some software rendering-only palette code from Blood. 2020-04-12 08:30:43 +02:00
Christoph Oelckers
29f95e2000 - added 3 missing files. 2020-04-12 08:30:43 +02:00
Christoph Oelckers
4d1d90d712 - use a global constant for the transparent palette index instead of hardcoding it to the 255 literal everywhere.
- added the needed glue to allow palettecontainer.cpp to compile.
2020-04-12 08:30:43 +02:00
Christoph Oelckers
ac07af7028 - m_png.cpp is common. 2020-04-12 08:30:42 +02:00
Christoph Oelckers
2c5d081799 - added the special colormaps for the texture compositor. 2020-04-12 08:30:42 +02:00
Christoph Oelckers
f1040fa699 - match with GZDoom's console code, move to 'common'. 2020-04-12 08:30:42 +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
2883553ed2 - moved file lookup functions to utilities and matched to GZDoom's version. 2020-04-12 08:30:41 +02:00
Christoph Oelckers
a60a0eeefa - use GZDoom's CMake based updaterevision tool. 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
ac32194079 - code cleanup / removal of imgui. 2020-04-12 08:30:39 +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
797640c494 - use ZDoom's memory allocation wrapper instead of EDuke's.
This simply plays nicer with the compiler's diagnostics.
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
588162e083 - removed redundant MAKE_ID definition. 2020-04-12 08:30:37 +02:00
Christoph Oelckers
69b8976c66 - GZDoom timer code added.
This may come in handy later.
2020-04-12 08:30:37 +02:00
Christoph Oelckers
672a9eb912 - removed the unused CompressedFileWriter class. 2020-04-12 08:30:37 +02:00
Christoph Oelckers
6ef93ba514 - match cmdlib.cpp/.h with GZDoom. 2020-04-12 08:30:36 +02:00
Christoph Oelckers
e2f5e8fe34 - renamed 'common' to 'core'.
We'll need 'common' for something else.
2020-04-12 08:30:36 +02:00
Mitchell Richters
c23351a4b9 Menu System: Add confirmation to FOptionMenuItemSafeCommand()
- Resolves 'https://forum.zdoom.org/viewtopic.php?f=340&t=67721'.
2020-04-10 10:29:50 +02:00
Mitchell Richters
4eb7b11ea6 Blood: Workaround for map view showing 1px of non-border at the bottom. 2020-04-09 08:14:10 +02:00
Mitchell Richters
c750614211 SW: Workaround for map view showing 1px of non-border at the bottom. 2020-04-09 08:14:10 +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
NY00123
3610609659 Add a workaround for possible rounding errors in calculations of
sintable and radarang. sintable[512] was different in a 32-bit build.

From-SVN: r8796
2020-04-08 00:38:48 +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
Christoph Oelckers
eaf27c2583 - fixed joystick CVAR use. 2020-04-08 00:38:42 +02:00
Mitchell Richters
1aa1e62c4d SW: Don't process input at frame rate if ScrollMode2D is true.
- ScrollMode2D was running at the frame rate, turning off vsync made it unacceptable.
2020-04-06 21:28:36 +02:00
Mitchell Richters
b801a73db9 Exhumed: Fix look up/down in line with input amendments. 2020-04-06 08:06:38 +02:00
Mitchell Richters
2ddc442e48 Exhumed: Improve player input.
- Input velocity now consistent irrespective of frame rate.
- Angle and horizon calculated at frame rate.
- Replace usage of F16() macro with fix16_from_int() in GetInterruptKeys().

Note: Known issues with look up/down keys that is to be repaired.
2020-04-06 08:06:38 +02:00
Mitchell Richters
039022d9ac SW: Further refine turning and optimise horizon adjustment.
- Move DoPlayerTurn() into getinput(). Vehicle code remains external for now.
- Remove horizAdjust boolean and always do horizon code in getinput(). Eliminates single off frame at start of a new level until DoPlayerMove() is called at least once.
2020-04-05 21:28:25 +02:00
Mitchell Richters
377ba68344 SW: Minor tweaks. 2020-04-05 21:28:25 +02:00
NY00123
a178961a3e sw/src/game.cpp:LoadLevel: Rename q16ang -> ang 2020-04-05 21:28:25 +02:00
NY00123
d2e9595980 sw/src/draw.cpp:drawscreen: We can set the pp->si* fields just once,
a bit later.
2020-04-05 21:28:25 +02:00
NY00123
537313f620 SW: Revert commented out horiz->q16horiz renames in DSPRINTF strings 2020-04-05 21:28:25 +02:00
NY00123
3bc46078b8 Fix multiplayer desync after the change to q16 angle and horiz.
Note that this includes non-portable unaligned accesses, but this
already applies to surrounding code. Just add comments for now.
2020-04-05 21:28:25 +02:00
Christoph Oelckers
536ed3827d - removed debug messages in Blood's savegame code. 2020-04-03 23:35:52 +02:00
Mitchell Richters
5db8047b41 SW: Remove line accidentally left from 'MoveScrollMode2D()'. 2020-04-02 08:18:23 +02:00
Christoph Oelckers
a7caa7b63c - fixed some reporting stuff for Blood. 2020-04-01 22:35:56 +02:00
Mitchell Richters
68bf97462a Blood: Remove constexpr on player horizon values. 2020-04-01 22:34:57 +02:00
Mitchell Richters
e6420e1eb4 Blood: Rebalance q16mlook.
- Make scaling more consistent with other games.
- Fix CONSTEXPR to constexpr.
- Remove usage of macro 'F16()' by using explicit fix16_from_*() type.
2020-04-01 22:34:57 +02:00
Mitchell Richters
8e94c48eff SW: Make map follow mode work better.
- Input was too fast following input code changes.
- Speed of input can now be changed with toggling the run key.
- Remove function 'MoveScrollMode2D()' and incorporate into 'getinput()' to reduce code duplication.
- Store map follow coordinates in PLAYERp struct and remove old globals.
2020-04-01 13:05:54 +02:00
Mitchell Richters
4630c8a0b7 SW: Get PLAYER_TURN_SCALE to be just right.
- Original value was 12 and was far, far too high following the Q16.16 implementation.
- Value of 3 is too fast.
- Value of 2 is too slow.
- Value of 2.4 (12 / 5) feels just right.
2020-03-31 23:15:09 +02:00
Mitchell Richters
2852536dbf SW: Adjust look and snap up/down keys and slightly tune PLAYER_TURN_AMOUNT.
- Look and snap up/down action was too aggressive and unlike vanilla, corrected.
- PLAYER_TURN_AMOUNT was slightly high, unbalancing the axes.
2020-03-31 08:58:56 +02:00
Mitchell Richters
533d5dd42f Blood: Repair issue with strafing following cherry pick merge conflicts. 2020-03-31 08:56:36 +02:00
nukeykt
348cecb644 Blood: revert change that broke demos 2020-03-31 08:56:36 +02:00
nukeykt
c50f54d064 Blood: don't update view angle when game is paused 2020-03-31 08:56:36 +02:00
nukeykt
c8372c233e Blood: Tie player input to the frame rate instead of the game tickrate
Look up/down and spin180 are a bit broken right now.
Big thanks to terminx for similar commit for eduke32.
2020-03-31 08:56:36 +02:00
nukeykt
371b613ebe Blood: reduce handleevents calls 2020-03-31 08:56:36 +02:00
Mitchell Richters
5ebc65a1fb SW: Refinements to new input code.
- videoNextPage() moved to after restoring interpolations.
- Properly use Q16.16 in as many places as possible. This fixes the angle/X-axis issues.
- Remove unnecessary call to timerUpdate() in main loop, only needs calling once and is called by eventhandlers().
2020-03-30 16:20:25 +02:00
ny00123
28e69d0793 Revert the change of call to FAF_DrawRooms into a conditional one,
as done in r8766, since this breaks status bar output in tiled
overhead map with Polymost. Do add comment about this for now.

git-svn-id: https://svn.eduke32.com/eduke32@8779 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/draw.cpp
2020-03-30 09:55:30 +02:00
CommonLoon102
26344d1193 Blood: fix ILLUSION.MAP crash 2020-03-30 09:55:15 +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
Mitchell Richters
d4dd737cd5 SW: Amend scaleAdjustmentToInterval() with correct value for SW. 2020-03-30 09:52:14 +02:00
Mitchell Richters
1cdd5b08d8 SW: Fix incorrectly declared function input type. 2020-03-30 09:52:14 +02:00
Mitchell Richters
eaa51138ad SW: Amendments to accommodate changes in master. 2020-03-30 09:52:14 +02:00
Mitchell Richters
c162014dab SW: Process input at frame rate. 2020-03-30 09:52:14 +02:00
Mitchell Richters
d78d046bad SW: Minor repairs for Q16.16 implementation. 2020-03-30 09:52:14 +02:00
Mitchell Richters
1ecc74c2ec SW: Use Q16.16 for angle. 2020-03-30 09:52:14 +02:00
Mitchell Richters
f07a0ae01e SW: Use Q16.16 for horiz. 2020-03-30 09:52:14 +02:00
Mitchell Richters
e878c5bab8 SW: Improve main game loop.
- Remove MoveLoop() as it's only ever called by RunLevel().
- Continuously call getinput() and domovethings() within the game's tic rate.
2020-03-30 09:52:14 +02:00
Christoph Oelckers
5af0217db7 - got rid of the software rendering blend tables. 2020-03-29 17:23:57 +02:00
Christoph Oelckers
41545b644a - cleaned out most of the software renderer's static global variables. 2020-03-29 16:59:49 +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
3f69044770 - removed all references to sdlayer.cpp as all that was left in there was only needed for software rendering.
- removed now unused a-c.cpp.
2020-03-29 15:22:07 +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
1a2663f7ac Change detection arrays for Redneck games.
- Redneck Deer Huntin' also comes with Redneck Rampage Rides Again.
- Changes permit all games to be detected, including RRRA if you own Deer Huntin'.
2020-03-22 12:05:01 +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
Mitchell Richters
e272286df5 Repair vehicle acceleration following changes to input handling.
- Make localInput.fvel only equal to input.fvel + pPlayer->moto_speed.
- Define MOTOTURN and MAXVELMOTO in line with other defines used throughout P_GetInput*() functions.
- Clamped minimum fvel value is also now correct.
2020-03-21 11:30:36 +01:00
alexey.lysiuk
b923f9612b - fixed compilation with MSVC 16.5.0 when using std::sort() with TArray<>
error C2676: binary '[': 'TIterator<T>' does not define this operator or a conversion to a type acceptable to the predefined operator
2020-03-21 11:18:04 +02:00
Mitchell Richters
f1b7707f7a Repair vehicle input functions following changes to input handling.
- Calculate turnAmount in 1st 'if (turn)' statement to save on a 2nd.
- Divide all subsequent values from turAmount for cascasing effect.
- Rearrange some code to save on if statements checking the same condition.
- Remove q16horz code since player has no vertical movement on a vehicle.
- Remove horizAngleAdjust code as it's not necessary and has a jarring effect.
2020-03-20 23:21:54 +01:00
Christoph Oelckers
fca147c83b - fixed compilation. 2020-03-20 21:26:28 +01:00
ny00123
da1d97ba9c sw/src/draw.cpp: Don't draw rooms if textured overhead map is drawn
later. This also turns out to fix a Polymost-specific bug revealed
in SVN r8711. Further remove a call to PicInView which does nothing.

git-svn-id: https://svn.eduke32.com/eduke32@8766 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:39:35 +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
4bdffa4f0f Patch from Nuke.YKT to fix a y-flipped voxel rendering issue in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@8727 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:34:48 +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