Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 2, 2008, 9:23:30 PM (16 years ago)
Author:
landauf
Message:

merged console-branch back to trunk.
IMPORTANT: update your media directory!

you need TCL to compile. TCL is available here: http://www.tcl.tk/
another option is to check out https://svn.orxonox.net/ogre/tcl8.5.2/ and compile it by yourself. makefiles are in the 'macosx', 'unix' and 'win' subfolders.
FindTCL.cmake searches in the usual locations and in ../libs/tcl8.5.2/

the orxonox console can be activated with numpad-enter. whatever you enter will be parsed by TCL. if TCL doesn't know a command, it gets executed by orxonox.

simple tcl commands are: "puts text" to write "text" into the console, "expr 1+1" to calculate the result of the given expression. just try it by yourself with "puts [expr 1+1]".
[x] means: evaluate x and use the returnvalue as an argument. in this case the returned value is "2" and the resulting command therefore "puts 2".

you can combine orxonox and tcl commands. a simple orxonox command is "log text" that writes text into the console and the logfile. test it with "log [expr 1+1]" to write "2" into all output channels of orxonox. something more advanced: "log [clock seconds]" writes the seconds since 1970 into the logfile. feel free to combine both: "log [clock seconds]: 1+1 is [expr 1+1]"

TCL uses variables. to set a new variable, use "set varname value". you can use the variable wherever you want with $varname. with this we can make the above command a bit more elegant:
set myexpression 1+1
log [clock seconds]: $myexpression is [expr $myexpression]

read more about tcl in the wiki: http://wiki.tcl.tk/

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/orxonox/GraphicsEngine.h

    r1056 r1214  
    4242#include <OgrePrerequisites.h>
    4343#include <OgreLog.h>
    44 
     44#include <OgreRenderWindow.h>
     45#include <OgreWindowEventUtilities.h>
    4546#include "core/OrxonoxClass.h"
    4647
     
    4849namespace orxonox {
    4950
    50   /**
     51    /**
    5152    @brief Graphics engine manager class
    52   */
    53   class _OrxonoxExport GraphicsEngine : public OrxonoxClass, public Ogre::LogListener
    54   {
    55     friend class ClassIdentifier<GraphicsEngine>;
    56     public:
    57       void setConfigPath(std::string path) { this->configPath_ = path; };
    58       void setConfigValues();
    59       void setup();
    60       bool load(std::string path);
    61       void loadRessourceLocations(std::string path);
    62       Ogre::SceneManager* getSceneManager();
    63       void initialise();
    64       void destroy();
     53    */
     54    class _OrxonoxExport GraphicsEngine : public Ogre::WindowEventListener, public OrxonoxClass, public Ogre::LogListener
     55    {
     56        friend class ClassIdentifier<GraphicsEngine>;
     57        public:
     58            void setConfigPath(std::string path) { this->configPath_ = path; };
     59            void setConfigValues();
     60            void setup();
     61            bool load(std::string path);
     62            void loadRessourceLocations(std::string path);
     63            Ogre::SceneManager* getSceneManager();
     64            void initialise();
     65            void destroy();
    6566
    66       // several window properties
    67       Ogre::RenderWindow* getRenderWindow() { return this->renderWindow_; }
    68       size_t getWindowHandle();
    69       int getWindowWidth() const;
    70       int getWindowHeight() const;
     67            // several window properties
     68            Ogre::RenderWindow* getRenderWindow() { return this->renderWindow_; }
     69            size_t getWindowHandle();
     70            int getWindowWidth() const;
     71            int getWindowHeight() const;
    7172
    72       static GraphicsEngine& getSingleton();
    73       static GraphicsEngine* getSingletonPtr() { return &getSingleton(); }
     73            static GraphicsEngine& getSingleton();
     74            static GraphicsEngine* getSingletonPtr() { return &getSingleton(); }
    7475
    75     private:
    76       // don't mess with singletons
    77       GraphicsEngine();
    78       ~GraphicsEngine();
    79       GraphicsEngine(GraphicsEngine&) { }
     76            void windowMoved(Ogre::RenderWindow* rw);
     77            void windowResized(Ogre::RenderWindow* rw);
     78            void windowFocusChanged(Ogre::RenderWindow* rw);
    8079
    81       //! Method called by the LogListener from Ogre
    82       void messageLogged(const std::string&, Ogre::LogMessageLevel,
    83                          bool, const std::string&);
     80        private:
     81            // don't mess with singletons
     82            GraphicsEngine();
     83            ~GraphicsEngine();
     84            GraphicsEngine(GraphicsEngine&) { }
    8485
    85       Ogre::Root*         root_;        //!< Ogre's root
    86       Ogre::SceneManager* scene_;       //!< scene manager of the game
    87       Ogre::RenderWindow* renderWindow_;//!< the current render window
    88       //bool               bOverwritePath_; //!< overwrites path
    89       std::string         configPath_;  //!< path to config file
    90       std::string         dataPath_;    //!< path to data file
    91       std::string         ogreLogfile_; //!< log file name for Ogre log messages
    92       int ogreLogLevelTrivial_;         //!< Corresponding Orxonx debug level for LL_TRIVIAL
    93       int ogreLogLevelNormal_;          //!< Corresponding Orxonx debug level for LL_NORMAL
    94       int ogreLogLevelCritical_;        //!< Corresponding Orxonx debug level for LL_CRITICAL
     86            //! Method called by the LogListener from Ogre
     87            void messageLogged(const std::string&, Ogre::LogMessageLevel,
     88                             bool, const std::string&);
    9589
    96   };
    97 
     90            Ogre::Root*         root_;        //!< Ogre's root
     91            Ogre::SceneManager* scene_;       //!< scene manager of the game
     92            Ogre::RenderWindow* renderWindow_;//!< the current render window
     93            //bool               bOverwritePath_; //!< overwrites path
     94            std::string         configPath_;  //!< path to config file
     95            std::string         dataPath_;    //!< path to data file
     96            std::string         ogreLogfile_; //!< log file name for Ogre log messages
     97            int ogreLogLevelTrivial_;         //!< Corresponding Orxonx debug level for LL_TRIVIAL
     98            int ogreLogLevelNormal_;          //!< Corresponding Orxonx debug level for LL_NORMAL
     99            int ogreLogLevelCritical_;        //!< Corresponding Orxonx debug level for LL_CRITICAL
     100    };
    98101}
    99102
Note: See TracChangeset for help on using the changeset viewer.