Commit graph

15731 commits

Author SHA1 Message Date
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
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