diff --git a/ADeditor/ADeditor b/ADeditor/ADeditor index 89a9835..937e919 100755 Binary files a/ADeditor/ADeditor and b/ADeditor/ADeditor differ diff --git a/ADeditor/ADeditor.pro b/ADeditor/ADeditor.pro index 60e532a..92fa1f1 100644 --- a/ADeditor/ADeditor.pro +++ b/ADeditor/ADeditor.pro @@ -10,10 +10,19 @@ SOURCES += main.cpp \ ../loader.cpp \ alienmodel.cpp \ towermodel.cpp \ - splashmodel.cpp + splashmodel.cpp \ + ../map.cpp \ + ../game_data.cpp HEADERS += mainwindow.h \ ../loader.h \ alienmodel.h \ towermodel.h \ - splashmodel.h + splashmodel.h \ + ../base_types.h \ + ../map.h \ + ../game_data.h FORMS += mainwindow.ui +TRANSLATIONS += adeditor_ru.ts + +RESOURCES += \ + ADeditor.qrc diff --git a/ADeditor/ADeditor.pro.user b/ADeditor/ADeditor.pro.user index 0d3bdbf..3884b72 100644 --- a/ADeditor/ADeditor.pro.user +++ b/ADeditor/ADeditor.pro.user @@ -1,254 +1,104 @@ - RunConfiguration0-BaseEnvironmentBase - 2 - - - RunConfiguration0-CommandLineArguments - - - - RunConfiguration0-ProFile - ADeditor.pro - - - RunConfiguration0-RunConfiguration.name - ADeditor - - - RunConfiguration0-UseDyldImageSuffix - false - - - RunConfiguration0-UseTerminal - false - - - RunConfiguration0-UserEnvironmentChanges - - - - RunConfiguration0-UserSetName - false - - - RunConfiguration0-UserSetWorkingDirectory - false - - - RunConfiguration0-UserWorkingDirectory - - - - RunConfiguration0-type - Qt4ProjectManager.Qt4RunConfiguration - - - activeRunConfiguration + ProjectExplorer.Project.ActiveTarget 0 - activebuildconfiguration - Debug - - - buildConfiguration-Debug + ProjectExplorer.Project.EditorSettings - Debug - 2 - 0 - 2 + System - buildconfiguration-Debug-buildstep0 + ProjectExplorer.Project.Target.0 - Debug - - DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5VyjD99lFj,guid=cf0067cbadce72e8c9c0f05e4c74f11a - DEFAULTS_PATH=/usr/share/gconf/gnome.default.path - DESKTOP_SESSION=gnome - DISPLAY=:0.0 - GDMSESSION=gnome - GDM_KEYBOARD_LAYOUT=us - GDM_LANG=ru_RU.UTF-8 - GNOME_DESKTOP_SESSION_ID=this-is-deprecated - GNOME_KEYRING_CONTROL=/tmp/keyring-sQCAQN - GTK_MODULES=canberra-gtk-module - HOME=/home/andrey - LANG=ru_RU.UTF-8 - LD_LIBRARY_PATH=/usr/lib/qtcreator: - LOGNAME=andrey - MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path - ORBIT_SOCKETDIR=/tmp/orbit-andrey - PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - PWD=/home/andrey - QTDIR=/usr/share/qt4 - SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1112,unix/buull-eeePC:/tmp/.ICE-unix/1112 - SHELL=/bin/bash - SPEECHD_PORT=6561 - SSH_AGENT_PID=1146 - SSH_AUTH_SOCK=/tmp/keyring-sQCAQN/ssh - USER=andrey - USERNAME=andrey - XAUTHORITY=/var/run/gdm/auth-for-andrey-QG4tiG/database - XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg - XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/ - XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1282732313.174012-433654821 - - - /home/andrey/AD/aliendefender/ADeditor/ADeditor.pro - -spec - linux-g++ - -r - CONFIG+=debug - - /usr/bin/qmake-qt4 - false - /home/andrey/AD/aliendefender/ADeditor + Настольный компьютер + Qt4ProjectManager.Target.DesktopTarget + 0 + 0 + 0 + + + + + QtProjectManager.QMakeBuildStep + + + + + Qt4ProjectManager.MakeStep + false + + + + 2 + Build + ProjectExplorer.BuildSteps.Build + + + + + Qt4ProjectManager.MakeStep + true + + clean + + + + 1 + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + /home/peri4/pprojects/aliendefender/ADeditor + 2 + 0 + true + + 1 + + + 0 + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + No deployment + ProjectExplorer.DefaultDeployConfiguration + + 1 + + ADeditor + Qt4ProjectManager.Qt4RunConfiguration + 2 + + ADeditor.pro + false + false + + false + false + + + 1 - buildconfiguration-Debug-buildstep1 - - Debug - - DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5VyjD99lFj,guid=cf0067cbadce72e8c9c0f05e4c74f11a - DEFAULTS_PATH=/usr/share/gconf/gnome.default.path - DESKTOP_SESSION=gnome - DISPLAY=:0.0 - GDMSESSION=gnome - GDM_KEYBOARD_LAYOUT=us - GDM_LANG=ru_RU.UTF-8 - GNOME_DESKTOP_SESSION_ID=this-is-deprecated - GNOME_KEYRING_CONTROL=/tmp/keyring-sQCAQN - GTK_MODULES=canberra-gtk-module - HOME=/home/andrey - LANG=ru_RU.UTF-8 - LD_LIBRARY_PATH=/usr/lib/qtcreator: - LOGNAME=andrey - MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path - ORBIT_SOCKETDIR=/tmp/orbit-andrey - PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - PWD=/home/andrey - QTDIR=/usr/share/qt4 - SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1112,unix/buull-eeePC:/tmp/.ICE-unix/1112 - SHELL=/bin/bash - SPEECHD_PORT=6561 - SSH_AGENT_PID=1146 - SSH_AUTH_SOCK=/tmp/keyring-sQCAQN/ssh - USER=andrey - USERNAME=andrey - XAUTHORITY=/var/run/gdm/auth-for-andrey-QG4tiG/database - XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg - XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/ - XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1282732313.174012-433654821 - - false - - -w - - /usr/bin/make - true - /home/andrey/AD/aliendefender/ADeditor - + ProjectExplorer.Project.TargetCount + 1 - buildconfiguration-Debug-cleanstep0 - - Debug - - DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5VyjD99lFj,guid=cf0067cbadce72e8c9c0f05e4c74f11a - DEFAULTS_PATH=/usr/share/gconf/gnome.default.path - DESKTOP_SESSION=gnome - DISPLAY=:0.0 - GDMSESSION=gnome - GDM_KEYBOARD_LAYOUT=us - GDM_LANG=ru_RU.UTF-8 - GNOME_DESKTOP_SESSION_ID=this-is-deprecated - GNOME_KEYRING_CONTROL=/tmp/keyring-sQCAQN - GTK_MODULES=canberra-gtk-module - HOME=/home/andrey - LANG=ru_RU.UTF-8 - LD_LIBRARY_PATH=/usr/lib/qtcreator: - LOGNAME=andrey - MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path - ORBIT_SOCKETDIR=/tmp/orbit-andrey - PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games - PWD=/home/andrey - QTDIR=/usr/share/qt4 - SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1112,unix/buull-eeePC:/tmp/.ICE-unix/1112 - SHELL=/bin/bash - SPEECHD_PORT=6561 - SSH_AGENT_PID=1146 - SSH_AUTH_SOCK=/tmp/keyring-sQCAQN/ssh - USER=andrey - USERNAME=andrey - XAUTHORITY=/var/run/gdm/auth-for-andrey-QG4tiG/database - XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg - XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/ - XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1282732313.174012-433654821 - - true - - clean - -w - - /usr/bin/make - true - /home/andrey/AD/aliendefender/ADeditor - true - - clean - - + ProjectExplorer.Project.Updater.EnvironmentId + {4d5b06df-4184-42d4-9dfd-5c7caaa07ab2} - buildconfigurations - - Debug - - - - buildstep0 - - - - - - - buildstep1 - - - - - - buildsteps - - trolltech.qt4projectmanager.qmake - trolltech.qt4projectmanager.make - - - - cleanstep0 - - - true - - - - cleansteps - - trolltech.qt4projectmanager.make - - - - defaultFileEncoding - System - - - project - + ProjectExplorer.Project.Updater.FileVersion + 8 diff --git a/ADeditor/ADeditor.pro.user.1.3 b/ADeditor/ADeditor.pro.user.1.3 index 833beb4..0d3bdbf 100644 --- a/ADeditor/ADeditor.pro.user.1.3 +++ b/ADeditor/ADeditor.pro.user.1.3 @@ -56,27 +56,17 @@ buildConfiguration-Debug Debug - 0 + 2 0 - 2 - - buildConfiguration-Release - - Release - 0 - - 0 - - buildconfiguration-Debug-buildstep0 Debug - DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5i8Go7nPio,guid=870ffe971971ceac89206f0e4c5facbd + DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5VyjD99lFj,guid=cf0067cbadce72e8c9c0f05e4c74f11a DEFAULTS_PATH=/usr/share/gconf/gnome.default.path DESKTOP_SESSION=gnome DISPLAY=:0.0 @@ -84,7 +74,7 @@ GDM_KEYBOARD_LAYOUT=us GDM_LANG=ru_RU.UTF-8 GNOME_DESKTOP_SESSION_ID=this-is-deprecated - GNOME_KEYRING_CONTROL=/tmp/keyring-7vXnOW + GNOME_KEYRING_CONTROL=/tmp/keyring-sQCAQN GTK_MODULES=canberra-gtk-module HOME=/home/andrey LANG=ru_RU.UTF-8 @@ -95,17 +85,17 @@ PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games PWD=/home/andrey QTDIR=/usr/share/qt4 - SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1124,unix/buull-eeePC:/tmp/.ICE-unix/1124 + SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1112,unix/buull-eeePC:/tmp/.ICE-unix/1112 SHELL=/bin/bash SPEECHD_PORT=6561 - SSH_AGENT_PID=1158 - SSH_AUTH_SOCK=/tmp/keyring-7vXnOW/ssh + SSH_AGENT_PID=1146 + SSH_AUTH_SOCK=/tmp/keyring-sQCAQN/ssh USER=andrey USERNAME=andrey - XAUTHORITY=/var/run/gdm/auth-for-andrey-HWCXAG/database + XAUTHORITY=/var/run/gdm/auth-for-andrey-QG4tiG/database XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/ - XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1281338556.676663-803309736 + XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1282732313.174012-433654821 /home/andrey/AD/aliendefender/ADeditor/ADeditor.pro @@ -124,7 +114,7 @@ Debug - DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5i8Go7nPio,guid=870ffe971971ceac89206f0e4c5facbd + DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5VyjD99lFj,guid=cf0067cbadce72e8c9c0f05e4c74f11a DEFAULTS_PATH=/usr/share/gconf/gnome.default.path DESKTOP_SESSION=gnome DISPLAY=:0.0 @@ -132,7 +122,7 @@ GDM_KEYBOARD_LAYOUT=us GDM_LANG=ru_RU.UTF-8 GNOME_DESKTOP_SESSION_ID=this-is-deprecated - GNOME_KEYRING_CONTROL=/tmp/keyring-7vXnOW + GNOME_KEYRING_CONTROL=/tmp/keyring-sQCAQN GTK_MODULES=canberra-gtk-module HOME=/home/andrey LANG=ru_RU.UTF-8 @@ -143,17 +133,17 @@ PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games PWD=/home/andrey QTDIR=/usr/share/qt4 - SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1124,unix/buull-eeePC:/tmp/.ICE-unix/1124 + SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1112,unix/buull-eeePC:/tmp/.ICE-unix/1112 SHELL=/bin/bash SPEECHD_PORT=6561 - SSH_AGENT_PID=1158 - SSH_AUTH_SOCK=/tmp/keyring-7vXnOW/ssh + SSH_AGENT_PID=1146 + SSH_AUTH_SOCK=/tmp/keyring-sQCAQN/ssh USER=andrey USERNAME=andrey - XAUTHORITY=/var/run/gdm/auth-for-andrey-HWCXAG/database + XAUTHORITY=/var/run/gdm/auth-for-andrey-QG4tiG/database XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/ - XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1281338556.676663-803309736 + XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1282732313.174012-433654821 false @@ -169,7 +159,7 @@ Debug - DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5i8Go7nPio,guid=870ffe971971ceac89206f0e4c5facbd + DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5VyjD99lFj,guid=cf0067cbadce72e8c9c0f05e4c74f11a DEFAULTS_PATH=/usr/share/gconf/gnome.default.path DESKTOP_SESSION=gnome DISPLAY=:0.0 @@ -177,7 +167,7 @@ GDM_KEYBOARD_LAYOUT=us GDM_LANG=ru_RU.UTF-8 GNOME_DESKTOP_SESSION_ID=this-is-deprecated - GNOME_KEYRING_CONTROL=/tmp/keyring-7vXnOW + GNOME_KEYRING_CONTROL=/tmp/keyring-sQCAQN GTK_MODULES=canberra-gtk-module HOME=/home/andrey LANG=ru_RU.UTF-8 @@ -188,17 +178,17 @@ PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games PWD=/home/andrey QTDIR=/usr/share/qt4 - SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1124,unix/buull-eeePC:/tmp/.ICE-unix/1124 + SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1112,unix/buull-eeePC:/tmp/.ICE-unix/1112 SHELL=/bin/bash SPEECHD_PORT=6561 - SSH_AGENT_PID=1158 - SSH_AUTH_SOCK=/tmp/keyring-7vXnOW/ssh + SSH_AGENT_PID=1146 + SSH_AUTH_SOCK=/tmp/keyring-sQCAQN/ssh USER=andrey USERNAME=andrey - XAUTHORITY=/var/run/gdm/auth-for-andrey-HWCXAG/database + XAUTHORITY=/var/run/gdm/auth-for-andrey-QG4tiG/database XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/ - XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1281338556.676663-803309736 + XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1282732313.174012-433654821 true @@ -214,29 +204,10 @@ - - buildconfiguration-Release-buildstep0 - - Release - - - - buildconfiguration-Release-buildstep1 - - Release - - - - buildconfiguration-Release-cleanstep0 - - Release - - buildconfigurations Debug - Release diff --git a/ADeditor/ADeditor.qrc b/ADeditor/ADeditor.qrc new file mode 100644 index 0000000..36b0f98 --- /dev/null +++ b/ADeditor/ADeditor.qrc @@ -0,0 +1,5 @@ + + + adeditor_ru.qm + + diff --git a/ADeditor/Makefile b/ADeditor/Makefile index 3803c83..e5b6bda 100644 --- a/ADeditor/Makefile +++ b/ADeditor/Makefile @@ -1,9 +1,9 @@ ############################################################################# # Makefile for building: ADeditor -# Generated by qmake (2.01a) (Qt 4.6.2) on: ?? ???. 25 23:57:34 2010 +# Generated by qmake (2.01a) (Qt 4.7.0) on: ?? ???. 26 18:09:05 2010 # Project: ADeditor.pro # Template: app -# Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile ADeditor.pro +# Command: /usr/bin/qmake -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug QMLINSPECTOR_PATH=/usr/share/qtcreator/qmljsdebugger -o Makefile ADeditor.pro ############################################################################# ####### Compiler, tools and options @@ -11,15 +11,15 @@ CC = gcc CXX = g++ DEFINES = -DQT_XMLPATTERNS_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -CFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) -CXXFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) +CFLAGS = -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -Wall -W -D_REENTRANT $(DEFINES) INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4 -I. -I. LINK = g++ -LFLAGS = -LIBS = $(SUBLIBS) -L/usr/lib -lQtXmlPatterns -lQtXml -lQtGui -lQtCore -lpthread +LFLAGS = -Wl,-rpath,/usr/lib/qt4 +LIBS = $(SUBLIBS) -L/usr/lib/qt4 -lQtXmlPatterns -L/usr/lib/qt4 -lQtNetwork -lQtXml -lQtGui -L/usr/X11R6/lib -lQtCore -lgthread-2.0 -lrt -lglib-2.0 -lpthread AR = ar cqs RANLIB = -QMAKE = /usr/bin/qmake-qt4 +QMAKE = /usr/bin/qmake TAR = tar -cf COMPRESS = gzip -9f COPY = cp -f @@ -48,26 +48,37 @@ SOURCES = main.cpp \ ../loader.cpp \ alienmodel.cpp \ towermodel.cpp \ - splashmodel.cpp moc_mainwindow.cpp \ + splashmodel.cpp \ + ../map.cpp \ + ../game_data.cpp moc_mainwindow.cpp \ moc_loader.cpp \ moc_alienmodel.cpp \ moc_towermodel.cpp \ - moc_splashmodel.cpp + moc_splashmodel.cpp \ + moc_map.cpp \ + moc_game_data.cpp \ + qrc_ADeditor.cpp OBJECTS = main.o \ mainwindow.o \ loader.o \ alienmodel.o \ towermodel.o \ splashmodel.o \ + map.o \ + game_data.o \ moc_mainwindow.o \ moc_loader.o \ moc_alienmodel.o \ moc_towermodel.o \ - moc_splashmodel.o + moc_splashmodel.o \ + moc_map.o \ + moc_game_data.o \ + qrc_ADeditor.o DIST = /usr/share/qt4/mkspecs/common/g++.conf \ /usr/share/qt4/mkspecs/common/unix.conf \ /usr/share/qt4/mkspecs/common/linux.conf \ /usr/share/qt4/mkspecs/qconfig.pri \ + /usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \ /usr/share/qt4/mkspecs/features/qt_functions.prf \ /usr/share/qt4/mkspecs/features/qt_config.prf \ /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ @@ -119,6 +130,7 @@ Makefile: ADeditor.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/q /usr/share/qt4/mkspecs/common/unix.conf \ /usr/share/qt4/mkspecs/common/linux.conf \ /usr/share/qt4/mkspecs/qconfig.pri \ + /usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \ /usr/share/qt4/mkspecs/features/qt_functions.prf \ /usr/share/qt4/mkspecs/features/qt_config.prf \ /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ @@ -134,15 +146,17 @@ Makefile: ADeditor.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/q /usr/share/qt4/mkspecs/features/yacc.prf \ /usr/share/qt4/mkspecs/features/lex.prf \ /usr/share/qt4/mkspecs/features/include_source_dir.prf \ - /usr/lib/libQtXmlPatterns.prl \ - /usr/lib/libQtXml.prl \ - /usr/lib/libQtGui.prl \ - /usr/lib/libQtCore.prl - $(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile ADeditor.pro + /usr/lib/qt4/libQtXmlPatterns.prl \ + /usr/lib/qt4/libQtNetwork.prl \ + /usr/lib/qt4/libQtCore.prl \ + /usr/lib/qt4/libQtXml.prl \ + /usr/lib/qt4/libQtGui.prl + $(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug QMLINSPECTOR_PATH=/usr/share/qtcreator/qmljsdebugger -o Makefile ADeditor.pro /usr/share/qt4/mkspecs/common/g++.conf: /usr/share/qt4/mkspecs/common/unix.conf: /usr/share/qt4/mkspecs/common/linux.conf: /usr/share/qt4/mkspecs/qconfig.pri: +/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri: /usr/share/qt4/mkspecs/features/qt_functions.prf: /usr/share/qt4/mkspecs/features/qt_config.prf: /usr/share/qt4/mkspecs/features/exclusive_builds.prf: @@ -158,16 +172,17 @@ Makefile: ADeditor.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/q /usr/share/qt4/mkspecs/features/yacc.prf: /usr/share/qt4/mkspecs/features/lex.prf: /usr/share/qt4/mkspecs/features/include_source_dir.prf: -/usr/lib/libQtXmlPatterns.prl: -/usr/lib/libQtXml.prl: -/usr/lib/libQtGui.prl: -/usr/lib/libQtCore.prl: +/usr/lib/qt4/libQtXmlPatterns.prl: +/usr/lib/qt4/libQtNetwork.prl: +/usr/lib/qt4/libQtCore.prl: +/usr/lib/qt4/libQtXml.prl: +/usr/lib/qt4/libQtGui.prl: qmake: FORCE - @$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile ADeditor.pro + @$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug QMLINSPECTOR_PATH=/usr/share/qtcreator/qmljsdebugger -o Makefile ADeditor.pro dist: @$(CHK_DIR_EXISTS) .tmp/ADeditor1.0.0 || $(MKDIR) .tmp/ADeditor1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents mainwindow.h ../loader.h alienmodel.h towermodel.h splashmodel.h .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp ../loader.cpp alienmodel.cpp towermodel.cpp splashmodel.cpp .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents mainwindow.ui .tmp/ADeditor1.0.0/ && (cd `dirname .tmp/ADeditor1.0.0` && $(TAR) ADeditor1.0.0.tar ADeditor1.0.0 && $(COMPRESS) ADeditor1.0.0.tar) && $(MOVE) `dirname .tmp/ADeditor1.0.0`/ADeditor1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/ADeditor1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents mainwindow.h ../loader.h alienmodel.h towermodel.h splashmodel.h ../base_types.h ../map.h ../game_data.h .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents ADeditor.qrc .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents main.cpp mainwindow.cpp ../loader.cpp alienmodel.cpp towermodel.cpp splashmodel.cpp ../map.cpp ../game_data.cpp .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents mainwindow.ui .tmp/ADeditor1.0.0/ && $(COPY_FILE) --parents adeditor_ru.ts .tmp/ADeditor1.0.0/ && (cd `dirname .tmp/ADeditor1.0.0` && $(TAR) ADeditor1.0.0.tar ADeditor1.0.0 && $(COMPRESS) ADeditor1.0.0.tar) && $(MOVE) `dirname .tmp/ADeditor1.0.0`/ADeditor1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/ADeditor1.0.0 clean:compiler_clean @@ -182,13 +197,15 @@ distclean: clean -$(DEL_FILE) Makefile +check: first + mocclean: compiler_moc_header_clean compiler_moc_source_clean mocables: compiler_moc_header_make_all compiler_moc_source_make_all -compiler_moc_header_make_all: moc_mainwindow.cpp moc_loader.cpp moc_alienmodel.cpp moc_towermodel.cpp moc_splashmodel.cpp +compiler_moc_header_make_all: moc_mainwindow.cpp moc_loader.cpp moc_alienmodel.cpp moc_towermodel.cpp moc_splashmodel.cpp moc_map.cpp moc_game_data.cpp compiler_moc_header_clean: - -$(DEL_FILE) moc_mainwindow.cpp moc_loader.cpp moc_alienmodel.cpp moc_towermodel.cpp moc_splashmodel.cpp + -$(DEL_FILE) moc_mainwindow.cpp moc_loader.cpp moc_alienmodel.cpp moc_towermodel.cpp moc_splashmodel.cpp moc_map.cpp moc_game_data.cpp moc_mainwindow.cpp: alienmodel.h \ ../loader.h \ ../game_data.h \ @@ -198,14 +215,14 @@ moc_mainwindow.cpp: alienmodel.h \ towermodel.h \ splashmodel.h \ mainwindow.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) mainwindow.h -o moc_mainwindow.cpp moc_loader.cpp: ../game_data.h \ ../player.h \ ../base_types.h \ ../map.h \ ../loader.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) ../loader.h -o moc_loader.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) ../loader.h -o moc_loader.cpp moc_alienmodel.cpp: ../loader.h \ ../game_data.h \ @@ -213,7 +230,7 @@ moc_alienmodel.cpp: ../loader.h \ ../base_types.h \ ../map.h \ alienmodel.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) alienmodel.h -o moc_alienmodel.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) alienmodel.h -o moc_alienmodel.cpp moc_towermodel.cpp: ../loader.h \ ../game_data.h \ @@ -221,7 +238,7 @@ moc_towermodel.cpp: ../loader.h \ ../base_types.h \ ../map.h \ towermodel.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) towermodel.h -o moc_towermodel.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) towermodel.h -o moc_towermodel.cpp moc_splashmodel.cpp: ../loader.h \ ../game_data.h \ @@ -229,10 +246,25 @@ moc_splashmodel.cpp: ../loader.h \ ../base_types.h \ ../map.h \ splashmodel.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) splashmodel.h -o moc_splashmodel.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) splashmodel.h -o moc_splashmodel.cpp -compiler_rcc_make_all: +moc_map.cpp: ../base_types.h \ + ../map.h + /usr/bin/moc $(DEFINES) $(INCPATH) ../map.h -o moc_map.cpp + +moc_game_data.cpp: ../player.h \ + ../base_types.h \ + ../map.h \ + ../game_data.h + /usr/bin/moc $(DEFINES) $(INCPATH) ../game_data.h -o moc_game_data.cpp + +compiler_rcc_make_all: qrc_ADeditor.cpp compiler_rcc_clean: + -$(DEL_FILE) qrc_ADeditor.cpp +qrc_ADeditor.cpp: ADeditor.qrc \ + adeditor_ru.qm + /usr/bin/rcc -name ADeditor ADeditor.qrc -o qrc_ADeditor.cpp + compiler_image_collection_make_all: qmake_image_collection.cpp compiler_image_collection_clean: -$(DEL_FILE) qmake_image_collection.cpp @@ -242,7 +274,7 @@ compiler_uic_make_all: ui_mainwindow.h compiler_uic_clean: -$(DEL_FILE) ui_mainwindow.h ui_mainwindow.h: mainwindow.ui - /usr/bin/uic-qt4 mainwindow.ui -o ui_mainwindow.h + /usr/bin/uic mainwindow.ui -o ui_mainwindow.h compiler_yacc_decl_make_all: compiler_yacc_decl_clean: @@ -250,7 +282,7 @@ 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 +compiler_clean: compiler_moc_header_clean compiler_rcc_clean compiler_uic_clean ####### Compile @@ -308,6 +340,16 @@ splashmodel.o: splashmodel.cpp splashmodel.h \ ../map.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o splashmodel.o splashmodel.cpp +map.o: ../map.cpp ../map.h \ + ../base_types.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o map.o ../map.cpp + +game_data.o: ../game_data.cpp ../game_data.h \ + ../player.h \ + ../base_types.h \ + ../map.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o game_data.o ../game_data.cpp + moc_mainwindow.o: moc_mainwindow.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp @@ -323,6 +365,15 @@ moc_towermodel.o: moc_towermodel.cpp moc_splashmodel.o: moc_splashmodel.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_splashmodel.o moc_splashmodel.cpp +moc_map.o: moc_map.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_map.o moc_map.cpp + +moc_game_data.o: moc_game_data.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_game_data.o moc_game_data.cpp + +qrc_ADeditor.o: qrc_ADeditor.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_ADeditor.o qrc_ADeditor.cpp + ####### Install install: FORCE diff --git a/ADeditor/data2.xml b/ADeditor/data2.xml index 5fef992..038e3a3 100644 --- a/ADeditor/data2.xml +++ b/ADeditor/data2.xml @@ -15,22 +15,22 @@ - + - - + + - - - + + + - - + + @@ -50,15 +50,15 @@ - + - + - - + + diff --git a/ADeditor/main.cpp b/ADeditor/main.cpp index 6e7efd9..be7bb6a 100644 --- a/ADeditor/main.cpp +++ b/ADeditor/main.cpp @@ -1,10 +1,14 @@ #include +#include #include "mainwindow.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); - MainWindow w; + QTranslator translator; + translator.load(":/translates/" + QString("adeditor_") + QLocale::system().name()); + a.installTranslator(&translator); + MainWindow w; w.show(); return a.exec(); } diff --git a/ADeditor/mainwindow.ui b/ADeditor/mainwindow.ui index e044637..55b80b4 100644 --- a/ADeditor/mainwindow.ui +++ b/ADeditor/mainwindow.ui @@ -10,9 +10,6 @@ 489 - - PointingHandCursor - MainWindow @@ -21,16 +18,28 @@ + + 2 + + + 2 + - 0 + 2 Aliens + + 2 + + + 2 + @@ -47,6 +56,12 @@ QFrame::Raised + + 2 + + + 2 + @@ -222,7 +237,7 @@ - Prise + Prize Qt::AlignCenter @@ -276,7 +291,7 @@ - + 0 0 @@ -289,23 +304,10 @@ - - - - Qt::Horizontal - - - - 40 - 20 - - - - - + @@ -322,35 +324,6 @@ - - - - - 0 - 0 - - - - - 40 - 40 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - @@ -373,6 +346,19 @@ + + + + Qt::Horizontal + + + + 40 + 20 + + + + @@ -391,9 +377,6 @@ 0 - - PointingHandCursor - Add @@ -426,9 +409,6 @@ - - ArrowCursor - QFrame::StyledPanel @@ -782,9 +762,6 @@ 32 - - PointingHandCursor - ... @@ -808,9 +785,6 @@ 0 - - PointingHandCursor - Add @@ -824,9 +798,6 @@ 0 - - PointingHandCursor - Delete @@ -859,9 +830,6 @@ 0 - - IBeamCursor - QFrame::StyledPanel @@ -986,9 +954,6 @@ 0 - - ArrowCursor - Qt::LeftToRight @@ -1076,9 +1041,6 @@ 32 - - PointingHandCursor - ... @@ -1102,9 +1064,6 @@ 0 - - PointingHandCursor - Add @@ -1118,9 +1077,6 @@ 0 - - PointingHandCursor - Delete @@ -1139,9 +1095,6 @@ - - PointingHandCursor - Save diff --git a/Makefile b/Makefile index e0929cb..57b0a21 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,9 @@ ############################################################################# # Makefile for building: aliendefender -# Generated by qmake (2.01a) (Qt 4.6.2) on: ?? ???. 23 12:02:15 2010 +# Generated by qmake (2.01a) (Qt 4.7.0) on: ?? ???. 27 13:32:05 2010 # Project: aliendefender.pro # Template: app -# Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile aliendefender.pro +# Command: /usr/bin/qmake -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug QMLINSPECTOR_PATH=/usr/share/qtcreator/qmljsdebugger QMLINSPECTOR_PATH=/usr/share/qtcreator/qmljsdebugger -o Makefile aliendefender.pro ############################################################################# ####### Compiler, tools and options @@ -11,15 +11,15 @@ CC = gcc CXX = g++ DEFINES = -DQT_XMLPATTERNS_LIB -DQT_XML_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -CFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) -CXXFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) +CFLAGS = -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -Wall -W -D_REENTRANT $(DEFINES) INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4 -I/usr/X11R6/include -I. LINK = g++ -LFLAGS = -LIBS = $(SUBLIBS) -L/usr/lib -L/usr/X11R6/lib -lQtXmlPatterns -lQtXml -lQtOpenGL -lQtGui -lQtNetwork -lQtCore -lGLU -lGL -lpthread +LFLAGS = -Wl,-rpath,/usr/lib/qt4 +LIBS = $(SUBLIBS) -L/usr/lib/qt4 -L/usr/X11R6/lib -lQtXmlPatterns -L/usr/lib/qt4 -lQtXml -lQtOpenGL -L/usr/X11R6/lib -lQtGui -lQtNetwork -lQtCore -lgthread-2.0 -lrt -lglib-2.0 -lGLU -lGL -lpthread AR = ar cqs RANLIB = -QMAKE = /usr/bin/qmake-qt4 +QMAKE = /usr/bin/qmake TAR = tar -cf COMPRESS = gzip -9f COPY = cp -f @@ -51,7 +51,9 @@ SOURCES = map.cpp \ splashes.cpp \ adcore.cpp \ player.cpp \ - loader.cpp moc_map.cpp \ + loader.cpp \ + animation.cpp \ + ad_graphics.cpp moc_map.cpp \ moc_game_data.cpp \ moc_aliens.cpp \ moc_towers.cpp \ @@ -59,6 +61,7 @@ SOURCES = map.cpp \ moc_adcore.cpp \ moc_player.cpp \ moc_loader.cpp \ + moc_ad_graphics.cpp \ qrc_images.cpp OBJECTS = map.o \ game_data.o \ @@ -69,6 +72,8 @@ OBJECTS = map.o \ adcore.o \ player.o \ loader.o \ + animation.o \ + ad_graphics.o \ moc_map.o \ moc_game_data.o \ moc_aliens.o \ @@ -77,11 +82,13 @@ OBJECTS = map.o \ moc_adcore.o \ moc_player.o \ moc_loader.o \ + moc_ad_graphics.o \ qrc_images.o DIST = /usr/share/qt4/mkspecs/common/g++.conf \ /usr/share/qt4/mkspecs/common/unix.conf \ /usr/share/qt4/mkspecs/common/linux.conf \ /usr/share/qt4/mkspecs/qconfig.pri \ + /usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \ /usr/share/qt4/mkspecs/features/qt_functions.prf \ /usr/share/qt4/mkspecs/features/qt_config.prf \ /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ @@ -134,6 +141,7 @@ Makefile: aliendefender.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/sh /usr/share/qt4/mkspecs/common/unix.conf \ /usr/share/qt4/mkspecs/common/linux.conf \ /usr/share/qt4/mkspecs/qconfig.pri \ + /usr/share/qt4/mkspecs/modules/qt_webkit_version.pri \ /usr/share/qt4/mkspecs/features/qt_functions.prf \ /usr/share/qt4/mkspecs/features/qt_config.prf \ /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ @@ -150,17 +158,18 @@ Makefile: aliendefender.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/sh /usr/share/qt4/mkspecs/features/yacc.prf \ /usr/share/qt4/mkspecs/features/lex.prf \ /usr/share/qt4/mkspecs/features/include_source_dir.prf \ - /usr/lib/libQtXmlPatterns.prl \ - /usr/lib/libQtXml.prl \ - /usr/lib/libQtOpenGL.prl \ - /usr/lib/libQtGui.prl \ - /usr/lib/libQtNetwork.prl \ - /usr/lib/libQtCore.prl - $(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile aliendefender.pro + /usr/lib/qt4/libQtXmlPatterns.prl \ + /usr/lib/qt4/libQtNetwork.prl \ + /usr/lib/qt4/libQtCore.prl \ + /usr/lib/qt4/libQtXml.prl \ + /usr/lib/qt4/libQtOpenGL.prl \ + /usr/lib/qt4/libQtGui.prl + $(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug QMLINSPECTOR_PATH=/usr/share/qtcreator/qmljsdebugger QMLINSPECTOR_PATH=/usr/share/qtcreator/qmljsdebugger -o Makefile aliendefender.pro /usr/share/qt4/mkspecs/common/g++.conf: /usr/share/qt4/mkspecs/common/unix.conf: /usr/share/qt4/mkspecs/common/linux.conf: /usr/share/qt4/mkspecs/qconfig.pri: +/usr/share/qt4/mkspecs/modules/qt_webkit_version.pri: /usr/share/qt4/mkspecs/features/qt_functions.prf: /usr/share/qt4/mkspecs/features/qt_config.prf: /usr/share/qt4/mkspecs/features/exclusive_builds.prf: @@ -177,18 +186,18 @@ Makefile: aliendefender.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/sh /usr/share/qt4/mkspecs/features/yacc.prf: /usr/share/qt4/mkspecs/features/lex.prf: /usr/share/qt4/mkspecs/features/include_source_dir.prf: -/usr/lib/libQtXmlPatterns.prl: -/usr/lib/libQtXml.prl: -/usr/lib/libQtOpenGL.prl: -/usr/lib/libQtGui.prl: -/usr/lib/libQtNetwork.prl: -/usr/lib/libQtCore.prl: +/usr/lib/qt4/libQtXmlPatterns.prl: +/usr/lib/qt4/libQtNetwork.prl: +/usr/lib/qt4/libQtCore.prl: +/usr/lib/qt4/libQtXml.prl: +/usr/lib/qt4/libQtOpenGL.prl: +/usr/lib/qt4/libQtGui.prl: qmake: FORCE - @$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile aliendefender.pro + @$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug QMLINSPECTOR_PATH=/usr/share/qtcreator/qmljsdebugger QMLINSPECTOR_PATH=/usr/share/qtcreator/qmljsdebugger -o Makefile aliendefender.pro dist: @$(CHK_DIR_EXISTS) .tmp/aliendefender1.0.0 || $(MKDIR) .tmp/aliendefender1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/aliendefender1.0.0/ && $(COPY_FILE) --parents base_types.h map.h game_data.h aliens.h towers.h splashes.h adcore.h player.h loader.h .tmp/aliendefender1.0.0/ && $(COPY_FILE) --parents images.qrc .tmp/aliendefender1.0.0/ && $(COPY_FILE) --parents map.cpp game_data.cpp aliens.cpp towers.cpp main.cpp splashes.cpp adcore.cpp player.cpp loader.cpp .tmp/aliendefender1.0.0/ && (cd `dirname .tmp/aliendefender1.0.0` && $(TAR) aliendefender1.0.0.tar aliendefender1.0.0 && $(COMPRESS) aliendefender1.0.0.tar) && $(MOVE) `dirname .tmp/aliendefender1.0.0`/aliendefender1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/aliendefender1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/aliendefender1.0.0/ && $(COPY_FILE) --parents base_types.h map.h game_data.h aliens.h towers.h splashes.h adcore.h player.h loader.h animation.h ad_graphics.h .tmp/aliendefender1.0.0/ && $(COPY_FILE) --parents images.qrc .tmp/aliendefender1.0.0/ && $(COPY_FILE) --parents map.cpp game_data.cpp aliens.cpp towers.cpp main.cpp splashes.cpp adcore.cpp player.cpp loader.cpp animation.cpp ad_graphics.cpp .tmp/aliendefender1.0.0/ && (cd `dirname .tmp/aliendefender1.0.0` && $(TAR) aliendefender1.0.0.tar aliendefender1.0.0 && $(COMPRESS) aliendefender1.0.0.tar) && $(MOVE) `dirname .tmp/aliendefender1.0.0`/aliendefender1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/aliendefender1.0.0 clean:compiler_clean @@ -203,59 +212,80 @@ distclean: clean -$(DEL_FILE) Makefile +check: first + mocclean: compiler_moc_header_clean compiler_moc_source_clean mocables: compiler_moc_header_make_all compiler_moc_source_make_all -compiler_moc_header_make_all: moc_map.cpp moc_game_data.cpp moc_aliens.cpp moc_towers.cpp moc_splashes.cpp moc_adcore.cpp moc_player.cpp moc_loader.cpp +compiler_moc_header_make_all: moc_map.cpp moc_game_data.cpp moc_aliens.cpp moc_towers.cpp moc_splashes.cpp moc_adcore.cpp moc_player.cpp moc_loader.cpp moc_ad_graphics.cpp compiler_moc_header_clean: - -$(DEL_FILE) moc_map.cpp moc_game_data.cpp moc_aliens.cpp moc_towers.cpp moc_splashes.cpp moc_adcore.cpp moc_player.cpp moc_loader.cpp + -$(DEL_FILE) moc_map.cpp moc_game_data.cpp moc_aliens.cpp moc_towers.cpp moc_splashes.cpp moc_adcore.cpp moc_player.cpp moc_loader.cpp moc_ad_graphics.cpp moc_map.cpp: base_types.h \ map.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) map.h -o moc_map.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) map.h -o moc_map.cpp moc_game_data.cpp: player.h \ base_types.h \ + map.h \ game_data.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) game_data.h -o moc_game_data.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) game_data.h -o moc_game_data.cpp moc_aliens.cpp: game_data.h \ player.h \ base_types.h \ + map.h \ aliens.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) aliens.h -o moc_aliens.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) aliens.h -o moc_aliens.cpp moc_towers.cpp: game_data.h \ player.h \ base_types.h \ + map.h \ towers.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) towers.h -o moc_towers.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) towers.h -o moc_towers.cpp moc_splashes.cpp: game_data.h \ player.h \ base_types.h \ + map.h \ splashes.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) splashes.h -o moc_splashes.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) splashes.h -o moc_splashes.cpp moc_adcore.cpp: aliens.h \ game_data.h \ player.h \ base_types.h \ + map.h \ towers.h \ splashes.h \ loader.h \ adcore.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) adcore.h -o moc_adcore.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) adcore.h -o moc_adcore.cpp moc_player.cpp: base_types.h \ player.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) player.h -o moc_player.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) player.h -o moc_player.cpp moc_loader.cpp: game_data.h \ player.h \ base_types.h \ + map.h \ loader.h - /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) loader.h -o moc_loader.cpp + /usr/bin/moc $(DEFINES) $(INCPATH) loader.h -o moc_loader.cpp + +moc_ad_graphics.cpp: adcore.h \ + aliens.h \ + game_data.h \ + player.h \ + base_types.h \ + map.h \ + towers.h \ + splashes.h \ + loader.h \ + animation.h \ + ad_graphics.h + /usr/bin/moc $(DEFINES) $(INCPATH) ad_graphics.h -o moc_ad_graphics.cpp compiler_rcc_make_all: qrc_images.cpp compiler_rcc_clean: @@ -306,19 +336,22 @@ map.o: map.cpp map.h \ game_data.o: game_data.cpp game_data.h \ player.h \ - base_types.h + base_types.h \ + map.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o game_data.o game_data.cpp aliens.o: aliens.cpp aliens.h \ game_data.h \ player.h \ - base_types.h + base_types.h \ + map.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o aliens.o aliens.cpp towers.o: towers.cpp towers.h \ game_data.h \ player.h \ - base_types.h + base_types.h \ + map.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o towers.o towers.cpp main.o: main.cpp adcore.h \ @@ -326,15 +359,19 @@ main.o: main.cpp adcore.h \ game_data.h \ player.h \ base_types.h \ + map.h \ towers.h \ splashes.h \ - loader.h + loader.h \ + ad_graphics.h \ + animation.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp splashes.o: splashes.cpp splashes.h \ game_data.h \ player.h \ - base_types.h + base_types.h \ + map.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o splashes.o splashes.cpp adcore.o: adcore.cpp adcore.h \ @@ -342,6 +379,7 @@ adcore.o: adcore.cpp adcore.h \ game_data.h \ player.h \ base_types.h \ + map.h \ towers.h \ splashes.h \ loader.h @@ -354,9 +392,26 @@ player.o: player.cpp player.h \ loader.o: loader.cpp loader.h \ game_data.h \ player.h \ - base_types.h + base_types.h \ + map.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o loader.o loader.cpp +animation.o: animation.cpp animation.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o animation.o animation.cpp + +ad_graphics.o: ad_graphics.cpp ad_graphics.h \ + adcore.h \ + aliens.h \ + game_data.h \ + player.h \ + base_types.h \ + map.h \ + towers.h \ + splashes.h \ + loader.h \ + animation.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ad_graphics.o ad_graphics.cpp + moc_map.o: moc_map.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_map.o moc_map.cpp @@ -381,6 +436,9 @@ moc_player.o: moc_player.cpp moc_loader.o: moc_loader.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_loader.o moc_loader.cpp +moc_ad_graphics.o: moc_ad_graphics.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_ad_graphics.o moc_ad_graphics.cpp + qrc_images.o: qrc_images.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_images.o qrc_images.cpp diff --git a/ad_graphics.cpp b/ad_graphics.cpp new file mode 100644 index 0000000..36eecc9 --- /dev/null +++ b/ad_graphics.cpp @@ -0,0 +1,106 @@ +#include "ad_graphics.h" + + +AD_Graphics::AD_Graphics(AD_Core *adcore, QWidget *parent) : QGraphicsView(parent) +{ + loadImages(); + data = adcore->addata; + core = adcore; + //scale(cellSize, cellSize); + setAlignment(Qt::AlignLeft | Qt::AlignTop); + scene = new QGraphicsScene(); + setScene(scene); + setViewportUpdateMode(QGraphicsView::FullViewportUpdate); + //gsw = new QGraphicsWidget(); + //scene->addWidget(new QPushButton()); + + startTimer(25); + show(); +} + + +AD_Graphics::~AD_Graphics() +{ + //delete gsw; + delete scene; +} + +void AD_Graphics::mouseDoubleClickEvent(QMouseEvent *) +{ + core->nextWave(); +} + + +void AD_Graphics::timerEvent(QTimerEvent * ) +{ + //qDebug() << data->curAliens.size(); + draw(); +} + + +void AD_Graphics::drawBackground(QPainter * p, const QRectF & ) +{ + for (int i=0; imap->cells().size(); i++) { + for (int j=0; jmap->cells().at(i).size(); j++) { + QPen pen; + QBrush brush; + pen.setColor(Qt::white); + brush.setColor(Qt::white); + brush.setStyle(Qt::SolidPattern); + int cel = data->map->cells().at(i).at(j); + if (cel == Map::Wall) { + pen.setColor(Qt::black); + brush.setColor(Qt::black); + } + if (cel <= Map::PlayerTower && cel !=Map::Wall) { + pen.setColor(QColor(cel%255,(cel*100)%255,(cel+100)%255)); + brush.setColor(QColor(cel%255,(cel*100)%255,(cel+100)%255)); + } +// if (cel >= Map::PlayerAlien) { +// pen.setColor(Qt::yellow); +// brush.setColor(Qt::yellow); +// } + if (cel >= Map::Player) { + pen.setColor(QColor(cel%255,(cel*100)%255,(cel+100)%255,50)); + brush.setColor(QColor(cel%255,(cel*100)%255,(cel+100)%255,50)); + } + p->setPen(pen); + p->setBrush(brush); + p->drawRect(i*cellSize,j*cellSize,cellSize,cellSize); + } + } + for (QHash::iterator i = data->curAliens.begin(); i != data->curAliens.end(); ++i) { + //qDebug() << "draw alien"; + //p->rotate(-90); + //p->scale(cellSize, cellSize); + //p->translate(rec.width()/2, rec.height()/2); + //p->rotate(-90); + //p->translate(-rec.height()/2, -rec.width()/2); + p->translate((*i).pos * cellSize+QPointF(10,10)); + p->rotate((*i).angle); + p->drawImage(QRect(-20,-20,40,40), images[itAliens][0]->at(0)); + p->resetTransform(); + } +} + + +void AD_Graphics::draw() +{ + scene->update(); + //resetCachedContent(); + //repaint(); +} + + +void AD_Graphics::loadImages() +{ + images.resize(3); + for (int i = 0; i < images.size(); i++) { + switch ((imagesType)i) { + case itAliens: + images[i].push_back(new Animation(":/images/images/Aliens/Al_00_")); + break; + default: break; + } + } +} diff --git a/ad_graphics.h b/ad_graphics.h new file mode 100644 index 0000000..4a6598d --- /dev/null +++ b/ad_graphics.h @@ -0,0 +1,38 @@ +#ifndef AD_GRAPHICS_H +#define AD_GRAPHICS_H +#include +#include +#include +#include + +#include "adcore.h" +#include "animation.h" + +const float cellSize = 20.f; + +class AD_Graphics: public QGraphicsView +{ + Q_OBJECT +public: + explicit AD_Graphics(AD_Core * core, QWidget * parent = 0); + ~AD_Graphics(); + +private: + enum imagesType {itAliens, itTowers, itSplashes}; + + void draw(); + void drawBackground(QPainter * p, const QRectF &); + void loadImages(); + void mouseDoubleClickEvent(QMouseEvent *); + + QGraphicsScene * scene; + Game_Data * data; + AD_Core * core; + QVector > images; + //QGraphicsWidget * gsw; + +protected: + void timerEvent(QTimerEvent * ); +}; + +#endif // AD_GRAPHICS_H diff --git a/adcore.cpp b/adcore.cpp index 80eb8b5..444d359 100644 --- a/adcore.cpp +++ b/adcore.cpp @@ -1,6 +1,6 @@ #include "adcore.h" -adCore::adCore(QObject *parent) : +AD_Core::AD_Core(QObject *parent) : QThread(parent) { step = 0; @@ -8,34 +8,75 @@ adCore::adCore(QObject *parent) : //addata = new Game_Data(admap); adloader = new Loader(); adloader->load("data2.xml"); + //adloader->save("data2.xml"); addata = adloader->loadlevel(1); if (addata != 0) qDebug("Sucsess"); - else qDebug("Error"); - //admap->load(); - //adload->create(); - //adload->readAliens(); -// Player * pl1 = new Player(0); + else qFatal("Error"); + Player * pl1 = new Player(0); // Player * pl2 = new Player(0); -// addata->players.push_back(pl1); + addata->players.push_back(pl1); // addata->players.push_back(pl2); -// adaliens = new Aliens(addata); -// adtowers = new Towers(addata); -// adsplashes = new Splashes(addata); -// connect(admap,SIGNAL(RecreateAlienPath(bool*)),adaliens,SLOT(retrace(bool*))); -// adaliens->AddAlien(0); + adaliens = new Aliens(addata); + adtowers = new Towers(addata); + adsplashes = new Splashes(addata); + connect(addata->map,SIGNAL(recreateAlienPath(bool*)),adaliens,SLOT(retrace(bool*))); +// adaliens->addAlien(0); // adaliens->AddAlien(0); // adaliens->AddAlien(0); // for (int i=0; imapsize.width(),admap->mapsize.height()); i++) // adtowers->AddTower(0,0,QPoint(i,i)); // for (int i=0; imapsize.height();i++) // adtowers->AddTower(1,0,QPoint(admap->mapsize.width()-2,i)); + waveInProgress = false; + startTimer(50); } -void adCore::next() +void AD_Core::next() { adtowers->update(); adsplashes->update(); adaliens->update(); + waveProcessing(); step++; } + + +void AD_Core::timerEvent(QTimerEvent * ) +{ + next(); +} + + +void AD_Core::nextWave() +{ + if (waveInProgress) return; + if (addata->curWave >= addata->waves.size()) { + qDebug("level finished"); + return; + } + //wavetime = addata->waves.at(addata->curWave).timeout; + qDebug() << tr("Next wave %1").arg(addata->curWave+1); + wavetime = 0; + waveInProgress = true; +} + + +void AD_Core::waveProcessing() +{ + if (!waveInProgress) return; + if (wavetime <= 0) { + for (int i=0; iwaves.at(addata->curWave).counts.size(); i++) { + if (addata->waves.at(addata->curWave).counts.at(i) > 0) { + adaliens->addAlien(addata->waves.at(addata->curWave).types.at(i)); + addata->waves[addata->curWave].counts[i]--; + wavetime = addata->waves.at(addata->curWave).timeout; + return; + } + } + addata->curWave++; + waveInProgress = false; + } else { + wavetime--; + } +} diff --git a/adcore.h b/adcore.h index 7a1fafc..b20b8d7 100644 --- a/adcore.h +++ b/adcore.h @@ -8,22 +8,30 @@ #include "splashes.h" #include "loader.h" -class adCore : public QThread +class AD_Core : public QThread { Q_OBJECT public: - explicit adCore(QObject *parent = 0); + explicit AD_Core(QObject *parent = 0); Game_Data * addata; Aliens * adaliens; Towers * adtowers; Splashes * adsplashes; Loader * adloader; unsigned int step; -signals: +private: + void timerEvent(QTimerEvent * ); + void waveProcessing(); + + bool waveInProgress; + int wavetime; public slots: void next(); -private: + void nextWave(); + void addTower(QPoint pos) {adtowers->addTower(0, 0, pos);}; + +signals: }; #endif // ADCORE_H diff --git a/aliendefender b/aliendefender index 866784b..c3072a0 100755 Binary files a/aliendefender and b/aliendefender differ diff --git a/aliendefender.pro b/aliendefender.pro index 329ee30..0037ccf 100644 --- a/aliendefender.pro +++ b/aliendefender.pro @@ -6,7 +6,9 @@ HEADERS += base_types.h \ splashes.h \ adcore.h \ player.h \ - loader.h + loader.h \ + animation.h \ + ad_graphics.h SOURCES += map.cpp \ game_data.cpp \ aliens.cpp \ @@ -15,14 +17,14 @@ SOURCES += map.cpp \ splashes.cpp \ adcore.cpp \ player.cpp \ - loader.cpp + loader.cpp \ + animation.cpp \ + ad_graphics.cpp RESOURCES += images.qrc -OTHER_FILES += map.conf \ - example16x16.map \ - example16x12.map \ +OTHER_FILES += \ data.xml \ schema.xml \ - example16x16_64.map + data2.xml QT += core \ gui \ network \ diff --git a/aliendefender.pro.user b/aliendefender.pro.user index b421708..9f9139b 100644 --- a/aliendefender.pro.user +++ b/aliendefender.pro.user @@ -16,76 +16,65 @@ Настольный компьютер Qt4ProjectManager.Target.DesktopTarget 0 + 0 0 - - qmake - QtProjectManager.QMakeBuildStep - + + + qmake + QtProjectManager.QMakeBuildStep + + QMLINSPECTOR_PATH=/usr/share/qtcreator/qmljsdebugger + + + + Сборка + Qt4ProjectManager.MakeStep + false + + + + 2 + Build + ProjectExplorer.BuildSteps.Build - - Сборка - Qt4ProjectManager.MakeStep - false - - + + + Сборка + Qt4ProjectManager.MakeStep + true + + distclean + + + + 1 + Clean + ProjectExplorer.BuildSteps.Clean - 2 - - Сборка - Qt4ProjectManager.MakeStep - true - - clean - - - - 1 - false - - Отладка - Qt4ProjectManager.Qt4BuildConfiguration - 2 - C:/Users/Andrey/Desktop/aliendefender-build-desktop - 9 - 2 - true - - - - qmake - QtProjectManager.QMakeBuildStep - - - - Сборка - Qt4ProjectManager.MakeStep - false - - - - 2 - - Сборка - Qt4ProjectManager.MakeStep - true - - clean - - - - 1 + 2 false Релиз Qt4ProjectManager.Qt4BuildConfiguration - 0 - C:/Users/Andrey/Desktop/aliendefender-build-desktop - 9 - 2 + 2 + /home/peri4/pprojects/aliendefender + 2 + 0 true - 2 + 1 + + + 0 + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + No deployment + ProjectExplorer.DefaultDeployConfiguration + + 1 aliendefender Qt4ProjectManager.Qt4RunConfiguration @@ -96,8 +85,8 @@ false false - true - C:\Users\Andrey\Desktop\aliendefender + false + 1 @@ -106,8 +95,12 @@ ProjectExplorer.Project.TargetCount 1 + + ProjectExplorer.Project.Updater.EnvironmentId + {4d5b06df-4184-42d4-9dfd-5c7caaa07ab2} + ProjectExplorer.Project.Updater.FileVersion - 4 + 8 diff --git a/aliens.cpp b/aliens.cpp index fe66b6e..9aae780 100644 --- a/aliens.cpp +++ b/aliens.cpp @@ -9,7 +9,7 @@ Aliens::Aliens(Game_Data *gd, QObject *parent) : } -void Aliens::AddAlien(int srcId) +void Aliens::addAlien(int srcId) { if (srcId < 0 || srcId >= gameData->srcAliens.size()) { @@ -19,12 +19,13 @@ void Aliens::AddAlien(int srcId) AlienType al;// = gameData->srcAliens.at(srcId); al.Id = nextId; al.src = srcId; - al.finish = gameData->map->Finishs().at(qrand()%gameData->map->Finishs().size()); - al.pos = QPointF(gameData->map->Starts().at(qrand()%gameData->map->Starts().size())); - al.path = gameData->map->CreatePath(al.pos.toPoint(),al.finish); + al.finish = gameData->map->finishs().at(qrand()%gameData->map->finishs().size()); + al.pos = QPointF(gameData->map->starts().at(qrand()%gameData->map->starts().size())); + al.path = gameData->map->createPath(al.pos.toPoint(),al.finish); al.pathIndex = 1; + al.animIndex = 0.f; if (al.path.isEmpty()) qFatal("ERROR create path"); - qDebug() << al.path; + //qDebug() << al.path; al.health = gameData->srcAliens.at(srcId).health; al.speed = gameData->srcAliens.at(srcId).speed; al.imgType = gameData->srcAliens.at(srcId).imgType; @@ -40,14 +41,14 @@ void Aliens::retrace(bool * OK) gameData->map->removeAliensPath(); for (int i=0; icurAliens.size(); i++) { - gameData->curAliens.values()[i].path = gameData->map->CreatePath(gameData->curAliens.values()[i].pos.toPoint(),gameData->curAliens.values()[i].finish); + gameData->curAliens.values()[i].path = gameData->map->createPath(gameData->curAliens.values()[i].pos.toPoint(),gameData->curAliens.values()[i].finish); gameData->curAliens.values()[i].pathIndex = 1; if (gameData->curAliens.values()[i].path.isEmpty()) *OK = false; } } -void Aliens::DelAlien(int Id) +void Aliens::delAlien(int Id) { gameData->curAliens.remove(Id); } @@ -69,7 +70,7 @@ void Aliens::update() al.pathIndex++; if (al.pathIndex >= al.path.size()) { - qDebug("Missing alien!"); + qDebug() << tr("Missing aliens = %1!").arg(gameData->missingAliens); missIndex.push_back(al.Id); break; } @@ -102,11 +103,11 @@ void Aliens::update() -al.speed*std::cos(arctg)); //return true; gameData->curAliens.insert(al.Id,al); - qDebug() <<"alien"<< i << " path index" << al.pathIndex << " pos" << al.pos; + //qDebug() <<"alien"<< i << " path index=" << al.pathIndex << ", pos=" << al.pos; } for (int j=0; jmissingAliens++; - DelAlien(missIndex.at(j)); + delAlien(missIndex.at(j)); } } diff --git a/aliens.h b/aliens.h index 568cfff..891fece 100644 --- a/aliens.h +++ b/aliens.h @@ -9,13 +9,12 @@ class Aliens : public QObject Q_OBJECT public: explicit Aliens(Game_Data * gd, QObject *parent = 0); - void AddAlien(int srcId); - void nextWave(); + void addAlien(int srcId); void update(); signals: public slots: - void DelAlien(int Id); + void delAlien(int Id); void retrace(bool * OK); private: Game_Data * gameData; diff --git a/animation.cpp b/animation.cpp new file mode 100644 index 0000000..ee3d461 --- /dev/null +++ b/animation.cpp @@ -0,0 +1,23 @@ +#include "animation.h" +#include +#include + + +Animation::Animation(const QString & path) +{ + int i = 0; + QString s = path + QString::number(i) + ".png"; + //qDebug() << "check " << s; + while (QFile::exists(s)) { + images.push_back(new QImage(s)); + s = path + QString::number(++i) + ".png"; + } + qDebug() << "found " << images.size() << " images"; +} + + +Animation::~Animation() +{ + +} + diff --git a/animation.h b/animation.h new file mode 100644 index 0000000..cef64f6 --- /dev/null +++ b/animation.h @@ -0,0 +1,19 @@ +#ifndef ANIMATION_H +#define ANIMATION_H +#include +#include + +class Animation +{ +public: + explicit Animation(const QString & path); + ~Animation(); + + QImage & at(int index) const {return *(images[index]);}; + +private: + QVector images; + +}; + +#endif // ANIMATION_H diff --git a/base_types.h b/base_types.h index b80f342..4cf1a3f 100644 --- a/base_types.h +++ b/base_types.h @@ -14,20 +14,6 @@ #include #include -struct AlienType -{ - int Id; // uses for QHash - int src; - QPointF pos; - float angle; // -180 .. 180 - float speed; // cells per tick (speed=1 is 60cells by 1 sec for 60fps e.g.) - float health; - QPoint finish; - QVector path; - int pathIndex; - int imgType; -}; - struct srcAlienType { @@ -43,24 +29,19 @@ struct srcAlienType }; -struct TowerType +struct AlienType { + int Id; // uses for QHash int src; - int aim; // aim alien Id - int oldAim; - int PlayerId; // tower's owner - int imgType; - QPoint pos; // not QPointF because tower fixed on grid + QPointF pos; float angle; // -180 .. 180 - unsigned int reload; // time for reload in ticks - unsigned int build; -}; - - -struct TriggerType -{ - int src; - unsigned int timer; + float speed; // cells per tick (speed=1 is 60cells by 1 sec for 60fps e.g.) + float health; + QPoint finish; + QVector path; + int pathIndex; + int imgType; + float animIndex; }; @@ -80,7 +61,7 @@ struct srcTriggerType allSide, nearlestAlien }; - int childId; // =-1 for non birth splash (e.q. only damage) + int childId; // =-1 for none birth splash (e.q. only damage) bool delParent; float damage; float radius; @@ -91,6 +72,13 @@ struct srcTriggerType }; +struct TriggerType +{ + int src; + unsigned int timer; +}; + + struct srcSplashType { QString name; @@ -102,6 +90,21 @@ struct srcSplashType }; +struct SplashType +{ + int Id; + int imgType; + int src; + QPoint TowerId; // parent tower (-1;-1) for null parent + int AlienId; // aim alien (different from tower.AlienId) + QPointF destination; + int life; // in ticks + float angle; // -180 .. 180 + QPointF pos; + QList triggers; +}; + + struct srcTowerType { QString name; @@ -119,18 +122,17 @@ struct srcTowerType }; -struct SplashType +struct TowerType { - int Id; - int imgType; int src; - QPoint TowerId; // parent tower (-1;-1) for null parent - int AlienId; // aim alien (different from tower.AlienId) - QPointF destination; - int life; // in ticks + int aim; // aim alien Id + int oldAim; + int PlayerId; // tower's owner + int imgType; + QPoint pos; // not QPointF because tower fixed on grid float angle; // -180 .. 180 - QPointF pos; - QList triggers; + unsigned int reload; // time for reload in ticks + unsigned int build; }; diff --git a/data2.xml b/data2.xml index 5fef992..8ca818f 100644 --- a/data2.xml +++ b/data2.xml @@ -1,36 +1,64 @@ - - - - + + + + - - - + + + + + + + + + + + - + - - + + - - - + + + + + + + + + + + + + + + + + + + + - - + + + + + @@ -50,15 +78,15 @@ - + - + - - + + diff --git a/example16x12.map b/example16x12.map deleted file mode 100644 index 7394c70..0000000 Binary files a/example16x12.map and /dev/null differ diff --git a/example16x16.map b/example16x16.map deleted file mode 100644 index c57917a..0000000 Binary files a/example16x16.map and /dev/null differ diff --git a/example16x16_64.map b/example16x16_64.map deleted file mode 100644 index 5b1b119..0000000 --- a/example16x16_64.map +++ /dev/null @@ -1 +0,0 @@ -AAAERHicY2BgEGAA4v///0hQgmFmAGlGcjCxZuCTHzUDuxkMDOr85JrBwKC0A8kMJlwYagYOeYgZ+NXgNwMtPEbNINIMIsynOO8DAG0r1Q0= \ No newline at end of file diff --git a/images.qrc b/images.qrc index c6ec355..4195584 100644 --- a/images.qrc +++ b/images.qrc @@ -1,5 +1,5 @@ - + images/Aliens/Al_00_0.png images/Aliens/Al_00_1.png images/Aliens/Al_00_2.png diff --git a/loader.cpp b/loader.cpp index ece9314..c073e85 100644 --- a/loader.cpp +++ b/loader.cpp @@ -388,7 +388,7 @@ void Loader::fillTowerChains(QList * chlist, QList * trigIds, sr } } -QString Loader::CreateMapExample() +QString Loader::createMapExample() { QVector < QVector < int > > Cells; Cells.resize(16); @@ -448,11 +448,11 @@ void Loader::readAliens() al.score = nm.namedItem("score").nodeValue().toInt(); al.isFlying = (nm.namedItem("flying").nodeValue() == "true"); aliens.insert(al.id,al); - qDebug() << tr("Alien %1 id=%2 health=%3 speed=%4 prise=%5 imgType=%6 armor=%7 regeneration=%8 score=%10").arg(al.name).arg(al.id).arg(al.health).arg(al.speed).arg(al.prise).arg(al.imgType).arg(al.armor).arg(al.regeneration).arg(al.score); + //qDebug() << tr("Alien %1 id=%2 health=%3 speed=%4 prise=%5 imgType=%6 armor=%7 regeneration=%8 score=%10").arg(al.name).arg(al.id).arg(al.health).arg(al.speed).arg(al.prise).arg(al.imgType).arg(al.armor).arg(al.regeneration).arg(al.score); } - qDebug("================"); + //qDebug("================"); qDebug() << tr("Found %1 aliens").arg(aliens.size()); - qDebug("================"); + //qDebug("================"); } @@ -469,11 +469,11 @@ void Loader::readWaves() w.prise = nm.namedItem("prise").nodeValue().toInt(); w.timeout = nm.namedItem("timeout").nodeValue().toInt(); waves.insert(w.id,w); - qDebug() << tr("Wave %1 prise=%2 timeout=%3").arg(w.id).arg(w.prise).arg(w.timeout); + //qDebug() << tr("Wave %1 prise=%2 timeout=%3").arg(w.id).arg(w.prise).arg(w.timeout); } - qDebug("================"); + //qDebug("================"); qDebug() << tr("Found %1 waves").arg(waves.size()); - qDebug("================"); + //qDebug("================"); } @@ -502,12 +502,12 @@ void Loader::readWaveParts() if (OK) { waveParts.insert(wp.waveId,wp); - qDebug() << tr("Wave=%1 alien=%2 count=%3").arg(wp.waveId).arg(wp.alienId).arg(wp.count); + //qDebug() << tr("Wave=%1 alien=%2 count=%3").arg(wp.waveId).arg(wp.alienId).arg(wp.count); } } - qDebug("================"); + //qDebug("================"); qDebug() << tr("Found %1 waveParts").arg(waveParts.size()); - qDebug("================"); + //qDebug("================"); } @@ -550,12 +550,12 @@ void Loader::readChains() if (OK) { chains.insert(chain.towerId,chain); - qDebug() << tr("Tower=%1 parent=%2 child=%3 trigger=%4").arg(chain.towerId).arg(chain.parentSplashId).arg(chain.childSplashId).arg(chain.triggerId); + //qDebug() << tr("Tower=%1 parent=%2 child=%3 trigger=%4").arg(chain.towerId).arg(chain.parentSplashId).arg(chain.childSplashId).arg(chain.triggerId); } } - qDebug("================"); + //qDebug("================"); qDebug() << tr("Found %1 chains").arg(chains.size()); - qDebug("================"); + //qDebug("================"); } @@ -583,12 +583,12 @@ void Loader::readLevWaves() if (OK) { levWaves.insert(lw.levelId,lw); - qDebug() << tr("level=%1 wave=%2").arg(lw.levelId).arg(lw.waveId); + //qDebug() << tr("level=%1 wave=%2").arg(lw.levelId).arg(lw.waveId); } } - qDebug("================"); + //qDebug("================"); qDebug() << tr("Found %1 Waves On Level").arg(levWaves.size()); - qDebug("================"); + //qDebug("================"); } @@ -616,12 +616,12 @@ void Loader::readLevTowers() if (OK) { levTowers.insert(lt.levelId,lt); - qDebug() << tr("level=%1 tower=%2").arg(lt.levelId).arg(lt.towerId); + //qDebug() << tr("level=%1 tower=%2").arg(lt.levelId).arg(lt.towerId); } } - qDebug("================"); + //qDebug("================"); qDebug() << tr("Found %1 Towers On Level").arg(levTowers.size()); - qDebug("================"); + //qDebug("================"); } @@ -646,12 +646,12 @@ void Loader::readLevels() if (OK) { levels.insert(l.id,l); - qDebug() << tr("Level %1 id=%2 map=%3 ").arg(l.name).arg(l.id).arg(l.mapId); + //qDebug() << tr("Level %1 id=%2 map=%3 ").arg(l.name).arg(l.id).arg(l.mapId); } } - qDebug("================"); + //qDebug("================"); qDebug() << tr("Found %1 levels").arg(levels.size()); - qDebug("================"); + //qDebug("================"); } @@ -692,12 +692,12 @@ void Loader::readTriggers() if (str == "nearlestAlien") trig.childAim = srcTriggerType::nearlestAlien; triggers.insert(trig.id,trig); - qDebug() << tr("Trigger %1 id=%2 damage=%3 radius=%4 delParent=%5 timer=%6").arg(trig.name).arg(trig.id).arg(trig.damage).arg(trig.radius).arg(trig.delParent).arg(trig.timer) - << tr("count=%1 chance=%2 randomPosRadius=%3 type=%4 childAim=%5").arg(trig.count).arg(trig.chance).arg(trig.randomPosRadius).arg(trig.type).arg(trig.childAim); + //qDebug() << tr("Trigger %1 id=%2 damage=%3 radius=%4 delParent=%5 timer=%6").arg(trig.name).arg(trig.id).arg(trig.damage).arg(trig.radius).arg(trig.delParent).arg(trig.timer) + // << tr("count=%1 chance=%2 randomPosRadius=%3 type=%4 childAim=%5").arg(trig.count).arg(trig.chance).arg(trig.randomPosRadius).arg(trig.type).arg(trig.childAim); } - qDebug("================"); + //qDebug("================"); qDebug() << tr("Found %1 triggers").arg(triggers.size()); - qDebug("================"); + //qDebug("================"); } @@ -719,11 +719,11 @@ void Loader::readSplashes() str = nm.namedItem("autoControl").nodeValue(); s.autoControl = (str == "true"); splashes.insert(s.id,s); - qDebug() << tr("Splash %1 id=%2 speed=%3 imgType=%4 autoControl=%5 lifetime=%6").arg(s.name).arg(s.id).arg(s.speed).arg(s.imgType).arg(s.autoControl).arg(s.lifetime); + //qDebug() << tr("Splash %1 id=%2 speed=%3 imgType=%4 autoControl=%5 lifetime=%6").arg(s.name).arg(s.id).arg(s.speed).arg(s.imgType).arg(s.autoControl).arg(s.lifetime); } - qDebug("================"); + //qDebug("================"); qDebug() << tr("Found %1 splashes").arg(splashes.size()); - qDebug("================"); + //qDebug("================"); } @@ -756,13 +756,13 @@ void Loader::readTowers() if (OK) { towers.insert(tw.id,tw); - qDebug() << tr("Tower %1 id=%2 radius=%3 cost=%4 reload=%5 buildTime=%6 splash=%7").arg(tw.name).arg(tw.id).arg(tw.radius).arg(tw.cost).arg(tw.reload).arg(tw.buildTime).arg(tw.splashId) - << tr("imgType=%1 expByKill=%2 expByShot=%3 expByDamage=%4").arg(tw.imgType).arg(tw.expByKill).arg(tw.expByShot).arg(tw.expByDamage); + //qDebug() << tr("Tower %1 id=%2 radius=%3 cost=%4 reload=%5 buildTime=%6 splash=%7").arg(tw.name).arg(tw.id).arg(tw.radius).arg(tw.cost).arg(tw.reload).arg(tw.buildTime).arg(tw.splashId) + // << tr("imgType=%1 expByKill=%2 expByShot=%3 expByDamage=%4").arg(tw.imgType).arg(tw.expByKill).arg(tw.expByShot).arg(tw.expByDamage); } } - qDebug("================"); + //qDebug("================"); qDebug() << tr("Found %1 towers").arg(towers.size()); - qDebug("================"); + //qDebug("================"); } @@ -783,11 +783,11 @@ void Loader::readMaps() m.size.setWidth(mn.namedItem("width").nodeValue().toInt()); m.size.setHeight(mn.namedItem("height").nodeValue().toInt()); maps.insert(m.id,m); - qDebug() << tr("Map %1 id=%2 imgType=%3 maxPlayers=%5 data=%6 ").arg(m.name).arg(m.id).arg(m.imgType).arg(m.maxPlayers).arg(QString(m.data)) << m.size; + //qDebug() << tr("Map %1 id=%2 imgType=%3 maxPlayers=%5 data=%6 ").arg(m.name).arg(m.id).arg(m.imgType).arg(m.maxPlayers).arg(QString(m.data)) << m.size; } - qDebug("================"); + //qDebug("================"); qDebug() << tr("Found %1 maps").arg(maps.size()); - qDebug("================"); + //qDebug("================"); } diff --git a/loader.h b/loader.h index 2ab547c..4c5cc57 100644 --- a/loader.h +++ b/loader.h @@ -179,7 +179,7 @@ private: void fillTowerChains(QList * chlist, QList * trigIds, srcTowerType * stt, int parId, int parIndex, int * recursiveCheck); void validate(QString filename); - QString CreateMapExample(); + QString createMapExample(); }; #endif // LOADER_H diff --git a/main.cpp b/main.cpp index 476e369..9fc0b77 100644 --- a/main.cpp +++ b/main.cpp @@ -2,15 +2,17 @@ #include #include "adcore.h" +#include "ad_graphics.h" int main(int argc, char *argv[]) { - adCore core; QApplication a(argc, argv); + AD_Core core; + AD_Graphics graphics(&core); + graphics.resize(800,600); //QTimer * timer = new QTimer(); //QObject::connect(timer,SIGNAL(timeout()),&core,SLOT(next())); //timer->start(100); - //return a.exec(); - return 0; + return a.exec(); } diff --git a/map.conf b/map.conf deleted file mode 100644 index d96209b..0000000 --- a/map.conf +++ /dev/null @@ -1,3 +0,0 @@ -cells path = example16x16.map -max players = 2 - diff --git a/map.cpp b/map.cpp index 45b41c4..0da1fae 100644 --- a/map.cpp +++ b/map.cpp @@ -27,11 +27,12 @@ Map::Map(QByteArray data, QSize size, QString name, int maxPlayers, int image, Q } for (int j=0; j Map::CreatePath(QPoint start, QPoint finish) +QVector Map::createPath(QPoint start, QPoint finish) { QPointF tp; QVector srcPath; @@ -175,7 +176,7 @@ QVector Map::CreatePath(QPoint start, QPoint finish) //PathIndex = 1; if (Cells[start.x()][start.y()] < 0) qDebug("ERROR invalid start"),exit(-1); if (Cells[finish.x()][finish.y()] < 0) qDebug("ERROR invalid finish"),exit(-1); - srcPath = InvWaveTrace(finish,WaveTrace(start,finish)); + srcPath = invWaveTrace(finish,waveTrace(start,finish)); for (int i=0; i Map::CreatePath(QPoint start, QPoint finish) } -int Map::WaveTrace(QPoint start, QPoint finish) +int Map::waveTrace(QPoint start, QPoint finish) { bool stop = false; int step = 2; @@ -251,29 +252,37 @@ int Map::WaveTrace(QPoint start, QPoint finish) } tp.setX(cp.x() - 1); tp.setY(cp.y()); - if (fr.contains(tp) && TmpCells[tp.x()][tp.y()] == 0) { - TmpCells[tp.x()][tp.y()] = step; - curp.push_back(tp); - stop = false; + if (fr.contains(tp)) { + if (TmpCells[tp.x()][tp.y()] == 0) { + TmpCells[tp.x()][tp.y()] = step; + curp.push_back(tp); + stop = false; + } } tp.setX(cp.x() + 1); - if (fr.contains(tp) && TmpCells[tp.x()][tp.y()] == 0) { - TmpCells[tp.x()][tp.y()] = step; - curp.push_back(tp); - stop = false; + if (fr.contains(tp)) { + if (TmpCells[tp.x()][tp.y()] == 0) { + TmpCells[tp.x()][tp.y()] = step; + curp.push_back(tp); + stop = false; + } } tp.setX(cp.x()); tp.setY(cp.y() - 1); - if (fr.contains(tp) && TmpCells[tp.x()][tp.y()] == 0) { - TmpCells[tp.x()][tp.y()] = step; - curp.push_back(tp); - stop = false; + if (fr.contains(tp)) { + if (TmpCells[tp.x()][tp.y()] == 0) { + TmpCells[tp.x()][tp.y()] = step; + curp.push_back(tp); + stop = false; + } } tp.setY(cp.y() + 1); - if (fr.contains(tp) && TmpCells[tp.x()][tp.y()] == 0) { - TmpCells[tp.x()][tp.y()] = step; - curp.push_back(tp); - stop = false; + if (fr.contains(tp)) { + if (TmpCells[tp.x()][tp.y()] == 0) { + TmpCells[tp.x()][tp.y()] = step; + curp.push_back(tp); + stop = false; + } } } step++; @@ -284,7 +293,7 @@ int Map::WaveTrace(QPoint start, QPoint finish) } -QVector Map::InvWaveTrace(QPoint finish, int cnt) +QVector Map::invWaveTrace(QPoint finish, int cnt) { QPoint wp, Ppnt; QVector alpath; diff --git a/map.h b/map.h index cb25872..f4ed22f 100644 --- a/map.h +++ b/map.h @@ -35,14 +35,15 @@ public: bool isFreePlace(QPoint pos); void delTowerOnMap(QPoint pos); void removeAliensPath(); - QVector CreatePath(QPoint start, QPoint finish); - QRect Rect() const {return QRect(QPoint(),mapSize);} + QVector createPath(QPoint start, QPoint finish); + QRect rect() const {return QRect(QPoint(),mapSize);} // QString name() const {return mapName;} - QList Starts() const {return starts;} - QList Finishs() const {return finishs;} - int Image() const {return imageType;} + QList starts() const {return Starts;} + QList finishs() const {return Finishs;} + QVector < QVector > cells() const {return Cells;} + int image() const {return imageType;} signals: - void RecreateAlienPath(bool * pathOK); + void recreateAlienPath(bool * pathOK); public slots: void printMap(); @@ -52,13 +53,13 @@ private: int players; int imageType; QVector < QVector > Cells; - QList starts; - QList finishs; + QList Starts; + QList Finishs; QVector < QVector > TmpCells; - QVector InvWaveTrace(QPoint finish, int cnt); - int WaveTrace(QPoint start, QPoint finish); + QVector invWaveTrace(QPoint finish, int cnt); + int waveTrace(QPoint start, QPoint finish); //void CreateMapExample(); //void ReadSettings(); }; diff --git a/splashes.cpp b/splashes.cpp index 86b6dbd..5a05d86 100644 --- a/splashes.cpp +++ b/splashes.cpp @@ -9,7 +9,7 @@ Splashes::Splashes(Game_Data *gd, QObject *parent) : } -bool Splashes::AddSplash(int srcId, QPointF pos) +bool Splashes::addSplash(int srcId, QPointF pos) { if (srcId < 0 || srcId >= gameData->srcSplashes.size()) { @@ -23,7 +23,7 @@ bool Splashes::AddSplash(int srcId, QPointF pos) spl.TowerId = QPoint(-1,-1); spl.life = 0; spl.imgType = src.imgType; - if (!gameData->map->Rect().contains(pos.toPoint())) + if (!gameData->map->rect().contains(pos.toPoint())) { qCritical("ERROR splash out of map size"); return false; @@ -33,7 +33,7 @@ bool Splashes::AddSplash(int srcId, QPointF pos) spl.angle = 0; spl.destination = pos; TriggerType trig; - for(int i; isrTriggers.at(src.triggerIndexes.at(i)).timer; trig.src = src.triggerIndexes.at(i); @@ -45,7 +45,7 @@ bool Splashes::AddSplash(int srcId, QPointF pos) } -void Splashes::AddSplash(srcSplashType src, int index, TowerType tw) +void Splashes::addSplash(srcSplashType src, int index, TowerType tw) { SplashType spl; spl.Id = nextId; @@ -63,7 +63,7 @@ void Splashes::AddSplash(srcSplashType src, int index, TowerType tw) spl.life = 0; spl.src = index; TriggerType trig; - for(int i; iplayers.at(tw.PlayerId)->srcTowers.at(tw.src).triggers.at(src.triggerIndexes.at(i)).timer; trig.src = src.triggerIndexes.at(i); @@ -76,13 +76,13 @@ void Splashes::AddSplash(srcSplashType src, int index, TowerType tw) void Splashes::update() { - for (int i; icurSplashes.size(); i++) + for (int i=0; icurSplashes.size(); i++) { SplashType spl = gameData->curSplashes.values().at(i); bool isTowerSplash = false; srcSplashType src; TowerType tw; - if (gameData->map->Rect().contains(spl.TowerId)) + if (gameData->map->rect().contains(spl.TowerId)) { if (gameData->curTowers.contains(spl.TowerId)) { diff --git a/splashes.h b/splashes.h index e124e92..d8bc002 100644 --- a/splashes.h +++ b/splashes.h @@ -8,13 +8,13 @@ class Splashes : public QObject Q_OBJECT public: explicit Splashes(Game_Data * gd, QObject *parent = 0); - bool AddSplash(int srcId, QPointF pos); - void DelSplash(int Id); + bool addSplash(int srcId, QPointF pos); + void delSplash(int Id); void update(); signals: public slots: - void AddSplash(srcSplashType src, int index, TowerType tw); + void addSplash(srcSplashType src, int index, TowerType tw); private: Game_Data *gameData; diff --git a/towers.cpp b/towers.cpp index 8469c40..a9625e7 100644 --- a/towers.cpp +++ b/towers.cpp @@ -6,7 +6,7 @@ Towers::Towers(Game_Data *gd, QObject *parent) : gameData = gd; } -bool Towers::AddTower(int playerId, int srcId, QPoint pos) +bool Towers::addTower(int playerId, int srcId, QPoint pos) { //QByteArray ar; //ar << pos; @@ -40,7 +40,7 @@ bool Towers::AddTower(int playerId, int srcId, QPoint pos) } -void Towers::DelTower(QPoint pos) +void Towers::delTower(QPoint pos) { gameData->curTowers.remove(pos); } @@ -48,7 +48,7 @@ void Towers::DelTower(QPoint pos) void Towers::update() { - for (int i; icurTowers.size(); i++) + for (int i=0; icurTowers.size(); i++) { TowerType tw = gameData->curTowers.values().at(i); srcTowerType stw = gameData->players.at(tw.PlayerId)->srcTowers.at(tw.src); diff --git a/towers.h b/towers.h index d934ea5..23aeab4 100644 --- a/towers.h +++ b/towers.h @@ -8,8 +8,8 @@ class Towers : public QObject Q_OBJECT public: explicit Towers(Game_Data * gd, QObject *parent = 0); - bool AddTower(int playerId, int srcId, QPoint pos); - void DelTower(QPoint pos); + bool addTower(int playerId, int srcId, QPoint pos); + void delTower(QPoint pos); void update(); signals: void shot(srcSplashType src, int index, TowerType tw);