Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 11356


Ignore:
Timestamp:
Mar 9, 2017, 3:38:58 PM (7 years ago)
Author:
patricwi
Message:

merged space race with trunk

Location:
code/trunk
Files:
12 edited
4 copied

Legend:

Unmodified
Added
Removed
  • code/trunk

  • code/trunk/data/gui/layouts/MainMenu.layout

    r6746 r11356  
    1111            <Property Name="Text" Value="Quickstart" />
    1212            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
    13             <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.2875,0},{0.6,0},{0.3375,0}}" />
     13            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.25,0},{0.6,0},{0.3,0}}" />
    1414            <Event Name="Clicked" Function="MainMenu.QuickGameTestButton_clicked"/>
    1515        </Window>
     
    1717            <Property Name="Text" Value="Singleplayer" />
    1818            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
    19             <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.3625,0},{0.6,0},{0.4125,0}}" />
     19            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.325,0},{0.6,0},{0.375,0}}" />
    2020            <Event Name="Clicked" Function="MainMenu.SingleplayerButton_clicked"/>
    2121        </Window>
     
    2323            <Property Name="Text" Value="Multiplayer" />
    2424            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
    25             <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.4375,0},{0.6,0},{0.4875,0}}" />
     25            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.4,0},{0.6,0},{0.45,0}}" />
    2626            <Event Name="Clicked" Function="MainMenu.MultiplayerButton_clicked"/>
     27        </Window>
     28        <Window Type="MenuWidgets/Button" Name="orxonox/HighscoreButton" >
     29            <Property Name="Text" Value="Highscore" />
     30            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
     31            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.475,0},{0.6,0},{0.525,0}}" />
     32            <Event Name="Clicked" Function="MainMenu.HighscoreButton_clicked"/>
    2733        </Window>
    2834        <Window Type="MenuWidgets/Button" Name="orxonox/SettingsButton" >
    2935            <Property Name="Text" Value="Settings" />
    3036            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
    31             <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.5125,0},{0.6,0},{0.5625,0}}" />
     37            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.55,0},{0.6,0},{0.6,0}}" />
    3238            <Event Name="Clicked" Function="MainMenu.SettingsButton_clicked"/>
    3339        </Window>
     
    3541            <Property Name="Text" Value="Credits" />
    3642            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
    37             <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.5875,0},{0.6,0},{0.6375,0}}" />
     43            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.625,0},{0.6,0},{0.675,0}}" />
    3844            <Event Name="Clicked" Function="MainMenu.CreditsButton_clicked"/>
    3945        </Window>
     
    4147            <Property Name="Text" Value="Exit" />
    4248            <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
    43             <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.6625,0},{0.6,0},{0.7125,0}}" />
     49            <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.7,0},{0.6,0},{0.75,0}}" />
    4450            <Event Name="Clicked" Function="MainMenu.ExitButton_clicked"/>
    4551        </Window>
  • code/trunk/data/gui/scripts/MainMenu.lua

    r8079 r11356  
    22
    33local P = createMenuSheet("MainMenu")
    4 P.loadAlong = { "SingleplayerMenu", "MultiplayerMenu", "SettingsMenu", "CreditsMenu" }
     4P.loadAlong = { "SingleplayerMenu", "MultiplayerMenu", "HighscoreMenu", "SettingsMenu", "CreditsMenu" }
    55
    66function P.onLoad()
     
    2222
    2323    P:setButton(4, 1, {
     24            ["button"] = winMgr:getWindow("orxonox/HighscoreButton"),
     25            ["callback"]  = P.MultiplayerButton_clicked
     26    })
     27
     28    P:setButton(5, 1, {
    2429            ["button"] = winMgr:getWindow("orxonox/SettingsButton"),
    2530            ["callback"]  = P.SettingsButton_clicked
    2631    })
    2732
    28     P:setButton(5, 1, {
     33    P:setButton(6, 1, {
    2934            ["button"] = winMgr:getWindow("orxonox/CreditsButton"),
    3035            ["callback"]  = P.CreditsButton_clicked
    3136    })
    3237
    33     P:setButton(6, 1, {
     38    P:setButton(7, 1, {
    3439            ["button"] = winMgr:getWindow("orxonox/ExitButton"),
    3540            ["callback"]  = P.ExitButton_clicked
     
    5156end
    5257
     58function P.HighscoreButton_clicked(e)
     59    showMenuSheet("HighscoreMenu", true)
     60end
     61
    5362function P.SettingsButton_clicked(e)
    5463    showMenuSheet("SettingsMenu", true)
  • code/trunk/data/gui/scripts/MiscConfigMenu.lua

    r9977 r11356  
    1818
    1919    P.commandList = {}
     20    table.insert(P.commandList, "Highscore playerName_")
    2021    table.insert(P.commandList, "KeyBinder mouseSensitivity_")
    2122    table.insert(P.commandList, "KeyBinder mouseSensitivityDerived_")
     
    4344
    4445    P.nameList = {}
     46    table.insert(P.nameList, "Playername")
    4547    table.insert(P.nameList, "Mouse sensitivity")
    4648    table.insert(P.nameList, "Mouse acceleration")
  • code/trunk/src/modules/dodgerace/DodgeRace.cc

    r11071 r11356  
    3636#include "DodgeRaceCube.h"
    3737#include "core/CoreIncludes.h"
     38#include "Highscore.h"
    3839
    3940namespace orxonox
     
    224225        // It will misteriously crash the game!
    225226        // Instead startMainMenu, this won't crash.
     227        if (Highscore::exists()){
     228                    int score = this->getPoints();
     229                    if(score > Highscore::getInstance().getHighestScoreOfGame("Dodge Race"))
     230                        Highscore::getInstance().storeHighscore("Dodge Race",score);
     231
     232          }
    226233        GSLevel::startMainMenu();
    227234    }
  • code/trunk/src/modules/invader/Invader.cc

    r11083 r11356  
    3333
    3434#include "Invader.h"
    35 
     35#include "Highscore.h"
    3636#include "core/CoreIncludes.h"
    3737#include "core/EventIncludes.h"
     
    189189        // It will misteriously crash the game!
    190190        // Instead startMainMenu, this won't crash.
     191        if (Highscore::exists()){
     192                    int score = this->getPoints();
     193                    if(score > Highscore::getInstance().getHighestScoreOfGame("Orxonox Arcade"))
     194                        Highscore::getInstance().storeHighscore("Orxonox Arcade",score);
     195
     196          }
    191197        GSLevel::startMainMenu();
    192198    }
  • code/trunk/src/modules/jump/Jump.cc

    r11071 r11356  
    3434#include "Jump.h"
    3535#include "core/CoreIncludes.h"
     36#include "Highscore.h"
    3637
    3738#include "JumpCenterpoint.h"
     
    311312        cleanup();
    312313        GSLevel::startMainMenu();
    313 
     314        if (Highscore::exists()){
     315                    int score = this->getScore(this->getPlayer());
     316                    if(score > Highscore::getInstance().getHighestScoreOfGame("Jump"))
     317                        Highscore::getInstance().storeHighscore("Jump",score);
     318
     319          }
    314320        Deathmatch::end();
    315321    }
  • code/trunk/src/modules/tetris/Tetris.cc

    r11083 r11356  
    3939
    4040#include "Tetris.h"
     41#include "Highscore.h"
    4142
    4243#include "core/CoreIncludes.h"
     
    327328            this->player_->stopControl();
    328329        }
    329 
     330         if (Highscore::exists()){
     331                    int score = this->getScore(this->getPlayer());
     332                    if(score > Highscore::getInstance().getHighestScoreOfGame("Tetris"))
     333                        Highscore::getInstance().storeHighscore("Tetris",score);
     334
     335          }
    330336        this->cleanup();
    331337
  • code/trunk/src/modules/towerdefense/TowerDefense.cc

    r11083 r11356  
    8181#include "chat/ChatManager.h"
    8282#include "core/CoreIncludes.h"
     83#include "Highscore.h"
    8384
    8485namespace orxonox
     
    197198    void TowerDefense::end()
    198199    {
    199 
     200        if (Highscore::exists()){
     201                    int score = this->getWaveNumber();
     202                    if(score > Highscore::getInstance().getHighestScoreOfGame("Tower Defense"))
     203                        Highscore::getInstance().storeHighscore("Tower Defense",score);
     204
     205          }
    200206        TeamDeathmatch::end();
    201207        ChatManager::message("Match is over! Gameover!");
  • code/trunk/src/orxonox/CMakeLists.txt

    r11353 r11356  
    2828  LevelInfo.cc
    2929  LevelManager.cc
     30  Highscore.cc
    3031  Main.cc
    3132  MoodManager.cc
     
    6162    LevelInfo.h
    6263    LevelManager.h
     64    Highscore.h
    6365    MoodManager.h
    6466    controllers/HumanController.h
  • code/trunk/src/orxonox/LevelInfo.cc

    r11099 r11356  
    151151    }
    152152
     153    bool LevelInfoItem::addHighscore(const std::string& name, const int score)
     154    {
     155        std::stringstream stream;
     156        stream << name << "/:/" << score;
     157        bool success = this->highscores_.insert(stream.str()).second;
     158        if(success)
     159            this->highscoresUpdated();
     160        return success;
     161    }
     162
    153163    /**
    154164    @brief
     
    191201    }
    192202
     203    void LevelInfoItem::highscoresUpdated(void)
     204    {
     205        std::stringstream stream;
     206        std::set<std::string>::iterator temp;
     207        for(std::set<std::string>::iterator it = this->highscores_.begin(); it != this->highscores_.end(); )
     208        {
     209            temp = it;
     210            if(++it == this->highscores_.end()) // If this is the last tag we don't add a comma.
     211                stream << *temp;
     212            else
     213                stream << *temp << ", ";
     214        }
     215
     216        this->highscoresString_ = std::string(stream.str());
     217    }
    193218    /**
    194219    @brief
  • code/trunk/src/orxonox/LevelInfo.h

    r11099 r11356  
    118118            inline bool hasTag(const std::string& tag) const { return this->tags_.find(tag) != this->tags_.end(); } // tolua_export
    119119
     120            bool addHighscore(const std::string& name,const int score);
     121
     122            inline const std::string& getHighscores(void) const { return this->highscoresString_; } // tolua_export
     123
    120124            void setStartingShips(const std::string& ships); //!< Set the starting ship models of the level
    121125            bool addStartingShip(const std::string& ship, bool update = true); //!< Add a model to shipselection
     
    154158            void startingshipsUpdated(void); //!< Updates the comma-seperated string of all possible starting ships.
    155159            void tagsUpdated(void); //!< Updates the comma-seperated string of all tags, if the set of tags has changed.
     160            void highscoresUpdated(void);
    156161            static void initializeTags(void); //!< Initialize the set of allowed tags.
    157162            /**
     
    170175            std::string screenshot_; //!< The screenshot of the Level.
    171176            std::set<std::string> tags_; //!< The set of tags the Level is tagged with.
     177
     178            std::set<std::string> highscores_;
     179            std::string highscoresString_;
     180
    172181            std::string tagsString_; //!< The comma-seperated string of all the tags the Level is tagged with.
    173182            std::set<std::string> startingShips_; //!< The set of starting ship models the Level allows.
     
    244253            inline const std::string& getTags(void) const
    245254                { return this->LevelInfoItem::getTags(); }
     255
     256            inline const std::string& getHighscores(void) const
     257                { return this->LevelInfoItem::getHighscores(); }
    246258            /**
    247259            @brief Set the starting ship models of the level
Note: See TracChangeset for help on using the changeset viewer.