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 return offworldSprites
def convert_to_sm_item_name(self, itemName): 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, "B": 0x3CE1,
"C": 0x3CE2, "C": 0x3CE2,
"D": 0x3CE3, "D": 0x3CE3,
@ -317,22 +319,54 @@ class SMZ3World(World):
",": 0x3CFB, ",": 0x3CFB,
".": 0x3CFA, ".": 0x3CFA,
"-": 0x3CCF, "-": 0x3CCF,
"_" : 0x000E, "1": 0x3C80,
"1" : 0x3C00, "2": 0x3C81,
"2" : 0x3C01, "3": 0x3C82,
"3" : 0x3C02, "4": 0x3C83,
"4" : 0x3C03, "5": 0x3C84,
"5" : 0x3C04, "6": 0x3C85,
"6" : 0x3C05, "7": 0x3C86,
"7" : 0x3C06, "8": 0x3C87,
"8" : 0x3C07, "9": 0x3C88,
"9" : 0x3C08, "0": 0x3C89,
"0" : 0x3C09, "%": 0x3C0A,
"%" : 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 = [] data = []
itemName = itemName.upper()[:26] itemName = itemName.replace("_", "-").strip()[:26]
itemName = itemName.strip()
itemName = itemName.center(26, " ") itemName = itemName.center(26, " ")
itemName = "___" + itemName + "___" itemName = "___" + itemName + "___"