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 Screenshot_8 ### 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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