diff --git a/src/Unuk/Game.cpp b/src/Unuk/Game.cpp index 75436ee..8bc013a 100644 --- a/src/Unuk/Game.cpp +++ b/src/Unuk/Game.cpp @@ -22,11 +22,23 @@ void Game::New(const string& savegameIDArg) { _saveGameID = savegameIDArg; NewSavegame(savegameIDArg); _map.Load("map"); + + int spawnX; + int spawnY; + _map.FindSpawnPoint(spawnX, spawnY, _player->GetWidth(), _player->GetHeight()); + + _player->SetXY((float)spawnX, (float)spawnY); } void Game::Load(const string& savegameIDArg) { _saveGameID = savegameIDArg; LoadSavegame(savegameIDArg); + + int spawnX; + int spawnY; + _map.FindSpawnPoint(spawnX, spawnY, _player->GetWidth(), _player->GetHeight()); + + _player->SetXY((float)spawnX, (float)spawnY); } gameNavVal_t Game::Run(void) { @@ -336,6 +348,7 @@ void Game::LoadSavegame(const string savegameIDArg) { //_player->SetName(dataElem->GetText()); // +/* // - Parse the player x coord. dataElem = dataElem->NextSiblingElement("x"); assert(dataElem != NULL); @@ -347,9 +360,9 @@ void Game::LoadSavegame(const string savegameIDArg) { assert(dataElem != NULL); int playerY = atoi(dataElem->GetText()); // - _player->SetXY((float)playerX, (float)playerY); - +*/ + // - Parse the player level. dataElem = dataElem->NextSiblingElement("level"); assert(dataElem != NULL); @@ -398,6 +411,7 @@ void Game::SaveSavegame(void) { TiXmlText* nameText = new TiXmlText("Allanis"); //TODO: replace with _player->GetName() when it works. --konom nameElement->LinkEndChild(nameText); +/* std::stringstream xString; xString << _player->GetX(); @@ -411,7 +425,8 @@ void Game::SaveSavegame(void) { TiXmlElement* yElement = new TiXmlElement("y"); TiXmlText* yText = new TiXmlText(yString.str().c_str()); yElement->LinkEndChild(yText); - +*/ + std::stringstream levelString; levelString << _player->GetLevel(); @@ -438,8 +453,8 @@ void Game::SaveSavegame(void) { mapElement->LinkEndChild(mapText); saveElement->LinkEndChild(nameElement); - saveElement->LinkEndChild(xElement); - saveElement->LinkEndChild(yElement); + //saveElement->LinkEndChild(xElement); + //saveElement->LinkEndChild(yElement); saveElement->LinkEndChild(levelElement); saveElement->LinkEndChild(expElement); saveElement->LinkEndChild(healthElement); diff --git a/src/libUnuk/Engine/WorldManager.cpp b/src/libUnuk/Engine/WorldManager.cpp index d591dd1..d4281a2 100644 --- a/src/libUnuk/Engine/WorldManager.cpp +++ b/src/libUnuk/Engine/WorldManager.cpp @@ -142,7 +142,7 @@ void WorldManager::OnPlayerAttack(Player* player) { // Please note: // Naked dudes are known to be sensitive to spicy food. - char* waysOfDeath[] = { + std::string waysOfDeath[] = { "Choked Naked Dude!", "Stabbed Naked Dude!", "Urinated Acid on Naked Dude!", @@ -163,7 +163,7 @@ void WorldManager::OnPlayerAttack(Player* player) { "FUS RO DAH!" }; - eventHistory->LogEvent(waysOfDeath[rand() % (sizeof(waysOfDeath)/sizeof(char*))]); + eventHistory->LogEvent(waysOfDeath[rand() % (sizeof(waysOfDeath)/sizeof(std::string))]); int expGain = 3 + (rand() % 2); player->SetExp(player->GetExp() + expGain);