diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm
index b28de437ed..8edd1c2a76 100644
--- a/code/game/objects/items/airlock_painter.dm
+++ b/code/game/objects/items/airlock_painter.dm
@@ -157,7 +157,7 @@
to_chat(user, "You need to get closer!")
return
if(use_paint(user) && isturf(F))
- F.AddElement(/datum/element/decal, 'icons/turf/decals.dmi', stored_decal_total, turn(stored_dir, -dir2angle(F.dir)), CLEAN_STRONG, color, null, null, alpha)
+ F.AddElement(/datum/element/decal, 'icons/turf/decals.dmi', stored_decal_total, stored_dir, CLEAN_STRONG, color, null, null, alpha)
/obj/item/airlock_painter/decal/attack_self(mob/user)
if((ink) && (ink.charges >= 1))
@@ -180,6 +180,11 @@
stored_decal_total = "[stored_decal][yellow_fix][stored_color]"
return
+/obj/item/airlock_painter/decal/ui_assets(mob/user)
+ return list(
+ get_asset_datum(/datum/asset/spritesheet/decals)
+ )
+
/obj/item/airlock_painter/decal/ui_interact(mob/user, datum/tgui/ui)
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
@@ -189,6 +194,7 @@
/obj/item/airlock_painter/decal/ui_data(mob/user)
var/list/data = list()
data["decal_direction"] = stored_dir
+ data["decal_dir_text"] = dir2text(stored_dir)
data["decal_color"] = stored_color
data["decal_style"] = stored_decal
data["decal_list"] = list()
diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm
index e32fcee639..8eedd640a7 100644
--- a/code/modules/asset_cache/asset_list_items.dm
+++ b/code/modules/asset_cache/asset_list_items.dm
@@ -345,6 +345,14 @@
InsertAll("", each, GLOB.alldirs)
..()
+/datum/asset/spritesheet/decals
+ name = "decals"
+
+/datum/asset/spritesheet/decals/register()
+ for(var/each in list('icons/turf/decals.dmi'))
+ InsertAll("", each, GLOB.alldirs)
+ ..()
+
/datum/asset/spritesheet/supplypods
name = "supplypods"
diff --git a/icons/turf/decals.dmi b/icons/turf/decals.dmi
index 2b2b62a99c..4ed8c8db9a 100644
Binary files a/icons/turf/decals.dmi and b/icons/turf/decals.dmi differ
diff --git a/tgui/packages/tgui/interfaces/DecalPainter.js b/tgui/packages/tgui/interfaces/DecalPainter.js
index 90ab589208..7ca080f5e5 100644
--- a/tgui/packages/tgui/interfaces/DecalPainter.js
+++ b/tgui/packages/tgui/interfaces/DecalPainter.js
@@ -1,6 +1,7 @@
import { useBackend } from '../backend';
-import { Button, Section } from '../components';
+import { Box, Button, Section } from '../components';
import { Window } from '../layouts';
+import { classes } from 'common/react';
export const DecalPainter = (props, context) => {
const { act, data } = useBackend(context);
@@ -16,11 +17,25 @@ export const DecalPainter = (props, context) => {
{decal_list.map(decal => (
))}
@@ -28,15 +43,29 @@ export const DecalPainter = (props, context) => {
return (
);
})}
@@ -45,7 +74,12 @@ export const DecalPainter = (props, context) => {
return (
);
})}