rlm@133: (ns com.aurellem.rival-name rlm@133: (:use (com.aurellem gb-driver vbm title save-corruption items assembly)) rlm@133: (:import [com.aurellem.gb_driver SaveState])) rlm@133: rlm@133: rlm@133: (defn talk-to-rival [] rlm@133: (read-state "talk-to-rival")) rlm@133: rlm@133: (def rival-name-start 0xD349) rlm@133: rlm@133: (defn set-rival-name [^SaveState state codes] rlm@133: (set-state! state) rlm@133: (let [mem (memory state)] rlm@133: (dorun (map (fn [index val] rlm@133: (aset mem index val)) rlm@133: (range rival-name-start rlm@133: (+ rival-name-start rlm@133: (count codes))) codes)) rlm@133: (write-memory! mem) rlm@133: (update-state))) rlm@133: rlm@133: (defn view-rival-name [name-codes] rlm@133: (-> rlm@133: (set-rival-name (talk-to-rival) name-codes) rlm@133: (step [:a]) rlm@133: (play 50))) rlm@133: rlm@133: (defn rival-name-sequence [] rlm@133: (let [i (atom 1)] rlm@133: (fn [] rlm@133: (let [codes (range @i (+ 5 @i))] rlm@133: (println codes) rlm@133: (view-rival-name codes) rlm@133: (reset! i (+ 5 @i)))))) rlm@133: rlm@133: rlm@133: rlm@133: ;; 0x00 : end-of-name-sentinel rlm@133: ;; 0x01 : rlm@133: ;; 0x02 : rlm@133: ;; 0x03 : rlm@133: ;; 0x04 : rlm@133: ;; 0x05 : rlm@133: ;; 0x06 : rlm@133: ;; 0x07 : rlm@133: ;; 0x08 : rlm@133: ;; 0x09 : rlm@133: ;; 0x0A : rlm@133: ;; 0x0B : rlm@133: ;; 0x0C : rlm@133: ;; 0x0D : rlm@133: ;; 0x0E : rlm@133: ;; 0x0F : rlm@133: ;; 0x10 : rlm@133: ;; 0x11 : rlm@133: ;; 0x12 : rlm@133: ;; 0x13 : rlm@133: ;; 0x14 : rlm@133: ;; 0x15 : rlm@133: ;; 0x16 : rlm@133: ;; 0x17 : rlm@133: ;; 0x18 : rlm@133: ;; 0x19 : rlm@133: ;; 0x1A : rlm@133: ;; 0x1B : rlm@133: ;; 0x1C : rlm@133: ;; 0x1D : rlm@133: ;; 0x1E : rlm@133: ;; 0x1F : rlm@133: ;; 0x20 : rlm@133: ;; 0x21 : rlm@133: ;; 0x22 : rlm@133: ;; 0x23 : rlm@133: ;; 0x24 : rlm@133: ;; 0x25 : rlm@133: ;; 0x26 : rlm@133: ;; 0x27 : rlm@133: ;; 0x28 : rlm@133: ;; 0x29 : rlm@133: ;; 0x2A : rlm@133: ;; 0x2B : rlm@133: ;; 0x2C : rlm@133: ;; 0x2D : rlm@133: ;; 0x2E : rlm@133: ;; 0x2F : rlm@133: ;; 0x30 : rlm@133: ;; 0x31 : rlm@133: ;; 0x32 : rlm@133: ;; 0x33 : rlm@133: ;; 0x34 : rlm@133: ;; 0x35 : rlm@133: ;; 0x36 : rlm@133: ;; 0x37 : rlm@133: ;; 0x38 : rlm@133: ;; 0x39 : rlm@133: ;; 0x3A : rlm@133: ;; 0x3B : rlm@133: ;; 0x3C : rlm@133: ;; 0x3D : rlm@133: ;; 0x3E : rlm@133: ;; 0x3F : rlm@133: ;; 0x40 : rlm@133: ;; 0x41 : rlm@133: ;; 0x42 : rlm@133: ;; 0x43 : rlm@133: ;; 0x44 : rlm@133: ;; 0x45 : rlm@133: ;; 0x46 : rlm@133: ;; 0x47 : rlm@133: ;; 0x48 : rlm@133: ;; 0x49 : rlm@133: ;; 0x4A : rlm@133: ;; 0x4B : rlm@133: ;; 0x4C : rlm@133: ;; 0x4D : rlm@133: ;; 0x4E : rlm@133: ;; 0x4F : rlm@133: ;; 0x50 : rlm@133: ;; 0x51 : rlm@133: ;; 0x52 : rlm@133: ;; 0x53 : rlm@133: ;; 0x54 : rlm@133: ;; 0x55 : rlm@133: ;; 0x56 : rlm@133: ;; 0x57 : rlm@133: ;; 0x58 : rlm@133: ;; 0x59 : rlm@133: ;; 0x5A : rlm@133: ;; 0x5B : rlm@133: ;; 0x5C : rlm@133: ;; 0x5D : rlm@133: ;; 0x5E : rlm@133: ;; 0x5F : rlm@133: ;; 0x60 : A (small-bold) rlm@133: ;; 0x61 : B (small-bold) rlm@133: ;; 0x62 : C (small-bold) rlm@133: ;; 0x63 : D (small-bold) rlm@133: ;; 0x64 : E (small-bold) rlm@133: ;; 0x65 : F (small-bold) rlm@133: ;; 0x66 : G (small-bold) rlm@133: ;; 0x67 : H (small-bold) rlm@133: ;; 0x68 : I (small-bold) rlm@133: ;; 0x69 : V (small-bold) rlm@133: ;; 0x6A : S (small-bold) rlm@133: ;; 0x6B : L (small-bold) rlm@133: ;; 0x6C : M (small-bold) rlm@133: ;; 0x6D : rlm@133: ;; 0x6E : rlm@133: ;; 0x6F : rlm@133: ;; 0x70 : rlm@133: ;; 0x71 : rlm@133: ;; 0x72 : rlm@133: ;; 0x73 : rlm@133: ;; 0x74 : rlm@133: ;; 0x75 : rlm@133: ;; 0x76 : rlm@133: ;; 0x77 : rlm@133: ;; 0x78 : rlm@133: ;; 0x79 : rlm@133: ;; 0x7A : rlm@133: ;; 0x7B : rlm@133: ;; 0x7C : rlm@133: ;; 0x7D : rlm@133: ;; 0x7E : rlm@133: ;; 0x7F : rlm@133: ;; 0x80 : A rlm@133: ;; 0x81 : B rlm@133: ;; 0x82 : C rlm@133: ;; 0x83 : D rlm@133: ;; 0x84 : E rlm@133: ;; 0x85 : F rlm@133: ;; 0x86 : G rlm@133: ;; 0x87 : H rlm@133: ;; 0x88 : I rlm@133: ;; 0x89 : J rlm@133: ;; 0x8A : K rlm@133: ;; 0x8B : L rlm@133: ;; 0x8C : M rlm@133: ;; 0x8D : N rlm@133: ;; 0x8E : O rlm@133: ;; 0x8F : P rlm@133: ;; 0x90 : Q rlm@133: ;; 0x91 : R rlm@133: ;; 0x92 : S rlm@133: ;; 0x93 : T rlm@133: ;; 0x94 : U rlm@133: ;; 0x95 : V rlm@133: ;; 0x96 : W rlm@133: ;; 0x97 : X rlm@133: ;; 0x98 : Y rlm@133: ;; 0x99 : Z rlm@133: ;; 0x9A : ( rlm@133: ;; 0x9B : ) rlm@133: ;; 0x9C : : rlm@133: ;; 0x9D : ; rlm@133: ;; 0x9E : rlm@133: ;; 0x9F : rlm@133: ;; 0xA0 : a rlm@133: ;; 0xA1 : b rlm@133: ;; 0xA2 : c rlm@133: ;; 0xA3 : d rlm@133: ;; 0xA4 : e rlm@133: ;; 0xA5 : f rlm@133: ;; 0xA6 : g rlm@133: ;; 0xA7 : h rlm@133: ;; 0xA8 : i rlm@133: ;; 0xA9 : j rlm@133: ;; 0xAA : k rlm@133: ;; 0xAB : l rlm@133: ;; 0xAC : m rlm@133: ;; 0xAD : n rlm@133: ;; 0xAE : o rlm@133: ;; 0xAF : p rlm@133: ;; 0xB0 : q rlm@133: ;; 0xB1 : r rlm@133: ;; 0xB2 : s rlm@133: ;; 0xB3 : t rlm@133: ;; 0xB4 : u rlm@133: ;; 0xB5 : v rlm@133: ;; 0xB6 : w rlm@133: ;; 0xB7 : x rlm@133: ;; 0xB8 : y rlm@133: ;; 0xB9 : z rlm@133: ;; 0xBA : e-with-grave rlm@133: ;; 0xBB : rlm@133: ;; 0xBC : rlm@133: ;; 0xBD : rlm@133: ;; 0xBE : rlm@133: ;; 0xBF : rlm@133: ;; 0xC0 : rlm@133: ;; 0xC1 : rlm@133: ;; 0xC2 : rlm@133: ;; 0xC3 : rlm@133: ;; 0xC4 : rlm@133: ;; 0xC5 : rlm@133: ;; 0xC6 : rlm@133: ;; 0xC7 : rlm@133: ;; 0xC8 : rlm@133: ;; 0xC9 : rlm@133: ;; 0xCA : rlm@133: ;; 0xCB : rlm@133: ;; 0xCC : rlm@133: ;; 0xCD : rlm@133: ;; 0xCE : rlm@133: ;; 0xCF : rlm@133: ;; 0xD0 : rlm@133: ;; 0xD1 : rlm@133: ;; 0xD2 : rlm@133: ;; 0xD3 : rlm@133: ;; 0xD4 : rlm@133: ;; 0xD5 : rlm@133: ;; 0xD6 : rlm@133: ;; 0xD7 : rlm@133: ;; 0xD8 : rlm@133: ;; 0xD9 : rlm@133: ;; 0xDA : rlm@133: ;; 0xDB : rlm@133: ;; 0xDC : rlm@133: ;; 0xDD : rlm@133: ;; 0xDE : rlm@133: ;; 0xDF : rlm@133: ;; 0xE0 : ' rlm@133: ;; 0xE1 : PK rlm@133: ;; 0xE2 : MN rlm@133: ;; 0xE3 : rlm@133: ;; 0xE4 : rlm@133: ;; 0xE5 : rlm@133: ;; 0xE6 : ? rlm@133: ;; 0xE7 : ! rlm@133: ;; 0xE8 : . rlm@133: ;; 0xE9 : rlm@133: ;; 0xEA : rlm@133: ;; 0xEB : rlm@133: ;; 0xEC : rlm@133: ;; 0xED : rlm@133: ;; 0xEE : rlm@133: ;; 0xEF : male-symbol rlm@133: ;; 0xF0 : pokemon-money-symbol rlm@133: ;; 0xF1 : . rlm@133: ;; 0xF2 : / rlm@133: ;; 0xF3 : , rlm@133: ;; 0xF4 : female-symbol rlm@133: ;; 0xF5 : rlm@133: ;; 0xF6 : 0 rlm@133: ;; 0xF7 : 1 rlm@133: ;; 0xF8 : 2 rlm@133: ;; 0xF9 : 3 rlm@133: ;; 0xFA : 4 rlm@133: ;; 0xFB : 5 rlm@133: ;; 0xFC : 6 rlm@133: ;; 0xFD : 7 rlm@133: ;; 0xFE : 8 rlm@133: ;; 0xFF : 9 rlm@133: rlm@133: