# HG changeset patch # User Robert McIntyre # Date 1332548764 18000 # Node ID aba78e52faba7309a3701f4568920a59ee1c8532 # Parent 62969eb07e046dcc41d7921f973629746720d479# Parent 57258c269bcb5b7ec9c839379bec776d1f1cfa96 merge diff -r 62969eb07e04 -r aba78e52faba clojure/com/aurellem/gb/characters.clj --- a/clojure/com/aurellem/gb/characters.clj Fri Mar 23 19:25:21 2012 -0500 +++ b/clojure/com/aurellem/gb/characters.clj Fri Mar 23 19:26:04 2012 -0500 @@ -2,17 +2,40 @@ (:use (com.aurellem.gb gb-driver constants)) (:import [com.aurellem.gb.gb_driver SaveState])) + +(def pronouns + ;; Note: 0x0 seems to be the end-of-name sentinel + { + ;; what is 0x57? what is 0x0? + :RED [0x52] + :BLUE [0x53] + :opponent [0x01 0x49 0xD0 0x0] + :turn-pokemon [0x5A] + :off-turn-pokemon [0x59] + :your-pokemon [0x01 0x08 0xD0 0x0] + :opponent-pokemon [0x50 0x01 0xD9 0xCF 0x0] + + :n-times [0x50 0x09 0x05 0xCD 0x11 0x0] + + + }) + + (def character-code->character { - 0x00 "<";;"end-of-name-sentinel" ;; begin messsage - 0x4E "[...]" ; ocsenave: scroll pokedex page + 0x0 "" ;; separator character? + 0x58 "\n" + ;0x00 "<";;"end-of-name-sentinel" ;; begin messsage + ;;0x49 "\n //" ;; ocsenave: pagebreak pokedex + ;;0x4E "\n..." ; ocsenave: clearscroll pokedex page 0x4F "\n" ; newline - 0x50 "#";;"end-of-pokemon-name-sentinel" + ;;0x50 "#";;"end-of-pokemon-name-sentinel" 0x51 "\n\n" ;; ocsenave: clear screen + 0x52 "[RED]" ;;ocsenave: placeholder for your name? 0x54 "[POKE]" 0x55 "_" ;; ocsenave: breaking space? - 0x57 ">" ;; ocsenave: end message - 0x5F ">" ;; ocsenave: end pokedex entry?? + ;0x57 ">" ;; ocsenave: end message + ;0x5F ">" ;; ocsenave: end pokedex entry?? 0x60 "A-bold" 0x61 "B-bold" 0x62 "C-bold" diff -r 62969eb07e04 -r aba78e52faba clojure/com/aurellem/gb/species.clj --- a/clojure/com/aurellem/gb/species.clj Fri Mar 23 19:25:21 2012 -0500 +++ b/clojure/com/aurellem/gb/species.clj Fri Mar 23 19:26:04 2012 -0500 @@ -1,5 +1,7 @@ (ns com.aurellem.gb.species - (:use (com.aurellem.gb characters gb-driver util constants)) + (:use (com.aurellem.gb assembly characters gb-driver util + constants)) + (:use (com.aurellem.world practice)) (:import [com.aurellem.gb.gb_driver SaveState])) @@ -11,7 +13,7 @@ (partition name-length (take (* count-species name-length) (drop 0xE8000 - (rom(root)))))))) + (rom(root)))))))) (def hxc-items "The hardcoded names of the items in memory. List begins at ROM@45B7 " @@ -61,9 +63,16 @@ (drop 0x71500 (rom (root)))))))) + +(def hxc-dialog + "The hardcoded dialogue in memory, including in-game alerts. List begins at ROM@98000." +(character-codes->str(take 0x0F728 + (drop (+ 0x98000) + (rom (root))))) + (def hxc-later "Running this code produces, e.g. hardcoded names NPCs give -their pokemon" +their pokemon. Will sort through it later." (print (character-codes->str(take 10000 (drop 0x71597 (rom (root))))))) @@ -71,6 +80,9 @@ + + + (let [dex (partition-by #(= 0x50 %) (take 2540 @@ -154,7 +166,7 @@ 0x52 :vulpix 0x53 :ninetails 0x54 :pikachu - 0x55 :raichu + 0x55 :riachu 0x58 :dratini 0x59 :dragonair 0x5A :kabuto @@ -292,6 +304,4 @@ ([poke-num new-species] (set-species2 @current-state poke-num new-species))) - - - + \ No newline at end of file