 |
Blamite Game Engine - blam!
00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
|
Go to the documentation of this file.
29 #ifndef _Demo_UnitTesting_H_
30 #define _Demo_UnitTesting_H_
32 #include "OGRE/OgrePrerequisites.h"
36 #include "OGRE/OgreQuaternion.h"
37 #include "OGRE/OgreStringVector.h"
38 #include "OGRE/OgreVector3.h"
45 class KeyboardListener;
72 Ogre::Vector3 cameraPos;
73 Ogre::Quaternion cameraRot;
74 std::vector<KeyStroke> keyStrokes;
75 bool screenshotRenderWindow;
76 Ogre::StringVector targetsToScreenshot;
106 inline static void flushLwString( Ogre::LwString &jsonStr, std::string &outJson );
109 std::string &outJson );
118 void parseCmdLine(
int nargs,
const char *
const *argv );
133 void saveToJson(
const char *fullpath,
const bool bCompressDuration );
static const char * getWindowTitle(void)
void finishFrameParallel(void)
Definition: LogicSystem.cpp:44
virtual void createScene02(void)
Definition: BaseSystem.cpp:40
Keyboard button event structure (event.key.
Definition: SdlEmulationLayer.h:676
Ogre::Window * getRenderWindow(void) const
Definition: GraphicsSystem.h:145
Definition: InputListeners.h:18
HINSTANCE hInst
Application instance handle.
Definition: main.cpp:69
Definition: YieldTimer.h:9
Usage: To record: Start app with –ut_record=/home/username/Ogre/pbs.json –ut_compress Move around and...
Definition: UnitTesting.h:59
GenericDocument< UTF8<> > Document
GenericDocument with UTF8 encoding.
Definition: document.h:2873
@ SDL_SCANCODE_PAGEUP
Definition: SdlEmulationLayer.h:151
bool bCompressDuration
Definition: UnitTesting.h:84
virtual void mouseReleased(const SDL_MouseButtonEvent &arg, Ogre::uint8 id)
Definition: UnitTesting.cpp:374
static bool shouldRecordKey(const SDL_KeyboardEvent &arg)
Definition: UnitTesting.cpp:294
SDL_Scancode
The SDL keyboard scancode representation.
Definition: SdlEmulationLayer.h:22
bool isRecording() const
Definition: UnitTesting.cpp:64
static void createSystems(GameState **outGraphicsGameState, GraphicsSystem **outGraphicsSystem, GameState **outLogicGameState, LogicSystem **outLogicSystem)
Creates the system for the helper functions in Common framework to use in mainAppVarible & co.
void notifyRecordingNewFrame(Demo::GraphicsSystem *graphicsSystem)
Definition: UnitTesting.cpp:237
SDL_Scancode scancode
SDL physical key code - see SDL_Scancode for details.
Definition: SdlEmulationLayer.h:667
@ SDL_SCANCODE_W
Definition: SdlEmulationLayer.h:55
uint32_t mNumFrames
Definition: UnitTesting.h:97
bool isPlayback() const
Definition: UnitTesting.cpp:66
THREAD_DECLARE(renderThread)
@ SDLK_F12
Definition: SdlEmulationLayer.h:471
void exportFrameActivity(const FrameActivity &frameActivity, Ogre::LwString &jsonStr, std::string &outJson)
Definition: UnitTesting.cpp:86
void saveToJson(const char *fullpath, const bool bCompressDuration)
Saves the current recording to JSON, for later playback.
Definition: UnitTesting.cpp:260
void update(float timeSinceLast)
Definition: BaseSystem.cpp:64
void saveToJsonStr(std::string &outJson)
Definition: UnitTesting.cpp:142
virtual void keyReleased(const SDL_KeyboardEvent &arg)
Definition: InputListeners.h:33
virtual void mouseReleased(const SDL_MouseButtonEvent &arg, Ogre::uint8 id)
Definition: InputListeners.h:24
Definition: BaseSystem.cpp:5
static INT WINAPI mainAppSingleThreaded(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR strCmdLine, INT nCmdShow)
Definition: MainLoopSingleThreaded.cpp:49
bool mBlockInputForwarding
Definition: UnitTesting.h:104
std::string outputPath
Definition: UnitTesting.h:87
bool bSkipDump
Definition: UnitTesting.h:85
Ogre::Barrier * barrier
Definition: MainLoopMultiThreaded.cpp:60
unsigned long renderThread(Ogre::ThreadHandle *threadHandle)
Definition: MainLoopMultiThreaded.cpp:166
virtual void mousePressed(const SDL_MouseButtonEvent &arg, Ogre::uint8 id)
Definition: InputListeners.h:23
@ String
Represents a std::string.
Definition: globals.h:48
Definition: GameState.h:9
virtual void mousePressed(const SDL_MouseButtonEvent &arg, Ogre::uint8 id)
Definition: UnitTesting.cpp:368
uint32_t mFrameIdx
Definition: UnitTesting.h:96
int int32_t
Definition: stdint.h:13
Definition: InputListeners.h:27
void parseCmdLine(int nargs, const char *const *argv)
Definition: UnitTesting.cpp:200
const RAPIDJSON_NAMESPACE_BEGIN RAPIDJSON_ERROR_CHARTYPE * GetParseError_En(ParseErrorCode parseErrorCode)
Maps error code of parsing into error message.
Definition: en.h:36
unsigned long logicThread(Ogre::ThreadHandle *threadHandle)
Definition: MainLoopMultiThreaded.cpp:190
@ SDL_SCANCODE_S
Definition: SdlEmulationLayer.h:51
int loadFromJson(const char *fullpath, const Ogre::String &outputFolder)
Loads JSON from fullpath and plays it back, saving the results to outputFolder Return value is the re...
Definition: UnitTesting.cpp:380
virtual void keyPressed(const SDL_KeyboardEvent &arg)
Definition: InputListeners.h:32
Ogre::Camera * getCamera(void) const
Definition: GraphicsSystem.h:147
Definition: LogicSystem.h:14
LogicSystem * logicSystem
Definition: MainLoopMultiThreaded.cpp:59
SDL_KeyboardEvent key
Keyboard event data.
Definition: SdlEmulationLayer.h:738
static double Frametime
Time in seconds a frame should last in fixed timestep (e.g.
Definition: MainEntryPoints.h:111
Definition: GameEntityManager.h:13
Ogre::uint32 type
::SDL_KEYDOWN or ::SDL_KEYUP
Definition: SdlEmulationLayer.h:678
GenericValue< UTF8<> > Value
GenericValue with UTF8 encoding.
Definition: document.h:2470
unsigned int uint32_t
Definition: stdint.h:17
virtual void destroyScene(void)
Definition: BaseSystem.cpp:48
virtual void deinitialize(void)
Definition: BaseSystem.cpp:24
void deinitialize(void)
Definition: GraphicsSystem.cpp:494
unsigned long renderThreadApp(Ogre::ThreadHandle *threadHandle)
Definition: MainLoopMultiThreaded.cpp:100
Definition: MainLoopMultiThreaded.cpp:56
GraphicsSystem * graphicsSystem
Definition: MainLoopMultiThreaded.cpp:58
int runLoop(Ogre::String outputFolder)
Definition: UnitTesting.cpp:532
Params()
Definition: UnitTesting.cpp:62
@ SDL_SCANCODE_PAGEDOWN
Definition: SdlEmulationLayer.h:154
static INT WINAPI mainAppMultiThreaded(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR strCmdLine, INT nCmdShow)
Definition: MainLoopMultiThreaded.cpp:64
virtual void keyReleased(const SDL_KeyboardEvent &arg)
Definition: UnitTesting.cpp:331
void finishFrame(void)
Definition: BaseSystem.cpp:82
Ogre::Window * renderWindow
Definition: ogre.cpp:52
UnitTest()
Definition: UnitTesting.cpp:70
void setAlwaysAskForConfig(bool alwaysAskForConfig)
Definition: GraphicsSystem.cpp:1031
@ SDLK_PRINTSCREEN
Definition: SdlEmulationLayer.h:473
BlamDirector * camera
Definition: director.cpp:3
double timeSinceLast
Definition: ogre.cpp:57
static void destroySystems(GameState *graphicsGameState, GraphicsSystem *graphicsSystem, GameState *logicGameState, LogicSystem *logicSystem)
Destroys the systems created via createSystems. Implementation should check for null pointers.
Definition: GraphicsSystem.h:26
void startRecording(Demo::GraphicsSystem *graphicsSystem)
Definition: UnitTesting.cpp:230
void update(float timeSinceLast)
Definition: GraphicsSystem.cpp:528
SDL_Keycode sym
SDL virtual key code - see SDL_Keycode for details.
Definition: SdlEmulationLayer.h:668
virtual void mouseMoved(const SDL_Event &arg)
Definition: UnitTesting.cpp:362
KeyboardListener * mRealKeyboardListener
Definition: UnitTesting.h:98
bool getQuit(void) const
Definition: GraphicsSystem.h:140
Ogre::Timer timer
Definition: ogre.cpp:56
virtual void mouseMoved(const SDL_Event &arg)
Definition: InputListeners.h:22
virtual void createScene01(void)
Definition: BaseSystem.cpp:32
Ogre::uint32 type
Event type, shared with all events.
Definition: SdlEmulationLayer.h:737
Ogre::uint64 startTime
Definition: ogre.cpp:58
Definition: ogre2_imgui_manager.h:18
void initialize(const Ogre::String &windowTitle)
Definition: GraphicsSystem.cpp:120
virtual void initialize(void)
Definition: BaseSystem.cpp:16
(Constant) member iterator for a JSON object value
Definition: document.h:186
static Ogre::Vector3 getCameraRecordPosition(Ogre::Camera *camera)
Definition: SdlEmulationLayer.h:735
const Params & getParams(void) const
Definition: UnitTesting.h:120
bool bRecord
Definition: UnitTesting.h:83
@ SDL_SCANCODE_D
Definition: SdlEmulationLayer.h:36
static void flushLwString(Ogre::LwString &jsonStr, std::string &outJson)
Definition: UnitTesting.cpp:80
Ogre::Root * getRoot(void) const
Definition: GraphicsSystem.h:144
unsigned short uint16_t
Definition: stdint.h:16
std::string recordPath
Definition: UnitTesting.h:86
double mFrametime
Definition: UnitTesting.h:95
SDL_Keysym keysym
The key that was pressed or released.
Definition: SdlEmulationLayer.h:685
MouseListener * mRealMouseListener
Definition: UnitTesting.h:99
void beginFrameParallel(void)
Definition: BaseSystem.cpp:56
std::vector< FrameActivity > mFrameActivity
Definition: UnitTesting.h:101
virtual void keyPressed(const SDL_KeyboardEvent &arg)
Definition: UnitTesting.cpp:303
Params mParams
Definition: UnitTesting.h:103
void finishFrameParallel(void)
Definition: BaseSystem.cpp:72
Definition: UnitTesting.h:81
@ SDL_SCANCODE_A
Definition: SdlEmulationLayer.h:33
Ogre::uint64 yield(double frameTime, Ogre::uint64 startTime)
Definition: YieldTimer.h:19