| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I know I'm backpedaling here, but I think it was a mistake to expose
SDL2 as much as I have here. I think it's better for people just
getting started to not have to wonder what SDL means. Making things
as usable as possible for beginners is an important goal, and
abstracting SDL2 + OpenGL things from the core game loop
implementation shouldn't require sacrificing that goal.
* chickadee.scm: Switch code with...
* chickadee/game-loop.scm: ...this! Which is copied straight from...
* chickadee/sdl.scm: ...this! Which is now deleted.
* Makefile.am (SOURCES): Add game-loop.scm, remove sdl.scm.
* examples/grid.scm: Update due to API breakage.
* examples/lines.scm: Ditto.
* examples/nine-patch.scm: Ditto.
* examples/sprite.scm: Ditto.
* examples/text.scm: Ditto.
* examples/tiled.scm: Ditto.
* doc/api.texi (Kernel): Update.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* data/fonts/good-neighbors.fnt: New file.
* data/fonts/good-neighbors.png: New file.
* data/CREDITS: New file.
* examples/fonts/AUTHORS: Delete.
* examples/fonts/good_neighbors_starling.png: Delete.
* examples/fonts/good_neighbors_starling.xml: Delete.
* Makefile.am (dist_pkgdata_DATA, fontsdir, dist_fonts_DATA): New
variables.
(EXTRA_DIST): Remove examples/fonts files.
* chickadee/render/font.scm (draw-text): Make font an optional keyword argument.
* doc/api.texi (Fonts): Document it.
* examples/grid.scm: Update to use new draw-text API.
* examples/nine-patch.scm: Ditto.
* examples/text.scm: Ditto.
squash! render: font: Include a default font for convenience.
|
|
|
|
|
| |
* chickadee/render/sprite.scm (draw-sprite-unbatched): Combine
vertices and texcoords into a single packed buffer.
|
|
|
|
|
|
|
|
|
|
|
| |
Not sure how much of a gain this is, but it's one less buffer to map
each frame.
* chickadee/render/sprite.scm (init-sprite-batch): Create combined
vertex/texcoord buffer.
(double-sprite-batch-size!): Map and copy only a single buffer.
(sprite-batch-begin!): Map just one buffer.
(sprite-batch-add!): Use new packed buffer layout.
|
|
|
|
| |
* doc/api.texi (Rectangles): Document 'rect' procedure.
|
|
|
|
| |
* chickadee/math/rect.scm (rect): New procedure.
|
|
|
|
| |
* chickadee/render/font.scm (draw-text*): Use new set-vec2! procedure.
|
|
|
|
|
| |
* chickadee/render/sprite (sprite-batch-add!): Use new set-vec2!
procedure.
|
|
|
|
|
| |
* chickadee/math/vector.scm (set-vec2!, set-vec3!): New procedures.
* doc/api.texi (Vectors): Document them.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* chickadee/render/framebuffer.scm (<framebuffer>)[projection]: New
field.
(make-framebuffer): Use an orthographic projection the same size as
the framebuffer as the default projection matrix.
* chickadee/render.scm (with-framebuffer): Apply default projection
matrix.
|
| |
|
|
|
|
|
| |
* chickadee/math/grid.scm (slide): Simplify formula for setting new
goal coordinates.
|
|
|
|
|
|
| |
* chickadee/render/particles.scm: New file.
* Makefile.am (SOURCES): Add it.
* doc/api.texi (Particles): New subsection.
|
|
|
|
|
| |
* chickadee/render/buffer.scm (component-type-size,
typed-buffer-type-gl): Add int and double cases.
|
|
|
|
| |
* doc/api.texi (Sprites): s/diving/dividing/
|
|
|
|
|
| |
* chickadee/render/blend.scm (apply-blend-mode): Use the correct
destination blending factor (one, not zero!) for additive blending.
|
|
|
|
|
|
|
| |
* chickadee/math/grid.scm (make-grid): Set a high minimum bucket size
to avoid rehashing.
(grid-move): Use memoized inexact->exact procedure. Fix return value
of check procedure being ignored.
|
|
|
|
|
|
|
|
| |
There's still a lot of work needed to make the collision grid scale to
any reasonable number of moving objects, but this is a first step.
* chickadee/math/grid.scm: Big ol' refactor that I can't be bothered
to list all the changes for.
|
| |
|
|
|
|
|
|
| |
* chickadee/scripting/channel.scm (channel-get!, channel-put!): New
procedures.
* doc/api.texi [Channels]: Add docs.
|
|
|
|
| |
* chickadee/queue.scm (queue-length): New procedure.
|
|
|
|
|
| |
* chickadee/scripting/channel.scm: Remove (ice-9 format) and
(srfi srfi-11) imports.
|
| |
|
|
|
|
| |
* chickadee/render.scm (gpu-apply/instanced*, gpu-apply/instanced): New syntax.
|
|
|
|
| |
* chickadee/render/buffer.scm (render-vertices/instanced): New procedure.
|
|
|
|
|
|
|
| |
* chickadee/render/buffer.scm (<typed-buffer>)[divisor]: New field.
(typed-buffer-divisor): New procedure.
(make-typed-buffer, make-streaming-typed-buffer): Add #:divisor argument.
(apply-typed-buffer): Setup vertex attribute divisor if there is one.
|
|
|
|
| |
* chickadee/render/gl.scm (gl-draw-elements-instanced): New procedure.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* chickadee/math/matrix.scm: Fix mistakes in docstrings.
|
|
|
|
|
| |
* chickadee/render/texture.scm (make-texture): Don't flip texture
horizontally, only vertically.
|
|
|
|
|
| |
* chickadee/render/framebuffer.scm (make-framebuffer): Flip the
texture now that the texture origin is top-left.
|
|
|
|
| |
* chickadee/render/texture.scm (make-texture): Add #:flip? keyword argument.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a pretty big change, but hopefully for the best as this aligns
with graphics programs and the glTF standard that uses a top-left
origin. We can keep using a lower-left origin for vertices, though.
* chickadee/render/texture.scm (surface->texture): Stop flipping pixel
rows.
* chickadee/render/sprites.scm (draw-sprite-unbatched,
sprite-batch-add!, draw-nine-patch*): Adjust texture y-coordinates.
* chickadee/render/font.scm (parse-fnt): Stop inverting y coordinates.
* chickadee/render/tiled.scm (load-tile-map): Stop inverting tile ids.
|