From 45d5720e4b711f9de4ed70867f28bdfb54bde5b3 Mon Sep 17 00:00:00 2001 From: Rtch90 Date: Sun, 19 Feb 2012 23:16:10 +0000 Subject: [PATCH] [Add] A little spell stuff. [Add] Woot, Rachel did the character sprite. --- Data/Media/Images/Characters/Reniesta.png | Bin 0 -> 7001 bytes Unuk-QT/Unuk-QT.pro | 3 +- src/Unuk/Game.cpp | 210 +++++++++++----------- src/Unuk/Player.cpp | 52 +++--- src/Unuk/Player.h | 60 +++---- src/libUnuk/Engine/ParticleEmitter.cpp | 82 ++++----- src/libUnuk/Engine/Spells.cpp | 17 ++ src/libUnuk/Engine/Spells.h | 7 +- src/libUnuk/Engine/WorldManager.cpp | 6 +- src/libUnuk/Engine/WorldManager.h | 1 - 10 files changed, 228 insertions(+), 210 deletions(-) create mode 100644 Data/Media/Images/Characters/Reniesta.png create mode 100644 src/libUnuk/Engine/Spells.cpp diff --git a/Data/Media/Images/Characters/Reniesta.png b/Data/Media/Images/Characters/Reniesta.png new file mode 100644 index 0000000000000000000000000000000000000000..1f3108952896bd451190008222d6dc130973108c GIT binary patch literal 7001 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 SukO1)wUp%5; literal 0 HcmV?d00001 diff --git a/Unuk-QT/Unuk-QT.pro b/Unuk-QT/Unuk-QT.pro index 8f97244..2dc0a50 100644 --- a/Unuk-QT/Unuk-QT.pro +++ b/Unuk-QT/Unuk-QT.pro @@ -79,4 +79,5 @@ SOURCES += ../src/libUnuk/Engine/WorldManager.cpp \ ../src/libUnuk/UI/EventHistory.cpp \ ../src/libUnuk/UI/Bar.cpp \ ../src/libUnuk/System/Vec2.cpp \ - ../src/libUnuk/UI/SavegameMenu.cpp + ../src/libUnuk/UI/SavegameMenu.cpp \ + ../src/libUnuk/Engine/Spells.cpp diff --git a/src/Unuk/Game.cpp b/src/Unuk/Game.cpp index a2129d5..48be3d4 100644 --- a/src/Unuk/Game.cpp +++ b/src/Unuk/Game.cpp @@ -7,7 +7,7 @@ Game::Game(void) { Debug::logger->message("Creating characters.."); _player = new Player(&_map); - _map.SetPlayer(_player); + _map.SetPlayer(_player); _runGameReturnValue = gameMainMenu; } @@ -19,29 +19,29 @@ Game::~Game(void) { } void Game::New(const string& savegameIDArg) { - _saveGameID = savegameIDArg; - NewSavegame(savegameIDArg); - - int spawnX; - int spawnY; - _map.FindSpawnPoint(spawnX, spawnY, 40, 45); - - _player->SetXY((float)spawnX, (float)spawnY); + _saveGameID = savegameIDArg; + NewSavegame(savegameIDArg); + + int spawnX; + int spawnY; + _map.FindSpawnPoint(spawnX, spawnY, 40, 45); + + _player->SetXY((float)spawnX, (float)spawnY); } void Game::Load(const string& savegameIDArg) { - _saveGameID = savegameIDArg; - LoadSavegame(savegameIDArg); - - int spawnX; - int spawnY; - _map.FindSpawnPoint(spawnX, spawnY, 40, 45); - - _player->SetXY((float)spawnX, (float)spawnY); + _saveGameID = savegameIDArg; + LoadSavegame(savegameIDArg); + + int spawnX; + int spawnY; + _map.FindSpawnPoint(spawnX, spawnY, 40, 45); + + _player->SetXY((float)spawnX, (float)spawnY); } gameNavVal_t Game::Run(void) { - _player->LoadSprites("../Data/Media/Images/Characters/Player.png", 40, 45); + _player->LoadSprites("../Data/Media/Images/Characters/Reniesta.png", 40, 45); int fps = 0; int frame = 0; @@ -252,10 +252,10 @@ void Game::Render(void) { } void Game::NewSavegame(const string savegameIDArg) { - string saveFilename = "../Save/" + savegameIDArg; + string saveFilename = "../Save/" + savegameIDArg; - _map.New(); - _map.Save(_saveGameID); + _map.New(); + _map.Save(_saveGameID); TiXmlDocument doc; @@ -266,13 +266,13 @@ void Game::NewSavegame(const string savegameIDArg) { TiXmlElement* nameElement = new TiXmlElement("name"); TiXmlText* nameText = new TiXmlText("Allanis"); //TODO: replace with _player->GetName() when it works. --konom nameElement->LinkEndChild(nameText); - - int spawnX; - int spawnY; - _map.FindSpawnPoint(spawnX, spawnY, 40, 45); - - _player->SetXY(spawnX, spawnY); - + + int spawnX; + int spawnY; + _map.FindSpawnPoint(spawnX, spawnY, 40, 45); + + _player->SetXY(spawnX, spawnY); + std::stringstream xString; xString << spawnX; @@ -286,22 +286,22 @@ void Game::NewSavegame(const string savegameIDArg) { TiXmlElement* yElement = new TiXmlElement("y"); TiXmlText* yText = new TiXmlText(yString.str().c_str()); yElement->LinkEndChild(yText); - - _player->SetLevelLiteral(1); - - TiXmlElement* levelElement = new TiXmlElement("level"); - TiXmlText* levelText = new TiXmlText("1"); - levelElement->LinkEndChild(levelText); - - _player->SetExpLiteral(0); - - TiXmlElement* expElement = new TiXmlElement("exp"); - TiXmlText* expText = new TiXmlText("0"); - expElement->LinkEndChild(expText); - - TiXmlElement* healthElement = new TiXmlElement("health"); - TiXmlText* healthText = new TiXmlText("100"); - healthElement->LinkEndChild(healthText); + + _player->SetLevelLiteral(1); + + TiXmlElement* levelElement = new TiXmlElement("level"); + TiXmlText* levelText = new TiXmlText("1"); + levelElement->LinkEndChild(levelText); + + _player->SetExpLiteral(0); + + TiXmlElement* expElement = new TiXmlElement("exp"); + TiXmlText* expText = new TiXmlText("0"); + expElement->LinkEndChild(expText); + + TiXmlElement* healthElement = new TiXmlElement("health"); + TiXmlText* healthText = new TiXmlText("100"); + healthElement->LinkEndChild(healthText); TiXmlElement* mapElement = new TiXmlElement("map"); TiXmlText* mapText = new TiXmlText("map"); //TODO: replace with actual map name. @@ -310,9 +310,9 @@ void Game::NewSavegame(const string savegameIDArg) { saveElement->LinkEndChild(nameElement); saveElement->LinkEndChild(xElement); saveElement->LinkEndChild(yElement); - saveElement->LinkEndChild(levelElement); - saveElement->LinkEndChild(expElement); - saveElement->LinkEndChild(healthElement); + saveElement->LinkEndChild(levelElement); + saveElement->LinkEndChild(expElement); + saveElement->LinkEndChild(healthElement); saveElement->LinkEndChild(mapElement); doc.LinkEndChild(decl); @@ -327,12 +327,12 @@ void Game::LoadSavegame(const string savegameIDArg) { // Converting to XML ftw! TiXmlDocument mapFile(saveFilename.c_str()); - - // Create new save if can't load file. - if(!mapFile.LoadFile()) { - New(savegameIDArg); - return; - } + + // Create new save if can't load file. + if(!mapFile.LoadFile()) { + New(savegameIDArg); + return; + } TiXmlElement* rootElem = NULL; TiXmlElement* dataElem = NULL; @@ -364,41 +364,41 @@ void Game::LoadSavegame(const string savegameIDArg) { // _player->SetXY((float)playerX, (float)playerY); */ - - // - Parse the player level. - dataElem = dataElem->NextSiblingElement("level"); - assert(dataElem != NULL); - int playerLevel = atoi(dataElem->GetText()); - // - - _player->SetLevelLiteral(playerLevel); - - // - Parse the player exp. - dataElem = dataElem->NextSiblingElement("exp"); - assert(dataElem != NULL); - int playerExp = atoi(dataElem->GetText()); - // - - _player->SetExpLiteral(playerExp); - - // - Parse the player health. - dataElem = dataElem->NextSiblingElement("health"); - assert(dataElem != NULL); - int playerHealth = atoi(dataElem->GetText()); - // - - _player->SetHealthLiteral(playerHealth); + + // - Parse the player level. + dataElem = dataElem->NextSiblingElement("level"); + assert(dataElem != NULL); + int playerLevel = atoi(dataElem->GetText()); + // + + _player->SetLevelLiteral(playerLevel); + + // - Parse the player exp. + dataElem = dataElem->NextSiblingElement("exp"); + assert(dataElem != NULL); + int playerExp = atoi(dataElem->GetText()); + // + + _player->SetExpLiteral(playerExp); + + // - Parse the player health. + dataElem = dataElem->NextSiblingElement("health"); + assert(dataElem != NULL); + int playerHealth = atoi(dataElem->GetText()); + // + + _player->SetHealthLiteral(playerHealth); } // // - - _map.Load(_saveGameID); + + _map.Load(_saveGameID); } void Game::SaveSavegame(void) { string saveFilename = "../Save/" + _saveGameID; - + TiXmlDocument doc; TiXmlDeclaration* decl = new TiXmlDeclaration("1.0", "", ""); @@ -425,38 +425,38 @@ void Game::SaveSavegame(void) { yElement->LinkEndChild(yText); */ - std::stringstream levelString; - levelString << _player->GetLevel(); - - TiXmlElement* levelElement = new TiXmlElement("level"); - TiXmlText* levelText = new TiXmlText(levelString.str().c_str()); - levelElement->LinkEndChild(levelText); - - std::stringstream expString; - expString << _player->GetExp(); - - TiXmlElement* expElement = new TiXmlElement("exp"); - TiXmlText* expText = new TiXmlText(expString.str().c_str()); - expElement->LinkEndChild(expText); - - std::stringstream healthString; - healthString << _player->GetHealth(); - - TiXmlElement* healthElement = new TiXmlElement("health"); - TiXmlText* healthText = new TiXmlText(healthString.str().c_str()); - healthElement->LinkEndChild(healthText); + std::stringstream levelString; + levelString << _player->GetLevel(); + + TiXmlElement* levelElement = new TiXmlElement("level"); + TiXmlText* levelText = new TiXmlText(levelString.str().c_str()); + levelElement->LinkEndChild(levelText); + + std::stringstream expString; + expString << _player->GetExp(); + + TiXmlElement* expElement = new TiXmlElement("exp"); + TiXmlText* expText = new TiXmlText(expString.str().c_str()); + expElement->LinkEndChild(expText); + + std::stringstream healthString; + healthString << _player->GetHealth(); + + TiXmlElement* healthElement = new TiXmlElement("health"); + TiXmlText* healthText = new TiXmlText(healthString.str().c_str()); + healthElement->LinkEndChild(healthText); saveElement->LinkEndChild(nameElement); //saveElement->LinkEndChild(xElement); //saveElement->LinkEndChild(yElement); - saveElement->LinkEndChild(levelElement); - saveElement->LinkEndChild(expElement); - saveElement->LinkEndChild(healthElement); + saveElement->LinkEndChild(levelElement); + saveElement->LinkEndChild(expElement); + saveElement->LinkEndChild(healthElement); doc.LinkEndChild(decl); doc.LinkEndChild(saveElement); doc.SaveFile(saveFilename.c_str()); - - _map.Save(_saveGameID); + + _map.Save(_saveGameID); } diff --git a/src/Unuk/Player.cpp b/src/Unuk/Player.cpp index 900ee97..36e5baa 100644 --- a/src/Unuk/Player.cpp +++ b/src/Unuk/Player.cpp @@ -17,23 +17,23 @@ const int Player::EXP_TABLE[MAX_LEVEL] = { 2000, 3500, 5000, - 6500, - 8500, - 10250, - 12000, - 15000, - 25000, - 50000, - 65000, - 80000, - 100000 + 6500, + 8500, + 10250, + 12000, + 15000, + 25000, + 50000, + 65000, + 80000, + 100000 }; Player::Player(LevelGen *mapArg) : Character(mapArg) { _level = 1; _exp = 0; - _lastTileX = 0; - _lastTileY = 0; + _lastTileX = 0; + _lastTileY = 0; } Player::~Player(void) { @@ -101,14 +101,14 @@ void Player::Update(void) { // For now The camera will be static. //SetCamera(); - int tileX = x / TILE_WIDTH; - int tileY = y / TILE_HEIGHT; - if(tileX != _lastTileX || tileY != _lastTileY) { - _lastTileX = tileX; - _lastTileY = tileY; - - map->GetWorld().OnPlayerMove(this); - } + int tileX = x / TILE_WIDTH; + int tileY = y / TILE_HEIGHT; + if(tileX != _lastTileX || tileY != _lastTileY) { + _lastTileX = tileX; + _lastTileY = tileY; + + map->GetWorld().OnPlayerMove(this); + } _healthBar.SetProgress((float)GetHealth() / 100.0f); } @@ -133,8 +133,8 @@ void Player::SetCamera(void) { } void Player::Move() { - map->MoveIfPossible(this, xVel, yVel, true); - Character::HealthBarScroll(); + map->MoveIfPossible(this, xVel, yVel, true); + Character::HealthBarScroll(); } void Player::SetLevel(int level) { @@ -143,10 +143,10 @@ void Player::SetLevel(int level) { if(_exp < 0) { _exp = 0; } - if(_level == MAX_LEVEL) { - eventHistory->LogEvent("YOU BEAT IT! I'M SO PROUD!"); - eventHistory->LogEvent("*Sheds Tear*"); - } + if(_level == MAX_LEVEL) { + eventHistory->LogEvent("YOU BEAT IT! I'M SO PROUD!"); + eventHistory->LogEvent("*Sheds Tear*"); + } } void Player::SetExp(int exp) { diff --git a/src/Unuk/Player.h b/src/Unuk/Player.h index a5bf7f4..253ee06 100644 --- a/src/Unuk/Player.h +++ b/src/Unuk/Player.h @@ -4,46 +4,46 @@ #include "Globals.h" #include "Constants.h" #include "../libUnuk/Engine/Character.h" -#include "../libUnuk//System/Debug.h" +#include "../libUnuk/System/Debug.h" class Player : public Character { public: - Player(LevelGen* mapArg); - ~Player(void); + Player(LevelGen* mapArg); + ~Player(void); - void HandleInput(void); - void Update(void); + void HandleInput(void); + void Update(void); - void SetName(string nameArg); - string GetName(void) { return _name; } - - void SetLevel(int level); - int GetLevel(void) { return _level; } + void SetName(string nameArg); + string GetName(void) { return _name; } - void SetExp(int exp); - int GetExp(void) { return _exp; } - - void SetLevelLiteral(int level) { _level = level; } - void SetExpLiteral(int exp) { _exp = exp; } - void SetHealthLiteral(int health) { _health = health; } + void SetLevel(int level); + int GetLevel(void) { return _level; } + + void SetExp(int exp); + int GetExp(void) { return _exp; } + + void SetLevelLiteral(int level) { _level = level; } + void SetExpLiteral(int exp) { _exp = exp; } + void SetHealthLiteral(int health) { _health = health; } + + void SetXY(float xArg, float yArg) { x = xArg, y = yArg; _lastTileX = xArg / TILE_WIDTH; _lastTileY = yArg / TILE_HEIGHT; } + + static const int MAX_LEVEL = 20; + static const int EXP_TABLE[MAX_LEVEL]; - void SetXY(float xArg, float yArg) { x = xArg, y = yArg; _lastTileX = xArg / TILE_WIDTH; _lastTileY = yArg / TILE_HEIGHT; } - - static const int MAX_LEVEL = 20; - static const int EXP_TABLE[MAX_LEVEL]; - protected: - void Move(void); - void CheckTileCollisions(void); + void Move(void); + void CheckTileCollisions(void); private: - void SetCamera(void); - static const float PLAYER_SPEED; + void SetCamera(void); + static const float PLAYER_SPEED; - string _name; - int _level; - int _exp; + string _name; + int _level; + int _exp; - int _lastTileX; - int _lastTileY; + int _lastTileX; + int _lastTileY; }; diff --git a/src/libUnuk/Engine/ParticleEmitter.cpp b/src/libUnuk/Engine/ParticleEmitter.cpp index b029fab..7b492c2 100644 --- a/src/libUnuk/Engine/ParticleEmitter.cpp +++ b/src/libUnuk/Engine/ParticleEmitter.cpp @@ -9,72 +9,72 @@ ParticleEmitter::~ParticleEmitter(void) { } void ParticleEmitter::SetXY(int xArg, int yArg) { - x = xArg; - y = yArg; + x = xArg; + y = yArg; } void ParticleEmitter::ForceXY(int xArg, int yArg) { - for(int i = 0; i < _particleCount; i++) { - m_particle[i].x = (float)xArg; - m_particle[i].y = (float)yArg; - } + for(int i = 0; i < _particleCount; i++) { + m_particle[i].x = (float)xArg; + m_particle[i].y = (float)yArg; + } } void ParticleEmitter::SetParticleCount(int countArg) { - _particleCount = countArg; - m_particle.resize(_particleCount); + _particleCount = countArg; + m_particle.resize(_particleCount); - for(int i = 0; i < _particleCount; i++) { - m_particle[i].startTime = SDL_GetTicks(); - } + for(int i = 0; i < _particleCount; i++) { + m_particle[i].startTime = SDL_GetTicks(); + } } void ParticleEmitter::SetParticleSpeed(float speedArg) { - _particleSpeed = speedArg; + _particleSpeed = speedArg; } void ParticleEmitter::SetParticleType(string typeArg) { - if(!_particleTexture) { - SDL_FreeSurface(_particleTexture); - } + if(!_particleTexture) { + SDL_FreeSurface(_particleTexture); + } - string textureFilename = "../Data/Media/Images/Particles/" + typeArg + ".png"; - _particleTexture = LoadImageAlpha(textureFilename.c_str()); + string textureFilename = "../../Data/Media/Images/Particles/" + typeArg + ".png"; + _particleTexture = LoadImageAlpha(textureFilename.c_str()); } void ParticleEmitter::SetParticleLifetime(int lifetimeArg) { - _particleLifetime = lifetimeArg; + _particleLifetime = lifetimeArg; - for(int i = 0; i < _particleCount; i++) { - m_particle[i].lifetime = rand() % _particleLifetime + _particleLifetime / 4; - } + for(int i = 0; i < _particleCount; i++) { + m_particle[i].lifetime = rand() % _particleLifetime + _particleLifetime / 4; + } } void ParticleEmitter::Render(void) { - for(int i = 0; i < _particleCount; i++) { - ApplySurface((int)m_particle[i].x, (int)m_particle[i].y, _particleTexture, screen); - } + for(int i = 0; i < _particleCount; i++) { + ApplySurface((int)m_particle[i].x, (int)m_particle[i].y, _particleTexture, screen); + } } void ParticleEmitter::Update(void) { - for(int i = 0; i < _particleCount; i++) { - if((int)SDL_GetTicks() - m_particle[i].startTime > m_particle[i].lifetime) { - // Reset the x and y coords. - m_particle[i].x = (float)x; - m_particle[i].y = (float)y; + for(int i = 0; i < _particleCount; i++) { + if((int)SDL_GetTicks() - m_particle[i].startTime > m_particle[i].lifetime) { + // Reset the x and y coords. + m_particle[i].x = (float)x; + m_particle[i].y = (float)y; - m_particle[i].xVel = (float)(rand() % 360); - m_particle[i].yVel = (float)(rand() % 360); + m_particle[i].xVel = (float)(rand() % 360); + m_particle[i].yVel = (float)(rand() % 360); - if(rand() % 2) - m_particle[i].xVel = m_particle[i].xVel * -1.0f; - if(rand() % 2) - m_particle[i].yVel = m_particle[i].yVel * -1.0f; + if(rand() % 2) + m_particle[i].xVel = m_particle[i].xVel * -1.0f; + if(rand() % 2) + m_particle[i].yVel = m_particle[i].yVel * -1.0f; - m_particle[i].startTime = SDL_GetTicks(); - } else { - m_particle[i].x += m_particle[i].xVel * _particleSpeed; - m_particle[i].y += m_particle[i].yVel * _particleSpeed; - } - } + m_particle[i].startTime = SDL_GetTicks(); + } else { + m_particle[i].x += m_particle[i].xVel * _particleSpeed; + m_particle[i].y += m_particle[i].yVel * _particleSpeed; + } + } } diff --git a/src/libUnuk/Engine/Spells.cpp b/src/libUnuk/Engine/Spells.cpp new file mode 100644 index 0000000..9de8469 --- /dev/null +++ b/src/libUnuk/Engine/Spells.cpp @@ -0,0 +1,17 @@ +#include "Spells.h" + +Spells::Spells(void) { + +} + +Spells::~Spells(void) { + +} + +void Spells::CastSpell() { + +} + +void Spells::Render(void) { + //_particle->Render(); +} diff --git a/src/libUnuk/Engine/Spells.h b/src/libUnuk/Engine/Spells.h index 03eabc2..b7fc547 100644 --- a/src/libUnuk/Engine/Spells.h +++ b/src/libUnuk/Engine/Spells.h @@ -1,4 +1,4 @@ -#pragma once; +#pragma once #include "../../Unuk/Player.h" #include "../System/Timer.h" #include "ParticleEmitter.h" @@ -13,9 +13,10 @@ public: ICE }; - void CastSpell(Player* player); + void CastSpell(/*Player* player*/); + void Render(void); private: Timer* _timeBetweenCast; - + ParticleEmitter* _particle; }; diff --git a/src/libUnuk/Engine/WorldManager.cpp b/src/libUnuk/Engine/WorldManager.cpp index b9f164b..3a0399f 100644 --- a/src/libUnuk/Engine/WorldManager.cpp +++ b/src/libUnuk/Engine/WorldManager.cpp @@ -187,7 +187,7 @@ void WorldManager::OnPlayerAttack(Player* player) { } void WorldManager::OnPlayerMove(Player* player) { - for(std::list::iterator i = _npcs.begin(); i != _npcs.end(); ++i) { - (*i)->OnPlayerMove(player); - } + for(std::list::iterator i = _npcs.begin(); i != _npcs.end(); ++i) { + (*i)->OnPlayerMove(player); + } } diff --git a/src/libUnuk/Engine/WorldManager.h b/src/libUnuk/Engine/WorldManager.h index bcb0cfa..9ef2132 100644 --- a/src/libUnuk/Engine/WorldManager.h +++ b/src/libUnuk/Engine/WorldManager.h @@ -1,7 +1,6 @@ #pragma once #include #include "MemClass.h" - class Character; class NPC; class Player;