Commit graph

15837 commits

Author SHA1 Message Date
Christoph Oelckers
4ba8da290c - made WildMidi a library. 2019-09-25 19:38:48 +02:00
Christoph Oelckers
a562d69ec3 Merge branch 'wildmidi_cleanup' 2019-09-25 19:21:12 +02:00
Christoph Oelckers
32e1605e17 - fixed WildMidi. 2019-09-25 19:20:22 +02:00
Christoph Oelckers
4369220335 - refactoring of WildMidi to have proper instrument management
Not tested yet, it compiles but may not work as-is.
2019-09-25 17:27:10 +02:00
Marisa Kirisame
8dbddfc365 Fix crash on vulkan with a large number of texture shaders. 2019-09-25 17:46:33 +03:00
alexey.lysiuk
6ab9991e8d - fixed potential resetting of bindings
Quitting GZDoom during initialization could lead to unbound game controls

https://forum.zdoom.org/viewtopic.php?t=65945
2019-09-25 12:21:08 +03:00
Christoph Oelckers
d9e32eb207 - started cleanup work on WildMidi code. 2019-09-24 23:46:27 +02:00
Christoph Oelckers
7962bf189e - made the Timidity(GUS) device a separate library. 2019-09-24 23:43:44 +02:00
Christoph Oelckers
dcef3681d4 - cleaned up the includes in timidity.cpp. 2019-09-24 23:12:38 +02:00
Christoph Oelckers
d557f609cf - 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.
2019-09-24 23:08:56 +02:00
Christoph Oelckers
c107657ea8 Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-09-24 11:08:47 +02:00
Christoph Oelckers
fea0f77905 - 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.
2019-09-24 11:07:32 +02:00
alexey.lysiuk
ca5ca8e974 - fixed C++ compilation flags applied to C files
This had an effect on 32-bit targets without SSE support
2019-09-24 11:53:18 +03:00
Rachael Alexanderson
7ba485f632
fixed the software resized texture warp problem. (#934)
* - almost nearly fixed the software resized texture warp problem.

* - proposed fix for mipmapping issue for previous commit

* - reduce texture allocation for mipmapped warped textures in the software renderer

* - add a check for the resize mode
2019-09-23 22:37:35 -04:00
Christoph Oelckers
66c9f0902b Merge commit '115d1cb182168bb2c8c29a3650dfc33b08e3e6cb' 2019-09-23 15:21:43 +02:00
alexey.lysiuk
7ec33b6b92 - fixed crash when setting sound pitch on non-existing channel
This applies to a lack of free channels, -nosound command line switch, missing OpenAL library, sound initialization failures, ...

https://forum.zdoom.org/viewtopic.php?t=65926
2019-09-23 15:42:03 +03:00
Christoph Oelckers
115d1cb182 - made the Timidity++ backend a library, now that it has no dependencies on GZDoom anymore. 2019-09-23 14:27:43 +02:00
Christoph Oelckers
56e4c8f213 - 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.
2019-09-23 14:14:32 +02:00
Christoph Oelckers
98329311b4 - moved the CVars out of the Timidity++ backend. 2019-09-23 13:58:16 +02:00
Christoph Oelckers
cf6d0c3127 - 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.
2019-09-23 13:53:28 +02:00
Christoph Oelckers
16ab52c5f3 - thinned out the FSoundFontReader interface a bit more by moving the file open code into the FSoundFontReader class itself. 2019-09-23 12:45:26 +02:00
Christoph Oelckers
2cf8cc47df - 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.
2019-09-23 11:27:57 +02:00
Christoph Oelckers
df7a4bb0d9 - 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.
2019-09-23 10:18:19 +02:00
Christoph Oelckers
b3a9884eb1 - gave libopen the same treatment and made it its own subproject 2019-09-23 10:03:18 +02:00
Christoph Oelckers
84cc7cbdd2 - 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.
2019-09-23 10:03:17 +02:00
drfrag
2a642c66be - Fixed ancient ZDoom savegame slot selection bug. When creating new autosaves LastAccessed and LastSaved were not updated accordingly. 2019-09-19 18:43:18 +02:00
Christoph Oelckers
b709a0b6b2 - fixed: sector lights could access the sector before it was set. 2019-09-16 17:34:41 +02:00
Christoph Oelckers
c8c8fecad3 - fixed a few warnings. 2019-09-16 17:30:39 +02:00
Marisa Kirisame
2628dabc31 Fix for LineTrace not setting its starting sector based on its offset. 2019-09-15 21:58:25 +02:00
drfrag
0cbb08ce84 - Fixed crash with mock2.wad in software. 2019-09-14 13:13:55 -04:00
alexey.lysiuk
e48edf6199 - fixed compilation with MSVC
src\gamedata\resourcefiles\resourcefile.h(77): error C4716:  'FResourceLump::FillCache': must return a value
2019-09-13 17:35:31 +03:00
Rachael Alexanderson
836f774b6c - use drfrag's suggested fix of checking for valid texture access, rather than checking whether it is null, when drawing fog boundaries in the software renderer 2019-09-13 09:18:26 -04:00
Christoph Oelckers
587fd75190 - extended lump injection to allow injecting data into a PWAD's directory, not just the IWAD. 2019-09-13 13:55:53 +02:00
Christoph Oelckers
31aa855a51 - generate a hash identifier for each loaded resource file.
This is not useful by itself but can be used for adding new features later, e.g. mod-wide compatibility settings or file specific lump replacement or injection.
2019-09-13 12:29:17 +02:00
Marisa Kirisame
bcef440511 Squashed commit of the following:
commit 6ecd831eb45a8258995c02664450c3ca8cfe5b48
Merge: a4fb1f61c afbd7f7a2
Author: Marisa Kirisame <marisa@sayachan.org>
Date:   Sun Jul 28 22:02:19 2019 +0200

    Merge branch 'master' of github.com:coelckers/gzdoom into f3dfloor_export

commit a4fb1f61c0532d3a6051d4c1fca4ac72ec33e060
Author: Marisa Kirisame <marisa@sayachan.org>
Date:   Fri Jul 12 15:43:25 2019 +0200

    Renamed EFFloorType enum in ZScript to the more descriptive EF3DFloorFlags

commit 9ad1c3b5625d53c06229be2a94d44fa0f36f41fd
Author: Marisa Kirisame <marisa@sayachan.org>
Date:   Sun Jul 7 20:25:31 2019 +0200

    Add bounds checks to Get3DFloor/GetAttached

commit dd2a7956a887b92ed24ce5e79f10b1a445664d6c
Author: Marisa Kirisame <marisa@sayachan.org>
Date:   Sun Jul 7 17:13:44 2019 +0200

    Correct handling of 3d floor plane texture getting.

commit 9b748287892c8fdee9ac67019bf1f66bc4b69eab
Author: Marisa Kirisame <marisa@sayachan.org>
Date:   Sun Jul 7 16:14:45 2019 +0200

    Implemented requested changes to F3DFloor exports.
    * Getters for ffloors/attached arrays.
    * Getter for 3D floor top/bottom texture.

commit 6a1482bb0637a70890629e4c13e8759c7a3673f3
Author: Marisa Kirisame <marisa@sayachan.org>
Date:   Sat Jul 6 13:42:52 2019 +0200

    Renamed exported extsector pointer in Sector struct to something more descriptive.

commit 7c6783d43b898cbd7a01fb2191fd401ed8e8c300
Merge: ff64e04b2 8d36f0a0c
Author: Marisa Kirisame <marisa@sayachan.org>
Date:   Mon Apr 29 12:40:44 2019 +0200

    Merge branch 'master' into f3dfloor_export

commit ff64e04b251f23325d2f72bc25c59f34b4cab6fa
Merge: a90947392 5b6bae409
Author: Marisa Kirisame <marisa@sayachan.org>
Date:   Sun Apr 21 16:56:18 2019 +0200

    Merge branch 'master' into f3dfloor_export

commit a90947392a27eb1c2dac7005614592ec2f410274
Author: Marisa Kirisame <marisa@sayachan.org>
Date:   Mon Feb 4 17:47:25 2019 +0100

    Export F3DFloor structure and related data.
    Small changes to Trace code to better use this struct.
2019-09-11 08:19:19 +03:00
Christoph Oelckers
62b0fc5f4e - give P_ExplodeMissile a damage type when being called from P_DamageMobj 2019-09-09 15:41:09 +02:00
Christoph Oelckers
21a621031b - rename sprite names with '^' in the hires namespace. 2019-09-09 10:52:34 +02:00
Christoph Oelckers
76ee658be4 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.
2019-09-09 09:52:33 +02:00
Christoph Oelckers
cbd4479628 - reinstated the old scriptwait implementation as a compatibility option.
Daedalus's MAP19 needs this.
2019-09-07 09:34:50 +02:00
alexey.lysiuk
37fa2e1b67 - fixed initial setup for dynamic light actors
They are attached and actived explicitly during usual actor initialization sequence
Postponed processing applicable to so called user dynamic lights must be skipped for them
RECREATELIGHTS flag handling for dynamic light actors had the opposite effect of deactivating them

https://forum.zdoom.org/viewtopic.php?t=65683
2019-09-02 12:20:13 +02:00
Jan Engelhardt
f16c09badb Make the build work with fluidsynth 2.x. 2019-08-31 21:47:53 +03:00
alexey.lysiuk
f5d2063613 - do thinker profiling of internal dynlights only when they are present
There is no point to output zero calls and/or handle such case in profiling stats calculation
2019-08-31 13:20:10 +03:00
alexey.lysiuk
49b790a8f6 - fixed: saving game to read-only file was erroneously reported as succeeded 2019-08-29 14:34:02 +03:00
hdr88
554eb1c813 Add current, max and average velocity as stat (#912)
* Add current, max and average velocity as stat
2019-08-28 20:33:07 +02:00
alexey.lysiuk
98128d9fa3 - added ability to specify deprecation messages in ZScript
It's an optional extension of deprecated keyword:
    deprecated("2.4", "use ModernFunction instead") int OldFunction();
    deprecated("3.5", "use ModernVariable instead") int OldVariable;

Usage of such members will produce the following report:
    Script warning, ":zscript.txt" line 123:
    Accessing deprecated function OldFunction - deprecated since 2.4.0, use ModernFunction instead
    Script warning, ":zscript.txt" line 456:
    Accessing deprecated member variable OldVariable - deprecated since 3.5.0, use ModernVariable instead
2019-08-28 13:37:48 +02:00
Vitaly Novichkov
1a070d12a1 GME update with bug-fixes
- True fix for infinite loops [please verify!]
- True fix for KSS silence
- Fix for HES distorted and unstable/random tempo
2019-08-25 15:38:39 +03:00
Magnus Norddahl
7d73616fda - release any references to command buffer when flushed 2019-08-25 12:12:29 +02:00
alexey.lysiuk
cc1f18a328 - fixed crash on parsing bad hex number
https://forum.zdoom.org/viewtopic.php?t=65718
2019-08-25 11:21:44 +03:00
alexey.lysiuk
574e079f17 - use own implementation of iswalpha() function
Character classification is no longer affected by quirks of standard library implementation
Lookup table for own function was generated with Python thanks to Unicode Database module from its standard library
Explicitly set locale for POSIX targets was reverted to C

https://forum.zdoom.org/viewtopic.php?t=65641&start=18#p1115930
2019-08-24 20:52:24 +02:00
Christoph Oelckers
48f2105cd1 - moved a few CCMDs from i_sound.cpp to s_sound.cpp. 2019-08-23 21:57:56 +02:00
Christoph Oelckers
45f6ed4cd1 Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-08-23 16:03:15 +02:00
Christoph Oelckers
66db894866 - split off all music code from s_sound.cpp 2019-08-23 17:15:19 +02:00
alexey.lysiuk
80ef9ca686 - set locale to US English UTF-8 for POSIX targets
Locale-dependent standard library functions didn't treat UTF-8 strings correctly, e.g. iswalpha() returns 0 for any non-latin letter
The same function from MSVC runtime classifies such characters as alphabetic even with C locale

https://forum.zdoom.org/viewtopic.php?t=65641&start=18#p1115930
2019-08-23 12:11:25 +03:00
Christoph Oelckers
1595bf30c6 Revert "- removed a few redundant includes"
This reverts commit 7cd5bd9773.

This commit was only meant for testing, not for publishing
2019-08-23 08:31:49 +02:00
Christoph Oelckers
7cd5bd9773 - removed a few redundant includes 2019-08-22 21:15:06 +02:00
alexey.lysiuk
c3edfdd946 - temporary solution to fix build of non-MSVC targets
Precompilation of prefix header for GCC and Clang requires some efforts thanks to CMake which doesn't support this feature out of the box
Existing thirparty solutions must be tuned to our needs, and our configuration should be adjusted to a chosen module
2019-08-22 11:30:40 +03:00
Christoph Oelckers
a56bdda3f0 Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-08-21 22:27:19 +02:00
Christoph Oelckers
b3deb30fa5 - changed license of portal.cpp to GPLv3
- list Eternity Engine as a source of some code in the main README.
2019-08-21 21:31:12 +02:00
Christoph Oelckers
13d031196b - removed redundant include. 2019-08-21 21:07:00 +02:00
alexey.lysiuk
772adc86be - fixed missing #include's for targets without precompiled header
src/utility/palette.cpp:76:21: error: ‘DBL_MAX’ was not declared in this scope
src/utility/palette.cpp:84:76: error: ‘pow’ was not declared in this scope
src/utility/palette.cpp:89:41: error: ‘abs’ was not declared in this scope
src/utility/palette.cpp:92:3: error: ‘fdist’ was not declared in this scope
src/utility/palette.cpp:196:46: error: ‘memcpy’ was not declared in this scope
src/utility/palette.cpp:298:19: error: ‘floor’ was not declared in this scope
2019-08-21 10:14:09 +03:00
Christoph Oelckers
b1953585fe - remove doomtypes.h include from files.h. 2019-08-20 23:14:00 +02:00
Christoph Oelckers
0abc66dbff - uncoupled the decompressors from ZDoom's internal error handling.
This code made it hard to repurpose this code for other tools, so now the error handler must be passed as a callback to OpenDecompressor.
2019-08-20 23:14:00 +02:00
Christoph Oelckers
3cfda930ea - removed all Doom specific dependencies from cmdlib.cpp/h.
This meant moving CleanseString and ParseHex elsewhere and removing the I_Error call from ScanDirectory.
2019-08-20 23:12:23 +02:00
Christoph Oelckers
38fec546a7 - moved the generic palette utilities and the matrix class to 'utility' 2019-08-20 23:05:20 +02:00
Christoph Oelckers
cf15ebc966 - inlined the entire ColorMatcher. 2019-08-20 23:05:19 +02:00
Marisa Kirisame
f9a41cf11e The wrong pointer was passed to ProcessMidPrint, which resulted in a crash. 2019-08-20 19:08:05 +02:00
Petr Kobalicek
747b3dfcfe AsmJit update 2019-08-19 21:02:36 +02:00
Christoph Oelckers
8b6c051bf8
Merge pull request #907 from OrdinaryMagician/sbar_overrides
Allow status bars to override notifications/prints/chat prompt
2019-08-19 19:45:09 +02:00
Marisa Kirisame
14dc288f22 Allow custom status bars to override notifications, centered prints and chat prompt. 2019-08-19 11:19:36 +02:00
Christoph Oelckers
1a94e169ff - changed colors for crosshair health display to keep this in line with other health indicators on the HUD.
Use green for 100% health, not 200% and move toward blue for higher health.
2019-08-18 19:28:40 +02:00
Hugo Locurcio
61badfd694 Improve crosshair health color to be more informative
With `crosshairhealth 2`, the crosshair will now
go from white to yellow, then yellow to red as the player's health
decreases. As the player's health increases up to 200, the crosshair
will also go from white to green to indicate overheal.
This is similar to the implementation in games like Xonotic.

The old behavior (`crosshairhealth 1`) is still the default.
2019-08-18 19:09:52 +02:00
Christoph Oelckers
94179a11f5 - fixed the PR. 2019-08-18 18:45:18 +02:00
cuttlefish
e4896e343b - Converts keyboard turnspeeds into global CVars 2019-08-18 18:30:37 +02:00
Christoph Oelckers
1dde2ef597 - added obituary fallbacks for actors that do not have any defined.
This is mainly for Dehacked mods which redefine decorations as monsters.
The fallback names are DEFOB_{classname} or DEFITOB_{classname}.
2019-08-18 18:28:09 +02:00
Christoph Oelckers
5c4e8783e9 - removed the internal WildMidi player object cleanup code.
This was solely meant for the original WildMidi player but got seriously in the way of how this code gets used by GZDoom. In GZDoom the player object is owned by the MIDI devive which should be the only instance which is allowed to destroy it.
2019-08-18 16:12:52 +02:00
Christoph Oelckers
ca805016c8 - fixed bad default alpha for 3D floors.
This is a byte value, therefore the default must be 255, not 65536.
2019-08-18 15:04:34 +02:00
Christoph Oelckers
9210811b74 - patch the token 'texture2d' in GLSL sources.
This builtin function no longer exists outside of backwards compatible GLSL compilers so it needs to be remapped to 'texture' so that user shaders still using it can compile.
2019-08-18 14:50:37 +02:00
Christoph Oelckers
ae57bc71d4 - fixed attached dynamic light setup.
This was only run on a state change and missed every external light change.
Any place which wants to flag a light change now only will set a flag and at the end of the thinker loop all flagged actors will be processed.
For performance reasons this was merged with the P_RunEffects iterator loop.
2019-08-18 13:48:52 +02:00
alexey.lysiuk
6e8ee9a684 - applied texture use type to special font with translation disabled 2019-08-18 11:44:00 +03:00
alexey.lysiuk
ce536485e1
- fixed typo in MAPINFO parser warning 2019-08-18 08:58:18 +03:00
alexey.lysiuk
a892e1f506 - added missing space character to script parser's message 2019-08-17 11:55:35 +03:00
alexey.lysiuk
c95a555f5e - added check for multiple parsing of the same MAPINFO
Warning message is issued when such case is detected
2019-08-17 11:53:29 +03:00
alexey.lysiuk
a5e10fd863 - remove '... is already the default skill' error 2019-08-17 11:49:16 +03:00
Patryk Obara
4c98b69b6b - use fallback implementation for C++ aligned_alloc
This function was introduced in C++17, then backported to older versions
of glibc++ library, but is not available in older releases (it's missing
from Ubuntu 12.04 derived SteamRT for example).
2019-08-16 20:44:29 +03:00
alexey.lysiuk
f317f69776 - added ability to enter main menu from credits screen via controller
There was only one way to enter main menu (by pressing Escape button) from the last intermission screen after episode's end
Controller's buttons that are usually assigned to this action, Start and Back by default, now open main menu as well

https://forum.zdoom.org/viewtopic.php?t=65632
2019-08-16 10:45:19 +03:00
Rachael Alexanderson
0d2bdfca99 - fix typo 2019-08-15 21:27:11 -04:00
alexey.lysiuk
28ea567c22 - fixed doubling of deprecation warnings for ZScript code
https://forum.zdoom.org/viewtopic.php?t=65617
2019-08-15 16:31:50 +03:00
alexey.lysiuk
06e0c88622 - exposed xBRZ scaler options as CVARs
Added 5 xbrz_... CVARs to control various settings of upscaling process

Added xbrz_colorformat CVAR for buffered (zero) and unbuffered (any other value) color format
The first one requires a restart because settings are applied once to a precalculated buffer
The second one has reduced performance with ability to apply settings on-the-fly
2019-08-14 23:00:53 +03:00
alexey.lysiuk
afab181505 - updated xBRZ scaler to version 1.7
https://sourceforge.net/projects/xbrz/
https://sourceforge.net/projects/xbrz/files/xBRZ/xBRZ_1.7.zip

https://forum.zdoom.org/viewtopic.php?t=65596
2019-08-14 22:51:44 +03:00
alexey.lysiuk
0cae5fc6e4 - removed type punning from xBRZ scaler integration
it was a hack that wouldn't work with xBRZ 1.7
2019-08-14 22:50:38 +03:00
Christoph Oelckers
347f6cf89a - 4.3pre 2019-08-13 17:48:36 +02:00
Christoph Oelckers
6cce1f1e52 - fixed uninitialized alpha channel in palette for savegame images. 2019-08-11 21:26:08 +02:00
Christoph Oelckers
5e4de10f97 - fixed survey data retrieval for Vulkan. 2019-08-11 21:26:08 +02:00
Christoph Oelckers
6cc9434788 - added checks for the special hacky quicksave marker. 2019-08-11 18:37:32 +02:00
Christoph Oelckers
cf74118d53 - fixed the extremely long standing bug that Lost Souls didn't reacquire their target when slamming into something.
This was one of that annoying old design mistakes where Doom and Heretic features were poorly merged together. The Heretic Gargoyle uses very similar coding but performs a subtly different action when actually hitting another actor. This different action was made the default, even for the Lost Soul.
It has now been changed that both monsters use their original action, being distinguished by an actor flag. For compatibility with custom definitions Heretic's behavior, which has been the default in ZDoom will be the preferred one. The one of the Lost Soul can be reactivated by a flag.
2019-08-11 09:00:29 +02:00
Christoph Oelckers
5953f492c1 - fixed: The OriginalSmallFont must always be created, even when the actual SmallFont is not the IWAD default. 2019-08-10 20:09:04 +02:00
alexey.lysiuk
07a2331ca3 - exposed Append() method to ZScript dynamic array
https://forum.zdoom.org/viewtopic.php?t=65570
2019-08-10 16:37:40 +03:00
Christoph Oelckers
541dcab89a - for debug builds run the survey code every time if enabled, but do not send survey data. 2019-08-09 23:18:28 +02:00
Christoph Oelckers
817190458d - fixed survey request. 2019-08-09 21:42:00 +02:00
Christoph Oelckers
3b4184816b - do not blur the background for portrait-less conversations. 2019-08-09 15:22:52 +02:00
Christoph Oelckers
1e4a32004b - fixed bad texture canvas checks when in truecolor software rendering. 2019-08-09 13:59:54 +02:00
Christoph Oelckers
53c2d7e8d2 - fixed: in order to ensure that all font characters are of texture type FontChar it is necessary to clone the texture instead of changing its use type.
The use type is being used for texture lookup, so changing this alters the texture lookup rules and may cause return of incorrect textures.
This also ensures that context depending upscaling rules get used, because FontChars are separate from regular textures.
2019-08-09 11:40:21 +02:00
Christoph Oelckers
afe4a45a76 - fixed: The frozen state was not reset when the global level variable was reset. 2019-08-09 10:39:09 +02:00
Christoph Oelckers
14a21c2a7e - made some changes to the survey code to give clearer output and removed a few obsolete things that are no longer relevant. 2019-08-09 10:18:15 +02:00
Christoph Oelckers
c3e3fda94a - fixed handling of the "ouch" face.
This depended on order of execution, taking the health values to compare from variables which were not synchronized properly.
Now both the last and current health being used here are being retrieved in the same place so that further changes cannot break this again.
2019-08-09 09:58:40 +02:00
Christoph Oelckers
5ca1bb3979 - fixed an inconsistency with missiles bouncing off actors.
They exploded when hitting a side but not when hitting top or bottom. Changed so that they always explode now.
2019-08-09 09:36:50 +02:00
Christoph Oelckers
a239675fb5 - fixed incorrect write barrier in sound sequence code. 2019-08-09 08:42:36 +02:00
Christoph Oelckers
8447525019 - fixed: Takedown of an expired HUD message did not properly detach it from the list. 2019-08-09 08:32:23 +02:00
Magnus Norddahl
d1026e4b5b - call vkDeviceWaitIdle before RAII tears down buffers 2019-08-08 20:56:11 +02:00
Christoph Oelckers
3c449f3908 - delete the teaser logs from SVE.WAD.
The way Strife has been set uo, it is not possible to have the full game and the teaser coexist without hackery.
2019-08-07 19:22:06 +02:00
Christoph Oelckers
43041c21d8 - made author names work with title patches.
Most importantly, specifying a patch may optionally disallow showing the autor's name - this is for cases where a styled patch gets used for English but text-based translations of the map name should still be possible.
2019-08-07 12:09:47 +02:00
Christoph Oelckers
be0478972a Merge branch 'master' of https://github.com/coelckers/gzdoom 2019-08-05 19:15:16 +02:00
alexey.lysiuk
d9dcc26dc6 - set default magnification filter for Metal layer to nearest
Magnification filter is applied to swapchain image when it's copied to a physical display surface
This is needed for gfx-portability because MoltenVK uses nearest sampling by default
2019-08-04 13:37:47 +03:00
alexey.lysiuk
c05ef39718 - do not set use type on font texture if it is used as a sprite
Setting texture use type in this case would break actors that use the corresponding sprite

https://forum.zdoom.org/viewtopic.php?t=65509
2019-08-03 15:42:06 +03:00
alexey.lysiuk
ff4bc8bab9 - use EXT_metal_surface extension for Vulkan surface creation
Prefer EXT_metal_surface over deprecated MVK_macos_surface extension, and use it only when modern one is not available
2019-08-03 13:16:12 +03:00
alexey.lysiuk
cf81ab465e - updated Vulkan headers to version 1.1.114
This is the latest version released with Vulkan SDK
New headers are needed for EXT_metal_surface
2019-08-03 10:52:04 +03:00
alexey.lysiuk
5870cb7ea1 - recreate Vulkan swapchain in case of surface lost error
Do not abort with fatal error when VK_ERROR_SURFACE_LOST_KHR was returned from vkAcquireNextImageKHR() or vkQueuePresentKHR()
So far, only gfx-portability implementation is reporting this error from time to time, usually on startup, entering the game, or task switching
2019-08-02 10:21:06 +03:00
Christoph Oelckers
3e99216967 - added option to print a map author's name on the summary screen
For now only with font-printed map names. Allowing this with titlepatches will require more work and an option to disable.
2019-08-02 09:11:40 +02:00
Christoph Oelckers
154af34cd9 - added an option to always display the log and the subtitles with the generic font.
If this is on it will disable the status bar's pop screen for the log and always use the HUD overlay instead.
2019-07-31 17:02:39 +02:00
Christoph Oelckers
c36dc137ba - made adjustments to the text placement on the summary screen.
With extended fonts much of the old code did not work anymore, this needed more precise checks for the sources of the printed texts.
2019-07-30 10:53:02 +02:00
alexey.lysiuk
370f5ef234 - fixed writing of texture matrices in Vulkan render backend
https://forum.zdoom.org/viewtopic.php?t=65479
2019-07-30 11:46:14 +03:00
Christoph Oelckers
afbd7f7a24 - increased StreamBuffer size because I got it to crash with comatose.wad once due to an overflow here. 2019-07-28 19:05:39 +02:00
Magnus Norddahl
ad8c5bb96e - add VkRenderPassManager::GetVertexFormat so that all VkRenderState access is done through functions that can then be made thread safe 2019-07-28 17:20:49 +02:00
Magnus Norddahl
76675a4d61 - add VkMatrixBufferWriter so that both buffers are used same way in VkRenderState 2019-07-28 17:04:56 +02:00
Magnus Norddahl
4adac3fe59 - move streaming uniform buffers out of VkRenderState 2019-07-28 16:28:43 +02:00
Christoph Oelckers
c577f1d743
Merge pull request #899 from khutchins/master
Adds option to use a quicksave rotation
2019-07-28 08:44:21 +02:00
Kevin Hutchins
5cb59018e0 Adds option to use a rotation of quicksaves instead of having one quicksave slot that needs to be manually created. 2019-07-27 12:09:55 -07:00
alexey.lysiuk
a308becb48 - pass NSView instance when creating macOS Vulkan surface
MoltenVK allows passing a layer, although Vulkan specs prohibit this
https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkMacOSSurfaceCreateInfoMVK.html

This helps with testing of renderer using Vulkan Portability Implementation
2019-07-27 12:55:05 +03:00
Christoph Oelckers
86d2742798 - allow switching the Strife conversation screen to the VGA font for all languages by a CVAR.
This is for readability purposes because the styled SmallFont may be problematic for some players.
2019-07-26 20:23:46 +02:00
Christoph Oelckers
495f2d9c82 - changed subtitle duration to last at least 7 seconds, even for shorter sounds so that there is sufficient time to read them. 2019-07-26 20:18:01 +02:00
alexey.lysiuk
222dfd17b7 - added ability to specify display duration of subtitles
Duration of sound playback and subtitles display will be synchronized if sound id is specified
For existing Strife messages this works out of the box

https://forum.zdoom.org/viewtopic.php?t=65379
2019-07-26 20:11:42 +02:00
Christoph Oelckers
4cfc650f5b - fixed line breaking on non-spaces for multi-byte UTF-8 characters.
This needs to backtrack the entire code point, not just one byte.
2019-07-24 21:40:17 +02:00
Major Cooke
15eabfd055 Added A_SoundPitch and an optional pitch parameter to A_PlaySound and S_Sound.
- Note: Because sound channels are not in zscript, there's no way to modify a sound made by S_Sound.
2019-07-24 20:15:24 +02:00
alexey.lysiuk
435f0bb0b0 - fixed crash on player unmorph after falling death
Rearranged conditions to avoid accessing player from obsolete morphed pawn
Unmorphing upon death resets player in morphed actor, so player alive state should be tested first
Removed duplicate health check as well

https://forum.zdoom.org/viewtopic.php?t=65429
2019-07-23 12:10:16 +03:00
Christoph Oelckers
c262591f0e - added alternative character mapping for Greek letters.
Although not really needed yet, this allows striking 19 characters off the support list, except for the Raven fonts without any real work.
2019-07-18 21:40:04 +02:00
3saster
5eb2a6b681 FPS counter no longer blocks level time on automap
Respects HUD & Console scaling
2019-07-18 10:41:23 +02:00
Christoph Oelckers
9219834a1a Revert "- fixed the calculations which decide whether to use an options menu for skills and episodes."
This reverts commit d308a1223b.

This does not work because the menu treats negative coordinates differently.
On top of that, changing size of the episode and skill menus dynamically depending on screen size is causing secondary problems so this is better reverted to the previous state.
2019-07-17 21:10:29 +02:00
Christoph Oelckers
95349822c4 - for the map name on the automap, fall back to the original SmallFont if the actual one cannot print it.
This is mainly for mods which provide a new font but do not alter the automap texts, a good example is Hell Revealed 2.
2019-07-17 20:28:07 +02:00
Christoph Oelckers
b37acef0c9 - added the two missing subtitle texts for Strife.
These are identical to the actual logs but it turned out that these texts need to be separate to avoid misbehavior.
This also disables the subtitles for the teaser because its log numbers collide with the full game.
2019-07-17 20:02:43 +02:00
Christoph Oelckers
77b1ebe0d7 - moved several IWAD dependent files into the game_support resource
* sprite offset definitions, which are IWAD dependent
* Freedoom's decal overrides
* conversation ID definitions for the Strife teasers
* the fallback BigFont now can also be loaded by IWADs which declare themselves as GAME_Heretic or GAME_Hexen.
2019-07-17 00:54:59 +02:00
Christoph Oelckers
9de462ee07 - renamed zd_extra.pk3 to game_support.pk3 2019-07-16 22:24:43 +02:00
Christoph Oelckers
56d03c8223 - remove test code. 2019-07-16 21:53:53 +02:00
Christoph Oelckers
38a1a05af3 - moved iwadinfo.txt to zd_extra.pk3.
This was done for two reasons:

1. It forces loading of zd_extra.pk3 for the stock IWADs, eliminating a certain kind of user error.
2. It removes the stock IWAD definitions for custom games that distribute the engine along with their data, so that it doesn't pick up on Steam and GOG installations and shows an inappropriate IWAD picker.
2019-07-16 20:22:15 +02:00
alexey.lysiuk
36ed7e5182 - fixed UMAPINFO episode parsing
* bounds checking for accessing episode tokens
* support empty tokens in episode definition
* handle upper cased episode shortcut

https://forum.zdoom.org/viewtopic.php?t=65364
2019-07-16 12:39:36 +03:00
alexey.lysiuk
b935218dc2 - fixed: subtitles background renains visible on new game
https://forum.zdoom.org/viewtopic.php?t=65366
2019-07-16 11:37:41 +03:00
Christoph Oelckers
7916cebdc1 - merged the Hacx extra stuff into zd_extra.pk3 and added the ability to inject data into the resource directory after the IWAD so that the base resources can provide content that can override IWAD data if broken or not usable.
Hacx in particular needs this to fix a handful of buggy actors and to override the IWAD's MAPINFO which is not localizable.
2019-07-15 21:23:46 +02:00
Christoph Oelckers
8177583e2f - treat configurations which load a secondary WAD on top of a primary IWAD like SVE to consider the secondary WAD an actual IWAD as well.
This fixes localization of the SVE menu.
2019-07-15 20:48:00 +02:00
drfrag
416f5d03b7 - Fixed compilation with MinGW. 2019-07-15 19:26:25 +02:00
alexey.lysiuk
f25e5c738c
- fixed compilation of Linux targets
src/../libraries/gdtoa/gdtoa.h:67:19: fatal error: arith.h: No such file or directory
2019-07-14 22:29:38 +03:00
Christoph Oelckers
7346288bf5 - moved some more files. 2019-07-14 21:09:49 +02:00