[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GNU Guile-SDL 0.6.0 available
From: |
Thien-Thi Nguyen |
Subject: |
GNU Guile-SDL 0.6.0 available |
Date: |
Sat, 05 Feb 2022 04:05:59 -0500 |
release notes:
Lots of love this time. Shout out to all technical writers!
Please see also the (currently wip, it may have finished by the time
you read this) "Hooray!" series: <https://www.gnuvola.org/uc/hooray/>.
README excerpt:
Guile-SDL is a set of modules that provide bindings for various
Simple DirectMedia Layer (http://www.libsdl.org) libraries.
Most of the SDL functions are wrapped, with the exception of a
few functions that are too C-centric. The SDL threads, audio
and network functions are not included. However, there are
(optionally configured) bindings for SDL_mixer and SDL_ttf.
Also included is SDL_gfx 2.0.26 (by Andreas Schiffler) source
code (ZLIB license) and bindings for it.
This is alpha code (pre 1.0 release), tested with various,
but not all, versions of Guile and SDL. It may have bugs,
and the interfaces may change from version to version.
NEWS for 0.6.0 (2022-02-05):
- bugfix: avoid range error in image filter procedures
Procedures ‘imfi-add-c’ and ‘imfi-sub-c’ used to convert 3rd arg
‘c’ (constant) from Scheme to C using a signed integer function
that would signal range error for large values. This is now
fixed to use an unsigned integer function to do the job.
- intermittent crash fix reverted
The fix in Guile-SDL 0.5.3 (2021-12-11) was not The Right Thing.
It has been reverted and a better solution put in place. We now
initialize the ‘event-thread’ subsystem in test/cursor.scm. AHA
moment: <https://www.gnuvola.org/u/2022/01/08h13.html>.
- embedded SDL_gfx upgraded to version 2.0.26
This brings bugfixes and MMX support for x86_64 (amd64),
primarily. Now, "cd test && make check TESTS=gfx.scm" really
flies!
NB: The license for SDL_gfx is now the zlib license. See
src/SDL_gfx/LICENSE in the distribution for the new text.
- ‘(sdl gfx) fps-manager-delay!’ can have meaningful rv
The embedded SDL_gfx is currently at version 2.0.26, but the
previous version was 2.0.22, and its function that underlies
‘fps-manager-delay!’ did not have a meaningful return value.
Previously, if you configured w/ ‘--disable-embedded-gfx’ and
built w/ SDL_gfx 2.0.24 or later (that DOES have a meaningful
rv), such ignorance was foisted upon you. Now, you are free to
fully enjoy that sweet rv. :-D
- changes to to ‘(sdl gfx) blit-rgba’
- accepts ‘#f’ for 2nd, 4th arg
The 2nd and 4th args to ‘blit-rgba’ indicate the source and
destination rectangles, respectively. Previously, they were
required to be fully specified. Now, you can use ‘#f’ there to
indicate the entire (source/destination) surface.
- return value more informative
Previously, ‘blit-rgba’ returned ‘#f’ if there were problems and
‘#t’ if not. However, "no problem" was narrowly interpreted and
missed a certain common case -- upshot is that it incorrectly
returned ‘#f’ even in that case.
Now, if there were no problems, it returns an integer: 1 if a
blit was performed, 0 otherwise. (If there were problems, it
returns ‘#f’ as before -- use ‘get-error’ to get more info.)
- new proc: ‘(sdl misc-utils) exact-floor’
Actually, this is an old proc that was misguidedly deleted in
2011 to make room for ‘exact-truncate’. Both are useful in
their own right, it is now evident. Live and learn.
- new proc: ‘(sdl sdl) must-lock?’
This wraps the convenience C macro ‘SDL_MUSTLOCK’. Useful (in
conjunction w/ ‘lock-surface’ and ‘unlock-surface’) for avoiding
segfaults when examining pixel data from RLE-enabled surfaces.
- new proc: ‘(sdl gfx) multiply-pixel-alpha!’
This multiples the alpha channel in a 32-bit surface by FACTOR
(actually, FACTOR/256). The underlying function has been
available in SDL_gfx since version 2.0.21, so this is a bit of
a late bloomer. Still, more alpha blending for everyone!
- new proc: ‘(sdl gfx) fps-manager-count’
This returns the frame count (i.e., how many times
‘fps-manager-delay!’ was called) for an FPS manager.
Another late bloomer (again, since SDL_gfx 2.0.21).
- documentation improvements
- external representations described
The manual now includes a description of the external
representation of these object types:
Pixel Format
Rectangle
Color
Surface
Joystick
CDROM Drive
FPS Manager
Types with a standard (non-custom, Guile-generated) external
representation are not documented.
By the way, the Surface external representation now also
includes "L" to indicate that the surface is locked.
- image filtering procedures general behavior documented
The manual now sports three paragraphs describing commonalities
of the ‘imfi-*’ procedures, as well as the special processing
done by ‘imfi-add-c’, ‘imfi-sub-c’, ‘imfi-lshr’, ‘imfi-lshl’.
- say "byte", not "nybble"
The documentation for ‘surface-pixels’ was simply wrong (but it
sounded groovy for a while to Some Fool, probably).
- bootstrap/maintenance tools
upgraded:
Guile-BAUX 20211208.0839.a5245e7
GNU gnulib 2022-01-27 07:00:41
as before:
GNU Libtool 2.4.6
GNU Autoconf 2.71
GNU Automake 1.16.5
GNU Texinfo 6.8
tarballs and detached signatures:
https://ftpmirror.gnu.org/guile-sdl/guile-sdl-0.6.0.tar.lz
https://ftpmirror.gnu.org/guile-sdl/guile-sdl-0.6.0.tar.lz.sig
source code:
https://git.savannah.gnu.org/cgit/guile-sdl.git/?h=p
homepage:
https://www.gnu.org/software/guile-sdl/
--
Thien-Thi Nguyen -----------------------------------------------
(defun responsep (query) ; (2022) Software Libero
(pcase (context query) ; = Dissenso Etico
(`(technical ,ml) (correctp ml))
...)) 748E A0E8 1CB8 A748 9BFA
--------------------------------------- 6CE4 6703 2224 4C80 7502
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- GNU Guile-SDL 0.6.0 available,
Thien-Thi Nguyen <=