Christoph Oelckers
ac646e96be
use copystring instead of strdup when reading environments.
...
The mismatched the underlying code which allocates via copystring.
2023-10-08 11:54:14 +02:00
Christoph Oelckers
6055ff029d
the remaining GetChars additions.
...
The offending operator const char * no longer exists.
2023-10-07 23:44:01 +02:00
Christoph Oelckers
7a5a2858a2
yet even more GetChars calls added.
2023-10-07 23:29:24 +02:00
Christoph Oelckers
c94c63110e
added a third batch of GetChars call to FStrings.
2023-10-07 23:03:40 +02:00
Christoph Oelckers
89535b803a
Backend update from Raze.
2023-10-07 18:42:24 +02:00
Christoph Oelckers
48ba63c022
added even more explicit GetChars() calls.
2023-10-03 15:55:08 +02:00
Cacodemon345
ba9ce0e83f
Switch to miniz from zlib
2023-09-17 23:52:51 +02:00
Christoph Oelckers
52ec2b2a5b
- listsounds CCMD
2023-09-13 21:10:08 +02:00
Christoph Oelckers
ebb71cebf1
- put the entire filesystem code into a namespace and created some subdirectories.
2023-08-22 22:54:54 +02:00
Christoph Oelckers
2c2bf0265f
- refactored all places which treated FileData as zero terminated.
2023-08-22 22:54:53 +02:00
Christoph Oelckers
eccbafc1bc
- let FileData.GetString only return a const char pointer.
...
Not exposing the implementation will allow a lot more optimization in the backend and we also want to get rid of FString here.
2023-08-22 22:18:53 +02:00
Christoph Oelckers
5398045f7d
- got rid of FileSystem::GetFileData.
...
Using FMemFile is better in all these places.
2023-08-22 22:18:53 +02:00
Christoph Oelckers
21d6eb99eb
use std::vector as return value for the FileReader's buffer readers.
2023-08-22 22:18:21 +02:00
Christoph Oelckers
5f3d25ef44
- use ScanDirectory in all places where the findfile API was used.
...
This allows to completely hide its implementation details from the rest of the code which only gets a list of file names now.
2023-08-22 21:49:54 +02:00
Christoph Oelckers
7fee89d1f5
- uncouple the file system from the engine's Printf function.
...
This is needed to use it in non GZDoom based projects.
2023-08-17 21:36:22 +02:00
Cacodemon345
14a3cf8fc2
CMakeLists upgrade to 3.16 and cleanup
...
* Remove precompiled header hack
* Fixes for compilation on VS2022 Debug configurations
2023-08-14 19:30:50 +02:00
Christoph Oelckers
4538236a38
- cleaned i_music.h off external dependencies.
...
* take I_BuildMIDIMenuList out of it
* pass the command line state to disable music from the init call.
* don't declare internal 'nomusic' variable in the header.
2023-06-17 09:49:15 +02:00
Christoph Oelckers
89d8c7b4fe
- minor cleanup of i_soundinternal.h.
2023-06-16 20:51:26 +02:00
Christoph Oelckers
acfe82b9a8
- Backend update from Raze.
2023-05-27 09:31:17 +02:00
Christoph Oelckers
47b76180d6
- fixed several warnings emitted by Clang.
2023-03-26 08:48:54 +02:00
Christoph Oelckers
f6bfc48d9f
- Backend update from Raze.
2023-02-11 12:05:45 +01:00
Emanuele Disco
faaf938b18
refactor: add some logs to help understand what is happening during soundfont selection.
...
It helps understand what soundfont is currently used
refs: https://github.com/ZDoom/ZMusic/pull/44
2023-01-24 07:19:23 -05:00
Christoph Oelckers
3ea49a66d1
- cleaned up the pitch management in the sound backend.
...
This now treats all pitch methods equally instead of the preferential treatment of Doom's original pitch hack. Most importantly, the sound channel now stores the pitch as a floating point value instead of 9.7 fixed point.
snd_pitched now also gets checked in the sound engine, not the low level interface.
2023-01-15 14:01:37 +01:00
Christoph Oelckers
941c0850ba
- Backend update from Raze.
...
Mainly optimizations for the sound system and texture manager.
2022-12-18 16:19:18 +01:00
Christoph Oelckers
473221bb33
- fixed SoundEngine::isValidSoundId.
...
This never accounted for linked and random sounds. It never got noticed because it never was used to validate anything essential before.
2022-11-25 10:28:18 +01:00
Christoph Oelckers
65a26d6779
- removed the string constructors from FSoundID.
...
Due to C++ conversion rules this was a bit too volatile. There's really not enough places where being able to pass a string directly into the sound API was beneficial - the two most frequent functions now got overloaded variants.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
b89c4affae
- removed the string assignment operators.
...
These all caught literal 0's as well
2022-11-24 23:52:52 +01:00
Christoph Oelckers
d173c0453c
- handle all remaining places of sound ID conversions after removing the conversion operators.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
160633a4a2
- migrate a large part of the sound code to FSoundIDs.
...
This has always been a wild mixture of IDs and ints.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
1a6da52961
- use FSoundID in SoundEngine's interface.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
d13f12cc37
- this should take care of the S_* interface.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
7e8de9d1ba
- made more use of FSoundID.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
4d1b44d9e3
- eliminated GetSounds from the sound engine's interface.
2022-11-24 23:52:51 +01:00
Christoph Oelckers
671b8696bb
- made CVar declarations type safe again.
2022-10-22 09:29:38 +02:00
Christoph Oelckers
453688ccc6
- reworked CVARs to not use a linked list and to be initialized manually.
...
This solves two problems:
* The linked list is too slow, a map is better. A map cannot be used with statically allocated CVARs because order of initialization is undefined.
* The current CVAR system is an unordered mishmash of static variables and dynamically allocated ones and the means of identification are unsafe. With this everything is allocated on the heap so it can all be handled the same by the cleanup code.
2022-10-21 18:56:43 +02:00
Christoph Oelckers
c0c9f8e15c
- Backend update from Raze.
2022-10-14 20:11:05 +02:00
Chris Robinson
7401e02a14
Include the source latency for movie audio synchronization
2022-10-10 08:33:23 +02:00
Chris Robinson
23fff7791e
Update and use OpenAL Soft's extension headers
2022-10-10 08:33:23 +02:00
Chris Robinson
78f40fe99c
Add a method to retrieve the play position of a SoundStream
2022-10-10 08:33:23 +02:00
Chris Robinson
c808aad595
Play the VPX "soundtrack" as a SoundStream
2022-10-10 08:33:23 +02:00
Christoph Oelckers
519005ff4d
- snd_reset cannot be shared.
2022-10-02 20:22:23 +02:00
Christoph Oelckers
207913bced
- added a config getter to the interface.
...
Now the only external reference left in the backend code is the call to GameMain.
2022-10-02 18:42:08 +02:00
Christoph Oelckers
8aaab153fa
- add a system interface for CheckCheatmode and moved some sound code to the backend.
2022-10-02 16:48:56 +02:00
Christoph Oelckers
c596095fe0
- minor cleanup.
2022-10-02 14:36:49 +02:00
Christoph Oelckers
65f6e788eb
- moved gitinfo.h into the backend
2022-10-02 14:20:15 +02:00
Emanuele Disco
71dedf6c87
Fixed GUS Emulation with DMXGUS(C) lump conf.
...
- changed default value for midi_config to empty string since gus is not working with sf2 file
- fixed SetupDMXGUS not loading lump correctly, wrong use of CheckNumForFullName
- midi_config default to empty string, since lzdoom.sf2 doesn't seem supported (distorted sound)
- added absolute paths to FZipPatReader so we can add custom patches to resource files by using gus_patchdir and/or ULTRADIR variable (some custom maps has custom patches that can be added this way without putting them inside the resource file or in the same folder of the configuration file)
- set timidity_reverb_level min value to 0 in menudef.txt, set to 9 by mistake?
2022-04-09 22:45:31 +02:00
Christoph Oelckers
64ef03428d
- added proper range check to the main sound playing function.
...
We got a report where this crashed on a bad sound index.
2022-01-07 00:16:30 +01:00
Christoph Oelckers
e60e6967c0
- whitespace cleanup, updated from Raze.
2022-01-02 12:23:42 +01:00
Christoph Oelckers
1c517d19fa
- Backend update from Raze.
...
This is mainly code cleanup from setting the compiler to a stricter warning level.
2022-01-02 11:39:17 +01:00
Christoph Oelckers
77d74a11d1
- removed most templates.h includes.
2021-10-30 10:49:12 +02:00