Added option to use (rgb) or SDL_Color..

Also added options for handling x y coords to drawing code.
This commit is contained in:
Rtch90 2011-12-11 16:43:50 +00:00
parent 205889c0e5
commit 055f3fcc50
8 changed files with 74 additions and 6 deletions

13
Data/Media/Maps/mainmenu Normal file
View File

@ -0,0 +1,13 @@
rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0
rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0
rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 tree 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0
rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0
rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0
rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 water 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0
rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 water 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0
rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0
rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0
rock 1 n 0 000 n 0 0 rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0
rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 water 1 n 0 000 n 0 0 water 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0
rock 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 water 1 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0
grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 gravel 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0 grass 0 n 0 000 n 0 0

View File

@ -19,7 +19,7 @@ Game::~Game(void) {
} }
int Game::Run(const string savegameIDArg) { int Game::Run(const string savegameIDArg) {
m_player->SetXY(200, 200); m_player->SetXY(100, 50);
m_player->LoadSprites("../Data/Media/Images/Characters/template.png", 40, 45); m_player->LoadSprites("../Data/Media/Images/Characters/template.png", 40, 45);
m_npc->SetXY(300, 300); m_npc->SetXY(300, 300);
@ -168,6 +168,7 @@ void Game::Render(void) {
m_ingameMenu->Render(); m_ingameMenu->Render();
} }
SDL_Flip(screen); SDL_Flip(screen);
SDL_Flip(screen);
} }
void Game::LoadSavegame(const string savegameIDArg) { void Game::LoadSavegame(const string savegameIDArg) {

View File

@ -10,4 +10,4 @@ SDL_Event event;
int levelWidth; int levelWidth;
int levelHeight; int levelHeight;
bool debugEnabled = false; bool debugEnabled = true;

View File

@ -15,12 +15,21 @@ void Button::SetOutRGB(Uint8 r, Uint8 g, Uint8 b) {
m_mouseOutColour.b = b; m_mouseOutColour.b = b;
} }
void Button::SetOutRGB(SDL_Color colour) {
button.SetRGB(colour);
m_mouseOutColour = colour;
}
void Button::SetOverRGB(Uint8 r, Uint8 g, Uint8 b) { void Button::SetOverRGB(Uint8 r, Uint8 g, Uint8 b) {
m_mouseOverColour.r = r; m_mouseOverColour.r = r;
m_mouseOverColour.g = g; m_mouseOverColour.g = g;
m_mouseOverColour.b = b; m_mouseOverColour.b = b;
} }
void Button::SetOverRGB(SDL_Color colour) {
m_mouseOverColour = colour;
}
void Button::SetXY(int xArg, int yArg) { void Button::SetXY(int xArg, int yArg) {
x = xArg; x = xArg;
y = yArg; y = yArg;
@ -37,6 +46,11 @@ void Button::SetTextRGB(Uint8 r, Uint8 g, Uint8 b) {
m_text.SetTextBlended(m_text.GetText(), "small", m_textColour); m_text.SetTextBlended(m_text.GetText(), "small", m_textColour);
} }
void Button::SetTextRGB(SDL_Color colour) {
m_textColour = colour;
m_text.SetTextBlended(m_text.GetText(), "small", colour);
}
void Button::SetText(string textArg) { void Button::SetText(string textArg) {
m_text.SetTextBlended(textArg, "small", m_textColour); m_text.SetTextBlended(textArg, "small", m_textColour);
@ -52,7 +66,7 @@ bool Button::CheckMouseOver(void) {
return true; return true;
} }
} }
button.SetRGB(m_mouseOutColour.r, m_mouseOutColour.g, m_mouseOutColour.b); button.SetRGB(m_mouseOutColour);
return false; return false;
} }
@ -60,3 +74,8 @@ void Button::Render(void) {
button.DrawLiteral(); button.DrawLiteral();
m_text.RenderLiteral(); m_text.RenderLiteral();
} }
void Button::Render(int xArg, int yArg) {
button.DrawLiteral(xArg, yArg);
m_text.RenderLiteral(xArg, yArg);
}

View File

@ -14,12 +14,16 @@ public:
~Button(void); ~Button(void);
void SetOutRGB(Uint8 r, Uint8 g, Uint8 b); void SetOutRGB(Uint8 r, Uint8 g, Uint8 b);
void SetOutRGB(SDL_Color);
void SetOverRGB(Uint8 r, Uint8 g, Uint8 b); void SetOverRGB(Uint8 r, Uint8 g, Uint8 b);
void SetXY(int xArg, int yArg); void SetOverRGB(SDL_Color);
void SetTextRGB(Uint8 r, Uint8 g, Uint8 b); void SetTextRGB(Uint8 r, Uint8 g, Uint8 b);
void SetTextRGB(SDL_Color);
void SetText(string textArg); void SetText(string textArg);
void SetXY(int xArg, int yArg);
int GetX(void) { return x; } int GetX(void) { return x; }
int GetY(void) { return y; } int GetY(void) { return y; }
int GetWidth(void) { return w; } int GetWidth(void) { return w; }
@ -28,6 +32,7 @@ public:
bool CheckMouseOver(void); bool CheckMouseOver(void);
void Render(void); void Render(void);
void Render(int xArg, int yArg);
private: private:
SDL_Color m_mouseOutColour; SDL_Color m_mouseOutColour;

View File

@ -1,7 +1,7 @@
#include "Character.h" #include "Character.h"
// Pixels * 60 / sec // Pixels * 60 / sec
const float Character::CHARACTER_SPEED = 2.f; const float Character::CHARACTER_SPEED = 3.5f;
static list<Character*>collisionList; static list<Character*>collisionList;
static list<Character*>::iterator collisionIterator; static list<Character*>::iterator collisionIterator;
@ -106,7 +106,7 @@ void Character::Move(void) {
tileY = ((y + (h / 2)) / TILE_HEIGHT); tileY = ((y + (h / 2)) / TILE_HEIGHT);
if((y < 0) || (y + h) > levelHeight) if((y < 0) || (y + h) > levelHeight)
y -= yVel; y -= yVel;
if(CheckTileCollisions()) if(CheckTileCollisions())
y -= yVel; y -= yVel;
if(CheckEntityCollisions()) if(CheckEntityCollisions())

View File

@ -22,6 +22,12 @@ void Rect::SetRGB(Uint8 rArg, Uint8 gArg, Uint8 bArg) {
b = bArg; b = bArg;
} }
void Rect::SetRGB(SDL_Color colour) {
r = colour.r;
g = colour.g;
b = colour.b;
}
void Rect::Draw(void) { void Rect::Draw(void) {
SDL_Rect offset; SDL_Rect offset;
@ -33,6 +39,26 @@ void Rect::Draw(void) {
SDL_FillRect(screen, &offset, SDL_MapRGB(screen->format, r, g, b)); SDL_FillRect(screen, &offset, SDL_MapRGB(screen->format, r, g, b));
} }
void Rect::Draw(int xArg, int yArg) {
SDL_Rect offset;
offset.x = xArg - camera.x;
offset.y = yArg - camera.y;
offset.w = rect.w;
offset.h = rect.h;
}
void Rect::DrawLiteral(void) { void Rect::DrawLiteral(void) {
SDL_FillRect(screen, &rect, SDL_MapRGB(screen->format, r, g, b)); SDL_FillRect(screen, &rect, SDL_MapRGB(screen->format, r, g, b));
} }
void Rect::DrawLiteral(int xArg, int yArg) {
SDL_Rect offset;
offset.x = xArg;
offset.y = yArg;
offset.w = rect.w;
offset.h = rect.h;
SDL_FillRect(screen, &offset, SDL_MapRGB(screen->format, r, g, b));
}

View File

@ -18,10 +18,14 @@ public:
void SetXY(int xArg, int yArg); void SetXY(int xArg, int yArg);
void SetWidthHeight(int wArg, int hArg); void SetWidthHeight(int wArg, int hArg);
void SetRGB(Uint8 rArg, Uint8 gArg, Uint8 bArg); void SetRGB(Uint8 rArg, Uint8 gArg, Uint8 bArg);
void SetRGB(SDL_Color);
void Draw(void); void Draw(void);
void Draw(int xArg, int yArg);
void DrawLiteral(void); void DrawLiteral(void);
void DrawLiteral(int xArg, int yArg);
protected: protected:
Uint8 r; Uint8 r;