summaryrefslogtreecommitdiff
path: root/2d/agenda.scm
Commit message (Collapse)AuthorAgeFilesLines
* Make agendas thread-safe.David Thompson2014-02-171-32/+37
| | | | | | * 2d/agenda.scm (<agenda>): Add mutex field. (make-agenda): Initialize with recursive mutex. (tick-agenda!, clear-agenda!, schedule): Protect using 'with-mutex'.
* Fix schedule-interval.David Thompson2014-02-151-1/+2
| | | | * 2d/agenda.scm (schedule-interval): Actually use the 'delay' parameter.
* Remove dynamic scoping of agendas.David Thompson2014-02-061-69/+39
| | | | | | | | | | | | | | | | * 2d/agenda.scm: (*global-agenda*, current-agenda, with-agenda): Delete. (agenda?, agenda-time): Export. (schedule-every, schedule-each): Rename schedule-every to schedule-each. (schedule-next): Delete. * 2d/game.scm: (game-agenda): New variable. (update): Tick game-agenda. * 2d/repl.scm: Use new agenda API. * 2d/sprite.scm: Use new agenda API. * 2d/time.scm: (time-every, time-each, time-delay): Change signature and use new agenda API. * examples/coroutine.scm: Use new agenda API. * examples/particles.scm: Use new agenda API.
* Change tick-agenda! and clear-agenda! to take agenda as arg.David Thompson2014-01-101-10/+2
| | | | | | * 2d/agenda.scm (tick-agenda!, clear-agenda!): Add agenda param. * 2d/game.scm (update, tick): Update usage of tick-agenda!.
* Update docstrings.David Thompson2014-01-071-3/+3
| | | | * 2d/agenda.scm (make-time-segment, wait): Change docstrings.
* Use SRFI-26 in agenda module.David Thompson2014-01-071-2/+3
| | | | * 2d/agenda.scm (make-time-segment, wait): Use cut.
* Rename agenda procedures.David Thompson2014-01-071-5/+5
| | | | | * 2d/agenda.scm (update-agenda, tick-agenda!): Rename. (clear-agenda, clear-agenda!): Rename.
* Export agenda variables.David Thompson2014-01-071-0/+2
| | | | * 2d/agenda.scm: Export *global-agenda* and current-agenda.
* Add new scheduling procedures and rename existing ones.David Thompson2014-01-071-12/+23
| | | | | | | | * 2d/agenda.scm (agenda-schedule, schedule): Rename. (agenda-schedule-interval, schedule-interval): Rename. (schedule-next, schedule-every): New procedures. * 2d/sprite.scm: Use schedule-every. * 2d/time.scm (time-every): Use schedule-interval.
* Make the current agenda a parameter.David Thompson2014-01-071-18/+15
| | | | | | * 2d/agenda.scm (*current-agenda*, current-agenda): Rename and make parameter. (*global-agenda*, global-agenda): Rename it.
* Move wait procedure into agenda module.David Thompson2013-10-061-1/+8
|
* Clean up docstrings for agenda module.David Thompson2013-09-151-31/+30
|
* Add agenda-schedule-interval procedure.David Thompson2013-09-151-1/+14
|
* Add agenda module for procedure scheduling.David Thompson2013-07-151-0/+182