Skip to content

Commit 1ce8a52

Browse files
AyIongGaxeer
andauthored
[516 ONLY] NanoMap 2: Remake (#1189)
## Что этот PR делает Все этого ждали, все этого хотели (наверное), и вот, с 516 это возможно (ну и с React) Полностью переделанная с нуля карта, которая получила купу фишек: - Поддержка скролла - Мини-карта - Персонализация. Возможность отключить мини-карту, сменить её положение и включить иннерцию - Сохранение состояния. Где закончили просмотр там и можете продолжить, ну либо кто-то после вас может продолжить. - Центрирование на выбранный объект, например, на выбранную камеру. На случай если вы потеряли её Сделано с использованием [React Zoom Pan Pinch](https://github.com/BetterTyped/react-zoom-pan-pinch) Энивей, мержить до полного перехода на 516 не стоит, работать это на 515 **НЕ БУДЕТ** ## Почему это хорошо для игры Это удобно, наконец можно (будет) скроллить мапу а не дёргать кривой полузок. И продолжать там где закончили. ## Изображения изменений https://github.com/user-attachments/assets/7a2561e5-53c3-49bf-aafe-95eda02f67d2 ## Тестирование Да. <details> <summary> и даже на 515 </summary> ![image](https://github.com/user-attachments/assets/87984934-387b-404e-93ad-23aee68794d5) </details> ## Changelog :cl: qol: НаноКарты переделаны с нуля и теперь поддерживают скролл. add: Все интерфейсы с наномапами (пока только камеры), имеют настройки которые сохраняются пежду раундами: положение мини-карты возможность её выключить и состояние иннерции. add: Состояние карты в консоли камер (выбранный уровень, положение и зум) теперь сохраняется, и все игроки видят одно и то же. Хранится оно раунд, что логично. /:cl: --------- Co-authored-by: Gaxeer <[email protected]>
1 parent 749d2cf commit 1ce8a52

35 files changed

+953
-454
lines changed

code/game/machinery/computer/camera.dm

-5
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,6 @@
9898
data["network"] = network
9999
data["mapRef"] = cam_screen.assigned_map
100100
data["cameras"] = GLOB.cameranet.get_available_cameras_data(network)
101-
102-
update_available_z_levels(data["cameras"]) // BANDASTATION ADDITION - Nanomap
103-
104101
return data
105102

106103
/obj/machinery/computer/security/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
@@ -115,8 +112,6 @@
115112
if(isnull(active_camera))
116113
return TRUE
117114

118-
current_z_level_index = z_levels.Find("[active_camera.z]") // BANDASTATION ADDITION - Nanomap
119-
120115
update_active_camera_screen()
121116

122117
return TRUE
-2.08 MB
Loading
-1.62 MB
Loading
-2.29 MB
Loading
-2.59 MB
Loading
-250 KB
Loading
-687 KB
Loading
-1.75 MB
Loading
-1.44 MB
Loading
-1.92 MB
Loading
-1.23 MB
Loading
-1.38 MB
Loading
-946 KB
Loading
-1020 KB
Loading
-1.34 MB
Loading
-731 KB
Loading

modular_bandastation/aesthetics/_aesthetics.dme

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111
#include "clothing/centcom/code/head/hat.dm"
1212
#include "clothing/centcom/code/head/winterhood.dm"
1313
#include "clothing/centcom/code/mask/mask.dm"
14+
#include "clothing/centcom/code/mod/mod_theme.dm"
15+
#include "clothing/centcom/code/mod/mod_types.dm"
1416
#include "clothing/centcom/code/suits/armor.dm"
1517
#include "clothing/centcom/code/suits/jacket.dm"
1618
#include "clothing/centcom/code/suits/wintercoats.dm"
1719
#include "clothing/centcom/code/under/centcom.dm"
18-
#include "clothing/centcom/code/mod/mod_theme.dm"
19-
#include "clothing/centcom/code/mod/mod_types.dm"
2020
#include "disposal/code/disposal.dm"
2121
#include "dresser/code/dresser.dm"
2222
#include "firealarm/code/firealarm.dm"
@@ -29,6 +29,7 @@
2929
#include "radio/code/radio.dm"
3030
#include "railings/code/railings.dm"
3131
#include "smes/code/smes.dm"
32+
#include "smoothing/code/smoothing.dm"
3233
#include "soap/code/soap.dm"
3334
#include "supply_pods/code/supply_pods.dm"
3435
#include "vending/code/vending.dm"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
/**
2+
* Перезапись флагов у сглаживаемых объектов
3+
*
4+
* Используется в проде.
5+
* При изменении флагов не забудьте обновить перезаписи перезаписей...
6+
*/
7+
8+
// MARK: Windows
9+
/obj/structure/window/fulltile
10+
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE
11+
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
12+
13+
/obj/structure/window/reinforced/fulltile
14+
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE
15+
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
16+
17+
/obj/structure/window/reinforced/tinted/fulltile
18+
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE
19+
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
20+
21+
/obj/structure/window/plasma/fulltile
22+
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE
23+
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
24+
25+
/obj/structure/window/reinforced/plasma/fulltile
26+
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE
27+
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
28+
29+
/obj/structure/window/reinforced/shuttle
30+
smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE
31+
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE + SMOOTH_GROUP_TITANIUM_WALLS
32+
33+
/turf/closed/indestructible/fakeglass
34+
smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE
35+
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
36+
37+
// MARK: Walls
38+
/turf/closed/wall
39+
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
40+
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
41+
42+
/turf/closed/wall/mineral/titanium
43+
smoothing_groups = SMOOTH_GROUP_TITANIUM_WALLS + SMOOTH_GROUP_CLOSED_TURFS
44+
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE + SMOOTH_GROUP_TITANIUM_WALLS
45+
46+
/turf/closed/wall/mineral/cult
47+
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
48+
49+
/turf/closed/wall/material
50+
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
51+
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
52+
53+
/turf/closed/indestructible/riveted
54+
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
55+
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
56+
57+
/turf/closed/indestructible/reinforced
58+
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
59+
60+
/turf/closed/indestructible/cult
61+
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
62+
63+
/obj/structure/falsewall
64+
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
65+
66+
/obj/structure/girder
67+
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
68+
69+
// MARK: Other
70+
/obj/structure/lattice
71+
smoothing_groups = SMOOTH_GROUP_LATTICE
72+
canSmoothWith = SMOOTH_GROUP_LATTICE + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_OPEN_FLOOR
73+
74+
/**
75+
* Это перезаписи перезаписей для рендера наномап и интерактивных карт.
76+
*
77+
* Я рот блять ебал этой хуйни, но это единственный способ который я вижу,
78+
* дабы сделать хорошее, красивое сглаживание на рендерах.
79+
*/
80+
#ifndef CBT
81+
// MARK: Windows
82+
/obj/structure/window/fulltile
83+
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
84+
canSmoothWith = list(SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
85+
86+
/obj/structure/window/reinforced/fulltile
87+
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
88+
canSmoothWith = list(SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
89+
90+
/obj/structure/window/reinforced/tinted/fulltile
91+
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
92+
canSmoothWith = list(SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
93+
94+
/obj/structure/window/plasma/fulltile
95+
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
96+
canSmoothWith = list(SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
97+
98+
/obj/structure/window/reinforced/plasma/fulltile
99+
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
100+
canSmoothWith = list(SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
101+
102+
/obj/structure/window/reinforced/shuttle
103+
smoothing_groups = list(SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE)
104+
canSmoothWith = list(SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE, SMOOTH_GROUP_TITANIUM_WALLS)
105+
106+
/turf/closed/indestructible/fakeglass
107+
smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE)
108+
canSmoothWith = list(SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
109+
110+
// MARK: Walls
111+
/turf/closed/wall
112+
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_CLOSED_TURFS)
113+
canSmoothWith = list(SMOOTH_GROUP_GIRDER, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
114+
115+
/turf/closed/wall/mineral/titanium
116+
smoothing_groups = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_CLOSED_TURFS)
117+
canSmoothWith = list(SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE, SMOOTH_GROUP_TITANIUM_WALLS)
118+
119+
/turf/closed/wall/mineral/cult
120+
canSmoothWith = list(SMOOTH_GROUP_GIRDER, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
121+
122+
/turf/closed/wall/material
123+
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_CLOSED_TURFS)
124+
canSmoothWith = list(SMOOTH_GROUP_GIRDER, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
125+
126+
/turf/closed/indestructible/riveted
127+
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_CLOSED_TURFS)
128+
canSmoothWith = list(SMOOTH_GROUP_GIRDER, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
129+
130+
/turf/closed/indestructible/reinforced
131+
canSmoothWith = list(SMOOTH_GROUP_GIRDER, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
132+
133+
/turf/closed/indestructible/cult
134+
canSmoothWith = list(SMOOTH_GROUP_GIRDER, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
135+
136+
/obj/structure/falsewall
137+
canSmoothWith = list(SMOOTH_GROUP_GIRDER, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
138+
139+
/obj/structure/girder
140+
canSmoothWith = list(SMOOTH_GROUP_GIRDER, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_WALLS)
141+
142+
// MARK: Other
143+
/obj/machinery/door/airlock
144+
smoothing_groups = list(SMOOTH_GROUP_AIRLOCK)
145+
146+
/obj/structure/lattice
147+
smoothing_groups = list(SMOOTH_GROUP_LATTICE)
148+
canSmoothWith = list(SMOOTH_GROUP_LATTICE, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_OPEN_FLOOR)
149+
#endif

modular_bandastation/aesthetics/walls/code/rocks.dm

+7
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@
1818
color = rock_color(ROCK_COLOR)
1919
transform = null
2020

21+
/turf/closed/mineral/minimap
22+
name = "DO NOT USE!!!"
23+
icon = DEFAULT_ROCKS
24+
icon_state = "smoothrocks-0"
25+
base_icon_state = "smoothrocks"
26+
color = ROCK_COLOR
27+
2128
/turf/closed/mineral/strong
2229
icon = MAP_SWITCH(CONTRAST_ROCKS, MAPPING_ROCKS)
2330
icon_state = rock_icon_state("rock2")

modular_bandastation/aesthetics/walls/code/walls.dm

-17
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
icon = 'icons/bandastation/walls/wall.dmi'
44
icon_state = "wall-0"
55
base_icon_state = "wall"
6-
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
76

87
/turf/closed/wall/rust
98
icon = 'icons/bandastation/walls/wall.dmi'
@@ -20,50 +19,38 @@
2019
icon_state = "reinforced_wall-0"
2120
base_icon_state = "reinforced_wall"
2221

23-
/turf/closed/wall/mineral/titanium
24-
smoothing_groups = SMOOTH_GROUP_TITANIUM_WALLS + SMOOTH_GROUP_CLOSED_TURFS
25-
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE + SMOOTH_GROUP_TITANIUM_WALLS
26-
2722
/turf/closed/wall/mineral/cult
2823
icon = 'icons/bandastation/walls/cult_wall.dmi'
2924
icon_state = "cult_wall-0"
3025
base_icon_state = "cult_wall"
31-
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
3226

3327
/turf/closed/wall/material
3428
icon = 'icons/bandastation/walls/material_wall.dmi'
3529
icon_state = "material_wall-0"
3630
base_icon_state = "material_wall"
37-
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
38-
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
3931

4032
// MARK: Indestructible walls
4133
/turf/closed/indestructible/riveted
4234
icon = 'icons/bandastation/walls/reinforced_wall.dmi'
4335
icon_state = "reinforced_wall-0"
4436
base_icon_state = "reinforced_wall"
45-
smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
46-
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
4737

4838
/turf/closed/indestructible/reinforced
4939
icon = 'icons/bandastation/walls/reinforced_wall.dmi'
5040
icon_state = "reinforced_wall-0"
5141
base_icon_state = "reinforced_wall"
52-
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
5342

5443
/turf/closed/indestructible/cult
5544
icon = 'icons/bandastation/walls/cult_wall.dmi'
5645
icon_state = "cult_wall-0"
5746
base_icon_state = "cult_wall"
58-
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
5947

6048
// MARK: Falsewalls
6149
/obj/structure/falsewall
6250
icon = 'modular_bandastation/aesthetics/walls/icons/false_walls.dmi'
6351
base_icon_state = "wall"
6452
icon_state = "wall-open"
6553
fake_icon = 'icons/bandastation/walls/wall.dmi'
66-
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
6754

6855
/obj/structure/falsewall/reinforced
6956
icon_state = "reinforced_wall-open"
@@ -112,7 +99,3 @@
11299

113100
/obj/structure/falsewall/material
114101
icon = 'icons/turf/walls/false_walls.dmi'
115-
116-
// MARK: Girder
117-
/obj/structure/girder
118-
canSmoothWith = SMOOTH_GROUP_GIRDER + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS

modular_bandastation/aesthetics/windows/code/full_tile_windows.dm

+38-9
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,45 @@
2222
edge_overlay.color = edge_overlay_color
2323
. += edge_overlay
2424

25+
/**
26+
* Рамки окон но как отдельный объект.
27+
* НЕ ИСПОЛЬЗОВАТЬ!!!
28+
*
29+
* Только для рендера карт.
30+
*/
31+
/obj/structure/window/fulltile/frame
32+
name = "DONT USE THIS"
33+
icon = 'icons/bandastation/windows/window_edges.dmi'
34+
icon_state = "edge-0"
35+
base_icon_state = "edge"
36+
color = EDGE_OVERLAY_COLOR
37+
38+
/obj/structure/window/reinforced/fulltile/frame
39+
name = "DONT USE THIS"
40+
icon = 'icons/bandastation/windows/reinforced_window_edges.dmi'
41+
icon_state = "edge-0"
42+
base_icon_state = "edge"
43+
color = EDGE_OVERLAY_COLOR
44+
2545
/obj/structure/window/fulltile
2646
icon = 'icons/bandastation/windows/window.dmi'
2747
edge_overlay_file = 'icons/bandastation/windows/window_edges.dmi'
2848
icon_state = "window-0"
2949
base_icon_state = "window"
30-
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
3150
color = WINDOW_COLOR
3251

3352
/obj/structure/window/reinforced/fulltile
3453
icon = 'icons/bandastation/windows/reinforced_window.dmi'
3554
edge_overlay_file = 'icons/bandastation/windows/reinforced_window_edges.dmi'
3655
icon_state = "reinforced_window-0"
3756
base_icon_state = "reinforced_window"
38-
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
3957
color = WINDOW_COLOR
4058

4159
/obj/structure/window/reinforced/tinted/fulltile
4260
icon = 'icons/bandastation/windows/reinforced_window.dmi'
4361
edge_overlay_file = 'icons/bandastation/windows/reinforced_window_edges.dmi'
4462
icon_state = "reinforced_window-0"
4563
base_icon_state = "reinforced_window"
46-
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
4764
flags_1 = UNPAINTABLE_1
4865
color = TINTED_WINDOW_COLOR
4966

@@ -52,7 +69,6 @@
5269
edge_overlay_file = 'icons/bandastation/windows/window_edges.dmi'
5370
icon_state = "window-0"
5471
base_icon_state = "window"
55-
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
5672
flags_1 = UNPAINTABLE_1
5773
color = PLASMA_WINDOW_COLOR
5874

@@ -61,20 +77,34 @@
6177
edge_overlay_file = 'icons/bandastation/windows/reinforced_window_edges.dmi'
6278
icon_state = "reinforced_window-0"
6379
base_icon_state = "reinforced_window"
64-
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
6580
flags_1 = UNPAINTABLE_1
6681
color = PLASMA_WINDOW_COLOR
6782

68-
/obj/structure/window/reinforced/shuttle
69-
canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE + SMOOTH_GROUP_TITANIUM_WALLS
70-
7183
/obj/structure/window/reinforced/fulltile/ice
7284
edge_overlay_file = null
7385

7486
// MARK: Spawners
7587
/obj/effect/spawner/structure/window
7688
icon = 'modular_bandastation/aesthetics/windows/icons/spawners.dmi'
7789

90+
/obj/effect/spawner/structure/window
91+
spawn_list = MAP_SWITCH(list(/obj/structure/grille, /obj/structure/window/fulltile), list(/obj/structure/grille, /obj/structure/window/fulltile, /obj/structure/window/fulltile/frame))
92+
93+
/obj/effect/spawner/structure/window/reinforced
94+
spawn_list = MAP_SWITCH(list(/obj/structure/grille, /obj/structure/window/reinforced/fulltile), list(/obj/structure/grille, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/fulltile/frame))
95+
96+
/obj/effect/spawner/structure/window/reinforced/tinted
97+
spawn_list = MAP_SWITCH(list(/obj/structure/grille, /obj/structure/window/reinforced/tinted/fulltile), list(/obj/structure/grille, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/reinforced/fulltile/frame))
98+
99+
/obj/effect/spawner/structure/window/plasma
100+
spawn_list = MAP_SWITCH(list(/obj/structure/grille, /obj/structure/window/plasma/fulltile), list(/obj/structure/grille, /obj/structure/window/plasma/fulltile, /obj/structure/window/fulltile/frame))
101+
102+
/obj/effect/spawner/structure/window/reinforced/plasma
103+
spawn_list = MAP_SWITCH(list(/obj/structure/grille, /obj/structure/window/reinforced/plasma/fulltile), list(/obj/structure/grille, /obj/structure/window/reinforced/plasma/fulltile, /obj/structure/window/reinforced/fulltile/frame))
104+
105+
/obj/effect/spawner/structure/window/reinforced/indestructible
106+
spawn_list = MAP_SWITCH(list(/obj/structure/grille/indestructible, /obj/structure/window/reinforced/fulltile/indestructible), list(/obj/structure/grille/indestructible, /obj/structure/window/reinforced/fulltile/indestructible, /obj/structure/window/reinforced/fulltile/frame))
107+
78108
// Override to original
79109
/obj/effect/spawner/structure/window/bronze
80110
icon = 'icons/obj/structures_spawners.dmi'
@@ -99,7 +129,6 @@
99129
icon = 'icons/bandastation/windows/reinforced_window.dmi'
100130
icon_state = "reinforced_window-0"
101131
base_icon_state = "reinforced_window"
102-
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_WALLS
103132
color = WINDOW_COLOR
104133
/// Used to define what file the edging sprite is contained within
105134
var/edge_overlay_file = 'icons/bandastation/windows/reinforced_window_edges.dmi'
+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include "_nanomap.dm"
22

3-
#include "code/camera.dm"
4-
#include "code/nanomaps_asset.dm"
3+
#include "code/camera_console.dm"
4+
#include "code/nanomap_assets.dm"
5+
#include "code/nanomap_datum.dm"

0 commit comments

Comments
 (0)