move the internal preview to canvas (#18930)

* move the internal preview to canvas

* use a helper

* basic readme prep

* .

* .

* transform  better

* byond can't handle icon states of large files...

* move fully to the rust version

* fix typing

* just wtf. NO

* fix the legacy path

* keep it all centralized

* tiny oversight

* unit test rewrite

* rename

* fix bad layering

* fixes a bunch of layering issues

* artifact

* move crash to log_runtime

* missing overlay warning

* why not
This commit is contained in:
Kashargul
2025-12-24 05:28:39 +01:00
committed by GitHub
parent c4134dbf04
commit 92182e0946
79 changed files with 477 additions and 310 deletions
@@ -158,7 +158,7 @@
if (!directions)
directions = list(SOUTH)
for (var/icon_state_name in icon_states(I))
for (var/icon_state_name in icon_states_fast(I))
for (var/direction in directions)
var/prefix2 = (directions.len > 1 && prefix_with_dirs) ? "[dir2text(direction)]-" : ""
insert_icon("[prefix][prefix2][icon_state_name]", uni_icon(I, icon_state_name, direction))
@@ -487,7 +487,7 @@
var/dir_count = state_data["dirs"]
if(dir_count == 1)
base_icon_dir = SOUTH
else if(!length(icon_states(icon(curicon, curstate, NORTH))))
else if(!length(icon_states_fast(icon(curicon, curstate, NORTH))))
base_icon_dir = SOUTH
var/list/icon_dimensions = get_icon_dimensions(curicon)