2017-09-22 07:56:24 +02:00
|
|
|
/*****************************************************************************
|
2023-01-01 11:58:01 +01:00
|
|
|
* Copyright (c) 2014-2023 OpenRCT2 developers
|
2017-09-22 07:56:24 +02:00
|
|
|
*
|
2018-06-15 14:07:34 +02:00
|
|
|
* For a complete list of all authors, please refer to contributors.md
|
|
|
|
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
|
2017-09-22 07:56:24 +02:00
|
|
|
*
|
2018-06-15 14:07:34 +02:00
|
|
|
* OpenRCT2 is licensed under the GNU General Public License version 3.
|
2017-09-22 07:56:24 +02:00
|
|
|
*****************************************************************************/
|
|
|
|
|
2021-08-21 12:55:28 +02:00
|
|
|
#pragma once
|
2017-09-22 07:56:24 +02:00
|
|
|
|
|
|
|
#include "common.h"
|
2020-11-10 09:00:15 +01:00
|
|
|
#include "object/Object.h"
|
2020-11-09 11:53:29 +01:00
|
|
|
|
2022-07-28 14:23:33 +02:00
|
|
|
struct ResultWithMessage;
|
|
|
|
|
2017-09-22 07:56:24 +02:00
|
|
|
namespace Editor
|
|
|
|
{
|
|
|
|
void Load();
|
|
|
|
void ConvertSaveToScenario();
|
|
|
|
void LoadTrackDesigner();
|
|
|
|
void LoadTrackManager();
|
2018-06-22 23:25:16 +02:00
|
|
|
bool LoadLandscape(const utf8* path);
|
2017-09-22 07:56:24 +02:00
|
|
|
|
2022-07-28 14:23:33 +02:00
|
|
|
ResultWithMessage CheckPark();
|
2022-07-31 14:22:58 +02:00
|
|
|
std::pair<ObjectType, StringId> CheckObjectSelection();
|
2017-09-22 07:56:24 +02:00
|
|
|
|
|
|
|
void OpenWindowsForCurrentStep();
|
2018-02-11 18:56:12 +01:00
|
|
|
|
2020-11-09 12:07:38 +01:00
|
|
|
uint8_t GetSelectedObjectFlags(ObjectType objectType, size_t index);
|
2020-11-09 11:53:29 +01:00
|
|
|
void ClearSelectedObject(ObjectType objectType, size_t index, uint32_t flags);
|
|
|
|
void SetSelectedObject(ObjectType objectType, size_t index, uint32_t flags);
|
2018-05-04 22:40:09 +02:00
|
|
|
} // namespace Editor
|
2017-09-22 07:56:24 +02:00
|
|
|
|
2020-12-23 01:38:39 +01:00
|
|
|
enum class EditorStep : uint8_t
|
2018-02-01 18:49:14 +01:00
|
|
|
{
|
2020-12-23 01:38:39 +01:00
|
|
|
ObjectSelection, // 0
|
|
|
|
LandscapeEditor, // 1
|
|
|
|
InventionsListSetUp, // 2
|
|
|
|
OptionsSelection, // 3
|
|
|
|
ObjectiveSelection, // 4
|
|
|
|
SaveScenario, // 5
|
|
|
|
RollercoasterDesigner, // 6
|
|
|
|
DesignsManager, // 7
|
|
|
|
Invalid = 255, // 255
|
2018-02-14 09:42:26 +01:00
|
|
|
};
|
2017-09-22 07:56:24 +02:00
|
|
|
|
2021-04-05 19:01:43 +02:00
|
|
|
extern EditorStep gEditorStep;
|
|
|
|
|
2023-01-17 13:24:51 +01:00
|
|
|
void EditorOpenWindowsForCurrentStep();
|