| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
* 2d/signal.scm (define-signal): Correctly handle when previous variable
holds a non-signal value and coerce non-signal values into signals.
(make-signal-maybe): New procedure.
(splice-signals!): Assume that inputs are always valid signals.
|
|
|
|
|
| |
* 2d/vector2.scm (vector2-translate): Delete it.
(vector2-scale): Delete it.
|
|
|
|
|
|
|
| |
* 2d/font.scm (font-shader): Set to #f initially.
(enable-fonts): New procedure.
* examples/font.scm: Enable fonts.
|
|
|
|
|
|
|
| |
* 2d/sprite.scm (sprite-shader): Set to #f initially.
(enable-sprites): New procedure.
* 2d/common.scm: Enable sprites.
|
|
|
|
|
|
| |
* 2d/window.scm (open-window): Remove default argument.
* examples/common.scm: Open a window.
|
| |
|
|
|
|
|
|
| |
* 2d/repl.scm (start-2d-repl): New procedure.
* examples/common.scm: Start the REPL server.
* sandbox: Start the REPL server.
|
| |
|
|
|
|
| |
* 2d/coroutine.scm: Update license header.
|
|
|
|
|
| |
* 2d/agenda.scm: Add GPLv3 header.
* 2d/repl.scm: Add GPLv3 header.
|
| |
|
|
|
|
|
| |
* 2d/mvars.scm: Delete it.
* Makefile.am (SOURCES): Remove '2d/mvars.scm'.
|
|
|
|
|
|
|
|
|
| |
* 2d/repl.scm: New file.
* 2d/repl/repl.scm: Delete it.
* 2d/repl/server.scm: Delete it.
* Makfile.am (REPL_SOURCES): Delete it.
(SOURCES): Add '2d/repl.scm'.
* examples/common.scm: Use cooperative REPL module.
|
|
|
|
|
| |
* 2d/signal.scm (signal-do): Delete it.
(signal-tap): New procedure.
|
|
|
|
|
| |
* 2d/fps.scm (fps): Convert to signal.
(accumulate-fps!): Set fps signal.
|
|
|
|
|
| |
* 2d/keyboard.scm (key-last-down, key-last-up, key-arrows, key-wasd):
Use new signal API.
|
|
|
|
|
| |
* 2d/mouse.scm (mouse-x, mouse-y, mouse-position, mouse-last-down)
(mouse-last-up, mouse-down?): Use new signal API.
|
|
|
|
|
|
|
| |
* 2d/window.scm: (<window>): Don't export.
(window-width, window-height, window-position, window-projection): Use
new signal API.
(open-window): Set 'window-position'.
|
|
|
|
|
|
| |
* 2d/font.scm: Import (2d signal).
* 2d/game.scm: Import (2d signal).
* 2d/sprite.scm: Import (2d signal).
|
|
|
|
|
| |
* 2d/signal.scm (%signal?): New procedure.
(signal?): Redefined to be 'signal-box?'.
|
|
|
|
| |
* 2d/signal.scm (hook->signal): New procedure.
|
|
|
|
|
|
|
| |
* 2d/signal.scm (make-boxed-signal, %signal-ref, %signal-set!): Don't
export.
(signal-sample, signal-delay, signal-throttle): New procedures.
* 2d/time.scm: Delete file.
|
|
|
|
| |
* 2d/signal.scm (signal-propagate!): Dereference the correct signal.
|
|
|
|
|
| |
* 2d/signal (<signal>): Add inputs field.
(%make-signal): Add inputs parameter.
|
|
|
|
|
|
|
|
| |
Signals are now boxed so that their contents can be overwritten at the
REPL and the signal graph will magically be updated.
* 2d/signal.scm: New module.
* 2d/signals.scm: Delete old module.
|
|
|
|
| |
* 2d/helpers.scm (define-guardian): Don't use 'after-gc-hook'.
|
|
|
|
| |
This reverts commit 38f9696fed2b55e6f5484433298b7c34141da243.
|
|
|
|
|
|
| |
* 2d/agenda.scm (<agenda>): Add mutex field.
(make-agenda): Initialize with recursive mutex.
(tick-agenda!, clear-agenda!, schedule): Protect using 'with-mutex'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FTGL has been dropped in favor of SDL_ttf.
* 2d/font: Rewrite everything!
* 2d/wrappers/ftgl.scm: Delete it.
* configure.ac: Check for SDL_ttf.
* data/Makefile.am (shaders_DATA): Add font shaders.
* data/shaders/font-fragment.glsl: New shader.
* data/shaders/font-vertex.glsl: New shader.
* examples/font.scm: Rewrite font example.
* examples/fonts/AUTHORS: Delete it.
* examples/fonts/Boxy-Bold.ttf: Delete it.
|
|
|
|
| |
* 2d/texture.scm (anchor-texture): Add 'top-left condition.
|
|
|
|
|
| |
* 2d/sprite.scm (make-anchor): Delete it.
* 2d/texture.scm (anchor-texture): New procedure.
|
|
|
|
| |
* 2d/sprite.scm: Reindent file.
|
|
|
|
|
|
|
|
|
|
| |
* 2d/sprite.scm (sprite-vertex, sprite-vertex-size, x-offset, s-offset,
pack-sprite-vertices, draw-sprite-vertices): Delete.
(update-sprite-vertices!): Use 'pack-texture-vertices'.
(make-sprite): Use 'texture-vertex'.
(draw-sprite): Use 'draw-texture-vertices'.
* 2d/texture.scm (texture-vertex, texture-vertex-size, x-offset,
s-offset, pack-texture-vertices, draw-texture-vertices): New variables.
|
|
|
|
| |
* 2d/texture.scm (draw-texture): Delete it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 2d/sprite.scm: (sprite-vertex): Remove color vertex.
(r-offset): Delete it.
(pack-sprite-vertices): Remove logic moved to shader.
(draw-sprite-vertices): Remove color vertex array rendering.
(sprite-shader): New variable.
(<sprite>): Remove dirty field and adjust setters.
(make-anchor): New procedure.
(update-sprite-vertices!): Use new 'pack-sprite-vertices'.
(make-sprite): Use 'make-anchor' and 'update-sprite-vertices!'.
(dirty-sprite-setter): Delete it.
(load-sprite): Formatting.
(sprite-animation-texture): Delete it.
(drawable-texture): New procedure.
(sprite-texture): Extract body to 'drawable-texture'.
(sprite-anchor-vector): Delete it.
(set-sprite-anchor!): Reimplemented.
(update-sprite-animator!): Update vertices.
(draw-sprite): Use shader program.
(<sprite-batch>, make-sprite-batch, sprite-batch?,
sprite-batch-max-size, sprite-batch-size, set-sprite-batch-size!,
sprite-batch-texture, set-sprite-batch-texture!,
sprite-batch-vertices, sprite-batch-draw, with-sprite-batch): Delete
all sprite batch code.
* data/Makefile.am (shadersdir, shaders_DATA): New variables.
* data/shaders/sprite-fragment.glsl: New shader.
* data/shaders/sprite-vertex.glsl: New shader.
|
|
|
|
| |
* 2d/shader.scm (load-shader): Add exception handling.
|
|
|
|
|
| |
* 2d/shader.scm: Use vec2 instead of vec4 when setting a vector2
uniform value.
|
|
|
|
| |
* 2d/game.scm (draw): Remove matrix mode calls.
|
|
|
|
|
| |
* 2d/font.scm (default-font): Delete variable.
(load-default-font): New procedure.
|
|
|
|
| |
* 2d/agenda.scm (schedule-interval): Actually use the 'delay' parameter.
|
|
|
|
| |
* 2d/window.scm (window-projection): New variable.
|
|
|
|
|
|
| |
* 2d/transform.scm: New module.
* 2d/shader.scm: Add uniform setter for transforms.
* Makefile.am (SOURCES): Add '2d/transform.scm'.
|
|
|
|
|
|
|
|
|
| |
* data/fonts/DejaVuSans.ttf: New file.
* data/fonts/AUTHORS: New file.
* data/Makefile.am: New file.
* configure.ac (AC_CONFIG_FILES): Add 'data/Makefile'.
* Makefile.am (SUBDIRS): Add 'data'.
* 2d/font.scm (default-font): New variable.
|
|
|
|
|
|
|
| |
* 2d/config.scm.in: New file.
* Makefile.am (2d/config.scm): New rule.
(SOURCES): Add 2d/config.scm.
* .gitignore: Ignore 2d/config.scm.
|
|
|
|
|
|
|
|
| |
* 2d/shader.scm: New module.
* Makefile.am: Add 2d/shader.scm to SOURCES.
* examples/shader.scm: New example.
* examples/shaders/fragment-shader.glsl: New shader.
* examples/shaders/vertex-shader.glsl: New shader.
|
|
|
|
| |
* 2d/game.scm: Don't import (2d game), silly.
|
|
|
|
|
|
| |
* 2d/helpers.scm (define-guardian): New macro.
* 2d/texture.scm (reap-textures): Delete it.
(texture-guardian): Defined using define-guardian.
|
|
|
|
|
|
|
|
| |
* 2d/coroutine.scm (call-with-coroutine): New name for coroutine.
(coroutine): New macro.
(colambda, codefine, codefine*): Use call-with-coroutine.
* examples/coroutine.scm: Use coroutine macro.
* README.org: Update coroutine and agenda examples.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* 2d/window.scm: New hook.
|