W)EzTQei};;f|^Z~MThLSkI-mAI<$QPP9cIzOn@ieccJ&|T=$zfuV&B}
zRB9zGt$F9PN5-)MY$IoN&+kLEJAR!@MOS<%?$z>650*cuSUZg9Wx7ls3-G?y5CS+u
z(1!@??y>EW*;TT;qlRX+$n?s}JGRkL6!$O$jdf%M4biXIEL?IpQeMd=UJQXA!NWy+
zHnK0WurDkVo^_b7GqJ5e#99j6c90{)?sKmeCU)PyuJ^ZQSSudCT&X%HOli2R#PjeN
z!DuMLAr17+%qDp4lIM5+UR;rQw1;?0gKXzUAo~>CjrMnhu~C%c9<(36!h|~XSUUy#
zVss3}y)f>4!0;W}b7v#3J|gxQ{Q|M qDT;B>c}qW6G;<&L%dK
zAum;NeF33f@UrBkYMxKJHc<^>F~f{@lgO+%M7{QoEx(uvOpr#(uC(HFqcC0S;D(B(
z=eG>MX|Dl2^ef7@^Bcs8jV_DQ->NegTh#iuv3(q!=SjptJ@nkrHdd#O{MkYC(1oID
ze5!VI4>=?yjL8UdIYh$IlGZ$pQ&zr)6#t7g%RGbas1-CfZSlGqB9WDuP){DlQ}kN%
zDM26oJw4tri~k*}$aA)k9!9nRr2&cKc+gIQyO@G%0eLa)zOMn`i>n#}=(@^>h+nQm
zo}sT}{U<+67<@xtTxrGSlP|pn;ujObsQWDDERd|!0q!WR eHmaPT9!R7X=YKZc|C=eayPJG`l6FDLcn
u+dd8FtPL>GbmYu%*=rglkJ5|yX+vwjKjs2Q9-cb@aCSIkU$yr{@_zwI9EN28
From bc16600070f707679818774d5fa0ff6a6c5fbd6c Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Fri, 10 Apr 2020 04:00:59 -0700
Subject: [PATCH 23/30] alternative way
---
code/__DEFINES/storage.dm | 4 ++
code/_onclick/hud/screen_objects/storage.dm | 6 ++-
code/datums/components/storage/ui.dm | 44 +++++++++++----------
3 files changed, 33 insertions(+), 21 deletions(-)
diff --git a/code/__DEFINES/storage.dm b/code/__DEFINES/storage.dm
index bdcb638666..b4240455fe 100644
--- a/code/__DEFINES/storage.dm
+++ b/code/__DEFINES/storage.dm
@@ -41,3 +41,7 @@
#define MINIMUM_PIXELS_PER_ITEM 6
/// Maximum number of objects that will be allowed to be displayed using the volumetric display system. Arbitrary number to prevent server lockups.
#define MAXIMUM_VOLUMETRIC_ITEMS 256
+/// How much padding to give between items
+#define VOLUMETRIC_STORAGE_ITEM_PADDING 1
+/// How much padding to give to edges
+#define VOLUMETRIC_STORAGE_EDGE_PADDING 1
diff --git a/code/_onclick/hud/screen_objects/storage.dm b/code/_onclick/hud/screen_objects/storage.dm
index 5b73d8721a..db287565f2 100644
--- a/code/_onclick/hud/screen_objects/storage.dm
+++ b/code/_onclick/hud/screen_objects/storage.dm
@@ -71,6 +71,7 @@
icon_state = "stored_continue"
var/obj/screen/storage/stored_left/left
var/obj/screen/storage/stored_right/right
+ var/pixel_size
/obj/screen/storage/volumetric_box/center/Initialize(mapload, new_master, our_item)
left = new(null, src, our_item)
@@ -78,7 +79,7 @@
return ..()
/obj/screen/storage/volumetric_box/center/Destroy()
- QDEL_NULL(lefT)
+ QDEL_NULL(left)
QDEL_NULL(right)
return ..()
@@ -89,6 +90,9 @@
* Sets the size of this box screen object and regenerates its left/right borders. This includes the actual border's size!
*/
/obj/screen/storage/volumetric_box/center/proc/set_pixel_size(pixels)
+ if(pixel_size == pixels)
+ return
+ pixel_size = pixels
cut_overlays()
//our icon size is 32 pixels.
transform = matrix((pixels - (VOLUMETRIC_STORAGE_BOX_BORDER_SIZE * 2)) / VOLUMETRIC_STORAGE_BOX_ICON_SIZE, 0, 0, 0, 1, 0)
diff --git a/code/datums/components/storage/ui.dm b/code/datums/components/storage/ui.dm
index 0d606a2f84..aa778c0054 100644
--- a/code/datums/components/storage/ui.dm
+++ b/code/datums/components/storage/ui.dm
@@ -81,14 +81,9 @@
// Generate ui_item_blocks for missing ones and render+orient.
var/list/atom/contents = accessible_items()
-
- var/horizontal_pixels = maxcolumns * world.icon_size
- // do the check for fallback for when someone has too much gamer gear
- if((MINIMUM_PIXELS_PER_ITEM * length(contents)) > horizontal_pixels)
- to_chat(user, "[parent] was showed to you in legacy mode due to your items overrunning the three row limit! Consider not carrying too much or bugging a maintainer to raise this limit!")
- return orient2hud_legacy(user, maxcolumns)
- // after this point we are sure we can somehow fit all items with 8 pixels or more into our one row.
-
+ // our volume
+ var/our_volume = get_max_volume()
+ var/horizontal_pixels = (maxcolumns * world.icon_size) - (VOLUMETRIC_STORAGE_EDGE_PADDING * 2)
// sigh loopmania time
var/used = 0
// define outside for performance
@@ -100,33 +95,41 @@
used += volume
volume_by_item[I] = volume
percentage_by_item[I] = volume / get_max_volume()
- to_chat(world, "DEBUG: [I] volume [volume] percent [percentage_by_item[I]]")
var/overrun = FALSE
- if(used >= (horizontal_pixels + 4)) //2-4 pixel grace zone
+ if(used > our_volume)
// congratulations we are now in overrun mode. everything will be crammed to minimum storage pixels.
to_chat(user, "[parent] rendered in overrun mode due to more items inside than the maximum volume supports.")
overrun = TRUE
+ // item padding
+ horizontal_pixels -= ((length(percentage_by_item) - 1) * VOLUMETRIC_STORAGE_ITEM_PADDING)
+
+ // do the check for fallback for when someone has too much gamer gear
+ if((MINIMUM_PIXELS_PER_ITEM * length(percentage_by_item)) > horizontal_pixels)
+ to_chat(user, "[parent] was showed to you in legacy mode due to your items overrunning the three row limit! Consider not carrying too much or bugging a maintainer to raise this limit!")
+ return orient2hud_legacy(user, maxcolumns)
+ // after this point we are sure we can somehow fit all items with 8 pixels or more into our one row.
+
// define outside for marginal performance boost
var/obj/item/I
// start at this pixel from screen_start_x.
- var/current_pixel = 0
+ var/current_pixel = VOLUMETRIC_STORAGE_EDGE_PADDING
LAZYINITLIST(ui_item_blocks)
+
for(var/i in percentage_by_item)
I = i
var/percent = percentage_by_item[I]
if(!ui_item_blocks[I])
- ui_item_blocks[I] = new /obj/screen/storage/volumetric_box(null, src, I)
- var/obj/screen/storage/volumetric_box/B = ui_item_blocks[I]
- var/pixels_to_use = overrun? MINIMUM_PIXELS_PER_ITEM : max(MINIMUM_PIXELS_PER_ITEM, FLOOR(horizontal_pixels * percent, MINIMUM_PIXELS_PER_ITEM))
- to_chat(world, "DEBUG: [I] using [pixels_to_use] pixels out of [horizontal_pixels]")
+ ui_item_blocks[I] = new /obj/screen/storage/volumetric_box/center(null, src, I)
+ var/obj/screen/storage/volumetric_box/center/B = ui_item_blocks[I]
+ var/pixels_to_use = overrun? MINIMUM_PIXELS_PER_ITEM : max(MINIMUM_PIXELS_PER_ITEM, round(horizontal_pixels * percent, 1))
// now that we have pixels_to_use, place our thing and add it to the returned list.
- B.screen_loc = I.screen_loc = "[screen_start_x]:[current_pixel + (pixels_to_use * 0.5)],[screen_start_y]:[screen_pixel_y]"
+ B.screen_loc = I.screen_loc = "[screen_start_x]:[current_pixel + (pixels_to_use * 0.5) + VOLUMETRIC_STORAGE_ITEM_PADDING],[screen_start_y]:[screen_pixel_y]"
// add the used pixels to pixel after we place the object
- current_pixel += pixels_to_use
+ current_pixel += pixels_to_use + VOLUMETRIC_STORAGE_ITEM_PADDING
// set various things
B.set_pixel_size(pixels_to_use)
@@ -174,9 +177,10 @@
maxallowedscreensize = current_maxscreensize
// we got screen size, register signal
RegisterSignal(M, COMSIG_MOB_CLIENT_LOGOUT, .proc/on_logout, override = TRUE)
- if(M.active_storage)
- M.active_storage.ui_hide(M)
- M.active_storage = src
+ if(M.active_storage != src)
+ if(M.active_storage)
+ M.active_storage.ui_hide(M)
+ M.active_storage = src
LAZYOR(is_using, M)
if(volumetric_ui())
//new volumetric ui bay-style
From 84c8183ccb1f5ab09674872cd846d0da54c1c8ec Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Fri, 10 Apr 2020 04:42:34 -0700
Subject: [PATCH 24/30] k
---
code/datums/components/storage/ui.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/datums/components/storage/ui.dm b/code/datums/components/storage/ui.dm
index aa778c0054..7e9355a665 100644
--- a/code/datums/components/storage/ui.dm
+++ b/code/datums/components/storage/ui.dm
@@ -123,11 +123,11 @@
if(!ui_item_blocks[I])
ui_item_blocks[I] = new /obj/screen/storage/volumetric_box/center(null, src, I)
var/obj/screen/storage/volumetric_box/center/B = ui_item_blocks[I]
- var/pixels_to_use = overrun? MINIMUM_PIXELS_PER_ITEM : max(MINIMUM_PIXELS_PER_ITEM, round(horizontal_pixels * percent, 1))
+ var/pixels_to_use = overrun? MINIMUM_PIXELS_PER_ITEM : max(MINIMUM_PIXELS_PER_ITEM, horizontal_pixels * percent)
// now that we have pixels_to_use, place our thing and add it to the returned list.
- B.screen_loc = I.screen_loc = "[screen_start_x]:[current_pixel + (pixels_to_use * 0.5) + VOLUMETRIC_STORAGE_ITEM_PADDING],[screen_start_y]:[screen_pixel_y]"
+ B.screen_loc = I.screen_loc = "[screen_start_x]:[round(current_pixel + (pixels_to_use * 0.5) + VOLUMETRIC_STORAGE_ITEM_PADDING, 1)],[screen_start_y]:[screen_pixel_y]"
// add the used pixels to pixel after we place the object
current_pixel += pixels_to_use + VOLUMETRIC_STORAGE_ITEM_PADDING
From a9f6ac4131c2bf10cee14d971efbb7d6a85dc6fa Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Fri, 10 Apr 2020 04:42:51 -0700
Subject: [PATCH 25/30] default to legacy
---
code/datums/components/storage/storage.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm
index 7cf820239c..0efdc96600 100644
--- a/code/datums/components/storage/storage.dm
+++ b/code/datums/components/storage/storage.dm
@@ -22,7 +22,7 @@
var/locked = FALSE //when locked nothing can see inside or use it.
/// Storage flags, including what kinds of limiters we use for how many items we can hold
- var/storage_flags = STORAGE_FLAGS_VOLUME_DEFAULT
+ var/storage_flags = STORAGE_FLAGS_LEGACY_DEFAULT
/// Max w_class we can hold. Applies to [STORAGE_LIMIT_COMBINED_W_CLASS] and [STORAGE_LIMIT_VOLUME]
var/max_w_class = WEIGHT_CLASS_SMALL
/// Max combined w_class. Applies to [STORAGE_LIMIT_COMBINED_W_CLASS]
From 6705fc97247fce0e775f84907dc19fded29a77b4 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Fri, 10 Apr 2020 04:45:19 -0700
Subject: [PATCH 26/30] Update rped.dm
---
code/datums/components/storage/concrete/rped.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/components/storage/concrete/rped.dm b/code/datums/components/storage/concrete/rped.dm
index 1e609c4107..d919828e8e 100644
--- a/code/datums/components/storage/concrete/rped.dm
+++ b/code/datums/components/storage/concrete/rped.dm
@@ -3,7 +3,7 @@
allow_quick_gather = TRUE
allow_quick_empty = TRUE
click_gather = TRUE
- storage_flags = STORAGE_LIMIT_MAX_ITEMS | STORAGE_LIMIT_COMBINED_W_CLASS
+ storage_flags = STORAGE_FLAGS_LEGACY_DEFAULT
max_w_class = WEIGHT_CLASS_NORMAL
max_combined_w_class = 100
max_items = 100
From a02bad15eaccf3d539bc58476d32c765a68af6bd Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Fri, 10 Apr 2020 04:45:28 -0700
Subject: [PATCH 27/30] Update stack.dm
---
code/datums/components/storage/concrete/stack.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/components/storage/concrete/stack.dm b/code/datums/components/storage/concrete/stack.dm
index 76c7bc2af5..a3f1e526a0 100644
--- a/code/datums/components/storage/concrete/stack.dm
+++ b/code/datums/components/storage/concrete/stack.dm
@@ -1,7 +1,7 @@
//Stack-only storage.
/datum/component/storage/concrete/stack
display_numerical_stacking = TRUE
- storage_flags = STORAGE_LIMIT_COMBINED_W_CLASS | STORAGE_LIMIT_MAX_ITEMS
+ storage_flags = STORAGE_FLAGS_LEGACY_DEFAULT
var/max_combined_stack_amount = 300
max_w_class = WEIGHT_CLASS_NORMAL
max_combined_w_class = WEIGHT_CLASS_NORMAL * 14
From 37884962049e7d61514cc2d14030d791acd999bc Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Fri, 10 Apr 2020 12:42:50 -0700
Subject: [PATCH 28/30] multiline support
---
code/_globalvars/bitfields.dm | 6 +++
code/datums/components/storage/storage.dm | 5 +-
code/datums/components/storage/ui.dm | 60 +++++++++++++----------
3 files changed, 41 insertions(+), 30 deletions(-)
diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm
index 5367322d8e..488926e078 100644
--- a/code/_globalvars/bitfields.dm
+++ b/code/_globalvars/bitfields.dm
@@ -249,5 +249,11 @@ GLOBAL_LIST_INIT(bitfields, list(
"COMBAT_FLAG_SOFT_STAMCRIT" = COMBAT_FLAG_SOFT_STAMCRIT,
"COMBAT_FLAG_INTENTIONALLY_RESTING" = COMBAT_FLAG_INTENTIONALLY_RESTING,
"COMBAT_FLAG_RESISTING_REST" = COMBAT_FLAG_RESISTING_REST
+ ),
+ "storage_flags" = list(
+ "STORAGE_LIMIT_MAX_ITEMS" = STORAGE_LIMIT_MAX_ITEMS,
+ "STORAGE_LIMIT_MAX_W_CLASS" = STORAGE_LIMIT_MAX_W_CLASS,
+ "STORAGE_LIMIT_COMBINED_W_CLASS" = STORAGE_LIMIT_COMBINED_W_CLASS
+ "STORAGE_LIMIT_VOLUME" = STORAGE_LIMIT_VOLUME
)
))
diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm
index 0efdc96600..7cd43ccece 100644
--- a/code/datums/components/storage/storage.dm
+++ b/code/datums/components/storage/storage.dm
@@ -50,11 +50,9 @@
var/obj/screen/storage/boxes/ui_boxes
/// New volumetric storage display mode's left side
var/obj/screen/storage/left/ui_left
- /// New volumetric storage display mode's right side
- var/obj/screen/storage/right/ui_right
/// New volumetric storage display mode's center 'blocks'
var/obj/screen/storage/continuous/ui_continuous
- /// The close button, used in all modes.
+ /// The close button, used in all modes. Frames right side in volumetric mode.
var/obj/screen/storage/close/ui_close
/// Associative list of list(item = screen object) for volumetric storage item screen blocks
var/list/ui_item_blocks
@@ -130,7 +128,6 @@
QDEL_NULL(ui_close)
QDEL_NULL(ui_continuous)
QDEL_NULL(ui_left)
- QDEL_NULL(ui_right)
// DO NOT USE QDEL_LIST_ASSOC.
if(ui_item_blocks)
for(var/i in ui_item_blocks)
diff --git a/code/datums/components/storage/ui.dm b/code/datums/components/storage/ui.dm
index 7e9355a665..23fabf76e8 100644
--- a/code/datums/components/storage/ui.dm
+++ b/code/datums/components/storage/ui.dm
@@ -84,6 +84,7 @@
// our volume
var/our_volume = get_max_volume()
var/horizontal_pixels = (maxcolumns * world.icon_size) - (VOLUMETRIC_STORAGE_EDGE_PADDING * 2)
+ var/max_horizontal_pixels = horizontal_pixels * screen_max_rows
// sigh loopmania time
var/used = 0
// define outside for performance
@@ -95,25 +96,34 @@
used += volume
volume_by_item[I] = volume
percentage_by_item[I] = volume / get_max_volume()
+ var/padding_pixels = ((length(percentage_by_item) - 1) * VOLUMETRIC_STORAGE_ITEM_PADDING) + VOLUMETRIC_STORAGE_EDGE_PADDING * 2
+ var/min_pixels = (MINIMUM_PIXELS_PER_ITEM * length(percentage_by_item)) + padding_pixels
+ // do the check for fallback for when someone has too much gamer gear
+ if((min_pixels) > (max_horizontal_pixels + 4)) // 4 pixel grace zone
+ to_chat(user, "[parent] was showed to you in legacy mode due to your items overrunning the three row limit! Consider not carrying too much or bugging a maintainer to raise this limit!")
+ return orient2hud_legacy(user, maxcolumns)
+ // after this point we are sure we can somehow fit all items into our max number of rows.
+
+ // determine rows
+ var/rows = CLAMP(CEILING(min_pixels / horizontal_pixels, 1), 1, screen_max_rows)
+
var/overrun = FALSE
if(used > our_volume)
// congratulations we are now in overrun mode. everything will be crammed to minimum storage pixels.
to_chat(user, "[parent] rendered in overrun mode due to more items inside than the maximum volume supports.")
overrun = TRUE
- // item padding
- horizontal_pixels -= ((length(percentage_by_item) - 1) * VOLUMETRIC_STORAGE_ITEM_PADDING)
+ // how much we are using
+ var/using_horizontal_pixels = horizontal_pixels * rows
- // do the check for fallback for when someone has too much gamer gear
- if((MINIMUM_PIXELS_PER_ITEM * length(percentage_by_item)) > horizontal_pixels)
- to_chat(user, "[parent] was showed to you in legacy mode due to your items overrunning the three row limit! Consider not carrying too much or bugging a maintainer to raise this limit!")
- return orient2hud_legacy(user, maxcolumns)
- // after this point we are sure we can somehow fit all items with 8 pixels or more into our one row.
+ // item padding
+ using_horizontal_pixels -= padding_pixels
// define outside for marginal performance boost
var/obj/item/I
// start at this pixel from screen_start_x.
var/current_pixel = VOLUMETRIC_STORAGE_EDGE_PADDING
+ var/row = 1
LAZYINITLIST(ui_item_blocks)
@@ -123,11 +133,15 @@
if(!ui_item_blocks[I])
ui_item_blocks[I] = new /obj/screen/storage/volumetric_box/center(null, src, I)
var/obj/screen/storage/volumetric_box/center/B = ui_item_blocks[I]
- var/pixels_to_use = overrun? MINIMUM_PIXELS_PER_ITEM : max(MINIMUM_PIXELS_PER_ITEM, horizontal_pixels * percent)
+ var/pixels_to_use = overrun? MINIMUM_PIXELS_PER_ITEM : max(using_horizontal_pixels * percent, MINIMUM_PIXELS_PER_ITEM)
+ var/addrow = FALSE
+ if(CEILING(pixels_to_use, 1) >= FLOOR(horizontal_pixels - current_pixel - VOLUMETRIC_STORAGE_EDGE_PADDING, 1))
+ pixels_to_use = horizontal_pixels - current_pixel - VOLUMETRIC_STORAGE_EDGE_PADDING
+ addrow = TRUE
// now that we have pixels_to_use, place our thing and add it to the returned list.
- B.screen_loc = I.screen_loc = "[screen_start_x]:[round(current_pixel + (pixels_to_use * 0.5) + VOLUMETRIC_STORAGE_ITEM_PADDING, 1)],[screen_start_y]:[screen_pixel_y]"
+ B.screen_loc = I.screen_loc = "[screen_start_x]:[round(current_pixel + (pixels_to_use * 0.5) + VOLUMETRIC_STORAGE_ITEM_PADDING, 1)],[screen_start_y+row-1]:[screen_pixel_y]"
// add the used pixels to pixel after we place the object
current_pixel += pixels_to_use + VOLUMETRIC_STORAGE_ITEM_PADDING
@@ -146,20 +160,22 @@
. += B.on_screen_objects()
. += I
+ // go up a row if needed
+ if(addrow)
+ row++
+ current_pixel = VOLUMETRIC_STORAGE_EDGE_PADDING
+
// Then, continuous section.
ui_continuous = get_ui_continuous()
- ui_continuous.screen_loc = "[screen_start_x]:[screen_pixel_x],[screen_start_y]:[screen_pixel_y] to [screen_start_x+maxcolumns-1]:[screen_pixel_x],[screen_start_y]:[screen_pixel_y]"
+ ui_continuous.screen_loc = "[screen_start_x]:[screen_pixel_x],[screen_start_y]:[screen_pixel_y] to [screen_start_x+maxcolumns-1]:[screen_pixel_x],[screen_start_y+rows-1]:[screen_pixel_y]"
. += ui_continuous
- // Then, left and right.
+ // Then, left.
ui_left = get_ui_left()
- ui_left.screen_loc = "[screen_start_x]:[screen_pixel_x - 2],[screen_start_y]:[screen_pixel_y]"
+ ui_left.screen_loc = "[screen_start_x]:[screen_pixel_x - 2],[screen_start_y]:[screen_pixel_y] to [screen_start_x]:[screen_pixel_x - 2],[screen_start_y+rows-1]:[screen_pixel_y]"
. += ui_left
- ui_right = get_ui_right()
- ui_right.screen_loc = "[screen_start_x + maxcolumns]:[screen_pixel_x],[screen_start_y]:[screen_pixel_y]"
- . += ui_right
- // Then, closer.
+ // Then, closer, which is also our right element.
ui_close = get_ui_close()
- ui_close.screen_loc = "[screen_start_x + maxcolumns]:[screen_pixel_x + 2],[screen_start_y]:[screen_pixel_y]"
+ ui_close.screen_loc = "[screen_start_x + maxcolumns]:[screen_pixel_x],[screen_start_y + row - 1]:[screen_pixel_y]"
. += ui_close
/**
@@ -217,7 +233,7 @@
if(!M.client)
return TRUE
UnregisterSignal(M, COMSIG_MOB_CLIENT_LOGOUT)
- M.client.screen -= list(ui_boxes, ui_close, ui_left, ui_right, ui_continuous) + get_ui_item_objects_hide()
+ M.client.screen -= list(ui_boxes, ui_close, ui_left, ui_continuous) + get_ui_item_objects_hide()
if(M.active_storage == src)
M.active_storage = null
LAZYREMOVE(is_using, M)
@@ -260,14 +276,6 @@
ui_left = new(null, src)
return ui_left
-/**
- * Gets our ui_right, making it if it doesn't exist.
- */
-/datum/component/storage/proc/get_ui_right()
- if(!ui_right)
- ui_right = new(null, src)
- return ui_right
-
/**
* Gets our ui_close, making it if it doesn't exist.
*/
From b21598a441be800275cb1c65b68cfe6adc8a3c81 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Fri, 10 Apr 2020 12:47:16 -0700
Subject: [PATCH 29/30] fix
---
code/datums/components/storage/ui.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/components/storage/ui.dm b/code/datums/components/storage/ui.dm
index 23fabf76e8..c1c049dfd3 100644
--- a/code/datums/components/storage/ui.dm
+++ b/code/datums/components/storage/ui.dm
@@ -175,7 +175,7 @@
. += ui_left
// Then, closer, which is also our right element.
ui_close = get_ui_close()
- ui_close.screen_loc = "[screen_start_x + maxcolumns]:[screen_pixel_x],[screen_start_y + row - 1]:[screen_pixel_y]"
+ ui_close.screen_loc = "[screen_start_x + maxcolumns]:[screen_pixel_x],[screen_start_y]:[screen_pixel_y] to [screen_start_x + maxcolumns]:[screen_pixel_x],[screen_start_y + row - 1]:[screen_pixel_y]"
. += ui_close
/**
From f652a612e54b6dac227adf20d51fd7d2e03143cc Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Fri, 10 Apr 2020 22:18:53 -0700
Subject: [PATCH 30/30] missing comma
---
code/_globalvars/bitfields.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm
index 488926e078..f0c854c398 100644
--- a/code/_globalvars/bitfields.dm
+++ b/code/_globalvars/bitfields.dm
@@ -253,7 +253,7 @@ GLOBAL_LIST_INIT(bitfields, list(
"storage_flags" = list(
"STORAGE_LIMIT_MAX_ITEMS" = STORAGE_LIMIT_MAX_ITEMS,
"STORAGE_LIMIT_MAX_W_CLASS" = STORAGE_LIMIT_MAX_W_CLASS,
- "STORAGE_LIMIT_COMBINED_W_CLASS" = STORAGE_LIMIT_COMBINED_W_CLASS
+ "STORAGE_LIMIT_COMBINED_W_CLASS" = STORAGE_LIMIT_COMBINED_W_CLASS,
"STORAGE_LIMIT_VOLUME" = STORAGE_LIMIT_VOLUME
)
))
oh9gcbz
e8XaZfCl_
zx6pl`+
ISfj7q6%BXBg?TLF-bZPYx!_GPtS?4GPJVhda{@+2