From db330f1dc3d8fb71ed4282fb1bb07f8decffc013 Mon Sep 17 00:00:00 2001 From: Rtch90 Date: Sun, 6 Nov 2011 23:56:11 +0000 Subject: [PATCH] --[Add] Adding some global crap, and making a start on blit procedures. --- Unuk-QT/Makefile | 20 ++++++++++++++++---- Unuk-QT/Unuk-QT.pro | 8 ++++++-- src/Unuk/Globals.cpp | 13 +++++++++++++ src/Unuk/Globals.h | 19 +++++++++++++++++++ src/libUnuk/ApplySurface.cpp | 23 +++++++++++++++++++++++ src/libUnuk/ApplySurface.h | 19 +++++++++++++++++++ 6 files changed, 96 insertions(+), 6 deletions(-) create mode 100644 src/Unuk/Globals.cpp create mode 100644 src/Unuk/Globals.h create mode 100644 src/libUnuk/ApplySurface.cpp create mode 100644 src/libUnuk/ApplySurface.h diff --git a/Unuk-QT/Makefile b/Unuk-QT/Makefile index 9e32f8d..fade32f 100644 --- a/Unuk-QT/Makefile +++ b/Unuk-QT/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: Unuk-QT -# Generated by qmake (2.01a) (Qt 4.7.3) on: Sun Nov 6 22:57:44 2011 +# Generated by qmake (2.01a) (Qt 4.7.3) on: Sun Nov 6 23:46:01 2011 # Project: Unuk-QT.pro # Template: app # Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro @@ -47,12 +47,16 @@ SOURCES = ../src/libUnuk/Debug.cpp \ ../src/Unuk/main.cpp \ ../src/libUnuk/Input.cpp \ ../src/libUnuk/Timer.cpp \ - ../src/libUnuk/Font.cpp + ../src/libUnuk/Font.cpp \ + ../src/libUnuk/ApplySurface.cpp \ + ../src/Unuk/Globals.cpp OBJECTS = Debug.o \ main.o \ Input.o \ Timer.o \ - Font.o + Font.o \ + ApplySurface.o \ + Globals.o DIST = /usr/share/qt4/mkspecs/common/g++.conf \ /usr/share/qt4/mkspecs/common/unix.conf \ /usr/share/qt4/mkspecs/common/linux.conf \ @@ -155,7 +159,7 @@ qmake: FORCE 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/libUnuk/Debug.h ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Input.h ../src/libUnuk/Rect.h ../src/libUnuk/Timer.h ../src/libUnuk/Font.h ../Constants.h ../src/Unuk/Constants.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.cpp ../src/Unuk/main.cpp ../src/libUnuk/Input.cpp ../src/libUnuk/Timer.cpp ../src/libUnuk/Font.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/libUnuk/Debug.h ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Input.h ../src/libUnuk/Rect.h ../src/libUnuk/Timer.h ../src/libUnuk/Font.h ../Constants.h ../src/Unuk/Constants.h ../src/libUnuk/ApplySurface.h ../src/Unuk/Globals.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.cpp ../src/Unuk/main.cpp ../src/libUnuk/Input.cpp ../src/libUnuk/Timer.cpp ../src/libUnuk/Font.cpp ../src/libUnuk/ApplySurface.cpp ../src/Unuk/Globals.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 @@ -215,6 +219,14 @@ Font.o: ../src/libUnuk/Font.cpp ../src/libUnuk/Font.h \ ../src/libUnuk/Debug.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Font.o ../src/libUnuk/Font.cpp +ApplySurface.o: ../src/libUnuk/ApplySurface.cpp ../src/libUnuk/ApplySurface.h \ + ../src/libUnuk/Debug.h \ + ../src/Unuk/Globals.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ApplySurface.o ../src/libUnuk/ApplySurface.cpp + +Globals.o: ../src/Unuk/Globals.cpp ../src/Unuk/Globals.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Globals.o ../src/Unuk/Globals.cpp + ####### Install install: FORCE diff --git a/Unuk-QT/Unuk-QT.pro b/Unuk-QT/Unuk-QT.pro index 5323b14..5867265 100644 --- a/Unuk-QT/Unuk-QT.pro +++ b/Unuk-QT/Unuk-QT.pro @@ -12,9 +12,13 @@ HEADERS += ../src/libUnuk/Debug.h \ ../src/libUnuk/Timer.h \ ../src/libUnuk/Font.h \ ../Constants.h \ - ../src/Unuk/Constants.h + ../src/Unuk/Constants.h \ + ../src/libUnuk/ApplySurface.h \ + ../src/Unuk/Globals.h SOURCES += ../src/libUnuk/Debug.cpp \ ../src/Unuk/main.cpp \ ../src/libUnuk/Input.cpp \ ../src/libUnuk/Timer.cpp \ - ../src/libUnuk/Font.cpp + ../src/libUnuk/Font.cpp \ + ../src/libUnuk/ApplySurface.cpp \ + ../src/Unuk/Globals.cpp diff --git a/src/Unuk/Globals.cpp b/src/Unuk/Globals.cpp new file mode 100644 index 0000000..6ca0bd3 --- /dev/null +++ b/src/Unuk/Globals.cpp @@ -0,0 +1,13 @@ +#include "Globals.h" + +SDL_Surface* screen = NULL; +SDL_Surface* errorTexture = NULL; + +SDL_Rect camera; + +//SDL_Event event; + +int levelWidth; +int levelHeight; + +//bool debugEnabled = false; diff --git a/src/Unuk/Globals.h b/src/Unuk/Globals.h new file mode 100644 index 0000000..d563fb0 --- /dev/null +++ b/src/Unuk/Globals.h @@ -0,0 +1,19 @@ +#ifndef _GLOBALS_H_ +#define _GLOBALS_H_ +#include +#include + +extern SDL_Surface* screen; +extern SDL_Surface* errorTexture; + +extern SDL_Rect camera; + +//extern SDL_Event event; + +extern int levelWidth; +extern int levelHeight; + +//extern bool debugEnabled; + + +#endif diff --git a/src/libUnuk/ApplySurface.cpp b/src/libUnuk/ApplySurface.cpp new file mode 100644 index 0000000..626a538 --- /dev/null +++ b/src/libUnuk/ApplySurface.cpp @@ -0,0 +1,23 @@ +#include "ApplySurface.h" + +void ApplySurface(int x, int y, SDL_Surface* source, SDL_Surface* destination, SDL_Rect* clip) { + assert(source != NULL); + + SDL_Rect offset; + + offset.x = x - camera.x; + offset.y = y - camera.y; + + SDL_BlitSurface(source, clip, destination, &offset); +} + +void ApplySurfaceLiteral(int x, int y, SDL_Surface* source, SDL_Surface* destination, SDL_Rect* clip) { + assert(source != NULL); + + SDL_Rect offset; + + offset.x = x; + offset.y = y; + + SDL_BlitSurface(source, clip, destination, &offset); +} diff --git a/src/libUnuk/ApplySurface.h b/src/libUnuk/ApplySurface.h new file mode 100644 index 0000000..24b9529 --- /dev/null +++ b/src/libUnuk/ApplySurface.h @@ -0,0 +1,19 @@ +#ifndef _APPLYSURFACE_H_ +#define _APPLYSURFACE_H_ +#include +#include +#include "Debug.h" +#include "../Unuk/Globals.h" + +/* Use for objects. + * Blit a surface to another surface. An + * optioanl clip argument can be given. The surface + * will be applied to the destination, taking into + * account the position of the camera. + */ +void ApplySurface(int x, int y, SDL_Surface* source, SDL_Surface* destination, SDL_Rect* clip = NULL); + +// This one won't take the camera into account, so we could use it for GUI stuff. +void ApplySurfaceLiteral(int x, int y, SDL_Surface* source, SDL_Surface* destination, SDL_Rect* clip = NULL); + +#endif