mirror of https://github.com/OpenRCT2/OpenRCT2.git
Move gSavedView states to GameState_t (#21456)
* Move gSavedView to GameState_t * Move gSavedViewRotation to GameState_t * Move gSavedViewZoom to GameState_t
This commit is contained in:
parent
880e5af35d
commit
0fab1eaca8
|
@ -388,7 +388,8 @@ namespace OpenRCT2::Title
|
|||
void PrepareParkForPlayback()
|
||||
{
|
||||
auto windowManager = GetContext()->GetUiContext()->GetWindowManager();
|
||||
windowManager->SetMainView(gSavedView, gSavedViewZoom, gSavedViewRotation);
|
||||
auto& gameState = GetGameState();
|
||||
windowManager->SetMainView(gameState.SavedView, gameState.SavedViewZoom, gameState.SavedViewRotation);
|
||||
ResetEntitySpatialIndices();
|
||||
ResetAllSpriteQuadrantPlacements();
|
||||
auto intent = Intent(INTENT_ACTION_REFRESH_NEW_RIDES);
|
||||
|
|
|
@ -423,7 +423,8 @@ namespace Editor
|
|||
static void FinaliseMainView()
|
||||
{
|
||||
auto windowManager = GetContext()->GetUiContext()->GetWindowManager();
|
||||
windowManager->SetMainView(gSavedView, gSavedViewZoom, gSavedViewRotation);
|
||||
auto& gameState = GetGameState();
|
||||
windowManager->SetMainView(gameState.SavedView, gameState.SavedViewZoom, gameState.SavedViewRotation);
|
||||
|
||||
ResetAllSpriteQuadrantPlacements();
|
||||
ScenerySetDefaultPlacementConfiguration();
|
||||
|
|
|
@ -528,7 +528,8 @@ void GameLoadInit()
|
|||
}
|
||||
|
||||
auto windowManager = GetContext()->GetUiContext()->GetWindowManager();
|
||||
windowManager->SetMainView(gSavedView, gSavedViewZoom, gSavedViewRotation);
|
||||
auto& gameState = GetGameState();
|
||||
windowManager->SetMainView(gameState.SavedView, gameState.SavedViewZoom, gameState.SavedViewRotation);
|
||||
|
||||
if (NetworkGetMode() != NETWORK_MODE_CLIENT)
|
||||
{
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#pragma once
|
||||
|
||||
#include "Date.h"
|
||||
#include "interface/ZoomLevel.h"
|
||||
#include "management/Finance.h"
|
||||
#include "management/NewsItem.h"
|
||||
#include "scenario/Scenario.h"
|
||||
|
@ -94,6 +95,10 @@ namespace OpenRCT2
|
|||
std::vector<ResearchItem> ResearchItemsInvented;
|
||||
uint8_t ResearchUncompletedCategories;
|
||||
|
||||
ScreenCoordsXY SavedView;
|
||||
uint8_t SavedViewRotation;
|
||||
ZoomLevel SavedViewZoom;
|
||||
|
||||
/**
|
||||
* Probability out of 65535, of gaining a new guest per game tick.
|
||||
* new guests per second = 40 * (probability / 65535)
|
||||
|
|
|
@ -558,9 +558,11 @@ int32_t CommandLineForScreenshot(const char** argv, int32_t argc, ScreenshotOpti
|
|||
}
|
||||
else
|
||||
{
|
||||
viewport.viewPos = { gSavedView - ScreenCoordsXY{ (viewport.view_width / 2), (viewport.view_height / 2) } };
|
||||
viewport.zoom = gSavedViewZoom;
|
||||
gCurrentRotation = gSavedViewRotation;
|
||||
auto& gameState = GetGameState();
|
||||
viewport.viewPos = { gameState.SavedView
|
||||
- ScreenCoordsXY{ (viewport.view_width / 2), (viewport.view_height / 2) } };
|
||||
viewport.zoom = gameState.SavedViewZoom;
|
||||
gCurrentRotation = gameState.SavedViewRotation;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -65,10 +65,6 @@ Viewport* g_music_tracking_viewport;
|
|||
static std::unique_ptr<JobPool> _paintJobs;
|
||||
static std::vector<PaintSession*> _paintColumns;
|
||||
|
||||
ScreenCoordsXY gSavedView;
|
||||
ZoomLevel gSavedViewZoom;
|
||||
uint8_t gSavedViewRotation;
|
||||
|
||||
uint8_t gCurrentRotation;
|
||||
|
||||
static uint32_t _currentImageType;
|
||||
|
@ -2080,11 +2076,12 @@ void ViewportSetSavedView()
|
|||
if (w != nullptr)
|
||||
{
|
||||
Viewport* viewport = w->viewport;
|
||||
auto& gameState = GetGameState();
|
||||
|
||||
gSavedView = ScreenCoordsXY{ viewport->view_width / 2, viewport->view_height / 2 } + viewport->viewPos;
|
||||
gameState.SavedView = ScreenCoordsXY{ viewport->view_width / 2, viewport->view_height / 2 } + viewport->viewPos;
|
||||
|
||||
gSavedViewZoom = viewport->zoom;
|
||||
gSavedViewRotation = GetCurrentRotation();
|
||||
gameState.SavedViewZoom = viewport->zoom;
|
||||
gameState.SavedViewRotation = GetCurrentRotation();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -122,9 +122,6 @@ extern uint8_t gShowConstructionRightsRefCount;
|
|||
|
||||
// rct2: 0x014234BC
|
||||
extern Viewport* g_music_tracking_viewport;
|
||||
extern ScreenCoordsXY gSavedView;
|
||||
extern ZoomLevel gSavedViewZoom;
|
||||
extern uint8_t gSavedViewRotation;
|
||||
|
||||
extern uint8_t gCurrentRotation;
|
||||
|
||||
|
|
|
@ -604,19 +604,19 @@ namespace OpenRCT2
|
|||
|
||||
void ReadWriteInterfaceChunk(GameState_t& gameState, OrcaStream& os)
|
||||
{
|
||||
os.ReadWriteChunk(ParkFileChunkType::INTERFACE, [](OrcaStream::ChunkStream& cs) {
|
||||
cs.ReadWrite(gSavedView.x);
|
||||
cs.ReadWrite(gSavedView.y);
|
||||
os.ReadWriteChunk(ParkFileChunkType::INTERFACE, [&gameState](OrcaStream::ChunkStream& cs) {
|
||||
cs.ReadWrite(gameState.SavedView.x);
|
||||
cs.ReadWrite(gameState.SavedView.y);
|
||||
if (cs.GetMode() == OrcaStream::Mode::READING)
|
||||
{
|
||||
auto savedZoomlevel = static_cast<ZoomLevel>(cs.Read<int8_t>());
|
||||
gSavedViewZoom = std::clamp(savedZoomlevel, ZoomLevel::min(), ZoomLevel::max());
|
||||
gameState.SavedViewZoom = std::clamp(savedZoomlevel, ZoomLevel::min(), ZoomLevel::max());
|
||||
}
|
||||
else
|
||||
{
|
||||
cs.Write(static_cast<int8_t>(gSavedViewZoom));
|
||||
cs.Write(static_cast<int8_t>(gameState.SavedViewZoom));
|
||||
}
|
||||
cs.ReadWrite(gSavedViewRotation);
|
||||
cs.ReadWrite(gameState.SavedViewRotation);
|
||||
cs.ReadWrite(gLastEntranceStyle);
|
||||
cs.ReadWrite(gEditorStep);
|
||||
});
|
||||
|
|
|
@ -2353,9 +2353,10 @@ namespace RCT1
|
|||
|
||||
void ImportSavedView()
|
||||
{
|
||||
gSavedView = ScreenCoordsXY{ _s4.ViewX, _s4.ViewY };
|
||||
gSavedViewZoom = ZoomLevel{ static_cast<int8_t>(_s4.ViewZoom) };
|
||||
gSavedViewRotation = _s4.ViewRotation;
|
||||
auto& gameState = GetGameState();
|
||||
gameState.SavedView = ScreenCoordsXY{ _s4.ViewX, _s4.ViewY };
|
||||
gameState.SavedViewZoom = ZoomLevel{ static_cast<int8_t>(_s4.ViewZoom) };
|
||||
gameState.SavedViewRotation = _s4.ViewRotation;
|
||||
}
|
||||
|
||||
void ConvertWall(const int32_t& type, colour_t* colourA, colour_t* colourB)
|
||||
|
|
|
@ -440,9 +440,9 @@ namespace RCT2
|
|||
|
||||
ImportRides();
|
||||
|
||||
gSavedView = ScreenCoordsXY{ _s6.SavedViewX, _s6.SavedViewY };
|
||||
gSavedViewZoom = ZoomLevel{ static_cast<int8_t>(_s6.SavedViewZoom) };
|
||||
gSavedViewRotation = _s6.SavedViewRotation;
|
||||
gameState.SavedView = ScreenCoordsXY{ _s6.SavedViewX, _s6.SavedViewY };
|
||||
gameState.SavedViewZoom = ZoomLevel{ static_cast<int8_t>(_s6.SavedViewZoom) };
|
||||
gameState.SavedViewRotation = _s6.SavedViewRotation;
|
||||
|
||||
ImportRideRatingsCalcData();
|
||||
ImportRideMeasurements();
|
||||
|
|
Loading…
Reference in New Issue