mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
[MIRROR] RTD Rapid Tiling Device [MDB IGNORE] (#18546)
* 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>
This commit is contained in:
co-authored by
SyncIt21
Zonespace
parent
85b56a310d
commit
a3d2bc53ae
@@ -0,0 +1,54 @@
|
||||
/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)
|
||||
Reference in New Issue
Block a user