35 lines
711 B
C++
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
|