int __tagcat(struct req *req, const char *tagcat, int page, char *tmpl, bool istag) { const unsigned int posts_per_page = req->opts.index_stories; struct post *posts[posts_per_page]; struct str *tag; int nposts; if (!tagcat) return R404(req, NULL); tag = STR_DUP(tagcat); req_head(req, "Content-Type", "text/html"); page = MAX(page, 0); __store_title(&req->vars, tagcat); __store_pages(&req->vars, page); __store_tag(&req->vars, tagcat); sidebar(req); vars_scope_push(&req->vars); nposts = index_get_posts(posts, tag, istag, NULL, NULL, page * posts_per_page, posts_per_page); load_posts(req, posts, nposts, nposts == posts_per_page); str_putref(tag); req->body = render_page(req, tmpl); return 0; }
int main(void) { //Redirect before initializing headers mysqlpp::Connection c(false); if (!c.connect("okzoniom", "localhost", "okzoniom", getDBIdent().c_str())) { cgi_redirect("./error.okz?state=err_db"); return 0; } else { //Set UTF8 mysqlpp::Query q = c.query("SET NAMES utf8"); q.exec(); } cgi_init(); cgi_session_save_path("sessions/"); cgi_session_start(); cgi_process_form(); cgi_init_headers(); header("sidebar_player_list"); menu(); sidebar(); body(c); footer(); cgi_end(); return 0; }
void HomeView::justSelected() { if (isSelected()) { // force date range refresh static_cast<LTMSidebar*>(sidebar())->dateRangeTreeWidgetSelectionChanged(); } }
int main(void) { cgi_init(); cgi_session_save_path("sessions/"); cgi_session_start(); cgi_process_form(); cgi_init_headers(); header("sidebar_download"); menu(); sidebar(); //Beta ! std::cout << "<p class=\"wrn\">Phase de beta !<br />" "Le jeu est en phase de beta, ce qui signifie qu'il " "est fortement possible que des bugs soit présent.<br />" "Le téléchargement d'Okzoniom::Patcher permet de garder le jeu à jour " "par rapport aux dernières modifications mise en ligne." "</p>"; std::cout << "<p class=\"wrn\">" "En cas de problème, vous pouvez me faire parvenir par e-mail " "le fichier Log_Patcher.txt ou Log.txt dans le cas d'un plantage !</p>"; std::cout << "<div class=\"body\"><div class=\"main\">" "<h1>" << __tr("download") << "</h1>" "<div class=\"hr\"></div>" << std::endl; std::map<std::string, std::string> title_file; title_file["Windows"] = "Patcher_Win.exe"; title_file["Linux"] = "Patcher_Linux.tar"; for(auto it = title_file.begin(); it != title_file.end(); ++it) { std::string file = it->second; std::cout << "<h2>" << it->first << "</h2>" "<p>" "<a href=\"download/" << file << "\">" "<strong>> " << file <<" <</strong></a><br />" << infoFile(file) << "</p>" << std::endl; } std::cout << "</div></div>" << std::endl; footer(); return 0; }
/** * Changes the language currently in use by the game. * @param filename Filename of the language file. */ void Game::loadLanguage(const std::string &filename) { std::stringstream ss, ss2; ss << "Language/" << filename << ".lng"; ss2 << "Language/" << filename << ".geo"; _lang->loadLng(CrossPlatform::getDataFile(ss.str())); std::auto_ptr<Surface> sidebar(new Surface(64, 154)); if (CrossPlatform::getDataFile(ss2.str()) != "") { sidebar->setPalette(_res->getSurface("GEOBORD.SCR")->getPalette()); sidebar->loadScr(CrossPlatform::getDataFile(ss2.str())); } sidebar->setX(256); sidebar->setY(0); sidebar->blit(_res->getSurface("GEOBORD.SCR")); Options::setString("language", filename); }
int main(void) { cgi_init(); mysqlpp::Connection c(false); if (!c.connect("okzoniom", "localhost", "okzoniom", getDBIdent().c_str())) { cgi_redirect("./error.okz?state=err_db"); return 0; } else { //Set UTF8 mysqlpp::Query q = c.query("SET NAMES utf8"); q.exec(); } initializeFaction(c); cgi_session_save_path("sessions/"); cgi_session_start(); cgi_process_form(); cgi_init_headers(); __tr("your_army"); header("your_army"); menu(); sidebar(); if (cgi_session_var("login") == NULL) { std::cout << "<div class=\"err\">" << __tr("profil_mustlogin") << "</div>"; } else { displayState(); show(cgi_session_var("login"), c); } footer(); return 0; }
int main(void) { //Redirect before initializing headers mysqlpp::Connection c(false); if (!c.connect("okzoniom", "localhost", "okzoniom", getDBIdent().c_str())) { cgi_redirect("./error.okz?state=err_db"); return 0; } else { //Set UTF8 mysqlpp::Query q = c.query("SET NAMES utf8"); q.exec(); } cgi_init(); cgi_session_save_path("sessions/"); cgi_session_start(); cgi_process_form(); std::string login = getParam("n"); cgi_init_headers(); header("sidebar_profil", ", "+login); menu(); sidebar(); std::cout << "<div class=\"body\"><div class=\"main\">"; initializeFaction(c); int id,faction, xp, level; mysqlpp::Query query = c.query("SELECT id,faction,xp,level FROM game_account where login = %0Q;"); query.parse(); mysqlpp::StoreQueryResult r = query.store(login); if (r && r.num_rows() > 0) { //Should only be one account with that name id = r[0]["id"]; //Will be used to get the number of units faction = r[0]["faction"]; xp = r[0]["xp"]; level = r[0]["level"]; std::cout << "<p>" << __tr("account") << ": <strong>" << login << "</strong><br />" << __tr("xp") << ": <strong>" << xp << "</strong><br />" << __tr("level") << ": <strong>" << level << "</strong><br />" << __tr("faction") << ": <strong>" << __tr(factionName[faction]) << "</strong>" "<div class=\"hr\"></div>" "<center><p><strong>" << __tr("army_composition") << ":</strong></p>"; //Now we have the account, get its units and their number query.reset(); query << "select unit_name,unit_number from game_unit_available where id_account = %0;"; query.parse(); mysqlpp::StoreQueryResult u = query.store(id); if (u && u.num_rows() > 0) { std::cout << "<table class=\"army\"><tr>" << "<td><strong>" << __tr("unit") << "</strong></td>" << "<td><strong>" << __tr("number") << "</strong></td></tr>"; for (size_t i = 0; i < u.num_rows(); ++i) { int num = u[i]["unit_number"]; if( num > 0) { std::string name; u[i]["unit_name"].to_string(name); std::cout << "<tr><td><strong>" << __tr(name) << "</strong></td>" << "<td><strong>" << num << "</strong></td></tr>"; } } std::cout << "</table></center>"; } else { std::cout << "<center><em>" << __tr("army_empty") << "</em></center>"; } std::cout << "</p>" << std::endl; } else { std::cout << "<p>" << __tr("player_notfound") << "</p>" << std::endl; } std::cout << "</div></div>"; footer(); return 0; }
void AnalysisView::close() { static_cast<AnalysisSidebar*>(sidebar())->close(); // save settings }
void AnalysisView::addIntervals() { static_cast<AnalysisSidebar*>(sidebar())->addIntervals(); // save settings }
void AnalysisView::setRide(RideItem *ride) { static_cast<AnalysisSidebar*>(sidebar())->setRide(ride); // save settings page()->setProperty("ride", QVariant::fromValue<RideItem*>(dynamic_cast<RideItem*>(ride))); }
void IntervalView::close() { static_cast<IntervalSidebar*>(sidebar())->close(); // save settings }
void DiaryView::setRide(RideItem*ride) { static_cast<DiarySidebar*>(sidebar())->setRide(ride); page()->setProperty("ride", QVariant::fromValue<RideItem*>(dynamic_cast<RideItem*>(ride))); }
//MAIN GAME LOOP void Game::GameLoop() { //check time of last frame float frameTime = frameClock.getElapsedTime().asSeconds(); frameClock.restart(); //event loop sf::Event currentEvent; while(mainWindow.pollEvent(currentEvent)) { //gotta handle resize things here if(currentEvent.type == sf::Event::Resized) { //std::cerr << "resized" << std::endl; float aspectRatio = float(currentEvent.size.width)/float(currentEvent.size.height); float newHeight = (1024.f*currentEvent.size.height)/currentEvent.size.width; float newWidth = (768.f*currentEvent.size.width)/currentEvent.size.height; if(aspectRatio > (4.f/3.f)) { float displace = (newWidth - 1024.f)/(-2.f); View = sf::View(sf::FloatRect(displace, 0, newWidth, 768)); } else if(aspectRatio < (4.f/3.f)) { float displace = (newHeight - 768.f)/(-2.f); View = sf::View(sf::FloatRect(0, displace, 1024, newHeight)); } mainWindow.setView(View); } //broken fullscreen stuff, do not touch else if(currentEvent.type == (sf::Event::KeyPressed) && currentEvent.key.code == (sf::Keyboard::F)) { //mainWindow.close(); //std::vector<sf::VideoMode> FullscreenModes = sf::VideoMode::getFullscreenModes(); //mainWindow.create(FullscreenModes[0],"SHMUP Super Alpha", sf::Style::Fullscreen); } switch(gameState) { case GameOver: { if(currentEvent.type == (sf::Event::KeyPressed) && currentEvent.key.code == (sf::Keyboard::Return)) { scoreboard.clear(); gameState = Uninitialized; } if(currentEvent.type == sf::Event::Closed || (currentEvent.type == (sf::Event::KeyPressed) && (currentEvent.key.code == sf::Keyboard::Escape))) { gameState = Exiting; } break; } case Playing: { if(currentEvent.type == sf::Event::Closed || (currentEvent.type == (sf::Event::KeyPressed) && (currentEvent.key.code == sf::Keyboard::Escape))) { gameState = Exiting; } if(currentEvent.type == (sf::Event::KeyPressed) && currentEvent.key.code == (sf::Keyboard::P)) { sounds[2].play(); gameState = Paused; } break; } case Paused: { if(currentEvent.type == sf::Event::Closed || (currentEvent.type == (sf::Event::KeyPressed) && (currentEvent.key.code == sf::Keyboard::Escape))) { gameState = Exiting; } if(currentEvent.type == (sf::Event::KeyPressed) && currentEvent.key.code == (sf::Keyboard::P)) { sounds[2].play(); gameState = Playing; } break; } case Intro: { if(currentEvent.type == (sf::Event::KeyPressed) && currentEvent.key.code == (sf::Keyboard::Return)) { storyScreen++; sounds[1].play(); unsigned pos = 0; for(int i = 0; i < 10; i++) { pos = story.find_first_of('\n',pos+1); } buffer.assign(story,0,pos); story.erase(0,pos); } if(currentEvent.type == sf::Event::Closed || (currentEvent.type == (sf::Event::KeyPressed) && (currentEvent.key.code == sf::Keyboard::Escape))) { gameState = Exiting; } break; } } } //non event-triggered state stuff (every frame updates) switch(gameState) { case Uninitialized: { mainWindow.clear(); background0.Load("images/acespacebg0.png"); background1.Load("images/acespacebg1.png"); background0.sprite.setTextureRect(sf::Rect<int>(0,(2500-768),576,768)); background1.sprite.setTextureRect(sf::Rect<int>(0,(2500-768),576,768)); bgMove0 = 0; bgMove1 = 0; player1.Load("images/Player.png"); player1.SetPosition(576/2,700); player1.revive(); scoreboard.updatePower(0); scoreboard.updateLives(0); scoreboard.updateScore(-1); scoreboard.updateTargetHP(0,0); scoreboard.updateFont(&datagoth); scoreboard.clear(); } case ShowingSplash: { if(!ShowSplashScreen()) gameState = Exiting; else { gameState = Intro; unsigned pos = 0; for(int i = 0; i < 10; i++) { pos = story.find_first_of('\n',pos+1); } buffer.assign(story,0,pos); story.erase(0,pos); } break; } case Intro: { if(storyScreen == 5) { music[0].stop(); music[1].play(); gameState = Playing; scoreboard.updateLives(1); scoreboard.updatePower(5); scoreboard.updateScore(000000); scoreboard.updateTargetHP(0,0); //intial wave to seed the enemy list Enemy* newEnemy2 = new Enemy(2, 0, -100); newEnemy2->setDestination(200, 300); enemyList.push_front(*newEnemy2); Enemy* newEnemy3 = new Enemy(2, 576, -100); newEnemy3->setDestination(350, 300); enemyList.push_front(*newEnemy3); Enemy* newEnemy4 = new Enemy(2, 60, -100); newEnemy4->setDestination(200, 300); enemyList.push_front(*newEnemy4); Enemy* newEnemy5 = new Enemy(2, 536, -100); newEnemy5->setDestination(350, 300); enemyList.push_front(*newEnemy5); frameClock.restart(); } } case Playing: { //check movement CheckMovement(5, frameTime); if(player1.destroyCheck()) { enemyList.clear(); mainWindow.clear(); player1.clearProjectiles(); music[1].stop(); sounds[4].play(); scoreboard.updateLives(-1); gameState = GameOver; break; } UpdateProj(); UpdateEnemies(); //update paralaxed backgrounds if(bgMove0 > (2500-768)) bgMove0 = 0; bgMove0 += 1; background0.sprite.setTextureRect(sf::Rect<int>(0,(2500-768)-bgMove0,576,768)); break; } } if(bgMove1 > (2500-768)) bgMove1 = 0; bgMove1 += 3; background1.sprite.setTextureRect(sf::Rect<int>(0,(2500-768)-bgMove1,576,768)); //clean up sprites to be deleted CleanUp(); //draw game mainWindow.clear(sf::Color(0,0,0)); mainWindow.draw(wholeArea); background0.Draw(mainWindow); char fps[60]; sprintf(fps,"%.2f\nESC to Quit\nP to Pause\nSPACE to Fire\nWASD to Move",(float(1)/frameTime)); sf::String fpsString(fps); sf::Text text(fpsString, datagoth); text.setCharacterSize(20); text.setColor(sf::Color::White); text.setPosition(596, 650); sf::String sidebar(buffer+"\n\nPress Enter"); sf::Text textBox(sidebar,datagoth); if(gameState == GameOver) { sf::String gameOver("GAME OVER"); sf::Text endingMessage(gameOver, datagoth); endingMessage.setCharacterSize(50); //endingMessage.setStyle(sf::Text::Bold); endingMessage.setColor(sf::Color::Red); endingMessage.setPosition(288-(endingMessage.getGlobalBounds().width/2), 300); sf::String authors("Developed by:\nJohn New\nDevon Gardner\nJon Forcht\nDanny Krulick\n\n\n\n\n\n\nPress Enter to Restart"); sf::Text credits(authors, datagoth); credits.setCharacterSize(20); credits.setColor(sf::Color::White); credits.setPosition(288-(credits.getGlobalBounds().width/2), 500); mainWindow.draw(credits); mainWindow.draw(endingMessage); } DrawProj(); DrawEnemies(); if(player1.destroyCheck() == false) player1.Draw(mainWindow); background1.Draw(mainWindow); mainWindow.draw(spawnArea); mainWindow.draw(rightBound); mainWindow.draw(leftBound); mainWindow.draw(bottomBound); mainWindow.draw(text); if(gameState == Intro && storyScreen < 5) { textBox.setCharacterSize(20); textBox.setColor(sf::Color::White); textBox.setPosition(596, 250); mainWindow.draw(textBox); } scoreboard.drawScoreboard(mainWindow, player1.sprite); //finally, render the frame mainWindow.display(); }
int screen_3::Run(sf::RenderWindow &App) { Cursor mouse_cursor(App,resources->textures.get("MouseCursor")); sf::Sprite mock_cursor; mock_cursor.setTexture(resources->textures.get("MockCursor")); sf::Sprite background; background.setTexture(resources->textures.get("GameBackground")); bool Running = true; int starting_index = resources->start_index; Sidebar sidebar(App, resources); sf::Clock clock; Board board(starting_index,App, resources); board.move(0,50); board.animateMovement(sf::Vector2f(200,50),3); Replay replay(App, resources); Player* player1 (new Player(board.getBoardGrid(),'X')); Player* player2 (new Player(board.getBoardGrid(),'O')); Player* curr_player; player1->setTexture(&resources->textures.get("Player1Mark")); player2->setTexture(&resources->textures.get("Player2Mark")); Button waiting(App); waiting.load(resources->textures.get("WaitingBase"),resources->textures.get("WaitingHover")); //waiting.setScale(0.7); waiting.setPosition((App.getSize().x-waiting.getGlobalBounds().x)/2+40,App.getSize().y-waiting.getGlobalBounds().y+5); VictoryBanner victory_banner(App,player1,player2,replay, resources); Messenger messenger(App, resources); PauseOverlay pause_screen(App, resources, true); while (Running) { sf::Event event; while (App.pollEvent(event)) { if(messageSocket->receive(packet) == sf::Socket::Disconnected) { sidebar.stopMusic(); pause_screen.setString(" DISCONNECTED"); pause_screen.isDisconnected(true); pause_screen.setPaused(true); } else { board.handleEvents(event); //if not disconnected if(sidebar.updateEvents(event)) pause_screen.setPaused(true); } if(pause_screen.updateEvent(event)) { return pause_screen.getActionKeyCode(); } messenger.updateEvents(event); if (event.type == sf::Event::Closed) { return (-1); } if(victory_banner.handleEvents(event)) { return victory_banner.getActionKeyCode(); } } board.updateAnimation(); messenger.update(messageSocket); if((is_host&&player_turn) || (!is_host && !player_turn)) { curr_player = player1; } else { curr_player = player2; } mouse_cursor.update(); replay.record(player_turn , replaySocket); mock_cursor.setPosition(replay.getCurrPosition()); if(!board.game_done) { if(sidebar.checkTimer(resources->isTimerActivated,resources->turn_timer)) { if(player_turn) { is_waiting = false; board.update(curr_player,is_host,socket); } else{ is_waiting = true; board.update(curr_player,socket); //receiver } if(board.round_done) { sidebar.restartClock(); player_turn = !player_turn; board.round_done = false; } } else { player_turn = !player_turn; sidebar.restartClock(); } } else { replay.save(); sidebar.stopMusic(); victory_banner. displayBanner(is_host); } App.clear(); App.draw(background); App.draw(board); if(!player_turn) App.draw(mock_cursor); if(is_waiting) App.draw(waiting); App.draw(sidebar); if(board.game_done) { App.draw(victory_banner); } if(pause_screen.isPaused()) { App.draw(pause_screen); } App.draw(messenger); App.draw(mouse_cursor); App.display(); } return (-1); }