This commit is contained in:
SandPoot
2023-07-18 15:22:24 -03:00
parent 654e5dad9d
commit 217e23fc7f
19 changed files with 1223 additions and 92 deletions

7
code/__DEFINES/fonts.dm Normal file
View File

@@ -0,0 +1,7 @@
// 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,
))

View File

@@ -12,19 +12,28 @@ GLOBAL_LIST_INIT_TYPED(screentip_context_icons, /image, prepare_screentip_contex
* # Builds context with each intent for this key
* Args:
* - context = list (REQUIRED)
* - context[key] = list (REQUIRED)
* - key = string (REQUIRED)
* - allow_image = boolean (not required)
*/
/proc/build_context(list/context, key, allow_image)
if(!(length(context) && length(context[key]) && key))
return ""
var/list/to_add
for(var/intent in context[key])
var/key_help = "[length(key) > 3 ? "[copytext(key, 1, -3)][allow_image ? " " : ""]" : ""]"
var/icon = "[copytext(key, -3)]-[intent]"
// Get everything but the mouse button, may be empty
var/key_combo = length(key) > 3 ? "[copytext(key, 1, -3)]" : ""
// Grab the mouse button, LMB/RMB+intent
var/button = "[copytext(key, -3)]-[intent]"
if(allow_image)
icon = "\icon[GLOB.screentip_context_icons[icon]]"
LAZYADD(to_add, "[key_help][icon]: [context[key][intent]]")
// Compile into image, if allowed
button = "\icon[GLOB.screentip_context_icons[button]]"
LAZYADD(to_add, "[key_combo][button][allow_image ? "" : ":"] [context[key][intent]]")
var/separator = "[allow_image ? " " : " | "]"
// Prepare separator for same button but different intent
var/separator = "[allow_image ? " " : " / "]"
// Voilá, final result
return english_list(to_add, "", separator, separator)
#undef HINT_ICON_FILE

View File

@@ -1449,99 +1449,98 @@
//Update the screentip to reflect what we're hoverin over
/atom/MouseEntered(location, control, params)
. = ..()
// Screentips
var/mob/user = usr
if(isnull(user) && !user.client)
if(isnull(user))
return
if(!GET_CLIENT(user))
return
// Screentips
var/datum/hud/active_hud = user.hud_used
if(active_hud)
var/screentips_enabled = user.client.prefs.screentip_pref
if(screentips_enabled == SCREENTIP_PREFERENCE_DISABLED || (flags_1 & NO_SCREENTIPS_1))
active_hud.screentip_text.maptext = ""
else
active_hud.screentip_text.maptext_y = 0
var/lmb_rmb_line = ""
var/ctrl_lmb_ctrl_rmb_line = ""
var/alt_lmb_alt_rmb_line = ""
var/shift_lmb_ctrl_shift_lmb_line = ""
var/extra_lines = 0
var/extra_context = ""
if(!active_hud)
return
if ((isliving(user) || isovermind(user) || isaicamera(user)) && (user.client.prefs.screentip_pref != SCREENTIP_PREFERENCE_NO_CONTEXT))
var/obj/item/held_item = user.get_active_held_item()
var/allow_images = user.client.prefs.screentip_allow_images
var/screentips_enabled = user.client.prefs.screentip_pref
if(screentips_enabled == SCREENTIP_PREFERENCE_DISABLED || (flags_1 & NO_SCREENTIPS_1))
active_hud.screentip_text.maptext = ""
return
if (flags_1 & HAS_CONTEXTUAL_SCREENTIPS_1 || held_item?.item_flags & ITEM_HAS_CONTEXTUAL_SCREENTIPS)
var/list/context = list()
active_hud.screentip_text.maptext_y = 10 // 10px 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 = ""
var/shift_lmb_ctrl_shift_lmb_line = ""
var/extra_lines = 0
var/extra_context = ""
var/contextual_screentip_returns = \
SEND_SIGNAL(src, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, context, held_item, user) \
| (held_item && SEND_SIGNAL(held_item, COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET, context, src, user))
if ((isliving(user) || isovermind(user) || isaicamera(user)) && (user.client.prefs.screentip_pref != SCREENTIP_PREFERENCE_NO_CONTEXT))
var/obj/item/held_item = user.get_active_held_item()
if (contextual_screentip_returns & CONTEXTUAL_SCREENTIP_SET)
// LMB and RMB on one line...
var/lmb_text = ""
if((SCREENTIP_CONTEXT_LMB in context) && (length(context[SCREENTIP_CONTEXT_LMB]) > 0))
lmb_text = build_context(context, SCREENTIP_CONTEXT_LMB, allow_images)
var/rmb_text = ""
if((SCREENTIP_CONTEXT_RMB in context) && (length(context[SCREENTIP_CONTEXT_RMB]) > 0))
rmb_text = build_context(context, SCREENTIP_CONTEXT_RMB, allow_images)
if (flags_1 & HAS_CONTEXTUAL_SCREENTIPS_1 || held_item?.item_flags & ITEM_HAS_CONTEXTUAL_SCREENTIPS)
var/list/context = list()
if (lmb_text)
lmb_rmb_line = lmb_text
if (rmb_text)
lmb_rmb_line += " | [allow_images ? " " : ""][rmb_text]"
else if (rmb_text)
lmb_rmb_line = rmb_text
var/contextual_screentip_returns = \
SEND_SIGNAL(src, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, context, held_item, user) \
| (held_item && SEND_SIGNAL(held_item, COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET, context, src, user))
// Ctrl-LMB, Ctrl-RMB on one line...
if (lmb_rmb_line != "")
lmb_rmb_line += "<br>"
extra_lines++
if((SCREENTIP_CONTEXT_CTRL_LMB in context) && (length(context[SCREENTIP_CONTEXT_CTRL_LMB]) > 0))
ctrl_lmb_ctrl_rmb_line = build_context(context, SCREENTIP_CONTEXT_CTRL_LMB, allow_images)
if (contextual_screentip_returns & CONTEXTUAL_SCREENTIP_SET)
var/screentip_images = user.client.prefs.screentip_images
// LMB and RMB on one line...
var/lmb_text = build_context(context, SCREENTIP_CONTEXT_LMB, screentip_images)
var/rmb_text = build_context(context, SCREENTIP_CONTEXT_RMB, screentip_images)
if((SCREENTIP_CONTEXT_CTRL_RMB in context) && (length(context[SCREENTIP_CONTEXT_CTRL_RMB]) > 0))
if (ctrl_lmb_ctrl_rmb_line != "")
ctrl_lmb_ctrl_rmb_line += " | [allow_images ? " " : ""]"
ctrl_lmb_ctrl_rmb_line += "[SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB]]"
ctrl_lmb_ctrl_rmb_line = build_context(context, SCREENTIP_CONTEXT_CTRL_RMB, allow_images)
if (lmb_text != "")
lmb_rmb_line = lmb_text
if (rmb_text != "")
lmb_rmb_line += " | [rmb_text]"
else if (rmb_text != "")
lmb_rmb_line = rmb_text
// Alt-LMB, Alt-RMB on one line...
if (ctrl_lmb_ctrl_rmb_line != "")
ctrl_lmb_ctrl_rmb_line += "<br>"
extra_lines++
if((SCREENTIP_CONTEXT_ALT_LMB in context) && (length(context[SCREENTIP_CONTEXT_ALT_LMB]) > 0))
alt_lmb_alt_rmb_line = build_context(context, SCREENTIP_CONTEXT_ALT_LMB, allow_images)
if((SCREENTIP_CONTEXT_ALT_RMB in context) && (length(context[SCREENTIP_CONTEXT_ALT_RMB]) > 0))
if (alt_lmb_alt_rmb_line != "")
alt_lmb_alt_rmb_line += " | [allow_images ? " " : ""]"
alt_lmb_alt_rmb_line = build_context(context, SCREENTIP_CONTEXT_ALT_RMB, allow_images)
// Ctrl-LMB, Ctrl-RMB on one line...
if (lmb_rmb_line != "")
lmb_rmb_line += "<br>"
extra_lines++
if (SCREENTIP_CONTEXT_CTRL_LMB in context)
ctrl_lmb_ctrl_rmb_line += build_context(context, SCREENTIP_CONTEXT_CTRL_LMB, screentip_images)
// Shift-LMB, Ctrl-Shift-LMB on one line...
if (alt_lmb_alt_rmb_line != "")
alt_lmb_alt_rmb_line += "<br>"
extra_lines++
if((SCREENTIP_CONTEXT_SHIFT_LMB in context) && (length(context[SCREENTIP_CONTEXT_SHIFT_LMB]) > 0))
shift_lmb_ctrl_shift_lmb_line = build_context(context, SCREENTIP_CONTEXT_SHIFT_LMB, allow_images)
if (SCREENTIP_CONTEXT_CTRL_RMB in context)
if (ctrl_lmb_ctrl_rmb_line != "")
ctrl_lmb_ctrl_rmb_line += " | "
ctrl_lmb_ctrl_rmb_line += build_context(context, SCREENTIP_CONTEXT_CTRL_RMB, screentip_images)
if((SCREENTIP_CONTEXT_CTRL_SHIFT_LMB in context) && (length(context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]) > 0))
if (shift_lmb_ctrl_shift_lmb_line != "")
shift_lmb_ctrl_shift_lmb_line += " | [allow_images ? " " : ""]"
shift_lmb_ctrl_shift_lmb_line += "[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]]"
shift_lmb_ctrl_shift_lmb_line = build_context(context, SCREENTIP_CONTEXT_CTRL_SHIFT_LMB, allow_images)
// Alt-LMB, Alt-RMB on one line...
if (ctrl_lmb_ctrl_rmb_line != "")
ctrl_lmb_ctrl_rmb_line += "<br>"
extra_lines++
if (SCREENTIP_CONTEXT_ALT_LMB in context)
alt_lmb_alt_rmb_line += build_context(context, SCREENTIP_CONTEXT_ALT_LMB, screentip_images)
if (SCREENTIP_CONTEXT_ALT_RMB in context)
if (alt_lmb_alt_rmb_line != "")
alt_lmb_alt_rmb_line += " | "
alt_lmb_alt_rmb_line += build_context(context, SCREENTIP_CONTEXT_ALT_RMB, screentip_images)
if (shift_lmb_ctrl_shift_lmb_line != "")
extra_lines++
// Shift-LMB, Ctrl-Shift-LMB on one line...
if (alt_lmb_alt_rmb_line != "")
alt_lmb_alt_rmb_line += "<br>"
extra_lines++
if (SCREENTIP_CONTEXT_SHIFT_LMB in context)
shift_lmb_ctrl_shift_lmb_line += build_context(context, SCREENTIP_CONTEXT_SHIFT_LMB, screentip_images)
if (SCREENTIP_CONTEXT_CTRL_SHIFT_LMB in context)
if (shift_lmb_ctrl_shift_lmb_line != "")
shift_lmb_ctrl_shift_lmb_line += " | "
shift_lmb_ctrl_shift_lmb_line += build_context(context, SCREENTIP_CONTEXT_CTRL_SHIFT_LMB, screentip_images)
if(extra_lines)
extra_context = "<br><span style='font-size: 7px'>[lmb_rmb_line][ctrl_lmb_ctrl_rmb_line][alt_lmb_alt_rmb_line][shift_lmb_ctrl_shift_lmb_line]</span>"
//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
if (shift_lmb_ctrl_shift_lmb_line != "")
extra_lines++
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 = "<span class='maptext' style='text-align: center; font-size: 32px; color: [user.client.prefs.screentip_color]'>[name][extra_context]</span>"
if(extra_lines)
extra_context = "<br><span class='subcontext'>[lmb_rmb_line][ctrl_lmb_ctrl_rmb_line][alt_lmb_alt_rmb_line][shift_lmb_ctrl_shift_lmb_line]</span>"
//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 = -1 + (extra_lines - 1) * -9
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 = "<span class='context' style='text-align: center; color: [user.client.prefs.screentip_color]'>[name][extra_context]</span>"

View File

@@ -64,7 +64,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/outline_color = COLOR_THEME_MIDNIGHT
var/screentip_pref = SCREENTIP_PREFERENCE_ENABLED
var/screentip_color = "#ffd391"
var/screentip_allow_images = FALSE
var/screentip_images = TRUE
var/buttons_locked = FALSE
var/hotkeys = FALSE
@@ -832,7 +832,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<b>Screentip Color:</b> <span style='border:1px solid #161616; background-color: [screentip_color];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=screentip_color'>Change</a><BR>"
dat += "<font style='border-bottom:2px dotted white; cursor:help;'\
title=\"This is an accessibility preference, if disabled, fallbacks to only text which colorblind people can understand better\">\
<b>Screentip context with images:</b></font> <a href='?_src_=prefs;preference=screentip_allow_images'>[screentip_allow_images ? "Allowed" : "Disallowed"]</a><br>"
<b>Screentip context with images:</b></font> <a href='?_src_=prefs;preference=screentip_images'>[screentip_images ? "Allowed" : "Disallowed"]</a><br>"
dat += "<b>tgui Monitors:</b> <a href='?_src_=prefs;preference=tgui_lock'>[(tgui_lock) ? "Primary" : "All"]</a><br>"
dat += "<b>tgui Style:</b> <a href='?_src_=prefs;preference=tgui_fancy'>[(tgui_fancy) ? "Fancy" : "No Frills"]</a><br>"
dat += "<b>Show Runechat Chat Bubbles:</b> <a href='?_src_=prefs;preference=chat_on_map'>[chat_on_map ? "Enabled" : "Disabled"]</a><br>"
@@ -2924,8 +2924,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/pickedScreentipColor = input(user, "Choose your screentip color.", "General Preference", screentip_color) as color|null
if(pickedScreentipColor)
screentip_color = pickedScreentipColor
if("screentip_allow_images")
screentip_allow_images = !screentip_allow_images
if("screentip_images")
screentip_images = !screentip_images
if("tgui_lock")
tgui_lock = !tgui_lock
if("winflash")

View File

@@ -5,7 +5,7 @@
// You do not need to raise this if you are adding new values that have sane defaults.
// Only raise this value when changing the meaning/format/name/layout of an existing value
// where you would want the updater procs below to run
#define SAVEFILE_VERSION_MAX 57
#define SAVEFILE_VERSION_MAX 58
/*
SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn
@@ -382,6 +382,11 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
else
S["all_quirks"] = list("Dullahan")
// So, we're already on 57 even though we were meant to be on like, 56? i'm gonna try to correct this,
// And i'm so sorry for this.
if(current_version < 58)
S["screentip_images"] = TRUE // This was meant to default active, i'm so sorry. Turn it off if you must.
/datum/preferences/proc/load_path(ckey,filename="preferences.sav")
if(!ckey)
return
@@ -423,7 +428,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["outline_enabled"] >> outline_enabled
S["screentip_pref"] >> screentip_pref
S["screentip_color"] >> screentip_color
S["screentip_allow_images"] >> screentip_allow_images
S["screentip_images"] >> screentip_images
S["hotkeys"] >> hotkeys
S["chat_on_map"] >> chat_on_map
S["max_chat_length"] >> max_chat_length
@@ -614,7 +619,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["outline_color"], outline_color)
WRITE_FILE(S["screentip_pref"], screentip_pref)
WRITE_FILE(S["screentip_color"], screentip_color)
WRITE_FILE(S["screentip_allow_images"], screentip_allow_images)
WRITE_FILE(S["screentip_images"], screentip_images)
WRITE_FILE(S["hotkeys"], hotkeys)
WRITE_FILE(S["chat_on_map"], chat_on_map)
WRITE_FILE(S["max_chat_length"], max_chat_length)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,78 @@
/// A font datum, it exists to define a custom font to use in a span style later.
/datum/font
/// Font name, just so people know what to put in their span style.
var/name
/// The font file we link to.
var/font_family
/// Font features and metrics
/// Generated by Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
/// Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
/// list of font size/spacing metrics
var/list/metrics
/// total height of a line
var/height
/// distance above baseline (including whitespace)
var/ascent
/// distance below baseline
var/descent
/// average character width
var/average_width
/// maximum character width
var/max_width
/// extra width, such as from italics, for a line
var/overhang
/// internal leading vertical space, for accent marks
var/in_leading
/// external leading vertical space, just plain blank
var/ex_leading
/// default character (for undefined chars)
var/default_character
/// first character in metrics
var/start
/// last character in metrics
var/end
/// Get font metrics
/// From Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
/datum/font/proc/get_metrics(text, flags, first_line)
. = 0
var/longest = 0
if(!length(text))
return
var/i = 1
var/idx
while(i <= length(text))
var/character = text2ascii(text, i++)
if(character <= 10)
if(character <= 7)
. += character // spacers for justification
if(character <= 9)
continue // soft-break chars
if(. && idx && !(flags & INCLUDE_AC))
. -= max(metrics[idx + 3], 0)
longest = max(longest, . + first_line)
. = 0
first_line = 0
idx = 0
continue
idx = (character - start) * 3
if(idx <= 0 || idx >= metrics.len)
idx = (default_character - start) * 3
if(!. && !(flags & INCLUDE_AC))
. -= metrics[idx + 1]
. += metrics[idx + 1] + metrics[idx + 2] + metrics[idx +3]
if(. && idx && !(flags & INCLUDE_AC))
. -= max(metrics[idx + 3], 0)
. = max(. + first_line, longest)
if(. > 0)
. += overhang

253
interface/fonts/grand_9k.dm Normal file
View File

@@ -0,0 +1,253 @@
/// For clean results on map, use only sizing pt, multiples of 6: 6pt 12pt 18pt 24pt etc. - Not for use with px sizing
/// Can be used in TGUI etc, px sizing is pt / 0.75. 6pt = 8px, 12pt = 16px etc.
/// Base font
/datum/font/grand9k
name = "Grand9K Pixel"
font_family = 'interface/fonts/Grand9K_Pixel.ttf'
/// For icon overlays
/// Grand9K 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
/// Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
/datum/font/grand9k/size_6pt
name = "Grand9K Pixel 6pt"
height = 12
ascent = 10
descent = 2
average_width = 4
max_width = 9
overhang = 0
in_leading = 4
ex_leading = 1
default_character = 31
start = 30
end = 255
metrics = list(
0, 5, 1, // char 30
0, 5, 1, // char 31
0, 1, 1, // char 32
0, 1, 1, // char 33
0, 3, 1, // char 34
0, 6, 1, // char 35
0, 5, 1, // char 36
0, 7, 1, // char 37
0, 5, 1, // char 38
0, 1, 1, // char 39
0, 3, 1, // char 40
0, 3, 1, // char 41
0, 5, 1, // char 42
0, 5, 1, // char 43
0, 1, 1, // char 44
0, 4, 1, // char 45
0, 1, 1, // char 46
0, 3, 1, // char 47
0, 5, 1, // char 48
0, 2, 1, // char 49
0, 5, 1, // char 50
0, 4, 1, // char 51
0, 5, 1, // char 52
0, 5, 1, // char 53
0, 5, 1, // char 54
0, 5, 1, // char 55
0, 5, 1, // char 56
0, 5, 1, // char 57
0, 1, 1, // char 58
0, 1, 1, // char 59
0, 4, 1, // char 60
0, 4, 1, // char 61
0, 4, 1, // char 62
0, 4, 1, // char 63
0, 7, 1, // char 64
0, 5, 1, // char 65
0, 5, 1, // char 66
0, 4, 1, // char 67
0, 5, 1, // char 68
0, 4, 1, // char 69
0, 4, 1, // char 70
0, 5, 1, // char 71
0, 5, 1, // char 72
0, 1, 1, // char 73
0, 5, 1, // char 74
0, 5, 1, // char 75
0, 5, 1, // char 76
0, 5, 1, // char 77
0, 5, 1, // char 78
0, 5, 1, // char 79
0, 5, 1, // char 80
0, 6, 1, // char 81
0, 5, 1, // char 82
0, 5, 1, // char 83
0, 5, 1, // char 84
0, 5, 1, // char 85
0, 5, 1, // char 86
0, 5, 1, // char 87
0, 5, 1, // char 88
0, 5, 1, // char 89
0, 5, 1, // char 90
0, 3, 1, // char 91
0, 3, 1, // char 92
0, 3, 1, // char 93
0, 5, 1, // char 94
0, 4, 0, // char 95
0, 2, 1, // char 96
0, 4, 1, // char 97
0, 4, 1, // char 98
0, 3, 1, // char 99
0, 4, 1, // char 100
0, 4, 1, // char 101
0, 4, 1, // char 102
0, 4, 1, // char 103
0, 4, 1, // char 104
0, 1, 1, // char 105
0, 3, 1, // char 106
0, 4, 1, // char 107
0, 1, 1, // char 108
0, 5, 1, // char 109
0, 4, 1, // char 110
0, 4, 1, // char 111
0, 4, 1, // char 112
0, 4, 1, // char 113
0, 4, 1, // char 114
0, 4, 1, // char 115
0, 4, 1, // char 116
0, 4, 1, // char 117
0, 5, 1, // char 118
0, 5, 1, // char 119
0, 5, 1, // char 120
0, 4, 1, // char 121
0, 5, 1, // char 122
0, 4, 1, // char 123
0, 1, 1, // char 124
0, 4, 1, // char 125
0, 6, 1, // char 126
0, 5, 1, // char 127
0, 5, 1, // char 128
0, 5, 1, // char 129
0, 1, 1, // char 130
0, 5, 1, // char 131
0, 3, 1, // char 132
0, 5, 1, // char 133
0, 5, 1, // char 134
0, 5, 1, // char 135
0, 5, 1, // char 136
0, 5, 1, // char 137
0, 5, 1, // char 138
0, 3, 1, // char 139
0, 6, 1, // char 140
0, 5, 1, // char 141
0, 5, 1, // char 142
0, 5, 1, // char 143
0, 5, 1, // char 144
0, 1, 1, // char 145
0, 1, 1, // char 146
0, 3, 1, // char 147
0, 3, 1, // char 148
0, 1, 1, // char 149
0, 5, 1, // char 150
0, 5, 1, // char 151
0, 5, 1, // char 152
0, 8, 1, // char 153
0, 4, 1, // char 154
0, 3, 1, // char 155
0, 5, 1, // char 156
0, 5, 1, // char 157
0, 5, 1, // char 158
0, 5, 1, // char 159
0, 1, 1, // char 160
0, 1, 1, // char 161
0, 4, 1, // char 162
0, 5, 1, // char 163
0, 5, 1, // char 164
0, 5, 1, // char 165
0, 1, 1, // char 166
0, 5, 1, // char 167
0, 3, 1, // char 168
0, 8, 1, // char 169
0, 5, 1, // char 170
0, 6, 1, // char 171
0, 4, 1, // char 172
0, 5, 1, // char 173
0, 8, 1, // char 174
0, 5, 1, // char 175
0, 3, 1, // char 176
0, 5, 1, // char 177
0, 5, 1, // char 178
0, 5, 1, // char 179
0, 2, 1, // char 180
0, 4, 1, // char 181
0, 5, 1, // char 182
0, 1, 1, // char 183
0, 2, 1, // char 184
0, 5, 1, // char 185
0, 5, 1, // char 186
0, 6, 1, // char 187
0, 5, 1, // char 188
0, 5, 1, // char 189
0, 5, 1, // char 190
0, 4, 1, // char 191
0, 5, 1, // char 192
0, 5, 1, // char 193
0, 5, 1, // char 194
0, 6, 0, // char 195
0, 5, 1, // char 196
0, 5, 1, // char 197
0, 6, 1, // char 198
0, 4, 1, // char 199
0, 4, 1, // char 200
0, 4, 1, // char 201
0, 4, 1, // char 202
0, 4, 1, // char 203
1, 2, 0, // char 204
0, 2, 1, // char 205
0, 3, 0, // char 206
0, 3, 0, // char 207
0, 6, 1, // char 208
0, 6, 0, // char 209
0, 5, 1, // char 210
0, 5, 1, // char 211
0, 5, 1, // char 212
0, 6, 1, // char 213
0, 5, 1, // char 214
0, 5, 1, // char 215
0, 5, 1, // char 216
0, 5, 1, // char 217
0, 5, 1, // char 218
0, 5, 1, // char 219
0, 5, 1, // char 220
0, 5, 1, // char 221
0, 5, 1, // char 222
0, 5, 1, // char 223
0, 4, 1, // char 224
0, 4, 1, // char 225
0, 4, 1, // char 226
0, 4, 1, // char 227
0, 4, 1, // char 228
0, 4, 1, // char 229
0, 5, 1, // char 230
0, 3, 1, // char 231
0, 4, 1, // char 232
0, 4, 1, // char 233
0, 4, 1, // char 234
0, 4, 1, // char 235
0, 2, 1, // char 236
1, 2, 0, // char 237
0, 3, 0, // char 238
0, 3, 0, // char 239
0, 5, 0, // char 240
0, 4, 1, // char 241
0, 4, 1, // char 242
0, 4, 1, // char 243
0, 4, 1, // char 244
0, 4, 1, // char 245
0, 4, 1, // char 246
0, 5, 1, // char 247
0, 4, 1, // char 248
0, 4, 1, // char 249
0, 4, 1, // char 250
0, 4, 1, // char 251
0, 4, 1, // char 252
0, 4, 1, // char 253
0, 4, 1, // char 254
0, 4, 1, // char 255
226
)

View File

@@ -0,0 +1,13 @@
Grand9K Pixel created by Jayvee Enaguas. Licensed under Creative Commons Attribution 4.0 International (CC BY 4.0)
(https://creativecommons.org/licenses/by/4.0/) (https://www.dafont.com/grand9k-pixel.font)
Pixellari created by Zacchary Dempsey-Plante. Website indicates free for commercial use.
(https://www.dafont.com/pixellari.font?fpp=200)
Spess Font created by MTandi (discord) for /tg/station.
Tiny Unicode created by Jakob Riedle/DuffsDevice. Website indicates free for commercial use.
(https://fontmeme.com/fonts/tiny-unicode-font/)
VCR OSD Mono created by Riciery Leal/mrmanet. Website indicates 100% free, author confirms it's free for all to use.
(https://www.dafont.com/font-comment.php?file=vcr_osd_mono)

View File

@@ -0,0 +1,252 @@
/// For clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing
/// Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc.
/// Base font
/datum/font/pixellari
name = "Pixellari"
font_family = 'interface/fonts/Pixellari.ttf'
/// For icon overlays
/// Pixellari 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
/// Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
/datum/font/pixellari/size_12pt
name = "Pixellari 12pt"
height = 16
ascent = 12
descent = 4
average_width = 7
max_width = 15
overhang = 0
in_leading = 0
ex_leading = 1
default_character = 31
start = 30
end = 255
metrics = list(\
1, 5, 0, /* char 30 */ \
1, 5, 0, /* char 31 */ \
0, 1, 4, /* char 32 */ \
1, 2, 1, /* char 33 */ \
1, 5, 1, /* char 34 */ \
0, 8, 1, /* char 35 */ \
2, 6, 1, /* char 36 */ \
0, 13, 1, /* char 37 */ \
1, 8, 1, /* char 38 */ \
1, 2, 1, /* char 39 */ \
1, 3, 1, /* char 40 */ \
2, 3, 1, /* char 41 */ \
0, 6, 1, /* char 42 */ \
1, 6, 1, /* char 43 */ \
1, 2, 1, /* char 44 */ \
1, 6, 1, /* char 45 */ \
1, 2, 1, /* char 46 */ \
0, 6, 1, /* char 47 */ \
1, 7, 1, /* char 48 */ \
2, 6, 1, /* char 49 */ \
1, 6, 1, /* char 50 */ \
1, 6, 1, /* char 51 */ \
1, 7, 1, /* char 52 */ \
1, 6, 1, /* char 53 */ \
1, 6, 1, /* char 54 */ \
1, 7, 1, /* char 55 */ \
1, 6, 1, /* char 56 */ \
1, 6, 1, /* char 57 */ \
1, 2, 1, /* char 58 */ \
1, 2, 1, /* char 59 */ \
0, 10, 1, /* char 60 */ \
1, 6, 1, /* char 61 */ \
0, 10, 1, /* char 62 */ \
1, 6, 1, /* char 63 */ \
1, 12, 1, /* char 64 */ \
1, 8, 1, /* char 65 */ \
1, 8, 1, /* char 66 */ \
2, 7, 1, /* char 67 */ \
2, 8, 1, /* char 68 */ \
2, 6, 1, /* char 69 */ \
2, 6, 1, /* char 70 */ \
2, 7, 1, /* char 71 */ \
1, 8, 1, /* char 72 */ \
1, 4, 1, /* char 73 */ \
0, 7, 1, /* char 74 */ \
1, 8, 1, /* char 75 */ \
1, 6, 1, /* char 76 */ \
1, 10, 1, /* char 77 */ \
1, 9, 1, /* char 78 */ \
2, 8, 1, /* char 79 */ \
1, 7, 1, /* char 80 */ \
2, 9, 1, /* char 81 */ \
1, 8, 1, /* char 82 */ \
1, 8, 1, /* char 83 */ \
1, 8, 1, /* char 84 */ \
2, 8, 1, /* char 85 */ \
2, 8, 1, /* char 86 */ \
1, 10, 1, /* char 87 */ \
1, 8, 1, /* char 88 */ \
1, 8, 1, /* char 89 */ \
0, 10, 1, /* char 90 */ \
1, 3, 1, /* char 91 */ \
0, 6, 1, /* char 92 */ \
2, 3, 1, /* char 93 */ \
0, 7, 1, /* char 94 */ \
0, 8, 1, /* char 95 */ \
1, 3, 1, /* char 96 */ \
1, 6, 1, /* char 97 */ \
1, 7, 1, /* char 98 */ \
1, 6, 1, /* char 99 */ \
1, 7, 1, /* char 100 */ \
1, 6, 1, /* char 101 */ \
1, 4, 1, /* char 102 */ \
1, 7, 1, /* char 103 */ \
1, 7, 1, /* char 104 */ \
1, 2, 1, /* char 105 */ \
-1, 4, 1, /* char 106 */ \
0, 7, 1, /* char 107 */ \
1, 2, 1, /* char 108 */ \
1, 10, 1, /* char 109 */ \
1, 6, 1, /* char 110 */ \
1, 6, 1, /* char 111 */ \
1, 7, 1, /* char 112 */ \
1, 7, 1, /* char 113 */ \
1, 6, 1, /* char 114 */ \
1, 6, 1, /* char 115 */ \
0, 4, 1, /* char 116 */ \
1, 6, 1, /* char 117 */ \
1, 6, 1, /* char 118 */ \
1, 10, 1, /* char 119 */ \
1, 6, 1, /* char 120 */ \
1, 6, 1, /* char 121 */ \
1, 6, 1, /* char 122 */ \
0, 5, 1, /* char 123 */ \
1, 2, 1, /* char 124 */ \
0, 5, 1, /* char 125 */ \
1, 8, 1, /* char 126 */ \
1, 5, 0, /* char 127 */ \
1, 8, 1, /* char 128 */ \
1, 5, 0, /* char 129 */ \
1, 5, 0, /* char 130 */ \
1, 5, 0, /* char 131 */ \
1, 5, 0, /* char 132 */ \
1, 5, 0, /* char 133 */ \
1, 5, 0, /* char 134 */ \
1, 5, 0, /* char 135 */ \
1, 5, 0, /* char 136 */ \
1, 5, 0, /* char 137 */ \
1, 8, 1, /* char 138 */ \
1, 5, 0, /* char 139 */ \
0, 14, 1, /* char 140 */ \
1, 5, 0, /* char 141 */ \
0, 10, 1, /* char 142 */ \
1, 5, 0, /* char 143 */ \
1, 5, 0, /* char 144 */ \
1, 5, 0, /* char 145 */ \
1, 5, 0, /* char 146 */ \
1, 5, 0, /* char 147 */ \
1, 5, 0, /* char 148 */ \
1, 5, 0, /* char 149 */ \
1, 5, 0, /* char 150 */ \
1, 5, 0, /* char 151 */ \
1, 5, 0, /* char 152 */ \
1, 5, 0, /* char 153 */ \
1, 6, 1, /* char 154 */ \
1, 5, 0, /* char 155 */ \
1, 11, 1, /* char 156 */ \
1, 5, 0, /* char 157 */ \
1, 6, 1, /* char 158 */ \
1, 8, 1, /* char 159 */ \
0, 1, 4, /* char 160 */ \
1, 2, 1, /* char 161 */ \
1, 6, 1, /* char 162 */ \
0, 8, 1, /* char 163 */ \
0, 9, 1, /* char 164 */ \
1, 8, 1, /* char 165 */ \
1, 2, 1, /* char 166 */ \
1, 7, 1, /* char 167 */ \
0, 5, 1, /* char 168 */ \
-1, 12, 1, /* char 169 */ \
0, 6, 1, /* char 170 */ \
0, 8, 1, /* char 171 */ \
1, 8, 1, /* char 172 */ \
1, 5, 0, /* char 173 */ \
-1, 12, 1, /* char 174 */ \
2, 4, 1, /* char 175 */ \
0, 6, 1, /* char 176 */ \
1, 6, 1, /* char 177 */ \
0, 5, 1, /* char 178 */ \
0, 5, 1, /* char 179 */ \
1, 3, 1, /* char 180 */ \
1, 6, 1, /* char 181 */ \
1, 7, 1, /* char 182 */ \
1, 2, 1, /* char 183 */ \
1, 3, 1, /* char 184 */ \
1, 4, 1, /* char 185 */ \
0, 6, 1, /* char 186 */ \
0, 8, 1, /* char 187 */ \
1, 13, 1, /* char 188 */ \
1, 12, 1, /* char 189 */ \
0, 13, 1, /* char 190 */ \
1, 6, 1, /* char 191 */ \
1, 8, 1, /* char 192 */ \
1, 8, 1, /* char 193 */ \
1, 8, 1, /* char 194 */ \
1, 8, 1, /* char 195 */ \
1, 8, 1, /* char 196 */ \
1, 8, 1, /* char 197 */ \
0, 13, 1, /* char 198 */ \
2, 7, 1, /* char 199 */ \
2, 6, 1, /* char 200 */ \
2, 6, 1, /* char 201 */ \
2, 6, 1, /* char 202 */ \
2, 6, 1, /* char 203 */ \
1, 4, 1, /* char 204 */ \
1, 4, 1, /* char 205 */ \
1, 4, 1, /* char 206 */ \
1, 4, 1, /* char 207 */ \
0, 10, 1, /* char 208 */ \
1, 9, 1, /* char 209 */ \
2, 8, 1, /* char 210 */ \
2, 8, 1, /* char 211 */ \
2, 8, 1, /* char 212 */ \
2, 8, 1, /* char 213 */ \
2, 8, 1, /* char 214 */ \
1, 6, 1, /* char 215 */ \
-2, 14, 1, /* char 216 */ \
2, 8, 1, /* char 217 */ \
2, 8, 1, /* char 218 */ \
2, 8, 1, /* char 219 */ \
2, 8, 1, /* char 220 */ \
1, 8, 1, /* char 221 */ \
1, 8, 1, /* char 222 */ \
1, 8, 1, /* char 223 */ \
1, 6, 1, /* char 224 */ \
1, 6, 1, /* char 225 */ \
1, 6, 1, /* char 226 */ \
1, 6, 1, /* char 227 */ \
1, 6, 1, /* char 228 */ \
1, 6, 1, /* char 229 */ \
1, 11, 1, /* char 230 */ \
1, 6, 1, /* char 231 */ \
1, 6, 1, /* char 232 */ \
1, 6, 1, /* char 233 */ \
1, 6, 1, /* char 234 */ \
1, 6, 1, /* char 235 */ \
1, 2, 1, /* char 236 */ \
1, 2, 1, /* char 237 */ \
0, 4, 1, /* char 238 */ \
0, 4, 1, /* char 239 */ \
1, 7, 1, /* char 240 */ \
1, 6, 1, /* char 241 */ \
1, 6, 1, /* char 242 */ \
1, 6, 1, /* char 243 */ \
1, 6, 1, /* char 244 */ \
1, 6, 1, /* char 245 */ \
1, 6, 1, /* char 246 */ \
1, 6, 1, /* char 247 */ \
0, 10, 1, /* char 248 */ \
1, 6, 1, /* char 249 */ \
1, 6, 1, /* char 250 */ \
1, 6, 1, /* char 251 */ \
1, 6, 1, /* char 252 */ \
1, 6, 1, /* char 253 */ \
1, 8, 1, /* char 254 */ \
1, 6, 1, /* char 255 */ \
226)

View File

@@ -0,0 +1,252 @@
/// For clean results on map, use only sizing pt, multiples of 6: 6t 12pt 18pt etc. - Not for use with px sizing
/// Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc.
/// Base font
/datum/font/spessfont
name = "Spess Font"
font_family = 'interface/fonts/SpessFont.ttf'
/// For icon overlays
/// Spess Font 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
/// Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
/datum/font/spessfont/size_6pt
name = "Spess Font 6pt"
height = 8
ascent = 6
descent = 2
average_width = 4
max_width = 6
overhang = 0
in_leading = 0
ex_leading = 0
default_character = 31
start = 30
end = 255
metrics = list(\
0, 1, 0, /* char 30 */ \
0, 1, 0, /* char 31 */ \
0, 1, 1, /* char 32 */ \
0, 1, 1, /* char 33 */ \
0, 3, 1, /* char 34 */ \
0, 5, 1, /* char 35 */ \
0, 3, 1, /* char 36 */ \
0, 5, 1, /* char 37 */ \
0, 5, 1, /* char 38 */ \
0, 1, 1, /* char 39 */ \
0, 2, 1, /* char 40 */ \
0, 2, 1, /* char 41 */ \
0, 3, 1, /* char 42 */ \
0, 3, 1, /* char 43 */ \
0, 1, 1, /* char 44 */ \
0, 3, 1, /* char 45 */ \
0, 1, 1, /* char 46 */ \
0, 3, 1, /* char 47 */ \
0, 4, 1, /* char 48 */ \
0, 2, 1, /* char 49 */ \
0, 4, 1, /* char 50 */ \
0, 4, 1, /* char 51 */ \
0, 4, 1, /* char 52 */ \
0, 4, 1, /* char 53 */ \
0, 4, 1, /* char 54 */ \
0, 4, 1, /* char 55 */ \
0, 4, 1, /* char 56 */ \
0, 4, 1, /* char 57 */ \
0, 1, 1, /* char 58 */ \
0, 1, 1, /* char 59 */ \
0, 3, 1, /* char 60 */ \
0, 3, 1, /* char 61 */ \
0, 3, 1, /* char 62 */ \
0, 3, 1, /* char 63 */ \
0, 4, 1, /* char 64 */ \
0, 4, 1, /* char 65 */ \
0, 4, 1, /* char 66 */ \
0, 4, 1, /* char 67 */ \
0, 4, 1, /* char 68 */ \
0, 4, 1, /* char 69 */ \
0, 4, 1, /* char 70 */ \
0, 4, 1, /* char 71 */ \
0, 4, 1, /* char 72 */ \
0, 3, 1, /* char 73 */ \
0, 4, 1, /* char 74 */ \
0, 4, 1, /* char 75 */ \
0, 4, 1, /* char 76 */ \
0, 5, 1, /* char 77 */ \
0, 4, 1, /* char 78 */ \
0, 4, 1, /* char 79 */ \
0, 4, 1, /* char 80 */ \
0, 4, 1, /* char 81 */ \
0, 4, 1, /* char 82 */ \
0, 4, 1, /* char 83 */ \
0, 5, 1, /* char 84 */ \
0, 4, 1, /* char 85 */ \
0, 4, 1, /* char 86 */ \
0, 5, 1, /* char 87 */ \
0, 5, 1, /* char 88 */ \
0, 4, 1, /* char 89 */ \
0, 4, 1, /* char 90 */ \
0, 2, 1, /* char 91 */ \
0, 3, 1, /* char 92 */ \
0, 2, 1, /* char 93 */ \
0, 3, 1, /* char 94 */ \
0, 4, 1, /* char 95 */ \
0, 2, 1, /* char 96 */ \
0, 3, 1, /* char 97 */ \
0, 4, 1, /* char 98 */ \
0, 3, 1, /* char 99 */ \
0, 4, 1, /* char 100 */ \
0, 3, 1, /* char 101 */ \
0, 2, 1, /* char 102 */ \
0, 4, 1, /* char 103 */ \
0, 3, 1, /* char 104 */ \
0, 1, 1, /* char 105 */ \
0, 1, 1, /* char 106 */ \
0, 3, 1, /* char 107 */ \
0, 1, 1, /* char 108 */ \
0, 5, 1, /* char 109 */ \
0, 3, 1, /* char 110 */ \
0, 4, 1, /* char 111 */ \
0, 4, 1, /* char 112 */ \
0, 4, 1, /* char 113 */ \
0, 2, 1, /* char 114 */ \
0, 3, 1, /* char 115 */ \
0, 2, 1, /* char 116 */ \
0, 3, 1, /* char 117 */ \
0, 3, 1, /* char 118 */ \
0, 5, 1, /* char 119 */ \
0, 3, 1, /* char 120 */ \
0, 3, 1, /* char 121 */ \
0, 3, 1, /* char 122 */ \
0, 3, 1, /* char 123 */ \
0, 1, 1, /* char 124 */ \
0, 3, 1, /* char 125 */ \
0, 4, 1, /* char 126 */ \
0, 1, 0, /* char 127 */ \
0, 1, 0, /* char 128 */ \
0, 1, 0, /* char 129 */ \
0, 1, 0, /* char 130 */ \
0, 1, 0, /* char 131 */ \
0, 1, 0, /* char 132 */ \
0, 1, 0, /* char 133 */ \
0, 1, 0, /* char 134 */ \
0, 1, 0, /* char 135 */ \
0, 1, 0, /* char 136 */ \
0, 1, 0, /* char 137 */ \
0, 1, 0, /* char 138 */ \
0, 1, 0, /* char 139 */ \
0, 1, 0, /* char 140 */ \
0, 1, 0, /* char 141 */ \
0, 1, 0, /* char 142 */ \
0, 1, 0, /* char 143 */ \
0, 1, 0, /* char 144 */ \
0, 1, 0, /* char 145 */ \
0, 1, 0, /* char 146 */ \
0, 1, 0, /* char 147 */ \
0, 1, 0, /* char 148 */ \
0, 1, 0, /* char 149 */ \
0, 1, 0, /* char 150 */ \
0, 1, 0, /* char 151 */ \
0, 1, 0, /* char 152 */ \
0, 1, 0, /* char 153 */ \
0, 1, 0, /* char 154 */ \
0, 1, 0, /* char 155 */ \
0, 1, 0, /* char 156 */ \
0, 1, 0, /* char 157 */ \
0, 1, 0, /* char 158 */ \
0, 1, 0, /* char 159 */ \
0, 1, 0, /* char 160 */ \
0, 1, 0, /* char 161 */ \
0, 1, 0, /* char 162 */ \
0, 1, 0, /* char 163 */ \
0, 1, 0, /* char 164 */ \
0, 1, 0, /* char 165 */ \
0, 1, 0, /* char 166 */ \
0, 1, 0, /* char 167 */ \
0, 1, 0, /* char 168 */ \
0, 1, 0, /* char 169 */ \
0, 1, 0, /* char 170 */ \
0, 1, 0, /* char 171 */ \
0, 1, 0, /* char 172 */ \
0, 1, 0, /* char 173 */ \
0, 1, 0, /* char 174 */ \
0, 1, 0, /* char 175 */ \
0, 1, 0, /* char 176 */ \
0, 1, 0, /* char 177 */ \
0, 1, 0, /* char 178 */ \
0, 1, 0, /* char 179 */ \
0, 1, 0, /* char 180 */ \
0, 1, 0, /* char 181 */ \
0, 1, 0, /* char 182 */ \
0, 1, 0, /* char 183 */ \
0, 1, 0, /* char 184 */ \
0, 1, 0, /* char 185 */ \
0, 1, 0, /* char 186 */ \
0, 1, 0, /* char 187 */ \
0, 1, 0, /* char 188 */ \
0, 1, 0, /* char 189 */ \
0, 1, 0, /* char 190 */ \
0, 1, 0, /* char 191 */ \
0, 1, 0, /* char 192 */ \
0, 1, 0, /* char 193 */ \
0, 1, 0, /* char 194 */ \
0, 1, 0, /* char 195 */ \
0, 1, 0, /* char 196 */ \
0, 1, 0, /* char 197 */ \
0, 1, 0, /* char 198 */ \
0, 1, 0, /* char 199 */ \
0, 1, 0, /* char 200 */ \
0, 1, 0, /* char 201 */ \
0, 1, 0, /* char 202 */ \
0, 1, 0, /* char 203 */ \
0, 1, 0, /* char 204 */ \
0, 1, 0, /* char 205 */ \
0, 1, 0, /* char 206 */ \
0, 1, 0, /* char 207 */ \
0, 1, 0, /* char 208 */ \
0, 1, 0, /* char 209 */ \
0, 1, 0, /* char 210 */ \
0, 1, 0, /* char 211 */ \
0, 1, 0, /* char 212 */ \
0, 1, 0, /* char 213 */ \
0, 1, 0, /* char 214 */ \
0, 1, 0, /* char 215 */ \
0, 1, 0, /* char 216 */ \
0, 1, 0, /* char 217 */ \
0, 1, 0, /* char 218 */ \
0, 1, 0, /* char 219 */ \
0, 1, 0, /* char 220 */ \
0, 1, 0, /* char 221 */ \
0, 1, 0, /* char 222 */ \
0, 1, 0, /* char 223 */ \
0, 1, 0, /* char 224 */ \
0, 1, 0, /* char 225 */ \
0, 1, 0, /* char 226 */ \
0, 1, 0, /* char 227 */ \
0, 1, 0, /* char 228 */ \
0, 1, 0, /* char 229 */ \
0, 1, 0, /* char 230 */ \
0, 1, 0, /* char 231 */ \
0, 1, 0, /* char 232 */ \
0, 1, 0, /* char 233 */ \
0, 1, 0, /* char 234 */ \
0, 1, 0, /* char 235 */ \
0, 1, 0, /* char 236 */ \
0, 1, 0, /* char 237 */ \
0, 1, 0, /* char 238 */ \
0, 1, 0, /* char 239 */ \
0, 1, 0, /* char 240 */ \
0, 1, 0, /* char 241 */ \
0, 1, 0, /* char 242 */ \
0, 1, 0, /* char 243 */ \
0, 1, 0, /* char 244 */ \
0, 1, 0, /* char 245 */ \
0, 1, 0, /* char 246 */ \
0, 1, 0, /* char 247 */ \
0, 1, 0, /* char 248 */ \
0, 1, 0, /* char 249 */ \
0, 1, 0, /* char 250 */ \
0, 1, 0, /* char 251 */ \
0, 1, 0, /* char 252 */ \
0, 1, 0, /* char 253 */ \
0, 1, 0, /* char 254 */ \
0, 1, 0, /* char 255 */ \
226)

View File

@@ -0,0 +1,253 @@
/// For clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing
/// Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc.
/// Base font
/datum/font/tiny_unicode
name = "TinyUnicode"
font_family = 'interface/fonts/TinyUnicode.ttf'
/// For icon overlays
/// TinyUnicode 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
/// Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
/datum/font/tiny_unicode/size_12pt
name = "TinyUnicode 12pt"
height = 13
ascent = 11
descent = 2
average_width = 5
max_width = 11
overhang = 0
in_leading = -3
ex_leading = 1
default_character = 31
start = 30
end = 255
metrics = list(
1, 5, 0, // char 30
1, 5, 0, // char 31
0, 1, 4, // char 32
0, 1, 1, // char 33
0, 3, 1, // char 34
0, 5, 1, // char 35
0, 4, 1, // char 36
0, 3, 1, // char 37
0, 5, 1, // char 38
0, 1, 1, // char 39
0, 2, 1, // char 40
0, 2, 1, // char 41
0, 3, 1, // char 42
0, 3, 1, // char 43
0, 2, 1, // char 44
0, 3, 1, // char 45
0, 1, 1, // char 46
0, 3, 1, // char 47
0, 4, 1, // char 48
0, 2, 1, // char 49
0, 4, 1, // char 50
0, 4, 1, // char 51
0, 4, 1, // char 52
0, 4, 1, // char 53
0, 4, 1, // char 54
0, 4, 1, // char 55
0, 4, 1, // char 56
0, 4, 1, // char 57
0, 1, 1, // char 58
0, 2, 1, // char 59
0, 2, 1, // char 60
0, 4, 1, // char 61
0, 2, 1, // char 62
0, 4, 1, // char 63
0, 7, 1, // char 64
0, 4, 1, // char 65
0, 4, 1, // char 66
0, 3, 1, // char 67
0, 4, 1, // char 68
0, 3, 1, // char 69
0, 3, 1, // char 70
0, 4, 1, // char 71
0, 4, 1, // char 72
0, 3, 1, // char 73
0, 4, 1, // char 74
0, 4, 1, // char 75
0, 3, 1, // char 76
0, 5, 1, // char 77
0, 4, 1, // char 78
0, 4, 1, // char 79
0, 4, 1, // char 80
0, 4, 1, // char 81
0, 4, 1, // char 82
0, 4, 1, // char 83
0, 3, 1, // char 84
0, 4, 1, // char 85
0, 4, 1, // char 86
0, 5, 1, // char 87
0, 4, 1, // char 88
0, 4, 1, // char 89
0, 3, 1, // char 90
0, 2, 1, // char 91
0, 3, 1, // char 92
0, 2, 1, // char 93
0, 3, 1, // char 94
0, 5, 1, // char 95
0, 2, 1, // char 96
0, 4, 1, // char 97
0, 4, 1, // char 98
0, 3, 1, // char 99
0, 4, 1, // char 100
0, 4, 1, // char 101
0, 3, 1, // char 102
0, 4, 1, // char 103
0, 4, 1, // char 104
0, 1, 1, // char 105
0, 2, 1, // char 106
0, 4, 1, // char 107
0, 1, 1, // char 108
0, 5, 1, // char 109
0, 4, 1, // char 110
0, 4, 1, // char 111
0, 4, 1, // char 112
0, 4, 1, // char 113
0, 3, 1, // char 114
0, 4, 1, // char 115
0, 3, 1, // char 116
0, 4, 1, // char 117
0, 4, 1, // char 118
0, 5, 1, // char 119
0, 3, 1, // char 120
0, 4, 1, // char 121
0, 4, 1, // char 122
0, 3, 1, // char 123
0, 1, 1, // char 124
0, 3, 1, // char 125
0, 5, 1, // char 126
1, 5, 0, // char 127
0, 4, 1, // char 128
1, 5, 0, // char 129
1, 5, 0, // char 130
1, 5, 0, // char 131
1, 5, 0, // char 132
1, 5, 0, // char 133
1, 5, 0, // char 134
1, 5, 0, // char 135
1, 5, 0, // char 136
0, 5, 1, // char 137
1, 5, 0, // char 138
1, 5, 0, // char 139
0, 6, 1, // char 140
1, 5, 0, // char 141
1, 5, 0, // char 142
1, 5, 0, // char 143
1, 5, 0, // char 144
1, 5, 0, // char 145
1, 5, 0, // char 146
1, 5, 0, // char 147
1, 5, 0, // char 148
0, 2, 1, // char 149
1, 5, 0, // char 150
1, 5, 0, // char 151
1, 5, 0, // char 152
0, 4, 1, // char 153
1, 5, 0, // char 154
1, 5, 0, // char 155
1, 5, 0, // char 156
1, 5, 0, // char 157
1, 5, 0, // char 158
0, 4, 1, // char 159
1, 5, 0, // char 160
0, 1, 1, // char 161
0, 4, 1, // char 162
0, 4, 1, // char 163
0, 5, 1, // char 164
0, 3, 1, // char 165
0, 1, 1, // char 166
0, 4, 1, // char 167
0, 3, 1, // char 168
0, 2, 1, // char 169
0, 8, 1, // char 170
0, 4, 1, // char 171
0, 4, 1, // char 172
1, 5, 0, // char 173
0, 2, 1, // char 174
0, 4, 1, // char 175
0, 3, 1, // char 176
0, 3, 1, // char 177
0, 2, 1, // char 178
0, 2, 1, // char 179
0, 2, 1, // char 180
0, 4, 1, // char 181
0, 5, 1, // char 182
1, 1, 1, // char 183
0, 8, 1, // char 184
0, 2, 1, // char 185
0, 2, 1, // char 186
0, 4, 1, // char 187
0, 7, 1, // char 188
0, 8, 1, // char 189
0, 8, 1, // char 190
0, 4, 1, // char 191
0, 4, 1, // char 192
0, 4, 1, // char 193
0, 4, 1, // char 194
0, 4, 1, // char 195
0, 4, 1, // char 196
0, 4, 1, // char 197
0, 6, 1, // char 198
0, 3, 1, // char 199
0, 3, 1, // char 200
0, 3, 1, // char 201
0, 3, 1, // char 202
0, 3, 1, // char 203
0, 3, 1, // char 204
0, 3, 1, // char 205
0, 3, 1, // char 206
0, 3, 1, // char 207
0, 10, 1, // char 208
0, 4, 1, // char 209
0, 4, 1, // char 210
0, 4, 1, // char 211
0, 4, 1, // char 212
0, 4, 1, // char 213
0, 4, 1, // char 214
0, 3, 1, // char 215
0, 5, 1, // char 216
0, 4, 1, // char 217
0, 4, 1, // char 218
0, 4, 1, // char 219
0, 4, 1, // char 220
0, 4, 1, // char 221
0, 3, 1, // char 222
0, 3, 1, // char 223
0, 4, 1, // char 224
0, 4, 1, // char 225
0, 4, 1, // char 226
0, 4, 1, // char 227
0, 4, 1, // char 228
0, 4, 1, // char 229
0, 7, 1, // char 230
0, 3, 1, // char 231
0, 4, 1, // char 232
0, 4, 1, // char 233
0, 4, 1, // char 234
0, 4, 1, // char 235
0, 2, 1, // char 236
0, 2, 1, // char 237
0, 3, 1, // char 238
0, 3, 1, // char 239
0, 5, 1, // char 240
0, 4, 1, // char 241
0, 4, 1, // char 242
0, 4, 1, // char 243
0, 4, 1, // char 244
0, 4, 1, // char 245
0, 4, 1, // char 246
0, 5, 1, // char 247
0, 4, 1, // char 248
0, 4, 1, // char 249
0, 4, 1, // char 250
0, 4, 1, // char 251
0, 4, 1, // char 252
0, 4, 1, // char 253
0, 10, 1, // char 254
0, 4, 1, // char 255
226
)

View File

@@ -0,0 +1,3 @@
/datum/font/vcr_osd_mono
name = "VCR OSD Mono"
font_family = 'interface/fonts/VCR_OSD_Mono.ttf'

View File

@@ -108,7 +108,7 @@ window "mapwindow"
text-color = none
is-default = true
saved-params = "zoom;letterbox;zoom-mode"
style = ".center { text-align: center; } .maptext { font-family: 'Small Fonts'; font-size: 7px; -dm-text-outline: 1px black; color: white; line-height: 1.1; } .command_headset { font-weight: bold;\tfont-size: 8px; } .small { font-size: 6px; } .big { font-size: 8px; } .reallybig { font-size: 8px; } .extremelybig { font-size: 8px; } .greentext { color: #00FF00; font-size: 7px; } .redtext { color: #FF0000; font-size: 7px; } .clown { color: #FF69Bf; font-size: 7px; font-weight: bold; } .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; } .italics { font-size: 6px; }"
style = ".center { text-align: center; } .maptext { font-family: 'Small Fonts'; font-size: 7px; -dm-text-outline: 1px black; color: white; line-height: 1.1; } .command_headset { font-weight: bold;\tfont-size: 8px; } .context { font-family: 'Pixellari'; font-size: 12pt; -dm-text-outline: 1px black; } .subcontext { font-family: 'TinyUnicode'; font-size: 12pt; line-height: 0.75; } .small { font-size: 6px; } .big { font-size: 8px; } .reallybig { font-size: 8px; } .extremelybig { font-size: 8px; } .greentext { color: #00FF00; font-size: 7px; } .redtext { color: #FF0000; font-size: 7px; } .clown { color: #FF69Bf; font-size: 7px; font-weight: bold; } .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; } .italics { font-size: 6px; }"
elem "status_bar"
type = LABEL
pos = 0,1008

View File

@@ -54,6 +54,7 @@
#include "code\__DEFINES\explosion.dm"
#include "code\__DEFINES\exports.dm"
#include "code\__DEFINES\fantasy_affixes.dm"
#include "code\__DEFINES\fonts.dm"
#include "code\__DEFINES\food.dm"
#include "code\__DEFINES\footsteps.dm"
#include "code\__DEFINES\gun.dm"
@@ -3816,6 +3817,12 @@
#include "interface\menu.dm"
#include "interface\stylesheet.dm"
#include "interface\skin.dmf"
#include "interface\fonts\fonts_datum.dm"
#include "interface\fonts\grand_9k.dm"
#include "interface\fonts\pixellari.dm"
#include "interface\fonts\spess_font.dm"
#include "interface\fonts\tiny_unicode.dm"
#include "interface\fonts\vcr_osd_mono.dm"
#include "modular_citadel\code\datums\components\souldeath.dm"
#include "modular_citadel\code\datums\status_effects\chems.dm"
#include "modular_citadel\code\game\objects\effects\temporary_visuals\souldeath.dm"