| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
* sly/config.scm.in (%libgslcblas): Delete.
* sly/wrappers/gsl.scm: Delete.
* Makefile.am (WRAPPER_SOURCES): Remove it.
* configure.ac: Remove GSL configuration.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
* sly/signal.scm (signal-map-maybe): New procedure.
|
|
|
|
| |
* sly/signal.scm (signal-if): New syntax.
|
|
|
|
| |
* sly/game.scm (on-start): New procedure.
|
|
|
|
|
| |
* sly/render/framebuffer.scm (null-framebuffer): Set texture to the null
texture, rather than #f.
|
|
|
|
| |
* sly/render/framebuffer.scm (framebuffer-null?): New procedure.
|
|
|
|
| |
* sly/audio.scm (load-sample): s/filename/file/
|
| |
|
|
|
|
|
| |
* sly/window.scm (open-window): Initialize SDL2 and the window before
modifying it.
|
| |
|
| |
|
|
|
|
| |
* sly/render/font.scm (enable-fonts): Add docstring.
|
|
|
|
|
| |
* sly/live-reload (with-live-reload): Ignore poll when game has not yet
started.
|
|
|
|
|
| |
* sly/game.scm (game-start-hook, game-started?): New variables.
(run-game-loop): Run game-start-hook before loop starts.
|
|
|
|
| |
* sly/render/sprite.scm (null-sprite): New variable.
|
|
|
|
| |
* sly/signal.scm (add-signal-hook!): Apply 'proc' immediately.
|
|
|
|
|
| |
* sly/window.scm (init-window): Set OpenGL version to 3.2, explicitly
set double buffering and vsync, and configure depth buffer size.
|
|
|
|
|
|
|
| |
Rather than, you know, ignoring it completely.
* sly/window.scm (open-window): Set the window to fullscreen mode, if
requested.
|
|
|
|
| |
* sly/audio.scm (play-music): Add #:loop? keyword argument.
|
|
|
|
|
|
|
|
| |
In practice this wasn't very noticeable, but it is a bad idea to lock
input event processing with the frame rate.
* sly/game.scm (run-game-loop): Process input events before each call to
'agenda-tick!'.
|
|
|
|
|
| |
* sly/render/font.scm (render-text): Add 'blended?' argument.
(make-label): Add #:blended? keyword argument.
|
|
|
|
|
|
| |
* sly/record.scm: Delete.
* sly/records.scm: New file.
* Makefile.am (SOURCES): Remove deleted file. Add new file.
|