-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcharacters.py
More file actions
67 lines (63 loc) · 4.26 KB
/
characters.py
File metadata and controls
67 lines (63 loc) · 4.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import bytereaders
def decodeCharacter(character: int):
if character <= 0x01F0:
return \
['␀', ' ', 'ぁ', 'あ', 'ぃ', 'い', 'ぅ', 'う', 'ぇ', 'え', 'ぉ', 'お', 'か', 'が', 'き', 'ぎ', 'く', 'ぐ', 'け', 'げ', 'こ',
'ご', 'さ', 'ざ', 'し', 'じ', 'す', 'ず', 'せ', 'ぜ', 'そ', 'ぞ', 'た', 'だ', 'ち', 'ぢ', 'っ', 'つ', 'づ', 'て', 'で', 'と',
'ど',
'な', 'に', 'ぬ', 'ね', 'の', 'は', 'ば', 'ぱ', 'ひ', 'び', 'ぴ', 'ふ', 'ぶ', 'ぷ', 'へ', 'べ', 'ぺ', 'ほ', 'ぼ', 'ぽ', 'ま',
'み',
'む', 'め', 'も', 'ゃ', 'や', 'ゅ', 'ゆ', 'ょ', 'よ', 'ら', 'り', 'る', 'れ', 'ろ', 'わ', 'を', 'ん', 'ァ', 'ア', 'ィ', 'イ',
'ゥ',
'ウ', 'ェ', 'エ', 'ォ', 'オ', 'カ', 'ガ', 'キ', 'ギ', 'ク', 'グ', 'ケ', 'ゲ', 'コ', 'ゴ', 'サ', 'ザ', 'シ', 'ジ', 'ス', 'ズ',
'セ',
'ゼ', 'ソ', 'ゾ', 'タ', 'ダ', 'チ', 'ヂ', 'ッ', 'ツ', 'ヅ', 'テ', 'デ', 'ト', 'ド', 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'バ',
'パ',
'ヒ', 'ビ', 'ピ', 'フ', 'ブ', 'プ', 'ヘ', 'ベ', 'ペ', 'ホ', 'ボ', 'ポ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ャ', 'ヤ', 'ュ', 'ユ',
'ョ',
'ヨ', 'ラ', 'リ', 'ル', 'レ', 'ロ', 'ワ', 'ヲ', 'ン', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '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', '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', '', '!', '?', '、', '。', '…', '・', '/', '「', '」', '『', '』', '(', ')', '♂', '♀',
'+',
'ー', '×', '÷', '=', '~', ':', ';', '.', ',', '♠', '♣', '♥', '♦', '★', '◎', '○', '□', '△', '◇', '@', '♪',
'%',
'☀', '☁', '☂', '☃', '🙂', '😄', '☹', '😠', '⬆', '⬇', 'Zz', '円', '👝', '🔑', '💿', '✉', '💊', '🍒', '🔮',
'💥',
'←', '↑', '↓', '→', '►',
'&', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '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', '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', 'À', 'Á',
'Â',
'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×',
'Ø',
'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í',
'î',
'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ', 'Œ', 'œ', 'Ş', 'ş',
'ª',
'º', 'er', 're', 'r', 'P', '¡', '¿', '!', '?', ',', '.', '…', '・', '/', '‘', '’', '“', '”', '„', '«', '»',
'(',
')', '♂', '♀', '+', '-', '*', '#', '=', '&', '~', ':', ';', '♠', '♣', '♥', '♦', '★', '◎', '○', '□', '△',
'◇',
'@', '♪', '%', '☀', '☁', '☂', '☃', '🙂', '😄', '☹', '😠', '⬆', '⬇', 'Zz', ' ', 'e', 'PK', 'MN', ' ', ' ',
' ', ' ', ' ', ' ', '°', '_', '_', '․', '‥', '', '', ''][character]
def get_player_name(data, offset, gen):
name = ''
if gen == 4:
for i in range(8):
letter = bytereaders.read16(data, offset + i * 2)
if letter == 65535:
break
name += decodeCharacter(letter)
if gen == 5:
for i in range(8):
letter = bytereaders.read16(data, offset + i * 2)
if letter == 65535:
break
name += chr(letter)
return name