# HG changeset patch # User Robert McIntyre # Date 1332037748 18000 # Node ID 7f7cc8858d2e6920e54f8e4245b93b469a3b7ecb # Parent 69f241de436d85ca336034f3727bf35557243ac7 added rival-name letter-map diff -r 69f241de436d -r 7f7cc8858d2e clojure/com/aurellem/assembly.clj --- a/clojure/com/aurellem/assembly.clj Sat Mar 17 19:30:45 2012 -0500 +++ b/clojure/com/aurellem/assembly.clj Sat Mar 17 21:29:08 2012 -0500 @@ -464,42 +464,6 @@ (set-state! (input-number)) (dotimes [_ 90000] (step (view-memory @current-state 0xD352)))) -(defn d2 [] - (-> - (write-mem-dyl) - (view-memory 0xD31F) - step step step step step - (view-memory 0xD31F))) - -(defn dylan [] - (-> - (write-mem-dyl) - (tick) - (tick) - (tick) - (tick) - (tick) - (tick) - (tick) - (tick) - (tick) - (tick) - (tick) - (tick) - - (tick) - (tick) - (tick) - (tick) - (tick) - - (d-tick) - (view-register "A" A) - (view-register "B" B) - (view-register "C" C) - - )) - @@ -559,7 +523,45 @@ (-> (tick (mid-game)) (IE! 0) (inject-item-assembly (write-memory-assembly*)))) - + + +(defn d2 [] + (-> + (write-mem-dyl) + (view-memory 0xD31F) + step step step step step + (view-memory 0xD31F))) + +(defn dylan [] + (-> + (write-mem-dyl) + (tick) + (tick) + (tick) + (tick) + (tick) + (tick) + (tick) + (tick) + (tick) + (tick) + (tick) + (tick) + + (tick) + (tick) + (tick) + (tick) + (tick) + + (d-tick) + (view-register "A" A) + (view-register "B" B) + (view-register "C" C) + + )) + + (defn write-memory-assembly [] diff -r 69f241de436d -r 7f7cc8858d2e clojure/com/aurellem/item_bridge.clj --- a/clojure/com/aurellem/item_bridge.clj Sat Mar 17 19:30:45 2012 -0500 +++ b/clojure/com/aurellem/item_bridge.clj Sat Mar 17 21:29:08 2012 -0500 @@ -1,5 +1,302 @@ (ns com.aurellem.item-bridge - (:use (com.aurellem gb-driver vbm title items assembly)) + (:use (com.aurellem gb-driver vbm title save-corruption items assembly)) (:import [com.aurellem.gb_driver SaveState])) +(defn corrupt-item-state [] + (second (destroy-item-end-of-list-marker))) + +(defn corrupt-item-state [] + (read-state "corrupt-items")) + +(defn talk-to-rival [] + (read-state "talk-to-rival")) + +(def rival-name-start 0xD349) + + +(defn set-rival-name [^SaveState state codes] + (set-state! state) + (let [mem (memory state)] + (dorun (map (fn [index val] + (aset mem index val)) + (range rival-name-start + (+ rival-name-start + (count codes))) codes)) + (write-memory! mem) + (update-state))) + +(defn view-rival-name [name-codes] + (-> + (set-rival-name (talk-to-rival) name-codes) + (step [:a]) + (play 50))) + +(defn rival-name-sequence [] + (let [i (atom 1)] + (fn [] + (let [codes (range @i (+ 5 @i))] + (println codes) + (view-rival-name codes) + (reset! i (+ 5 @i)))))) + + + +0 : end-of-name-sentinel +1 : +2 : +3 : +4 : +5 : +6 : +7 : +8 : +9 : +10 : +11 : +12 : +13 : +14 : +15 : +16 : +17 : +18 : +19 : +20 : +21 : +22 : +23 : +24 : +25 : +26 : +27 : +28 : +29 : +30 : +31 : +32 : +33 : +34 : +35 : +36 : +37 : +38 : +39 : +40 : +41 : +42 : +43 : +44 : +45 : +46 : +47 : +48 : +49 : +50 : +51 : +52 : +53 : +54 : +55 : +56 : +57 : +58 : +59 : +60 : +61 : +62 : +63 : +64 : +65 : +66 : +67 : +68 : +69 : +70 : +71 : +72 : +73 : +74 : +75 : +76 : +77 : +78 : +79 : +80 : +81 : +82 : +83 : +84 : +85 : +86 : +87 : +88 : +89 : +90 : +91 : +92 : +93 : +94 : +95 : +96 : A (small-bold) +97 : B (small-bold) +98 : C (small-bold) +99 : D (small-bold) +100 : E (small-bold) +101 : F (small-bold) +102 : G (small-bold) +103 : H (small-bold) +104 : I (small-bold) +105 : V (small-bold) +106 : S (small-bold) +107 : L (small-bold) +108 : M (small-bold) +109 : +110 : +111 : +112 : +113 : +114 : +115 : +116 : +117 : +118 : +119 : +120 : +121 : +122 : +123 : +124 : +125 : +126 : +127 : +128 : A +129 : B +130 : C +131 : D +132 : E +133 : F +134 : G +135 : H +136 : I +137 : J +138 : K +139 : L +140 : M +141 : N +142 : O +143 : P +144 : Q +145 : R +146 : S +147 : T +148 : U +149 : V +150 : W +151 : X +152 : Y +153 : Z +154 : ( +155 : ) +156 : : +157 : ; +158 : +159 : +160 : a +161 : b +162 : c +163 : d +164 : e +165 : f +166 : g +167 : h +168 : i +169 : j +170 : k +171 : l +172 : m +173 : n +174 : o +175 : p +176 : q +177 : r +178 : s +179 : t +180 : u +181 : v +182 : w +183 : x +184 : y +185 : z +186 : e-with-grave +187 : +188 : +189 : +190 : +191 : +192 : +193 : +194 : +195 : +196 : +197 : +198 : +199 : +200 : +201 : +202 : +203 : +204 : +205 : +206 : +207 : +208 : +209 : +210 : +211 : +212 : +213 : +214 : +215 : +216 : +217 : +218 : +219 : +220 : +221 : +222 : +223 : +224 : ' +225 : PK +226 : MN +227 : +228 : +229 : +230 : ? +231 : ! +232 : . +233 : +234 : +235 : +236 : +237 : +238 : +239 : male-symbol +240 : pokemon-money-symbol +241 : . +242 : / +243 : , +244 : female-symbol +245 : +246 : 0 +247 : 1 +248 : 2 +249 : 3 +250 : 4 +251 : 5 +252 : 6 +253 : 7 +254 : 8 +255 : 9 + + diff -r 69f241de436d -r 7f7cc8858d2e clojure/com/aurellem/save_corruption.clj --- a/clojure/com/aurellem/save_corruption.clj Sat Mar 17 19:30:45 2012 -0500 +++ b/clojure/com/aurellem/save_corruption.clj Sat Mar 17 21:29:08 2012 -0500 @@ -62,7 +62,34 @@ (defn-memo start-game [] (->> (skip-title-again) (advance [] [:start]) - (advance [] [:a]))) + (advance [] [:a]) + (advance [:a] [:a :start]))) + +(defn-memo destroy-item-end-of-list-marker [] + (->> (start-game) + (play-moves + [ + [:start] [] [] [] [] [] [] [] [] [] [] [] + [] [] [] [] [] [] [] [] [] [] [] [:a] [] [] [] [] [] [] [] [] + [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [:d] + [] [] [] [:a] [] [] [:d] [] [] [:a] [] [] [] [] [] [] [] [] [] + [] [] [] [] [:d] [] [] [] [] [:d] [] [] [] [] [:d] [] [] [] [] + [:d] [] [] [] [] [:d] [] [] [] [] [:d] [] [] [] [] [:d] [] [] + [] [] [:d] [] [] [] [:a] [] [] [] [] [] [] [] [] [] [] [] [] + [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] + [] [] [] [] [] [] [] [] [] [] [] [:d] [] [] [] [:a] [] [] [:d] + [] [] [:a] [] [] [] [] [] [] [] [] [] [] [] [] [] [:u] [] [] + [] [] [:u] [] [] [] [:a] [] [] [] [] [] [] [] [] [] [] [] [] + [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] + [] [] [] [] [] [] [] [] [] [] [] + + ;; [:b] [] [] [] [] [] [] [] [] + ;; [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] + ;; [] [] [] [] [] [] [] [] [] [] [] [] [] [:d] [] [] [:a] [] [] + ;; [] [] [] [] [] [] [] [] [] [] [] [] [] [:d] [] [] [] [:d] [] + ]))) + + (defn warp-to-elite-four "This is copied from speedrun-2942 to ensure that everything is good