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