Add containerization and make this bad boy work on Windows and MacOS
This commit is contained in:
@@ -0,0 +1,358 @@
|
||||
#############################################################################
|
||||
# Makefile for building: hearthmod
|
||||
# Generated by qmake (3.0) (Qt 5.5.1)
|
||||
# Project: hearthmod.pro
|
||||
# Template: app
|
||||
# Command: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -o Makefile hearthmod.pro
|
||||
#############################################################################
|
||||
|
||||
MAKEFILE = Makefile
|
||||
|
||||
####### Compiler, tools and options
|
||||
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
DEFINES = -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB
|
||||
CFLAGS = -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
|
||||
CXXFLAGS = -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
|
||||
INCPATH = -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64
|
||||
QMAKE = /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
|
||||
DEL_FILE = rm -f
|
||||
CHK_DIR_EXISTS= test -d
|
||||
MKDIR = mkdir -p
|
||||
COPY = cp -f
|
||||
COPY_FILE = cp -f
|
||||
COPY_DIR = cp -f -R
|
||||
INSTALL_FILE = install -m 644 -p
|
||||
INSTALL_PROGRAM = install -m 755 -p
|
||||
INSTALL_DIR = cp -f -R
|
||||
DEL_FILE = rm -f
|
||||
SYMLINK = ln -f -s
|
||||
DEL_DIR = rmdir
|
||||
MOVE = mv -f
|
||||
TAR = tar -cf
|
||||
COMPRESS = gzip -9f
|
||||
DISTNAME = hearthmod1.0.0
|
||||
DISTDIR = /app/hm_client/src/.tmp/hearthmod1.0.0
|
||||
LINK = g++
|
||||
LFLAGS = -m64 -Wl,-O1
|
||||
LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Core -lGL -lpthread
|
||||
AR = ar cqs
|
||||
RANLIB =
|
||||
SED = sed
|
||||
STRIP = strip
|
||||
|
||||
####### Output directory
|
||||
|
||||
OBJECTS_DIR = ./
|
||||
|
||||
####### Files
|
||||
|
||||
SOURCES = main.cpp \
|
||||
proto.cpp \
|
||||
mainwindow.cpp moc_mainwindow.cpp
|
||||
OBJECTS = main.o \
|
||||
proto.o \
|
||||
mainwindow.o \
|
||||
moc_mainwindow.o
|
||||
DIST = wait.cur \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_device_lib_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformsupport_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64/qmake.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \
|
||||
hearthmod.pro proto.h \
|
||||
mainwindow.h main.cpp \
|
||||
proto.cpp \
|
||||
mainwindow.cpp
|
||||
QMAKE_TARGET = hearthmod
|
||||
DESTDIR = #avoid trailing-slash linebreak
|
||||
TARGET = hearthmod
|
||||
|
||||
|
||||
first: all
|
||||
####### Implicit rules
|
||||
|
||||
.SUFFIXES: .o .c .cpp .cc .cxx .C
|
||||
|
||||
.cpp.o:
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
|
||||
|
||||
.cc.o:
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
|
||||
|
||||
.cxx.o:
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
|
||||
|
||||
.C.o:
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
|
||||
|
||||
.c.o:
|
||||
$(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
|
||||
|
||||
####### Build rules
|
||||
|
||||
$(TARGET): ui_mainwindow.h $(OBJECTS)
|
||||
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
|
||||
|
||||
Makefile: hearthmod.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64/qmake.conf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_device_lib_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformsupport_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64/qmake.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \
|
||||
hearthmod.pro \
|
||||
/usr/lib/x86_64-linux-gnu/libQt5Widgets.prl \
|
||||
/usr/lib/x86_64-linux-gnu/libQt5Gui.prl \
|
||||
/usr/lib/x86_64-linux-gnu/libQt5Network.prl \
|
||||
/usr/lib/x86_64-linux-gnu/libQt5Core.prl
|
||||
$(QMAKE) -o Makefile hearthmod.pro
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_device_lib_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformsupport_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64/qmake.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf:
|
||||
hearthmod.pro:
|
||||
/usr/lib/x86_64-linux-gnu/libQt5Widgets.prl:
|
||||
/usr/lib/x86_64-linux-gnu/libQt5Gui.prl:
|
||||
/usr/lib/x86_64-linux-gnu/libQt5Network.prl:
|
||||
/usr/lib/x86_64-linux-gnu/libQt5Core.prl:
|
||||
qmake: FORCE
|
||||
@$(QMAKE) -o Makefile hearthmod.pro
|
||||
|
||||
qmake_all: FORCE
|
||||
|
||||
|
||||
all: Makefile $(TARGET)
|
||||
|
||||
dist: distdir FORCE
|
||||
(cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
|
||||
|
||||
distdir: FORCE
|
||||
@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
|
||||
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
|
||||
$(COPY_FILE) --parents proto.h mainwindow.h $(DISTDIR)/
|
||||
$(COPY_FILE) --parents main.cpp proto.cpp mainwindow.cpp $(DISTDIR)/
|
||||
$(COPY_FILE) --parents mainwindow.ui $(DISTDIR)/
|
||||
|
||||
|
||||
clean: compiler_clean
|
||||
-$(DEL_FILE) $(OBJECTS)
|
||||
-$(DEL_FILE) *~ core *.core
|
||||
|
||||
|
||||
distclean: clean
|
||||
-$(DEL_FILE) $(TARGET)
|
||||
-$(DEL_FILE) Makefile
|
||||
|
||||
|
||||
####### Sub-libraries
|
||||
|
||||
mocclean: compiler_moc_header_clean compiler_moc_source_clean
|
||||
|
||||
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
|
||||
|
||||
check: first
|
||||
|
||||
compiler_rcc_make_all:
|
||||
compiler_rcc_clean:
|
||||
compiler_moc_header_make_all: moc_mainwindow.cpp
|
||||
compiler_moc_header_clean:
|
||||
-$(DEL_FILE) moc_mainwindow.cpp
|
||||
moc_mainwindow.cpp: proto.h \
|
||||
mainwindow.h
|
||||
/usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I/app/hm_client/src -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/c++/5 -I/usr/include/x86_64-linux-gnu/c++/5 -I/usr/include/c++/5/backward -I/usr/lib/gcc/x86_64-linux-gnu/5/include -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed -I/usr/include/x86_64-linux-gnu -I/usr/include mainwindow.h -o moc_mainwindow.cpp
|
||||
|
||||
compiler_moc_source_make_all:
|
||||
compiler_moc_source_clean:
|
||||
compiler_uic_make_all: ui_mainwindow.h
|
||||
compiler_uic_clean:
|
||||
-$(DEL_FILE) ui_mainwindow.h
|
||||
ui_mainwindow.h: mainwindow.ui
|
||||
/usr/lib/x86_64-linux-gnu/qt5/bin/uic mainwindow.ui -o ui_mainwindow.h
|
||||
|
||||
compiler_yacc_decl_make_all:
|
||||
compiler_yacc_decl_clean:
|
||||
compiler_yacc_impl_make_all:
|
||||
compiler_yacc_impl_clean:
|
||||
compiler_lex_make_all:
|
||||
compiler_lex_clean:
|
||||
compiler_clean: compiler_moc_header_clean compiler_uic_clean
|
||||
|
||||
####### Compile
|
||||
|
||||
main.o: main.cpp mainwindow.h \
|
||||
proto.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
|
||||
|
||||
proto.o: proto.cpp proto.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o proto.o proto.cpp
|
||||
|
||||
mainwindow.o: mainwindow.cpp mainwindow.h \
|
||||
proto.h \
|
||||
ui_mainwindow.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
|
||||
|
||||
moc_mainwindow.o: moc_mainwindow.cpp
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
|
||||
|
||||
####### Install
|
||||
|
||||
install: FORCE
|
||||
|
||||
uninstall: FORCE
|
||||
|
||||
FORCE:
|
||||
|
||||
Executable
BIN
Binary file not shown.
@@ -0,0 +1,267 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 12.0.2, 2024-02-28T13:09:40. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{951484c4-7d50-4e5b-ac29-16f6fa95c96e}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="qlonglong">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value>
|
||||
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.CTest">false</value>
|
||||
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||
<valuemap type="QVariantMap" key="ClangTools">
|
||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||
<value type="int" key="ClangTools.ParallelJobs">4</value>
|
||||
<value type="bool" key="ClangTools.PreferConfigFile">true</value>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop (x86-darwin-generic-mach_o-64bit)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop (x86-darwin-generic-mach_o-64bit)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{7ad13873-6f43-4e6e-839d-81a3ad2fd7d4}</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/Users/omerdangoor/projects/hearthstone/hearthmodanvilnew/hm_client/build-hearthmod-Desktop_x86_darwin_generic_mach_o_64bit-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/Users/omerdangoor/projects/hearthstone/hearthmodanvilnew/hm_client/build-hearthmod-Desktop_x86_darwin_generic_mach_o_64bit-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/Users/omerdangoor/projects/hearthstone/hearthmodanvilnew/hm_client/build-hearthmod-Desktop_x86_darwin_generic_mach_o_64bit-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/Users/omerdangoor/projects/hearthstone/hearthmodanvilnew/hm_client/build-hearthmod-Desktop_x86_darwin_generic_mach_o_64bit-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/Users/omerdangoor/projects/hearthstone/hearthmodanvilnew/hm_client/build-hearthmod-Desktop_x86_darwin_generic_mach_o_64bit-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/Users/omerdangoor/projects/hearthstone/hearthmodanvilnew/hm_client/build-hearthmod-Desktop_x86_darwin_generic_mach_o_64bit-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="SeparateDebugInfo">0</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/Users/omerdangoor/projects/hearthstone/hearthmodanvilnew/hm_client/src/hearthmod.pro</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/Users/omerdangoor/projects/hearthstone/hearthmodanvilnew/hm_client/src/hearthmod.pro</value>
|
||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/Users/omerdangoor/projects/hearthstone/hearthmodanvilnew/hm_client/build-hearthmod-Desktop_x86_darwin_generic_mach_o_64bit-Debug/hearthmod.app/Contents/MacOS</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="qlonglong">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
+345
-317
@@ -2,376 +2,404 @@
|
||||
hm_client - hearthmod client
|
||||
Copyright (C) 2016 Filip Pancik
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
This
|
||||
* program is free software: you can redistribute it and/or modify
|
||||
it under
|
||||
* the terms of the GNU General Public License as published by
|
||||
the Free
|
||||
* Software Foundation, either version 3 of the License, or
|
||||
(at your option)
|
||||
* any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
This program is distributed in the hope that it will
|
||||
* be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General
|
||||
* Public License for more details.
|
||||
|
||||
You should have received a copy of the
|
||||
* GNU General Public License
|
||||
along with this program. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include <QCryptographicHash>
|
||||
#include <QDebug>
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QNetworkReply>
|
||||
#include <QNetworkRequest>
|
||||
#include <QProcess>
|
||||
#include <QtNetwork/QSslCipher>
|
||||
#include <QtWidgets/QMessageBox>
|
||||
#include <QtWidgets/QScrollBar>
|
||||
#include <QtWidgets/QStyle>
|
||||
#include <QtWidgets/QToolButton>
|
||||
#include <QtWidgets/QMessageBox>
|
||||
#include <QtNetwork/QSslCipher>
|
||||
#include <QCryptographicHash>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QDebug>
|
||||
#include <QFile>
|
||||
#include <QProcess>
|
||||
#include <QDir>
|
||||
#include <QNetworkRequest>
|
||||
#include <QNetworkReply>
|
||||
|
||||
#include "proto.h"
|
||||
#include "mainwindow.h"
|
||||
#include "proto.h"
|
||||
#include "ui_mainwindow.h"
|
||||
|
||||
static int version = 1;
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) :
|
||||
QMainWindow(parent)
|
||||
{
|
||||
socket = NULL;
|
||||
ui = new Ui::MainWindow;
|
||||
ui->setupUi(this);
|
||||
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
|
||||
socket = NULL;
|
||||
ui = new Ui::MainWindow;
|
||||
ui->setupUi(this);
|
||||
|
||||
m_isReady = true;
|
||||
m_isReady = true;
|
||||
|
||||
secureConnect();
|
||||
secureConnect();
|
||||
|
||||
ncards = 0;
|
||||
ncards = 0;
|
||||
|
||||
connect(ui->loginButton, SIGNAL(clicked()),
|
||||
this, SLOT(login()));
|
||||
connect(ui->loginButton, SIGNAL(clicked()), this, SLOT(login()));
|
||||
|
||||
connect(ui->pushPlay, SIGNAL(clicked()),
|
||||
this, SLOT(play()));
|
||||
downloadFileFromURL("http://hearthmod.com/static/checksum", "../../hearthstone/Data/Win", E_CHECKSUM);
|
||||
connect(ui->pushPlay, SIGNAL(clicked()), this, SLOT(play()));
|
||||
downloadFileFromURL("http://hearthmod.com/static/checksum",
|
||||
"../../hearthstone/Data/Win", E_CHECKSUM);
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete ui;
|
||||
MainWindow::~MainWindow() { delete ui; }
|
||||
|
||||
void MainWindow::socketError(QAbstractSocket::SocketError) {
|
||||
addLog("[Lobby]: Connection error: " + socket->errorString());
|
||||
|
||||
QMessageBox::critical(this, QString(socket->errorString()),
|
||||
QString("Connection error"));
|
||||
|
||||
if (socket->error() == 13) {
|
||||
return;
|
||||
}
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
||||
void MainWindow::socketError(QAbstractSocket::SocketError)
|
||||
{
|
||||
addLog("[Lobby]: Connection error: " + socket->errorString());
|
||||
|
||||
QMessageBox::critical(this, QString(socket->errorString()), QString("Connection error"));
|
||||
|
||||
if(socket->error() == 13) {
|
||||
return;
|
||||
}
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
||||
void MainWindow::play()
|
||||
{
|
||||
void MainWindow::play() {
|
||||
#ifdef __linux__
|
||||
int r = system("cd ../../hearthstone/ && sh linux");
|
||||
int r = system("cd ../../hearthstone/ && sh linux");
|
||||
#elif defined(__APPLE__)
|
||||
QString run = "TZ=America/New_York wine ../../hearthstone/RunAsDate.exe "
|
||||
"\"05\\04\\2016\" \"" +
|
||||
QDir::currentPath().replace("/", "\\") +
|
||||
"\\..\\..\\hearthstone\\Hearthstone.exe\" -launch";
|
||||
QByteArray ba = run.toLatin1();
|
||||
int r = system(ba.data());
|
||||
#else
|
||||
QString run = "RunAsDate.exe \"01\\04\\2016\" \"" + QDir::currentPath().replace("/", "\\") + "\\..\\..\\hearthstone\\Hearthstone.exe\" -launch";
|
||||
QByteArray ba = run.toLatin1();
|
||||
int r = system(ba.data());
|
||||
if(r != 0) {
|
||||
addLog("Executable not found ");
|
||||
}
|
||||
QString run = "RunAsDate.exe \"01\\04\\2016\" \"" +
|
||||
QDir::currentPath().replace("/", "\\") +
|
||||
"\\..\\..\\hearthstone\\Hearthstone.exe\" -launch";
|
||||
QByteArray ba = run.toLatin1();
|
||||
int r = system(ba.data());
|
||||
#endif
|
||||
if (r != 0) {
|
||||
addLog("Executable not found ");
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::login()
|
||||
{
|
||||
if(ui->editUsername->text().length() < 2 || ui->editUsername->text().length() > 32 ||
|
||||
ui->editPassword->text().length() < 2 || ui->editPassword->text().length() > 32
|
||||
) {
|
||||
addLog("[Lobby]: Username and Password must be between 2 and 32 chars");
|
||||
return;
|
||||
void MainWindow::login() {
|
||||
if (ui->editUsername->text().length() < 2 ||
|
||||
ui->editUsername->text().length() > 32 ||
|
||||
ui->editPassword->text().length() < 2 ||
|
||||
ui->editPassword->text().length() > 32) {
|
||||
addLog("[Lobby]: Username and Password must be between 2 and 32 chars");
|
||||
return;
|
||||
}
|
||||
|
||||
QJsonDocument doc;
|
||||
QJsonObject obj;
|
||||
|
||||
obj["user"] = ui->editUsername->text();
|
||||
obj["pass"] = ui->editPassword->text();
|
||||
|
||||
doc.setObject(obj);
|
||||
|
||||
QByteArray js = doc.toJson();
|
||||
|
||||
char output[128];
|
||||
int plen = proto.packet(output, P_LOGIN, js.data(), js.length());
|
||||
|
||||
socket->write(output, plen);
|
||||
}
|
||||
|
||||
void MainWindow::socketStateChanged(QAbstractSocket::SocketState state) {
|
||||
qDebug() << "state changed " << state;
|
||||
}
|
||||
|
||||
void MainWindow::addLog(QString msg) {
|
||||
if (ui->listLogs->count() > 10) {
|
||||
ui->listLogs->clear();
|
||||
}
|
||||
ui->listLogs->addItem(msg);
|
||||
}
|
||||
|
||||
void MainWindow::socketReadyRead() {
|
||||
QByteArray qb = socket->readAll();
|
||||
|
||||
QJsonDocument doc(QJsonDocument::fromJson(qb));
|
||||
QJsonObject json = doc.object();
|
||||
|
||||
qint32 type = json["type"].toInt();
|
||||
qint32 error = json["error"].toInt();
|
||||
QString secret = json["secret"].toString();
|
||||
|
||||
if (error != 0) {
|
||||
switch (error) {
|
||||
case 1:
|
||||
case 2:
|
||||
addLog(QString("[Lobby]: Incorrect login details, to create an account "
|
||||
"go to hearthmod.com"));
|
||||
break;
|
||||
|
||||
case 3:
|
||||
addLog(QString("[Lobby]: No deck found, please go to hearthmod.com and "
|
||||
"create your deck"));
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
QJsonDocument doc;
|
||||
QJsonObject obj;
|
||||
if (type == P_LOGIN) {
|
||||
addLog(QString("[Lobby]: Login successful"));
|
||||
addLog(QString("[Lobby]: Deck found"));
|
||||
ui->editPassword->setDisabled(true);
|
||||
ui->editUsername->setDisabled(true);
|
||||
ui->loginButton->setDisabled(true);
|
||||
ui->player1->setDisabled(true);
|
||||
ui->player2->setDisabled(true);
|
||||
|
||||
obj["user"] = ui->editUsername->text();
|
||||
obj["pass"] = ui->editPassword->text();
|
||||
ui->checkDeck->setChecked(1);
|
||||
ui->pushPlay->setEnabled(1);
|
||||
|
||||
doc.setObject(obj);
|
||||
|
||||
QByteArray js = doc.toJson();
|
||||
|
||||
char output[128];
|
||||
int plen = proto.packet(output, P_LOGIN, js.data(), js.length());
|
||||
|
||||
socket->write(output, plen);
|
||||
}
|
||||
|
||||
void MainWindow::socketStateChanged(QAbstractSocket::SocketState state)
|
||||
{
|
||||
qDebug() << "state changed " << state;
|
||||
}
|
||||
|
||||
void MainWindow::addLog(QString msg)
|
||||
{
|
||||
if(ui->listLogs->count() > 10) {
|
||||
ui->listLogs->clear();
|
||||
}
|
||||
ui->listLogs->addItem(msg);
|
||||
}
|
||||
|
||||
void MainWindow::socketReadyRead()
|
||||
{
|
||||
QByteArray qb = socket->readAll();
|
||||
|
||||
QJsonDocument doc(QJsonDocument::fromJson(qb));
|
||||
QJsonObject json = doc.object();
|
||||
|
||||
qint32 type = json["type"].toInt();
|
||||
qint32 error = json["error"].toInt();
|
||||
QString secret = json["secret"].toString();
|
||||
|
||||
if(error != 0) {
|
||||
switch(error) {
|
||||
case 1:
|
||||
case 2:
|
||||
addLog(QString("[Lobby]: Incorrect login details, to create an account go to hearthmod.com"));
|
||||
break;
|
||||
|
||||
case 3:
|
||||
addLog(QString("[Lobby]: No deck found, please go to hearthmod.com and create your deck"));
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if(type == P_LOGIN) {
|
||||
addLog(QString("[Lobby]: Login successful"));
|
||||
addLog(QString("[Lobby]: Deck found"));
|
||||
ui->editPassword->setDisabled(true);
|
||||
ui->editUsername->setDisabled(true);
|
||||
ui->loginButton->setDisabled(true);
|
||||
ui->player1->setDisabled(true);
|
||||
ui->player2->setDisabled(true);
|
||||
|
||||
ui->checkDeck->setChecked(1);
|
||||
ui->pushPlay->setEnabled(1);
|
||||
|
||||
QString cmd = "Windows Registry Editor Version 5.00\n\
|
||||
QString cmd = "Windows Registry Editor Version 5.00\n\
|
||||
\n\
|
||||
[HKEY_CURRENT_USER\\Software\\Blizzard Entertainment\\Battle.net\\Launch Options\\WTCG]\n\
|
||||
\"REGION\"=\"EU\"\n\
|
||||
\"HBS_TOKENX\"=\"<>\"\n\
|
||||
";
|
||||
cmd.replace("<>", secret);
|
||||
if(ui->player1->isChecked()) {
|
||||
cmd.replace("HBS_TOKENX", "HBS_TOKEN0");
|
||||
#ifdef __linux__
|
||||
int r = system("cp ../../hearthstone/Hearthstone_Data/Managed/player1/Assembly-CSharp.dll ../../hearthstone/Hearthstone_Data/Managed/");
|
||||
if(r != 0) {
|
||||
qDebug() << "couldn't copy";
|
||||
}
|
||||
cmd.replace("<>", secret);
|
||||
if (ui->player1->isChecked()) {
|
||||
cmd.replace("HBS_TOKENX", "HBS_TOKEN0");
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
// Linux or macOS-specific code
|
||||
int r = system(
|
||||
"cp "
|
||||
"../../hearthstone/Hearthstone_Data/Managed/player1/"
|
||||
"Assembly-CSharp.dll ../../hearthstone/Hearthstone_Data/Managed/");
|
||||
if (r != 0) {
|
||||
qDebug() << "couldn't copy";
|
||||
}
|
||||
#else
|
||||
int r = system("copy ..\\..\\hearthstone\\Hearthstone_Data\\Managed\\player1\\Assembly-CSharp.dll ..\\..\\hearthstone\\Hearthstone_Data\\Managed\\ ");
|
||||
if(r != 0) {
|
||||
qDebug() << "couldn't copy";
|
||||
}
|
||||
int r = system(
|
||||
"copy "
|
||||
"..\\..\\hearthstone\\Hearthstone_Data\\Managed\\player1\\Assembly-"
|
||||
"CSharp.dll ..\\..\\hearthstone\\Hearthstone_Data\\Managed\\ ");
|
||||
if (r != 0) {
|
||||
qDebug() << "couldn't copy";
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
cmd.replace("HBS_TOKENX", "HBS_TOKEN1");
|
||||
|
||||
#ifdef __linux__
|
||||
int r = system("cp ../../hearthstone/Hearthstone_Data/Managed/player2/Assembly-CSharp.dll ../../hearthstone/Hearthstone_Data/Managed/");
|
||||
if(r != 0) {
|
||||
qDebug() << "couldn't copy";
|
||||
}
|
||||
#else
|
||||
int r = system("copy ..\\..\\hearthstone\\Hearthstone_Data\\Managed\\player2\\Assembly-CSharp.dll ..\\..\\hearthstone\\Hearthstone_Data\\Managed\\ ");
|
||||
if(r != 0) {
|
||||
qDebug() << "couldn't copy";
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
QString filename = "tmp.reg";
|
||||
QFile file(filename);
|
||||
if(file.open(QIODevice::ReadWrite)) {
|
||||
QTextStream stream(&file);
|
||||
stream << cmd << endl;
|
||||
file.close();
|
||||
//qDebug() << QDir::currentPath();
|
||||
#ifdef __linux__
|
||||
int r = system("regedit tmp.reg");
|
||||
#else
|
||||
int r = system("tmp.reg");
|
||||
#endif
|
||||
if(r != 0) {
|
||||
addLog(QString("[Lobby]: Cannot register client"));
|
||||
ui->pushPlay->setEnabled(0);
|
||||
}
|
||||
#ifdef __linux__
|
||||
r = system("rm tmp.reg");
|
||||
#else
|
||||
r = system("del tmp.reg");
|
||||
#endif
|
||||
if(r != 0) {
|
||||
addLog(QString("[Lobby]: Cannot clean client"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::sslErrors(const QList<QSslError> &errors)
|
||||
{
|
||||
socket->ignoreSslErrors();
|
||||
|
||||
if (socket->state() != QAbstractSocket::ConnectedState) {
|
||||
socketStateChanged(socket->state());
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::secureConnect()
|
||||
{
|
||||
if (!socket) {
|
||||
socket = new QSslSocket(this);
|
||||
|
||||
connect(socket, SIGNAL(stateChanged(QAbstractSocket::SocketState)),
|
||||
this, SLOT(socketStateChanged(QAbstractSocket::SocketState)));
|
||||
connect(socket, SIGNAL(encrypted()),
|
||||
this, SLOT(socketEncrypted()));
|
||||
connect(socket, SIGNAL(error(QAbstractSocket::SocketError)),
|
||||
this, SLOT(socketError(QAbstractSocket::SocketError)));
|
||||
connect(socket, SIGNAL(sslErrors(QList<QSslError>)),
|
||||
this, SLOT(sslErrors(QList<QSslError>)));
|
||||
connect(socket, SIGNAL(readyRead()),
|
||||
this, SLOT(socketReadyRead()));
|
||||
}
|
||||
|
||||
addLog(QString("[Lobby]: Connecting to hearthmod.com"));
|
||||
|
||||
socket->connectToHostEncrypted("hearthmod.com", 1119);
|
||||
|
||||
updateEnabledState();
|
||||
}
|
||||
|
||||
void MainWindow::socketEncrypted()
|
||||
{
|
||||
qDebug() << "socket encrypted";
|
||||
}
|
||||
|
||||
void MainWindow::updateEnabledState()
|
||||
{
|
||||
qDebug() << "state: "<< socket->state();
|
||||
}
|
||||
|
||||
void MainWindow::downloadFileFromURL(const QString &url, const QString &filePath, enum download_step_e step) {
|
||||
if (!m_isReady)
|
||||
return;
|
||||
m_isReady = false;
|
||||
|
||||
assets_step = step;
|
||||
|
||||
const QString fileName = filePath + url.right(url.size() - url.lastIndexOf("/")); // your filePath should end with a forward slash "/"
|
||||
m_file = new QFile();
|
||||
m_file->setFileName(fileName);
|
||||
m_file->open(QIODevice::WriteOnly);
|
||||
if (!m_file->isOpen()) {
|
||||
m_isReady = true;
|
||||
addLog(QString("Couldn't open file " + fileName));
|
||||
return;
|
||||
}
|
||||
|
||||
if(assets_step == E_CHECKSUM) {
|
||||
addLog(QString("[Update]: Version checking.. "));
|
||||
} else {
|
||||
addLog(QString("[Update]: Updating assets.. "));
|
||||
cmd.replace("HBS_TOKENX", "HBS_TOKEN1");
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
// Linux or macOS-specific code
|
||||
int r = system(
|
||||
"cp "
|
||||
"../../hearthstone/Hearthstone_Data/Managed/player2/"
|
||||
"Assembly-CSharp.dll ../../hearthstone/Hearthstone_Data/Managed/");
|
||||
if (r != 0) {
|
||||
qDebug() << "couldn't copy";
|
||||
}
|
||||
#else
|
||||
int r = system(
|
||||
"copy "
|
||||
"..\\..\\hearthstone\\Hearthstone_Data\\Managed\\player2\\Assembly-"
|
||||
"CSharp.dll ..\\..\\hearthstone\\Hearthstone_Data\\Managed\\ ");
|
||||
if (r != 0) {
|
||||
qDebug() << "couldn't copy";
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
QNetworkAccessManager *manager = new QNetworkAccessManager;
|
||||
QString filename = "tmp.reg";
|
||||
QFile file(filename);
|
||||
if (file.open(QIODevice::ReadWrite)) {
|
||||
QTextStream stream(&file);
|
||||
stream << cmd << endl;
|
||||
file.close();
|
||||
// qDebug() << QDir::currentPath();
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
// Linux or macOS-specific code
|
||||
int r = system("regedit tmp.reg");
|
||||
#else
|
||||
int r = system("tmp.reg");
|
||||
#endif
|
||||
if (r != 0) {
|
||||
addLog(QString("[Lobby]: Cannot register client"));
|
||||
ui->pushPlay->setEnabled(0);
|
||||
}
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
// Linux or macOS-specific code
|
||||
r = system("rm tmp.reg");
|
||||
#else
|
||||
r = system("del tmp.reg");
|
||||
#endif
|
||||
if (r != 0) {
|
||||
addLog(QString("[Lobby]: Cannot clean client"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QNetworkRequest request;
|
||||
request.setUrl(QUrl(url));
|
||||
void MainWindow::sslErrors(const QList<QSslError> &errors) {
|
||||
socket->ignoreSslErrors();
|
||||
|
||||
connect(manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(onDownloadFileComplete(QNetworkReply *)));
|
||||
if (socket->state() != QAbstractSocket::ConnectedState) {
|
||||
socketStateChanged(socket->state());
|
||||
}
|
||||
}
|
||||
|
||||
manager->get(request);
|
||||
void MainWindow::secureConnect() {
|
||||
if (!socket) {
|
||||
socket = new QSslSocket(this);
|
||||
|
||||
connect(socket, SIGNAL(stateChanged(QAbstractSocket::SocketState)), this,
|
||||
SLOT(socketStateChanged(QAbstractSocket::SocketState)));
|
||||
connect(socket, SIGNAL(encrypted()), this, SLOT(socketEncrypted()));
|
||||
connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), this,
|
||||
SLOT(socketError(QAbstractSocket::SocketError)));
|
||||
connect(socket, SIGNAL(sslErrors(QList<QSslError>)), this,
|
||||
SLOT(sslErrors(QList<QSslError>)));
|
||||
connect(socket, SIGNAL(readyRead()), this, SLOT(socketReadyRead()));
|
||||
}
|
||||
|
||||
addLog(QString("[Lobby]: Connecting to hearthmod.com"));
|
||||
|
||||
socket->connectToHostEncrypted("hearthmod.com", 1119);
|
||||
|
||||
updateEnabledState();
|
||||
}
|
||||
|
||||
void MainWindow::socketEncrypted() { qDebug() << "socket encrypted"; }
|
||||
|
||||
void MainWindow::updateEnabledState() {
|
||||
qDebug() << "state: " << socket->state();
|
||||
}
|
||||
|
||||
void MainWindow::downloadFileFromURL(const QString &url,
|
||||
const QString &filePath,
|
||||
enum download_step_e step) {
|
||||
if (!m_isReady)
|
||||
return;
|
||||
m_isReady = false;
|
||||
|
||||
assets_step = step;
|
||||
|
||||
const QString fileName =
|
||||
filePath +
|
||||
url.right(url.size() -
|
||||
url.lastIndexOf(
|
||||
"/")); // your filePath should end with a forward slash "/"
|
||||
m_file = new QFile();
|
||||
m_file->setFileName(fileName);
|
||||
m_file->open(QIODevice::WriteOnly);
|
||||
if (!m_file->isOpen()) {
|
||||
m_isReady = true;
|
||||
addLog(QString("Couldn't open file " + fileName));
|
||||
return;
|
||||
}
|
||||
|
||||
if (assets_step == E_CHECKSUM) {
|
||||
addLog(QString("[Update]: Version checking.. "));
|
||||
} else {
|
||||
addLog(QString("[Update]: Updating assets.. "));
|
||||
}
|
||||
|
||||
QNetworkAccessManager *manager = new QNetworkAccessManager;
|
||||
|
||||
QNetworkRequest request;
|
||||
request.setUrl(QUrl(url));
|
||||
|
||||
connect(manager, SIGNAL(finished(QNetworkReply *)), this,
|
||||
SLOT(onDownloadFileComplete(QNetworkReply *)));
|
||||
|
||||
manager->get(request);
|
||||
}
|
||||
|
||||
void MainWindow::onDownloadFileComplete(QNetworkReply *reply) {
|
||||
int update = 0;
|
||||
int update = 0;
|
||||
|
||||
if (!m_file->isWritable()) {
|
||||
m_isReady = true;
|
||||
addLog(QString("Update couldn't complete"));
|
||||
return; // TODO: error check
|
||||
if (!m_file->isWritable()) {
|
||||
m_isReady = true;
|
||||
addLog(QString("Update couldn't complete"));
|
||||
return; // TODO: error check
|
||||
}
|
||||
|
||||
if (assets_step == E_CHECKSUM) {
|
||||
// write to checksum
|
||||
QString cs = reply->readAll();
|
||||
if (cs.length() < 1) {
|
||||
QMessageBox::critical(
|
||||
this, tr("Version check"),
|
||||
"Version check failed. Server is most likely offline.");
|
||||
// QMessageBox::critical(this, QString(socket->errorString()),
|
||||
// QString("Connection error"));
|
||||
exit(0);
|
||||
}
|
||||
|
||||
if(assets_step == E_CHECKSUM) {
|
||||
// write to checksum
|
||||
QString cs = reply->readAll();
|
||||
if(cs.length() < 1) {
|
||||
QMessageBox::critical(this, tr("Version check"), "Version check failed. Server is most likely offline.");
|
||||
//QMessageBox::critical(this, QString(socket->errorString()), QString("Connection error"));
|
||||
exit(0);
|
||||
}
|
||||
m_file->write(cs.toStdString().c_str());
|
||||
m_file->close();
|
||||
|
||||
m_file->write(cs.toStdString().c_str());
|
||||
m_file->close();
|
||||
QFile f("../../hearthstone/Data/Win/local_checksum");
|
||||
f.open(QFile::ReadOnly | QFile::Text);
|
||||
QTextStream in(&f);
|
||||
QString checksum_local = in.readAll();
|
||||
f.close();
|
||||
|
||||
QFile f("../../hearthstone/Data/Win/local_checksum");
|
||||
f.open(QFile::ReadOnly | QFile::Text);
|
||||
QTextStream in(&f);
|
||||
QString checksum_local = in.readAll();
|
||||
f.close();
|
||||
assets_step = E_ASSETS;
|
||||
|
||||
assets_step = E_ASSETS;
|
||||
|
||||
if(cs == checksum_local) {
|
||||
addLog(QString("[Update]: Assets up to date."));
|
||||
} else {
|
||||
addLog(QString("[Update]: Update required."));
|
||||
update = 1;
|
||||
}
|
||||
|
||||
// write to local checksum
|
||||
QFile f1("../../hearthstone/Data/Win/local_checksum");
|
||||
f1.open(QFile::ReadWrite);
|
||||
f1.write(cs.toStdString().c_str());
|
||||
f1.close();
|
||||
|
||||
m_isReady = true;
|
||||
|
||||
if(update == 1) {
|
||||
ui->editPassword->setDisabled(true);
|
||||
ui->editUsername->setDisabled(true);
|
||||
ui->loginButton->setDisabled(true);
|
||||
ui->player1->setDisabled(true);
|
||||
ui->player2->setDisabled(true);
|
||||
|
||||
downloadFileFromURL("http://hearthmod.com/static/cardxml0.unity3d", "../../hearthstone/Data/Win", E_ASSETS);
|
||||
} else {
|
||||
ui->checkAssets->setChecked(1);
|
||||
}
|
||||
if (cs == checksum_local) {
|
||||
addLog(QString("[Update]: Assets up to date."));
|
||||
} else {
|
||||
addLog(QString("[Update]: Assets downloaded."));
|
||||
|
||||
m_file->write(reply->readAll());
|
||||
m_file->close(); // TODO: delete the file from the system later on
|
||||
m_isReady = true;
|
||||
|
||||
ui->editPassword->setDisabled(false);
|
||||
ui->editUsername->setDisabled(false);
|
||||
ui->loginButton->setDisabled(false);
|
||||
ui->player1->setDisabled(false);
|
||||
ui->player2->setDisabled(false);
|
||||
|
||||
ui->checkAssets->setChecked(1);
|
||||
addLog(QString("[Update]: Update required."));
|
||||
update = 1;
|
||||
}
|
||||
|
||||
// write to local checksum
|
||||
QFile f1("../../hearthstone/Data/Win/local_checksum");
|
||||
f1.open(QFile::ReadWrite);
|
||||
f1.write(cs.toStdString().c_str());
|
||||
f1.close();
|
||||
|
||||
m_isReady = true;
|
||||
|
||||
if (update == 1) {
|
||||
ui->editPassword->setDisabled(true);
|
||||
ui->editUsername->setDisabled(true);
|
||||
ui->loginButton->setDisabled(true);
|
||||
ui->player1->setDisabled(true);
|
||||
ui->player2->setDisabled(true);
|
||||
|
||||
downloadFileFromURL("http://hearthmod.com/static/cardxml0.unity3d",
|
||||
"../../hearthstone/Data/Win", E_ASSETS);
|
||||
} else {
|
||||
ui->checkAssets->setChecked(1);
|
||||
}
|
||||
} else {
|
||||
addLog(QString("[Update]: Assets downloaded."));
|
||||
|
||||
m_file->write(reply->readAll());
|
||||
m_file->close(); // TODO: delete the file from the system later on
|
||||
m_isReady = true;
|
||||
|
||||
ui->editPassword->setDisabled(false);
|
||||
ui->editUsername->setDisabled(false);
|
||||
ui->loginButton->setDisabled(false);
|
||||
ui->player1->setDisabled(false);
|
||||
ui->player2->setDisabled(false);
|
||||
|
||||
ui->checkAssets->setChecked(1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
<property name="windowTitle">
|
||||
<string>HearthMod Beta</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset>
|
||||
<normaloff>../../../.wine/drive_c/games/HS3/Hearthstone_Data/wait.cur</normaloff>../../../.wine/drive_c/games/HS3/Hearthstone_Data/wait.cur</iconset>
|
||||
</property>
|
||||
<!-- <property name="windowIcon"> -->
|
||||
<!-- <iconset> -->
|
||||
<!-- <normaloff>../../../.wine/drive_c/games/HS3/Hearthstone_Data/wait.cur</normaloff>../../../.wine/drive_c/games/HS3/Hearthstone_Data/wait.cur</iconset> -->
|
||||
<!-- </property> -->
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
|
||||
@@ -0,0 +1,192 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'mainwindow.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.5.1)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "mainwindow.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#include <QtCore/QList>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'mainwindow.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.5.1. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
struct qt_meta_stringdata_MainWindow_t {
|
||||
QByteArrayData data[19];
|
||||
char stringdata0[261];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 10), // "MainWindow"
|
||||
QT_MOC_LITERAL(1, 11, 13), // "secureConnect"
|
||||
QT_MOC_LITERAL(2, 25, 0), // ""
|
||||
QT_MOC_LITERAL(3, 26, 18), // "socketStateChanged"
|
||||
QT_MOC_LITERAL(4, 45, 28), // "QAbstractSocket::SocketState"
|
||||
QT_MOC_LITERAL(5, 74, 5), // "state"
|
||||
QT_MOC_LITERAL(6, 80, 15), // "socketEncrypted"
|
||||
QT_MOC_LITERAL(7, 96, 9), // "sslErrors"
|
||||
QT_MOC_LITERAL(8, 106, 16), // "QList<QSslError>"
|
||||
QT_MOC_LITERAL(9, 123, 6), // "errors"
|
||||
QT_MOC_LITERAL(10, 130, 11), // "socketError"
|
||||
QT_MOC_LITERAL(11, 142, 28), // "QAbstractSocket::SocketError"
|
||||
QT_MOC_LITERAL(12, 171, 15), // "socketReadyRead"
|
||||
QT_MOC_LITERAL(13, 187, 18), // "updateEnabledState"
|
||||
QT_MOC_LITERAL(14, 206, 22), // "onDownloadFileComplete"
|
||||
QT_MOC_LITERAL(15, 229, 14), // "QNetworkReply*"
|
||||
QT_MOC_LITERAL(16, 244, 5), // "reply"
|
||||
QT_MOC_LITERAL(17, 250, 5), // "login"
|
||||
QT_MOC_LITERAL(18, 256, 4) // "play"
|
||||
|
||||
},
|
||||
"MainWindow\0secureConnect\0\0socketStateChanged\0"
|
||||
"QAbstractSocket::SocketState\0state\0"
|
||||
"socketEncrypted\0sslErrors\0QList<QSslError>\0"
|
||||
"errors\0socketError\0QAbstractSocket::SocketError\0"
|
||||
"socketReadyRead\0updateEnabledState\0"
|
||||
"onDownloadFileComplete\0QNetworkReply*\0"
|
||||
"reply\0login\0play"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_MainWindow[] = {
|
||||
|
||||
// content:
|
||||
7, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
10, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 64, 2, 0x08 /* Private */,
|
||||
3, 1, 65, 2, 0x08 /* Private */,
|
||||
6, 0, 68, 2, 0x08 /* Private */,
|
||||
7, 1, 69, 2, 0x08 /* Private */,
|
||||
10, 1, 72, 2, 0x08 /* Private */,
|
||||
12, 0, 75, 2, 0x08 /* Private */,
|
||||
13, 0, 76, 2, 0x08 /* Private */,
|
||||
14, 1, 77, 2, 0x08 /* Private */,
|
||||
17, 0, 80, 2, 0x08 /* Private */,
|
||||
18, 0, 81, 2, 0x08 /* Private */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, 0x80000000 | 4, 5,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, 0x80000000 | 8, 9,
|
||||
QMetaType::Void, 0x80000000 | 11, 2,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, 0x80000000 | 15, 16,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
MainWindow *_t = static_cast<MainWindow *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->secureConnect(); break;
|
||||
case 1: _t->socketStateChanged((*reinterpret_cast< QAbstractSocket::SocketState(*)>(_a[1]))); break;
|
||||
case 2: _t->socketEncrypted(); break;
|
||||
case 3: _t->sslErrors((*reinterpret_cast< const QList<QSslError>(*)>(_a[1]))); break;
|
||||
case 4: _t->socketError((*reinterpret_cast< QAbstractSocket::SocketError(*)>(_a[1]))); break;
|
||||
case 5: _t->socketReadyRead(); break;
|
||||
case 6: _t->updateEnabledState(); break;
|
||||
case 7: _t->onDownloadFileComplete((*reinterpret_cast< QNetworkReply*(*)>(_a[1]))); break;
|
||||
case 8: _t->login(); break;
|
||||
case 9: _t->play(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
switch (_id) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 1:
|
||||
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 0:
|
||||
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QAbstractSocket::SocketState >(); break;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 0:
|
||||
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QList<QSslError> >(); break;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 0:
|
||||
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QAbstractSocket::SocketError >(); break;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 0:
|
||||
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QNetworkReply* >(); break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const QMetaObject MainWindow::staticMetaObject = {
|
||||
{ &QMainWindow::staticMetaObject, qt_meta_stringdata_MainWindow.data,
|
||||
qt_meta_data_MainWindow, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
|
||||
};
|
||||
|
||||
|
||||
const QMetaObject *MainWindow::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *MainWindow::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return Q_NULLPTR;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_MainWindow.stringdata0))
|
||||
return static_cast<void*>(const_cast< MainWindow*>(this));
|
||||
return QMainWindow::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QMainWindow::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 10)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 10;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 10)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 10;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_END_MOC_NAMESPACE
|
||||
@@ -0,0 +1,170 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading UI file 'mainwindow.ui'
|
||||
**
|
||||
** Created by: Qt User Interface Compiler version 5.5.1
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef UI_MAINWINDOW_H
|
||||
#define UI_MAINWINDOW_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QAction>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QButtonGroup>
|
||||
#include <QtWidgets/QCheckBox>
|
||||
#include <QtWidgets/QGroupBox>
|
||||
#include <QtWidgets/QHeaderView>
|
||||
#include <QtWidgets/QLabel>
|
||||
#include <QtWidgets/QLineEdit>
|
||||
#include <QtWidgets/QListWidget>
|
||||
#include <QtWidgets/QMainWindow>
|
||||
#include <QtWidgets/QMenu>
|
||||
#include <QtWidgets/QMenuBar>
|
||||
#include <QtWidgets/QPushButton>
|
||||
#include <QtWidgets/QRadioButton>
|
||||
#include <QtWidgets/QStatusBar>
|
||||
#include <QtWidgets/QWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_MainWindow {
|
||||
public:
|
||||
QAction *actionQuit;
|
||||
QWidget *centralWidget;
|
||||
QGroupBox *groupBox_2;
|
||||
QListWidget *listLogs;
|
||||
QGroupBox *lobby;
|
||||
QGroupBox *groupBox;
|
||||
QLineEdit *editUsername;
|
||||
QLabel *label;
|
||||
QLabel *label_2;
|
||||
QLineEdit *editPassword;
|
||||
QPushButton *loginButton;
|
||||
QLabel *label_3;
|
||||
QRadioButton *player1;
|
||||
QRadioButton *player2;
|
||||
QGroupBox *groupBox_3;
|
||||
QCheckBox *checkDeck;
|
||||
QPushButton *pushPlay;
|
||||
QCheckBox *checkAssets;
|
||||
QMenuBar *menuBar;
|
||||
QMenu *menuMenu;
|
||||
QMenu *menuAbout;
|
||||
QStatusBar *statusBar;
|
||||
|
||||
void setupUi(QMainWindow *MainWindow) {
|
||||
if (MainWindow->objectName().isEmpty())
|
||||
MainWindow->setObjectName(QStringLiteral("MainWindow"));
|
||||
MainWindow->resize(751, 431);
|
||||
MainWindow->setAutoFillBackground(true);
|
||||
actionQuit = new QAction(MainWindow);
|
||||
actionQuit->setObjectName(QStringLiteral("actionQuit"));
|
||||
centralWidget = new QWidget(MainWindow);
|
||||
centralWidget->setObjectName(QStringLiteral("centralWidget"));
|
||||
groupBox_2 = new QGroupBox(centralWidget);
|
||||
groupBox_2->setObjectName(QStringLiteral("groupBox_2"));
|
||||
groupBox_2->setGeometry(QRect(10, 190, 731, 191));
|
||||
listLogs = new QListWidget(groupBox_2);
|
||||
listLogs->setObjectName(QStringLiteral("listLogs"));
|
||||
listLogs->setGeometry(QRect(10, 30, 711, 151));
|
||||
lobby = new QGroupBox(centralWidget);
|
||||
lobby->setObjectName(QStringLiteral("lobby"));
|
||||
lobby->setEnabled(true);
|
||||
lobby->setGeometry(QRect(10, 10, 731, 181));
|
||||
groupBox = new QGroupBox(lobby);
|
||||
groupBox->setObjectName(QStringLiteral("groupBox"));
|
||||
groupBox->setGeometry(QRect(10, 30, 341, 141));
|
||||
editUsername = new QLineEdit(groupBox);
|
||||
editUsername->setObjectName(QStringLiteral("editUsername"));
|
||||
editUsername->setGeometry(QRect(90, 40, 231, 25));
|
||||
label = new QLabel(groupBox);
|
||||
label->setObjectName(QStringLiteral("label"));
|
||||
label->setGeometry(QRect(10, 40, 71, 17));
|
||||
label_2 = new QLabel(groupBox);
|
||||
label_2->setObjectName(QStringLiteral("label_2"));
|
||||
label_2->setGeometry(QRect(10, 70, 67, 21));
|
||||
editPassword = new QLineEdit(groupBox);
|
||||
editPassword->setObjectName(QStringLiteral("editPassword"));
|
||||
editPassword->setGeometry(QRect(90, 70, 231, 25));
|
||||
editPassword->setEchoMode(QLineEdit::Password);
|
||||
loginButton = new QPushButton(groupBox);
|
||||
loginButton->setObjectName(QStringLiteral("loginButton"));
|
||||
loginButton->setGeometry(QRect(210, 100, 111, 25));
|
||||
label_3 = new QLabel(groupBox);
|
||||
label_3->setObjectName(QStringLiteral("label_3"));
|
||||
label_3->setGeometry(QRect(10, 100, 71, 17));
|
||||
player1 = new QRadioButton(groupBox);
|
||||
player1->setObjectName(QStringLiteral("player1"));
|
||||
player1->setGeometry(QRect(90, 100, 41, 23));
|
||||
player1->setChecked(true);
|
||||
player2 = new QRadioButton(groupBox);
|
||||
player2->setObjectName(QStringLiteral("player2"));
|
||||
player2->setGeometry(QRect(140, 100, 41, 23));
|
||||
groupBox_3 = new QGroupBox(lobby);
|
||||
groupBox_3->setObjectName(QStringLiteral("groupBox_3"));
|
||||
groupBox_3->setGeometry(QRect(370, 30, 351, 141));
|
||||
checkDeck = new QCheckBox(groupBox_3);
|
||||
checkDeck->setObjectName(QStringLiteral("checkDeck"));
|
||||
checkDeck->setEnabled(false);
|
||||
checkDeck->setGeometry(QRect(10, 30, 92, 23));
|
||||
pushPlay = new QPushButton(groupBox_3);
|
||||
pushPlay->setObjectName(QStringLiteral("pushPlay"));
|
||||
pushPlay->setEnabled(false);
|
||||
pushPlay->setGeometry(QRect(20, 100, 321, 31));
|
||||
checkAssets = new QCheckBox(groupBox_3);
|
||||
checkAssets->setObjectName(QStringLiteral("checkAssets"));
|
||||
checkAssets->setEnabled(false);
|
||||
checkAssets->setGeometry(QRect(10, 60, 92, 23));
|
||||
MainWindow->setCentralWidget(centralWidget);
|
||||
menuBar = new QMenuBar(MainWindow);
|
||||
menuBar->setObjectName(QStringLiteral("menuBar"));
|
||||
menuBar->setGeometry(QRect(0, 0, 751, 22));
|
||||
menuMenu = new QMenu(menuBar);
|
||||
menuMenu->setObjectName(QStringLiteral("menuMenu"));
|
||||
menuAbout = new QMenu(menuBar);
|
||||
menuAbout->setObjectName(QStringLiteral("menuAbout"));
|
||||
MainWindow->setMenuBar(menuBar);
|
||||
statusBar = new QStatusBar(MainWindow);
|
||||
statusBar->setObjectName(QStringLiteral("statusBar"));
|
||||
MainWindow->setStatusBar(statusBar);
|
||||
|
||||
menuBar->addAction(menuMenu->menuAction());
|
||||
menuBar->addAction(menuAbout->menuAction());
|
||||
menuMenu->addAction(actionQuit);
|
||||
|
||||
retranslateUi(MainWindow);
|
||||
|
||||
QMetaObject::connectSlotsByName(MainWindow);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QMainWindow *MainWindow) {
|
||||
MainWindow->setWindowTitle(
|
||||
QApplication::translate("MainWindow", "HearthMod Beta", 0));
|
||||
actionQuit->setText(QApplication::translate("MainWindow", "Quit", 0));
|
||||
groupBox_2->setTitle(QApplication::translate("MainWindow", "Logs", 0));
|
||||
lobby->setTitle(QApplication::translate("MainWindow", "Lobby", 0));
|
||||
groupBox->setTitle(QApplication::translate("MainWindow", "Login", 0));
|
||||
label->setText(QApplication::translate("MainWindow", "Username", 0));
|
||||
label_2->setText(QApplication::translate("MainWindow", "Password", 0));
|
||||
loginButton->setText(QApplication::translate("MainWindow", "Login", 0));
|
||||
label_3->setText(QApplication::translate("MainWindow", "Player", 0));
|
||||
player1->setText(QApplication::translate("MainWindow", "1", 0));
|
||||
player2->setText(QApplication::translate("MainWindow", "2", 0));
|
||||
groupBox_3->setTitle(QApplication::translate("MainWindow", "Game", 0));
|
||||
checkDeck->setText(QApplication::translate("MainWindow", "Deck", 0));
|
||||
pushPlay->setText(QApplication::translate("MainWindow", "Play!", 0));
|
||||
checkAssets->setText(QApplication::translate("MainWindow", "Assets", 0));
|
||||
menuMenu->setTitle(QApplication::translate("MainWindow", "Menu", 0));
|
||||
menuAbout->setTitle(QApplication::translate("MainWindow", "Help", 0));
|
||||
} // retranslateUi
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class MainWindow : public Ui_MainWindow {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // UI_MAINWINDOW_H
|
||||
Reference in New Issue
Block a user