Skip to content

Commit

Permalink
tr1/text: support Unicode glyphs
Browse files Browse the repository at this point in the history
Resolves #386, #636, #1928 and #1919.
  • Loading branch information
rr- committed Nov 24, 2024
1 parent 4cb8441 commit ff7ec95
Show file tree
Hide file tree
Showing 28 changed files with 2,455 additions and 152 deletions.
Binary file added data/tr1/glyphs/buttons.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/tr1/glyphs/glyphs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 28 additions & 0 deletions data/tr1/glyphs/mapping.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This file is used by the tooling in the tools/glyphs/ directory and is
# crucial for the game's graphical text handling, serving two roles:
#
# 1. Hardcoding Unicode to sprite mapping
# It generates C macros that map Unicode code points and escaped sequences
# to O_ALPHABET's sprite indices, specify glyph dimensions, and instruct how
# to compose compound characters - all getting hardcoded into the executable.
# 2. Guidance for font.bin creation
# It directs the injector tool in creating the font.bin file that contains
# O_ALPHABET sprite bitmaps, along with additional positional information.
#
# Important notes:
# - Some sprite indices are fixed. This is for compatibility with the original
# game to retains original text format even if font.bin goes missing.
# - Glyphs are ordered for efficient lookup by the naive strcmp()-based
# implementation we have now. Thus the most used glyphs (ASCII and icons)
# should retain their early position in the file.

include "mapping_basic_latin.txt"
include "mapping_icons.txt"
include "mapping_combining_diactrics.txt"
include "mapping_latin-1_supplement.txt"
include "mapping_latin_extended-a.txt"
include "mapping_latin_extended-b.txt"
include "mapping_greek_and_coptic.txt"
include "mapping_cyrillic.txt"
include "mapping_latin_extended_additional.txt"
include "mapping_misc.txt"
104 changes: 104 additions & 0 deletions data/tr1/glyphs/mapping_basic_latin.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# --------------------------------------------------
# Unicode Block "Basic Latin" (U+0000 to U+007F)
# --------------------------------------------------
# ASCII a-z
U+0061:a N manual_sprite("glyphs.png", 218, 41, 11, 18, index=26)
U+0062:b N manual_sprite("glyphs.png", 229, 41, 11, 18, index=27)
U+0063:c N manual_sprite("glyphs.png", 240, 41, 11, 18, index=28)
U+0064:d N manual_sprite("glyphs.png", 0, 59, 11, 18, index=29)
U+0065:e N manual_sprite("glyphs.png", 11, 59, 11, 18, index=30)
U+0066:f N manual_sprite("glyphs.png", 22, 59, 11, 18, index=31)
U+0067:g N manual_sprite("glyphs.png", 33, 59, 11, 18, index=32)
U+0068:h N manual_sprite("glyphs.png", 44, 59, 11, 18, index=33)
U+0069:i N manual_sprite("glyphs.png", 55, 59, 7, 18, index=34)
U+006A:j N manual_sprite("glyphs.png", 62, 59, 11, 18, index=35)
U+006B:k N manual_sprite("glyphs.png", 73, 59, 12, 18, index=36)
U+006C:l N manual_sprite("glyphs.png", 85, 59, 7, 18, index=37)
U+006D:m N manual_sprite("glyphs.png", 92, 59, 14, 18, index=38)
U+006E:n N manual_sprite("glyphs.png", 106, 59, 12, 18, index=39)
U+006F:o N manual_sprite("glyphs.png", 118, 59, 11, 18, index=40)
U+0070:p N manual_sprite("glyphs.png", 129, 59, 11, 18, index=41)
U+0071:q N manual_sprite("glyphs.png", 140, 59, 11, 18, index=42)
U+0072:r N manual_sprite("glyphs.png", 151, 59, 10, 18, index=43)
U+0073:s N manual_sprite("glyphs.png", 161, 59, 11, 18, index=44)
U+0074:t N manual_sprite("glyphs.png", 172, 59, 11, 18, index=45)
U+0075:u N manual_sprite("glyphs.png", 183, 59, 11, 18, index=46)
U+0076:v N manual_sprite("glyphs.png", 194, 59, 11, 18, index=47)
U+0077:w N manual_sprite("glyphs.png", 205, 59, 13, 18, index=48)
U+0078:x N manual_sprite("glyphs.png", 218, 59, 11, 18, index=49)
U+0079:y N manual_sprite("glyphs.png", 229, 59, 11, 18, index=50)
U+007A:z N manual_sprite("glyphs.png", 240, 59, 11, 18, index=51)

# ASCII A-z
U+0041:A N manual_sprite("glyphs.png", 65, 23, 17, 18, index=0) expand(-1)
U+0042:B N manual_sprite("glyphs.png", 82, 23, 13, 18, index=1)
U+0043:C N manual_sprite("glyphs.png", 95, 23, 13, 18, index=2)
U+0044:D N manual_sprite("glyphs.png", 108, 23, 13, 18, index=3)
U+0045:E N manual_sprite("glyphs.png", 121, 23, 13, 18, index=4)
U+0046:F N manual_sprite("glyphs.png", 134, 23, 13, 18, index=5)
U+0047:G N manual_sprite("glyphs.png", 147, 23, 13, 18, index=6)
U+0048:H N manual_sprite("glyphs.png", 160, 23, 15, 18, index=7)
U+0049:I N manual_sprite("glyphs.png", 175, 23, 10, 18, index=8)
U+004A:J N manual_sprite("glyphs.png", 185, 23, 13, 18, index=9)
U+004B:K N manual_sprite("glyphs.png", 198, 23, 14, 18, index=10)
U+004C:L N manual_sprite("glyphs.png", 212, 23, 13, 18, index=11)
U+004D:M N manual_sprite("glyphs.png", 225, 23, 15, 18, index=12)
U+004E:N N manual_sprite("glyphs.png", 240, 23, 15, 18, index=13)
U+004F:O N manual_sprite("glyphs.png", 0, 41, 14, 18, index=14)
U+0050:P N manual_sprite("glyphs.png", 14, 41, 13, 18, index=15)
U+0051:Q N manual_sprite("glyphs.png", 27, 41, 14, 18, index=16)
U+0052:R N manual_sprite("glyphs.png", 41, 41, 14, 18, index=17)
U+0053:S N manual_sprite("glyphs.png", 55, 41, 13, 18, index=18)
U+0054:T N manual_sprite("glyphs.png", 68, 41, 14, 18, index=19)
U+0055:U N manual_sprite("glyphs.png", 82, 41, 15, 18, index=20)
U+0056:V N manual_sprite("glyphs.png", 97, 41, 15, 18, index=21)
U+0057:W N manual_sprite("glyphs.png", 112, 41, 15, 18, index=22)
U+0058:X N manual_sprite("glyphs.png", 127, 41, 14, 18, index=23)
U+0059:Y N manual_sprite("glyphs.png", 141, 41, 14, 18, index=24)
U+005A:Z N manual_sprite("glyphs.png", 155, 41, 13, 18, index=25)

# Digits 0-9
U+0030:0 N manual_sprite("glyphs.png", 135, 5, 14, 18, index=52)
U+0031:1 N manual_sprite("glyphs.png", 149, 5, 11, 18, index=53)
U+0032:2 N manual_sprite("glyphs.png", 160, 5, 12, 18, index=54)
U+0033:3 N manual_sprite("glyphs.png", 172, 5, 12, 18, index=55)
U+0034:4 N manual_sprite("glyphs.png", 184, 5, 12, 18, index=56)
U+0035:5 N manual_sprite("glyphs.png", 196, 5, 12, 18, index=57)
U+0036:6 N manual_sprite("glyphs.png", 208, 5, 12, 18, index=58)
U+0037:7 N manual_sprite("glyphs.png", 220, 5, 12, 18, index=59)
U+0038:8 N manual_sprite("glyphs.png", 232, 5, 12, 18, index=60)
U+0039:9 N manual_sprite("glyphs.png", 244, 5, 12, 18, index=61)

# Basic Punctuation
U+0021:! N manual_sprite("glyphs.png", 0, 5, 6, 18, index=64)
U+0022:" N manual_sprite("glyphs.png", 6, 5, 9, 18)
U+0023:# N manual_sprite("glyphs.png", 16, 5, 14, 18, index=78)
U+0024:$ N manual_sprite("glyphs.png", 30, 5, 11, 18)
U+0025:% N manual_sprite("glyphs.png", 41, 5, 13, 18)
U+0026:& N manual_sprite("glyphs.png", 54, 5, 11, 18)
U+0027:' N manual_sprite("glyphs.png", 65, 5, 6, 18, index=79)
U+0028:( N manual_sprite("glyphs.png", 71, 5, 7, 18)
U+0029:) N manual_sprite("glyphs.png", 78, 5, 7, 18)
U+002A:* N manual_sprite("glyphs.png", 85, 5, 9, 18)
U+002B:+ N manual_sprite("glyphs.png", 94, 5, 11, 18, index=72)
U+002C:, N manual_sprite("glyphs.png", 105, 5, 6, 18, index=63)
U+002D:- N manual_sprite("glyphs.png", 111, 5, 9, 18, index=71)
U+002E:. N manual_sprite("glyphs.png", 120, 5, 6, 18, index=62)
U+002F:/ N manual_sprite("glyphs.png", 126, 5, 9, 18, index=68)
U+003A:: N manual_sprite("glyphs.png", 0, 23, 6, 18, index=73)
U+003B:; N manual_sprite("glyphs.png", 6, 23, 6, 18)
U+003C:< N manual_sprite("glyphs.png", 13, 23, 9, 18)
U+003D:= N manual_sprite("glyphs.png", 22, 23, 9, 18)
U+003E:> N manual_sprite("glyphs.png", 31, 23, 9, 18)
U+003F:? N manual_sprite("glyphs.png", 41, 23, 12, 18, index=65)
U+0040:@ N manual_sprite("glyphs.png", 53, 23, 12, 18)
U+005B:[ N manual_sprite("glyphs.png", 168, 41, 8, 18, index=66)
U+005C:\ N manual_sprite("glyphs.png", 176, 41, 9, 18, index=76)
U+005D:] N manual_sprite("glyphs.png", 185, 41, 8, 18, index=75)
U+005E:^ N manual_sprite("glyphs.png", 193, 41, 9, 18)
U+005F:_ N manual_sprite("glyphs.png", 202, 41, 9, 18)
U+0060:` N manual_sprite("glyphs.png", 211, 41, 7, 18)
U+007B:{ N manual_sprite("glyphs.png", 0, 77, 8, 18)
U+007C:| N manual_sprite("glyphs.png", 8, 77, 6, 18)
U+007D:} N manual_sprite("glyphs.png", 14, 77, 8, 18)
U+007E:~ N manual_sprite("glyphs.png", 22, 77, 10, 18)
16 changes: 16 additions & 0 deletions data/tr1/glyphs/mapping_combining_diactrics.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# --------------------------------------------------
# Combining diactrics
# --------------------------------------------------
"\\{grave accent}" c manual_sprite("glyphs.png", 0, 0, 7, 5, index=77)
"\\{acute accent}" c manual_sprite("glyphs.png", 7, 0, 7, 5, index=70)
"\\{circumflex accent}" c manual_sprite("glyphs.png", 32, 0, 9, 5, index=69)
"\\{circumflex}" N link("\\{circumflex accent}")
"\\{macron}" c manual_sprite("glyphs.png", 23, 0, 9, 5)
"\\{breve}" c manual_sprite("glyphs.png", 50, 0, 8, 5)
"\\{dot above}" c manual_sprite("glyphs.png", 58, 0, 6, 5)
"\\{umlaut}" c manual_sprite("glyphs.png", 14, 0, 9, 5, index=67)
"\\{caron}" c manual_sprite("glyphs.png", 41, 0, 9, 5)
"\\{ring above}" c manual_sprite("glyphs.png", 64, 0, 7, 5)
"\\{tilde}" c manual_sprite("glyphs.png", 71, 0, 10, 5)
"\\{double acute accent}" c manual_sprite("glyphs.png", 81, 0, 9, 5)
"\\{acute umlaut}" c manual_sprite("glyphs.png", 90, 0, 11, 5)
101 changes: 101 additions & 0 deletions data/tr1/glyphs/mapping_cyrillic.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# --------------------------------------------------
# Unicode Block "Cyrillic" (U+0400 to U+04FF)
# --------------------------------------------------
U+0400:Ѐ C combine(U+0415:Е, "\\{grave accent}")
U+0401:Ё C combine(U+0415:Е, "\\{umlaut}")
U+0402:Ђ N manual_sprite("glyphs.png", 73, 167, 15, 18)
U+0403:Ѓ C combine(U+0413:Г, "\\{acute accent}")
U+0404:Є N manual_sprite("glyphs.png", 88, 167, 13, 18)
U+0405:Ѕ N link("S")
U+0406:І N link("I")
U+0407:Ї C combine(U+0406:І, "\\{umlaut}")
U+0408:Ј N link("J")
U+0409:Љ N manual_sprite("glyphs.png", 101, 167, 18, 18)
U+040A:Њ N manual_sprite("glyphs.png", 119, 167, 18, 18)
U+040B:Ћ N manual_sprite("glyphs.png", 137, 167, 16, 18)
U+040C:Ќ C combine(U+041A:К, "\\{acute accent}")
U+040D:Ѝ C combine(U+0418:И, "\\{grave accent}")
U+040E:Ў C combine(U+0423:У, "\\{breve}")
U+040F:Џ N manual_sprite("glyphs.png", 153, 167, 14, 18)
U+0410:А N link("A")
U+0411:Б N manual_sprite("glyphs.png", 167, 167, 13, 18)
U+0412:В N link("B")
U+0413:Г N link(U+0393:Γ)
U+0414:Д N manual_sprite("glyphs.png", 180, 167, 16, 18)
U+0415:Е N link("E")
U+0416:Ж N manual_sprite("glyphs.png", 196, 167, 18, 18)
U+0417:З N manual_sprite("glyphs.png", 214, 167, 12, 18)
U+0418:И N manual_sprite("glyphs.png", 226, 167, 15, 18)
U+0419:Й C combine(U+0418:И, "\\{breve}")
U+041A:К N link("K")
U+041B:Л N manual_sprite("glyphs.png", 241, 167, 15, 18)
U+041C:М N link("M")
U+041D:Н N link("H")
U+041E:О N link("O")
U+041F:П N link(U+03A0:Π)
U+0420:Р N link("P")
U+0421:С N link("C")
U+0422:Т N link("T")
U+0423:У N manual_sprite("glyphs.png", 0, 185, 14, 18)
U+0424:Ф N link(U+03A6:Φ)
U+0425:Х N link("X")
U+0426:Ц N manual_sprite("glyphs.png", 14, 185, 15, 18)
U+0427:Ч N manual_sprite("glyphs.png", 29, 185, 15, 18)
U+0428:Ш N manual_sprite("glyphs.png", 44, 185, 18, 18)
U+0429:Щ N manual_sprite("glyphs.png", 62, 185, 18, 18)
U+042A:Ъ N manual_sprite("glyphs.png", 80, 185, 15, 18)
U+042B:Ы N manual_sprite("glyphs.png", 95, 185, 18, 18)
U+042C:Ь N manual_sprite("glyphs.png", 113, 185, 13, 18)
U+042D:Э N manual_sprite("glyphs.png", 126, 185, 13, 18)
U+042E:Ю N manual_sprite("glyphs.png", 139, 185, 18, 18)
U+042F:Я N manual_sprite("glyphs.png", 157, 185, 13, 18)
U+0430:а N link("a")
U+0431:б N manual_sprite("glyphs.png", 170, 185, 11, 18)
U+0432:в N manual_sprite("glyphs.png", 181, 185, 11, 18)
U+0433:г N manual_sprite("glyphs.png", 192, 185, 10, 18)
U+0434:д N manual_sprite("glyphs.png", 202, 185, 12, 18)
U+0435:е N link("e")
U+0436:ж N manual_sprite("glyphs.png", 214, 185, 17, 18)
U+0437:з N manual_sprite("glyphs.png", 232, 185, 11, 18)
U+0438:и N manual_sprite("glyphs.png", 243, 185, 12, 18)
U+0439:й C combine(U+0438:и, "\\{breve}")
U+043A:к N link(U+0138:ĸ)
U+043B:л N manual_sprite("glyphs.png", 0, 203, 11, 18)
U+043C:м N manual_sprite("glyphs.png", 11, 203, 13, 18)
U+043D:н N manual_sprite("glyphs.png", 24, 203, 11, 18)
U+043E:о N link("o")
U+043F:п N manual_sprite("glyphs.png", 35, 203, 11, 18)
U+0440:р N link("p")
U+0441:с N link("c")
U+0442:т N manual_sprite("glyphs.png", 46, 203, 10, 18)
U+0443:у N link("y")
U+0444:ф N manual_sprite("glyphs.png", 56, 203, 14, 18)
U+0445:х N link("x")
U+0446:ц N manual_sprite("glyphs.png", 70, 203, 12, 18)
U+0447:ч N manual_sprite("glyphs.png", 82, 203, 11, 18)
U+0448:ш N manual_sprite("glyphs.png", 93, 203, 14, 18)
U+0449:щ N manual_sprite("glyphs.png", 107, 203, 15, 18)
U+044A:ъ N manual_sprite("glyphs.png", 122, 203, 13, 18)
U+044B:ы N manual_sprite("glyphs.png", 135, 203, 14, 18)
U+044C:ь N manual_sprite("glyphs.png", 149, 203, 11, 18)
U+044D:э N manual_sprite("glyphs.png", 160, 203, 11, 18)
U+044E:ю N manual_sprite("glyphs.png", 171, 203, 14, 18)
U+044F:я N manual_sprite("glyphs.png", 185, 203, 11, 18)
U+0450:ѐ C combine("e", "\\{grave accent}")
U+0451:ё C combine("e", "\\{umlaut}")
U+0452:ђ N manual_sprite("glyphs.png", 196, 203, 12, 18)
U+0453:ѓ C combine(U+0433:г, "\\{acute accent}")
U+0454:є N manual_sprite("glyphs.png", 208, 203, 11, 18)
U+0455:ѕ N link("s")
U+0456:і N link("i")
U+0457:ї C combine(U+0131:ı, "\\{umlaut}")
U+0458:ј N link("j")
U+0459:љ N manual_sprite("glyphs.png", 219, 203, 16, 18)
U+045A:њ N manual_sprite("glyphs.png", 235, 203, 16, 18)
U+045B:ћ N link(U+0127:ħ)
U+045C:ќ C combine(U+043A:к, "\\{acute accent}")
U+045D:ѝ C combine(U+0438:и, "\\{grave accent}")
U+045E:ў C combine(U+0443:у, "\\{breve}")
U+045F:џ N manual_sprite("glyphs.png", 0, 221, 11, 18)
U+0490:Ґ N manual_sprite("glyphs.png", 11, 221, 13, 18)
U+0491:ґ N manual_sprite("glyphs.png", 24, 221, 10, 18)
73 changes: 73 additions & 0 deletions data/tr1/glyphs/mapping_greek_and_coptic.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# --------------------------------------------------
# Unicode Block "Greek and Coptic" (U+0370 to U+03FF)
# --------------------------------------------------
U+0393:Γ N manual_sprite("glyphs.png", 194, 131, 13, 18)
U+0394:Δ N manual_sprite("glyphs.png", 207, 131, 15, 18)
U+0395:Ε N link("E")
U+0396:Ζ N link("Z")
U+0397:Η N link("H")
U+0398:Θ N manual_sprite("glyphs.png", 222, 131, 14, 18)
U+0399:Ι N link("I")
U+039A:Κ N link("K")
U+039B:Λ N manual_sprite("glyphs.png", 236, 131, 17, 18)
U+039C:Μ N link("M")
U+039D:Ν N link("N")
U+039E:Ξ N manual_sprite("glyphs.png", 0, 149, 14, 18)
U+039F:Ο N link("O")
U+03A0:Π N manual_sprite("glyphs.png", 14, 149, 15, 18)
U+03A1:Ρ N link("P")
U+03A3:Σ N manual_sprite("glyphs.png", 29, 149, 13, 18)
U+03A4:Τ N link("T")
U+03A5:Υ N link("Y")
U+03A6:Φ N manual_sprite("glyphs.png", 42, 149, 16, 18)
U+03A7:Χ N link("Z")
U+03A8:Ψ N manual_sprite("glyphs.png", 58, 149, 18, 18)
U+03A9:Ω N manual_sprite("glyphs.png", 76, 149, 14, 18)
U+03B1:α N manual_sprite("glyphs.png", 90, 149, 12, 18)
U+03B2:β N manual_sprite("glyphs.png", 102, 149, 11, 18)
U+03B3:γ N manual_sprite("glyphs.png", 113, 149, 12, 18)
U+03B4:δ N manual_sprite("glyphs.png", 125, 149, 11, 18)
U+03B5:ε N manual_sprite("glyphs.png", 136, 149, 11, 18)
U+03B6:ζ N manual_sprite("glyphs.png", 147, 149, 11, 18)
U+03B7:η N manual_sprite("glyphs.png", 158, 149, 11, 18)
U+03B8:θ N manual_sprite("glyphs.png", 169, 149, 11, 18)
U+03B9:ι N link(U+0131:ı)
U+03BA:κ N link(U+0138:ĸ)
U+03BB:λ N manual_sprite("glyphs.png", 180, 149, 12, 18)
U+03BC:μ N link(U+00B5:µ)
U+03BD:ν N link("v")
U+03BE:ξ N manual_sprite("glyphs.png", 192, 149, 11, 18)
U+03BF:ο N link("o")
U+03C0:π N manual_sprite("glyphs.png", 203, 149, 13, 18)
U+03C1:ρ N manual_sprite("glyphs.png", 216, 149, 11, 18)
U+03C2:ς N manual_sprite("glyphs.png", 227, 149, 11, 18)
U+03C3:σ N manual_sprite("glyphs.png", 238, 149, 12, 18)
U+03C4:τ N manual_sprite("glyphs.png", 0, 167, 10, 18)
U+03C5:υ N manual_sprite("glyphs.png", 10, 167, 11, 18)
U+03C6:φ N manual_sprite("glyphs.png", 21, 167, 14, 18)
U+03C7:χ N manual_sprite("glyphs.png", 35, 167, 11, 18)
U+03C8:ψ N manual_sprite("glyphs.png", 46, 167, 14, 18)
U+03C9:ω N manual_sprite("glyphs.png", 60, 167, 13, 18)

U+0386:Ά C combine(U+0391:Α, "\\{acute accent}", offset_x=-4, offset_y=2)
U+0388:Έ C combine(U+0395:Ε, "\\{acute accent}", offset_x=-4, offset_y=2)
U+0389:Ή C combine(U+0397:Η, "\\{acute accent}", offset_x=-4, offset_y=2)
U+038A:Ί C combine(U+0399:Ι, "\\{acute accent}", offset_x=-4, offset_y=2)
U+038C:Ό C combine(U+039F:Ο, "\\{acute accent}", offset_x=-4, offset_y=2)
U+038E:Ύ C combine(U+03A5:Υ, "\\{acute accent}", offset_x=-4, offset_y=2)
U+038F:Ώ C combine(U+03A9:Ω, "\\{acute accent}", offset_x=-4, offset_y=2)
U+0390:ΐ C combine(U+03B9:ι, "\\{acute umlaut}")
U+0391:Α N link("A")
U+0392:Β N link("B")
U+03AA:Ϊ C combine(U+0399:Ι, "\\{umlaut}")
U+03AB:Ϋ C combine(U+03A5:Υ, "\\{umlaut}")
U+03AC:ά C combine(U+03B1:α, "\\{acute accent}")
U+03AD:έ C combine(U+03B5:ε, "\\{acute accent}")
U+03AE:ή C combine(U+03B7:η, "\\{acute accent}")
U+03AF:ί C combine(U+03B9:ι, "\\{acute accent}")
U+03B0:ΰ C combine(U+03C5:υ, "\\{acute umlaut}")
U+03CA:ϊ C combine(U+03B9:ι, "\\{umlaut}")
U+03CB:ϋ C combine(U+03C5:υ, "\\{umlaut}")
U+03CC:ό C combine(U+03BF:ο, "\\{acute accent}")
U+03CD:ύ C combine(U+03C5:υ, "\\{acute accent}")
U+03CE:ώ C combine(U+03C9:ω, "\\{acute accent}")
33 changes: 33 additions & 0 deletions data/tr1/glyphs/mapping_icons.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# --------------------------------------------------
# Icons
# --------------------------------------------------
"\\{small digit 0}" N grid_sprite("buttons.png", 0, 0, index=82)
"\\{small digit 1}" N grid_sprite("buttons.png", 1, 0, index=83)
"\\{small digit 2}" N grid_sprite("buttons.png", 2, 0, index=84)
"\\{small digit 3}" N grid_sprite("buttons.png", 3, 0, index=85)
"\\{small digit 4}" N grid_sprite("buttons.png", 4, 0, index=86)
"\\{small digit 5}" N grid_sprite("buttons.png", 5, 0, index=87)
"\\{small digit 6}" N grid_sprite("buttons.png", 6, 0, index=88)
"\\{small digit 7}" N grid_sprite("buttons.png", 7, 0, index=89)
"\\{small digit 8}" N grid_sprite("buttons.png", 8, 0, index=90)
"\\{small digit 9}" N grid_sprite("buttons.png", 9, 0, index=91)
"\\{button down}" N grid_sprite("buttons.png", 0, 1, index=106)
"\\{button up}" N grid_sprite("buttons.png", 1, 1, index=107)
"\\{button left}" N grid_sprite("buttons.png", 2, 1, index=108)
"\\{button right}" N grid_sprite("buttons.png", 3, 1, index=109)
"\\{button triangle}" N grid_sprite("buttons.png", 0, 2, index=93)
"\\{button circle}" N grid_sprite("buttons.png", 1, 2, index=94)
"\\{button x}" N grid_sprite("buttons.png", 2, 2, index=95)
"\\{button square}" N grid_sprite("buttons.png", 3, 2, index=96)
"\\{button empty}" N grid_sprite("buttons.png", 0, 3, index=92)
"\\{button l1}" N grid_sprite("buttons.png", 1, 3, index=97)
"\\{button r1}" N grid_sprite("buttons.png", 2, 3, index=98)
"\\{button l2}" N grid_sprite("buttons.png", 3, 3, index=99)
"\\{button r2}" N grid_sprite("buttons.png", 4, 3, index=100)
"\\{icon music}" N grid_sprite("buttons.png", 8, 3, index=101)
"\\{icon sound}" N grid_sprite("buttons.png", 9, 3, index=102)
"\\{ammo shotgun}" N grid_sprite("buttons.png", 7, 1, index=103)
"\\{ammo magnums}" N grid_sprite("buttons.png", 8, 1, index=104)
"\\{ammo uzis}" N grid_sprite("buttons.png", 9, 1, index=105)
"\\{arrow up}" N grid_sprite("buttons.png", 8, 2, index=80)
"\\{arrow down}" N grid_sprite("buttons.png", 9, 2, index=81) translate(y=-2)
Loading

0 comments on commit ff7ec95

Please sign in to comment.