| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* sly/game.scm (<game>): New record type.
(game, %game, game?, game-window, game-scene): New procedures.
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
|
|
|
|
|
| |
* sly/render/particles.scm: New file.
* Makefile.am (SOURCES): Add it.
* examples/particles.scm: New file.
|
| |
|
|
|
|
|
|
|
| |
* sly/render/nine-patch: New file.
* Makefile.am (SOURCES): Add it.
* examples/images/dialog.png: New file.
* examples/nine-patch.scm: New file.
|
|
|
|
|
|
| |
* sly/math/vector.scm (anchor-vector): New procedure.
* sly/render/texture.scm (anchor-texture): Define in terms of
anchor-vector.
|
| |
|
|
|
|
|
| |
* sly/render.scm (set-mesh): Lift set-graphics-mesh!, not
set-graphics-shader! -_-
|
|
|
|
| |
* guix.scm: Remove outdated configure flags.
|
|
|
|
| |
* sly/audio.scm (play-sample): Ignore exceptions.
|
|
|
|
|
|
| |
We were clobbering the effects list every time, rather than consing.
* sly/actor.scm (action-effect-lift): Cons not clobber.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* sly/actor.scm (apply-effects): New procedure.
* doc/api/scripting.texi (Actors): Document it.
|
|
|
|
|
| |
Bug: If action B was completed then the effects it returned were
discarded.
|
|
|
|
|
| |
* sly/actor.scm (action-effect-lift): New procedure.
* doc/api/scripting.texi (Actions): Document it.
|
|
|
|
|
| |
* sly/math/vector.scm (polar2): New procedure.
* doc/api/math.texi (Vectors): Document it.
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
| |
* sly/math/vector.scm: Replace the 'magnitude' symbol in the default
Guile namespace.
|
|
|
|
|
| |
* sly/live-reload.scm (watch-files): Wait for the game to start before
loading the asset for the first time.
|
|
|
|
| |
* examples/sounds/hit.wav: New file.
|
|
|
|
| |
* examples/sounds/jump.wav: New file.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
* sly/signal.scm (signal-if): Add docstring.
|
| |
|
|
|
|
| |
* doc/api/signals.texi: Delete.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
* sly/utils.scm (forever): Delete.
|
|
|
|
|
| |
* examples/common.scm: Use add-signal-hook! instead of schedule-interval
for receiving FPS events.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* sly/render/sprite-batch.scm (sprite-batch-add!): Take better advantage
of local variables to reduce lookups, add a comment, and reformat.
|
| |
|
|
|
|
|
|
|
| |
* 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!'
|
|
|
|
|
| |
* sly/render/mesh.scm (vertex-buffer-element-length): Use the cached
length of the buffer bytevector.
|
|
|
|
|
| |
* sly/render/texture.scm (texture-vertex, pack-texture-vertices,
draw-texture-vertices): Delete.
|
| |
|
|
|
|
|
| |
This prevents some duplicated compilation when modules include other Sly
modules that haven't been compiled yet.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/sprite-batch.scm: New file.
|
|
|
|
| |
* sly.scm (sly-init): Delete.
|
| |
|
| |
|