diff --git a/Unuk-QT/Makefile b/Unuk-QT/Makefile index c949dbb..3489343 100644 --- a/Unuk-QT/Makefile +++ b/Unuk-QT/Makefile @@ -1,25 +1,25 @@ ############################################################################# # Makefile for building: Unuk-QT -# Generated by qmake (2.01a) (Qt 4.7.4) on: Mon Jan 30 01:06:11 2012 +# Generated by qmake (2.01a) (Qt 4.7.4) on: Wed Feb 1 16:03:50 2012 # Project: Unuk-QT.pro # Template: app -# Command: /home/kono/QtSDK/Desktop/Qt/474/gcc/bin/qmake -spec ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro +# Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro ############################################################################# ####### Compiler, tools and options CC = gcc CXX = g++ -DEFINES = -DQT_GUI_LIB -DQT_CORE_LIB +DEFINES = -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED CFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) CXXFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) -INCPATH = -I../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/linux-g++ -I. -I../../../QtSDK/Desktop/Qt/474/gcc/include/QtCore -I../../../QtSDK/Desktop/Qt/474/gcc/include/QtGui -I../../../QtSDK/Desktop/Qt/474/gcc/include -I. +INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. LINK = g++ -LFLAGS = -Wl,-rpath,/home/kono/QtSDK/Desktop/Qt/474/gcc/lib -LIBS = $(SUBLIBS) -L/home/kono/QtSDK/Desktop/Qt/474/gcc/lib -lGL -lSDL -lSDL_ttf -lSDL_image -lSDL_gfx -ltinyxml -lGLU -lQtGui -lQtCore -lpthread +LFLAGS = +LIBS = $(SUBLIBS) -L/usr/lib -lGL -lSDL -lSDL_ttf -lSDL_image -lSDL_gfx -ltinyxml -lGLU -lQtGui -lQtCore -lpthread AR = ar cqs RANLIB = -QMAKE = /home/kono/QtSDK/Desktop/Qt/474/gcc/bin/qmake +QMAKE = /usr/bin/qmake-qt4 TAR = tar -cf COMPRESS = gzip -9f COPY = cp -f @@ -74,7 +74,8 @@ SOURCES = ../src/libUnuk/Engine/WorldManager.cpp \ ../src/libUnuk/LevelGen/MapEntities.cpp \ ../src/libUnuk/LevelGen/MapElement.cpp \ ../src/libUnuk/UI/EventHistory.cpp \ - ../src/libUnuk/UI/Bar.cpp + ../src/libUnuk/UI/Bar.cpp \ + ../src/libUnuk/System/Vec2.cpp OBJECTS = WorldManager.o \ ParticleEmitter.o \ NPC.o \ @@ -106,27 +107,27 @@ OBJECTS = WorldManager.o \ MapEntities.o \ MapElement.o \ EventHistory.o \ - Bar.o -DIST = ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/common/g++.conf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/common/unix.conf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/common/linux.conf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/qconfig.pri \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/modules/qt_webkit_version.pri \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/qt_functions.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/qt_config.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/exclusive_builds.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/default_pre.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/debug.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/default_post.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/warn_on.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/qt.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/unix/thread.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/moc.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/resources.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/uic.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/yacc.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/lex.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/include_source_dir.prf \ + Bar.o \ + Vec2.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/features/qt_functions.prf \ + /usr/share/qt4/mkspecs/features/qt_config.prf \ + /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ + /usr/share/qt4/mkspecs/features/default_pre.prf \ + /usr/share/qt4/mkspecs/features/debug.prf \ + /usr/share/qt4/mkspecs/features/default_post.prf \ + /usr/share/qt4/mkspecs/features/warn_on.prf \ + /usr/share/qt4/mkspecs/features/qt.prf \ + /usr/share/qt4/mkspecs/features/unix/thread.prf \ + /usr/share/qt4/mkspecs/features/moc.prf \ + /usr/share/qt4/mkspecs/features/resources.prf \ + /usr/share/qt4/mkspecs/features/uic.prf \ + /usr/share/qt4/mkspecs/features/yacc.prf \ + /usr/share/qt4/mkspecs/features/lex.prf \ + /usr/share/qt4/mkspecs/features/include_source_dir.prf \ Unuk-QT.pro QMAKE_TARGET = Unuk-QT DESTDIR = @@ -159,53 +160,55 @@ all: Makefile $(TARGET) $(TARGET): $(OBJECTS) $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) -Makefile: Unuk-QT.pro ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/linux-g++/qmake.conf ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/common/g++.conf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/common/unix.conf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/common/linux.conf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/qconfig.pri \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/modules/qt_webkit_version.pri \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/qt_functions.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/qt_config.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/exclusive_builds.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/default_pre.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/debug.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/default_post.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/warn_on.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/qt.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/unix/thread.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/moc.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/resources.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/uic.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/yacc.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/lex.prf \ - ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/include_source_dir.prf - $(QMAKE) -spec ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/common/g++.conf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/common/unix.conf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/common/linux.conf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/qconfig.pri: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/modules/qt_webkit_version.pri: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/qt_functions.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/qt_config.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/exclusive_builds.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/default_pre.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/debug.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/default_post.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/warn_on.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/qt.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/unix/thread.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/moc.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/resources.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/uic.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/yacc.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/lex.prf: -../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/features/include_source_dir.prf: +Makefile: Unuk-QT.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /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/features/qt_functions.prf \ + /usr/share/qt4/mkspecs/features/qt_config.prf \ + /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ + /usr/share/qt4/mkspecs/features/default_pre.prf \ + /usr/share/qt4/mkspecs/features/debug.prf \ + /usr/share/qt4/mkspecs/features/default_post.prf \ + /usr/share/qt4/mkspecs/features/warn_on.prf \ + /usr/share/qt4/mkspecs/features/qt.prf \ + /usr/share/qt4/mkspecs/features/unix/thread.prf \ + /usr/share/qt4/mkspecs/features/moc.prf \ + /usr/share/qt4/mkspecs/features/resources.prf \ + /usr/share/qt4/mkspecs/features/uic.prf \ + /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/libQtGui.prl \ + /usr/lib/libQtCore.prl + $(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.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/features/qt_functions.prf: +/usr/share/qt4/mkspecs/features/qt_config.prf: +/usr/share/qt4/mkspecs/features/exclusive_builds.prf: +/usr/share/qt4/mkspecs/features/default_pre.prf: +/usr/share/qt4/mkspecs/features/debug.prf: +/usr/share/qt4/mkspecs/features/default_post.prf: +/usr/share/qt4/mkspecs/features/warn_on.prf: +/usr/share/qt4/mkspecs/features/qt.prf: +/usr/share/qt4/mkspecs/features/unix/thread.prf: +/usr/share/qt4/mkspecs/features/moc.prf: +/usr/share/qt4/mkspecs/features/resources.prf: +/usr/share/qt4/mkspecs/features/uic.prf: +/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/libQtGui.prl: +/usr/lib/libQtCore.prl: qmake: FORCE - @$(QMAKE) -spec ../../../QtSDK/Desktop/Qt/474/gcc/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro + @$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro dist: @$(CHK_DIR_EXISTS) .tmp/Unuk-QT1.0.0 || $(MKDIR) .tmp/Unuk-QT1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Engine/WorldManager.h ../src/libUnuk/Engine/ParticleEmitter.h ../src/libUnuk/Engine/NPC.h ../src/libUnuk/Engine/MemManager.h ../src/libUnuk/Engine/MemClass.h ../src/libUnuk/Engine/Collision.h ../src/libUnuk/Engine/Character.h ../src/libUnuk/Engine/AStarBase.h ../src/libUnuk/Engine/AStar.h ../src/libUnuk/Sprite/TextureManager.h ../src/libUnuk/Sprite/Texture.h ../src/libUnuk/Sprite/ImageLoader.h ../src/libUnuk/Sprite/ApplySurface.h ../src/libUnuk/System/Rect.h ../src/libUnuk/System/Input.h ../src/libUnuk/System/FPS.h ../src/libUnuk/System/Debug.h ../src/libUnuk/System/Timer.h ../src/libUnuk/UI/MainMenu.h ../src/libUnuk/UI/IngameMenu.h ../src/libUnuk/UI/Font.h ../src/libUnuk/UI/ButtonToggle.h ../src/libUnuk/UI/ButtonGroup.h ../src/libUnuk/UI/Button.h ../src/libUnuk/UI/Text.h ../src/Unuk/Globals.h ../src/Unuk/Game.h ../src/Unuk/Constants.h ../src/Unuk/Player.h ../src/libUnuk/LevelGen/LevelGen.h ../src/libUnuk/LevelGen/MapEntities.h ../src/libUnuk/LevelGen/MapElement.h ../src/libUnuk/LevelGen/MapTile.h ../src/libUnuk/UI/EventHistory.h ../src/libUnuk/UI/Bar.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Engine/WorldManager.cpp ../src/libUnuk/Engine/ParticleEmitter.cpp ../src/libUnuk/Engine/NPC.cpp ../src/libUnuk/Engine/MemManager.cpp ../src/libUnuk/Engine/Collision.cpp ../src/libUnuk/Engine/Character.cpp ../src/libUnuk/Engine/AStar.cpp ../src/libUnuk/Sprite/TextureManager.cpp ../src/libUnuk/Sprite/Texture.cpp ../src/libUnuk/Sprite/ImageLoader.cpp ../src/libUnuk/Sprite/ApplySurface.cpp ../src/libUnuk/System/Timer.cpp ../src/libUnuk/System/Rect.cpp ../src/libUnuk/System/Input.cpp ../src/libUnuk/System/FPS.cpp ../src/libUnuk/System/Debug.cpp ../src/libUnuk/UI/Text.cpp ../src/libUnuk/UI/MainMenu.cpp ../src/libUnuk/UI/IngameMenu.cpp ../src/libUnuk/UI/Font.cpp ../src/libUnuk/UI/ButtonToggle.cpp ../src/libUnuk/UI/ButtonGroup.cpp ../src/libUnuk/UI/Button.cpp ../src/Unuk/Player.cpp ../src/Unuk/main.cpp ../src/Unuk/Globals.cpp ../src/Unuk/Game.cpp ../src/libUnuk/LevelGen/LevelGen.cpp ../src/libUnuk/LevelGen/MapEntities.cpp ../src/libUnuk/LevelGen/MapElement.cpp ../src/libUnuk/UI/EventHistory.cpp ../src/libUnuk/UI/Bar.cpp .tmp/Unuk-QT1.0.0/ && (cd `dirname .tmp/Unuk-QT1.0.0` && $(TAR) Unuk-QT1.0.0.tar Unuk-QT1.0.0 && $(COMPRESS) Unuk-QT1.0.0.tar) && $(MOVE) `dirname .tmp/Unuk-QT1.0.0`/Unuk-QT1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/Unuk-QT1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Engine/WorldManager.h ../src/libUnuk/Engine/ParticleEmitter.h ../src/libUnuk/Engine/NPC.h ../src/libUnuk/Engine/MemManager.h ../src/libUnuk/Engine/MemClass.h ../src/libUnuk/Engine/Collision.h ../src/libUnuk/Engine/Character.h ../src/libUnuk/Engine/AStarBase.h ../src/libUnuk/Engine/AStar.h ../src/libUnuk/Sprite/TextureManager.h ../src/libUnuk/Sprite/Texture.h ../src/libUnuk/Sprite/ImageLoader.h ../src/libUnuk/Sprite/ApplySurface.h ../src/libUnuk/System/Rect.h ../src/libUnuk/System/Input.h ../src/libUnuk/System/FPS.h ../src/libUnuk/System/Debug.h ../src/libUnuk/System/Timer.h ../src/libUnuk/UI/MainMenu.h ../src/libUnuk/UI/IngameMenu.h ../src/libUnuk/UI/Font.h ../src/libUnuk/UI/ButtonToggle.h ../src/libUnuk/UI/ButtonGroup.h ../src/libUnuk/UI/Button.h ../src/libUnuk/UI/Text.h ../src/Unuk/Globals.h ../src/Unuk/Game.h ../src/Unuk/Constants.h ../src/Unuk/Player.h ../src/libUnuk/LevelGen/LevelGen.h ../src/libUnuk/LevelGen/MapEntities.h ../src/libUnuk/LevelGen/MapElement.h ../src/libUnuk/LevelGen/MapTile.h ../src/libUnuk/UI/EventHistory.h ../src/libUnuk/UI/Bar.h ../src/libUnuk/System/Vec2.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Engine/WorldManager.cpp ../src/libUnuk/Engine/ParticleEmitter.cpp ../src/libUnuk/Engine/NPC.cpp ../src/libUnuk/Engine/MemManager.cpp ../src/libUnuk/Engine/Collision.cpp ../src/libUnuk/Engine/Character.cpp ../src/libUnuk/Engine/AStar.cpp ../src/libUnuk/Sprite/TextureManager.cpp ../src/libUnuk/Sprite/Texture.cpp ../src/libUnuk/Sprite/ImageLoader.cpp ../src/libUnuk/Sprite/ApplySurface.cpp ../src/libUnuk/System/Timer.cpp ../src/libUnuk/System/Rect.cpp ../src/libUnuk/System/Input.cpp ../src/libUnuk/System/FPS.cpp ../src/libUnuk/System/Debug.cpp ../src/libUnuk/UI/Text.cpp ../src/libUnuk/UI/MainMenu.cpp ../src/libUnuk/UI/IngameMenu.cpp ../src/libUnuk/UI/Font.cpp ../src/libUnuk/UI/ButtonToggle.cpp ../src/libUnuk/UI/ButtonGroup.cpp ../src/libUnuk/UI/Button.cpp ../src/Unuk/Player.cpp ../src/Unuk/main.cpp ../src/Unuk/Globals.cpp ../src/Unuk/Game.cpp ../src/libUnuk/LevelGen/LevelGen.cpp ../src/libUnuk/LevelGen/MapEntities.cpp ../src/libUnuk/LevelGen/MapElement.cpp ../src/libUnuk/UI/EventHistory.cpp ../src/libUnuk/UI/Bar.cpp ../src/libUnuk/System/Vec2.cpp .tmp/Unuk-QT1.0.0/ && (cd `dirname .tmp/Unuk-QT1.0.0` && $(TAR) Unuk-QT1.0.0.tar Unuk-QT1.0.0 && $(COMPRESS) Unuk-QT1.0.0.tar) && $(MOVE) `dirname .tmp/Unuk-QT1.0.0`/Unuk-QT1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/Unuk-QT1.0.0 clean:compiler_clean @@ -269,7 +272,8 @@ WorldManager.o: ../src/libUnuk/Engine/WorldManager.cpp ../src/libUnuk/Engine/Wor ../src/libUnuk/UI/Bar.h \ ../src/libUnuk/System/Rect.h \ ../src/libUnuk/Engine/AStar.h \ - ../src/libUnuk/Engine/AStarBase.h + ../src/libUnuk/Engine/AStarBase.h \ + ../src/Unuk/Player.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o WorldManager.o ../src/libUnuk/Engine/WorldManager.cpp ParticleEmitter.o: ../src/libUnuk/Engine/ParticleEmitter.cpp ../src/libUnuk/Engine/ParticleEmitter.h \ @@ -619,6 +623,9 @@ Bar.o: ../src/libUnuk/UI/Bar.cpp ../src/libUnuk/UI/Bar.h \ ../src/libUnuk/System/Debug.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Bar.o ../src/libUnuk/UI/Bar.cpp +Vec2.o: ../src/libUnuk/System/Vec2.cpp ../src/libUnuk/System/Vec2.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Vec2.o ../src/libUnuk/System/Vec2.cpp + ####### Install install: FORCE diff --git a/Unuk-QT/Unuk-QT.pro b/Unuk-QT/Unuk-QT.pro index 6fc3c6f..47e5213 100644 --- a/Unuk-QT/Unuk-QT.pro +++ b/Unuk-QT/Unuk-QT.pro @@ -41,7 +41,8 @@ HEADERS += ../src/Libs/wglext.h \ ../src/libUnuk/LevelGen/MapElement.h \ ../src/libUnuk/LevelGen/MapTile.h \ ../src/libUnuk/UI/EventHistory.h \ - ../src/libUnuk/UI/Bar.h + ../src/libUnuk/UI/Bar.h \ + ../src/libUnuk/System/Vec2.h SOURCES += ../src/libUnuk/Engine/WorldManager.cpp \ ../src/libUnuk/Engine/ParticleEmitter.cpp \ ../src/libUnuk/Engine/NPC.cpp \ @@ -73,5 +74,6 @@ SOURCES += ../src/libUnuk/Engine/WorldManager.cpp \ ../src/libUnuk/LevelGen/MapEntities.cpp \ ../src/libUnuk/LevelGen/MapElement.cpp \ ../src/libUnuk/UI/EventHistory.cpp \ - ../src/libUnuk/UI/Bar.cpp + ../src/libUnuk/UI/Bar.cpp \ + ../src/libUnuk/System/Vec2.cpp OTHER_FILES += diff --git a/src/libUnuk/System/Vec2.cpp b/src/libUnuk/System/Vec2.cpp new file mode 100644 index 0000000..edfd04e --- /dev/null +++ b/src/libUnuk/System/Vec2.cpp @@ -0,0 +1,24 @@ +#include + +#include "Vec2.h" + +Vec2 Vec2::Zero(0.0f, 0.0f); +Vec2 Vec2::One(1.0f, 1.0f); +Vec2 Vec2::UnitX(1.0f, 0.0f); +Vec2 Vec2::UnitY(0.0f, 1.0f); + +Vec2::Vec2(void) : x(0), y(0) { + +} + +Vec2::Vec2(float xArg, float yArg) : x(xArg), y(yArg) { + +} + +Vec2::Vec2(float value) : x(value), y(value) { + +} + +Vec2::Vec2(const Vec2i ©) : x(copy.x), y(copy.y) { + +} diff --git a/src/libUnuk/System/Vec2.h b/src/libUnuk/System/Vec2.h new file mode 100644 index 0000000..893e2b0 --- /dev/null +++ b/src/libUnuk/System/Vec2.h @@ -0,0 +1,102 @@ +// I am drunk right now. Forgive me for any stupidity. + +#pragma once +#include + +// A handy structure for passing around 2D integer coords. +struct Vec2i { + int x, y; + Vec2i(int xArg, int yArg) : x(xArg), y(yArg) {} + Vec2i(void) : x(0), y(0) {} +}; + +struct Vec2 { + // Initialize a zero-length vector (0, 0). + Vec2(void); + // Initialize a vector to a set dimension. + Vec2(float xArg, float yArg); + // Initialize a vector to a uniform dimension + Vec2(float value); + // Copy from the Vec2i to be converted into a Vec2 + Vec2(const Vec2i& copy); + + // A reference to a zero-length vector (0, 0) + static Vec2 Zero; + + // A reference to a (1, 1) vector. + static Vec2 One; + + // A reference to a (1, 0) vecor. + static Vec2 UnitX; + + // A reference to a (0, 1) vector. + static Vec2 UnitY; + + // Get the absolute magnitude of the vector. -- Uses a square root. + float Length(void); + + // Get the squared magnitude of the vector -- Just in case we only care about comparison. + float LengthSquared(void); + + // Get absolute distance between two points. -- Uses a square root. + static float Distance(const Vec2& value1, const Vec2& value2); + + // In case we only care about comparison.. + static float DistanceSquared(const Vec2& value1, const Vec2& value2); + + // Get the dot product of two vectors. + static float Dot(const Vec2& value1, Vec2& value2); + + /* Get the cross product of two vectors. Note that the \b mathmatical + * definition of a cross product results in another vector oeroendicular + * to the two inputs, but since both of our vectors are 2D, the returned + * vector will always have x and y components of 0. This this function + * returns what would be the z component vector. + */ + static float Cross(const Vec2& value1, Vec2& value2); + + // Normalize a vector in place. + void Normalize(void); + + // Get the normalized value for a Vec2 without affecting the original. + static Vec2 Normalize(const Vec2& value); + + // Reflect the vector around another. + static Vec2 Reflect(const Vec2& vector, const Vec2& normal); + + // Get a new vector from the minimum x and y. + static Vec2 Min(Vec2& value1, Vec2& value2); + + // Get a new vector from the maximum x and y. + static Vec2 Max(Vec2& value1, Vec2& value2); + + // Clamp a vector to a given min and max. + static Vec2 Clamp(const Vec2& value, const Vec2& min, const Vec2& max); + + // Perform a linear interplolation between two vectors. + static Vec2 Lerp(const Vec2& value1, const Vec2& value2, float amount); + + // Get a negated vector. + static Vec2 Negate(const Vec2& value); + + static Vec2 Rotate(const Vec2& value, Vec2& radians); + + bool operator==(const Vec2& v) const; + bool operator!=(const Vec2& v) const; + + Vec2 operator-(void) const; + Vec2 operator-(const Vec2& v) const; + Vec2 operator+(const Vec2& v) const; + Vec2 operator/(float divider) const; + Vec2 operator*(float scaleFactor) const; + + Vec2& operator+=(const Vec2& v); + Vec2& operator-=(const Vec2& v); + Vec2& operator*=(float f); + Vec2& operator/=(float f); + + float x; + float y; +}; + +typedef std::vector Vector2List;