Commit graph

1093 commits

Author SHA1 Message Date
Mitchell Richters
be5419e77c - i_time: Add I_GetBuildTimeFrac().
* Currently not needed, but adding for feature parity.
2020-08-25 19:48:26 +02:00
Mitchell Richters
2231386830 - Duke: Create function to reset timer and apply in game where timer restarts are needed. 2020-08-25 19:48:15 +02:00
Mitchell Richters
afb09456e0 - Duke: Migrate away from using totalclock and use new game-specific gameclock with underlying timer code in common.
* Build timer still requires initialisation due to multiple `timerSetCallback()` that still need to work.

# Conflicts:
#	source/core/menu/menu.cpp
#	source/games/duke/src/game.cpp
2020-08-25 19:47:31 +02:00
Christoph Oelckers
a55da24277 - hooked up the chat display.
Currently not really useful, aside from being usable to enter cheats. For this the cheat must be prefixed with a '#' to be recognized.
2020-08-25 18:51:56 +02:00
Christoph Oelckers
a0e4d6f62c - implemented proper scaling support for the notify display - both the classic and advanced variant. 2020-08-25 18:03:15 +02:00
Christoph Oelckers
3a6ccac8ea - fixed bad offset with vertically mirrored sprites.
Fixes #239
2020-08-24 21:15:22 +02:00
Christoph Oelckers
c09a5150a9 - added some predefined fullscreen modes
This is to cut down on boilerplate code because these encode the virtual screen size in the mode parameter, making it unnecessary to specify a virtual size separately.
2020-08-24 20:25:53 +02:00
Christoph Oelckers
1a0e413d5c - use CCMDs for Exhumed's input where applicable.
- made crosshair toggle consistent across games.
2020-08-23 16:11:18 +02:00
Christoph Oelckers
98c064dcbc - fixed the missing plasma effect in Exhumed's title screen. 2020-08-21 00:13:05 +02:00
Christoph Oelckers
d9e23c0ab9 - missing null check 2020-08-20 23:41:45 +02:00
Christoph Oelckers
da90bd3b6a - fixed: When drawing fullscreen, ignore texture offsets.
Fixes #218.
Exhumed also has a fullscreen image with bogus offsets.
2020-08-20 20:43:17 +02:00
Christoph Oelckers
94beac937d - scale down the notify display by 2 in RR.
Its fonts are double the size as the other games and this must be factored in here for HUD scaling to work as expected.
2020-08-19 16:40:54 +02:00
Christoph Oelckers
7bb6b6a1ee - do not call handleEvents outside the main loop.
In other places I_GetEvent should be used to call the system's message pump and keep the app responsive, but all game side processing should be skipped.
2020-08-16 10:00:13 +02:00
Christoph Oelckers
a690f44fc8 - use constexpr for translation utilities 2020-08-15 10:22:07 +02:00
Christoph Oelckers
c3ddde02b2 - use consistent types in FileReader's ReadInt* functions. 2020-08-15 07:33:21 +02:00
Christoph Oelckers
3d4177fbb2 - fixed return type of FileReader::ReadUInt64.
fixes #181.
2020-08-14 23:56:31 +02:00
Christoph Oelckers
66cb7f61a4 - fixed rendering on narrow screens with an aspect ratio less than 4:3 and removed some parts that are no longer needed. 2020-08-14 21:01:27 +02:00
Christoph Oelckers
2d545767ef - completely clear all texture data when setting a frame size.
SMK tries to draw a texture from it before the first frame has been rendered. This ensures that it gets a fully black frame.
Fixes #167.
2020-08-12 01:32:05 +02:00
Christoph Oelckers
000c00dc91 - block game input during intro cutscenes
Fixes #158
2020-08-11 00:42:08 +02:00
Christoph Oelckers
070f04093a - clear the buffer for the cutscene textures when starting a new cutscene.
Otherwise the first frame may display garbage.
2020-08-10 22:16:02 +02:00
Christoph Oelckers
cf5be7fbfa - default gl_control_tear to false.
This doesn't work that well with animated cutscenes.
2020-08-10 22:02:37 +02:00
Christoph Oelckers
0492c5f4d3 - optimized reverb settings.
Fixes #124
2020-08-09 13:26:48 +02:00
Christoph Oelckers
d729bc898c - fixed character counter in MakeUTF8. 2020-08-03 20:18:33 +02:00
Christoph Oelckers
18c3d9b240 - get the frame time right at the start of the frame, not when performing interpolations.
This is to factor think time out of the time span between frames and to avoid changes if the smoothratio gets calculated multiple times.
2020-08-02 21:16:01 +02:00
Mitchell Richters
4830989d32 - remove all code used to get current display's refresh rate.
* Serves no purpose in Raze or GZDoom and appears to only have been added to the backend to facilitate the older interpolation code that was excised in 893686709b.
2020-08-02 20:57:09 +02:00
Mitchell Richters
f8952d5cae - directly cast steady_clock::now() to nanoseconds instead of microseconds then multiplying by 1000. 2020-08-02 20:57:08 +02:00
Christoph Oelckers
1392f4db01 - handle the view frame with backend features. 2020-08-02 18:02:13 +02:00
Christoph Oelckers
218a9c84fd - removed the last remaining Blood helpers from the file system, also deleted a few short files whose contents could be moved. 2020-07-27 19:38:41 +02:00
Christoph Oelckers
b2f794bde5 - cache QAVs outside the file system as well.
- delete some voxel code that's software rendering only.
- apply Big Endian byte swapping for SFXs, as well, now that this no longer involves hacking the file system cache.
2020-07-27 19:37:02 +02:00
Christoph Oelckers
b120bade95 - fixed scuba gear display.
Fixes #37.
2020-07-26 18:35:47 +02:00
Christoph Oelckers
efb73d04a0 - re-fixed the fix: Turned out that flipped offsetting is a bit more tricky.
Due to how this works it cannot be done automatically, it must be passed as a parameter because at the point where the offset gets applied, all information about how it was specified is lost.
This must be enabled as a specific parameter to DrawTexture.
2020-07-26 08:31:54 +02:00
Christoph Oelckers
2ea9811e0a - fixed offsetting for flipped 2D sprites and reverted the offset change for the trip bomb. 2020-07-26 08:08:15 +02:00
Christoph Oelckers
3d36e4839f - implemented rotation for HUD sprites. 2020-07-24 23:23:19 +02:00
Christoph Oelckers
1e8b8443b0 - implemented 2D rotation and fixed offset calculation for drawing scaled sprites on the status bar. 2020-07-24 23:08:48 +02:00
Christoph Oelckers
75e8a71905 - some progress with sound. Still glitchy. 2020-07-23 23:22:09 +02:00
Christoph Oelckers
928a16983d - adapted the MVE player.
Video appears to work, but has quite severe artifacting  I cannot tell if it's the video or the decoder which causes it.
2020-07-23 22:26:07 +02:00
Christoph Oelckers
be9094cb97 Silenced lots of warnings pointed out by XCode. 2020-07-23 17:02:59 +02:00
Christoph Oelckers
1869a7930e - hooked up the new savegame code.
Not tested yet.
2020-07-21 00:07:02 +02:00
Christoph Oelckers
61d08f41e0 - fixed DTA_KeepRatio. 2020-07-17 21:14:58 +02:00
Christoph Oelckers
29e107ad24 - use CCMDs for weapon and inventory selection, courtesy of ZDuke. 2020-07-17 20:56:10 +02:00
Christoph Oelckers
55feadd11c - render the weapons with the DrawTexture interface and properly handle rotatesprite's alignment modes 2020-07-16 13:23:26 +02:00
Christoph Oelckers
ea6c74d0e6 - transitioned the local input handler.
There wasn't anything EDuke32-specific in there - nearly everything mapped perfectly to JFDuke.
2020-07-15 19:48:04 +02:00
Christoph Oelckers
a9f152c1fe - added JFDuke's label type checker and did some cleanup on the CON init code.
Most importantly: Use dynamic buffers for managing the labels instead of hijacking some other storage space.
2020-07-15 12:34:42 +02:00
Christoph Oelckers
2fd2ad2212 - sky code cleanup and transitioning of Duke's. 2020-07-15 00:06:19 +02:00
Christoph Oelckers
a93ed1e502 Merge branch 'master' into back_to_basics2
# Conflicts:
#	source/blood/src/view.cpp
#	source/core/gamecontrol.cpp
2020-07-14 12:57:38 +02:00
alexey.lysiuk
df2b3b6b17 - made mouse scaling in Cocoa backend match other platforms 2020-07-07 11:37:23 +03:00
Christoph Oelckers
642ae03d90 - use player_struct from JFDuke. 2020-07-06 23:05:48 +02:00
Christoph Oelckers
f2380f8829 - constant cleanup. 2020-07-06 13:26:26 +02:00
Christoph Oelckers
8a1206edbc Merge remote-tracking branch 'remotes/origin/master' into back_to_basics2 2020-07-05 11:55:41 +02:00
Christoph Oelckers
2e78c08856 - fixed palette transparency checks 2020-07-05 10:15:55 +02:00
Mitchell Richters
25c5b76f91 - make SDL mouse scaling match that of Windows for consistency. 2020-07-04 18:25:13 +02:00
Christoph Oelckers
39185300e7 - reimplemented cheats based on ZDoom's cheat parser. 2020-07-04 15:51:02 +02:00
Christoph Oelckers
f1a2836877 - it continues.
cameratext and the last 3 __STATICs.
2020-07-03 23:16:12 +02:00
Christoph Oelckers
691643b035 - fix DTA_KeepRatio for fullscreen scaling. 2020-07-03 10:53:02 +02:00
Christoph Oelckers
c09b4896a6 - made RR summary screens work. 2020-07-01 22:14:11 +02:00
Christoph Oelckers
197a35291a - added level summary screens and made the fade for the screens an engine feature.
This also hijacks one free element in the shader uniforms for the newly added factor.
2020-07-01 12:55:32 +02:00
Christoph Oelckers
8aaadfad1b - fixed the notification display. 2020-06-30 22:01:43 +02:00
Christoph Oelckers
7253b4eb74 - added a serializer for the flamethrower's fire map. 2020-06-29 23:36:06 +02:00
Christoph Oelckers
ea59efd091 - Duke's multiplayer statistics screen. 2020-06-29 20:50:18 +02:00
Christoph Oelckers
e7da8e4bcf - fixed red font for use with DrawText. 2020-06-29 13:19:36 +02:00
Christoph Oelckers
69d9a98ead - Duke end of episode animations ported 2020-06-28 21:38:25 +02:00
Christoph Oelckers
2ddec37098 - added a texture format for single frame ANMs so that they can be handled like normal images.
The intermission code is doing weird things with them that isn't really portable.
2020-06-28 14:41:44 +02:00
Christoph Oelckers
924816ac8d - Inlined most of libsmackerdec's FileStream.
This should probably be removed altogether and use FileReader directly.
2020-06-28 10:59:11 +02:00
Christoph Oelckers
67fa7f8275 - work on Duke intro sequence.
Now without any Build drawing code, it goes directly to DrawTexture now. :)
2020-06-28 00:32:28 +02:00
Christoph Oelckers
e146e73345 - consolidated the 'music' parsing in Defs (pending a refactor of the MAPINFO system.)
- removed the remaining parts of the game Defs parser because we do not want anything EDuke in here.
2020-06-24 00:40:22 +02:00
Mitchell Richters
e1e05eeaa7 - change cl_defaultconfiguration default from '2' (leftbinds) to '0' (defbinds). 2020-06-23 12:16:11 +02:00
Christoph Oelckers
7bc8d2baff - I_msTimeF. 2020-06-20 11:55:30 +02:00
Christoph Oelckers
76311cfcc9 - set proper minimal FPS rate for all games. 2020-06-20 10:46:51 +02:00
Christoph Oelckers
e29eb5bbed - added some ZScript basics.
This is merely the basics needed to actually implement something.
2020-06-20 09:46:41 +02:00
Christoph Oelckers
b9a567463c - fixed compile error. 2020-06-17 12:26:06 +02:00
Christoph Oelckers
b753ea5db7 - preparations for passing palette lookup textures through the low level texture code. 2020-06-17 12:26:01 +02:00
Christoph Oelckers
d4b32bf79f - fully synchronized the backend code with GZDoom.
The camera texture code couldn't be done earlier.
2020-06-14 21:13:22 +02:00
Christoph Oelckers
5effc95ae1 - updated startup dialog and fixed multisampling not active in the 3D scene. 2020-06-14 20:59:26 +02:00
Christoph Oelckers
946da7d622 - moved the textures used for the animations into the texture manager.
This is to allow giving them a texture ID so that they can be used from ZScript which has no access to naked textures.
This also consolidates AnimTexture and VpxTexture.
2020-06-14 20:27:13 +02:00
Christoph Oelckers
d4cdb31464 - backend update to make the ZScript compiler work. 2020-06-14 18:58:30 +02:00
Christoph Oelckers
ee98db589f - fixed the Exhumed startup to do proper fading of the publisher logos, which PCExhumed only implemented for the software renderer.
Made it faster than PCExhumed, though
2020-06-12 23:06:11 +02:00
Christoph Oelckers
65ddb6cb59 - disabled the game side frame limiter.
The backend has its own one, and unlike the one on the game side, it actually suspends execution when waiting.
2020-06-12 21:08:47 +02:00
Christoph Oelckers
4f0e3adfbb - removed pointless constexpr declaration on numeric constants. 2020-06-12 16:49:35 +02:00
Christoph Oelckers
6a9f1e9da1 - removed the old OpenGL interface. 2020-06-12 00:25:52 +02:00
Christoph Oelckers
22aad4999c - use the engine backend to render the scene 2020-06-11 22:26:46 +02:00
Mitchell Richters
76884c1e18 - fix CI build errors in vk_shader.cpp for all platforms due to missing terminator on #ifdef guarded line. 2020-06-11 13:17:12 +03:00
Christoph Oelckers
a9141af545 - backend update. 2020-06-11 09:15:44 +02:00
Christoph Oelckers
f41e0f9f50 - copied non-x86 compile fix from GZDoom. 2020-06-09 00:13:28 +02:00
Christoph Oelckers
5cbe9fc49c - added NPOT emulation to the backend.
This is #ifdef guarded because GZDoom uses the same code base but has no use for this feature.
2020-06-08 08:02:58 +02:00
Christoph Oelckers
5330964a7a - removed redundant initializers. 2020-06-07 15:07:32 +02:00
Christoph Oelckers
d7225c1965 - backend update from GZDoom 2020-06-07 15:02:54 +02:00
Christoph Oelckers
4c6abe1bb9 - pass the shade through the 2D drawer, so that palette emulation can still use it. 2020-06-07 14:50:12 +02:00
Christoph Oelckers
8da6b8796b - made presets work again.
Two fixes:
* fixed file system setup to mark the last main game resource.
* unbind all keys before loading a preset.
2020-06-07 13:35:23 +02:00
Christoph Oelckers
724c8d4251 - fixed: The full dotted lump filter string was never used.
The code added all partial matches to the file system but not the full match.
2020-06-07 11:55:51 +02:00
Christoph Oelckers
b15cc31a38 - transitioned matrix setup to use the backend's uniform buffer implementation. 2020-06-04 20:14:48 +02:00
Christoph Oelckers
8216d31568 - fixed default for 'modern' in GameStartupInfo.
It shouldn't force 1.5 compatibility but enable the CVAR.
2020-06-02 16:59:21 +02:00
Christoph Oelckers
1b12c08c66 - backend sync 2020-06-02 11:48:48 +02:00
Christoph Oelckers
68c97e3c25 Merge branch 'master' of https://github.com/coelckers/Raze
# Conflicts:
#	source/core/gamecontrol.h
#	source/duke3d/src/game.cpp
#	source/exhumed/src/exhumed.cpp
#	source/rr/src/game.cpp
2020-05-31 23:30:10 +02:00
Mitchell Richters
f6068043d3 - Remove 'int paused' accidentally added to music.cpp in common back-end. 2020-05-31 23:19:54 +02:00
Mitchell Richters
7ed9f4fa8c Prepare back-end for updated in-game pausing. 2020-05-31 23:19:54 +02:00
Christoph Oelckers
783dff41b6 - fixed clamp mode setup. 2020-05-31 23:08:56 +02:00
Christoph Oelckers
ab2686db34 - camtex transition 2020-05-31 21:43:32 +02:00
Christoph Oelckers
c26b6cdf59 - backend sync with GZDoom. 2020-05-31 21:25:52 +02:00
Christoph Oelckers
bd0c8acd46 - replaced detail matrix with a two element scale vector because that is all that is needed. 2020-05-31 12:23:35 +02:00
Christoph Oelckers
9ec66bafa1 - backend update.
# Conflicts:
#	source/common/textures/animtexture.cpp

# Conflicts:
#	source/common/2d/v_2ddrawer.cpp
#	source/common/textures/multipatchtexturebuilder.cpp
2020-05-31 10:57:41 +02:00
Christoph Oelckers
611dad7f69 - added the softpoly and Vulkan backend code fron GZDoom.
Not hooked up yet.
2020-05-31 10:53:11 +02:00
Christoph Oelckers
2841154683 - moved code around, got a few more utilities from GZDoom. 2020-05-31 10:37:19 +02:00
Christoph Oelckers
1d15fe63a6 - another backend update, pulling in the sky renderer. 2020-05-31 10:32:10 +02:00
Christoph Oelckers
efa1cd3048 - moved video files to 'common'.
# Conflicts:
#	source/blood/src/screen.cpp
2020-05-31 09:19:16 +02:00
Christoph Oelckers
edb2cb31ee - backend update with GZDoom model code. 2020-05-31 08:55:00 +02:00
Christoph Oelckers
5728241c1c - updated backend from GZDoom. 2020-05-30 23:10:17 +02:00
Christoph Oelckers
ea08fa0a4e - updated common code.
Most of what got added is still unused.

# Conflicts:
#	source/build/src/palette.cpp

# Conflicts:
#	source/build/src/palette.cpp

# Conflicts:
#	source/common/engine/i_interface.h
2020-05-30 22:28:24 +02:00
Christoph Oelckers
58c62e071c - use FMaterial. 2020-05-30 22:20:06 +02:00
Christoph Oelckers
423f758314 - texture code restructuring. 2020-05-30 21:42:35 +02:00
Christoph Oelckers
cca4fc609f - texture code cleanup, mainly cppying layer data into the textures at startup to be able to use a real material system. 2020-05-29 23:33:26 +02:00
Christoph Oelckers
594ec6626c - transitioned to using GZDoom's texture creation code.
Also added support for creating indexed textures directly into CreateTexBuffer, where this functionality can be shared.
As an added plus, brightmaps are working again, this time with less hackery.
2020-05-29 19:21:18 +02:00
Christoph Oelckers
87a87c155d - moved to GZDoom's gl_hwtexture.cpp. 2020-05-29 01:03:01 +02:00
Christoph Oelckers
72889540a5 - use GZDoom's gl_samplers.cpp 2020-05-28 23:48:50 +02:00
Christoph Oelckers
d52600663d - backend sync with GZDoom to pull in a few bugfixes and formatting corrections. 2020-05-26 23:12:04 +02:00
Christoph Oelckers
7109ce4e30 - made some changes to the font and texture system to allow late loading of the palette.
The base palette can be set via .def files so that the engine has no access to it until the entire game state is set up.
This means that font translations and PNG palette remap tables cannot be built when the owning objects are created.
For PNGs this has the added advantage that they only get done when really required and not unconditionally - most of the time the remap table isn't even needed here.

Thid fixes the slider graphics in the option menus.

# Conflicts:
#	source/core/gamecontrol.cpp

# Conflicts:
#	source/core/gamecontrol.cpp
2020-05-26 21:43:32 +02:00
Christoph Oelckers
e0b2497a56 - backend update. 2020-05-26 00:10:21 +02:00
Christoph Oelckers
ebe936f03f - moved platform backend code to 'common'. 2020-05-26 00:09:27 +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
c4017de12f - updated to GZDoom's new texture management system. 2020-05-25 23:59:07 +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
2f672da7ba - the basics for creating font objects for the in-game bitmap fonts.
Definitions were added to RedNukem frontend for testing, not used yet.
2020-05-25 17:01:56 +02:00
Christoph Oelckers
1d065085d4 - fixed some palette issues 2020-05-25 00:46:46 +02:00
Christoph Oelckers
758e4ad7cb - stripped down the palette manager in the GL backend and let it use the data that's managed elsewhere.
This class is only needed to manage the palette textures used by the indexed render mode, all the rest is available globally.
2020-05-25 00:31:55 +02:00
Christoph Oelckers
6bd4f77c5b - fix compilation. 2020-05-25 00:31:55 +02:00
Christoph Oelckers
531c68edfe - use GZDoom's font code to fix the crash issues and moved around some files in the PK3.
This pulls in a lot of Doom specific font setup, this can be sorted out later as it won't get into the way.

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/glbackend/hw_draw2d.cpp

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/glbackend/gl_texture.cpp

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/build/src/palette.cpp
#	source/core/gamecontrol.cpp
2020-05-24 23:28:44 +02:00
Christoph Oelckers
a70b7fa698 - use the texture manager to handle texture data. 2020-05-24 23:26:47 +02:00
Christoph Oelckers
6bffdf80a1 - finally managed to merge in the original texture system commit.
Game compiles and runs but transparency doesn't work yet.

# Conflicts:
#	source/CMakeLists.txt
#	source/core/menu/menu.cpp
#	source/core/textures/buildtiles.cpp
2020-05-24 22:53:14 +02:00
Christoph Oelckers
0179029ed1 - use image sources, not textures to manage Build tiles.
The font manager and texture compositor need this - they cannot work off non-image-backed textures.
2020-05-24 22:51:26 +02:00
Christoph Oelckers
a223535f86 - header cleanup in gl_interface.cpp
# Conflicts:
#	source/common/rendering/gl_load/gl_interface.cpp
2020-05-24 22:38:22 +02:00
Christoph Oelckers
e500db97b1 - v_text updated and moved to 'common'.
# Conflicts:
#	source/CMakeLists.txt
2020-05-24 22:32:05 +02:00
Christoph Oelckers
272d85663a - moving files... 2020-05-24 20:39:40 +02:00
Christoph Oelckers
7a84887fc4 - transitioned FTexture.
Mostly working. Note: Brightmaps must be per-translation!
2020-05-24 19:12:22 +02:00
Christoph Oelckers
71ab8c0b10 - fixed compilation. 2020-05-24 16:56:16 +02:00
Christoph Oelckers
2e8566c6eb - console code fixes from GZDoom. 2020-05-24 16:47:18 +02:00
Christoph Oelckers
4523ad5f7e - Linux compile fixes. 2020-05-24 16:47:00 +02:00
Christoph Oelckers
e828710072 - updated common/utility. 2020-05-24 16:46:31 +02:00
Christoph Oelckers
556eb44690 - moved gl_load to 'common'.
# Conflicts:
#	source/CMakeLists.txt
#	source/common/rendering/gl_load/gl_interface.cpp
2020-05-24 16:44:13 +02:00
Christoph Oelckers
6851416e6b - make stats.cpp compile. 2020-05-24 16:42:42 +02:00
Christoph Oelckers
6276001a7c - cleanup 2020-05-24 16:42:36 +02:00
Christoph Oelckers
83e2a342d2 - let the fonts use image sources, not textures as their base class for glyphs. 2020-05-24 16:32:52 +02:00
Christoph Oelckers
be8813f962 - hooked up a few things and re-enabled some code depending on the texture manager. 2020-05-24 16:19:44 +02:00
Christoph Oelckers
e985db3d08 - added GZDoom's texture manager.
It doesn't do anything yet, but it can now be used to manage textures.
2020-05-24 16:11:10 +02:00
alexey.lysiuk
804a2964a0 - fixed compilation of POSIX targets
source/common/objects/dobject.h:276:21: error: use of undeclared identifier 'malloc_size'
source/common/utility/m_alloc.h:45:22: error: ‘malloc_usable_size’ was not declared in this scope
source/common/engine/m_random.h:40:10: fatal error: SFMT/SFMTObj.h: No such file or directory
source/common/objects/__autostart.cpp:94:10: fatal error: 'doomtype.h' file not found
source/common/objects/zzautozend.cpp:58:10: fatal error: 'doomtype.h' file not found
2020-05-24 10:11:40 +03:00
Christoph Oelckers
da26d1cec4 - more trivial adjustments. 2020-05-24 00:38:10 +02:00
Christoph Oelckers
1954ac0374 - added the other image formats from GZDoom. 2020-05-24 00:15:38 +02:00
Christoph Oelckers
50ab68b53b - moved filesa to common 2020-05-23 23:53:38 +02:00
Christoph Oelckers
2d29d130c0 - fixed Blood startup. 2020-05-23 22:43:05 +02:00
Christoph Oelckers
f64bdccaca - moved renderstyle to 'common' and use GZDoom's color table code unaltered.
# Conflicts:
#	source/CMakeLists.txt
#	source/common/engine/serializer.h
2020-05-23 22:43:05 +02:00
Christoph Oelckers
b8a289bf61 - move brightmap handling to the common code.
# Conflicts:
#	source/common/utility/basics.h

# Conflicts:
#	source/build/src/palette.cpp
2020-05-23 22:43:05 +02:00
Christoph Oelckers
f929419a0a - refactoring of the lookup tables. 2020-05-23 22:43:04 +02:00
Christoph Oelckers
daf77e55f7 - fixed compilation.
Much of this commit will have to be undone later, once the texture manager becomes available.
2020-05-23 22:43:04 +02:00
Christoph Oelckers
c0217c9152 - removed the remaining Doom-specific parts of the script compiler. 2020-05-23 22:43:04 +02:00
Christoph Oelckers
006916a0a6 - added the script compiler's front end. 2020-05-23 22:43:04 +02:00
Christoph Oelckers
99d3dc67ae - added all FString exports for scripting. 2020-05-23 22:43:03 +02:00
Christoph Oelckers
4b8444b64d - 'common' update. 2020-05-23 22:43:03 +02:00
Christoph Oelckers
4d44682603 - integrated ZScript backend 2020-05-23 22:43:03 +02:00
Christoph Oelckers
091d90aba5 - update "common" subfolder.
# Conflicts:
#	source/CMakeLists.txt
2020-05-23 22:43:02 +02:00
Christoph Oelckers
920f9a3f3f - cleaned out all Doom dependencies from the DObject system. 2020-05-23 22:43:02 +02:00
Christoph Oelckers
bb9a077424 - reactivated some more code after integrating the VM core.
There's a few bits here and there that only have meaning in Doom but they are kept to allow using the same unaltered source files in both engines.
2020-05-23 22:43:02 +02:00
Christoph Oelckers
a6d982ed04 - resolve the single Doom specific dependency in the VM by using a callback. 2020-05-23 22:43:02 +02:00
Christoph Oelckers
c9b2399cd0 - added a first bunch of ZScript code.
# Conflicts:
#	source/CMakeLists.txt
#	source/common/utility/basics.h
#	source/core/serializer.h
2020-05-23 22:43:01 +02:00
Christoph Oelckers
c1f7cf1c3a - added DObject as a preparation for the ZScript compiler. Currently large parts are disabled because the backing features are not present yet.
# Conflicts:
#	source/CMakeLists.txt
2020-05-23 22:43:01 +02:00
Christoph Oelckers
f0f17fa34f - moved sound code to "common". 2020-05-23 12:59:12 +02:00
Christoph Oelckers
c81e79e635 - fixed merge error. 2020-05-23 12:59:03 +02:00
Christoph Oelckers
cfe02cebf1 - moved music code to "common" 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
alexey.lysiuk
2974af3178 - fixed a bunch of compilation errors with MSVC 16.6.0 2020-05-21 10:29:59 +03:00
alexey.lysiuk
d8e3d60e85 - fixed compilation of Cocoa backend 2020-05-05 10:55:35 +03:00
Mitchell Richters
68a0ead5f0
- fix Linux builds following reset of master branch. (#44)
* - fix Linux builds following reset of master branch.

* - fix Linux Clang CI failure.

* - change '#ifdef __linux__' to '#ifndef _WIN32' as requested/required.

* - initialise batchrun in proper spot.
2020-05-05 10:45:21 +03:00
Christoph Oelckers
44519cc877 - added missing dirent.h include to findfile.h. 2020-05-04 00:25:27 +02:00
Mitchell Richters
587a5d5d9a - fix loading of CRC cache if file does not exist. 2020-04-16 00:01:13 +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
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
2883553ed2 - moved file lookup functions to utilities and matched to GZDoom's version. 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
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
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
Christoph Oelckers
6589d31678 0.6.0
- fixed compilation.
2020-04-08 00:51:46 +02:00
Christoph Oelckers
eaf27c2583 - fixed joystick CVAR use. 2020-04-08 00:38:42 +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
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
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
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
62fa254497 - 0.5.1 2020-03-08 08:05:19 +01:00
Christoph Oelckers
93eea97477 - allow selecting frontend for Duke3D in gameinfo.txt 2020-03-07 20:14:03 +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
alexey.lysiuk
53cda00747 - added detection of Redneck Deer Huntin' installed from Steam 2020-03-07 11:31:46 +02:00
Christoph Oelckers
2c203fbf80 - more consolidation between RR and Duke. 2020-03-06 19:29:13 +01:00
Christoph Oelckers
4788dc42fb - cleanup of the screentext consolidation
Since SetIfGreater is only used by the text code, the redundant copies could be removed.
2020-03-05 01:17:31 +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
edf513a789 - Clang complained again. :( 2020-03-01 16:43:34 +01:00
Christoph Oelckers
f89915ac8f - fixed game start check for Exhumed's ingame menu. 2020-03-01 16:40:19 +01:00
Christoph Oelckers
12af524dcc - fixed Exhumed's ingame menu.
The bad setup here didn't let the menu's exit action pass to the game code, it still needed ugly workarounds.
2020-03-01 16:32:41 +01:00
Christoph Oelckers
3596be48bf - Clang did not like this. 2020-03-01 11:33:46 +01:00
Christoph Oelckers
fde633041b - SW: fixed ownership of non-following sounds. 2020-03-01 10:59:53 +01:00
Christoph Oelckers
b06c84ad8c - fix case sensitive path composition. 2020-03-01 10:17:26 +01:00
Christoph Oelckers
d6b17c0406 - fixed bad vector comparison in SW's sound code. 2020-03-01 09:18:23 +01:00
Christoph Oelckers
70f684d137 - check both upper and lower case versions of file names on non-Windows platforms when looking for addons. 2020-03-01 07:40:13 +01:00
Christoph Oelckers
83d56f56d5 - fixed uninitialized 'isInitialized' variable in FGameConfigFile. 2020-03-01 07:28:40 +01:00
Christoph Oelckers
4bc0531bf7 - disabled help screen in Exhumed and save menus in Deer Huntin'. 2020-02-29 12:55:12 +01:00
Christoph Oelckers
69e018d0c4 - added serialization of playing sounds.
For ambient sounds that can be cleanly restarted a new 'transient' flag was added so that these do not get written out.
Tested on SW so far, other games yet to do.
2020-02-29 12:33:35 +01:00
Christoph Oelckers
cec4aad75a - saveversion bump. 2020-02-27 19:56:17 +01:00
Christoph Oelckers
dbf446ee6c - ported the menu changes of the last commit. 2020-02-27 19:26:30 +01:00
Christoph Oelckers
1eb00949e3 - manually added the RRDH menu stuff. 2020-02-26 20:31:49 +01:00
Christoph Oelckers
0551c16203 - added detection for Deer Huntin' GRP. 2020-02-26 20:31:48 +01:00
Christoph Oelckers
638f8b0102 0.5.0 2020-02-25 21:20:58 +01:00
Christoph Oelckers
c045096393 - fixed: When loading a savegame without music, stop any playing music. 2020-02-25 21:15:25 +01:00
Christoph Oelckers
1c2ea506f2 - fixed: Windows must call the wide version of _mkdir for Unicode support. 2020-02-25 18:49:24 +01:00
Christoph Oelckers
fe1133e5c2 - fixed EnumerateChannels. 2020-02-24 20:19:03 +01:00
Christoph Oelckers
3aea6d1fad - refactored sound user data to be easier to serialize. 2020-02-23 18:30:48 +01:00
Christoph Oelckers
c8aa006f82 - fixed sound channel iterator to properly handle callbacks that delete sounds.cpp 2020-02-23 17:12:40 +01:00
Christoph Oelckers
e28de10c00 - serialize sound IDs as index, not name.
The name is not unique. This really needs something better.
2020-02-23 17:11:54 +01:00
Christoph Oelckers
985e441d80 - transitioned all JSON-based savegame code to FSerializer and removed sjson.
Now everything is in place to transition the rest of the savegame code as well.
2020-02-23 14:03:03 +01:00
Christoph Oelckers
a09e195954 - started transitioning the savegame writer to the newly added serializer.
Writing info.json done.
2020-02-23 09:41:12 +01:00
Christoph Oelckers
88b6661395 - hooked up GZDoom's JSON serializer.
It's time to build a better savegame format and also to replace SJSON with something easier to work with.
2020-02-22 18:41:24 +01:00
Christoph Oelckers
8a085c0af9 - fixed undefined behavior with unpositioned but attenuated sounds. 2020-02-22 17:23:23 +01:00
Christoph Oelckers
8e9491b5e4 - ported music start fix from GZDoom. 2020-02-22 16:12:40 +01:00
Christoph Oelckers
3c88e1c30a - proper detection for SW Redux. 2020-02-22 14:57:43 +01:00
Christoph Oelckers
9fab46b7d7 - initialize the secret hint system for each level. 2020-02-22 08:57:18 +01:00
Rachael Alexanderson
3a30e083ad - add Redneck Rampage to Steam search paths 2020-02-21 19:02:51 -05:00
Christoph Oelckers
455137e5e0 - re-enabled depth clamping.
This was never supposed to remain deactivated.
2020-02-21 21:36:42 +01:00
Christoph Oelckers
020692588c - fixed level names in statistics printout. 2020-02-21 21:36:42 +01:00
Christoph Oelckers
c253cd899c - fixed statistics reader for savegames. 2020-02-18 21:23:28 +01:00
Christoph Oelckers
ce9b71a31f - fixed hitbox for menu sliders. 2020-02-18 21:05:46 +01:00
Christoph Oelckers
4671161852 - fixed the secret hint system. 2020-02-17 23:07:29 +01:00
Christoph Oelckers
7dc26a3162 - stop all playing sound when starting a new game.
- give all bonus screen sounds in Duke the CHANF_UI flag.
2020-02-17 19:43:58 +01:00
Christoph Oelckers
dcad616030 - unpause sound when starting the demo loop. 2020-02-17 18:40:32 +01:00
Christoph Oelckers
41a81989d8 0.4.5 2020-02-16 21:38:49 +01:00
Christoph Oelckers
57a3f89105 - workaround for cl_autoaim not being set anymore.
Only for singleplayer for now, the network implementation for this flag leaves a lot to be desired.
2020-02-16 21:31:29 +01:00
Christoph Oelckers
40cbaf969c - ignore GRPINFOs without a defined game.
These can cause unpredictable behavior, including crashes.
2020-02-16 20:18:07 +01:00
Christoph Oelckers
3cd2b92dd1 - pause all game sounds while the menu or console are open and marked SW's UI sounds as such. 2020-02-16 20:08:04 +01:00
Christoph Oelckers
c643aadb4b - fixed hud scaling slider value ranges 2020-02-14 00:56:23 +01:00
Christoph Oelckers
71485fe9d0 - reverted special detection of Duke add-ons
The side effects here are worse than the benefit.
2020-02-14 00:21:09 +01:00
Christoph Oelckers
91b7770e84 - use a command line switch to set Duke compatibility
At this point the command line CCMD execution has not run yet, so setting the CVAR does not work as expected.
2020-02-13 16:09:27 +01:00
Christoph Oelckers
d63d9f80bb - fixed missing menu descriptor for Blood. 2020-02-12 23:41:26 +01:00
Christoph Oelckers
1c24ae3fad - restrict cl_weaponswitch to 0 and 1 for Shadow Warrior. 2020-02-12 22:46:18 +01:00
Christoph Oelckers
9c9638a765 - save version bump.
# Conflicts:
#	source/common/version.h
2020-02-12 20:28:14 +01:00
Christoph Oelckers
7909f29691 - allow starting Duke, NAM and WW2GI with the RedNukem-based game code for Redneck Rampage.
This mainly required some rework of the menu setup to be less explicit about the frontend's menu classes.
2020-02-12 20:25:59 +01:00
Christoph Oelckers
9f9e59e3ba - fixed some warnings 2020-02-12 00:43:21 +01:00
Christoph Oelckers
29e51a677f First round of Blood Savegame fix.
- const-ify most tables in actor.cpp for documentation purposes.
- gVectorData cannot be made const because one single field in there gets modified by code. :?
- save the global data in nnexts.cpp.
2020-02-11 23:15:25 +01:00
Christoph Oelckers
2f0a31508e - added Y/N to end game message. 2020-02-11 21:33:20 +01:00
Christoph Oelckers
1aa72cfbbd - fixed: The quicksave requester did not open the menu properly
This resulted in input not reaching it.
2020-02-11 21:25:21 +01:00
Christoph Oelckers
39a9e3cd8b - removed double detection of DN3D addons. 2020-02-10 20:38:38 +01:00
alexey.lysiuk
744e4161f7 - removed message about vintage build 2020-02-10 15:10:45 +02:00
Christoph Oelckers
8374b9e1b4 - fixed: The menu code should not reset the global input state when trying to close a menu with none open. 2020-02-09 22:57:04 +01:00
Christoph Oelckers
6257994198 - fixed validation of hud_custom CVAR. 2020-02-09 18:42:14 +01:00
Christoph Oelckers
b87ee10a0a - added missing string length check. 2020-02-09 18:37:24 +01:00
Christoph Oelckers
7f58e8b6ca 0.4.1 2020-02-09 16:14:36 +01:00
Christoph Oelckers
6231cec7c1 - sound backend update. 2020-02-09 13:26:51 +01:00
Christoph Oelckers
9310c25a7b - -addon 0 seems to be a valid parameter... 2020-02-09 09:48:55 +01:00
Christoph Oelckers
598ce8a2ef - increased amount of vertices to allow handling voxel packs.
This is merely a stopgap until the code can be properly refactored.
2020-02-09 08:32:40 +01:00
Christoph Oelckers
681155de65 - fixed GOG path lookup.
I was unable to verify the Steam paths so they may or may not work.
2020-02-07 22:23:33 +01:00
alexey.lysiuk
c54f813ea9 - fixed shifting of the current item in save/load menus
Virtual <New save game> item wasn't taken into account
2020-02-07 08:06:09 +01:00
alexey.lysiuk
1479e1feae - unified demo path handling for all platforms
The current game subdirectory is now created on all platforms
2020-02-06 12:04:51 +01:00
alexey.lysiuk
787211c9dc - unified saved games path handling for all platforms
The current game subdirectory is now created on all platforms
Added support for -savedir command line switch for all platforms
Removed save_dir CVAR in favor of cl_savedir which was available on Windows only
Made cl_savedir CVAR global instead of different value per each game
2020-02-06 12:04:51 +01:00
Christoph Oelckers
f6d9b5602b - fixed hud_scale. 2020-02-05 19:06:36 +01:00
Christoph Oelckers
03a300988e - version bump and new bug forum URL 2020-02-04 21:11:17 +01:00
Christoph Oelckers
1d468190a6 - fixed: parent-less confirmation screens did not process any input. 2020-02-04 21:02:22 +01:00
Christoph Oelckers
1126d5e3d4 - fixed return value of Mus_play
This wasn't always returning false if playback failed.
2020-02-04 20:32:51 +01:00
Rachael Alexanderson
37443f2365 - fix compile on 32-bit 2020-02-04 18:51:15 +01:00
alexey.lysiuk
14ef8e873e - fixed compilation NO_OPENAL option enabled 2020-02-04 16:16:49 +02:00
Christoph Oelckers
5d8f008140 - added 0 length check to StripExtension. 2020-02-03 22:12:36 +01:00
Christoph Oelckers
a90185bea9 - cleaned up the remaining dependencies on windows.h
This file now only gets included by code that really needs it.
2020-02-03 21:30:57 +01:00
Christoph Oelckers
95c906e21a - removed the ENet dependency from gamecontrol.cpp as well.
The global init/shutdown code has been moved to the enet.cpp stub so that now only the networking files which need access include enet.h
2020-02-03 21:14:35 +01:00
Christoph Oelckers
5b83e51ab5 - reverb testing code
- toned down the default reverb.
2020-02-02 20:29:43 +01:00
Christoph Oelckers
8412602621 - added more EDuke credits. 2020-02-02 20:29:43 +01:00
alexey.lysiuk
01050be226 - added save_dir CVAR to customize saved games path 2020-02-02 17:06:13 +02:00
alexey.lysiuk
b70796db4c - fixed drawing of a single character
This fixes missing console prompt and cursor
2020-02-02 15:00:51 +02:00
Christoph Oelckers
1bb1f2ae98 - fixed the crash reporter on Windows. 2020-02-02 13:33:07 +01:00
Christoph Oelckers
c9d7f21bf1 - fixed the config loader to read long line without messing up the data. 2020-02-02 11:49:36 +01:00
Christoph Oelckers
4d7a43004c - use the new SW interpolation function for all games. 2020-02-02 10:27:47 +01:00
Christoph Oelckers
c34d9da783 - properly define the BasePalette wrapper. 2020-02-02 07:58:05 +01:00
Christoph Oelckers
0e1eeea037 - use the game palette directly for palette lookups.
The setup here is far too messy for having a copy in a better format - it can be changed in some non-obvious places.
2020-02-01 23:05:43 +01:00
Christoph Oelckers
5d55f768e0 - added autodetection for Cryptic Passage and Route 66 add-ons in their originally (messed up) form.
Cryptic Passage will also be detected in a Fresh Supply installation now.
2020-02-01 21:12:09 +01:00
alexey.lysiuk
2dafa4555d - fixed accessing Steam games on Linux and macOS
Special $STEAM "environment variable" should not be expanded
2020-02-01 13:17:02 +01:00
Christoph Oelckers
4ea61f37fb - 0.3.3 2020-01-30 22:15:44 +01:00
Christoph Oelckers
eac1007c56 - automap color fix. 2020-01-30 22:05:18 +01:00
Christoph Oelckers
08a5c5ff4d - added support for loading eduke.con for DN3D mods.
This is EDuke32's standard so it needs to be handled for mods using this name.
2020-01-30 20:53:39 +01:00
Christoph Oelckers
cec7b006ca Merge branch 'master' of https://github.com/coelckers/Raze 2020-01-29 22:06:48 +01:00
Christoph Oelckers
a0fa0560d4 - removed in_mousedeadzone CVAR. 2020-01-29 21:51:57 +01:00
Christoph Oelckers
68dc8d1812 - remove in_mousedeadzone, mirroring EDuke's removal of this. 2020-01-29 21:06:47 +01:00
alexey.lysiuk
9dd3213393 - fixed path traversal on POSIX platforms 2020-01-29 11:41:23 +02:00
Christoph Oelckers
9b88d41169 - fixed compile errors. 2020-01-28 21:44:39 +01:00
Christoph Oelckers
08ec38ce75 - fixed some missing menu texts. 2020-01-28 21:36:30 +01:00
Christoph Oelckers
1f5f7c63fe - rewrite of tileCopySection 2020-01-28 12:42:17 +01:00
Christoph Oelckers
8657ecb35d - implemented 'map' CCMD for all games. 2020-01-28 11:20:30 +01:00
alexey.lysiuk
d56fb25975 - fixed compilation of POSIX targets
source/common/music/music.cpp:118:52: error: call of overloaded ‘FString(FName&)’ is ambiguous
    source/common/utility/zstring.h:133:2: note: candidate: FString::FString(char)
    source/common/utility/zstring.h:131:2: note: candidate: FString::FString(const char*)
2020-01-28 11:00:25 +02:00
Christoph Oelckers
6f396ae368 0.3.2 2020-01-28 00:05:10 +01:00