void MainWindow::on_actionOpen_triggered() { //Is a previous file opened? if(!_scene.empty()){ _scene.clear(); _currEncounter = NULL; ui->MiscBox->setEnabled(false); ui->enemyStuffBox->setEnabled(false); } QString selectedFilter; QString filename = QFileDialog::getOpenFileName(this,"Open scene.out file.","","FF8 Battle Scene Files (*.out)",&selectedFilter); if(!filename.isEmpty()){ QFile f(filename); QDataStream in(&f); in.setVersion(QDataStream::Qt_5_5); if(!f.open(QIODevice::ReadOnly)) qFatal("Couldn't open the file."); quint8 temp[128]; unsigned k = 0; for(unsigned i = 0; i<1024; ++i){ for(k = 0; k<128; ++k){ in >> temp[k]; } _scene.push_back(Encounter(temp)); } f.close(); ui->encounterGroupBox->setEnabled(true); ui->actionSave->setEnabled(true); }
void removePair(ObjectPtr object1, ObjectPtr object2) { proxList.erase(Encounter(object1, object2)); }
void addPair(ObjectPtr object1, ObjectPtr object2) { proxList.insert(Encounter(object1, object2)); }
void Game::GameLoop() { sf::Texture HideHack; HideHack.loadFromFile("Tiles/Hack.png"); for(int y=0; y<24; ++y) { for(int x=0; x<32; ++x) { HideMapHack[y][x].setTexture(HideHack); HideMapHack[y][x].setPosition((float)x*32, (float)y*32); } } while(Window.isOpen()) { sf::Event Event; while(Window.pollEvent(Event)) { if((Event.type == sf::Event::Closed) || ((Event.type == sf::Event::KeyPressed) && (Event.key.code == sf::Keyboard::Escape))) { SaveMap(PathToMap); SavePlayer(); return; } else if((Event.type == sf::Event::KeyPressed) && (Event.key.code == sf::Keyboard::Up)) { switch(Move(NORTH)) { case 0: break; case 1: RandomEncounter(); break; case 2: Encounter(0, -1); break; } } else if((Event.type == sf::Event::KeyPressed) && (Event.key.code == sf::Keyboard::Down)) { switch(Move(SOUTH)) { case 0: break; case 1: RandomEncounter(); break; case 2: Encounter(0, 1); break; } } else if((Event.type == sf::Event::KeyPressed) && (Event.key.code == sf::Keyboard::Right)) { switch(Move(WEST)) { case 0: break; case 1: RandomEncounter(); break; case 2: Encounter(1, 0); break; } } else if((Event.type == sf::Event::KeyPressed) && (Event.key.code == sf::Keyboard::Left)) { switch(Move(EAST)) { case 0: break; case 1: RandomEncounter(); break; case 2: Encounter(-1, 0); break; } } else if((Event.type == sf::Event::KeyPressed) && (Event.key.code == sf::Keyboard::C)) { CharacterScreen Screen(Player, Window); Screen.MainLoop(); } else if((Event.type == sf::Event::KeyPressed) && (Event.key.code == sf::Keyboard::S)) { SaveMap(PathToMap); SavePlayer(); } } Window.clear(); DrawAll(); Window.display(); } }