From cb1846c80a349b9d09d575fb6499ceb857bd3417 Mon Sep 17 00:00:00 2001 From: pradyun Date: Sat, 11 Mar 2023 18:39:31 +1300 Subject: [PATCH] Sets of pipes generate but its horrifying --- .DS_Store | Bin 8196 -> 8196 bytes gfx/bothPipes.png | Bin 0 -> 7001 bytes gfx/sprites.t3s | 3 ++- romfs/gfx/sprites.t3x | Bin 25733 -> 35461 bytes source/Sprite.cpp | 20 ++++++++++---------- source/Sprite.hpp | 2 +- source/SpriteList.h | 1 + source/main.cpp | 38 +++++++++++++++++++++++++------------- 8 files changed, 39 insertions(+), 25 deletions(-) create mode 100644 gfx/bothPipes.png diff --git a/.DS_Store b/.DS_Store index 38d0e2cfc7ab625d7ac05212d3424b2ca80ea3e8..513f252d3ab2ac51f2b88c0f79a678a595fe728f 100644 GIT binary patch delta 32 ncmZp1XmQvuT|n5_Oh>`c+@e-Tq1w{OKu5vE*lhDEfhc|en$ig7 delta 32 ncmZp1XmQvuT|n5#LPx>S(!5qjq1xQSL`T8I!f^8{fhc|en_CF* diff --git a/gfx/bothPipes.png b/gfx/bothPipes.png new file mode 100644 index 0000000000000000000000000000000000000000..4c996ee3a95d17c31a713351804f48ab3398f737 GIT binary patch literal 7001 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 literal 0 HcmV?d00001 diff --git a/gfx/sprites.t3s b/gfx/sprites.t3s index 0b0469d..3d5b8f5 100644 --- a/gfx/sprites.t3s +++ b/gfx/sprites.t3s @@ -5,4 +5,5 @@ floor.png logo.png pipeBottom.png pipeTop.png -scoreCardBig.png \ No newline at end of file +scoreCardBig.png +bothPipes.png \ No newline at end of file diff --git a/romfs/gfx/sprites.t3x b/romfs/gfx/sprites.t3x index 1af748c51d69df4db963ef69ecea62852155e630..746959f865b24986559cbde77e616448f781ef9a 100644 GIT binary patch literal 35461 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

L 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�pb21!!`cJ2lYahl(zdDiH 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 literal 25733 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, 0.5f, 0.5f); // C2D_SpriteSetPos(&this->spr, 400/2, 240/2); - this->x = 200; this->y = 120; this->spr = new C2D_Sprite; + this->x = 200; this->y = 120; } Sprite::Sprite(C2D_Sprite* spr, float x, float y) { - this->x = x; this->y = y; this->spr = spr; + this->x = x; this->y = y; this->spr = *spr; - C2D_SpriteSetCenter(this->spr, 0.5f, 0.5f); - C2D_SpriteSetPos(this->spr, x, y); + C2D_SpriteSetCenter(&this->spr, 0.5f, 0.5f); + C2D_SpriteSetPos(&this->spr, x, y); } void Sprite::setPosition(float x, float y) { this->x = x; this->y = y; - C2D_SpriteSetPos(this->spr, x, y); + C2D_SpriteSetPos(&this->spr, x, y); } void Sprite::move(float dx, float dy, bool overrideOOB) { @@ -33,15 +33,15 @@ void Sprite::move(float dx, float dy, bool overrideOOB) { this->x += dx; this->y += dy; - C2D_SpriteSetPos(this->spr, this->x, this->y); + C2D_SpriteSetPos(&this->spr, this->x, this->y); } void Sprite::setCenter(float x, float y) { - C2D_SpriteSetCenter(this->spr, x, y); + C2D_SpriteSetCenter(&this->spr, x, y); } void Sprite::draw() { - C2D_DrawSprite(this->spr); + C2D_DrawSprite(&this->spr); } float Sprite::getPosX() { @@ -53,9 +53,9 @@ float Sprite::getPosY() { } C2D_Sprite* Sprite::getSpr() { - return this->spr; + return &this->spr; } void Sprite::setSpr(C2D_Sprite* newSpr) { - this->spr = newSpr; + this->spr = *newSpr; } \ No newline at end of file diff --git a/source/Sprite.hpp b/source/Sprite.hpp index f6cd8dd..150efd1 100644 --- a/source/Sprite.hpp +++ b/source/Sprite.hpp @@ -27,7 +27,7 @@ public: void setSpr(C2D_Sprite* newSpr); - C2D_Sprite* spr; + C2D_Sprite spr; private: float x, y; diff --git a/source/SpriteList.h b/source/SpriteList.h index aec0959..b681bee 100644 --- a/source/SpriteList.h +++ b/source/SpriteList.h @@ -12,5 +12,6 @@ #define SPR_PIPETOP 5 #define SPR_SCORECARD 6 +#define SPR_BOTHPIPES 7 #endif \ No newline at end of file diff --git a/source/main.cpp b/source/main.cpp index 1fe35ca..b6bcaf0 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -7,6 +7,7 @@ #include #include +#include #include #include "Sprite.hpp" @@ -15,13 +16,15 @@ #define MAX_SPRITES 768 #define SCREEN_WIDTH 400 #define SCREEN_HEIGHT 240 - +#define NUM_PIPES 5 // init spritesheet static C2D_SpriteSheet spriteSheet; Sprite sprites[MAX_SPRITES]; +Sprite pipes[NUM_PIPES]; static void initSprites() { + srand(time(NULL)); size_t numImages = C2D_SpriteSheetCount(spriteSheet); for (size_t i = 0; i < numImages; i++) { @@ -29,14 +32,13 @@ static void initSprites() { float x = SCREEN_WIDTH / 2; float y = SCREEN_HEIGHT / 2; - C2D_SpriteFromSheet(thisSprite->spr, spriteSheet, i); - C2D_SpriteSetCenter(thisSprite->spr, 0.5f, 0.5f); + C2D_SpriteFromSheet(&thisSprite->spr, spriteSheet, i); + C2D_SpriteSetCenter(&thisSprite->spr, 0.5f, 0.5f); thisSprite->setPosition(x, y); } // set bird consts sprites[SPR_BIRD].setPosition(SCREEN_WIDTH / 4, SCREEN_HEIGHT / 3); - // set bottom screen scorecard sprites[SPR_SCORECARD].setCenter(0.0, 0.0); @@ -45,6 +47,13 @@ static void initSprites() { sprites[SPR_PIPETOP].setPosition(280, 3); sprites[SPR_PIPEBOTTOM].setPosition(280, 280); + + // if theres a better way to do this,,, i dont know it + for (int i = 0; i < NUM_PIPES; i++) { + memcpy(&pipes[i], &sprites[SPR_BOTHPIPES], sizeof(sprites[SPR_BOTHPIPES])); + pipes[i].setCenter(0.5f, 0.5f); + pipes[i].setPosition(SCREEN_WIDTH + 8*i, rand() % SCREEN_HEIGHT + 20); + } } @@ -88,7 +97,7 @@ int main(int argc, char* argv[]) { // set bg properties sprites[SPR_BG].setPosition(200, 120); - C2D_SpriteSetScale(sprites[SPR_BG].spr, 2.7778, 2.7907); // scale image to 400x240 (3ds screen res) + C2D_SpriteSetScale(&sprites[SPR_BG].spr, 2.7778, 2.7907); // scale image to 400x240 (3ds screen res) size_t score = 0; @@ -105,7 +114,7 @@ int main(int argc, char* argv[]) { // gravity calcs v += a; sprites[SPR_BIRD].move(0, v); - C2D_SpriteSetRotationDegrees(sprites[SPR_BIRD].spr, v*9.8); + C2D_SpriteSetRotationDegrees(&sprites[SPR_BIRD].spr, v*9.8); @@ -116,14 +125,16 @@ int main(int argc, char* argv[]) { score++; } - sprites[SPR_PIPETOP].move(pipeSpeed, 0, true); - sprites[SPR_PIPEBOTTOM].move(pipeSpeed, 0, true); + for (int i = 0; i < NUM_PIPES; i++) { + pipes[i].move(pipeSpeed, 0, true); - if (sprites[SPR_PIPETOP].getPosX() < -10) { - sprites[SPR_PIPETOP].setPosition(SCREEN_WIDTH, 3); - sprites[SPR_PIPEBOTTOM].setPosition(SCREEN_WIDTH, 280); + if (pipes[i].getPosX() < -10) { + pipes[i].setPosition(SCREEN_WIDTH, rand() % SCREEN_HEIGHT); + } } + + // make score text char scoreString[(((sizeof score) * CHAR_BIT) + 2)/3 + 2]; sprintf(scoreString, "%d", score); @@ -138,8 +149,9 @@ int main(int argc, char* argv[]) { sprites[SPR_BG].draw(); sprites[SPR_BIRD].draw(); - sprites[SPR_PIPETOP].draw(); - sprites[SPR_PIPEBOTTOM].draw(); + for (int i = 0; i < NUM_PIPES; i++) { + pipes[i].draw(); + } C2D_TargetClear(bottom, C2D_Color32f(0.3294f, 0.7529f, 0.7882f, 1.0f)); C2D_SceneBegin(bottom);