changeset 160:9ca350a476f0

discovered hex values for pokemon species.
author Robert McIntyre <rlm@mit.edu>
date Tue, 20 Mar 2012 05:18:31 -0500
parents d92f7d68445a
children cd7979aa544e
files clojure/com/aurellem/exp/pokemon.clj clojure/com/aurellem/exp/species.clj save-states/crazy-pidgeot.sav save-states/pika-no-1.sav
diffstat 4 files changed, 319 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
     1.1 --- a/clojure/com/aurellem/exp/pokemon.clj	Tue Mar 20 03:54:15 2012 -0500
     1.2 +++ b/clojure/com/aurellem/exp/pokemon.clj	Tue Mar 20 05:18:31 2012 -0500
     1.3 @@ -516,3 +516,40 @@
     1.4  
     1.5  
     1.6  
     1.7 +
     1.8 +
     1.9 +(defn get-pokemon-1-info
    1.10 +  ([state]
    1.11 +     (subvec (vec (memory state))
    1.12 +             0xD162 0xD197))
    1.13 +  ([] (get-pokemon-1-info @current-state)))
    1.14 +
    1.15 +(def baseline (File. "/home/r/baseline-poke"))
    1.16 +
    1.17 +
    1.18 +
    1.19 +
    1.20 +(import java.io.File)
    1.21 +
    1.22 +(defn set-baseline [state]
    1.23 +  (clojure.java.io/copy 
    1.24 +   (with-out-str (print-listing state 0xD162 0xD197))
    1.25 +   baseline))
    1.26 +
    1.27 +
    1.28 +
    1.29 +(defn compare-pokemon
    1.30 +  ([state]
    1.31 +     (let [target (File. "/home/r/temp-poke")]
    1.32 +       (clojure.java.io/copy 
    1.33 +        (with-out-str (print-listing state 0xD162 0xD197))
    1.34 +        target)
    1.35 +       (println (:out
    1.36 +                 (clojure.java.shell/sh "diff"
    1.37 +                                        (.getCanonicalPath baseline)
    1.38 +                                        (.getCanonicalPath target))))))
    1.39 +  ([] (compare-pokemon-1 @current-state)))
    1.40 +                                  
    1.41 +
    1.42 +(defn crazy-pid []
    1.43 +  (read-state "crazy-pidgeot"))
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/clojure/com/aurellem/exp/species.clj	Tue Mar 20 05:18:31 2012 -0500
     2.3 @@ -0,0 +1,282 @@
     2.4 +(ns com.aurellem.exp.species
     2.5 +  (:use (com.aurellem.gb gb-driver items util))
     2.6 +  (:import [com.aurellem.gb.gb_driver SaveState]))
     2.7 +
     2.8 +(def species-ID-1 0xD163)
     2.9 +
    2.10 +(defn species-state []
    2.11 +  (read-state "pika-no-1"))
    2.12 +
    2.13 +(defn view-species [n]
    2.14 +  (run-moves
    2.15 +   (set-memory (species-state) species-ID-1 n)
    2.16 +   (concat [[:a]]
    2.17 +           (repeat 200 [])
    2.18 +           [[:a]]
    2.19 +           (repeat 200 []))))
    2.20 +
    2.21 +(defn iterate-species []
    2.22 +  (dorun
    2.23 +   (map (fn [n] (println n)
    2.24 +          (view-species n)
    2.25 +          (Thread/sleep 4800))
    2.26 +        (range (inc 0xFF)))))
    2.27 +
    2.28 +
    2.29 +
    2.30 +;; 000  00  :    glitch
    2.31 +;; 001  01  :    Rhydon
    2.32 +;; 002  02  :    Kangashgan
    2.33 +;; 003  03  :    nidoran-male
    2.34 +;; 004  04  :    clefairy
    2.35 +;; 005  05  :    spearow
    2.36 +;; 006  06  :    voltorb
    2.37 +;; 007  07  :    nidoking
    2.38 +;; 008  08  :    slowbrow
    2.39 +;; 009  09  :    ivysaur
    2.40 +;; 010  0A  :    eggxecutor
    2.41 +;; 011  0B  :    likitoungue
    2.42 +;; 012  0C  :    eggxegutte
    2.43 +;; 013  0D  :    grimer
    2.44 +;; 014  0E  :    gengar
    2.45 +;; 015  0F  :    nidoran-female
    2.46 +;; 016  10  :    nodoqueen
    2.47 +;; 017  11  :    cubone
    2.48 +;; 018  12  :    rhyhorn
    2.49 +;; 019  13  :    lapras
    2.50 +;; 020  14  :    arcanine
    2.51 +;; 021  15  :    mew
    2.52 +;; 022  16  :    gyarados
    2.53 +;; 023  17  :    shelder
    2.54 +;; 024  18  :    tentacool
    2.55 +;; 025  19  :    gastly
    2.56 +;; 026  1A  :    scyther
    2.57 +;; 027  1B  :    staryu
    2.58 +;; 028  1C  :    blastoise
    2.59 +;; 029  1D  :    pinsir
    2.60 +;; 030  1E  :    tangela
    2.61 +;; 031  1F  :    glitch
    2.62 +;; 032  20  :    glitch
    2.63 +;; 033  21  :    growlithe
    2.64 +;; 034  22  :    onix
    2.65 +;; 035  23  :    fearow
    2.66 +;; 036  24  :    pidgey
    2.67 +;; 037  25  :    slowpoke
    2.68 +;; 038  26  :    kadabra
    2.69 +;; 039  27  :    graveller
    2.70 +;; 040  28  :    chansey
    2.71 +;; 041  29  :    machoke
    2.72 +;; 042  2A  :    mr-mime
    2.73 +;; 043  2B  :    hitmonlee
    2.74 +;; 044  2C  :    hitmonchan
    2.75 +;; 045  2D  :    arbok
    2.76 +;; 046  2E  :    parasect
    2.77 +;; 047  2F  :    psyduck
    2.78 +;; 048  30  :    drowzee
    2.79 +;; 049  31  :    golem
    2.80 +;; 050  32  :    glitch
    2.81 +;; 051  33  :    magmar
    2.82 +;; 052  34  :    glitch
    2.83 +;; 053  35  :    electabuzz
    2.84 +;; 054  36  :    magneton
    2.85 +;; 055  37  :    koffing
    2.86 +;; 056  38  :    glitch
    2.87 +;; 057  39  :    mankey
    2.88 +;; 058  3A  :    seel
    2.89 +;; 059  3B  :    diglett
    2.90 +;; 060  3C  :    tauros
    2.91 +;; 061  3D  :    glitch
    2.92 +;; 062  3E  :    glitch
    2.93 +;; 063  3F  :    glitch
    2.94 +;; 064  40  :    farfedtch
    2.95 +;; 065  41  :    venonat
    2.96 +;; 066  42  :    dragonite
    2.97 +;; 067  43  :    glitch
    2.98 +;; 068  44  :    glitch
    2.99 +;; 069  45  :    glitch
   2.100 +;; 070  46  :    doduo
   2.101 +;; 071  47  :    poliwag
   2.102 +;; 072  48  :    jynx
   2.103 +;; 073  49  :    moltres
   2.104 +;; 074  4A  :    articuno
   2.105 +;; 075  4B  :    zapdos
   2.106 +;; 076  4C  :    ditto
   2.107 +;; 077  4D  :    meowth
   2.108 +;; 078  4E  :    krabby
   2.109 +;; 079  4F  :    glitch
   2.110 +;; 080  50  :    glitch
   2.111 +;; 081  51  :    glitch
   2.112 +;; 082  52  :    vulpix
   2.113 +;; 083  53  :    ninetails
   2.114 +;; 084  54  :    pikachu
   2.115 +;; 085  55  :    riachu
   2.116 +;; 086  56  :    glitch
   2.117 +;; 087  57  :    glitch
   2.118 +;; 088  58  :    dratini
   2.119 +;; 089  59  :    dragonair
   2.120 +;; 090  5A  :    kabuto
   2.121 +;; 091  5B  :    kabutops
   2.122 +;; 092  5C  :    horsea
   2.123 +;; 093  5D  :    sedra
   2.124 +;; 094  5E  :    glitch
   2.125 +;; 095  5F  :    glitch
   2.126 +;; 096  60  :    sandshrew
   2.127 +;; 097  61  :    sandslash
   2.128 +;; 098  62  :    omanyte
   2.129 +;; 099  63  :    omastar
   2.130 +;; 100  64  :    jugglypuff
   2.131 +;; 101  65  :    wigglytuff
   2.132 +;; 102  66  :    eevee
   2.133 +;; 103  67  :    flareon
   2.134 +;; 104  68  :    jolteon
   2.135 +;; 105  69  :    vapeoreon
   2.136 +;; 106  6A  :    machop
   2.137 +;; 107  6B  :    zubat
   2.138 +;; 108  6C  :    ekans
   2.139 +;; 109  6D  :    paras
   2.140 +;; 110  6E  :    poliwhirl
   2.141 +;; 111  6F  :    poliwrath
   2.142 +;; 112  70  :    weedle
   2.143 +;; 113  71  :    kakuna
   2.144 +;; 114  72  :    beedrill
   2.145 +;; 115  73  :    glitch
   2.146 +;; 116  74  :    dodrio
   2.147 +;; 117  75  :    primeape
   2.148 +;; 118  76  :    dugtrio
   2.149 +;; 119  77  :    venomoth
   2.150 +;; 120  78  :    dewgong
   2.151 +;; 121  79  :    glitch
   2.152 +;; 122  7A  :    glitch
   2.153 +;; 123  7B  :    caterpie
   2.154 +;; 124  7C  :    metapod
   2.155 +;; 125  7D  :    butterfree
   2.156 +;; 126  7E  :    machamp
   2.157 +;; 127  7F  :    glitch
   2.158 +;; 128  80  :    golduck
   2.159 +;; 129  81  :    hypno
   2.160 +;; 130  82  :    golbat
   2.161 +;; 131  83  :    mewtwo
   2.162 +;; 132  84  :    snorlax
   2.163 +;; 133  85  :    magikarp
   2.164 +;; 134  86  :    glitch
   2.165 +;; 135  87  :    glitch
   2.166 +;; 136  88  :    muk
   2.167 +;; 137  89  :    glitch
   2.168 +;; 138  8A  :    kingler
   2.169 +;; 139  8B  :    cloyster
   2.170 +;; 140  8C  :    glitch
   2.171 +;; 141  8D  :    electrode
   2.172 +;; 142  8E  :    clefable
   2.173 +;; 143  8F  :    wheezing
   2.174 +;; 144  90  :    persian
   2.175 +;; 145  91  :    marowak
   2.176 +;; 146  92  :    glitch
   2.177 +;; 147  93  :    haunter
   2.178 +;; 148  94  :    abra
   2.179 +;; 149  95  :    alakazam
   2.180 +;; 150  96  :    pidgeotto
   2.181 +;; 151  97  :    pidgeot
   2.182 +;; 152  98  :    starmie
   2.183 +;; 153  99  :    bulbasaur
   2.184 +;; 154  9A  :    venusaur
   2.185 +;; 155  9B  :    tentacruel
   2.186 +;; 156  9C  :    glitch
   2.187 +;; 157  9D  :    goldeen
   2.188 +;; 158  9E  :    seaking
   2.189 +;; 159  9F  :    glitch
   2.190 +;; 160  A0  :    glitch
   2.191 +;; 161  A1  :    glitch
   2.192 +;; 162  A2  :    glitch
   2.193 +;; 163  A3  :    ponyta
   2.194 +;; 164  A4  :    rapidash
   2.195 +;; 165  A5  :    rattatta
   2.196 +;; 166  A6  :    raticate
   2.197 +;; 167  A7  :    nidorino
   2.198 +;; 168  A8  :    nidorina
   2.199 +;; 169  A9  :    geodude
   2.200 +;; 170  AA  :    porygon
   2.201 +;; 171  AB  :    aerodactyl
   2.202 +;; 172  AC  :    glitch
   2.203 +;; 173  AD  :    magnemite
   2.204 +;; 174  AE  :    glitch
   2.205 +;; 175  AF  :    glitch
   2.206 +;; 176  B0  :    charmander
   2.207 +;; 177  B1  :    squirtle
   2.208 +;; 178  B2  :    charmelon
   2.209 +;; 179  B3  :    wartortle
   2.210 +;; 180  B4  :    charizard
   2.211 +;; 181  B5  :    glitch
   2.212 +;; 182  B6  :    glitch
   2.213 +;; 183  B7  :    glitch
   2.214 +;; 184  B8  :    glitch
   2.215 +;; 185  B9  :    oddish
   2.216 +;; 186  BA  :    gloom
   2.217 +;; 187  BB  :    vileplume
   2.218 +;; 188  BC  :    bellsprout
   2.219 +;; 189  BD  :    weepenbell
   2.220 +;; 190  BE  :    victriebell
   2.221 +;; 191  BF  :    glitch
   2.222 +;; 192  C0  :    glitch
   2.223 +;; 193  C1  :    glitch
   2.224 +;; 194  C2  :    glitch
   2.225 +;; 195  C3  :    glitch
   2.226 +;; 196  C4  :    glitch
   2.227 +;; 197  C5  :    glitch
   2.228 +;; 198  C6  :    glitch
   2.229 +;; 199  C7  :    charizard-glitch
   2.230 +;; 200  C8  :    glitch
   2.231 +;; 201  C9  :    nidorino-glitch
   2.232 +;; 202  CA  :    glitch
   2.233 +;; 203  CB  :    magnemite-clitch
   2.234 +;; 204  CC  :    glitch
   2.235 +;; 205  CD  :    glitch
   2.236 +;; 206  CE  :    glitch
   2.237 +;; 207  CF  :    glitch
   2.238 +;; 208  D0  :    glitch
   2.239 +;; 209  D1  :    glitch
   2.240 +;; 210  D2  :    nidorino-glitch
   2.241 +;; 211  D3  :    glitch
   2.242 +;; 212  D4  :    glitch
   2.243 +;; 213  D5  :    bulbasaur-glitch
   2.244 +;; 214  D6  :    charmander-glitch
   2.245 +;; 215  D7  :    glitch
   2.246 +;; 216  D8  :    glitch
   2.247 +;; 217  D9  :    glitch
   2.248 +;; 218  DA  :    glitch
   2.249 +;; 219  DB  :    glitch
   2.250 +;; 220  DC  :    glitch
   2.251 +;; 221  DD  :    glitch
   2.252 +;; 222  DE  :    glitch
   2.253 +;; 223  DF  :    glitch
   2.254 +;; 224  E0  :    glitch
   2.255 +;; 225  E1  :    glitch
   2.256 +;; 226  E2  :    glitch
   2.257 +;; 227  E3  :    glitch
   2.258 +;; 228  E4  :    glitch
   2.259 +;; 229  E5  :    glitch
   2.260 +;; 230  E6  :    glitch
   2.261 +;; 231  E7  :    glitch
   2.262 +;; 232  E8  :    seaking-glitch
   2.263 +;; 233  E9  :    nidorino-glicth
   2.264 +;; 234  EA  :    glitch
   2.265 +;; 235  EB  :    glitch
   2.266 +;; 236  EC  :    glitch
   2.267 +;; 237  ED  :    glitch
   2.268 +;; 238  EE  :    glitch
   2.269 +;; 239  EF  :    glitch
   2.270 +;; 240  F0  :    charizard-glitch
   2.271 +;; 241  F1  :    nidorino-glitch
   2.272 +;; 242  F2  :    glitch
   2.273 +;; 243  F3  :    glitch
   2.274 +;; 244  F4  :    glitch
   2.275 +;; 245  F5  :    glitch
   2.276 +;; 246  F6  :    glitch
   2.277 +;; 247  F7  :    bulbasaur-glitch
   2.278 +;; 248  F8  :    bulbasaur-glitch*
   2.279 +;; 249  F9  :    glitch
   2.280 +;; 250  FA  :    glitch
   2.281 +;; 251  FB  :    glitch
   2.282 +;; 252  FC  :    oddish-glitch
   2.283 +;; 253  FD  :    glitch
   2.284 +;; 254  FE  :    glitch
   2.285 +;; 255  FF  :    glitch
   2.286 \ No newline at end of file
     3.1 Binary file save-states/crazy-pidgeot.sav has changed
     4.1 Binary file save-states/pika-no-1.sav has changed