summaryrefslogtreecommitdiff
path: root/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Use a single foreign object guardian.David Thompson2016-02-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
* Remove dead modules.David Thompson2016-02-111-2/+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-111-1/+0
| | | | | | | * sly/config.scm.in (%libgslcblas): Delete. * sly/wrappers/gsl.scm: Delete. * Makefile.am (WRAPPER_SOURCES): Remove it. * configure.ac: Remove GSL configuration.
* Rename (sly record) to (sly records).David Thompson2016-01-121-1/+1
| | | | | | * sly/record.scm: Delete. * sly/records.scm: New file. * Makefile.am (SOURCES): Remove deleted file. Add new file.
* render: Add sprite batch.David Thompson2016-01-011-0/+1
| | | | | | | Finally, we can have decent sprite rendering performance! * sly/render/sprite-batch.scm: New file. * Makefile.am (SOURCES): Add it.
* Upgrade to SDL2!David Thompson2015-12-221-2/+0
| | | | | | This commit is massive and crazy and I'm not going to do the usual GNU ChangeLog thing because it's just too much. Let's just be happy that the port is completed!
* build: Fix where compiled Guile modules get installed.David Thompson2015-11-121-1/+1
| | | | * Makefile.am (godir): Set to the same as moddir.
* render: Reimplement rendering engine using functional combinators.David Thompson2015-09-211-0/+1
| | | | | | | | | | | Warning: This is a huge commit. I completely gutted the old scene graph and replaced it with a somewhat monadic rendering combinator module instead. The interface remains purely functional, but replaces the <model> data type with procedures in the rendering monad instead. This opens the door for rendering *anything*, not just meshes. Now I can implement particle systems and other non-static things.
* Add new record type syntax.David Thompson2015-09-211-0/+1
| | | | | * sly/record.scm: New file. * Makefile.am (SOURCES): Add it.
* render: Reimplement OpenGL state machine manager.David Thompson2015-08-261-2/+2
| | | | | | | | | | | | | The implementation is a bit cleaner, and it's a stepping stone towards render combinators. * sly/render/context.scm: Delete. * sly/render.scm: New file. * Makefile.am (SOURCES): Add it. Remove context.scm. * sly/game.scm (run-game-loop): Use new <graphics> type. * sly/render/model.scm (draw-model): Likewise. * sly/render/scene.scm (draw-scene): Likewise. * examples/2048/2048.scm: Remove (sly render context) import.
* Add composite (sly) module.David Thompson2015-06-141-1/+2
| | | | | | | | | * sly.scm: New file. * Makefile.am (SOURCES): Add it. * sandbox.in: Use new module. * examples/common.scm: Likewise. * examples/font.scm: Likewise. * README ("Example"): Update example.
* Clean up build system.David Thompson2015-06-101-7/+6
|
* render: Add <scene> record type.David Thompson2015-06-061-0/+1
| | | | | | | | | | | * sly/render/scene.scm: New file. * Makefile.am (SOURCES): Add it. * sly/render/camera.scm (apply-viewport): Do not clear viewport. (clear-viewport): New procedure. * sly/render/model.scm (model-sub-scene): New accessor. (make-model): Add #:sub-scene keyword argument. (draw-sub-scene): New variable. (draw-model): Remove rendering initialization code. Render sub-scenes.
* render: Merge <group> into <model>.David Thompson2015-03-091-1/+0
| | | | | | | | | | | | | | | | | | | | * sly/render/model.scm (<model>): Add 'transform' and 'children' fields. (model-transform, model-children): New accessors. (make-model): Add 'transform' and 'children' keyword arguments. (set-transform-identity!): New procedure. (draw-model): Recursively draw model and all children. (model-paint, model-blend): Renamed. (paint, blend, group, group*, move, place): New procedures. * sly/render/group.scm: Delete. * Makefile.am (SOURCES): Remove it. * examples/2048/2048.scm: Update example. * examples/animation.scm: Likewise. * examples/font.scm: Likewise. * examples/joystick.scm: Likewise. * examples/mines/mines.scm: Likewise. * examples/simple.scm: Likewise. * examples/tilemap.scm: Likewise. * README.org (Example): Update sample code.
* render: Add tile-map module.David Thompson2015-01-191-0/+1
| | | | | * sly/render/tile-map.scm: New file. * Makefile.am (SOURCES): Add it.
* math: Reimplement tween module formerly known as transition.David Thompson2014-11-301-1/+1
| | | | | | * sly/transition.scm: Delete. * sly/math/tween.scm: New file. * Makefile.am (SOURCES): Remove deleted file. Add new one.
* render: Rename vertex-array to mesh.David Thompson2014-11-291-1/+0
| | | | | | | | | | | | | * sly/render/vertex-array.scm: Delete. * Makefile.am (SOURCES): Delete it. * sly/render/mesh.scm: Move vertex-array code and rename to mesh. * sly/render/model.scm (draw-model): s/vertex-array/mesh/ * sly/render/context.scm: Likewise. * sly/render/shape.scm (make-cube): Return a model object. * sly/render/font.scm (make-label): Likewise. * sly/render/sprite.scm (make-sprite): Likewise. Remove 'color' parameter. (load-sprite): Likewise.
* render: Delete renderer module.David Thompson2014-11-291-1/+0
| | | | | * sly/render/renderer.scm: Delete. * Makefile.am (SOURCES): Delete it.
* render: Delete scene module.David Thompson2014-11-291-1/+0
| | | | | * sly/render/scene.scm: Delete. * Makefile.am (SOURCES): Delete it.
* render: Add group and model modules.David Thompson2014-11-291-0/+2
| | | | | | * sly/render/model.scm: New file. * sly/render/group.scm: New file. * Makefile.am (SOURCES): Add them.
* Delete obsolete animation module.David Thompson2014-11-081-1/+0
| | | | | * sly/animation.scm: Delete. * Makefile.am (SOURCES): Remove it.
* render: Move font module to sly/render directory.David Thompson2014-11-081-1/+1
| | | | | | | | * sly/font.scm: Delete. * sly/render/font.scm: New file. * Makefile.am (SOURCES): Add new file. Delete old one. * examples/font.scm: Use (sly render font). * examples/joystick.scm: Likewise.
* render: Move color module to sly/render directory.David Thompson2014-11-081-1/+1
| | | | | | | | | | | | | | | | | | * sly/color.scm: Delete. * sly/render/color.scm: New file. * Makefile.am (SOURCES): Add new file. Delete old one. * sly/font.scm: Use (sly render color) module. * sly/render/camera.scm: Likewise. * sly/render/mesh.scm: Likewise. * sly/render/shader.scm: Likewise. * sly/render/sprite.scm: Likewise. * sly/render/texture.scm: Likewise. * sly/render/vertex-array.scm: Likewise. * sly/transition.scm: Likewise. * examples/font.scm: Likewise. * examples/simple.scm: Likewise. * examples/tilemap.scm: Likewise. * examples/transition.scm: Likewise.
* input: Move joystick module to sly/input directory.David Thompson2014-11-081-1/+1
| | | | | | | * sly/joystick.scm: Delete. * sly/input/joystick.scm: New file. * Makefile.am (SOURCES): Add new file. Delete old one. * examples/joystick.scm: Use (sly input joystick) module.
* input: Move mouse module to sly/input directory.David Thompson2014-11-081-1/+1
| | | | | | | * sly/mouse.scm: Delete. * sly/input/mouse.scm: New file. * Makefile.am (SOURCES): Add new file. Delete old one. * examples/font.scm: Use (sly input mouse).
* input: Move keyboard module to sly/input directory.David Thompson2014-11-081-1/+1
| | | | | | | | * sly/keyboard.scm: Delete. * sly/input/keyboard.scm: New file. * Makefile.am (SOURCES): Add new file. Delete old file. * examples/common.scm: Use (sly input keyboard). * examples/tilemap.scm: Likewise.
* math: Move rect module to sly/math directory.David Thompson2014-11-081-1/+1
| | | | | | | | * sly/rect.scm: Delete. * sly/math/rect.scm: New file. * Makefile.am (SOURCES): Add new file. Delete old one. * sly/render/camera.scm: Use (sly math rect) module. * examples/simple.scm: Likewise.
* math: Move transform module to sly/math directory.David Thompson2014-11-081-1/+1
| | | | | | | | | | | | | * sly/transform.scm: Delete. * sly/render/transform.scm: New file. * Makefile.am (SOURCES): Add new file. Delete old one. * sly/render/camera.scm: Use (sly math transform). * sly/render/mesh.scm: Likewise. * sly/render/renderer.scm: Likewise. * sly/render/scene.scm: Likewise. * sly/render/shader.scm: Likewise. * sly/window.scm: Likewise. * examples/simple.scm: Likewise.
* math: Move quaternion module to sly/math directory.David Thompson2014-11-081-1/+1
| | | | | | | | * sly/quaternion.scm: Delete. * sly/math/quaternion.scm: New file. * Makefile.am (SOURCES): Add new file. Delete old one. * sly/transform.scm: Use (sly math quaternion). * sly/transition.scm: Likewise.
* render: Move scene module to sly/render directory.David Thompson2014-11-081-1/+1
| | | | | | | | * sly/scene.scm: Delete. * sly/render/scene.scm: New file. * Makefile.am (SOURCES): Add new file. Delete old one. * examples/simple.scm: Use (sly render scene). * examples/tilemap.scm: Likewise.
* render: Move tileset module to sly/render directory.David Thompson2014-11-081-1/+1
| | | | | | | | * sly/tileset.scm: Delete. * sly/render/tileset.scm: New file. * Makefile.am (SOURCES): Add new file. Delete old one. * examples/animation.scm: Use (sly render tileset). * examples/tileset.scm: Likewise.
* render: Move shape module to sly/render directory.David Thompson2014-11-081-1/+1
| | | | | | * sly/shape.scm: Delete. * sly/render/shape.scm: New file. * Makefile.am (SOURCES): Add new file. Delete old one.
* render: Move mesh module to sly/render directory.David Thompson2014-11-081-1/+1
| | | | | | | | | * sly/mesh.scm: Delete. * sly/render/mesh.scm: New file. * Makefile.am (SOURCES): Add new file. Delete old one. * sly/font.scm: Use (sly render mesh). * sly/render/sprite.scm: Likewise. * sly/shape.scm: Likewise.
* render: Move shader module to sly/render directory.David Thompson2014-11-071-1/+1
| | | | | | | | | | | | | * sly/shader.scm: Delete. * sly/render/shader.scm: New file. * Makefile.am (SOURCES): Add new file and delete old one. * sly/font.scm: Use (sly render shader). * sly/mesh.scm: Likewise. * sly/render/context.scm: Likewise. * sly/render/renderer.scm: Likewise. * sly/render/sprite.scm: Likewise. * sly/render/vertex-array.scm: Likewise. * sly/shape.scm: Likewise.
* render: Move sprite module to sly/render directory.David Thompson2014-11-071-1/+1
| | | | | | | | | | | | | | | * sly/sprite.scm: Delete. * sly/render/sprite.scm: New file. * Makefile.am (SOURCES): Add new file and delete old one. * sly/font.scm: Use (sly render sprite). * examples/animation.scm: Likewise. * examples/common.scm: Likewise. * examples/coroutine.scm: Likewise. * examples/joystick.scm: Likewise. * examples/particles.scm: Likewise. * examples/simple.scm: Likewise. * examples/tilemap.scm: Likewise. * examples/transition.scm: Likewise.
* render: Move texture module to sly/render directory.David Thompson2014-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | * sly/texture.scm: Delete. * sly/render/texture.scm: New file. * Makefile.am (SOURCES): Add it. * sly/animation.scm: Use (sly render texture). * sly/font.scm: Likewise. * sly/mesh.scm: Likewise. * sly/render/context.scm: Likewise. * sly/render/framebuffer.scm: Likewise. * sly/render/renderer.scm: Likewise. * sly/shape.scm: Likewise. * sly/sprite.scm: Likewise. * sly/tileset.scm: Likewise. * examples/coroutine.scm: Likewise. * examples/joystick.scm: Likewise. * examples/particles.scm: Likewise. * examples/tilemap.scm: Likewise. * examples/transition.scm: Likewise.
* Rename (sly helpers) module to (sly utils).David Thompson2014-11-071-1/+1
| | | | | | | | | | | | | * sly/helpers.scm: Delete. * sly/utils.scm: New file. * Makefile.am (SOURCES): Remove old file. Add new one. * sly/render/camera.scm: s/helpers/utils/ * sly/scene.scm: Likewise. * sly/shader.scm: Likewise. * sly/sprite.scm: Likewise. * sly/texture.scm: Likewise. * sly/transform.scm: Likewise. * examples/tilemap.scm: Likewise.
* render: Add rendering context record type.David Thompson2014-11-071-0/+1
| | | | | | | | | | | | | | | | | * sly/render/context.scm: New file. * Makefile.am (SOURCES): Add it. * sly/render/renderer.scm (with-texture-maybe): Delete. (apply-render-op): Use render context. (<renderer>) [context]: New field. (%make-renderer): New syntax. (make-renderer): Was syntax, now a procedure. (render): Use render context. * sly/render/vertex-array.scm (apply-vertex-array): New procedure. (with-vertex-array): Use it. * sly/shader.scm (apply-shader-program): New procedure. (with-shader-program): Use it. * sly/texture.scm (apply-texture): New procedure. (with-texture): Use it.
* wrappers: Add GSL wrapper.David Thompson2014-11-071-0/+1
| | | | | * Makefile.am (WRAPPER_SOURCES): Add it. * sly/wrappers/gsl.scm: New file.
* render: Add framebuffer module.David Thompson2014-10-281-0/+1
| | | | | * sly/render/framebuffer.scm: New file. * Makefile.am (SOURCES): Add it.
* camera: Rewrite module.David Thompson2014-10-261-1/+1
| | | | | | | * Makefile.am (SOURCES): Update camera module file name. * sly/camera.scm: Delete. * sly/render/renderer.scm: Import new camera module. * sly/render/camera.scm: New file.
* render: Add utils module.David Thompson2014-10-251-0/+1
| | | | | * sly/render/utils.scm: New file. * Makefile.am (SOURCES): Add it.
* render: Add simple renderer.David Thompson2014-10-251-0/+1
| | | | | * sly/render/renderer.scm: New file. * Makefile.am (SOURCES): Add it.
* render: Add vertex array module.David Thompson2014-10-251-0/+1
| | | | | * sly/render/vertex-array.scm: New file. * Makefile.am (SOURCES): Add it.
* Rewrite vector math module.David Thompson2014-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * .gitignore: Ignore '*.log' files. * sly/vector.scm: Delete file. * sly/math/vector.scm: New file. * tests/math/vector.scm: New file. * Makefile.am: Add new file and remove the old one. * sly/font.scm: Remove import. * sly/game.scm: Change import. * sly/joystick.scm (make-directional-signal-raw, make-directional): Use 'vector2'. * sly/keyboard.scm (key-directions): Use 'vector2'. * sly/mesh.scm (vertices-bytevector): Use new vector procedures. * sly/mouse.scm (mouse-position): Use 'vector2'. * sly/quaternion.scm (axis-angle->quaternion, quaternion->vector, vector->quaternion): Use new vector procedures. * sly/rect.scm (rect-position, rect-top-right, rect-bottom-left, rect-bottom-right, rect-center, rect-size): Use 'vector2'. * sly/scene.scm (make-scene-node): Use 'vector2'. * sly/shader.scm: Change import. * sly/shape.scm (make-cube): Use new vector procedures. * sly/sprite.scm (make-sprite): Use new vector procedures. * sly/texture.scm (anchor-texture): Use 'vector2'. * sly/transform.scm (transform-vector2): Use 'vector2'. (translate, scale): Use new vector procedures. * sly/transition.scm (guess-interpolator): Use new vector procedures. * sly/window.scm (make-window, window-size, open-window): Use 'vector2'.
* Add quaternion module.David Thompson2014-08-281-0/+1
| | | | | * Makefile.am (SOURCES): Add 'sly/quaternion.scm'. * sly/quaternion.scm: New file.
* Add shape module.David Thompson2014-08-251-0/+1
| | | | | * Makefile.am (SOURCES): Add it. * sly/shape.scm: New file.
* Add scene module.David Thompson2014-08-251-0/+1
| | | | | * Makefile.am (SOURCES): Add it. * sly/scene.scm: New file.
* Add camera module.David Thompson2014-08-251-0/+1
| | | | | * Makefile.am (SOURCES): Add it. * sly/camera.scm: New file.