diff --git a/src/openrct2/interface/Viewport.cpp b/src/openrct2/interface/Viewport.cpp
index 23c8312dac..bf1e5d8df0 100644
--- a/src/openrct2/interface/Viewport.cpp
+++ b/src/openrct2/interface/Viewport.cpp
@@ -68,7 +68,6 @@ ScreenCoordsXY gSavedView;
ZoomLevel gSavedViewZoom;
uint8_t gSavedViewRotation;
-PaintEntry* gNextFreePaintStruct;
uint8_t gCurrentRotation;
static uint32_t _currentImageType;
diff --git a/src/openrct2/interface/Viewport.h b/src/openrct2/interface/Viewport.h
index ebcc25a8c3..e77ccd4ba4 100644
--- a/src/openrct2/interface/Viewport.h
+++ b/src/openrct2/interface/Viewport.h
@@ -117,7 +117,6 @@ extern ScreenCoordsXY gSavedView;
extern ZoomLevel gSavedViewZoom;
extern uint8_t gSavedViewRotation;
-extern PaintEntry* gNextFreePaintStruct;
extern uint8_t gCurrentRotation;
void ViewportInitAll();
diff --git a/src/openrct2/libopenrct2.vcxproj b/src/openrct2/libopenrct2.vcxproj
index 22e47c0c3d..ced7c5b3fc 100644
--- a/src/openrct2/libopenrct2.vcxproj
+++ b/src/openrct2/libopenrct2.vcxproj
@@ -817,7 +817,6 @@
-
@@ -1028,4 +1027,4 @@
-
\ No newline at end of file
+
diff --git a/src/openrct2/localisation/Language.h b/src/openrct2/localisation/Language.h
index 529b696815..8ff0268f38 100644
--- a/src/openrct2/localisation/Language.h
+++ b/src/openrct2/localisation/Language.h
@@ -99,7 +99,6 @@ const char* LanguageGetString(StringId id);
bool LanguageOpen(int32_t id);
uint32_t UTF8GetNext(const utf8* char_ptr, const utf8** nextchar_ptr);
-int32_t UTF8InsertCodepoint(utf8* dst, uint32_t codepoint);
bool UTF8IsCodepointStart(const utf8* text);
int32_t UTF8GetCodepointLength(char32_t codepoint);
int32_t UTF8Length(const utf8* text);
diff --git a/src/openrct2/localisation/Localisation.cpp b/src/openrct2/localisation/Localisation.cpp
index a0788dc5c6..83aae3d3de 100644
--- a/src/openrct2/localisation/Localisation.cpp
+++ b/src/openrct2/localisation/Localisation.cpp
@@ -46,14 +46,6 @@ bool gDebugStringFormatting = false;
#endif
// clang-format off
-const StringId SpeedNames[] = {
- STR_SPEED_NORMAL,
- STR_SPEED_QUICK,
- STR_SPEED_FAST,
- STR_SPEED_TURBO,
- STR_SPEED_HYPER,
-};
-
const StringId ObjectiveNames[] = {
STR_OBJECTIVE_NONE,
STR_OBJECTIVE_GUESTS_BY,
diff --git a/src/openrct2/localisation/Localisation.h b/src/openrct2/localisation/Localisation.h
index 156289a683..447f543d5b 100644
--- a/src/openrct2/localisation/Localisation.h
+++ b/src/openrct2/localisation/Localisation.h
@@ -59,7 +59,6 @@ extern const char* real_names[1024];
extern thread_local char gCommonStringFormatBuffer[CommonTextBufferSize];
extern bool gDebugStringFormatting;
-extern const StringId SpeedNames[5];
extern const StringId ObjectiveNames[12];
extern const StringId ResearchFundingLevelNames[4];
extern const StringId MarketingCampaignNames[ADVERTISING_CAMPAIGN_COUNT][3];
diff --git a/src/openrct2/localisation/UTF8.cpp b/src/openrct2/localisation/UTF8.cpp
index 688920658a..eb65de7f15 100644
--- a/src/openrct2/localisation/UTF8.cpp
+++ b/src/openrct2/localisation/UTF8.cpp
@@ -50,19 +50,6 @@ uint32_t UTF8GetNext(const utf8* char_ptr, const utf8** nextchar_ptr)
return result;
}
-/**
- * Inserts the given codepoint at the given address, shifting all characters after along.
- * @returns the size of the inserted codepoint.
- */
-int32_t UTF8InsertCodepoint(utf8* dst, uint32_t codepoint)
-{
- int32_t shift = UTF8GetCodepointLength(codepoint);
- utf8* endPoint = GetStringEnd(dst);
- memmove(dst + shift, dst, endPoint - dst + 1);
- UTF8WriteCodepoint(dst, codepoint);
- return shift;
-}
-
bool UTF8IsCodepointStart(const utf8* text)
{
if ((text[0] & 0x80) == 0)
diff --git a/src/openrct2/object/Object.cpp b/src/openrct2/object/Object.cpp
index 34a831fedf..279cb59817 100644
--- a/src/openrct2/object/Object.cpp
+++ b/src/openrct2/object/Object.cpp
@@ -143,11 +143,6 @@ std::string Object::GetString(int32_t language, ObjectStringID index) const
return GetStringTable().GetString(language, index);
}
-ObjectEntryDescriptor Object::GetScgWallsHeader() const
-{
- return ObjectEntryDescriptor("rct2.scenery_group.scgwalls");
-}
-
ObjectEntryDescriptor Object::GetScgPathXHeader() const
{
return ObjectEntryDescriptor("rct2.scenery_group.scgpathx");
diff --git a/src/openrct2/object/Object.h b/src/openrct2/object/Object.h
index a944d7e89e..555a39f797 100644
--- a/src/openrct2/object/Object.h
+++ b/src/openrct2/object/Object.h
@@ -315,7 +315,6 @@ public:
return _imageTable;
}
- ObjectEntryDescriptor GetScgWallsHeader() const;
ObjectEntryDescriptor GetScgPathXHeader() const;
RCTObjectEntry CreateHeader(const char name[9], uint32_t flags, uint32_t checksum);
diff --git a/src/openrct2/object/SceneryObject.cpp b/src/openrct2/object/SceneryObject.cpp
deleted file mode 100644
index 21484b93f8..0000000000
--- a/src/openrct2/object/SceneryObject.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2014-2023 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.
- *****************************************************************************/
-
-#include "SceneryObject.h"
diff --git a/src/openrct2/object/SmallSceneryObject.cpp b/src/openrct2/object/SmallSceneryObject.cpp
index 0d3b7f6559..6fcb91a3f6 100644
--- a/src/openrct2/object/SmallSceneryObject.cpp
+++ b/src/openrct2/object/SmallSceneryObject.cpp
@@ -155,14 +155,13 @@ std::vector SmallSceneryObject::ReadFrameOffsets(OpenRCT2::IStream* str
void SmallSceneryObject::PerformFixes()
{
auto identifier = GetLegacyIdentifier();
- static const auto& scgWalls = Object::GetScgWallsHeader();
// ToonTowner's base blocks. Put them in the Walls and Roofs group.
if (identifier == "XXBBCL01" ||
identifier == "XXBBMD01" ||
identifier == "ARBASE2 ")
{
- SetPrimarySceneryGroup(scgWalls);
+ SetPrimarySceneryGroup(ObjectEntryDescriptor("rct2.scenery_group.scgwalls"));
}
// ToonTowner's Pirate roofs. Make them show up in the Pirate Theming.
@@ -171,17 +170,11 @@ void SmallSceneryObject::PerformFixes()
identifier == "TTPRF10 " ||
identifier == "TTPRF11 ")
{
- static const auto& scgPirat = GetScgPiratHeader();
- SetPrimarySceneryGroup(scgPirat);
+ SetPrimarySceneryGroup(ObjectEntryDescriptor("rct2.scenery_group.scgpirat"));
}
}
// clang-format on
-ObjectEntryDescriptor SmallSceneryObject::GetScgPiratHeader() const
-{
- return ObjectEntryDescriptor("rct2.scenery_group.scgpirat");
-}
-
void SmallSceneryObject::ReadJson(IReadObjectContext* context, json_t& root)
{
Guard::Assert(root.is_object(), "SmallSceneryObject::ReadJson expects parameter root to be object");
diff --git a/src/openrct2/object/SmallSceneryObject.h b/src/openrct2/object/SmallSceneryObject.h
index 230f89383e..8b531418c9 100644
--- a/src/openrct2/object/SmallSceneryObject.h
+++ b/src/openrct2/object/SmallSceneryObject.h
@@ -38,5 +38,4 @@ private:
static std::vector ReadFrameOffsets(OpenRCT2::IStream* stream);
static std::vector ReadJsonFrameOffsets(json_t& jFrameOffsets);
void PerformFixes();
- ObjectEntryDescriptor GetScgPiratHeader() const;
};
diff --git a/src/openrct2/world/Scenery.h b/src/openrct2/world/Scenery.h
index ed02d0e91e..b7d4227a7a 100644
--- a/src/openrct2/world/Scenery.h
+++ b/src/openrct2/world/Scenery.h
@@ -49,7 +49,6 @@ extern uint8_t gSceneryQuadrant;
extern money32 gSceneryPlaceCost;
extern ScenerySelection gSceneryPlaceObject;
-extern uint16_t gSceneryPlaceObjectEntryIndex;
extern int16_t gSceneryPlaceZ;
extern uint8_t gSceneryPlaceRotation;