From c100118d7268e466c93e8c42303a5b03e8a8f948 Mon Sep 17 00:00:00 2001 From: Rtch90 Date: Wed, 9 Nov 2011 00:21:30 +0000 Subject: [PATCH] -- [Add] Added an image loader, we shall be able to blit to screen next. -- [Add] Added rects so we can play on the stack. --- Unuk-QT/ImageLoader.o | Bin 21628 -> 0 bytes Unuk-QT/Makefile | 25 +++++++++++++++++++----- Unuk-QT/Unuk-QT.pro | 8 ++++++-- src/libUnuk/Font.h | 2 +- src/libUnuk/ImageLoader.cpp | 37 +++++++++++++++++++++++++++++++++++ src/libUnuk/ImageLoader.h | 11 +++++++++++ src/libUnuk/Rect.cpp | 38 ++++++++++++++++++++++++++++++++++++ src/libUnuk/Rect.h | 28 ++++++++++++++++++++++++++ 8 files changed, 141 insertions(+), 8 deletions(-) delete mode 100644 Unuk-QT/ImageLoader.o create mode 100644 src/libUnuk/ImageLoader.cpp create mode 100644 src/libUnuk/ImageLoader.h create mode 100644 src/libUnuk/Rect.cpp diff --git a/Unuk-QT/ImageLoader.o b/Unuk-QT/ImageLoader.o deleted file mode 100644 index 543f93ab5b2c74b1d9caedc3767b505e321678fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21628 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 diff --git a/Unuk-QT/Makefile b/Unuk-QT/Makefile index fade32f..d5f0ed3 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 23:46:01 2011 +# Generated by qmake (2.01a) (Qt 4.7.3) on: Wed Nov 9 00:17:08 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 @@ -16,7 +16,7 @@ CXXFLAGS = -pipe -g -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 -I. LINK = g++ LFLAGS = -LIBS = $(SUBLIBS) -L/usr/lib -lGL -lSDL -lSDL_ttf -lGLU -lQtGui -lQtCore -lpthread +LIBS = $(SUBLIBS) -L/usr/lib -lGL -lSDL -lSDL_ttf -lSDL_image -lGLU -lQtGui -lQtCore -lpthread AR = ar cqs RANLIB = QMAKE = /usr/bin/qmake-qt4 @@ -49,14 +49,18 @@ SOURCES = ../src/libUnuk/Debug.cpp \ ../src/libUnuk/Timer.cpp \ ../src/libUnuk/Font.cpp \ ../src/libUnuk/ApplySurface.cpp \ - ../src/Unuk/Globals.cpp + ../src/Unuk/Globals.cpp \ + ../src/libUnuk/Rect.cpp \ + ../src/libUnuk/ImageLoader.cpp OBJECTS = Debug.o \ main.o \ Input.o \ Timer.o \ Font.o \ ApplySurface.o \ - Globals.o + Globals.o \ + Rect.o \ + ImageLoader.o DIST = /usr/share/qt4/mkspecs/common/g++.conf \ /usr/share/qt4/mkspecs/common/unix.conf \ /usr/share/qt4/mkspecs/common/linux.conf \ @@ -159,7 +163,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 ../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 + $(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 ../src/libUnuk/ImageLoader.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 ../src/libUnuk/Rect.cpp ../src/libUnuk/ImageLoader.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 @@ -227,6 +231,17 @@ ApplySurface.o: ../src/libUnuk/ApplySurface.cpp ../src/libUnuk/ApplySurface.h \ Globals.o: ../src/Unuk/Globals.cpp ../src/Unuk/Globals.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Globals.o ../src/Unuk/Globals.cpp +Rect.o: ../src/libUnuk/Rect.cpp ../src/libUnuk/Rect.h \ + ../src/Unuk/Globals.h \ + ../src/libUnuk/ApplySurface.h \ + ../src/libUnuk/Debug.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Rect.o ../src/libUnuk/Rect.cpp + +ImageLoader.o: ../src/libUnuk/ImageLoader.cpp ../src/libUnuk/ImageLoader.h \ + ../src/Unuk/Globals.h \ + ../src/libUnuk/Debug.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ImageLoader.o ../src/libUnuk/ImageLoader.cpp + ####### Install install: FORCE diff --git a/Unuk-QT/Unuk-QT.pro b/Unuk-QT/Unuk-QT.pro index 5867265..d1affb5 100644 --- a/Unuk-QT/Unuk-QT.pro +++ b/Unuk-QT/Unuk-QT.pro @@ -1,6 +1,7 @@ LIBS += -lGL \ -lSDL \ -lSDL_ttf \ + -lSDL_image \ -lGLU RESOURCES += OTHER_FILES += ../src/libUnuk/Debug.o @@ -14,11 +15,14 @@ HEADERS += ../src/libUnuk/Debug.h \ ../Constants.h \ ../src/Unuk/Constants.h \ ../src/libUnuk/ApplySurface.h \ - ../src/Unuk/Globals.h + ../src/Unuk/Globals.h \ + ../src/libUnuk/ImageLoader.h SOURCES += ../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 + ../src/Unuk/Globals.cpp \ + ../src/libUnuk/Rect.cpp \ + ../src/libUnuk/ImageLoader.cpp diff --git a/src/libUnuk/Font.h b/src/libUnuk/Font.h index 51a7994..8f3c0d5 100644 --- a/src/libUnuk/Font.h +++ b/src/libUnuk/Font.h @@ -6,6 +6,6 @@ #include "Debug.h" using namespace std; -TTF_Font* Font(const char*, const int); +TTF_Font* Font(const char* filename, const int size); #endif diff --git a/src/libUnuk/ImageLoader.cpp b/src/libUnuk/ImageLoader.cpp new file mode 100644 index 0000000..84de38f --- /dev/null +++ b/src/libUnuk/ImageLoader.cpp @@ -0,0 +1,37 @@ +#include "ImageLoader.h" + +SDL_Surface* LoadImage(const char* filename) { + SDL_Surface* loadedImage = NULL; + SDL_Surface* optimizedImage = NULL; + + // Initialize loadedImage with the file. + loadedImage = IMG_Load(filename); + if(loadedImage != NULL) { + // Then copy the image to a surface for us to blit later. + optimizedImage = SDL_DisplayFormat(loadedImage); + SDL_FreeSurface(loadedImage); + return optimizedImage; + } else { + // Tell us what file is mising and do some stuid error texture thing. + Debug::logger->message("ImageLoader: %s cannot be found!"); + return errorTexture; + } +} + +SDL_Surface* LoadImageAlpha(const char* filename) { + SDL_Surface* loadedImage = NULL; + SDL_Surface* optimizedImage = NULL; + + // Initialize loadedImage with the file. + loadedImage = IMG_Load(filename); + if(loadedImage != NULL) { + // Then copy the image to a surface and give us an alpha channel. + optimizedImage = SDL_DisplayFormatAlpha(loadedImage); + SDL_FreeSurface(loadedImage); + return optimizedImage; + } else { + // Tell us what file is mising and do some stuid error texture thing. + Debug::logger->message("ImageLoader: %s cannot be found!"); + return errorTexture; + } +} diff --git a/src/libUnuk/ImageLoader.h b/src/libUnuk/ImageLoader.h new file mode 100644 index 0000000..dd112f3 --- /dev/null +++ b/src/libUnuk/ImageLoader.h @@ -0,0 +1,11 @@ +#ifndef _IMAGELOADER_H_ +#define _IMAGELOADER_H_ +#include +#include +#include "../Unuk/Globals.h" +#include "Debug.h" + +SDL_Surface* LoadImage(const char* filename); +SDL_Surface* LoadImageAlpha(const char* filename); + +#endif diff --git a/src/libUnuk/Rect.cpp b/src/libUnuk/Rect.cpp new file mode 100644 index 0000000..5528146 --- /dev/null +++ b/src/libUnuk/Rect.cpp @@ -0,0 +1,38 @@ +#include "Rect.h" + +Rect::Rect(void) { +} + +Rect::~Rect(void) { +} + +void Rect::SetXY(int xArg, int yArg) { + rect.x = xArg; + rect.y = yArg; +} + +void Rect::SetWidthHeight(int wArg, int hArg) { + rect.w = wArg; + rect.h = hArg; +} + +void Rect::SetRGB(Uint8 rArg, Uint8 gArg, Uint8 bArg) { + r = rArg; + g = gArg; + b = bArg; +} + +void Rect::Draw(void) { + SDL_Rect offset; + + offset.x = rect.x - camera.x; + offset.y = rect.y - camera.y; + offset.w = rect.w; + offset.h = rect.h; + + SDL_FillRect(screen, &offset, SDL_MapRGB(screen->format, r, g, b)); +} + +void Rect::DrawLiteral(void) { + SDL_FillRect(screen, &rect, SDL_MapRGB(screen->format, r, g, b)); +} diff --git a/src/libUnuk/Rect.h b/src/libUnuk/Rect.h index c9bee71..ae076ea 100644 --- a/src/libUnuk/Rect.h +++ b/src/libUnuk/Rect.h @@ -2,7 +2,35 @@ #define _RECT_H_ #include #include // May not need this. +#include "../Unuk/Globals.h" +#include "ApplySurface.h" using namespace std; +class Rect { +public: + Rect(void); + ~Rect(void); + + int GetWidth(void) { return rect.w; } + int GetHeight(void) { return rect.h; } + int GetX(void) { return rect.x; } + int GetY(void) { return rect.y; } + + void SetXY(int xArg, int yArg); + void SetWidthHeight(int wArg, int hArg); + void SetRGB(Uint8 rArg, Uint8 gArg, Uint8 bArg); + + void Draw(void); + void DrawLiteral(void); + +protected: + Uint8 r; + Uint8 g; + Uint8 b; + +private: + SDL_Rect rect; +}; + #endif