# HG changeset patch # User Robert McIntyre # Date 1332543997 18000 # Node ID 8523faa122b0a6901fbd7b93d2d6f3136967c276 # Parent 661d35f1b56e37cb81487f80e55b2be08efdeb6a fixed compilaition error in dylan's code diff -r 661d35f1b56e -r 8523faa122b0 clojure/com/aurellem/exp/item_bridge.clj --- a/clojure/com/aurellem/exp/item_bridge.clj Fri Mar 23 05:58:41 2012 -0500 +++ b/clojure/com/aurellem/exp/item_bridge.clj Fri Mar 23 18:06:37 2012 -0500 @@ -119,15 +119,11 @@ (defn mid-game-corrupt [] (read-state "corrupt-mid-game")) -(defn prepare-memory - ([^SaveState state] - (-> state - (set-memory-range 0xD31D (loop-program)) - (set-memory-range 0xD336 [0x1D 0xD3]))) - ([] (prepare-memory @current-state))) + + (defn test-memory-fun [n] (capture-program-counter (set-memory-range @@ -141,3 +137,29 @@ ;;(def bad (test-memory-fun 18000)) + +(defn menu-open-state [] + (read-state "menu-open")) + +(defn prepare-memory + ([^SaveState state] + (-> state + (set-memory-range 0xD31D (loop-program)) + (set-memory-range 0xD36D [0x1D 0xD3]))) + ([] (prepare-memory @current-state))) + + +(defn succesful-PC-capture + "This function demonstrates successful PC capturing by + setting 0xD36D to the value of the start location of + a specially prepared program. + + You must run the function and then exit the open menu + to see the effect." + [] + (dorun + (map #(println (Integer/toHexString %)) + (capture-program-counter + (prepare-memory (menu-open-state)) + 9000000)))) + \ No newline at end of file diff -r 661d35f1b56e -r 8523faa122b0 clojure/com/aurellem/gb/pokemon.clj --- a/clojure/com/aurellem/gb/pokemon.clj Fri Mar 23 05:58:41 2012 -0500 +++ b/clojure/com/aurellem/gb/pokemon.clj Fri Mar 23 18:06:37 2012 -0500 @@ -447,6 +447,56 @@ (give-moves-pps poke-num (:moves pokemon*)) (give-status poke-num (:status pokemon*)) (give-stats poke-num (:stats pokemon*)) - (give-experience poke-num (:experience pokemon*))))) + (give-experience poke-num (:experience pokemon*)) + + ;; this was 11 dec + (set-memory (+ 0xD16D + (* pokemon-record-width poke-num)) + 0x00)))) ([poke-num pokemon] - (give-pokemon @current-state poke-num pokemon))) \ No newline at end of file + (give-pokemon @current-state poke-num pokemon))) + +(defn edit-pokemon + ([^SaveState state poke-num new-pokemon-data] + (give-pokemon state poke-num + (merge (pokemon state poke-num) + new-pokemon-data))) + ([poke-num new-pokemon-data] + (edit-pokemon @current-state poke-num new-pokemon-data))) + + + +(def jiggly-lvl-3 (read-state "jiggly-lvl-3")) + +(def jiggly-4-pp (read-state "jiggly-4-pp")) + +(def jiggly-3-pp (read-state "jiggly-3-pp")) + +(def jiggly-2-pp (read-state "jiggly-2-pp")) + +(def jiggly-1-pp (read-state "jiggly-1-pp")) + +(def jiggly-0-pp (read-state "jiggly-0-pp")) + +(def jiggly-struggle-once (read-state "jiggly-struggle-once")) + + +(def poke-syn-jiggly-4-pp + {:name "JIGGLYPUFF", :species :jigglypuff, :species2 :jigglypuff, + :status :normal, + :moves [[:sing {:pp-ups 0, :current-pp 4}]], + :dv {:attack 8, :defense 7, :speed 4, :special 12, :hp 4}, + :experience {:main-exp 21, :hp-exp 0, :attack-exp 0, :defense-exp + 0, :speed-exp 0, :special-exp 0}, + :type [:normal], + :original-trainer "RLM", + :stats {:level 3, :current-hp 5, :hp 20, :attack 8, :defense 6, + :speed 6, :special 7}, + :ID 5195}) + + +(def syn-jiggly-4-pp (read-state "syn-jiggly-4-pp")) +(def syn-jiggly-3-pp (read-state "syn-jiggly-3-pp")) +(def syn-jiggly-2-pp (read-state "syn-jiggly-2-pp")) +(def syn-jiggly-1-pp (read-state "syn-jiggly-1-pp")) +(def syn-jiggly-0-pp (read-state "syn-jiggly-0-pp")) \ No newline at end of file diff -r 661d35f1b56e -r 8523faa122b0 clojure/com/aurellem/gb/species.clj --- a/clojure/com/aurellem/gb/species.clj Fri Mar 23 05:58:41 2012 -0500 +++ b/clojure/com/aurellem/gb/species.clj Fri Mar 23 18:06:37 2012 -0500 @@ -12,7 +12,7 @@ (take (* count-species name-length) (drop 0xE8000 (rom(root)))))))) -) + (def hxc-items "The hardcoded names of the items in memory. List begins at ROM@45B7 " (map character-codes->str diff -r 661d35f1b56e -r 8523faa122b0 clojure/com/aurellem/gb/util.clj --- a/clojure/com/aurellem/gb/util.clj Fri Mar 23 05:58:41 2012 -0500 +++ b/clojure/com/aurellem/gb/util.clj Fri Mar 23 18:06:37 2012 -0500 @@ -106,6 +106,11 @@ (zipmap backbone (apply (partial map list) seqs))))) +(defn temporal-compare [& states] + (apply common-differences + (map (comp vec memory) + states))) + (defn mid-game [] (read-state "mid-game")) diff -r 661d35f1b56e -r 8523faa122b0 save-states/jiggly-0-pp.sav Binary file save-states/jiggly-0-pp.sav has changed diff -r 661d35f1b56e -r 8523faa122b0 save-states/jiggly-1-pp.sav Binary file save-states/jiggly-1-pp.sav has changed diff -r 661d35f1b56e -r 8523faa122b0 save-states/jiggly-15-pp.sav Binary file save-states/jiggly-15-pp.sav has changed diff -r 661d35f1b56e -r 8523faa122b0 save-states/jiggly-2-pp.sav Binary file save-states/jiggly-2-pp.sav has changed diff -r 661d35f1b56e -r 8523faa122b0 save-states/jiggly-3-pp.sav Binary file save-states/jiggly-3-pp.sav has changed diff -r 661d35f1b56e -r 8523faa122b0 save-states/jiggly-4-pp.sav Binary file save-states/jiggly-4-pp.sav has changed diff -r 661d35f1b56e -r 8523faa122b0 save-states/jiggly-lvl-3.sav Binary file save-states/jiggly-lvl-3.sav has changed diff -r 661d35f1b56e -r 8523faa122b0 save-states/jiggly-struggle-once.sav Binary file save-states/jiggly-struggle-once.sav has changed diff -r 661d35f1b56e -r 8523faa122b0 save-states/syn-jiggly-0-pp.sav Binary file save-states/syn-jiggly-0-pp.sav has changed diff -r 661d35f1b56e -r 8523faa122b0 save-states/syn-jiggly-1-pp.sav Binary file save-states/syn-jiggly-1-pp.sav has changed diff -r 661d35f1b56e -r 8523faa122b0 save-states/syn-jiggly-2-pp.sav Binary file save-states/syn-jiggly-2-pp.sav has changed diff -r 661d35f1b56e -r 8523faa122b0 save-states/syn-jiggly-3-pp.sav Binary file save-states/syn-jiggly-3-pp.sav has changed diff -r 661d35f1b56e -r 8523faa122b0 save-states/syn-jiggly-4-pp.sav Binary file save-states/syn-jiggly-4-pp.sav has changed