morault/ProjectMorault/Morault_Resources.h
2025-06-01 16:26:04 -04:00

56 lines
1021 B
C++

#pragma once
#include <iostream>
#include <vector>
#include <map>
#include <raylib.h>
#include <variant>
namespace Morault {
namespace Resources {
typedef enum {
GET,
LOAD,
UNLOAD,
RELOAD
} _ResourceRequestType;
struct _ResourceRequest { // to use as std::get<Model>(Models(get("test.obj")));
_ResourceRequestType type;
std::string req;
};
_ResourceRequest load(std::string modelName);
_ResourceRequest get(std::string modelName);
_ResourceRequest unload(std::string modelName);
_ResourceRequest reload(std::string modelName);
std::variant<Model, bool> Models(_ResourceRequest request);
typedef enum {
INVALID, IWAD, PWAD
} WADType;
struct Lump {
std::string name, data;
};
class WAD {
std::vector<Lump> lumps;
public:
bool loaded = false;
WADType wadType;
int lumpCount;
WAD();
WAD(std::string path);
void LoadWAD(std::string path);
std::vector<Lump> getLumps() {
return lumps;
}
~WAD();
};
Image GenTestImage();
}
}