Commit graph

14205 commits

Author SHA1 Message Date
Christoph Oelckers
0be1ed252b - rewrote the operator>> methods of FileReader as normal functions for clarity. 2018-03-11 18:20:49 +01:00
Christoph Oelckers
833dbee167 - fixed some issues with m_swap's design.
The native byte order converters were defined as macros which hid some issues due to lack of type checks.
Additionally the ???Long variants taking 'long' variables were removed, because longs are not always 32 bits so this could be destructive.
As a result of this, removed several DWORDs from struct definitions in i_crash.cpp.
2018-03-11 14:35:36 +01:00
Christoph Oelckers
8bbfd39f42 - fixed some remaining issues:
* initial positioning in a subsection of a file failed. This mainly affected music playback.
* made the FileRdr constructor which takes a FileReaderInterface private so that everything that needs it must be explicitly declared as friend.
* removed a few redundant construction initializers for FileRdrs.
* loading compressed nodes needs to check the validity of its reader.
* use GetLength to detemine the size of a Zip file instead of doing another seek to the end.
* removed duplicate Length variables.
2018-03-11 13:26:30 +01:00
Christoph Oelckers
b14ee50d0d - transition to new FileReader interface complete, but untested. 2018-03-11 12:33:46 +01:00
Christoph Oelckers
247785bca2 - converted map loader to FileRdr and took the opportunity to clean up its interface. 2018-03-10 21:48:33 +01:00
Christoph Oelckers
6f8ca2eace - fixed a few issues from implicit FileReader conversion. 2018-03-10 20:47:17 +01:00
Christoph Oelckers
b315bc3be0 - added a few more FileRdr replacements
- fixed: The streaming music player must return the file reader if it fails to open, so that the next player can still use it.
- fixed: Timidity++'s Instruments class did not delete the sound font when it was destroyed.

..-
2018-03-10 20:33:49 +01:00
Christoph Oelckers
56991a9ace - Removed FileReader from SoundFont manager.
- renamed close_file to tf_close for consistency.
2018-03-10 20:10:17 +01:00
Christoph Oelckers
c4387459bb - use FileRdr in the PNG code, in particular to sanitize the savepic handling. 2018-03-10 19:22:26 +01:00
Christoph Oelckers
5fa63c396d - sound code and most of texture code converted to FileRdr.
This allowed to remove a lot of bad pointer voodoo in the music loader, because the new class does not allow duplication of the reader object
2018-03-10 18:45:11 +01:00
Rachael Alexanderson
9600cfde3c - put unexplored secret color picker in the menu 2018-03-10 10:55:24 -05:00
Rachael Alexanderson
37fa3fa25e - add variables 'am_unexploredsecretcolor' and 'am_ovunexploredsecretcolor' to mark undiscovered secrets differently in the automap 2018-03-10 10:36:43 -05:00
Christoph Oelckers
26e948357e - added an abstract FileReader wrapper.
The idea here is to decouple the actual reader creation from the code using them so that, for example, the Open function can decide if it wants to open the file regularly or memory mapped and return different readers as deemed useful. For that to work the exposed object needs to be an abstract wrapper so that this can be done without having to use pointers and all the drawbacks coming from that.
So far put to use in a few parts of the music code so the general functionality could be tested.
2018-03-10 13:46:35 +01:00
alexey.lysiuk
9cd5b415c1 Improved profilethinkers in various ways
Added features:
* Formatted table
* Average time per one actor
* Sorting column highlight
* Rows limit
* Usage help
2018-03-10 11:04:31 +02:00
alexey.lysiuk
fc981bf5d4 Extended profilethinkers CVAR with sorting ability
Sorting modes are
1 - by name, from A to Z
2 - by name, from Z to A
3 - number of calls, ascending
4 - number of calls, descending
5 - total time, ascending
anything else - total time, descending
2018-03-09 18:13:16 +02:00
alexey.lysiuk
d8e43dffbb Enabled quiet pk3 creation in CI configurations
Half of build log was polluted with useless file listings
2018-03-09 15:23:50 +02:00
alexey.lysiuk
7dce4cfaf9 Added CMake option to suppress zipdir output
Cleaned up add_pk3() function a bit
2018-03-09 15:20:55 +02:00
alexey.lysiuk
f5d5430804 Added ability to build without thread_local support
https://forum.zdoom.org/viewtopic.php?t=58043
2018-03-09 12:53:41 +02:00
alexey.lysiuk
1d28a7f8e0 Updated Travis CI configuration to use Clang 6.0 2018-03-09 10:47:01 +02:00
Magnus Norddahl
2589447d0e - fixed midtex nowrap clipping bug when 3d floors are in view
- made sure no code uses sclipTop or sclipBottom as a working variable
2018-03-09 01:30:47 +01:00
alexey.lysiuk
53a9819283 Disabled GCC loop vectorization for R_LoadKVX() function
This prevents crash (unaligned memory access by SSE instruction) on loading voxels in Release (-O3) builds
https://forum.zdoom.org/viewtopic.php?t=59656
2018-03-08 12:24:33 +02:00
alexey.lysiuk
7f17121df8 Fixed crash in MIDI to wave writer 2018-03-08 11:38:02 +02:00
alexey.lysiuk
cea64ea092 Moved old Nuked and Java OPL3 to own namespaces
This helps to avoid clashing of OPL3 classes
2018-03-08 10:18:49 +02:00
alexey.lysiuk
114e56b334 Moved old NukedOPL to own namespace
This fixes linking issues on non-MSVC targets and improves code navigation
2018-03-08 09:51:37 +02:00
alexey.lysiuk
15138c38ca Improved organization of ADLMIDI files in CMake generated projects 2018-03-08 09:49:51 +02:00
Magnus Norddahl
6ab58e56ad - fix simplify code slightly 2018-03-08 04:25:27 +01:00
Magnus Norddahl
71623198d2 - remove fake3D with structs and localize their usage instead of sharing global state 2018-03-08 04:05:35 +01:00
Magnus Norddahl
7cb4deabdd - get rid of FAKE3D_REFRESHCLIP and fix holes in 3d floors with wrapped midtextures 2018-03-08 01:28:23 +01:00
Magnus Norddahl
a55be25a9d - add const qualifier on top/bottom clip arrays usage 2018-03-08 00:55:37 +01:00
Christoph Oelckers
2d2d44baad - integrated ADL as a proper device in the MIDI device list.
- resorted the MIDI device menu option by device types (i.e. all SW synths first, FM synths second)
- allow setting the ADL bank.
2018-03-07 21:20:25 +01:00
Christoph Oelckers
fd801b8b94 Merge branch 'adlMIDI'
# Conflicts:
#	src/sound/musicformats/music_midistream.cpp
2018-03-07 20:31:32 +01:00
alexey.lysiuk
e51a1867df Added default values for BaseStatusBar.AttachMessage() arguments 2018-03-07 16:00:08 +02:00
alexey.lysiuk
4f1f989049 Exposed HUDMSGLayer_... constants to ZScript 2018-03-07 15:58:43 +02:00
alexey.lysiuk
81bc05b7c5 Added support for default values of arguments with uint type 2018-03-07 15:58:06 +02:00
Christoph Oelckers
9b61ee9618 - fixed: The MIDI wave writer set the sample rate to save at too late.
This was done after the players had already been created. To ensure that everything gets set properly it is necessary to pass the desired sample rate to the device's constructor and let it make sure that a proper sample rate gets set.
2018-03-06 22:41:27 +01:00
alexey.lysiuk
72831c9db7 Fixed archiving of CVARs with default values
https://forum.zdoom.org/viewtopic.php?t=59701
2018-03-06 22:46:18 +02:00
Christoph Oelckers
4d4edcfbfb - fixed setup for Timidity++ playback frequency. 2018-03-06 19:52:29 +01:00
alexey.lysiuk
4b7e57b007 Fixed selection of soundfont with spaces in its name 2018-03-06 13:05:38 +02:00
Christoph Oelckers
774a7773a4 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-05 20:39:34 +01:00
alexey.lysiuk
adae6c19b8 Made left button down event available to UI event handler
Main menu is no longer triggered in game on left mouse button press when handler is processing UI events
https://forum.zdoom.org/viewtopic.php?t=59673
2018-03-05 16:53:17 +02:00
alexey.lysiuk
3e9de3788d Fixed spelling of MissileShootersActivateImpactLines MAPINFO property
https://forum.zdoom.org/viewtopic.php?t=59686
2018-03-05 15:02:39 +02:00
alexey.lysiuk
77e1a1d289 Replaced usages of fluid_settings_getstr() function
This function is deprecated since FluidSynth 1.1.9 and removed in upcoming 2.x
2018-03-05 12:31:50 +02:00
alexey.lysiuk
ac47166894 Fixed freeze after saving game when cl_waitforsave CVAR set to false
Restored assertions that help to spot incorrect usage of I_FreezeTime() function
https://forum.zdoom.org/viewtopic.php?t=59672
2018-03-04 15:11:45 +02:00
alexey.lysiuk
d0ec6ef1d4 TiMidity++ now loads SF2 soundfont with spaces in path 2018-03-04 13:09:29 +02:00
alexey.lysiuk
d802abec5b Fixed initialization of search paths on macOS
IWAD directories previously set in user configuration file led to inconsistent file and soundfont search paths
2018-03-04 11:06:11 +02:00
Marisa Kirisame
c9613b2fd1 Make sidedef vertex and secplane height functions callable from ui 2018-03-03 17:10:32 +01:00
alexey.lysiuk
8145b52037 Added explicit fallback to default soundfont
With no soundfonts found the game crashed on startup
Local UNIX build had the same issue because $PROGDIR/soundfonts is not in search path
2018-03-03 15:17:30 +02:00
alexey.lysiuk
4053e18835 Allowed CVARs to be set in unsafe context
CVAR values set in unsafe context are not written to user configuration file
This does not affect mod's CVARs

https://forum.zdoom.org/viewtopic.php?t=59484
2018-03-03 10:26:28 +01:00
Christoph Oelckers
2541bd93fc - made DHUDMessageBase non-abstract. 2018-03-03 09:52:34 +01:00
Marisa Kirisame
069c5aa90a Fix accidentally removed SectorPlane assignment. Added missing HitVector support. 2018-03-03 09:30:06 +01:00