mirror of https://github.com/OpenRCT2/OpenRCT2.git
65 lines
2.0 KiB
C++
65 lines
2.0 KiB
C++
/*****************************************************************************
|
|
* Copyright (c) 2014-2024 OpenRCT2 developers
|
|
*
|
|
* For a complete list of all authors, please refer to contributors.md
|
|
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
|
|
*
|
|
* OpenRCT2 is licensed under the GNU General Public License version 3.
|
|
*****************************************************************************/
|
|
|
|
#pragma once
|
|
|
|
#include "../../common.h"
|
|
#include "../../drawing/Drawing.h"
|
|
#include "../Scene.h"
|
|
|
|
struct ITitleSequencePlayer;
|
|
|
|
namespace OpenRCT2
|
|
{
|
|
class TitleScene final : public Scene
|
|
{
|
|
public:
|
|
using Scene::Scene;
|
|
|
|
ITitleSequencePlayer* GetSequencePlayer();
|
|
size_t GetCurrentSequence();
|
|
bool PreviewSequence(size_t value);
|
|
void StopPreviewingSequence();
|
|
bool IsPreviewingSequence();
|
|
bool ShouldHideVersionInfo();
|
|
void SetHideVersionInfo(bool value);
|
|
|
|
void Load() override;
|
|
void Tick() override;
|
|
void Stop() override;
|
|
void CreateWindows();
|
|
void ChangePresetSequence(size_t preset);
|
|
|
|
private:
|
|
ITitleSequencePlayer* _sequencePlayer = nullptr;
|
|
size_t _loadedTitleSequenceId = SIZE_MAX;
|
|
size_t _currentSequence = SIZE_MAX;
|
|
bool _hideVersionInfo = false;
|
|
bool _previewingSequence = false;
|
|
|
|
void TitleInitialise();
|
|
bool TryLoadSequence(bool loadPreview = false);
|
|
};
|
|
} // namespace OpenRCT2
|
|
|
|
// When testing title sequences within a normal game
|
|
extern bool gPreviewingTitleSequenceInGame;
|
|
|
|
void TitleCreateWindows();
|
|
void* TitleGetSequencePlayer();
|
|
void TitleSequenceChangePreset(size_t preset);
|
|
bool TitleShouldHideVersionInfo();
|
|
void TitleSetHideVersionInfo(bool value);
|
|
size_t TitleGetConfigSequence();
|
|
size_t TitleGetCurrentSequence();
|
|
bool TitlePreviewSequence(size_t value);
|
|
void TitleStopPreviewingSequence();
|
|
bool TitleIsPreviewingSequence();
|
|
void DrawOpenRCT2(DrawPixelInfo& dpi, const ScreenCoordsXY& screenCoords);
|