1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-11-07 11:22:45 +01:00
openrw/rwgame/states/BenchmarkState.hpp
Filip Gawin 495c831972 Mark classes as final
It lets complier to make extra optimization.

See:
https://gcc.godbolt.org/#compilers:!((compiler:g6,options:'-O2+-Wall++-
xc%2B%2B+-
std%3Dc%2B%2B11',sourcez:MYGwhgzhAECC0G8BQAHArgIxAS2ALiWiOgDdsAnAFzTBFIHtsATaAMwAoBKaAXmgAYA3EgC%2BwpKEgwAQtDzR0WXHESpMOfIWIlGLDt1bYAdrWj0SAU3LlmF4WKQTwUaAGE5C9cvjJFGgsQMzGxcZpbWtvbiOsGs9PTs0gBk0BjcyIEYAHT69o4xLBhg5OyuKcDpWkTAOVz2QAA%3D%3D)),filterAsm:
(commentOnly:!t,directives:!t,intel:!t,labels:!t),version:3
2018-07-07 22:55:10 +02:00

39 lines
763 B
C++

#ifndef _RWGAME_BENCHMARKSTATE_HPP_
#define _RWGAME_BENCHMARKSTATE_HPP_
#include "State.hpp"
class BenchmarkState final : public State {
struct TrackPoint {
float time;
glm::vec3 position{};
glm::quat angle{1.0f,0.0f,0.0f,0.0f};
};
std::vector<TrackPoint> track;
ViewCamera trackCam;
std::string benchfile;
float benchmarkTime{0.f};
float duration{0.f};
uint32_t frameCounter{0};
public:
BenchmarkState(RWGame* game, const std::string& benchfile);
void enter() override;
void exit() override;
void tick(float dt) override;
void draw(GameRenderer* r) override;
void handleEvent(const SDL_Event& event) override;
const ViewCamera& getCamera(float) override;
};
#endif