Add containerization and make this bad boy work on Windows and MacOS

This commit is contained in:
omer
2024-02-28 19:08:07 -06:00
parent d58a0543eb
commit df7a63e047
557 changed files with 6647 additions and 5493 deletions
+358
View File
@@ -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:
BIN
View File
Binary file not shown.
+267
View File
@@ -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
View File
@@ -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);
}
}
+4 -4
View File
@@ -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>
+192
View File
@@ -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
+170
View File
@@ -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