From 94a8df620db032eac35c90ad1e760c9ee12a6129 Mon Sep 17 00:00:00 2001 From: posweg Date: Sat, 6 May 2017 09:52:25 +0200 Subject: [PATCH] Bug fixes --- .gitignore | 10 +--------- Makefile | 2 +- main | Bin 23992 -> 24036 bytes main.cpp | 2 +- player.cpp | 44 +++++++++++++++++--------------------------- player.h | 6 ++---- texture.cpp | 37 +++++++++++++++++++++---------------- texture.h | 9 ++++++--- 8 files changed, 49 insertions(+), 61 deletions(-) diff --git a/.gitignore b/.gitignore index a9e50e9..4826d30 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,2 @@ -*.swp *.o -*.swo -*.swn -*.swk -*.swl -*.swm -*.swi -*.swh -*.swj +*.sw* diff --git a/Makefile b/Makefile index 425d00a..95261c2 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,7 @@ camera.o: camera.cpp camera.h $(CC) -c camera.cpp texture.o: texture.cpp texture.h - $(CC) -c -lSDL2_image texture.cpp + $(CC) -c -lSDL2_image texture.cpp $(LINKER_FLAGS) powerup.o: powerup.cpp powerup.h $(CC) -c powerup.cpp $(LINKER_FLAGS) diff --git a/main b/main index 94d6ed8d38355401943918467638f6f27c6ae1f8..ab338ce4667785dfcabe97acb9cd225cb59bba8f 100755 GIT binary patch delta 5925 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 @@ -210,13 +204,11 @@ int Player::check(SDL_Rect rectA, int type){ ground = true; collision = 2; velocityY = 0; - currentFrame = &plyFrame[1]; } //Bottom collision else if(posY == b2Y){ collision = 3; topCollision = true; - currentFrame = &plyFrame[3]; if(velocityY > 0) velocityY -= static_cast(velocityY); } @@ -228,14 +220,12 @@ int Player::check(SDL_Rect rectA, int type){ //Left collision if(posX + szW == bX){ collision = 4; - currentFrame = &plyFrame[2]; if(velocityX > 0) velocityX -= static_cast(velocityX); } //Right collision else if(posX == b2X){ collision = 5; - currentFrame = &plyFrame[4]; if(velocityX < 0) velocityX -= static_cast(velocityX); } diff --git a/player.h b/player.h index ca51e12..0a21cde 100644 --- a/player.h +++ b/player.h @@ -18,8 +18,7 @@ class Player: public Entity{ int check(SDL_Rect rectA,int type); Player(int x, int y,int w, int h,SDL_Renderer** render); private: - int* coll; - bool loadMedia(); + void loadMedia(); void move(); int intVelX(); SDL_Renderer** renderer; @@ -36,8 +35,7 @@ class Player: public Entity{ PosuTexture ply; SDL_Rect* currentFrame; - const static int plyNum = 6; - SDL_Rect plyFrame[plyNum]; + SDL_Rect plyFrame[2]; }; #endif diff --git a/texture.cpp b/texture.cpp index adbb5c3..c4a8800 100755 --- a/texture.cpp +++ b/texture.cpp @@ -2,28 +2,32 @@ PosuTexture::PosuTexture(){ //Initialize variables - texture = NULL; szW = 0; szH = 0; - IMG_Init(IMG_INIT_JPG); + IMG_Init(IMG_INIT_PNG); //Set renderer -} +}; + +void PosuTexture::setRenderer(SDL_Renderer** render){ + renderer = render; +}; PosuTexture::~PosuTexture(){ //Deallocate - free(); -} + //free(); +}; -bool PosuTexture::loadTexture(std::string path,SDL_Renderer** renderer){ +void PosuTexture::loadTexture(std::string path){ //Get rid of preexisting texture free(); - + //Load image at specified path SDL_Surface* loadedSurface = IMG_Load( path.c_str() ); - if(loadedSurface == NULL) + if(loadedSurface == NULL){ std::cout << "Couldn't load " << path.c_str() << std::endl; + } else{ //Create texture from surface pixels texture = SDL_CreateTextureFromSurface @@ -41,9 +45,7 @@ bool PosuTexture::loadTexture(std::string path,SDL_Renderer** renderer){ //Get rid of old loaded surface SDL_FreeSurface(loadedSurface); } - - return texture != NULL; -} +}; void PosuTexture::free(){ //Free texture if it exists @@ -53,9 +55,10 @@ void PosuTexture::free(){ szW = 0; szH = 0; } -} +}; -void PosuTexture::render(SDL_Rect* quad,SDL_Rect* frame,SDL_Renderer** renderer){ +void PosuTexture::render(SDL_Rect* quad,SDL_Rect* frame){ +//void PosuTexture::render(SDL_Rect* quad){ //Set clip rendering dimensions /*if(frame != NULL){ quad.w = frame->w; @@ -64,12 +67,14 @@ void PosuTexture::render(SDL_Rect* quad,SDL_Rect* frame,SDL_Renderer** renderer) //Render to screen SDL_RenderCopy(*renderer,texture,frame,quad); -} + //SDL_RenderFillRect(*renderer,quad); + //std::cout << "ye" << std::endl; +}; int PosuTexture::getWidth(){ return szW; -} +}; int PosuTexture::getHeight(){ return szH; -} +}; diff --git a/texture.h b/texture.h index 5d89156..6e5919f 100644 --- a/texture.h +++ b/texture.h @@ -12,14 +12,17 @@ class PosuTexture{ public: PosuTexture(); ~PosuTexture(); - bool loadTexture(std::string path,SDL_Renderer** renderer); + void loadTexture(std::string path); void free(); - void render(SDL_Rect* quad,SDL_Rect* frame,SDL_Renderer** renderer); + void render(SDL_Rect* quad,SDL_Rect* frame); + //void render(SDL_Rect* quad); int getWidth(); int getHeight(); + void setRenderer (SDL_Renderer** render); private: - SDL_Texture* texture; + SDL_Texture* texture = NULL; int szW, szH; + SDL_Renderer** renderer; }; #endif