diff --git a/assets/click.mp3 b/assets/click.mp3 new file mode 100644 index 0000000..903f036 Binary files /dev/null and b/assets/click.mp3 differ diff --git a/audiotest.cpp b/audiotest.cpp new file mode 100644 index 0000000..cefb08f --- /dev/null +++ b/audiotest.cpp @@ -0,0 +1,32 @@ +#include +#include // for sleep_for +#include +#include +#include + +int main(int argc, char *argv[]) { + sf::SoundBuffer buffer; + sf::Sound click; + + if(argc != 2) { + fmt::println("USAGE: audiotest click.mp3"); + return 0; + } + + const char *in_file = argv[1]; + + if(!buffer.loadFromFile(in_file)) { + fmt::println("Failed to load {}", in_file); + } + + click.setBuffer(buffer); + + fmt::println("Playing {}. Hit ctrl-c to exit.", in_file); + + while(true) { + click.play(); + std::this_thread::sleep_for(std::chrono::milliseconds(1000)); + } + + return 0; +} diff --git a/dbc.hpp b/dbc.hpp index 759793b..a8b675d 100644 --- a/dbc.hpp +++ b/dbc.hpp @@ -46,6 +46,7 @@ namespace dbc { void check(bool test, const string &message) { if(!test) { string err = fmt::format("[CHECK!] {}\n", message); + fmt::println("{}", err); throw CheckError{err}; } } diff --git a/efsw.wrap b/efsw.wrap index 4de1f1f..f7844f5 100644 --- a/efsw.wrap +++ b/efsw.wrap @@ -2,6 +2,7 @@ url = https://github.com/SpartanJ/efsw.git revision = 1.3.1 depth = 1 +method = cmake # patch_filename = # patch_hash = diff --git a/libgit2.wrap b/libgit2.wrap index cefe2ec..9291d77 100644 --- a/libgit2.wrap +++ b/libgit2.wrap @@ -7,6 +7,5 @@ wrapdb_version = 2.4.1-3 # patch_filename = # patch_hash = - [provide] libgit2 = libgit2_dep diff --git a/meson.build b/meson.build index 3c6a8ad..e8fcf73 100644 --- a/meson.build +++ b/meson.build @@ -13,20 +13,18 @@ opts.add_cmake_defines({ libgit2_proj = cmake.subproject('libgit2', options: opts) libgit2package_dep = libgit2_proj.dependency('libgit2package') -efsw_proj = cmake.subproject('efsw') -efsw_dep = efsw_proj.dependency('efsw') - +efsw_dep = dependency('efsw') fmt = dependency('fmt') ftxui_screen = dependency('ftxui-screen') ftxui_dom = dependency('ftxui-dom') ftxui_component = dependency('ftxui-component') catch2 = dependency('catch2-with-main') -openal = dependency('openal') +sfml = dependency('sfml') dependencies = [ fmt, libgit2package_dep, efsw_dep, ftxui_screen, ftxui_dom, ftxui_component, - openal + sfml ] executable('escape_turings_tarpit', @@ -46,6 +44,9 @@ executable('ftxtest', 'ftxtest.cpp', executable('ftx_thread_test', 'ftx_thread_test.cpp', dependencies: dependencies) +executable('audiotest', 'audiotest.cpp', + dependencies: dependencies) + runtests = executable('runtests', [ 'game_engine.cpp', 'tests/game_engine.cpp'], diff --git a/scripts/reset_build.ps1 b/scripts/reset_build.ps1 index 06b7aec..7de185d 100644 --- a/scripts/reset_build.ps1 +++ b/scripts/reset_build.ps1 @@ -3,14 +3,19 @@ rm -recurse -force .\subprojects\,.\builddir\ mkdir subprojects mv .\packagecache .\subprojects\ cp *.wrap subprojects -# cp -recurse -force packagefiles subprojects mkdir builddir meson wrap install fmt -meson wrap install openal-soft meson wrap install sqlite3 meson wrap install sqlitecpp meson wrap install ftxui meson wrap install catch2 +meson wrap install libpng +meson wrap install vorbis +meson wrap install ogg +meson wrap install flac +meson wrap install freetype2 +meson wrap install openal-soft +meson wrap install sfml # $env:CC="clang" # $env:CXX="clang++" meson setup --default-library=static --prefer-static builddir