9 Commits

Author SHA1 Message Date
Roman Fomin
4463f86dea split i_oalmusic.h into two files, do not link OPL with OpenAL 2023-04-29 10:19:42 +07:00
Roman Fomin
8058a800d3
implement modplug stream module (#976)
* update workflows

* implement stream_module_t interface, use it for sndfile and modplug

This way we got the proper pause, loop and gain for the modplug module.
2023-04-06 18:59:53 +07:00
Roman Fomin
1a278d6105
switch to OpenAl for sound mixing (#967)
* switch to OpeanAl for sound mixing

* Rewrote Load_SNDFile() to use float format. Made libsndfile mandatory.

* update main.yml workflow

* implement OpeanAl music streaming

* remove i_sdlmusic.c and SDL_Mixer dependecy

* enable mpeg support in libsndfile

* require SndFile 1.1.0

* check SF_FORMAT_MPEG_LAYER_III symbol

* use AL_GAIN for opl_gain
2023-04-04 19:46:58 +07:00
Fabian Greffrath
36060400fa sort source files alphabetically in CMakeLists.txt files 2023-01-05 09:57:52 +01:00
Roman Fomin
b69852fb07
switch to vcpkg for MSVC build (#855)
* switch to vcpkg for MSVC build

* Remove library downloads and install in MSYS2 environment.

* Add vcpkg.json with dependencies.

* add vcpkg to CI

* fix parallel linking conflict (files with the same name)

* use vcpkg targets (fix debug build)

* delete cross compilation toolchain files, update README.md

* switch to ninja for MSVC build

* turn off MSYS2 update

* use binary caching feature, save to GitHub using NuGet backend

* This works much more robust, also it's recommended method:
  https://github.com/microsoft/vcpkg/blob/master/docs/users/binarycaching.md

* move MSVC workflow to separate file, don't run it on pull request
2022-12-30 20:44:59 +07:00
Roman Fomin
000bcd5e72
implement M_getenv for compatibility with non-Latin paths on Windows (#667)
* implement M_getenv for compatibility with non-Latin paths on Windows

* use regular wcslen

SDL_wcslen is undocumented

* fix memory leak

* cache the `wenv == NULL` case
2022-07-18 21:07:33 +07:00
Roman Fomin
59edb68106
fix all MSVC warnings (#606)
* fix all MSVC warnings

* fix -mapangle

* clarify comments

* fix mapangle again
2022-06-18 11:59:54 +02:00
Fabian Greffrath
c8b2fbd531
remove native OPL access implementations (#262) 2021-09-01 08:37:54 +02:00
Fabian Greffrath
3af836ec2e
add OPL emulation from Chocolate Doom (#258)
* add OPL emulation from Chocolate Doom

* get rid of detect_voices

* split the SDL music backend into a separate source file

* add post-realloc() check

* add OPL emulation copyright holders

* add some minimal comments

* add config variable and menu item

* sacrifice PCX format screenshot menu entry
2021-08-25 14:31:12 +02:00