rlm@218: (ns com.aurellem.gb.hxc rlm@218: (:use (com.aurellem.gb assembly characters gb-driver util rlm@218: constants)) rlm@218: (:use (com.aurellem.world practice)) rlm@218: (:import [com.aurellem.gb.gb_driver SaveState])) rlm@218: rlm@218: rlm@218: (def hxc-pokenames rlm@218: "The hardcoded names of the 190 species in memory. List begins at ROM@E8000." rlm@218: (let [count-species 190 rlm@218: name-length 10] rlm@218: (map character-codes->str rlm@218: (partition name-length rlm@218: (take (* count-species name-length) rlm@218: (drop 0xE8000 rlm@218: (rom(root)))))))) rlm@218: rlm@218: (def hxc-items rlm@218: "The hardcoded names of the items in memory. List begins at ROM@45B7 " rlm@218: (map character-codes->str rlm@218: (take-nth 2 rlm@218: (partition-by #(= % 0x50) rlm@218: (take 1200 rlm@218: (drop 0x45B7 (rom (root)))))))) rlm@218: (def hxc-titles rlm@218: "The hardcoded names of the trainer titles in memory. List begins at rlm@218: ROM@27E77" rlm@218: (map character-codes->str rlm@218: (take-nth 2 rlm@218: (partition-by #(= 0x50 %) rlm@218: (take 196 rlm@218: (drop 0x27E77 rlm@218: (rom (root)))))))) rlm@218: rlm@218: rlm@218: (def hxc-pokedex rlm@218: "The hardcoded pokedex entries in memory. List begins at rlm@218: ROM@B8000, shortly before move names." rlm@218: (map character-codes->str rlm@218: (take-nth 2 rlm@218: (partition-by #(= % 0x50) rlm@218: (take 14754 rlm@218: (drop 0xB8000 rlm@218: (rom (root)))))))) rlm@218: (def hxc-moves rlm@218: "The hardcoded move names in memory. List begins at ROM@BC000" rlm@218: (map character-codes->str rlm@218: (take-nth 2 rlm@218: (partition-by #(= % 0x50) rlm@218: (take 1551 rlm@218: (drop 0xBC000 rlm@218: (rom (root)))))))) rlm@218: rlm@218: rlm@218: rlm@218: (def hxc-places rlm@218: "The hardcoded place names in memory. List begins at rlm@218: ROM@71500. Cinnabar Mansion is dynamically calculated." rlm@218: (map character-codes->str rlm@218: (take-nth 2 rlm@218: (partition-by #(= % 0x50) rlm@218: (take 560 rlm@218: (drop 0x71500 rlm@218: (rom (root)))))))) rlm@218: rlm@218: rlm@218: (def hxc-dialog rlm@218: "The hardcoded dialogue in memory, including in-game alerts. List begins at ROM@98000." rlm@218: (character-codes->str(take 0x0F728 rlm@218: (drop (+ 0x98000) rlm@218: (rom (root)))))) rlm@218: rlm@218: (def hxc-later rlm@218: "Running this code produces, e.g. hardcoded names NPCs give rlm@218: their pokemon. Will sort through it later." rlm@218: (print (character-codes->str(take 10000 rlm@218: (drop 0x71597 rlm@218: (rom (root))))))) rlm@218: rlm@218: (let [dex rlm@218: (partition-by #(= 0x50 %) rlm@218: (take 2540 rlm@218: (drop 0x40687 rlm@218: (rom (root)))))] rlm@218: (def dex dex) rlm@218: (def hxc-species rlm@218: (map character-codes->str rlm@218: (take-nth 4 dex))))