| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
* chickadee/render/texture.scm (display-texture): New procedure.
|
|
|
|
| |
2.2.3 has a bad performance regression. :(
|
|
|
|
|
|
|
|
|
| |
A lot better than crashing, I'd say. :)
Reported-By: Christopher Howard <christopher.howard@qlfiles.net>
* chickadee/window.scm (open-window): Catch errors thrown by
set-gl-swap-interval! and emit warning.
|
|
|
|
| |
* chickadee/math/matrix.scm (matrix4-2d-transform!): Fix bad typos!
|
|
|
|
|
|
|
|
|
|
| |
Easier to calculate it once and hang onto it than to generate it each
time draw-sprite is called.
* chickadee/render/texture.scm (<texture>)[rect]: Delete field.
[x y width height gl-tex-rect]: New fields.
* chickadee/render/sprite.scm (draw-sprite*, draw-sprite,
draw-nine-patch*): Use proper accessors for texture rects.
|
|
|
|
|
| |
* chickadee/render/font.scm (%null-vec): Rename to...
(%null-vec2): ...this.
|
|
|
|
|
|
|
|
|
|
| |
The texture-rect procedure contains the pixel location of the texture
region, so if you use that rect to render a sprite the result is a
sprite offset by its location in the greater texture, which is very
very very wrong.
* chickadee/render/sprite.scm (draw-sprite): Dynamically configure
rendering rect based on the texture region's width and height.
|
|
|
|
|
| |
* chickadee/render/texture.scm (split-texture): Width and height
variables need to contain exact numbers.
|
|
|
|
| |
This reverts commit 8cbb7eed56c4b5edd780c2d51aaa0a4c3eab7350.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* chickadee/render/texture.scm (<texture-region>): Delete type.
(<texture>)[width, height, gl-size]: Delete fields.
[parent, rect, gl-rect]: Add fields.
(texture-region?): Rewrite.
(make-texture, null-texture): Use new texture constructor.
(make-texture-region): Rewrite in terms of <texture> type.
(list->texture-atlas, split-texture): Use new texture region
constructor.
* chickadee/render/sprite.scm (draw-sprite*): New procedure.
(draw-sprite): Rewrite in terms of draw-sprite*.
(draw-nine-patch*): New procedure.
(draw-nine-patch): Rewrite in terms of draw-nine-patch*.
* chickadee/render/font.scm (draw-text*): New procedure.
(draw-text): Rewrite in terms of draw-text*.
* doc/api.texi: Update draw-sprite, draw-nine-patch, and draw-text
docs.
|
|
|
|
| |
* chickadee/math/matrix.scm (matrix4-2d-transform): New procedure.
|
|
|
|
|
|
| |
* chickadee.scm (error-handler): New procedure.
(with-error-handling): New syntax.
(run-game): Handle errors caught when running hooks.
|
|
|
|
| |
* chickadee.scm (run-game): window-height is not a procedure!
|
|
|
|
|
|
|
| |
Hide the weird SDL usage of 0 to 128.
* chickadee/audio.scm (set-sample-volume!, music-volume,
set-music-volume!): Translate to/from SDL's volume range.
|
|
|
|
| |
* chickadee/render/shapes.scm (draw-filled-rect): New procedure.
|
|
|
|
| |
* chickadee/render/color.scm (color-lerp): New procedure.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* chickadee/render/sprite.scm (draw-sprite-unbatched,
draw-sprite-batched): Replace 'scale' and 'rotation' arguments with a
'matrix' argument.
(sprite-batch-add!): Ditto. Also, correctly transform sprite
vertices. This was previously not handling rotations properly.
(%default-offset): New variable.
(draw-sprite, draw-nine-patch): Change default values for 'rotation'
and 'scale'. Add 'matrix' and 'offset' arguments.
* chickadee/render/font.scm (%default-offset): New variable.
(draw-text): Change default values for 'rotation' and 'scale'. Add
'offset' and 'matrix' arguments.
|
|
|
|
| |
* chickadee.scm (run-game): Invert all Y coordinates received from SDL.
|
|
|
|
| |
* chickadee/math/matrix.scm (matrix4-translate!): Add rect support.
|
| |
|
|
|
|
|
|
|
|
| |
I found that the 'framebuffer-srgb-capable' setting does not work with
Mesa 17.2.1. Best to just get rid of it.
* chickadee/window.scm (open-window): Remove setting for
'framebuffer-srgb-capable'.
|
|
|
|
|
| |
* chickadee/math/matrix.scm (matrix4-translate!): Add support for
the vec3 type.
|
| |
|
|
|
|
| |
* chickadee/math/quaternion.scm (display-quaternion): New procedure.
|
|
|
|
|
| |
* chickadee/math/quaternion.scm (with-new-quaternion): Build
quaternion manually instead of using make-null-quaternion.
|
|
|
|
|
| |
* chickadee/math/matrix.scm (matrix4-rotate!, matrix4-rotate): New
procedures.
|
|
|
|
|
|
| |
* chickadee/render/font.scm (load-font): Check for .xml and .fnt file
extensions and DTRT.
(parse-fnt, parse-bmfont-sxml): New procedure.
|
| |
|
|
|
|
| |
* chickadee/render/font.scm (load-tile-font): New procedure.
|
|
|
|
|
|
|
| |
* chickadee/render/font.scm (<font-char>) [texture, region]: Remove.
[texture-region]: New field.
(load-font): Use texture regions.
(draw-text): Render using texture regions.
|
| |
|
|
|
|
| |
* chickadee/scripting/agenda.scm (reset-agenda): New procedure.
|
|
|
|
|
| |
* chickadee/render/texture.scm (make-texture-region): Fix broken
texcoord width/height calculation.
|
| |
|
| |
|
|
|
|
|
| |
I have no damn clue why #:select causes this problem, but simply not
using it fixes things!
|
|
|
|
|
| |
* chickadee/path-finding.scm: New file.
* Makefile.am (SOURCES): Add it.
|
|
|
|
|
|
|
|
|
|
| |
* chickadee/render/sprite.scm (%default-texture-region): Rename to...
(%default-texcoords): ...this.
(draw-sprite): Replace #:texture-region arg with #:texcoords. Add
support for texture regions. Update docstring.
(draw-nine-patch): Add support for texture regions.
* chickadee/render/font.scm (draw-text): Change #:texture-region to
#:texcoords in draw-sprite call.
|
|
|
|
|
|
|
| |
* chickadee/render/texture.scm (list->texture-atlas): Create texture
regions. Switch from rects to 4-tuples.
(texture-atlas, texture-atlas-ref): Update docstring.
(split-texture): Create texture regions.
|
|
|
|
|
| |
* chickadee/render/texture.scm (<texture>)[gl-size]: New field.
(null-texture, make-texture): Add gl-size argument.
|
|
|
|
| |
* chickadee/render/texture.scm (<texture-region>): New record type.
|
|
|
|
|
| |
* chickadee/render/sprite.scm (double-sprite-batch-size!): Get
reference to bytevectors before unmapping old buffers.
|
|
|
|
|
|
|
| |
* chickadee/scripting/script.scm (<script>)[children]: New field.
(current-script): New variable.
(cancel-script): Cancel all child scripts, too.
(spawn-script): Register new script as a child of the current script.
|
|
|
|
|
| |
* chickadee/scripting/script.scm (script-running?, script-complete?):
Test for the correct status instead of 'cancelled'.
|
|
|
|
|
|
|
|
|
|
| |
* chickadee/scripting/coroutine.scm: Move to...
* chickadee/scripting/script.scm: ...here, and s/coroutine/script.
* chickadee/scripting/channel.scm (channel-get, channel-put): Update
docstring to say "script" instead of "coroutine".
* chickadee/scripting.scm: s/coroutine/script/
* Makefile.am (SOURCES): Replace coroutine.scm with script.scm.
* doc/api.texi: s/coroutine/script/
|
|
|
|
|
| |
* chickadee/scripting.scm (wait): Rename to...
(sleep): ...this.
|
|
|
|
|
|
|
| |
* chickadee/scripting/coroutine.scm (spawn-coroutine): Save dynamic
state during coroutine execution.
* chickadee/scripting.scm (wait): Schedule continuation in the
coroutine's current agenda.
|
| |
|
| |
|
|
|
|
|
|
|
| |
* chickadee/render/asset.scm: New file.
* chickadee/render/scene.scm: New file.
* data/shaders/pbr/pbr-frag.glsl: New file.
* data/shaders/pbr/pbr-vert.glsl: New file.
|