summaryrefslogtreecommitdiff
path: root/2d
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* Add observer to stage.David Thompson2013-10-301-3/+14
|
* Rewrite stage variables.David Thompson2013-10-301-28/+34
| | | | | Stage variables now act a lot like parameters and their initial values are lazily evaluated.
* Use stage agenda.David Thompson2013-10-231-5/+11
|
* Remove debugging statement.David Thompson2013-10-231-1/+0
|
* Use the new scene/stage API.David Thompson2013-10-233-224/+45
|
* Add temporary dummy procedure.David Thompson2013-10-231-0/+4
|
* Add stage module.David Thompson2013-10-231-0/+160
|
* Add scene module.David Thompson2013-10-231-0/+52
|
* Simplify scene stack.David Thompson2013-10-231-39/+32
|
* Add error handling in game loop.David Thompson2013-10-231-5/+13
| | | | | | | Print backtrace and pause game when exceptions occur. This way the developer can fix the error and resume the game rather than the game crashing, forcing the developer to restart the game. The REPL remains active when the game is paused, of course.
* Move game-fps variable.David Thompson2013-10-231-6/+2
|
* Re-export new procedures from game-loop module.David Thompson2013-10-231-0/+5
|
* Implement game loop pausing.David Thompson2013-10-231-6/+15
|