Christoph Oelckers
00048ddf7e
- started cleanup work on WildMidi code.
...
# Conflicts:
# src/sound/mididevices/music_wildmidi_mididevice.cpp
# Conflicts:
# src/sound/mididevices/music_wildmidi_mididevice.cpp
2020-01-05 01:38:19 +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
f59aa69d95
- cleaned up the includes in timidity.cpp.
...
# Conflicts:
# src/sound/timidity/timidity.cpp
2020-01-05 01:22:12 +01:00
Christoph Oelckers
1b1fabd5c2
- cleanup of the TimidityMIDIDevice(GUS) backend code to eliminate the storage in global variables and to remove the dependencies on core ZDoom code.
...
The organization here is now the same as for the Timidity++ device, i.e. it is the device owning the instruments to give better control over their lifecycle.
# Conflicts:
# src/sound/timidity/instrum_font.cpp
# src/sound/timidity/instrum_sf2.cpp
# src/sound/timidity/mix.cpp
# src/sound/timidity/playmidi.cpp
# src/sound/timidity/resample.cpp
2020-01-05 01:22:10 +01:00
Christoph Oelckers
8542d73994
- removed some ZDoomd dependencies from Timidity(GUS) backend
...
* use std::string instead of FString
* replaced the single use of clamp with std::min/std::max.
* copied MAKE_ID macro into the source.
* use snprintf instead of mysnprintf
* use std::runtime_error instead of I_Error to abort on failed memory allocations.
# Conflicts:
# src/sound/timidity/common.cpp
# Conflicts:
# src/sound/timidity/common.cpp
# src/sound/timidity/instrum.cpp
# src/sound/timidity/instrum_dls.cpp
2020-01-05 01:22:06 +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
5a3b544ba6
- handled the final piece where Timidity++ had a direct dependency on GZDoom - the error logging function.
...
This is npw a function pointer so that a simple stdout printout can be used as default, but allows to override it.
Also added the missing timidity_file.h header.
# Conflicts:
# src/sound/timiditypp/common.cpp
2020-01-04 23:41:22 +01:00
Christoph Oelckers
ebdab4fd23
- moved the CVars out of the Timidity++ backend.
2020-01-04 23:39:51 +01:00
Christoph Oelckers
2dd6c14865
- implemented an abstract sound font reader interface for Timidity++.
...
The only dependency left on the main GZDoom code are the CVars, which will be dealt with next.
# Conflicts:
# src/sound/mididevices/music_timiditypp_mididevice.cpp
2020-01-04 23:39:48 +01:00
Christoph Oelckers
9d5f4969e7
- thinned out the FSoundFontReader interface a bit more by moving the file open code into the FSoundFontReader class itself.
2020-01-04 23:39:45 +01:00
Christoph Oelckers
e968ef9ded
- moved the instrument set maintenance out of the Timidity++ library into the player class.
...
This removes the dependency on the sound font manager from the low level library, reducing the direct dependencies to FileReader and SoundFontReader.
2020-01-04 23:39:43 +01:00
Christoph Oelckers
64e0b151fb
- removed a few dependencies of the Timidity++ code from the main GZDoom code base.
...
The big issues, i.e. FileReader and SoundFontReader still need to be handled to make this a standalone library.
# Conflicts:
# src/sound/timiditypp/configfile.cpp
2020-01-04 23:39:39 +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
drfrag
bcbf914f5b
- Added I_Error prototypes to doomerrors.h.
2020-01-04 21:44:07 +01:00
Christoph Oelckers
c05e3ebf31
Made several classes trivially copyable,
...
Many had leftover non-default constructors/ assignment operators, and some were initialized, even though the initialized data was never used.
In case of FCycler this even caused a default setting to be overwritten when used inside FDynamicLight.
# Conflicts:
# src/g_shared/a_dynlight.cpp
# src/sound/s_sndseq.cpp
2020-01-04 21:32:10 +01:00
Christoph Oelckers
f09e887a69
- removed redundant include.
2020-01-04 21:32:07 +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
d9168aeeff
- deleted unused mus2midi.cpp file.
...
# Conflicts:
# src/sound/i_music.cpp
2020-01-04 21:31:59 +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
drfrag
bdcb9fcbcd
- Version 3.84.
2019-12-16 12:18:17 +01:00
alexey.lysiuk
1ca7786650
- added 'damageonland' property to terrain definition
...
This property helps to replicate vanilla Hexen behavior of damaging player right after touching lava floor
https://forum.zdoom.org/viewtopic.php?t=66512
2019-12-12 20:35:44 +01:00
Christoph Oelckers
d56e519bc7
- do not allow summon CCMD to spawn abstract classes
2019-12-12 20:35:42 +01:00
drfrag
e4c1b1413e
- Replaced the useless 160x200 scale preset with widescreen 356x200.
2019-12-12 12:57:35 +01:00
Fabian Greffrath
78ace538a6
do not expect user input if stdin is redirected
...
If GZDoom is built on a POSIX system without the GTK frontend and not
run from a KDE session, an IWAD picker is presented on the terminal
and expects the user to select a game wad. However, if stdin is
redirected, this won't work, so start with the default IWAD instead.
2019-12-12 11:44:06 +01:00
drfrag
efb3465921
- Add option to reset controls to defaults.
2019-12-07 22:23:02 +01:00
alexey.lysiuk
73e6da259e
- handle mirroring in MNTR sprite renaming
...
https://forum.zdoom.org/viewtopic.php?t=66583
2019-12-07 19:47:32 +01:00
alexey.lysiuk
d37ebc65f0
- updated xBRZ scaler to 1.8
...
Removed all C++17 features: std::clamp(), attribute [[likely]], terse static asserts, ...
https://sourceforge.net/projects/xbrz/files/xBRZ/xBRZ_1.8.zip/download
2019-12-07 00:42:45 +01:00
Chronos Ouroboros
ab617c3a91
Fixed the JIT's OP_VTBL check not checking if it's already at the start of the code.
2019-12-07 00:42:41 +01:00
alexey.lysiuk
f463cf3e73
- fixed wrong display of Hexen AC for SBARINFO
...
Do not use BasicArmor's save percentage when no armor present
Applied change from 34c2c65bb6
to old status bar definitions
2019-12-01 10:59:12 +01:00
Christoph Oelckers
fd4473d7d2
- fixed: AActor::Revive did not restore flags8.
2019-12-01 10:59:05 +01:00
ZZYZX
0953f11a04
Normalize mouse events received by the modder through EventHandlers
2019-11-30 15:15:28 +01:00
alexey.lysiuk
e67e6b21c0
- added ability to force internal alternative HUD
...
Set hud_althud_forceinternal CVAR to disable unwanted HUD customizations
2019-11-26 16:48:08 +01:00
alexey.lysiuk
1a4f62c54f
- added ability to set custom alternative HUD
...
Use GAMEINFO key 'althudclass' to specify own class derived from AltHud
https://forum.zdoom.org/viewtopic.php?t=66422
2019-11-26 16:47:54 +01:00
Rachael Alexanderson
ed654150eb
- add cvar 'cl_customizeinvulmap' - changes the invulnerability… ( #972 )
...
* - add cvar 'cl_disableinvertedcolormap' - changes the invulnerability sphere to instead be a regular desaturated colormap that transitions from deep blue to pale yellow
* - add menu option for cl_disableinvertedcolormap
* - added customization for invulnerability colormap
* - fixed custom colormap being calculated incorrectly
* - disable custom invulnerability map before the main game loop
# Conflicts:
# src/d_main.cpp
2019-11-26 14:53:19 +01:00
alexey.lysiuk
7160219b63
- exported several Wads.GetLump...() methods to ZScript
...
* GetLumpName() returns 8-characters lump name
* GetLumpFullName() returns full name with path and extension
* GetLumpNamespace() returns lump's namespace
* GetNumLumps() returns total number of lumps
https://forum.zdoom.org/viewtopic.php?t=66285
2019-11-25 18:16:42 +01:00
Player701
d7542a8cd9
- Implemented scale parameter for BaseStatusBar::DrawString
...
# Conflicts:
# src/g_statusbar/shared_sbar.cpp
# Conflicts:
# src/g_statusbar/shared_sbar.cpp
2019-11-25 12:10:58 +01:00
drfrag
0228a596de
- Allow joystick input in the background by default. It's always allowed for XInput controllers and they work as DInput ones with DInput support disabled.
...
Besides on SDL1 they always worked like that.
2019-11-22 19:44:22 +01:00
alexey.lysiuk
21079752ba
- fixed missing checks for function calls from DECORATE
...
State functions could call ZScript code with incompatible self pointer, e.g. weapon's function could be called with self pointed to player pawn
DECORATE scripts that contain such errors are no longer accepted
https://forum.zdoom.org/viewtopic.php?t=66429
2019-11-21 18:04:03 +01:00
drfrag
4977e6af1f
- add native FlipLineSideRefs(line)
...
- FlipLineSideRefs should only work on single-sided lines
(patch by Rachael)
2019-11-16 14:01:47 +01:00
drfrag
74aa1763e6
Revert "- no, we do not want to use global variables to pass parameters around..."
...
This reverts commit 26a782031c
.
Not applicable and caused lighting problems with models.
2019-11-16 13:35:23 +01:00
PaulyB
787f06d7f3
Added 'NoKeyboardCheats' option to IWADINFO
...
This is useful for IWADs that do not want to use the hardcoded engine cheats. This can still be overriden with the 'allcheats' CVAR
2019-11-13 19:34:44 +01:00
Rachael Alexanderson
3c030527af
- cl_blockcheats added to 'nocheat' check
2019-11-13 19:34:41 +01:00
Rachael Alexanderson
4878da381b
- new zscript function 'SetLineVertexes(line, v1, v2)'
...
- scriptify 'FlipLine' completely using new function, remove native version
# Conflicts:
# src/maploader/postprocessor.cpp
2019-11-13 19:34:39 +01:00
3saster
7b454ef6c2
Added 'nocheats' CVAR ( #969 )
...
This CVAR disables all classic cheats (i.e. keyboard cheats). This prevents keypresses from being eaten due to attempting to read cheats
2019-11-13 19:34:34 +01:00
drfrag
44aeb56932
- add 'FlipLine' to 'LevelPostProcessor'
...
(patch by Rachael)
2019-11-13 19:34:28 +01:00
alexey.lysiuk
05f36cafc8
- extended level post-processing with special string arguments
...
# Conflicts:
# src/maploader/maploader.cpp
2019-11-13 19:34:26 +01:00
alexey.lysiuk
dca15d56c8
- extended level post-processing with thing IDs
...
# Conflicts:
# src/maploader/maploader.cpp
2019-11-13 19:34:23 +01:00