view clojure/com/aurellem/gb/characters.clj @ 148:06426d25c65b

can now get/set pokemon OT name
author Robert McIntyre <rlm@mit.edu>
date Mon, 19 Mar 2012 23:14:21 -0500
parents 279e9ee6fccb
children 95b2758dd517
line wrap: on
line source
1 (ns com.aurellem.gb.characters
2 (:use (com.aurellem.gb gb-driver))
3 (:import [com.aurellem.gb.gb_driver SaveState]))
5 (def character-code->character
6 {
7 0x00 "end-of-name-sentinel"
8 0x50 "end-of-pokemon-name-sentinel"
9 0x60 "A-bold"
10 0x61 "B-bold"
11 0x62 "C-bold"
12 0x63 "D-bold"
13 0x64 "E-bold"
14 0x65 "F-bold"
15 0x66 "G-bold"
16 0x67 "H-bold"
17 0x68 "I-bold"
18 0x69 "V-bold"
19 0x6A "S-bold"
20 0x6B "L-bold"
21 0x6C "M-bold"
22 0x80 "A"
23 0x81 "B"
24 0x82 "C"
25 0x83 "D"
26 0x84 "E"
27 0x85 "F"
28 0x86 "G"
29 0x87 "H"
30 0x88 "I"
31 0x89 "J"
32 0x8A "K"
33 0x8B "L"
34 0x8C "M"
35 0x8D "N"
36 0x8E "O"
37 0x8F "P"
38 0x90 "Q"
39 0x91 "R"
40 0x92 "S"
41 0x93 "T"
42 0x94 "U"
43 0x95 "V"
44 0x96 "W"
45 0x97 "X"
46 0x98 "Y"
47 0x99 "Z"
48 0x9A "("
49 0x9B ")"
50 0x9C ":"
51 0x9D ";"
52 0xA0 "a"
53 0xA1 "b"
54 0xA2 "c"
55 0xA3 "d"
56 0xA4 "e"
57 0xA5 "f"
58 0xA6 "g"
59 0xA7 "h"
60 0xA8 "i"
61 0xA9 "j"
62 0xAA "k"
63 0xAB "l"
64 0xAC "m"
65 0xAD "n"
66 0xAE "o"
67 0xAF "p"
68 0xB0 "q"
69 0xB1 "r"
70 0xB2 "s"
71 0xB3 "t"
72 0xB4 "u"
73 0xB5 "v"
74 0xB6 "w"
75 0xB7 "x"
76 0xB8 "y"
77 0xB9 "z"
78 0xBA "e-with-grave"
79 0xE0 "'"
80 0xE1 "PK"
81 0xE2 "MN"
82 0xE3 "-"
83 0xE6 "?"
84 0xE7 "!"
85 0xE8 "."
86 0xEF "male-symbol"
87 0xF0 "pokemon-money-symbol"
88 0xF1 "."
89 0xF2 "/"
90 0xF3 ","
91 0xF4 "female-symbol"
92 0xF6 "0 "
93 0xF7 "1"
94 0xF8 "2"
95 0xF9 "3"
96 0xFA "4"
97 0xFB "5"
98 0xFC "6"
99 0xFD "7"
100 0xFE "8"
101 0xFF "9"
102 })
104 (def character->character-code
105 (zipmap (vals character-code->character)
106 (keys character-code->character)))
108 (defn str->character-codes [s]
109 (map character->character-code (map str s)))
111 (defn character-codes->str [codes]
112 (apply str
113 (map #(character-code->character
114 %
115 (format "[0x%02X]" %))
116 codes)))