summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* render: texture: Remove unused texture vertex code.David Thompson2016-02-231-50/+5
| | | | | * sly/render/texture.scm (texture-vertex, pack-texture-vertices, draw-texture-vertices): Delete.
* guix: Allow building package with Guile 2.2 pre-release.David Thompson2016-02-231-40/+56
|
* build: Change the order in which some modules are compiled.David Thompson2016-02-151-4/+4
| | | | | This prevents some duplicated compilation when modules include other Sly modules that haven't been compiled yet.
* TODO: Mark guardian improvement as DONE.David Thompson2016-02-151-1/+1
|
* Use a single foreign object guardian.David Thompson2016-02-156-38/+109
| | | | | | | | | | | | | | | | | | | | | | Rather than each foreign resource type creating its own guardian, let's just use one instead so that there is only a single guardian to talk to each frame. * sly/guardian.scm: New file. * Makefile.am (SOURCES): Add it. * sly/game.scm (run-game-loop): Start guardian worker. * sly/render/mesh.scm (mesh-guardian): Delete. (free-mesh): New procedure. (make-mesh): Guard newly created meshes. * sly/render/shader.scm (shader-stage-guardian): Delete. (free-shader-stage): New procedure. (make-shader-stage): Guard newly created shader stages. (shader-guardian): Delete. (free-shader): New procedure. (make-shader): Guard newly created shaders. * sly/render/texture.scm (texture-guardian): Delete. (free-texture): New procedure. (make-texture): Guard newly created textures.
* examples: Add sprite batch example.David Thompson2016-02-131-0/+62
| | | | * examples/sprite-batch.scm: New file.
* Remove unused sly-init procedure.David Thompson2016-02-111-11/+1
| | | | * sly.scm (sly-init): Delete.
* Update README.David Thompson2016-02-111-14/+13
|
* TODO: Mark 4x4 matrix multiplication as DONE.David Thompson2016-02-111-1/+1
|
* Remove dead modules.David Thompson2016-02-113-287/+0
| | | | | | | | | These modules haven't been used in a long time, but were never deleted. Oops! * sly/render/model.scm: Delete. * sly/render/scene.scm: Delete. * Makefile.am (SOURCES): Remove them.
* Remove GSL dependency.David Thompson2016-02-114-86/+1
| | | | | | | * sly/config.scm.in (%libgslcblas): Delete. * sly/wrappers/gsl.scm: Delete. * Makefile.am (WRAPPER_SOURCES): Remove it. * configure.ac: Remove GSL configuration.
* math: transform: Perform matrix multiplication in Scheme.David Thompson2016-02-111-8/+136
| | | | | | | | No more GSL dependency! Thanks Andy Wingo, for unboxed floating point operations! * sly/math/transform.scm (matrix-ref, matrix-set!): Allow inlining. (transform*!): Reimplement in pure Scheme, no FFI call to GSL.
* TODO: Mark item as DONE.David Thompson2016-02-101-1/+1
|
* Update .dir-locals.el.David Thompson2016-02-101-1/+3
|
* examples: Update everything to use deferred GL resource loading.David Thompson2016-02-1010-293/+410
|
* signal: Add signal-map-maybe.David Thompson2016-02-101-1/+12
| | | | * sly/signal.scm (signal-map-maybe): New procedure.
* signal: Add signal-if.David Thompson2016-02-101-0/+4
| | | | * sly/signal.scm (signal-if): New syntax.
* game: Add on-start procedure.David Thompson2016-02-101-0/+11
| | | | * sly/game.scm (on-start): New procedure.
* render: framebuffer: Use the null texture within the null framebuffer.David Thompson2016-02-101-1/+2
| | | | | * sly/render/framebuffer.scm (null-framebuffer): Set texture to the null texture, rather than #f.
* render: framebuffer: Add framebuffer-null?David Thompson2016-02-101-0/+5
| | | | * sly/render/framebuffer.scm (framebuffer-null?): New procedure.
* audio: Adjust name of argument to load-sample.David Thompson2016-02-101-3/+3
| | | | * sly/audio.scm (load-sample): s/filename/file/
* Update TODO list.David Thompson2016-02-101-23/+88
|
* window: Initialize SDL window before opening.David Thompson2016-02-051-0/+2
| | | | | * sly/window.scm (open-window): Initialize SDL2 and the window before modifying it.
* guix: Update guile-sdl2 snapshot.David Thompson2016-02-051-2/+2
|