mirror of
https://github.com/redstrate/Novus.git
synced 2025-04-26 13:47:46 +00:00
Add framework for mdlviewer
This commit is contained in:
parent
cafd3e5dca
commit
99fb9ca1aa
7 changed files with 77 additions and 6 deletions
|
@ -31,3 +31,4 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_subdirectory(exdviewer)
|
add_subdirectory(exdviewer)
|
||||||
|
add_subdirectory(mdlviewer)
|
|
@ -11,7 +11,7 @@
|
||||||
#include "mdlparser.h"
|
#include "mdlparser.h"
|
||||||
|
|
||||||
MainWindow::MainWindow(GameData& data) : data(data) {
|
MainWindow::MainWindow(GameData& data) : data(data) {
|
||||||
setWindowTitle("Novus");
|
setWindowTitle("exdviewer");
|
||||||
|
|
||||||
auto dummyWidget = new QWidget();
|
auto dummyWidget = new QWidget();
|
||||||
setCentralWidget(dummyWidget);
|
setCentralWidget(dummyWidget);
|
||||||
|
@ -26,9 +26,6 @@ MainWindow::MainWindow(GameData& data) : data(data) {
|
||||||
|
|
||||||
auto* pageTabWidget = new QTabWidget();
|
auto* pageTabWidget = new QTabWidget();
|
||||||
|
|
||||||
data.extractFile("chara/equipment/e0000/model/c0201e0000_top.mdl", "top.mdl");
|
|
||||||
parseMDL("top.mdl");
|
|
||||||
|
|
||||||
connect(listWidget, &QListWidget::itemClicked, this, [&data, pageTabWidget](QListWidgetItem* item) {
|
connect(listWidget, &QListWidget::itemClicked, this, [&data, pageTabWidget](QListWidgetItem* item) {
|
||||||
pageTabWidget->clear();
|
pageTabWidget->clear();
|
||||||
|
|
||||||
|
|
2
libxiv
2
libxiv
|
@ -1 +1 @@
|
||||||
Subproject commit fbe386c958e5caa716aac13c82e05af0c4abcbe7
|
Subproject commit f8835854a3656f6212d647e7c7ce7c0c50c698b7
|
24
mdlviewer/CMakeLists.txt
Normal file
24
mdlviewer/CMakeLists.txt
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
add_executable(mdlviewer
|
||||||
|
src/main.cpp
|
||||||
|
src/mainwindow.cpp)
|
||||||
|
target_include_directories(mdlviewer
|
||||||
|
PUBLIC
|
||||||
|
include)
|
||||||
|
target_link_libraries(mdlviewer PUBLIC libxiv ${LIBRARIES} Qt5::Core Qt5::Widgets)
|
||||||
|
|
||||||
|
install(TARGETS mdlviewer
|
||||||
|
DESTINATION "${INSTALL_BIN_PATH}")
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
get_target_property(QMAKE_EXE Qt5::qmake IMPORTED_LOCATION)
|
||||||
|
get_filename_component(QT_BIN_DIR "${QMAKE_EXE}" DIRECTORY)
|
||||||
|
|
||||||
|
find_program(WINDEPLOYQT_ENV_SETUP qtenv2.bat HINTS "${QT_BIN_DIR}")
|
||||||
|
find_program(WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${QT_BIN_DIR}")
|
||||||
|
|
||||||
|
# Run windeployqt immediately after build
|
||||||
|
add_custom_command(TARGET mdlviewer
|
||||||
|
POST_BUILD
|
||||||
|
COMMAND "${WINDEPLOYQT_ENV_SETUP}" && "${WINDEPLOYQT_EXECUTABLE}" \"$<TARGET_FILE:mdlviewer>\"
|
||||||
|
)
|
||||||
|
endif()
|
13
mdlviewer/include/mainwindow.h
Normal file
13
mdlviewer/include/mainwindow.h
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QMainWindow>
|
||||||
|
|
||||||
|
class GameData;
|
||||||
|
|
||||||
|
class MainWindow : public QMainWindow {
|
||||||
|
public:
|
||||||
|
MainWindow(GameData& data);
|
||||||
|
|
||||||
|
private:
|
||||||
|
GameData& data;
|
||||||
|
};
|
15
mdlviewer/src/main.cpp
Normal file
15
mdlviewer/src/main.cpp
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#include <QApplication>
|
||||||
|
|
||||||
|
#include "mainwindow.h"
|
||||||
|
#include "gamedata.h"
|
||||||
|
|
||||||
|
int main(int argc, char* argv[]) {
|
||||||
|
QApplication app(argc, argv);
|
||||||
|
|
||||||
|
GameData data(argv[1]);
|
||||||
|
|
||||||
|
MainWindow w(data);
|
||||||
|
w.show();
|
||||||
|
|
||||||
|
return app.exec();
|
||||||
|
}
|
21
mdlviewer/src/mainwindow.cpp
Normal file
21
mdlviewer/src/mainwindow.cpp
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
#include "mainwindow.h"
|
||||||
|
|
||||||
|
#include <QHBoxLayout>
|
||||||
|
#include <QTableWidget>
|
||||||
|
#include <fmt/core.h>
|
||||||
|
#include <QListWidget>
|
||||||
|
|
||||||
|
#include "gamedata.h"
|
||||||
|
#include "exhparser.h"
|
||||||
|
#include "exdparser.h"
|
||||||
|
#include "mdlparser.h"
|
||||||
|
|
||||||
|
MainWindow::MainWindow(GameData& data) : data(data) {
|
||||||
|
setWindowTitle("mdlviewer");
|
||||||
|
|
||||||
|
auto dummyWidget = new QWidget();
|
||||||
|
setCentralWidget(dummyWidget);
|
||||||
|
|
||||||
|
auto layout = new QHBoxLayout();
|
||||||
|
dummyWidget->setLayout(layout);
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue