From 622814f794ff4f6f5b5f6032026f758ea2981ae2 Mon Sep 17 00:00:00 2001
From: Kano <89972582+kano-dot@users.noreply.github.com>
Date: Thu, 13 Aug 2026 16:20:39 +0000
Subject: [PATCH] Ports various platform sprites (#23054)
As title, ports some sprites from CM as a supplement for our generic
platforms. I wasn't able to find the authors due to how .dmi change
history is stored in git
## Images
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/structure/platforms.dmi | Colonial Marines | CC 3.0 BY-SA |
---
code/modules/multiz/structures.dm | 76 +++++++++++++++++-
html/changelogs/kano-platform-sprite-port.yml | 4 +
icons/obj/structure/platforms.dmi | Bin 1854 -> 14020 bytes
3 files changed, 77 insertions(+), 3 deletions(-)
create mode 100644 html/changelogs/kano-platform-sprite-port.yml
diff --git a/code/modules/multiz/structures.dm b/code/modules/multiz/structures.dm
index 5046f520aa6..9e9635e93cc 100644
--- a/code/modules/multiz/structures.dm
+++ b/code/modules/multiz/structures.dm
@@ -418,6 +418,8 @@
/obj/structure/platform_stairs/full/south_north_cap/half
icon_state = "p_stair_sn_half_cap"
+// ---------- Platforms
+
/obj/structure/platform
name = "platform"
desc = "An archaic method of preventing travel along the X and Y axes if you are on a lower point on the Z-axis."
@@ -507,16 +509,58 @@
icon_state = "ledge_dark"
color = COLOR_DARK_GUNMETAL
+/obj/structure/platform/rock
+ icon_state = "colorable_rock_platform"
+ color = COLOR_GRAY40
+
+// ---------- Non-colourable platforms
+
+/obj/structure/platform/metal
+ icon_state = "metal_platform"
+ color = null
+
+/obj/structure/platform/metal_alt
+ icon_state = "metal_platform_alt"
+ color = null
+
+/obj/structure/platform/engineer
+ icon_state = "engineer_platform"
+ color = null
+
+/obj/structure/platform/accented
+ icon_state = "accented_platform"
+ color = null
+
+/obj/structure/platform/column
+ icon_state = "column_platform"
+ color = null
+
+// ---------- Platform cutouts
+
/obj/structure/platform/cutout
icon_state = "platform_cutout"
- density = 0
+ density = FALSE
+
+/obj/structure/platform/cutout/CanPass()
+ return TRUE
/obj/structure/platform/cutout/dark
icon_state = "platform_cutout_dark"
color = COLOR_DARK_GUNMETAL
-/obj/structure/platform/cutout/CanPass()
- return TRUE
+/obj/structure/platform/cutout/metal
+ icon_state = "metal_platform_cutout"
+ color = null
+
+/obj/structure/platform/cutout/metal_alt
+ icon_state = "metal_platform_alt_cutout"
+ color = null
+
+/obj/structure/platform/cutout/column
+ icon_state = "column_platform_cutout"
+ color = null
+
+// ---------- Platform decos
/// No special CanPass for this one.
/obj/structure/platform_deco
@@ -545,3 +589,29 @@
/obj/structure/platform_deco/ledge/dark
icon_state = "ledge_deco_dark"
color = COLOR_DARK_GUNMETAL
+
+/obj/structure/platform_deco/rock
+ icon_state = "colorable_rock_platform_deco"
+ color = COLOR_GRAY40
+
+// ---------- Non-colourable platform decos
+
+/obj/structure/platform_deco/metal
+ icon_state = "metal_platform_deco"
+ color = null
+
+/obj/structure/platform_deco/metal_alt
+ icon_state = "metal_platform_alt_deco"
+ color = null
+
+/obj/structure/platform_deco/engineer
+ icon_state = "engineer_platform_deco"
+ color = null
+
+/obj/structure/platform_deco/accented
+ icon_state = "accented_platform_deco"
+ color = null
+
+/obj/structure/platform_deco/column
+ icon_state = "column_platform_deco"
+ color = null
diff --git a/html/changelogs/kano-platform-sprite-port.yml b/html/changelogs/kano-platform-sprite-port.yml
new file mode 100644
index 00000000000..ae2e3a9ba4d
--- /dev/null
+++ b/html/changelogs/kano-platform-sprite-port.yml
@@ -0,0 +1,4 @@
+author: kano
+delete-after: True
+changes:
+ - rscadd: "Ported various platform sprites from CM."
diff --git a/icons/obj/structure/platforms.dmi b/icons/obj/structure/platforms.dmi
index 0126fe62e87bba4de49bb8dc5a955d9fafc70dea..6de5f0429c6cde7141ac0e41a1e05041beee8781 100644
GIT binary patch
literal 14020
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