Commit graph

35 commits

Author SHA1 Message Date
Christoph Oelckers
4da196a416 UTF8 conversion stuff.
This is for dealing with Unicode file names which cannot be handled with an idealized Unicode approach as was present before.
utf8proc was included to handle normalization because with externally provided filenames we have no control over enforcing our pld rules.
2023-12-10 10:29:38 +01: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
Cacodemon345
ba9ce0e83f Switch to miniz from zlib 2023-09-17 23:52:51 +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
a46c0a52b6 - re-added the UTF-8 char formatter which is needed for ZScript. 2023-08-09 11:52:08 +02:00
Christoph Oelckers
fdad3186a6 - replaced zstrformat with stb_sprintf.
The main advantage here is that this allows to get rid of the gdtoa dependency, it is also preferable to have some code here that's being maintained.
Feature-wise both are mostly identical, stb also support MSFT integer size modifiers and hexadecimal floats.
2023-08-09 11:51:46 +02:00
Christoph Oelckers
d3fa699782 - updated stb_image.h. 2023-08-09 08:25:04 +02:00
Christoph Oelckers
979f4311fa - moved stb_image.h to third party folder. 2023-08-09 08:22:47 +02:00
Christoph Oelckers
15465f0785 - backported RapidJSON fix from Raze. 2023-04-01 12:45:55 +02:00
Christoph Oelckers
cbff526cc7 - updated RapidJson library.
This still needed the Nan hotfix to be reapplied. The problem hasn't been addressed yet. :(
2023-03-26 08:48:54 +02:00
Christoph Oelckers
57add9a45c - fixed some warnings and updated vectors.h 2022-10-15 12:10:01 +02:00
Chris Robinson
d11e2ef1ac Always output 16-bit samples from SmackerDecoder 2022-10-10 08:33:23 +02:00
Chris Robinson
3b6723e6f2 Better report the number of Smacker audio tracks 2022-10-10 08:33:23 +02:00
Chris Robinson
5d00b96e5f Read Smacker video and audio data separately 2022-10-10 08:33:23 +02:00
Chris Robinson
19a4eb79aa Read in full packets at a time from smacker files 2022-10-10 08:33:23 +02:00
Christoph Oelckers
c89ae6358e - Backend update from Raze, mostly maintenance changes without new functionality. 2022-08-11 22:51:19 +02:00
Rachael Alexanderson
c9e01353b0 - define ARM64's endianness in rapidjson 2022-05-10 16:43:57 -04:00
Christoph Oelckers
7ed8d3b3e2 - screenjob. fixes from Raze 2022-04-26 20:50:35 +02:00
Christoph Oelckers
69a7715a02 - added all the prerequisites for the cutscene system from Raze:
* libvpx library
* libsmackerdec
* playmve
* MoviePlayer class.
* ScreenJob engine core.
2022-04-26 20:50:34 +02:00
Christoph Oelckers
c8296f0d7c - cast arguments for fastcos/sinbam
Use xs_Float to ensure proper wraparound which is important here.
2022-04-15 22:31:12 +02:00
Christoph Oelckers
a97a2ec133 - backend sync with Raze
Nothing really useful here…
2022-04-11 00:26:50 +02:00
Rachael Alexanderson
b9e0473392 - move richpresence into common code to be sync with Raze 2022-03-18 03:36:34 -04: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
c598d9bab7 - Backend update from Raze.
* TArray extensions
* MSVC setup so that [[deprecated]] emits warnings.
2021-11-12 09:36:46 +01:00
Christoph Oelckers
e453f97872 - Backend update from Raze. 2021-07-11 09:53:01 +02:00
Christoph Oelckers
8a4fa8b65f - backend update from Raze. 2021-05-17 20:44:19 +02:00
Christoph Oelckers
ba146ed5e5 - Backend update from Raze 2021-04-19 12:58:35 +02:00
Christoph Oelckers
f11780600f - implemented replay gain calculation and management.
This is done entirely on the streamed sound data, unlike the old relative volume which uses the backend's volume setting.
2021-03-10 23:06:21 +01:00
Christoph Oelckers
65c52b9825 - Backend update. 2020-10-16 23:25:18 +02:00
Christoph Oelckers
96ceb11af0 - various engine updates from Raze.
* removed refreshFreq variable and related code. This only got into the backend because of stupid interpolation code in some of the Build games which has long been removed.
* save FixedBitArrays as base64 in savegames.
* allow indirections in the string table - by prefixing the language string with '$$' the remaining text is interpreted as another string label to resolve.
* constexpr in palette code, also replacing #defines with enums.
2020-09-27 10:17:58 +02:00
Christoph Oelckers
4881ec257a - don't let CHANF_AUTO hijack other channels.
With CHANF_OVERLAP this isn't needed anymore - any sound started on CHAN_AUTO can actually play on this channel with overlap implicitly allowed.
This has the added advantage that these sounds can be reliably accessed with other function by using CHAN_AUTO.
2020-05-26 22:19:30 +02:00
Christoph Oelckers
5a1c4693de - moved SFMT to 'common'.
Now it is third party code with no hooks into higher level dependencies.
2020-04-11 14:00:14 +02:00
Christoph Oelckers
669e8fbe48 - started some reorganization of low level utility code by moving all third party dependencies to a separate place. 2020-04-11 14:00:12 +02:00