(STABLE BUILD) all errors resolved, refractor complete
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
#include "game.h"
|
||||
|
||||
Game::Game(std::string title, int width, int height, int targetFramerate, int targetUpdaterate) {
|
||||
Renderer* temp = new Renderer(title, width, height, targetFramerate);
|
||||
this->renderer = temp;
|
||||
this->renderer = new Renderer(title, width, height, targetFramerate);
|
||||
|
||||
this->TargetMsPerFrame = targetFramerate;
|
||||
this->TargetMsPerUpdate = targetUpdaterate;
|
||||
|
||||
5
crumpet-engine/crumpet-engine.h
Normal file
5
crumpet-engine/crumpet-engine.h
Normal file
@@ -0,0 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#include "game.h"
|
||||
#include "timer.h"
|
||||
#include "sprite.h"
|
||||
@@ -137,6 +137,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="camera.h" />
|
||||
<ClInclude Include="crumpet-engine.h" />
|
||||
<ClInclude Include="entity.h" />
|
||||
<ClInclude Include="game.h" />
|
||||
<ClInclude Include="gameWorld.h" />
|
||||
|
||||
@@ -47,5 +47,8 @@
|
||||
<ClInclude Include="rect.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="crumpet-engine.h">
|
||||
<Filter>headers</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,7 +1,12 @@
|
||||
#include "entity.h"
|
||||
|
||||
Entity::Entity(std::string name, Renderer* renderer) {
|
||||
Entity::Entity(std::string name, Renderer* renderer)
|
||||
: Pos(new Vec2(0, 0))
|
||||
, Size(new Vec2(0, 0))
|
||||
, m_col(new Vec4(0, 0, 0, 255))
|
||||
, m_rect(new Rect(0, 0, 0, 0)) {
|
||||
|
||||
this->m_renderer = renderer;
|
||||
this->m_name = name;
|
||||
this->Rendertype = RenderType::MODE_TEXTURE;
|
||||
}
|
||||
@@ -47,8 +52,8 @@ bool Entity::LoadTexture(SDL_Surface* image) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void Entity::SetDrawColour(Vec4 col) {
|
||||
|
||||
void Entity::SetDrawColour(Vec4* col) {
|
||||
m_renderer->SetRendererColour(col);
|
||||
}
|
||||
|
||||
void Entity::SetRect(Rect* rect) {
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <SDL.h>
|
||||
#include <SDL_image.h>
|
||||
#include "renderer.h"
|
||||
#include "rect.h"
|
||||
#include "mathHelper.h"
|
||||
#include "game.h"
|
||||
|
||||
enum struct RenderType {
|
||||
MODE_DEFAULT,
|
||||
@@ -33,7 +32,7 @@ public:
|
||||
bool LoadTexture(std::string path);
|
||||
bool LoadTexture(SDL_Surface* image);
|
||||
|
||||
void SetDrawColour(Vec4 col);
|
||||
void SetDrawColour(Vec4* col);
|
||||
|
||||
void SetRect(Rect* rect);
|
||||
|
||||
|
||||
@@ -4,9 +4,6 @@
|
||||
#include <SDL.h>
|
||||
#include "renderer.h"
|
||||
#include "camera.h"
|
||||
#include "timer.h"
|
||||
#include "entity.h"
|
||||
#include "sprite.h"
|
||||
|
||||
class Game {
|
||||
public:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "game.h"
|
||||
#include "crumpet-engine.h"
|
||||
|
||||
#undef main
|
||||
|
||||
@@ -7,16 +7,18 @@
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
Game game("Crumpet engine", SCREEN_WIDTH, SCREEN_HEIGHT, 0, 1000 / 60); // 1000 / 60);
|
||||
Camera camera(SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
game.camera = &camera;
|
||||
Timer timer;
|
||||
|
||||
Sprite sans("sans", SpriteType::SPRITE_ANIMATED);
|
||||
Sprite sans("sans", game.renderer, SpriteType::SPRITE_ANIMATED);
|
||||
sans.LoadSpriteTextures("/resources/sans-undertale-spritesheet.png");
|
||||
sans.UseSpriteSheet(SpriteState::STATE_FRONT, 30, 9, 230, 300, 10, 4);
|
||||
sans.UseSpriteSheet(SpriteState::STATE_RIGHT, 30, 320, 170, 300, 10, 4);
|
||||
sans.UseSpriteSheet(SpriteState::STATE_LEFT, 40, 640, 170, 300, 10, 4);
|
||||
sans.Pos = &Vec2(100, 100);
|
||||
|
||||
Sprite explosion("explosion", SpriteType::SPRITE_ANIMATED);
|
||||
Sprite explosion("explosion", game.renderer ,SpriteType::SPRITE_ANIMATED);
|
||||
explosion.LoadSpriteTextures("/resources/explosion.png");
|
||||
explosion.UseSpriteSheet(SpriteState::STATE_DEFAULT, 1, 260, 64, 63, 0, 16);
|
||||
explosion.ResizeSpriteStateByFactor(SpriteState::STATE_DEFAULT, 4);
|
||||
@@ -35,8 +37,6 @@ int main(int argc, char** argv) {
|
||||
sans.Pos->x -= 10;
|
||||
} else sans.Spritestate = SpriteState::STATE_FRONT;
|
||||
|
||||
|
||||
|
||||
if (timer.ticks % 5 == 0) {
|
||||
sans.TickAninmation();
|
||||
explosion.TickAninmation();
|
||||
@@ -46,8 +46,8 @@ int main(int argc, char** argv) {
|
||||
}
|
||||
|
||||
game.renderer->RenderClear();
|
||||
game.renderer->RenderSprite(&sans);
|
||||
game.renderer->RenderSprite(&explosion);
|
||||
sans.Render();
|
||||
explosion.Render();
|
||||
game.renderer->RenderUpdate();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
#include "rect.h"
|
||||
|
||||
Rect::Rect() {
|
||||
Rect::Rect()
|
||||
: rect(new SDL_Rect{ 0, 0, 0, 0 }) {
|
||||
Clear();
|
||||
}
|
||||
|
||||
Rect::Rect(int x, int y, int w, int h) {
|
||||
Rect::Rect(int x, int y, int w, int h)
|
||||
: rect(new SDL_Rect{ x, y, w, h }) {
|
||||
SetRect(x, y, w, h);
|
||||
}
|
||||
|
||||
@@ -115,7 +117,15 @@ int Rect::Area() {
|
||||
}
|
||||
|
||||
void Rect::SetRect(int x, int y, int w, int h) {
|
||||
this->x = x;
|
||||
this->y = y;
|
||||
this->w = w;
|
||||
this->h = h;
|
||||
|
||||
this->rect->x = x;
|
||||
this->rect->y = y;
|
||||
this->rect->w = w;
|
||||
this->rect->h = h;
|
||||
}
|
||||
|
||||
void Rect::SetSize(Vec2* size) {
|
||||
|
||||
@@ -21,29 +21,16 @@ Renderer::Renderer(std::string title, int width, int height, int targetFramerate
|
||||
isClosed = false;
|
||||
}
|
||||
|
||||
void Renderer::RenderEntity(Entity* entity) {
|
||||
entity->Render();
|
||||
}
|
||||
|
||||
void Renderer::RenderSprite(Sprite* sprite, SpriteState state) {
|
||||
sprite->Spritestate = state;
|
||||
sprite->Render();
|
||||
}
|
||||
|
||||
void Renderer::RenderSprite(Sprite* sprite) {
|
||||
sprite->Render();
|
||||
}
|
||||
|
||||
void Renderer::SetRendererColour(Vec4* col) {
|
||||
SDL_SetRenderDrawColor(SDLRenderer, col->x, col->y, col->z, col->w);
|
||||
}
|
||||
|
||||
void Renderer::RenderEmptyRect(Rect* rect) {
|
||||
SDL_RenderDrawRect(SDLRenderer, rect->ToSDLRect);
|
||||
SDL_RenderDrawRect(SDLRenderer, rect->ToSDLRect());
|
||||
}
|
||||
|
||||
void Renderer::RenderFilledRect(Rect* rect) {
|
||||
SDL_RenderFillRect(SDLRenderer, rect->ToSDLRect);
|
||||
SDL_RenderFillRect(SDLRenderer, rect->ToSDLRect());
|
||||
}
|
||||
|
||||
void Renderer::RenderLines(std::vector<Vec4*> points) {
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <SDL.h>
|
||||
#include "entity.h"
|
||||
#include "sprite.h"
|
||||
#include "rect.h"
|
||||
|
||||
class Renderer {
|
||||
@@ -14,13 +12,7 @@ public:
|
||||
|
||||
SDL_Renderer *SDLRenderer;
|
||||
|
||||
void RenderEntity(Entity* entity);
|
||||
|
||||
void RenderSprite(Sprite* sprite, SpriteState state);
|
||||
void RenderSprite(Sprite* sprite);
|
||||
|
||||
void SetRendererColour(Vec4* col);
|
||||
|
||||
void RenderEmptyRect(Rect* rect);
|
||||
void RenderFilledRect(Rect* rect);
|
||||
void RenderLines(std::vector<Vec4*> points);
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#include "sprite.h"
|
||||
|
||||
Sprite::Sprite(std::string name, Renderer* renderer, SpriteType mode)
|
||||
: Entity(name, renderer) {
|
||||
: Entity(name, renderer)
|
||||
, Pos(new Vec2(0, 0)) {
|
||||
|
||||
this->Spritetype = mode;
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ enum struct SpriteState {
|
||||
class Sprite : public Entity {
|
||||
public:
|
||||
Sprite(std::string name, Renderer* renderer, SpriteType mode);
|
||||
|
||||
|
||||
SpriteType Spritetype = SpriteType::SPRITE_DEFAULT;
|
||||
SpriteState Spritestate = SpriteState::STATE_DEFAULT;
|
||||
|
||||
@@ -51,7 +51,7 @@ public:
|
||||
void ResizeSpritesByFactor(float factor);
|
||||
void ResizeSpriteState(SpriteState state, Vec2* newSize);
|
||||
void ResizeSpriteStateByFactor(SpriteState state, float factor);
|
||||
|
||||
|
||||
void Move(Vec2* offest);
|
||||
void MoveX(int offest);
|
||||
void MoveY(int offest);
|
||||
@@ -61,11 +61,11 @@ public:
|
||||
|
||||
virtual ~Sprite();
|
||||
private:
|
||||
std::map <SpriteState, std::map<int, Rect*>> m_spriteMaps;
|
||||
std::map <SpriteState, Vec2*> m_spriteSize;
|
||||
std::map<SpriteState, std::map<int, Rect*>> m_spriteMaps;
|
||||
std::map<SpriteState, Vec2*> m_spriteSize;
|
||||
|
||||
SDL_Texture* m_spriteSheetTexture;
|
||||
|
||||
|
||||
SpriteState m_lastSpritestate = SpriteState::STATE_DEFAULT;
|
||||
int m_spriteSheetW;
|
||||
int m_spriteSheetH;
|
||||
|
||||
Reference in New Issue
Block a user