| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
This will allow for lots of controllers to be automatically mapped
correctly without the user having to do anything.
* data/gamecontrollerdb.txt: New file.
* Makefile.am (dist_pkgdata_DATA): Add it.
* chickadee.scm (run-game): Load game controller db file.
|
| |
|
|
|
|
| |
Add support for tinting and simplify batch rendering.
|
|
|
|
|
|
|
|
|
| |
* chickadee/render/color.scm (<color>): Use a single field for storing
bytevector.
(make-color): Wrap f32vector.
(color-r, color-g, color-b, color-a): Fetch channel values from
f32vector.
(color): New procedure.
|
|
|
|
| |
* chickadee/math/matrix.scm (transform-x, transform-y): New procedures.
|
|
|
|
|
|
| |
* examples/game-controller.scm: New file.
* examples/images/controller-buttons.png: New file.
* Makefile.am (EXTRA_DIST): Add them.
|
|
|
|
|
|
|
|
|
| |
I thought this was necessary to process controllers that were already
connected to the computer before a Chickadee-using program was
launched, but that doesn't seem to be the case.
* chickadee.scm (open-all-controllers): Delete.
(run-game): Remove call to open-all-controllers.
|
|
|
|
| |
* chickadee.scm (controller-name): New procedure.
|
|
|
|
|
| |
* chickadee.scm (controller-axis): Fix math so that axis values are
actually in the range [0, 1].
|
|
|
|
|
|
|
|
|
|
| |
The split-texture procedure would throw an exception in the event that
the image width/height could not be divided by tile width/height with
0 remainder.
* chickadee/render/texture.scm (split-texture): Floor the results of
dividing image dimensions by tile dimensions and ensure they are exact
integers.
|
| |
|
|
|
|
| |
* Makefile.am (godir): Use "site-ccache", not "ccache".
|
|
|
|
|
| |
* chickadee/render/font.scm (default-font): Change from variable to
procedure.
|
| |
|
| |
|
|
|
|
|
|
| |
* examples/images/explosion.png: New file.
* examples/particles.scm: New file.
* Makefile.am (EXTRA_DIST): Add them.
|
|
|
|
|
| |
Forgot to prefix imported procedures since I define procedures with
the same names.
|
| |
|
|
|
|
|
|
|
| |
Not ready to document them at this time since I have not done full
tests with a USB controller yet.
* chickadee.scm (controller-button-pressed?, controller-axis): New procedures.
|
|
|
|
|
| |
* chickadee.scm (mouse-x, mouse-y, mouse-button-pressed?,
mouse-button-released?): New procedures.
|
|
|
|
|
| |
* chickadee.scm (key-pressed?, key-released?): New procedures.
* examples/grid.scm: Remove (sdl2 input keyboard) import.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|