Files
wc3re/game/GSMvePlay.hh

35 lines
711 B
C++

#ifndef WC3RE_GAME_GSMVEPLAY_HH__
#define WC3RE_GAME_GSMVEPLAY_HH__
#include "GameState.hh"
class MveDecoder;
namespace render {
class Overlay;
class AudioStream;
}
namespace game {
class GSMvePlay : public GameState {
public:
GSMvePlay(render::Renderer& renderer, MveDecoder::Movie& movie);
~GSMvePlay() override;
void draw(unsigned delta_ms) override;
bool handleEvent(SDL_Event& event) override;
private:
MveDecoder::Movie& movie_;
std::unique_ptr<render::Overlay> overlay_;
std::unique_ptr<render::AudioStream> audio_;
unsigned delta_;
float nextFT_;
std::vector<uint8_t> frameRGBA_;
bool decoded_, firstFrame_;
void decode_();
};
}
#endif