summaryrefslogtreecommitdiff
path: root/2d
Commit message (Collapse)AuthorAgeFilesLines
* Remove duplicate export of signal-fold.David Thompson2013-12-151-1/+0
| | | | * 2d/signals.scm: Remove duplicate export.
* Fix signal-do not connection to input signal.David Thompson2013-12-151-1/+2
| | | | * 2d/signals.scm (signal-do): Fix bug.
* Reverse arguments to signal-fold proc.David Thompson2013-12-151-1/+1
| | | | * 2d/signals.scm (signal-fold): Reverse callback args.
* Fix signal-map not connecting to all input signals.David Thompson2013-12-151-4/+6
| | | | * 2d/signals.scm (signal-map): Fix bug.
* Rewrite signals module.David Thompson2013-12-151-193/+134
| | | | * 2d/signals.scm: Rewrite module.
* Remove signal-and and signal-or.David Thompson2013-12-121-31/+0
| | | | * 2d/signals.scm (signal-and, signal-or): Remove them.
* Add signal-liftn procedure.David Thompson2013-12-121-0/+9
| | | | * 2d/signals.scm (signal-liftn): New procedure.
* Make init a non-keyword argument in make-signal procedure.David Thompson2013-12-124-9/+8
| | | | | | | * 2d/signals.scm (make-signal): Change parameter list. * 2d/mouse.scm (mouse-position): Remove #:init keyword. * 2d/time.scm (time-interval, time-delay): Remove #:init keyword. * 2d/window.scm (window-size): Remove #:init keyword.
* Add signal-do procedure.David Thompson2013-12-111-1/+13
| | | | * 2d/signals.scm (signal-do): New procedure.
* Open window when (2d window) is imported.David Thompson2013-12-031-0/+7
| | | | * 2d/window.scm: Open window on import.
* Change signal-merge to accept an arbitrary amount of signals.David Thompson2013-12-031-8/+5
| | | | * 2d/signals.scm (signal-merge): Accept many signals.
* Add signal-when and signal-unless.David Thompson2013-12-021-1/+27
| | | | * 2d/signals.scm (signal-when, signal-unless): New procedures.
* Explicitly set initial value for time-delay signal.David Thompson2013-12-021-0/+1
| | | | * 2d/time.scm (time-delay): Set initial signal value.
* Use signal-receive! instead of signal-set! in signal-connect!David Thompson2013-12-021-1/+1
| | | | * 2d/signals.scm (signal-connect!): Use signal-receive!
* Add clamp procedure.David Thompson2013-12-021-1/+9
| | | | * 2d/math.scm (clamp): New procedure.
* Define signal-count in terms of signal-fold.David Thompson2013-12-021-4/+3
| | | | * 2d/signals.scm (signal-count): Rewrite.
* Define signal-constant in terms of signal-lift.David Thompson2013-12-021-7/+5
| | | | * 2d/signals.scm (signal-constant): Rewrite.
* Change parameters for time-interval and time-every.David Thompson2013-12-021-9/+9
| | | | * 2d/time.scm (time-interval, time-every): Add signal parameter.
* Add signal-fold procedure.David Thompson2013-12-021-0/+10
| | | | * 2d/signals.scm (signal-fold): New procedure.
* Move event handlers and signals into their own modules.David Thompson2013-12-014-70/+155
| | | | | | | | | | | * 2d/game.scm (register-event-handler): New procedure. (mouse-*, key-*, window-*): Remove signals. * 2d/window.scm (window-size): New signal. * 2d/mouse.scm: New module. * 2d/keyboard.scm: New module.
* Delete obsolete modules.David Thompson2013-12-014-454/+0
| | | | | | | * 2d/actions.scm: Delete it. * 2d/observer.scm: Delete it. * 2d/scene.scm: Delete it. * 2d/stage.scm: Delete it.
* Use dynamic-wind in with-window form.David Thompson2013-12-011-4/+4
| | | | * 2d/window.scm (with-window): Use dynamic-wind.
* Add key-directions and key-wasd procedures.David Thompson2013-12-011-11/+17
| | | | | * 2d/game.scm (key-directions, key-wasd): New procedures. (arrows, key-arrows): Renamed.
* Add time signals.David Thompson2013-12-011-0/+49
| | | | * 2d/time.scm: New module.
* Fix signal coroutine.David Thompson2013-12-011-8/+3
|
* Make signal transformer an optional keyword argument.David Thompson2013-12-012-70/+80
| | | | | | * 2d/signals.scm (make-signal): Make transformer optional. (signal-identity): Delete it. (signal-*): Use new constructor.
* Make signal-set! a coroutine.David Thompson2013-12-011-2/+8
| | | | | * 2d/signals.el (signal-set!): Make coroutine. (signal-set-and-propagate!): New procedure.
* Rename signal-listeners to signal-connectors.David Thompson2013-12-011-10/+10
| | | | * 2d/signals.scm: Replace "listeners" with "connectors".
* Add filters to signals to stop propagation.David Thompson2013-12-011-6/+22
| | | | | * 2d/signals.scm (signal-filter, signal-keep?, signal-receive!): New procedures.
* Add arrows signal.David Thompson2013-12-011-0/+12
| | | | * 2d/game.scm (arrows): New signal.
* Add signal-lift3 and signal-lift4.David Thompson2013-12-011-0/+21
| | | | * 2d/signals.scm (signal-lift3, signal-lift4): New procedures.
* Refactor game loop code and improve event signals.David Thompson2013-12-011-110/+96
| | | | * 2d/game.scm: New signals and refactor.
* Add with-window form.David Thompson2013-11-302-28/+43
| | | | | | | | | * 2d/window.scm (<window>): New record type. (open-window): Use window object. (close-window): Change docstring. * 2d/game.scm (<game>, make-game): Remove window properties. (run-game): Remove window logic.
* Allow signals to be used for certain sprite properties.David Thompson2013-11-301-6/+7
| | | | | * 2d/sprite.scm (update-sprite-vertices!) (draw-sprite-batched): Use signals.
* Add signal-ref-maybe procedure.David Thompson2013-11-301-1/+9
| | | | * 2d/signals.scm (signal-ref-maybe): New procedure.
* Remove stage stuff from game module and use signals.David Thompson2013-11-302-89/+92
| | | | Moving my work to another machine so this commit is ugly.
* Refactor signals module.David Thompson2013-11-291-68/+57
| | | | * 2d/signals.scm: Refactor.
* Add signals module for functional reactive programming.David Thompson2013-11-291-0/+208
| | | | * 2d/signals.scm: New module.
* Fix emacs hint.David Thompson2013-11-081-1/+1
|
* Fix codefine*.David Thompson2013-11-081-6/+6
| | | | Thank you to shanecelis and mark_weaver.
* Fix exports in stage module.David Thompson2013-11-061-2/+1
|
* Merge game-loop module with game module.David Thompson2013-11-043-269/+241
|
* Add set-stage-scene!David Thompson2013-11-031-1/+2
|
* Pass scene state to all observer event handlers.David Thompson2013-11-033-6/+11
|
* Quit game when scene stack is empty.David Thompson2013-11-031-5/+10
|
* Fix default key-down event.David Thompson2013-11-031-1/+2
|
* Add event observer to scene.David Thompson2013-11-033-75/+92
| | | | | Some convenient default events are provided to make quitting the game easy for new developers.
* Really export scene type tag.David Thompson2013-11-031-1/+2
|
* Add scene name field.David Thompson2013-11-031-3/+6
|
* Remove stage local variables.David Thompson2013-11-033-85/+52
| | | | | Use an the scene initialization thunk to return the needed game state instead.