Mercurial > vba-clojure
diff clojure/com/aurellem/vbm.clj @ 87:e8855121f413
collect cruft, rename other files
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 10 Mar 2012 14:48:17 -0600 |
parents | 8a895ed4c0f9 |
children | 65c2854c5875 |
line wrap: on
line diff
1.1 --- a/clojure/com/aurellem/vbm.clj Sat Mar 10 14:24:10 2012 -0600 1.2 +++ b/clojure/com/aurellem/vbm.clj Sat Mar 10 14:48:17 2012 -0600 1.3 @@ -3,6 +3,15 @@ 1.4 (:import org.apache.commons.io.FileUtils) 1.5 (:use com.aurellem.gb-driver)) 1.6 1.7 +(defn buttons [mask] 1.8 + (loop [buttons [] 1.9 + masks (seq (dissoc button-code :listen))] 1.10 + (if (empty? masks) buttons 1.11 + (let [[button value] (first masks)] 1.12 + (if (not= 0x0000 (bit-and value mask)) 1.13 + (recur (conj buttons button) (rest masks)) 1.14 + (recur buttons (rest masks))))))) 1.15 + 1.16 (defn vbm-bytes [#^File vbm] 1.17 (let [bytes (FileUtils/readFileToByteArray vbm) 1.18 ints (int-array (count bytes))] 1.19 @@ -35,7 +44,7 @@ 1.20 (map buttons (vbm-masks vbm))) 1.21 1.22 (defn play-vbm [#^File vbm] 1.23 - (reset) 1.24 + (restart!) 1.25 (dorun (map step (vbm-masks vbm)))) 1.26 1.27 (defn convert-buttons