Now working on the new SFML with better audio.
This commit is contained in:
parent
2d81f900be
commit
c47e688b0b
15 changed files with 189 additions and 169 deletions
6
Makefile
6
Makefile
|
@ -1,4 +1,4 @@
|
||||||
all: build test
|
all: build
|
||||||
|
|
||||||
reset:
|
reset:
|
||||||
powershell -executionpolicy bypass .\scripts\reset_build.ps1
|
powershell -executionpolicy bypass .\scripts\reset_build.ps1
|
||||||
|
@ -6,8 +6,8 @@ reset:
|
||||||
patch:
|
patch:
|
||||||
powershell "cp ./patches/process.h ./subprojects/libgit2-1.9.0/src/util/process.h"
|
powershell "cp ./patches/process.h ./subprojects/libgit2-1.9.0/src/util/process.h"
|
||||||
|
|
||||||
build: patch
|
build:
|
||||||
meson compile -j 4 -C builddir
|
meson compile -C builddir
|
||||||
|
|
||||||
config:
|
config:
|
||||||
powershell "cp tarpit_sample.json .tarpit.json"
|
powershell "cp tarpit_sample.json .tarpit.json"
|
||||||
|
|
14
builder.cpp
14
builder.cpp
|
@ -72,11 +72,13 @@ MatchResult Builder::parse_line(const string &line) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Builder::BUILDING(BuildEvent ev) {
|
void Builder::BUILDING(BuildEvent) {
|
||||||
// check if there's output
|
// check if there's output
|
||||||
if(build_done) {
|
if(build_done) {
|
||||||
int rc = pclose(build_out);
|
int rc = pclose(build_out);
|
||||||
|
|
||||||
|
fmt::println("PCLOSE RETURNED: {}", rc);
|
||||||
|
|
||||||
if(rc == 0) {
|
if(rc == 0) {
|
||||||
game.event(GameEvent::BUILD_SUCCESS);
|
game.event(GameEvent::BUILD_SUCCESS);
|
||||||
gui.build_success();
|
gui.build_success();
|
||||||
|
@ -98,7 +100,7 @@ void Builder::BUILDING(BuildEvent ev) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Builder::START(BuildEvent ev) {
|
void Builder::START(BuildEvent) {
|
||||||
gui.output(fmt::format("Using build command: {}", build_cmd));
|
gui.output(fmt::format("Using build command: {}", build_cmd));
|
||||||
fileWatcher = new efsw::FileWatcher();
|
fileWatcher = new efsw::FileWatcher();
|
||||||
dbc::check(fileWatcher != nullptr, "Failed to create filewatcher.");
|
dbc::check(fileWatcher != nullptr, "Failed to create filewatcher.");
|
||||||
|
@ -118,7 +120,7 @@ void Builder::START(BuildEvent ev) {
|
||||||
state(BuildState::WAITING);
|
state(BuildState::WAITING);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Builder::WAITING(BuildEvent ev) {
|
void Builder::WAITING(BuildEvent) {
|
||||||
if(listener->changes) {
|
if(listener->changes) {
|
||||||
game.event(GameEvent::BUILD_START);
|
game.event(GameEvent::BUILD_START);
|
||||||
gui.building();
|
gui.building();
|
||||||
|
@ -127,7 +129,7 @@ void Builder::WAITING(BuildEvent ev) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Builder::FORKING(BuildEvent ev) {
|
void Builder::FORKING(BuildEvent) {
|
||||||
if(build_fut.valid()) {
|
if(build_fut.valid()) {
|
||||||
std::future_status status = build_fut.wait_for(0ms);
|
std::future_status status = build_fut.wait_for(0ms);
|
||||||
|
|
||||||
|
@ -146,7 +148,7 @@ void Builder::FORKING(BuildEvent ev) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Builder::READING(BuildEvent ev) {
|
void Builder::READING(BuildEvent) {
|
||||||
// BUG: too much copy-pasta so turn this into a class?
|
// BUG: too much copy-pasta so turn this into a class?
|
||||||
if(read_fut.valid()) {
|
if(read_fut.valid()) {
|
||||||
std::future_status status = read_fut.wait_for(0ms);
|
std::future_status status = read_fut.wait_for(0ms);
|
||||||
|
@ -164,7 +166,7 @@ void Builder::READING(BuildEvent ev) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Builder::DONE(BuildEvent ev) {
|
void Builder::DONE(BuildEvent) {
|
||||||
if(game.is_dead()) {
|
if(game.is_dead()) {
|
||||||
gui.you_died();
|
gui.you_died();
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#include "gui.hpp"
|
#include "gui.hpp"
|
||||||
#include <fmt/core.h>
|
#include <fmt/core.h>
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main()
|
||||||
{
|
{
|
||||||
GameEngine game{100};
|
GameEngine game{100};
|
||||||
auto backend = SFMLBackend(game);
|
auto backend = SFMLBackend(game);
|
||||||
|
|
112
meson.build
112
meson.build
|
@ -1,5 +1,74 @@
|
||||||
project('turings_tarpit', 'cpp',
|
# clang might need _LIBCPP_ENABLE_CXX26_REMOVED_CODECVT
|
||||||
default_options: ['cpp_std=c++20'])
|
|
||||||
|
project('turings-tarpit', 'cpp',
|
||||||
|
version: '0.1.0',
|
||||||
|
default_options: [
|
||||||
|
'cpp_std=c++20',
|
||||||
|
'cpp_args=-D_GLIBCXX_DEBUG=1 -D_GLIBCXX_DEBUG_PEDANTIC=1',
|
||||||
|
])
|
||||||
|
|
||||||
|
# use this for common options only for our executables
|
||||||
|
cpp_args=[]
|
||||||
|
link_args=[]
|
||||||
|
# these are passed as override_defaults
|
||||||
|
exe_defaults = [ 'warning_level=2' ]
|
||||||
|
|
||||||
|
cc = meson.get_compiler('cpp')
|
||||||
|
dependencies = []
|
||||||
|
|
||||||
|
if build_machine.system() == 'windows'
|
||||||
|
add_global_link_arguments(
|
||||||
|
'-static-libgcc',
|
||||||
|
'-static-libstdc++',
|
||||||
|
'-static',
|
||||||
|
language: 'cpp',
|
||||||
|
)
|
||||||
|
|
||||||
|
sfml_main = dependency('sfml_main')
|
||||||
|
opengl32 = cc.find_library('opengl32', required: true)
|
||||||
|
winmm = cc.find_library('winmm', required: true)
|
||||||
|
gdi32 = cc.find_library('gdi32', required: true)
|
||||||
|
|
||||||
|
dependencies += [
|
||||||
|
opengl32, winmm, gdi32, sfml_main
|
||||||
|
]
|
||||||
|
exe_defaults += ['werror=true']
|
||||||
|
|
||||||
|
elif build_machine.system() == 'darwin'
|
||||||
|
add_global_link_arguments(
|
||||||
|
language: 'cpp',
|
||||||
|
)
|
||||||
|
|
||||||
|
opengl = dependency('OpenGL')
|
||||||
|
corefoundation = dependency('CoreFoundation')
|
||||||
|
carbon = dependency('Carbon')
|
||||||
|
cocoa = dependency('Cocoa')
|
||||||
|
iokit = dependency('IOKit')
|
||||||
|
corevideo = dependency('CoreVideo')
|
||||||
|
|
||||||
|
link_args += ['-ObjC']
|
||||||
|
exe_defaults += ['werror=false']
|
||||||
|
dependencies += [
|
||||||
|
opengl, corefoundation, carbon, cocoa, iokit, corevideo
|
||||||
|
]
|
||||||
|
endif
|
||||||
|
|
||||||
|
catch2 = dependency('catch2-with-main')
|
||||||
|
fmt = subproject('fmt').get_variable('fmt_dep')
|
||||||
|
json = dependency('nlohmann_json')
|
||||||
|
freetype2 = dependency('freetype2')
|
||||||
|
|
||||||
|
flac = dependency('flac')
|
||||||
|
ogg = dependency('ogg')
|
||||||
|
vorbis = dependency('vorbis')
|
||||||
|
vorbisfile = dependency('vorbisfile')
|
||||||
|
vorbisenc = dependency('vorbisenc')
|
||||||
|
sfml_audio = dependency('sfml_audio')
|
||||||
|
sfml_graphics = dependency('sfml_graphics')
|
||||||
|
sfml_network = dependency('sfml_network')
|
||||||
|
sfml_system = dependency('sfml_system')
|
||||||
|
sfml_window = dependency('sfml_window',
|
||||||
|
default_options: ['default_library=shared'])
|
||||||
|
|
||||||
cmake = import('cmake')
|
cmake = import('cmake')
|
||||||
opts = cmake.subproject_options()
|
opts = cmake.subproject_options()
|
||||||
|
@ -14,36 +83,39 @@ libgit2_proj = cmake.subproject('libgit2', options: opts)
|
||||||
libgit2package = libgit2_proj.dependency('libgit2package')
|
libgit2package = libgit2_proj.dependency('libgit2package')
|
||||||
|
|
||||||
efsw = dependency('efsw')
|
efsw = dependency('efsw')
|
||||||
fmt = subproject('fmt').get_variable('fmt_dep')
|
|
||||||
catch2 = dependency('catch2-with-main')
|
|
||||||
sfml = dependency('sfml')
|
|
||||||
json = dependency('nlohmann_json')
|
|
||||||
imgui = dependency('imgui-sfml')
|
|
||||||
|
|
||||||
dependencies = [
|
dependencies += [
|
||||||
fmt, libgit2package, efsw,
|
fmt, json, freetype2,
|
||||||
sfml, imgui, json
|
flac, ogg, vorbis, vorbisfile, vorbisenc,
|
||||||
|
sfml_audio, sfml_graphics,
|
||||||
|
sfml_network, sfml_system,
|
||||||
|
sfml_window, libgit2package, efsw
|
||||||
]
|
]
|
||||||
|
|
||||||
subdir('scratchpad')
|
sources = [
|
||||||
|
'game_engine.cpp',
|
||||||
executable('escape_turings_tarpit',
|
|
||||||
['game_engine.cpp',
|
|
||||||
'dbc.cpp',
|
'dbc.cpp',
|
||||||
'gui.cpp',
|
'gui.cpp',
|
||||||
'watcher.cpp',
|
'watcher.cpp',
|
||||||
'builder.cpp',
|
'builder.cpp',
|
||||||
'sfmlbackend.cpp',
|
'sfmlbackend.cpp',
|
||||||
'escape_turings_tarpit.cpp'],
|
]
|
||||||
|
|
||||||
|
|
||||||
|
executable('escape_turings_tarpit', sources + [
|
||||||
|
'escape_turings_tarpit.cpp'
|
||||||
|
],
|
||||||
|
cpp_args: cpp_args,
|
||||||
|
link_args: link_args,
|
||||||
|
override_options: exe_defaults,
|
||||||
dependencies: dependencies)
|
dependencies: dependencies)
|
||||||
|
|
||||||
runtests = executable('runtests', [
|
executable('runtests', sources + [
|
||||||
'dbc.cpp',
|
|
||||||
'game_engine.cpp',
|
|
||||||
'tests/game_engine.cpp',
|
'tests/game_engine.cpp',
|
||||||
'tests/fsm.cpp',
|
'tests/fsm.cpp',
|
||||||
'tests/dbc.cpp',
|
'tests/dbc.cpp',
|
||||||
],
|
],
|
||||||
|
cpp_args: cpp_args,
|
||||||
|
link_args: link_args,
|
||||||
|
override_options: exe_defaults,
|
||||||
dependencies: dependencies + [catch2])
|
dependencies: dependencies + [catch2])
|
||||||
|
|
||||||
test('tests', runtests)
|
|
||||||
|
|
|
@ -13,9 +13,10 @@
|
||||||
#include "sfmlbackend.hpp"
|
#include "sfmlbackend.hpp"
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include "dbc.hpp"
|
||||||
|
|
||||||
using namespace nlohmann;
|
using namespace nlohmann;
|
||||||
using std::string;
|
using std::string, std::make_shared;
|
||||||
|
|
||||||
std::array<sf::Color, 10> VALUES{
|
std::array<sf::Color, 10> VALUES{
|
||||||
sf::Color{1, 4, 2}, // black
|
sf::Color{1, 4, 2}, // black
|
||||||
|
@ -31,23 +32,25 @@ std::array<sf::Color, 10> VALUES{
|
||||||
};
|
};
|
||||||
|
|
||||||
void SoundQuip::load(json &data, const char *file_key, bool loop) {
|
void SoundQuip::load(json &data, const char *file_key, bool loop) {
|
||||||
|
buffer = make_shared<sf::SoundBuffer>();
|
||||||
|
|
||||||
auto audio = data["audio"];
|
auto audio = data["audio"];
|
||||||
json::string_t file_name = audio[file_key].template get<string>();
|
json::string_t file_name = audio[file_key].template get<string>();
|
||||||
|
|
||||||
if(!buffer.loadFromFile(file_name)) {
|
if(!buffer->loadFromFile(file_name)) {
|
||||||
fmt::println("Failed to load sound: {} with file {}", file_key, file_name);
|
fmt::println("Failed to load sound: {} with file {}", file_key, file_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
sound.setBuffer(buffer);
|
sound = make_shared<sf::Sound>(*buffer);
|
||||||
sound.setLoop(loop);
|
sound->setLooping(loop);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SoundQuip::play() {
|
void SoundQuip::play() {
|
||||||
sound.play();
|
sound->play();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SoundQuip::stop() {
|
void SoundQuip::stop() {
|
||||||
sound.stop();
|
sound->stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SFMLBackend::Window_update() {
|
void SFMLBackend::Window_update() {
|
||||||
|
@ -59,35 +62,11 @@ sf::Color SFMLBackend::value(Value level) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void SFMLBackend::handle_events() {
|
void SFMLBackend::handle_events() {
|
||||||
sf::Event event;
|
|
||||||
|
|
||||||
// is this a main event loop
|
// is this a main event loop
|
||||||
while (window.pollEvent(event)) {
|
while(const auto ev = window.pollEvent()) {
|
||||||
switch(event.type) {
|
if(ev->is<sf::Event::Closed>()) {
|
||||||
case sf::Event::Closed:
|
fmt::print("Exiting...\n");
|
||||||
fmt::print("Exiting...\n");
|
window.close();
|
||||||
window.close();
|
|
||||||
break;
|
|
||||||
case sf::Event::KeyPressed:
|
|
||||||
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)) {
|
|
||||||
window.close();
|
|
||||||
} else if(sf::Keyboard::isKeyPressed(sf::Keyboard::Space)) {
|
|
||||||
fmt::println("STOP THE CLOCK");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case sf::Event::MouseButtonPressed: {
|
|
||||||
// rect::contains(x,y) for if mouse is in the button rect
|
|
||||||
sf::Event::MouseButtonEvent btn = event.mouseButton;
|
|
||||||
if(stop_button.getGlobalBounds().contains(btn.x, btn.y)) {
|
|
||||||
buttons = Button::STOP;
|
|
||||||
} else if(start_button.getGlobalBounds().contains(btn.x, btn.y)) {
|
|
||||||
buttons = Button::START;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
// do nothing
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -104,8 +83,7 @@ sf::Vector2f translate(int x, int y) {
|
||||||
|
|
||||||
void SFMLBackend::write_text(int x, int y, string content, float size_mult, Value color) {
|
void SFMLBackend::write_text(int x, int y, string content, float size_mult, Value color) {
|
||||||
sf::Vector2f position = translate(x,y);
|
sf::Vector2f position = translate(x,y);
|
||||||
sf::Text text;
|
sf::Text text(font);
|
||||||
text.setFont(font);
|
|
||||||
text.setString(content);
|
text.setString(content);
|
||||||
text.setCharacterSize(TEXT_SIZE * size_mult);
|
text.setCharacterSize(TEXT_SIZE * size_mult);
|
||||||
text.setFillColor(value(color));
|
text.setFillColor(value(color));
|
||||||
|
@ -129,8 +107,8 @@ void SFMLBackend::update_entities() {
|
||||||
window.clear();
|
window.clear();
|
||||||
|
|
||||||
sf::RectangleShape face_box = box(2, 2, X_ROWS/4, Y_LINES/2, Value::DARK_DARK);
|
sf::RectangleShape face_box = box(2, 2, X_ROWS/4, Y_LINES/2, Value::DARK_DARK);
|
||||||
face_sprite.setPosition(translate(2,2));
|
face_sprite->setPosition(translate(2,2));
|
||||||
window.draw(face_sprite);
|
window.draw(*face_sprite);
|
||||||
|
|
||||||
sf::RectangleShape stats_box = box(X_ROWS/4 + 4, 2,
|
sf::RectangleShape stats_box = box(X_ROWS/4 + 4, 2,
|
||||||
X_ROWS - X_ROWS/4 - 5, Y_LINES/2, Value::DARK_DARK);
|
X_ROWS - X_ROWS/4 - 5, Y_LINES/2, Value::DARK_DARK);
|
||||||
|
@ -160,10 +138,10 @@ void SFMLBackend::update_entities() {
|
||||||
write_text(7, 14, time, 2.0f);
|
write_text(7, 14, time, 2.0f);
|
||||||
|
|
||||||
|
|
||||||
stop_button.setPosition(translate(27, 15));
|
stop_button->setPosition(translate(27, 15));
|
||||||
window.draw(start_button);
|
window.draw(*start_button);
|
||||||
start_button.setPosition(translate(37, 15));
|
start_button->setPosition(translate(37, 15));
|
||||||
window.draw(stop_button);
|
window.draw(*stop_button);
|
||||||
|
|
||||||
Window_update();
|
Window_update();
|
||||||
}
|
}
|
||||||
|
@ -174,24 +152,27 @@ void SFMLBackend::change_face(const string name) {
|
||||||
auto images = data["images"];
|
auto images = data["images"];
|
||||||
json::string_t file_name = images[name].template get<string>();
|
json::string_t file_name = images[name].template get<string>();
|
||||||
|
|
||||||
face_texture.loadFromFile(file_name);
|
bool good = face_texture->loadFromFile(file_name);
|
||||||
face_sprite.setTexture(face_texture);
|
dbc::check(good, fmt::format("failed to load texture {}", file_name));
|
||||||
|
face_sprite->setTexture(*face_texture);
|
||||||
}
|
}
|
||||||
|
|
||||||
SFMLBackend::SFMLBackend(GameEngine &g) : window(sf::VideoMode(X_DIM, Y_DIM), "Turing's Tarpit", sf::Style::None, settings), game(g)
|
SFMLBackend::SFMLBackend(GameEngine &g)
|
||||||
|
: window(sf::VideoMode({X_DIM, Y_DIM}), "Turing's Tarpit"),
|
||||||
|
game(g)
|
||||||
{
|
{
|
||||||
|
face_texture = make_shared<sf::Texture>("./assets/building.png");
|
||||||
|
stop_texture = make_shared<sf::Texture>("./assets/stop_button.png");
|
||||||
|
start_texture = make_shared<sf::Texture>("./assets/start_button.png");
|
||||||
|
|
||||||
|
face_sprite = make_shared<sf::Sprite>(*face_texture);
|
||||||
|
stop_button = make_shared<sf::Sprite>(*stop_texture);
|
||||||
|
start_button = make_shared<sf::Sprite>(*start_texture);
|
||||||
|
|
||||||
change_face("building");
|
change_face("building");
|
||||||
|
|
||||||
stop_texture.loadFromFile("./assets/stop_button.png");
|
|
||||||
stop_button.setTexture(stop_texture);
|
|
||||||
|
|
||||||
start_texture.loadFromFile("./assets/start_button.png");
|
|
||||||
start_button.setTexture(start_texture);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This makes my soul hurt. Make it stop.
|
* This makes my soul hurt. Make it stop.
|
||||||
*
|
*
|
||||||
|
@ -208,9 +189,8 @@ void SFMLBackend::update_log(std::vector<string> &lines) {
|
||||||
|
|
||||||
void SFMLBackend::startup() {
|
void SFMLBackend::startup() {
|
||||||
fmt::print("Setting up a window for you...\n");
|
fmt::print("Setting up a window for you...\n");
|
||||||
settings.antialiasingLevel = 8;
|
|
||||||
|
|
||||||
if(!font.loadFromFile("./assets/text.ttf")) {
|
if(!font.openFromFile("./assets/text.ttf")) {
|
||||||
fmt::println("Cannot load font.");
|
fmt::println("Cannot load font.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,8 @@ enum class Button {
|
||||||
|
|
||||||
class SoundQuip {
|
class SoundQuip {
|
||||||
public:
|
public:
|
||||||
sf::Sound sound;
|
std::shared_ptr<sf::Sound> sound = nullptr;
|
||||||
sf::SoundBuffer buffer;
|
std::shared_ptr<sf::SoundBuffer> buffer = nullptr;
|
||||||
bool initialized;
|
bool initialized;
|
||||||
|
|
||||||
SoundQuip() {};
|
SoundQuip() {};
|
||||||
|
@ -49,12 +49,12 @@ public:
|
||||||
class SFMLBackend {
|
class SFMLBackend {
|
||||||
sf::ContextSettings settings;
|
sf::ContextSettings settings;
|
||||||
sf::RenderWindow window;
|
sf::RenderWindow window;
|
||||||
sf::Sprite face_sprite;
|
std::shared_ptr<sf::Sprite> face_sprite = nullptr;
|
||||||
sf::Texture face_texture;
|
std::shared_ptr<sf::Texture> face_texture = nullptr;
|
||||||
sf::Sprite stop_button;
|
std::shared_ptr<sf::Sprite> stop_button = nullptr;
|
||||||
sf::Texture stop_texture;
|
std::shared_ptr<sf::Texture> stop_texture = nullptr;
|
||||||
sf::Sprite start_button;
|
std::shared_ptr<sf::Sprite> start_button = nullptr;
|
||||||
sf::Texture start_texture;
|
std::shared_ptr<sf::Texture> start_texture = nullptr;
|
||||||
std::chrono::time_point<std::chrono::system_clock> clock_start;
|
std::chrono::time_point<std::chrono::system_clock> clock_start;
|
||||||
Button buttons = Button::STOP;
|
Button buttons = Button::STOP;
|
||||||
int hit_points = 50;
|
int hit_points = 50;
|
||||||
|
|
|
@ -24,7 +24,7 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void START(MyEvent ev) {
|
void START(MyEvent) {
|
||||||
println("<<< START");
|
println("<<< START");
|
||||||
state(MyState::RUNNING);
|
state(MyState::RUNNING);
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void END(MyEvent ev) {
|
void END(MyEvent) {
|
||||||
println("<<< STOP");
|
println("<<< STOP");
|
||||||
state(MyState::END);
|
state(MyState::END);
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,10 @@ void UpdateListener::handleFileAction(efsw::WatchID watchid,
|
||||||
efsw::Action action,
|
efsw::Action action,
|
||||||
string oldFilename)
|
string oldFilename)
|
||||||
{
|
{
|
||||||
|
(void)watchid;
|
||||||
|
(void)action;
|
||||||
|
(void)oldFilename;
|
||||||
|
|
||||||
// this is some gnarly BS here, probably tons
|
// this is some gnarly BS here, probably tons
|
||||||
// of memory leaks for now but it's working
|
// of memory leaks for now but it's working
|
||||||
int ignored = 1;
|
int ignored = 1;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
[wrap-file]
|
[wrap-file]
|
||||||
directory = Catch2-3.7.0
|
directory = Catch2-3.7.1
|
||||||
source_url = https://github.com/catchorg/Catch2/archive/v3.7.0.tar.gz
|
source_url = https://github.com/catchorg/Catch2/archive/v3.7.1.tar.gz
|
||||||
source_filename = Catch2-3.7.0.tar.gz
|
source_filename = Catch2-3.7.1.tar.gz
|
||||||
source_hash = 5b10cd536fa3818112a82820ce0787bd9f2a906c618429e7c4dea639983c8e88
|
source_hash = c991b247a1a0d7bb9c39aa35faf0fe9e19764213f28ffba3109388e62ee0269c
|
||||||
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/catch2_3.7.0-1/Catch2-3.7.0.tar.gz
|
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/catch2_3.7.1-1/Catch2-3.7.1.tar.gz
|
||||||
wrapdb_version = 3.7.0-1
|
wrapdb_version = 3.7.1-1
|
||||||
|
|
||||||
[provide]
|
[provide]
|
||||||
catch2 = catch2_dep
|
catch2 = catch2_dep
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
[wrap-file]
|
[wrap-file]
|
||||||
directory = fmt-11.0.1
|
directory = fmt-11.0.2
|
||||||
source_url = https://github.com/fmtlib/fmt/archive/11.0.1.tar.gz
|
source_url = https://github.com/fmtlib/fmt/archive/11.0.2.tar.gz
|
||||||
source_filename = fmt-11.0.1.tar.gz
|
source_filename = fmt-11.0.2.tar.gz
|
||||||
source_hash = 7d009f7f89ac84c0a83f79ed602463d092fbf66763766a907c97fd02b100f5e9
|
source_hash = 6cb1e6d37bdcb756dbbe59be438790db409cdb4868c66e888d5df9f13f7c027f
|
||||||
patch_filename = fmt_11.0.1-1_patch.zip
|
patch_filename = fmt_11.0.2-1_patch.zip
|
||||||
patch_url = https://wrapdb.mesonbuild.com/v2/fmt_11.0.1-1/get_patch
|
patch_url = https://wrapdb.mesonbuild.com/v2/fmt_11.0.2-1/get_patch
|
||||||
patch_hash = 0a8b93d1ee6d84a82d3872a9bfb4c3977d8a53f7f484d42d1f7ed63ed496d549
|
patch_hash = 90c9e3b8e8f29713d40ca949f6f93ad115d78d7fb921064112bc6179e6427c5e
|
||||||
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/fmt_11.0.1-1/fmt-11.0.1.tar.gz
|
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/fmt_11.0.2-1/fmt-11.0.2.tar.gz
|
||||||
wrapdb_version = 11.0.1-1
|
wrapdb_version = 11.0.2-1
|
||||||
|
|
||||||
[provide]
|
[provide]
|
||||||
fmt = fmt_dep
|
fmt = fmt_dep
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
[wrap-file]
|
|
||||||
directory = imgui-sfml-2.6
|
|
||||||
source_url = https://github.com/eliasdaler/imgui-sfml/archive/refs/tags/v2.6.tar.gz
|
|
||||||
source_filename = v2.6.tar.gz
|
|
||||||
source_hash = b1195ca1210dd46c8049cfc8cae7f31cd34f1591da7de1c56297b277ac9c5cc0
|
|
||||||
patch_filename = imgui-sfml_2.6-1_patch.zip
|
|
||||||
patch_url = https://wrapdb.mesonbuild.com/v2/imgui-sfml_2.6-1/get_patch
|
|
||||||
patch_hash = a804978cf015af2db13476eefd2ed16e64c2c5142eb4e4a93be5f19e0c7cbdbb
|
|
||||||
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/imgui-sfml_2.6-1/v2.6.tar.gz
|
|
||||||
wrapdb_version = 2.6-1
|
|
||||||
|
|
||||||
[provide]
|
|
||||||
imgui-sfml = imgui_sfml_dep
|
|
|
@ -1,13 +0,0 @@
|
||||||
[wrap-file]
|
|
||||||
directory = imgui-1.91.0
|
|
||||||
source_url = https://github.com/ocornut/imgui/archive/refs/tags/v1.91.0.tar.gz
|
|
||||||
source_filename = imgui-1.91.0.tar.gz
|
|
||||||
source_hash = 6e62c87252e6b3725ba478a1c04dc604aa0aaeec78fedcf4011f1e52548f4cc9
|
|
||||||
patch_filename = imgui_1.91.0-1_patch.zip
|
|
||||||
patch_url = https://wrapdb.mesonbuild.com/v2/imgui_1.91.0-1/get_patch
|
|
||||||
patch_hash = 354fc499bb53ed37ef7a23122d9253f6b119098ae95ff14a571d2d7e98fa3338
|
|
||||||
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/imgui_1.91.0-1/imgui-1.91.0.tar.gz
|
|
||||||
wrapdb_version = 1.91.0-1
|
|
||||||
|
|
||||||
[provide]
|
|
||||||
imgui = imgui_dep
|
|
|
@ -1,13 +1,13 @@
|
||||||
[wrap-file]
|
[wrap-file]
|
||||||
directory = libpng-1.6.43
|
directory = libpng-1.6.44
|
||||||
source_url = https://github.com/glennrp/libpng/archive/v1.6.43.tar.gz
|
source_url = https://github.com/glennrp/libpng/archive/v1.6.44.tar.gz
|
||||||
source_filename = libpng-1.6.43.tar.gz
|
source_filename = libpng-1.6.44.tar.gz
|
||||||
source_hash = fecc95b46cf05e8e3fc8a414750e0ba5aad00d89e9fdf175e94ff041caf1a03a
|
source_hash = 0ef5b633d0c65f780c4fced27ff832998e71478c13b45dfb6e94f23a82f64f7c
|
||||||
patch_filename = libpng_1.6.43-2_patch.zip
|
patch_filename = libpng_1.6.44-1_patch.zip
|
||||||
patch_url = https://wrapdb.mesonbuild.com/v2/libpng_1.6.43-2/get_patch
|
patch_url = https://wrapdb.mesonbuild.com/v2/libpng_1.6.44-1/get_patch
|
||||||
patch_hash = 49951297edf03e81d925ab03726555f09994ad1ed78fb539a269216430eef3da
|
patch_hash = 394b07614c45fbd1beac8b660386216a490fe12f841a1a445799b676c9c892fb
|
||||||
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/libpng_1.6.43-2/libpng-1.6.43.tar.gz
|
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/libpng_1.6.44-1/libpng-1.6.44.tar.gz
|
||||||
wrapdb_version = 1.6.43-2
|
wrapdb_version = 1.6.44-1
|
||||||
|
|
||||||
[provide]
|
[provide]
|
||||||
libpng = libpng_dep
|
libpng = libpng_dep
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
[wrap-file]
|
|
||||||
directory = openal-soft-1.23.1
|
|
||||||
source_url = https://github.com/kcat/openal-soft/archive/refs/tags/1.23.1.tar.gz
|
|
||||||
source_filename = openal-soft-1.23.1.tar.gz
|
|
||||||
source_hash = dfddf3a1f61059853c625b7bb03de8433b455f2f79f89548cbcbd5edca3d4a4a
|
|
||||||
patch_filename = openal-soft_1.23.1-2_patch.zip
|
|
||||||
patch_url = https://wrapdb.mesonbuild.com/v2/openal-soft_1.23.1-2/get_patch
|
|
||||||
patch_hash = e03c3afe0bb40a931d25d41d92a08b90e3c33b217d1b47210b26ca6627eb3aa3
|
|
||||||
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/openal-soft_1.23.1-2/openal-soft-1.23.1.tar.gz
|
|
||||||
wrapdb_version = 1.23.1-2
|
|
||||||
|
|
||||||
[provide]
|
|
||||||
openal = openal_dep
|
|
|
@ -1,13 +1,14 @@
|
||||||
[wrap-file]
|
[wrap-git]
|
||||||
directory = SFML-2.6.1
|
directory=SFML-3.0.0
|
||||||
source_url = https://github.com/SFML/SFML/archive/refs/tags/2.6.1.tar.gz
|
url=https://github.com/SFML/SFML.git
|
||||||
source_filename = 2.6.1.tar.gz
|
revision=3.0.0
|
||||||
source_hash = 82535db9e57105d4f3a8aedabd138631defaedc593cab589c924b7d7a11ffb9d
|
depth=1
|
||||||
patch_filename = sfml_2.6.1-1_patch.zip
|
method=cmake
|
||||||
patch_url = https://wrapdb.mesonbuild.com/v2/sfml_2.6.1-1/get_patch
|
|
||||||
patch_hash = 10367d927ec489dc575491de0059945a63ba08eef3f6fc146e6ba339176c9f18
|
|
||||||
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/sfml_2.6.1-1/2.6.1.tar.gz
|
|
||||||
wrapdb_version = 2.6.1-1
|
|
||||||
|
|
||||||
[provide]
|
[provide]
|
||||||
sfml = sfml_dep
|
sfml_audio = sfml_audio_dep
|
||||||
|
sfml_graphics = sfml_graphics_dep
|
||||||
|
sfml_main = sfml_main_dep
|
||||||
|
sfml_network = sfml_network_dep
|
||||||
|
sfml_system = sfml_system_dep
|
||||||
|
sfml_window = sfml_window_dep
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue