SMZ3: Use correct font tiles for cross-world items in SM (#3095)

This commit is contained in:
Kaito Sinclaire 2024-04-21 09:44:17 -07:00 committed by GitHub
parent ec18254e9e
commit ee69fa6a8c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 81 additions and 47 deletions

View File

@ -284,7 +284,9 @@ class SMZ3World(World):
return offworldSprites
def convert_to_sm_item_name(self, itemName):
charMap = { "A" : 0x3CE0,
# SMZ3 uses a different font; this map is not compatible with just SM alone.
charMap = {
"A": 0x3CE0,
"B": 0x3CE1,
"C": 0x3CE2,
"D": 0x3CE3,
@ -317,22 +319,54 @@ class SMZ3World(World):
",": 0x3CFB,
".": 0x3CFA,
"-": 0x3CCF,
"_" : 0x000E,
"1" : 0x3C00,
"2" : 0x3C01,
"3" : 0x3C02,
"4" : 0x3C03,
"5" : 0x3C04,
"6" : 0x3C05,
"7" : 0x3C06,
"8" : 0x3C07,
"9" : 0x3C08,
"0" : 0x3C09,
"%" : 0x3C0A}
"1": 0x3C80,
"2": 0x3C81,
"3": 0x3C82,
"4": 0x3C83,
"5": 0x3C84,
"6": 0x3C85,
"7": 0x3C86,
"8": 0x3C87,
"9": 0x3C88,
"0": 0x3C89,
"%": 0x3C0A,
"a": 0x3C90,
"b": 0x3C91,
"c": 0x3C92,
"d": 0x3C93,
"e": 0x3C94,
"f": 0x3C95,
"g": 0x3C96,
"h": 0x3C97,
"i": 0x3C98,
"j": 0x3C99,
"k": 0x3C9A,
"l": 0x3C9B,
"m": 0x3C9C,
"n": 0x3C9D,
"o": 0x3C9E,
"p": 0x3C9F,
"q": 0x3CA0,
"r": 0x3CA1,
"s": 0x3CA2,
"t": 0x3CA3,
"u": 0x3CA4,
"v": 0x3CA5,
"w": 0x3CA6,
"x": 0x3CA7,
"y": 0x3CA8,
"z": 0x3CA9,
'"': 0x3CAA,
":": 0x3CAB,
"~": 0x3CAC,
"@": 0x3CAD,
"#": 0x3CAE,
"+": 0x3CAF,
"_": 0x000E
}
data = []
itemName = itemName.upper()[:26]
itemName = itemName.strip()
itemName = itemName.replace("_", "-").strip()[:26]
itemName = itemName.center(26, " ")
itemName = "___" + itemName + "___"