mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-30 02:52:30 +00:00
* RTD Rapid Tiling Device * Update tool_designs.dm Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
55 lines
2.1 KiB
Plaintext
55 lines
2.1 KiB
Plaintext
/datum/asset/spritesheet/rtd
|
|
name = "rtd"
|
|
|
|
/datum/asset/spritesheet/rtd/create_spritesheets()
|
|
//some tiles may share the same icon but have diffrent properties to animate that icon
|
|
//so we keep track of what icons we registered
|
|
var/list/registered = list()
|
|
|
|
for(var/main_root in GLOB.floor_designs)
|
|
for(var/sub_category in GLOB.floor_designs[main_root])
|
|
for(var/list/design in GLOB.floor_designs[main_root][sub_category])
|
|
var/obj/item/stack/tile/type = design["type"]
|
|
var/icon_state = initial(type.icon_state)
|
|
if(registered[icon_state])
|
|
continue
|
|
|
|
Insert(sprite_name = icon_state, I = 'icons/obj/tiles.dmi', icon_state = icon_state)
|
|
registered[icon_state] = TRUE
|
|
|
|
var/list/tile_directions = design["tile_rotate_dirs"]
|
|
if(tile_directions == null)
|
|
continue
|
|
|
|
for(var/direction as anything in tile_directions)
|
|
//we can rotate the icon is css for these directions
|
|
if(direction in GLOB.tile_dont_rotate)
|
|
continue
|
|
|
|
//but for these directions we have to do some hacky stuff
|
|
var/icon/img = icon(icon = 'icons/obj/tiles.dmi', icon_state = icon_state)
|
|
switch(direction)
|
|
if(NORTHEAST)
|
|
img.Turn(-180)
|
|
var/icon/east_rotated = icon(icon = 'icons/obj/tiles.dmi', icon_state = icon_state)
|
|
east_rotated.Turn(-90)
|
|
img.Blend(east_rotated,ICON_MULTIPLY)
|
|
img.SetIntensity(2,2,2)
|
|
if(NORTHWEST)
|
|
img.Turn(-180)
|
|
var/icon/west_rotated = icon(icon = 'icons/obj/tiles.dmi', icon_state = icon_state)
|
|
west_rotated.Turn(90)
|
|
img.Blend(west_rotated,ICON_MULTIPLY)
|
|
img.SetIntensity(2,2,2)
|
|
if(SOUTHEAST)
|
|
var/icon/east_rotated = icon(icon = 'icons/obj/tiles.dmi', icon_state = icon_state)
|
|
east_rotated.Turn(-90)
|
|
img.Blend(east_rotated,ICON_MULTIPLY)
|
|
img.SetIntensity(2,2,2)
|
|
if(SOUTHWEST)
|
|
var/icon/west_rotated = icon(icon = 'icons/obj/tiles.dmi', icon_state = icon_state)
|
|
west_rotated.Turn(90)
|
|
img.Blend(west_rotated,ICON_MULTIPLY)
|
|
img.SetIntensity(2,2,2)
|
|
Insert(sprite_name = "[icon_state]-[dir2text(direction)]", I = img)
|