mirror of
https://github.com/redstrate/Novus.git
synced 2025-04-26 05:37: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()
|
||||
|
||||
add_subdirectory(exdviewer)
|
||||
add_subdirectory(mdlviewer)
|
|
@ -11,7 +11,7 @@
|
|||
#include "mdlparser.h"
|
||||
|
||||
MainWindow::MainWindow(GameData& data) : data(data) {
|
||||
setWindowTitle("Novus");
|
||||
setWindowTitle("exdviewer");
|
||||
|
||||
auto dummyWidget = new QWidget();
|
||||
setCentralWidget(dummyWidget);
|
||||
|
@ -26,9 +26,6 @@ MainWindow::MainWindow(GameData& data) : data(data) {
|
|||
|
||||
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) {
|
||||
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