diff --git a/CMakeLists.txt b/CMakeLists.txt
index 12ed42f22d..e07d4510cd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -50,9 +50,9 @@ set(OBJECTS_VERSION "1.0.21")
set(OBJECTS_URL "https://github.com/OpenRCT2/objects/releases/download/v${OBJECTS_VERSION}/objects.zip")
set(OBJECTS_SHA1 "c38af45d51a6e440386180feacf76c64720b6ac5")
-set(REPLAYS_VERSION "0.0.53")
+set(REPLAYS_VERSION "0.0.54")
set(REPLAYS_URL "https://github.com/OpenRCT2/replays/releases/download/v${REPLAYS_VERSION}/replays.zip")
-set(REPLAYS_SHA1 "8DDA5F2CC0B101D477396A3B016FF5F3EDFD074F")
+set(REPLAYS_SHA1 "FF54C3699C3A0DF02269C5EB4C4A9C8E6D5C4EB4")
option(FORCE32 "Force 32-bit build. It will add `-m32` to compiler flags.")
option(WITH_TESTS "Build tests")
diff --git a/openrct2.proj b/openrct2.proj
index 8e90ba9d3b..f46863f90e 100644
--- a/openrct2.proj
+++ b/openrct2.proj
@@ -48,8 +48,8 @@
304d13a126c15bf2c86ff13b81a2f2cc1856ac8d
https://github.com/OpenRCT2/objects/releases/download/v1.0.21/objects.zip
c38af45d51a6e440386180feacf76c64720b6ac5
- https://github.com/OpenRCT2/replays/releases/download/v0.0.53/replays.zip
- 8DDA5F2CC0B101D477396A3B016FF5F3EDFD074F
+ https://github.com/OpenRCT2/replays/releases/download/v0.0.54/replays.zip
+ FF54C3699C3A0DF02269C5EB4C4A9C8E6D5C4EB4
diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp
index 5ecd915704..f045992fc0 100644
--- a/src/openrct2/network/NetworkBase.cpp
+++ b/src/openrct2/network/NetworkBase.cpp
@@ -38,7 +38,7 @@
// This string specifies which version of network stream current build uses.
// It is used for making sure only compatible builds get connected, even within
// single OpenRCT2 version.
-#define NETWORK_STREAM_VERSION "11"
+#define NETWORK_STREAM_VERSION "12"
#define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION
static Peep* _pickup_peep = nullptr;
diff --git a/src/openrct2/rct2/S6Exporter.cpp b/src/openrct2/rct2/S6Exporter.cpp
index f4ea1932d8..47ee85946f 100644
--- a/src/openrct2/rct2/S6Exporter.cpp
+++ b/src/openrct2/rct2/S6Exporter.cpp
@@ -1235,9 +1235,9 @@ void S6Exporter::ExportEntityCommonProperties(RCT12SpriteBase* dst, const Entity
dst->sprite_height_negative = src->sprite_height_negative;
dst->sprite_index = src->sprite_index;
dst->flags = 0;
- dst->x = src->x;
- dst->y = src->y;
- dst->z = src->z;
+ dst->x = static_cast(src->x);
+ dst->y = static_cast(src->y);
+ dst->z = static_cast(src->z);
dst->sprite_width = src->sprite_width;
dst->sprite_height_positive = src->sprite_height_positive;
dst->sprite_left = src->SpriteRect.GetLeft();
diff --git a/src/openrct2/world/EntityBase.h b/src/openrct2/world/EntityBase.h
index 3824a59955..125193fef1 100644
--- a/src/openrct2/world/EntityBase.h
+++ b/src/openrct2/world/EntityBase.h
@@ -26,9 +26,9 @@ struct EntityBase
{
EntityType Type;
uint16_t sprite_index;
- int16_t x;
- int16_t y;
- int16_t z;
+ int32_t x;
+ int32_t y;
+ int32_t z;
// Width from centre of sprite to edge
uint8_t sprite_width;
// Height from centre of sprite to bottom