From 85faba1a0f2c8a68b89e9f5b98e22745ce24777a Mon Sep 17 00:00:00 2001
From: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
Date: Wed, 28 Jun 2023 06:05:25 +0200
Subject: [PATCH] [MIRROR] Maptext 2023: I can see clearly now [MDB IGNORE]
(#22100)
* Maptext 2023: I can see clearly now
* skyrat edit
* Update tgstation.dme
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
---
code/__DEFINES/fonts.dm | 8 +
code/__DEFINES/text.dm | 11 +-
code/datums/chatmessage.dm | 8 +-
code/game/atoms.dm | 10 +-
code/game/machinery/status_display.dm | 96 +++----
.../elevator/elevator_indicator.dm | 10 +-
icons/obj/status_display.dmi | Bin 26857 -> 26869 bytes
interface/fonts.dm | 10 -
interface/fonts/Grand9K_Pixel.ttf | Bin 0 -> 22108 bytes
interface/fonts/TinyUnicode.ttf | Bin 0 -> 23280 bytes
interface/{ => fonts}/VCR_OSD_Mono.ttf | Bin
interface/fonts/fonts_datum.dm | 78 ++++++
interface/fonts/grand_9k.dm | 253 ++++++++++++++++++
interface/fonts/license.txt | 8 +
interface/fonts/tiny_unicode.dm | 253 ++++++++++++++++++
interface/fonts/vcr_osd_mono.dm | 3 +
interface/license.txt | 2 -
interface/skin.dmf | 7 +-
tgstation.dme | 6 +-
19 files changed, 675 insertions(+), 88 deletions(-)
delete mode 100644 interface/fonts.dm
create mode 100644 interface/fonts/Grand9K_Pixel.ttf
create mode 100644 interface/fonts/TinyUnicode.ttf
rename interface/{ => fonts}/VCR_OSD_Mono.ttf (100%)
create mode 100644 interface/fonts/fonts_datum.dm
create mode 100644 interface/fonts/grand_9k.dm
create mode 100644 interface/fonts/license.txt
create mode 100644 interface/fonts/tiny_unicode.dm
create mode 100644 interface/fonts/vcr_osd_mono.dm
delete mode 100644 interface/license.txt
diff --git a/code/__DEFINES/fonts.dm b/code/__DEFINES/fonts.dm
index 3b2ec46b178..eab28820c41 100644
--- a/code/__DEFINES/fonts.dm
+++ b/code/__DEFINES/fonts.dm
@@ -14,3 +14,11 @@
/// Emoji icon set
#define EMOJI_SET 'modular_skyrat/master_files/icons/emoji.dmi' // SKYRAT EDIT - ORIGINAL: 'icons/ui_icons/emoji/emoji.dmi'
+
+// Font metrics bitfield
+/// Include leading A width and trailing C width in GetWidth() or in DrawText()
+#define INCLUDE_AC (1<<0)
+
+DEFINE_BITFIELD(font_flags, list(
+ "INCLUDE_AC" = INCLUDE_AC,
+))
diff --git a/code/__DEFINES/text.dm b/code/__DEFINES/text.dm
index df891b4c5a8..33314003a51 100644
--- a/code/__DEFINES/text.dm
+++ b/code/__DEFINES/text.dm
@@ -4,9 +4,18 @@
/// Prepares a text to be used for maptext. Use this so it doesn't look hideous.
#define MAPTEXT(text) {"[##text]"}
-/// Prepares a text to be used for maptext, using a font that can handle larger text better.
+/// Prepares a text to be used for maptext, using a variable size font.
+/// Variable size font. More flexible but doesn't scale pixel perfect to BYOND icon resolutions. (May be blurry.) Can use any size in pt or px.
#define MAPTEXT_VCR_OSD_MONO(text) {"[##text]"}
+/// Prepares a text to be used for maptext using a pixel font. Cleaner but less size choices.
+/// Standard size (ie: normal runechat) Use only sizing pt, multiples of 6: 6pt 12pt 18pt 24pt etc. - Not for use with px sizing
+#define MAPTEXT_GRAND9K(text) {"[##text]"}
+
+/// Prepares a text to be used for maptext using a pixel font. Cleaner but less size choices.
+/// Small size. (ie: whisper runechat) Use only size pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing
+#define MAPTEXT_TINY_UNICODE(text) {"[##text]"}
+
/// Macro from Lummox used to get height from a MeasureText proc.
/// resolves the MeasureText() return value once, then resolves the height, then sets return_var to that.
#define WXH_TO_HEIGHT(measurement, return_var) \
diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm
index 3debadbda70..83494ef5361 100644
--- a/code/datums/chatmessage.dm
+++ b/code/datums/chatmessage.dm
@@ -13,7 +13,7 @@
/// Approximate height in pixels of an 'average' line, used for height decay
#define CHAT_MESSAGE_APPROX_LHEIGHT 11
/// Max width of chat message in pixels
-#define CHAT_MESSAGE_WIDTH 96
+#define CHAT_MESSAGE_WIDTH 112
/// The dimensions of the chat message icons
#define CHAT_MESSAGE_ICON_SIZE 9
@@ -145,6 +145,10 @@
if (!ismob(target))
extra_classes |= "small"
+ // Why are you yelling?
+ if(copytext_char(text, -2) == "!!")
+ extra_classes |= SPAN_YELL
+
var/list/prefixes
// Append radio icon if from a virtual speaker
@@ -171,7 +175,7 @@
var/tgt_color = extra_classes.Find("italics") ? target.chat_color_darkened : target.chat_color
// Approximate text height
- var/complete_text = ""
+ var/complete_text = ""
var/mheight
WXH_TO_HEIGHT(owned_by.MeasureText(complete_text, null, CHAT_MESSAGE_WIDTH), mheight)
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 28c80966a99..5772593f4cd 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -2064,7 +2064,7 @@
active_hud.screentip_text.maptext = ""
return
- active_hud.screentip_text.maptext_y = 0
+ active_hud.screentip_text.maptext_y = 16 // 16px lines us up with the action buttons top left corner
var/lmb_rmb_line = ""
var/ctrl_lmb_ctrl_rmb_line = ""
var/alt_lmb_alt_rmb_line = ""
@@ -2131,15 +2131,15 @@
extra_lines++
if(extra_lines)
- extra_context = "
[lmb_rmb_line][ctrl_lmb_ctrl_rmb_line][alt_lmb_alt_rmb_line][shift_lmb_ctrl_shift_lmb_line]"
- //first extra line pushes atom name line up 10px, subsequent lines push it up 9px, this offsets that and keeps the first line in the same place
- active_hud.screentip_text.maptext_y = -10 + (extra_lines - 1) * -9
+ extra_context = "
[lmb_rmb_line][ctrl_lmb_ctrl_rmb_line][alt_lmb_alt_rmb_line][shift_lmb_ctrl_shift_lmb_line]"
+ //first extra line pushes atom name line up 11px, subsequent lines push it up 8px, this offsets that and keeps the first line in the same place
+ active_hud.screentip_text.maptext_y = 5 + (extra_lines - 1) * -8
if (screentips_enabled == SCREENTIP_PREFERENCE_CONTEXT_ONLY && extra_context == "")
active_hud.screentip_text.maptext = ""
else
//We inline a MAPTEXT() here, because there's no good way to statically add to a string like this
- active_hud.screentip_text.maptext = "[name][extra_context]"
+ active_hud.screentip_text.maptext = "[name][extra_context]"
/// Gets a merger datum representing the connected blob of objects in the allowed_types argument
/atom/proc/GetMergeGroup(id, list/allowed_types)
diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index ef865fb1958..81aba0a347e 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -1,11 +1,15 @@
// Status display
-// (formerly Countdown timer display)
-#define MAX_STATIC_WIDTH 25
-#define FONT_STYLE "5pt 'Small Fonts'"
+#define MAX_STATIC_WIDTH 22
+#define FONT_STYLE "12pt 'TinyUnicode'"
#define SCROLL_RATE (0.04 SECONDS) // time per pixel
-#define LINE1_Y -7 // SKYRAT EDIT CHANGE - AESTHETICS - originally -8
-#define LINE2_Y -14 // SKYRAT EDIT CHANGE - AESTHETICS - originally -15
+#define SCROLL_PADDING 2 // how many pixels we chop to make a smooth loop
+#define LINE1_X 1
+#define LINE1_Y -4
+#define LINE2_X 1
+#define LINE2_Y -11
+#define STATUS_DISPLAY_FONT_DATUM /datum/font/tiny_unicode/size_12pt
+
/// Status display which can show images and scrolling text.
/obj/machinery/status_display
name = "status display"
@@ -124,14 +128,14 @@
* * message - the new message text.
* Returns new /obj/effect/overlay/status_display_text or null if unchanged.
*/
-/obj/machinery/status_display/proc/update_message(obj/effect/overlay/status_display_text/overlay, line_y, message, x_offset)
+/obj/machinery/status_display/proc/update_message(obj/effect/overlay/status_display_text/overlay, line_y, message, x_offset, line_pair)
if(overlay && message == overlay.message)
return null
if(overlay)
qdel(overlay)
- var/obj/effect/overlay/status_display_text/new_status_display_text = new(src, line_y, message, text_color, header_text_color, x_offset)
+ var/obj/effect/overlay/status_display_text/new_status_display_text = new(src, line_y, message, text_color, header_text_color, x_offset, line_pair)
// Draw our object visually "in front" of this display, taking advantage of sidemap
new_status_display_text.pixel_y = -32
new_status_display_text.pixel_z = 32
@@ -149,7 +153,7 @@
return
set_light(1.5, 0.7, LIGHT_COLOR_BLUE) // blue light
-/obj/machinery/status_display/update_overlays()
+/obj/machinery/status_display/update_overlays(updates)
. = ..()
if(machine_stat & (NOPOWER|BROKEN))
@@ -167,10 +171,18 @@
if(current_picture == AI_DISPLAY_DONT_GLOW) // If the thing's off, don't display the emissive yeah?
return .
else
- var/overlay = update_message(message1_overlay, LINE1_Y, message1)
+ var/line1_metric
+ var/line2_metric
+ var/line_pair
+ var/datum/font/display_font = new STATUS_DISPLAY_FONT_DATUM()
+ line1_metric = display_font.get_metrics(message1)
+ line2_metric = display_font.get_metrics(message2)
+ line_pair = (line1_metric > line2_metric ? line1_metric : line2_metric)
+
+ var/overlay = update_message(message1_overlay, LINE1_Y, message1, LINE1_X, line_pair)
if(overlay)
message1_overlay = overlay
- overlay = update_message(message2_overlay, LINE2_Y, message2)
+ overlay = update_message(message2_overlay, LINE2_Y, message2, LINE2_X, line_pair)
if(overlay)
message2_overlay = overlay
@@ -178,7 +190,7 @@
if(message1 == "" && message2 == "")
return
- . += emissive_appearance(icon, "outline", src, alpha = src.alpha)
+ . += emissive_appearance('modular_skyrat/modules/aesthetics/status_display/icons/status_display.dmi', "outline", src, alpha = src.alpha) // SKYRAT EDIT CHANGE - AESTHETICS
// Timed process - performs nothing in the base class
/obj/machinery/status_display/process()
@@ -245,39 +257,23 @@
// If the line is short enough to not marquee, and it matches this, it's a header.
var/static/regex/header_regex = regex("^-.*-$")
- /// Width of each character, including kerning gap afterwards.
- /// We don't use rich text or anything fancy, so we can bake these values.
- var/static/list/char_widths = list(
- // ! " # $ % & ' ( ) * + , - . /
- 1, 2, 3, 5, 4, 5, 5, 2, 3, 3, 3, 4, 2, 3, 2, 3,
- // 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
- 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 3, 3, 3, 3,
- // @ A B C D E F G H I J K L M N O
- 7, 5, 5, 5, 5, 4, 4, 5, 5, 2, 4, 5, 4, 6, 5, 5,
- // P Q R S T U V W X Y Z [ \ ] ^ _
- 5, 5, 5, 5, 4, 5, 4, 6, 4, 4, 4, 3, 3, 3, 4, 4,
- // ` a b c d e f g h i j k l m n o
- 3, 5, 5, 5, 5, 4, 4, 5, 5, 2, 4, 5, 4, 6, 5, 5,
- // p q r s t u v w x y z { | } ~
- 5, 5, 5, 5, 4, 5, 4, 6, 4, 4, 4, 3, 2, 3, 4,
- )
-
-/obj/effect/overlay/status_display_text/Initialize(mapload, yoffset, line, text_color, header_text_color, xoffset = 0)
+/obj/effect/overlay/status_display_text/Initialize(mapload, yoffset, line, text_color, header_text_color, xoffset = 0, line_pair)
. = ..()
maptext_y = yoffset
message = line
- var/line_width = measure_width(line)
+ var/datum/font/display_font = new STATUS_DISPLAY_FONT_DATUM()
+ var/line_width = display_font.get_metrics(line)
if(line_width > MAX_STATIC_WIDTH)
// Marquee text
- var/marquee_message = "[line] - [line] - [line]"
+ var/marquee_message = "[line] [line] [line]"
// Width of full content. Must of these is never revealed unless the user inputted a single character.
- var/full_marquee_width = measure_width(marquee_message)
+ var/full_marquee_width = display_font.get_metrics("[marquee_message] ")
// We loop after only this much has passed.
- var/looping_marquee_width = measure_width("[line] - ")
+ var/looping_marquee_width = (display_font.get_metrics("[line] ]") - SCROLL_PADDING)
maptext = generate_text(marquee_message, center = FALSE, text_color = text_color)
maptext_width = full_marquee_width
@@ -287,45 +283,24 @@
add_filter("mask", 1, alpha_mask_filter(icon = icon(icon, "outline")))
// Scroll.
- var/time = looping_marquee_width * SCROLL_RATE
- animate(src, maptext_x = -looping_marquee_width, time = time, loop = -1)
- animate(maptext_x = 0, time = 0)
+ var/time = line_pair * SCROLL_RATE
+ animate(src, maptext_x = (-looping_marquee_width) + MAX_STATIC_WIDTH, time = time, loop = -1)
+ animate(maptext_x = MAX_STATIC_WIDTH, time = 0)
else
// Centered text
var/color = header_regex.Find(line) ? header_text_color : text_color
maptext = generate_text(line, center = TRUE, text_color = color)
maptext_x = xoffset //Defaults to 0, this would be centered unless overided
-/**
- * A hyper-streamlined version of MeasureText that doesn't support different fonts, rich formatting, or multiline.
- * But it also doesn't require a client.
- *
- * Returns the width in pixels
- *
- * Arguments:
- * * text - the text to measure
- */
-/obj/effect/overlay/status_display_text/proc/measure_width(text)
- var/width = 0
- for(var/text_idx in 1 to length(text))
- var/ascii = text2ascii(text, text_idx)
- if(!(ascii in 0x20 to 0x7E))
- // So we can't possibly runtime, even though the input should be in range already.
- width += 3
- continue
- width += char_widths[ascii - 0x1F]
-
- return width
-
/**
* Generate the actual maptext.
* Arguments:
* * text - the text to display
- * * center - center the text if TRUE, otherwise left-align
+ * * center - center the text if TRUE, otherwise right-align (the direction the text is coming from)
* * text_color - the text color
*/
/obj/effect/overlay/status_display_text/proc/generate_text(text, center, text_color)
- return {"
[text]
"}
+ return {"[text]
"}
/// Evac display which shows shuttle timer or message set by Command.
/obj/machinery/status_display/evac
@@ -576,5 +551,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/ai, 32)
#undef MAX_STATIC_WIDTH
#undef FONT_STYLE
#undef SCROLL_RATE
+#undef LINE1_X
#undef LINE1_Y
+#undef LINE2_X
#undef LINE2_Y
+#undef STATUS_DISPLAY_FONT_DATUM
diff --git a/code/modules/industrial_lift/elevator/elevator_indicator.dm b/code/modules/industrial_lift/elevator/elevator_indicator.dm
index 781ff35981b..f0aec0c2217 100644
--- a/code/modules/industrial_lift/elevator/elevator_indicator.dm
+++ b/code/modules/industrial_lift/elevator/elevator_indicator.dm
@@ -19,10 +19,10 @@
light_color = LIGHT_COLOR_DARK_BLUE
luminosity = 1
- maptext_x = 17
- maptext_y = 21
- maptext_width = 4
- maptext_height = 8
+ maptext_x = 18
+ maptext_y = 20
+ maptext_width = 8
+ maptext_height = 16
/// What specific_lift_id do we link with?
var/linked_elevator_id
@@ -150,7 +150,7 @@
return
set_light(l_on = TRUE)
- maptext = {"[current_lift_floor]
"}
+ maptext = MAPTEXT_TINY_UNICODE("[current_lift_floor]
")
/obj/machinery/lift_indicator/update_overlays()
. = ..()
diff --git a/icons/obj/status_display.dmi b/icons/obj/status_display.dmi
index 6833e9ff244f2708f41c61e3282c34bc1c4d4e37..76d20addff766cee6d11128eacedb5190d45fab3 100644
GIT binary patch
literal 26869
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
O9CmQ=LtLNi8WQp}<;^f+nCaGQ7@
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
literal 26857
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