summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* blahwip-signal-improvementsDavid Thompson2016-08-241-14/+32
|
* signal: Reimplement signal-fold.David Thompson2016-08-241-7/+5
| | | | * sly/signal.scm (signal-fold): There was no need for using let-over-lambda.
* signal: Print signals like regular values.David Thompson2016-08-241-3/+2
| | | | | Simply printing the contents of the signal makes signal objects feel more native when working at the REPL.
* window: Initialize window in with-window form.HEADmasterDavid Thompson2016-08-171-0/+1
| | | | * sly/window.scm (with-window): Initialize window before opening it.
* cli: Add --version flag.David Thompson2016-08-172-0/+18
| | | | * sly/config.scm.in (%sly-version): New variable.
* input: mouse: Fix mouse-down? signal.Muriithi Frederick Muriuki2016-08-171-1/+1
| | | | | * sly/input/mouse.scm (mouse-down?): Correct the order of the arguments passed to the signal-filter procedure.
* Add 'sly' CLI program.David Thompson2016-08-116-2/+144
| | | | | | | | * scripts/sly.in: New file. * sly/cli.scm: New file. * Makefile.am (SOURCES): Add it. * configure.ac: Process scripts/sly.in to produce sly executable. * pre-inst-env.in: Fix $PATH to include scripts directory.
* window: Tweak the responsibilities of init-window and open-window.David Thompson2016-08-111-2/+2
| | | | | * sly/window.scm (init-window): Initialize SDL. (open-window): Don't call init-window and don't initialize SDL.
* window: Change default title to "Untitled".David Thompson2016-08-111-1/+1
| | | | * sly/window.scm (make-window): Change default title to "Untitled".
* Add declarative game specification type.David Thompson2016-08-111-1/+18
| | | | | * sly/game.scm (<game>): New record type. (game, %game, game?, game-window, game-scene): New procedures.
* guix: Use local-file for building the git checkout as a Guix package.David Thompson2016-07-301-9/+3
|
* render: particles: Allow finer control over particle emission.David Thompson2016-06-202-32/+42
| | | | | | | | | * sly/render/particles.scm (<particle-system>)[emit-rate]: Delete. [emit-interval, emit-count]: New fields. (make-particle-system): Delete emit-rate argument. Add emit-interval and emit-count arguments. (render-particles): Rewrite to use emit-rate and emit-count. * examples/particles.scm: Update example to use new API.
* doc: Make it clear that the rendering API is unstable.David Thompson2016-06-011-0/+5
|
* Update TODO list.David Thompson2016-05-281-6/+10
|
* render: Add particle effects.David Thompson2016-05-283-0/+165
| | | | | | * sly/render/particles.scm: New file. * Makefile.am (SOURCES): Add it. * examples/particles.scm: New file.
* Update TODO list.David Thompson2016-05-271-4/+11
|
* render: Add 9-patch implementation.David Thompson2016-05-274-0/+162
| | | | | | | * sly/render/nine-patch: New file. * Makefile.am (SOURCES): Add it. * examples/images/dialog.png: New file. * examples/nine-patch.scm: New file.
* vector: Factorize anchor function.David Thompson2016-05-272-21/+30
| | | | | | * sly/math/vector.scm (anchor-vector): New procedure. * sly/render/texture.scm (anchor-texture): Define in terms of anchor-vector.
* Update TODO list.David Thompson2016-05-181-22/+46
|
* render: Fix set-mesh.David Thompson2016-05-181-1/+1
| | | | | * sly/render.scm (set-mesh): Lift set-graphics-mesh!, not set-graphics-shader! -_-
* guix: Update explanatory comment.David Thompson2016-05-151-3/+1
| | | | * guix.scm: Remove outdated configure flags.
* audio: Ignore errors when playing samples.David Thompson2016-05-091-1/+3
| | | | * sly/audio.scm (play-sample): Ignore exceptions.
* actor: Fix action-effect-lift.David Thompson2016-05-071-1/+2
| | | | | | We were clobbering the effects list every time, rather than consing. * sly/actor.scm (action-effect-lift): Cons not clobber.
* build: Fix Scheme install location for Guile 2.2.David Thompson2016-04-291-2/+2
|
* render: Use separate model, view, and projection matrices.David Thompson2016-04-255-77/+118
| | | | | | | | | | | | | | | * sly/render.scm: Replace 'model-view' procedures with separate 'model' and 'view' procedures. (<graphics>)[model-view]: Delete field. [model, view]: New fields. * sly/render/camera.scm (with-camera): Use separate model/view matrices. * sly/render/shader.scm (%default-shader): Specify model, view, and projection uniforms. * sly/render/sprite-batch.scm (sprite-batch-flush!): Use new model, view, and projection uniforms. * data/shaders/default-vertex.glsl (model, view, projection): New uniforms. (mvp): Delete.
* actor: Add apply-effects procedure.David Thompson2016-04-252-0/+15
| | | | | * sly/actor.scm (apply-effects): New procedure. * doc/api/scripting.texi (Actors): Document it.
* actor: Fix effect handling in 'both'.David Thompson2016-04-251-3/+3
| | | | | Bug: If action B was completed then the effects it returned were discarded.
* actor: Add action-effect-lift.David Thompson2016-04-242-0/+35
| | | | | * sly/actor.scm (action-effect-lift): New procedure. * doc/api/scripting.texi (Actions): Document it.
* math: vector: Add polar2 procedure.David Thompson2016-04-242-0/+12
| | | | | * sly/math/vector.scm (polar2): New procedure. * doc/api/math.texi (Vectors): Document it.
* Update TODO list.David Thompson2016-04-241-8/+15
|
* Add actor module.David Thompson2016-04-186-1/+440
| | | | | | | | | * sly/actor.scm: New file. * Makefile.am (SOURCES): Add it. * doc/api/scripting.texi: New file. * doc/Makefile.am (sly_TEXINFOS): Add it. * doc/sly.texi: Include scripting section. * .dir-locals.el: Add identing rule for call-with-actor.
* doc: Remove obsolete texinfo files.David Thompson2016-04-1810-604/+0
|
* math: vector: Fix export issue.David Thompson2016-04-171-1/+2
| | | | | * sly/math/vector.scm: Replace the 'magnitude' symbol in the default Guile namespace.
* live-reload: Do not load asset until the game has started.David Thompson2016-03-311-3/+4
| | | | | * sly/live-reload.scm (watch-files): Wait for the game to start before loading the asset for the first time.
* examples: Add another missing audio sample.David Thompson2016-03-271-0/+0
| | | | * examples/sounds/hit.wav: New file.
* examples: Add missing sound file.David Thompson2016-03-271-0/+0
| | | | * examples/sounds/jump.wav: New file.
* signal: Fix signal-sample.David Thompson2016-03-211-5/+9
| | | | | | | | | | | | signal-sample had a nasty nondeterministic bug where the newly created signal might actually be GC'd before it could be returned to the caller. This was able to happen because no reference to the signal was help between creating the signal and returning it. Reported-By: David Hashe <david.hashe@dhashe.com> * sly/signal.scm (signal-sample): Ensure that the garbage collector cannot reclaim the new signal before it is returned.
* signal: Add docstring for signal-if.David Thompson2016-02-271-0/+3
| | | | * sly/signal.scm (signal-if): Add docstring.
* doc: Spruce things up a bit.David Thompson2016-02-273-31/+39
|
* doc: Remove unused signals.texi file.David Thompson2016-02-271-225/+0
| | | | * doc/api/signals.texi: Delete.
* Don't export (sly agenda) symbols in (sly) module.David Thompson2016-02-271-2/+1
| | | | | | | | | The agenda is really more of a private interface to keep the game moving behind the scenes, so it's best to not present it to the user by default. * sly.scm: Remove (sly agenda) from list of modules to export public symbols from.
* utils: Remove unused 'forever' procedure.David Thompson2016-02-271-4/+0
| | | | * sly/utils.scm (forever): Delete.
* examples: Replace schedule-interval with a signal hook.David Thompson2016-02-271-4/+4
| | | | | * examples/common.scm: Use add-signal-hook! instead of schedule-interval for receiving FPS events.
* TODO: Move completed tasks into archive section.David Thompson2016-02-272-100/+225
|
* TODO: Move DONE items below TODOs.David Thompson2016-02-271-108/+108
|
* Add new TODO items and set priority on existing items.David Thompson2016-02-271-89/+107
|
* render: sprite-batch: Clean up sprite-batch-add!David Thompson2016-02-271-105/+63
| | | | | * sly/render/sprite-batch.scm (sprite-batch-add!): Take better advantage of local variables to reduce lookups, add a comment, and reformat.
* Update TODO list.David Thompson2016-02-231-17/+13
|
* render: sprite-batch: Implement in terms of a mesh.David Thompson2016-02-231-16/+5
| | | | | | | * sly/render/sprite-batch.scm (<sprite-batch>): Replace 'vao' field with 'mesh' field. (make-sprite-batch): Use 'make-mesh'. (sprite-batch-flush!): Use 'set-graphics-mesh!'
* render: vbo: Use cached buffer length when computing index length.David Thompson2016-02-231-1/+1
| | | | | * sly/render/mesh.scm (vertex-buffer-element-length): Use the cached length of the buffer bytevector.