cave-of-dreams/addons/limbo_console/ascii_art.gd

209 lines
2.2 KiB
GDScript3
Raw Normal View History

2026-05-09 17:18:11 +00:00
extends RefCounted
const boxed_map: Dictionary = {
'a': """
""",
'b': """
""",
'c': """
""",
'd': """
""",
'e': """
""",
'f': """
""",
'g': """
""",
'h': """
""",
'i': """
""",
'j': """
""",
'k': """
""",
'l': """
""",
'm': """
""",
'n': """
""",
'o': """
""",
'p': """
""",
'q': """
""",
'r': """
""",
's': """
""",
't': """
""",
'u': """
""",
'v': """
""",
'w': """
""",
'x': """
""",
'y': """
""",
'z': """
""",
' ': """
""",
'_': """
""",
',': """
""",
'.': """
""",
'!': """
""",
'-': """
""",
'?': """
""",
'\'': """
""",
':': """
""",
'0': """
""",
'1': """
""",
'2': """
""",
'3': """
""",
'4': """
""",
'5': """
""",
'6': """
""",
'7': """
""",
'8': """
""",
'9': """
""",
}
const unsupported_char := """
"""
static func str_to_boxed_art(p_text: String) -> PackedStringArray:
var lines: PackedStringArray = []
lines.resize(2)
for c in p_text:
var ascii: String = boxed_map.get(c.to_lower(), unsupported_char)
var parts: PackedStringArray = ascii.split('\n')
lines[0] += parts[1]
lines[1] += parts[2]
return lines
static func is_boxed_art_supported(p_text: String) -> bool:
for c in p_text:
if not boxed_map.has(c.to_lower()):
return false
return true