Mercurial > vba-clojure
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