diff clojure/com/aurellem/run/bootstrap_0.clj @ 331:6ec288064d49

improved do-save-corruption
author Robert McIntyre <rlm@mit.edu>
date Fri, 06 Apr 2012 12:18:58 -0500
parents ecff37d22293
children 5c2041d1cdda
line wrap: on
line diff
     1.1 --- a/clojure/com/aurellem/run/bootstrap_0.clj	Fri Apr 06 09:09:52 2012 -0500
     1.2 +++ b/clojure/com/aurellem/run/bootstrap_0.clj	Fri Apr 06 12:18:58 2012 -0500
     1.3 @@ -418,17 +418,18 @@
     1.4    ([desired-quantity [moves state :as script]]
     1.5       (set-quantity 99 desired-quantity script)))
     1.6  
     1.7 +(defn activate-start-menu [script]
     1.8 +  (first-difference [:b] [:b :start] AF script))
     1.9 +
    1.10  (defn-memo do-save-corruption
    1.11    ([] (do-save-corruption
    1.12         (walk-to-counter)))
    1.13    ([script]
    1.14       (->> script
    1.15 -          (first-difference [] [:start] AF)
    1.16 +          activate-start-menu
    1.17            (set-cursor 4)
    1.18 -          (do-nothing 5)
    1.19 -          (play-moves [[:a]])
    1.20 -          (play-moves (repeat 85 [:b]))
    1.21 -          (play-moves [[:a]])
    1.22 +          select-menu-entry
    1.23 +          select-menu-entry
    1.24            (play-moves
    1.25             ;; this section is copied from speedrun-2942 and corrupts
    1.26             ;; the save so that the total number of pokemon is set to
    1.27 @@ -485,14 +486,13 @@
    1.28         select-menu-entry
    1.29         scroll-text))
    1.30  
    1.31 -(defn activate-start-menu [script]
    1.32 -  (first-difference [:b] [:b :start] AF script))
    1.33 -
    1.34  (defn-memo corrupt-item-list
    1.35    "Corrupt the num-of-items variable by switching a corrupted pokemon
    1.36     into out-of-bounds memory."
    1.37    ([] (corrupt-item-list
    1.38 -       (corrupted-checkpoint)))
    1.39 +       ;;(corrupted-checkpoint)
    1.40 +       (do-save-corruption)
    1.41 +       ))
    1.42    ([script]
    1.43       (->> script
    1.44            activate-start-menu
    1.45 @@ -556,11 +556,10 @@
    1.46            (play-moves [[:b]])
    1.47            end-text)))
    1.48  
    1.49 -(defn corrupt-item-list-again
    1.50 +(defn-memo corrupt-item-list-again
    1.51    ([] (corrupt-item-list-again (buy-bootstrapping-items)))
    1.52    ([script]
    1.53       (->> script
    1.54 -
    1.55            activate-start-menu             
    1.56            (set-cursor-relative 0)                   
    1.57            select-menu-entry               
    1.58 @@ -568,7 +567,6 @@
    1.59            ;; repair list-offset for pokemon-list
    1.60            (set-cursor-relative -1)
    1.61  
    1.62 -          
    1.63            (set-cursor 4)                  ; switching it to    
    1.64            select-menu-entry               ; tenth place.       
    1.65            (set-cursor 1)
    1.66 @@ -578,44 +576,18 @@
    1.67            (set-cursor 9)                  ; goto 10th pokemon
    1.68            select-menu-entry               ; do switch
    1.69            close-menu
    1.70 -          close-menu                     
    1.71 -          
    1.72 -          (do-nothing 1)
    1.73 -          ;;select-menu-entry     
    1.74 -          ;;
    1.75 -          ;;(set-cursor 9)
    1.76 -          ;;select-menu-entry 
    1.77 -          ;;close-menu
    1.78 -         
    1.79 -          )))
    1.80 -          ;; (do-nothing 10)
    1.81 -          ;; (play-moves [[:b]])
    1.82 -          ;; (do-nothing 100)
    1.83 -          ;; (play-moves [[:b]])
    1.84 -          ;; (do-nothing 40)
    1.85 -          ;; (play-moves [[:b]])
    1.86 -          ;; (first-difference [:b] [:start :b] AF)
    1.87 -          ;; (menu [[:a] ↑ ↑ ↑ ↑ ↑         
    1.88 -          ;;        [:a] ↓ [:a]            
    1.89 -          ;;        ↓ ↓ ↓ ↓ ↓ [:a]])       
    1.90 -          ;;                               
    1.91 -          ;; )))                           
    1.92 +          close-menu)))
    1.93            
    1.94  (defn-memo viridian-store->viridian-poke-center
    1.95    ([] (viridian-store->viridian-poke-center
    1.96         (corrupt-item-list-again)))
    1.97    ([script]
    1.98       (->> script
    1.99 -          (do-nothing 100)
   1.100 -          (play-moves [[:b]])
   1.101 -          (do-nothing 100)
   1.102 -          (play-moves [[:b]])
   1.103 -          (do-nothing 40)
   1.104            ;; leave store
   1.105            (walk [↓ ↓ 
   1.106                   → ↓ ↓])
   1.107 -          (walk [← ← ← ←
   1.108 -                 ↓ ↓ ↓ ↓ ↓ ↓
   1.109 +          (walk [← ← ← 
   1.110 +                 ↓ ↓ ↓ ↓ ↓
   1.111                   ← ← ← ↑]))))
   1.112  
   1.113  (defn-memo to-poke-center-computer
   1.114 @@ -625,7 +597,7 @@
   1.115       (->> script
   1.116            (walk [→ →
   1.117                   ↑ ↑ ↑
   1.118 -                 → → → → → → → → → ↑])
   1.119 +                 → → → → → → → → →])
   1.120            (do-nothing 1))))
   1.121  
   1.122  (defn-memo begin-deposits