1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-21 03:57:44 +00:00
novus/mdlviewer/include/mainwindow.h

61 lines
1 KiB
C
Raw Normal View History

2022-04-11 21:59:37 -04:00
#pragma once
#include <QMainWindow>
#include "renderer.hpp"
enum class Slot {
Body,
Legs
};
enum class Race {
HyurMidlanderMale,
HyurMidlanderFemale
};
inline std::map<Race, std::string_view> raceNames = {
{Race::HyurMidlanderMale, "Hyur Midlander Male"},
{Race::HyurMidlanderFemale, "Hyur Midlander Female"}
};
inline std::unordered_map<Race, std::string_view> raceIDs = {
{Race::HyurMidlanderMale, "0101"},
{Race::HyurMidlanderFemale, "0201"}
};
struct ModelInfo {
};
struct GearInfo {
std::string name;
Slot slot;
ModelInfo modelInfo;
};
inline std::unordered_map<Slot, std::string_view> slotToName = {
{Slot::Body, "top"},
{Slot::Legs, "dwn"}
};
2022-04-11 21:59:37 -04:00
class GameData;
class VulkanWindow;
2022-04-11 21:59:37 -04:00
class MainWindow : public QMainWindow {
public:
MainWindow(GameData& data);
void refreshModel();
2022-04-11 21:59:37 -04:00
private:
std::vector<GearInfo> gears;
std::vector<GearInfo*> loadedGears;
Race currentRace;
2022-04-11 21:59:37 -04:00
GameData& data;
Renderer* renderer;
VulkanWindow* vkWindow;
2022-04-11 21:59:37 -04:00
};