[BROKEN] This build is totally broken. DONOT USE.

This commit is contained in:
Zed A. Shaw 2025-05-08 01:12:12 -04:00
parent 8dc70ad1ed
commit f3f2e90cd2
15 changed files with 123 additions and 81 deletions

16
include/sfml/backend.hpp Normal file
View file

@ -0,0 +1,16 @@
#include "guecs.hpp"
namespace sfml {
class Backend : public guecs::Backend {
int $shaders_version = 0;
public:
Backend();
guecs::SpriteTexture texture_get(const string& name);
void sound_play(const string& name);
void sound_stop(const string& name);
std::shared_ptr<sf::Shader> shader_get(const std::string& name);
bool shader_updated();
};
}

View file

@ -1,10 +1,11 @@
#pragma once
#include <SFML/Graphics.hpp>
#include "dbc.hpp"
#include "sfml/color.hpp"
#include "lel.hpp"
#include <string>
#include <memory>
#include <SFML/Graphics.hpp>
#include <functional>
#include <any>
@ -48,6 +49,12 @@ namespace guecs {
};
struct Sprite {
// either you set a filename here,
// or some kind of config,
// or a callback that does the loading,
// or a virtual function and you subclass
// or there's a static config function you call once,
// that's passed an object with all the necessary gear
string name;
int padding = PADDING;
std::shared_ptr<sf::Sprite> sprite = nullptr;

19
include/sfml/config.hpp Normal file
View file

@ -0,0 +1,19 @@
#pragma once
#include <nlohmann/json.hpp>
#include <fstream>
#include <codecvt>
struct Config {
nlohmann::json $config;
std::string $src_path;
Config(const std::string src_path);
Config(nlohmann::json config, std::string src_path)
: $config(config), $src_path(src_path) {}
nlohmann::json &operator[](const std::string &key);
nlohmann::json &json() { return $config; };
std::wstring wstring(const std::string main_key, const std::string sub_key);
std::vector<std::string> keys();
};