Moving from gitlab

This commit is contained in:
2026-01-09 13:14:33 +01:00
commit 6d5dccf85b
17 changed files with 1359 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
#pragma once
#include <filesystem>
#include <string>
#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
#endif
// Safer portable conversion:
std::string to_utf8(const std::filesystem::path& path) {
#ifdef _WIN32
// path.native() gives wchar_t, convert to UTF-8
std::wstring ws = path.native();
if (ws.empty()) return {};
int size_needed = WideCharToMultiByte(CP_UTF8, 0, ws.data(), int(ws.size()),
nullptr, 0, nullptr, nullptr);
std::string result(size_needed, 0);
WideCharToMultiByte(CP_UTF8, 0, ws.data(), int(ws.size()), result.data(), size_needed, nullptr, nullptr);
return result;
#else
return path.string(); // on POSIX this is already UTF-8-compatible
#endif
}

27
includes/Model.hpp Normal file
View File

@@ -0,0 +1,27 @@
#pragma once
#include <string>
namespace rl {
#include "raylib.h"
}
namespace Ley {
class Model {
private:
Model(const std::string &obj_path, const std::string &texture_path);
public:
static Model create(const std::string &obj_path, const std::string &texture_path);
~Model();
void setPosition(rl::Vector3 position) { _position = position; }
rl::Vector3 getPosition() const { return _position; }
rl::Model getModel() const { return _model; }
void Draw(rl::Color color) const { rl::DrawModel(_model, _position, 1.0f, color); }
private:
rl::Model _model;
rl::Texture2D _texture;
rl::Vector3 _position;
std::string _obj_path;
std::string _texture_path;
};
} // namespace Ley