# HG changeset patch # User Robert McIntyre # Date 1340658536 18000 # Node ID 614eddc5b38cf42fc4d29d00a782a44ebb9f2df4 # Parent cd557c922cec6a50989204f3968c3fdb8f4b397d working on generating first major video. diff -r cd557c922cec -r 614eddc5b38c clojure/com/aurellem/run/basic_choreo.clj --- a/clojure/com/aurellem/run/basic_choreo.clj Mon Jun 25 15:32:16 2012 -0500 +++ b/clojure/com/aurellem/run/basic_choreo.clj Mon Jun 25 16:08:56 2012 -0500 @@ -1,40 +1,41 @@ +;;;; "Basic Choreography" -- just show off audio/video + (ns com.aurellem.run.basic_choreo (:use (com.aurellem.gb saves gb-driver util constants items vbm characters money rlm-assembly)) (:use (com.aurellem.run util music title save-corruption bootstrap-0 bootstrap-1 image - ram-display)) + ram-display final-cut)) (:require clojure.string) (:import [com.aurellem.gb.gb_driver SaveState]) (:import java.io.File)) - - ;; take over game ;; [X] silence noise -;; [ ] run picture program to display pinkie pie mark -;; [ ] play pony song - +;; [X] preload audio/video programs +;; [X] run picture program to display pinkie pie mark +;; [X] play pony song (defn-memo silence-noise - ([] (silence-noise (relocate-main-bootstrap))) + ([] (silence-noise (launch-main-bootstrap-program))) ([script] (->> script - (write-RAM 0xFF1A [0 0 0])))) + (write-RAM 0xFF1A [0 0 0]) + (relocate-main-bootstrap)))) (def music-program-start 0xC000) (def image-program-start 0xCE00) -(defn-memo write-pony-music-data - ([] (write-pony-music-data (silence-noise))) +(defn-memo write-pony-music + ([] (write-pony-music (silence-noise))) ([script] (let [bytes (midi-bytes pony-csv 0xC400 0xC800 0xCC00 - 0xC000)] + music-program-start)] (->> script (write-RAM (:address (:voice-1 bytes)) (:data (:voice-1 bytes))) @@ -46,12 +47,12 @@ (:data (:kernel bytes))))))) (defn-memo write-image-display-program - ([] (write-image-display-program (write-pony-music-data))) + ([] (write-image-display-program (write-pony-music))) ([script] - (let [return-to-bootstrap + (let [goto-music (flatten [0xC3 - (disect-bytes-2 relocated-bootstrap-start)])] + (reverse (disect-bytes-2 music-program-start))])] (->> script (write-RAM image-program-start @@ -59,14 +60,30 @@ (display-image-kernel image-program-start pinkie-pie-mark) - return-to-bootstrap)))))) - + goto-music)))))) + (defn-memo activate-media ([] (activate-media (write-image-display-program))) ([script] (->> script (transfer-control image-program-start) - (do-nothing 100) - (transfer-control music-program-start)))) + (do-nothing 1800)))) + +(def basic-render-dir + (File. user-home "proj/vba-clojure/render/basic")) + +(defn basic-steps [] (first (activate-media))) + +(defn basic-step-1! [] + (render-files! + basic-render-dir + (root) (basic-steps))) + +(defn basic-step-2! [] + (generate-composite-frames! + basic-render-dir + basic-steps)) + +(defn basic-step-3! [] (final-cut! basic-render-dir)) diff -r cd557c922cec -r 614eddc5b38c clojure/com/aurellem/run/final_cut.clj --- a/clojure/com/aurellem/run/final_cut.clj Mon Jun 25 15:32:16 2012 -0500 +++ b/clojure/com/aurellem/run/final_cut.clj Mon Jun 25 16:08:56 2012 -0500 @@ -13,7 +13,7 @@ (:import com.aurellem.gb.WaveWriter)) -(def render-dir (File. user-home "proj/vba-clojure/render")) +(def render-dir (File. user-home "proj/vba-clojure/render/test")) (defn render-files! ([^File target-dir initial-state moves] diff -r cd557c922cec -r 614eddc5b38c video/test.ogg Binary file video/test.ogg has changed