drfrag
f5f766b948
- Rename the soundfont.
2020-02-17 19:46:48 +01:00
Braden Obrzut
8e2a21fbfb
- Change updaterevision to a CMake script
...
The benefit to this is fairly small, but it does mean a little less work needs
to be done in the build scripts for cross compiling. The C version wasn't
especially concise so it was not obviously better in any way.
2020-02-02 13:58:10 +01:00
alexey.lysiuk
3b89c2fd34
- put common POSIX system code to a separate file
...
# Conflicts:
# src/posix/sdl/i_system.cpp
# Conflicts:
# src/posix/cocoa/i_system.mm
# src/posix/sdl/i_system.cpp
2020-01-28 20:18:13 +01:00
Alexander Kromm
a7e6552f0f
export TMap<FString, FString> to ZScript
...
# Conflicts:
# src/CMakeLists.txt
# src/serializer.h
2020-01-06 19:18:22 +01:00
Christoph Oelckers
fb42e6d92e
- separated reverb data and reverb editor.
...
Again, isolating the part that is game independent from parts that are specific to GZDoom.
2020-01-06 13:45:37 +01:00
Christoph Oelckers
89bffd17bc
- reduced the dependency of the sound system on game state.
...
Many of the simple wrappers have been moved to a separate file and the sound source handling has been abstracted.
This is only the first phase, the work is not complete yet.
Also changed the license of the sound code to BSD after verifying that this code bears no similarity to id's original sound code anymore, save for a few function names (which are due to be refactored out anyway.)
# Conflicts:
# src/sound/s_sound.cpp
# src/sound/s_sound.h
2020-01-06 13:35:40 +01:00
alexey.lysiuk
2b4a071b81
- deleted leftovers of exit refactoring
2020-01-06 01:11:04 +01:00
Christoph Oelckers
191b958791
- the big cleanup of the exit cleanup is done!
...
atterm is gone and only a few system-side functions use atexit.
All game side cleanup is performed in D_DoomMain now.
# Conflicts:
# src/CMakeLists.txt
# src/atterm.cpp
# src/atterm.h
# src/d_main.cpp
# src/dobjtype.cpp
# src/g_mapinfo.cpp
# src/g_statusbar/sbarinfo.cpp
# src/gamedata/g_mapinfo.h
# src/i_net.cpp
# src/p_setup.cpp
# src/posix/cocoa/i_video.mm
# src/posix/sdl/hardware.cpp
# src/posix/sdl/i_main.cpp
# src/r_utility.cpp
# src/rendering/v_video.cpp
# src/sound/s_advsound.cpp
# src/sound/s_sound.cpp
# src/swrenderer/r_swcolormaps.cpp
# src/win32/hardware.cpp
# src/win32/i_input.cpp
# Conflicts:
# src/CMakeLists.txt
# src/i_net.cpp
# src/posix/sdl/i_system.cpp
# src/r_utility.cpp
# src/win32/i_system.cpp
2020-01-05 23:57:44 +01:00
alexey.lysiuk
4c099300ca
- implemented str(n)icmp function definitions via CMake macro
2020-01-05 21:07:58 +01:00
alexey.lysiuk
a4930f9d8b
- restored ability to link with thirdparty sound libraries explicitly
...
DYN_SNDFILE=NO and DYN_MPG123=NO were ignored while DYN_FLUIDSYNTH=NO broke compilation
These options should be applied to ZMusic target instead of the main executable
As a bonus, it's now possible to build GZDoom without FluidSynth
2020-01-05 21:06:37 +01:00
Christoph Oelckers
26c435c69e
- split up st_start.cpp into one file with the Windows interface code and a second one which only contains platform independent code.
...
Since this made heavy use of Windows type, those were duplicated to avoid rewriting the entire interface.
This split at least reduces the amount of code needed to refactor for making the screens work on other platforms than Windows.
# Conflicts:
# src/CMakeLists.txt
2020-01-05 21:04:39 +01:00
alexey.lysiuk
0d3e78f748
- disabled code signing in Xcode by default
...
It’s impossible to build GZDoom without valid code signing identity with Xcode 11 using a project
# Conflicts:
# src/CMakeLists.txt
2020-01-05 14:39:06 +01:00
Christoph Oelckers
d7db010217
- moved the CD Audio code to ZMusic, too.
...
This was the last player class.
This code was also cleaned up for non-Windows systems where CD Audio is not implemented.
Instead of providing an empty implementation, all related code is now explicitly deactivated.
# Conflicts:
# src/CMakeLists.txt
2020-01-05 14:38:27 +01:00
Christoph Oelckers
01de5a071b
- moved the main music classes to ZMusic
...
What's left is the CD-Audio playback and some global functions.
# Conflicts:
# src/CMakeLists.txt
2020-01-05 14:02:12 +01:00
Christoph Oelckers
0f7886326d
- renamed the configuration file.
2020-01-05 12:56:33 +01:00
Christoph Oelckers
531a5a8857
- moved the stream sources to zmusic project.
...
# Conflicts:
# src/CMakeLists.txt
2020-01-05 12:32:47 +01:00
Christoph Oelckers
f3f2ec5cb1
- moved the sound decoding code to the zmusic project.
...
Since this gets used by both the sound backend and the music code it needs to be in a place accessible to both.
# Conflicts:
# src/CMakeLists.txt
# Conflicts:
# libraries/zmusic/decoder/mpg123_decoder.cpp
# libraries/zmusic/decoder/sndfile_decoder.cpp
# src/CMakeLists.txt
2020-01-05 12:29:15 +01:00
Christoph Oelckers
5743a56ef4
- created a new zmusic library which will eventually contain all the music playback code.
...
Currently all it contains are the MIDI sources and the MIDI devices, the rest needs to be reworked first.
# Conflicts:
# libraries/zmusic/i_module.cpp
# libraries/zmusic/i_module.h
# src/CMakeLists.txt
# src/i_module.cpp
# src/i_module.h
# src/sound/music/midi_cvars.cpp
# src/utility/i_module.cpp
# src/utility/i_module.h
# Conflicts:
# src/CMakeLists.txt
# src/sound/musicformats/music_opl.cpp
2020-01-05 11:46:20 +01:00
Christoph Oelckers
f15be8b270
- split out the MIDIDevice implementation into its own source file.
2020-01-05 02:36:27 +01:00
Christoph Oelckers
9437bcda64
- removed most dependencies on ZDoom code in ADL Midi device.
2020-01-05 02:11:52 +01:00
Christoph Oelckers
f2840d4942
- made the OPL synth backend a separate library.
...
# Conflicts:
# src/CMakeLists.txt
# src/sound/mididevices/music_opl_mididevice.cpp
# Conflicts:
# libraries/oplsynth/OPL3.cpp
# libraries/oplsynth/dosbox/opl.cpp
2020-01-05 02:11:51 +01:00
Christoph Oelckers
a63d90034b
- cleaned up the dependencies of the OPL interface layer.
...
This also removes the OPL dumper because I wasn't able to get any non-broken output from it and have no desire to fix such a niche feature.
# Conflicts:
# src/sound/mididevices/music_opldumper_mididevice.cpp
2020-01-05 02:11:49 +01:00
Christoph Oelckers
3b5e8f8011
- made WildMidi a library.
...
# Conflicts:
# src/CMakeLists.txt
# src/sound/musicformats/music_xa.cpp
2020-01-05 01:40:41 +01:00
Christoph Oelckers
2ddc9ee1f3
- made the Timidity(GUS) device a separate library.
...
# Conflicts:
# src/CMakeLists.txt
2020-01-05 01:22:14 +01:00
Christoph Oelckers
4fccadff7e
- made the Timidity++ backend a library, now that it has no dependencies on GZDoom anymore.
...
# Conflicts:
# src/CMakeLists.txt
# Conflicts:
# src/CMakeLists.txt
2020-01-05 01:21:32 +01:00
Christoph Oelckers
4d2d143422
- gave libopen the same treatment and made it its own subproject
...
# Conflicts:
# src/CMakeLists.txt
# src/sound/mididevices/music_opnmidi_mididevice.cpp
# Conflicts:
# src/sound/mididevices/music_opnmidi_mididevice.cpp
2020-01-04 22:59:26 +01:00
Christoph Oelckers
a4f05f5741
- made libadl its own library subproject.
...
This is to improve compile times because the MSVC compiler tends to become slow with large lists of source files in a single project.
This new project is still our stripped down copy of libadl, not the original, because that project contains a large amount of baggage we do not need.
# Conflicts:
# src/CMakeLists.txt
# Conflicts:
# src/sound/mididevices/music_adlmidi_mididevice.cpp
2020-01-04 22:56:56 +01:00
alexey.lysiuk
a095ffde39
- fixed compilation of Linux targets
...
src/../libraries/gdtoa/gdtoa.h:67:19: fatal error: arith.h: No such file or directory
# Conflicts:
# src/CMakeLists.txt
2020-01-04 21:32:06 +01:00
Christoph Oelckers
1556e6620c
- move sound files to sound folder.
...
# Conflicts:
# src/CMakeLists.txt
2020-01-04 21:32:04 +01:00
Christoph Oelckers
81d54959af
- sorted sound backend code into subdirectories.
...
# Conflicts:
# src/CMakeLists.txt
2020-01-04 21:32:02 +01:00
Christoph Oelckers
040cb17370
- moved third party library projects to a subfolder to reduce size of the root.
...
# Conflicts:
# CMakeLists.txt
# libraries/glslang/OGLCompilersDLL/CMakeLists.txt
# libraries/glslang/OGLCompilersDLL/InitializeDll.cpp
# libraries/glslang/OGLCompilersDLL/InitializeDll.h
# libraries/glslang/glslang/CMakeLists.txt
# libraries/glslang/glslang/GenericCodeGen/CodeGen.cpp
# libraries/glslang/glslang/GenericCodeGen/Link.cpp
# libraries/glslang/glslang/Include/BaseTypes.h
# libraries/glslang/glslang/Include/Common.h
# libraries/glslang/glslang/Include/ConstantUnion.h
# libraries/glslang/glslang/Include/InfoSink.h
# libraries/glslang/glslang/Include/InitializeGlobals.h
# libraries/glslang/glslang/Include/PoolAlloc.h
# libraries/glslang/glslang/Include/ResourceLimits.h
# libraries/glslang/glslang/Include/ShHandle.h
# libraries/glslang/glslang/Include/Types.h
# libraries/glslang/glslang/Include/arrays.h
# libraries/glslang/glslang/Include/intermediate.h
# libraries/glslang/glslang/Include/revision.h
# libraries/glslang/glslang/Include/revision.template
# libraries/glslang/glslang/MachineIndependent/Constant.cpp
# libraries/glslang/glslang/MachineIndependent/InfoSink.cpp
# libraries/glslang/glslang/MachineIndependent/Initialize.cpp
# libraries/glslang/glslang/MachineIndependent/Initialize.h
# libraries/glslang/glslang/MachineIndependent/IntermTraverse.cpp
# libraries/glslang/glslang/MachineIndependent/Intermediate.cpp
# libraries/glslang/glslang/MachineIndependent/LiveTraverser.h
# libraries/glslang/glslang/MachineIndependent/ParseContextBase.cpp
# libraries/glslang/glslang/MachineIndependent/ParseHelper.cpp
# libraries/glslang/glslang/MachineIndependent/ParseHelper.h
# libraries/glslang/glslang/MachineIndependent/PoolAlloc.cpp
# libraries/glslang/glslang/MachineIndependent/RemoveTree.cpp
# libraries/glslang/glslang/MachineIndependent/RemoveTree.h
# libraries/glslang/glslang/MachineIndependent/Scan.cpp
# libraries/glslang/glslang/MachineIndependent/Scan.h
# libraries/glslang/glslang/MachineIndependent/ScanContext.h
# libraries/glslang/glslang/MachineIndependent/ShaderLang.cpp
# libraries/glslang/glslang/MachineIndependent/SymbolTable.cpp
# libraries/glslang/glslang/MachineIndependent/SymbolTable.h
# libraries/glslang/glslang/MachineIndependent/Versions.cpp
# libraries/glslang/glslang/MachineIndependent/Versions.h
# libraries/glslang/glslang/MachineIndependent/attribute.cpp
# libraries/glslang/glslang/MachineIndependent/attribute.h
# libraries/glslang/glslang/MachineIndependent/gl_types.h
# libraries/glslang/glslang/MachineIndependent/glslang.y
# libraries/glslang/glslang/MachineIndependent/glslang_tab.cpp
# libraries/glslang/glslang/MachineIndependent/glslang_tab.cpp.h
# libraries/glslang/glslang/MachineIndependent/intermOut.cpp
# libraries/glslang/glslang/MachineIndependent/iomapper.cpp
# libraries/glslang/glslang/MachineIndependent/iomapper.h
# libraries/glslang/glslang/MachineIndependent/limits.cpp
# libraries/glslang/glslang/MachineIndependent/linkValidate.cpp
# libraries/glslang/glslang/MachineIndependent/localintermediate.h
# libraries/glslang/glslang/MachineIndependent/parseConst.cpp
# libraries/glslang/glslang/MachineIndependent/parseVersions.h
# libraries/glslang/glslang/MachineIndependent/pch.cpp
# libraries/glslang/glslang/MachineIndependent/pch.h
# libraries/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp
# libraries/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp
# libraries/glslang/glslang/MachineIndependent/preprocessor/PpContext.cpp
# libraries/glslang/glslang/MachineIndependent/preprocessor/PpContext.h
# libraries/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp
# libraries/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp
# libraries/glslang/glslang/MachineIndependent/preprocessor/PpTokens.h
# libraries/glslang/glslang/MachineIndependent/propagateNoContraction.cpp
# libraries/glslang/glslang/MachineIndependent/propagateNoContraction.h
# libraries/glslang/glslang/MachineIndependent/reflection.cpp
# libraries/glslang/glslang/MachineIndependent/reflection.h
# libraries/glslang/glslang/OSDependent/Unix/CMakeLists.txt
# libraries/glslang/glslang/OSDependent/Unix/ossource.cpp
# libraries/glslang/glslang/OSDependent/Windows/CMakeLists.txt
# libraries/glslang/glslang/OSDependent/Windows/main.cpp
# libraries/glslang/glslang/OSDependent/Windows/ossource.cpp
# libraries/glslang/glslang/OSDependent/osinclude.h
# libraries/glslang/glslang/Public/ShaderLang.h
# libraries/glslang/glslang/updateGrammar
# libraries/glslang/spirv/CMakeLists.txt
# libraries/glslang/spirv/GLSL.ext.AMD.h
# libraries/glslang/spirv/GLSL.ext.EXT.h
# libraries/glslang/spirv/GLSL.ext.KHR.h
# libraries/glslang/spirv/GLSL.ext.NV.h
# libraries/glslang/spirv/GLSL.std.450.h
# libraries/glslang/spirv/GlslangToSpv.cpp
# libraries/glslang/spirv/GlslangToSpv.h
# libraries/glslang/spirv/InReadableOrder.cpp
# libraries/glslang/spirv/Logger.cpp
# libraries/glslang/spirv/Logger.h
# libraries/glslang/spirv/SPVRemapper.cpp
# libraries/glslang/spirv/SPVRemapper.h
# libraries/glslang/spirv/SpvBuilder.cpp
# libraries/glslang/spirv/SpvBuilder.h
# libraries/glslang/spirv/SpvPostProcess.cpp
# libraries/glslang/spirv/SpvTools.cpp
# libraries/glslang/spirv/SpvTools.h
# libraries/glslang/spirv/bitutils.h
# libraries/glslang/spirv/disassemble.cpp
# libraries/glslang/spirv/disassemble.h
# libraries/glslang/spirv/doc.cpp
# libraries/glslang/spirv/doc.h
# libraries/glslang/spirv/hex_float.h
# libraries/glslang/spirv/spirv.hpp
# libraries/glslang/spirv/spvIR.h
# src/CMakeLists.txt
2020-01-04 21:30:08 +01:00
alexey.lysiuk
d2fe30cd93
- added Visual Studio debugger visualization for several types
2019-10-24 13:25:22 +02:00
Christoph Oelckers
fd072db274
- adapted the PSX XA decoder from EDuke32 as a music format in GZDoom.
...
Libsndfile cannot decode this format but tries to play these files as regular WAVs and turns them into noise (Both are in a RIFF container.)
# Conflicts:
# src/sound/musicformats/music_xa.cpp
2019-09-28 14:20:29 +02:00
Christoph Oelckers
bd3e8c0a99
- split off all music code from s_sound.cpp
...
# Conflicts:
# src/CMakeLists.txt
# src/fragglescript/t_func.cpp
# src/fragglescript/t_load.cpp
# src/g_level.cpp
# src/g_levellocals.h
# src/g_shared/a_dynlight.cpp
# src/intermission/intermission.cpp
# src/p_saveg.cpp
# src/posix/cocoa/i_main.mm
# src/s_sound.cpp
# src/win32/st_start.cpp
# Conflicts:
# src/win32/st_start.cpp
2019-09-28 14:20:21 +02:00
alexey.lysiuk
2e87aef815
- fixed C++ compilation flags applied to C files
...
This had an effect on 32-bit targets without SSE support
2019-09-24 13:51:06 +02:00
Christoph Oelckers
3700b0c7b8
- replaced the procedural backdrop texture with some warped noise texture.
...
This was done because the backdrop as implemented was the only texture in the entire game that had to be deleted and recreated each frame.
However, with Vulkan this would have necessitated quite a bit of synchronization with the render pipeline which wasn't really feasible just for this one single texture.
Now the texture manager can assume that once a texture was created it will be immutable and never has to change.
# Conflicts:
# src/CMakeLists.txt
# src/textures/backdroptexture.cpp
# src/v_2ddrawer.cpp
2019-07-15 19:55:51 +02:00
Christoph Oelckers
b473fc936c
- consolidated the 3 atterm implementations.
...
Each platform had its own copy. Why?
# Conflicts:
# src/CMakeLists.txt
# src/dobjtype.cpp
# src/g_mapinfo.cpp
# src/g_statusbar/sbarinfo.cpp
# src/i_net.cpp
# src/menu/menudef.cpp
# src/p_setup.cpp
# src/posix/cocoa/i_video.mm
# src/posix/i_system.h
# src/posix/sdl/i_main.cpp
# src/r_utility.cpp
# src/s_advsound.cpp
# src/s_sound.cpp
# src/v_video.cpp
# src/win32/i_input.cpp
# src/win32/i_system.h
# Conflicts:
# src/CMakeLists.txt
# src/doomtype.h
# src/i_net.cpp
# src/posix/sdl/i_system.cpp
# src/win32/i_system.cpp
# src/win32/win32video.cpp
2019-06-10 20:52:02 +02:00
drfrag
4c7eb79d72
- Fixed MinGW compilation.
2019-05-14 17:30:58 +02:00
Christoph Oelckers
c7877388a9
- made the console Unicode-capable.
...
This also necessitated some character remapping in the console font to move the Windows-1252 extra characters to their proper Unicode code points.
# Conflicts:
# src/CMakeLists.txt
# src/posix/sdl/i_input.cpp
# src/scripting/backend/codegen.cpp
# src/v_font.cpp
# Conflicts:
# src/c_console.cpp
2019-05-14 17:12:18 +02:00
drfrag
7763698166
Revert "- Add stack protection for MinGW."
...
This reverts commit 9d3326d847
.
Forgot to revert this, made it crash on 64 bit windows.
2019-05-06 14:25:10 +02:00
Christoph Oelckers
e245852bff
- removed FCriticalSection and replaced all of its uses with std::mutex.
...
There's really no need for a non-standard solution here anymore with C++11.
This also fixes an unreleased lock in the WildMidi code.
# Conflicts:
# src/posix/sdl/critsec.cpp
2019-04-28 22:13:36 +02:00
alexey.lysiuk
7fecc973f5
- disabled VM JIT completely on unsuported platforms
2019-04-27 13:47:47 +02:00
Timo Myyrä
b561b72fd0
fix Unix builds without backtrace functions in their libc
...
backtrace functions are not present in all libc implementations. Cmake has
module to add external libraries into build if needed so use it to fix build on
Unix systems without backtrace in libc.
2019-04-25 13:10:47 +02:00
Christoph Oelckers
d80d4bb228
- moved P_OpenMapData and related content out of p_setup.cpp.
...
# Conflicts:
# src/g_levellocals.h
# Conflicts:
# src/g_levellocals.h
2019-04-18 14:52:24 +02:00
Magnus Norddahl
175b67c088
- fix linking and some linux things
2019-04-18 14:22:11 +02:00
drfrag
ecf1402274
- Fixed linking with MinGW-w64.
2019-04-18 14:00:37 +02:00
Christoph Oelckers
a5e16e3261
- moved a large part of the VM thunks out of p_mobj.cpp.
2019-04-17 14:55:58 +02:00
Christoph Oelckers
1e4c22f8d4
- more direct native entry points.
2019-04-17 14:55:56 +02:00
Magnus Norddahl
ee7d6abdd3
- move the jit runtime to its own file
2019-04-16 14:58:27 +02:00
Christoph Oelckers
178c1a41a6
- moved VM thunks from p_sectors.cpp to a separate file and started adding direct native implementations.
...
For a few larger functions I took them out of sector_t and made them global functions to avoid creating more unnecessary stubs.
# Conflicts:
# src/p_sectors.cpp
2019-04-16 12:37:04 +02:00