summaryrefslogtreecommitdiff
path: root/posts/2020-11-19-chickadee-0.6.0-released.md
blob: 5436f92991ad164ae12315f176d34533f4810053 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
title: Chickadee 0.6.0 released
date: 2020-11-19 21:00:00
tags: guile gamedev chickadee
summary: Chickadee 0.6.0 has been released
---

I'm happy to announce that Chickadee 0.6.0 has been released!

Chickadee is a game development toolkit for Guile.  Chickadee aims to
provide all the features that parenthetically inclined game developers
need to make 2D and 3D games in Scheme.

As Chickadee is still alpha software, several breaking changes were
introduced in this release.  Fortunately, the changes are mostly
related to naming so upgrading an existing program to Chickadee 0.6.0
should be fairly straightfoward.  Keep reading for the full scope of
these changes.

Notable improvements and changes:

* Renamed `(chickadee render ...)` module namespace to `(chickadee
  graphics ...)` so please update your `use-module` declarations!
* New OpenGL 2 compatibility (previous releases required 3+)
* `load-font` procedure now loads TrueType/OpenType font support via
  FreeType (use `load-bitmap-font` to load AngelCode formatted bitmap
  fonts now)
* New, experimental vector path rendering API (see [Vector
  Paths](/manuals/chickadee/Vector-Paths.html) in the manual)
* Removed shapes module (use vector paths module instead)
* New 3x3 transformation matrix data type
* New OpenGL stencil test support
* New OpenGL multisampling support
* Improved OpenGL depth testing support
* New `load-tileset` convenience procedure (see
  [Textures](/manuals/chickadee/Textures.html) in the manual)
* New `vec2=`, `vec3=`, and `vec2-cross` procedures in `(chickadee
  math vector)` module
* New `elapsed-time` procedure in `(chickadee)` module
* Small tweaks to `(chickadee graphics tiled)` module (updates to
  `draw-tile-map` calls required, see [Tile
  Maps](/manuals/chickadee/Tile-Maps.html) in the manual)
* Removed unnecessary `scancode` argument from key press/release
  hooks
* New polling support for agendas via `call-when` and `wait-until`
  procedures (see [Scripting](/manuals/chickadee/Scripting.html) in
  the manual)

Bug fixes:

* Fixed bug in `heap-remove!` that was making agendas behave very incorrectly
* Fixed bug in `array-list-delete!` that was holding onto references
  to deleted objects
* Fixed bugs in `rect-union`, `rect-inflate`, and `rect-clip`
* Fix bugs with viewports and framebuffers in relation to screen clearing

source tarball: <https://files.dthompson.us/chickadee/chickadee-0.6.0.tar.gz>

signature: <https://files.dthompson.us/chickadee/chickadee-0.6.0.tar.gz.asc>

See the [Chickadee project page](/projects/chickadee.html) for more
information.

Bug reports, bug fixes, feature requests, and patches are welcomed.

Have fun!

P.S. - If you make something with Chickadee, feel free to share it
with me via email or [Mastodon](https://toot.cat/@dthompson).  I'd
love to see what people are doing with this library and get feedback
about what to prioritize for future releases.