]> git.draconx.ca Git - liblbx.git/log
liblbx.git
14 years agobuild: Update for latest versions of autotools.
Nick Bowler [Sun, 1 Nov 2009 18:14:08 +0000 (13:14 -0500)]
build: Update for latest versions of autotools.

14 years agodoc: Add initial data file catalogue.
Nick Bowler [Sun, 1 Nov 2009 17:46:13 +0000 (12:46 -0500)]
doc: Add initial data file catalogue.

16 years agoAdd another test to the regression test.
Nick Bowler [Mon, 7 Jan 2008 03:10:00 +0000 (22:10 -0500)]
Add another test to the regression test.

16 years agoAdd a simple script to help run all the autotools for the first time.
Nick Bowler [Mon, 7 Jan 2008 00:40:40 +0000 (19:40 -0500)]
Add a simple script to help run all the autotools for the first time.

16 years agoAdd the tools.h that should have been included a while ago.
Nick Bowler [Mon, 7 Jan 2008 00:35:19 +0000 (19:35 -0500)]
Add the tools.h that should have been included a while ago.

16 years agoAdd EXAMPLES section to the lbximg.1 man page.
Nick Bowler [Mon, 7 Jan 2008 00:17:10 +0000 (19:17 -0500)]
Add EXAMPLES section to the lbximg.1 man page.

16 years agoDon't install lbximg.1 manpage when not installing lbximg.
Nick Bowler [Mon, 7 Jan 2008 00:16:46 +0000 (19:16 -0500)]
Don't install lbximg.1 manpage when not installing lbximg.

16 years agoUpdate Makefile.am so that the build doesn't fail with --disable-libpng
Nick Bowler [Sat, 5 Jan 2008 07:48:18 +0000 (02:48 -0500)]
Update Makefile.am so that the build doesn't fail with --disable-libpng

16 years agoAdd version, help, and usage messages to the tools.
Nick Bowler [Sat, 5 Jan 2008 07:31:30 +0000 (02:31 -0500)]
Add version, help, and usage messages to the tools.

16 years agoAdd man pages for lbxtool and lbximg
Nick Bowler [Sat, 5 Jan 2008 05:01:23 +0000 (00:01 -0500)]
Add man pages for lbxtool and lbximg

16 years agoMove reading of embedded palette header into lbximg_fopen().
Nick Bowler [Fri, 4 Jan 2008 21:33:42 +0000 (16:33 -0500)]
Move reading of embedded palette header into lbximg_fopen().

16 years ago"Downgrade" the nframes > leadin constraint to a format assertion.
Nick Bowler [Fri, 4 Jan 2008 19:53:52 +0000 (14:53 -0500)]
"Downgrade" the nframes > leadin constraint to a format assertion.

The cmbtshp.lbx images have huge values for leadin, which makes me question
my interpretation of the value.

16 years agoUpdate license information.
Nick Bowler [Fri, 4 Jan 2008 19:24:01 +0000 (14:24 -0500)]
Update license information.

16 years agoImplement image masks to handle transparency in images.
Nick Bowler [Fri, 4 Jan 2008 10:52:55 +0000 (05:52 -0500)]
Implement image masks to handle transparency in images.

This makes a whole bootload of images work properly.

LBX doesn't translate nicely to PNG when there are transparent pixels.
Therefore, lbximg will use 256-colour paletted PNG when there are no such
pixels, and 32-bit RGBA PNG when there is at least one such pixel.  This choice
is mainly because working with 32-bit RGBA PNGs takes forever on my laptop.

Apparently the simtex logo image contains some transparent pixels, thus the
regression test has been suitably updated.

16 years agoUpdate palette handling in the lbximg tool.
Nick Bowler [Fri, 4 Jan 2008 08:01:50 +0000 (03:01 -0500)]
Update palette handling in the lbximg tool.

16 years agoImplement new handling of the LBX image header data.
Nick Bowler [Fri, 4 Jan 2008 07:48:19 +0000 (02:48 -0500)]
Implement new handling of the LBX image header data.

* Change "#offsets" to "#frames".  This makes lbximg capable of decoding all
  frames of images such as the TANM_ family and science.lbx.001
* Change interpretation of "pal" to a bitmask containing flags.  Current flags
  handled are
   - 0x0400: render each frame on a blank slate (makes TANM_ family work).
   - 0x1000: image contains embedded palette, as previously understood.
   - 0x2000: image loops over all frames.
* Change interpretation of previously-thought "#frames" to "leadin" - that is,
  indicates the first frame that is part of a looping animation.  This is
  superseded by flag 0x2000, and yes - leadin == 0 means the same thing as that
  flag.  This will allow science.lbx.001 to be looped correctly.  This leads to
  the somewhat strange notion that all images loop, just that some simply loop
  over the last frame.

Also update lbx_getinfo() to reflect the new information.

16 years agoAdd a basic regression test tool.
Nick Bowler [Tue, 1 Jan 2008 04:48:27 +0000 (23:48 -0500)]
Add a basic regression test tool.

16 years agoAllow embedded palettes to override arbitrary locations in the palette.
Nick Bowler [Mon, 31 Dec 2007 22:56:13 +0000 (17:56 -0500)]
Allow embedded palettes to override arbitrary locations in the palette.

The first word of the palette header indicates where to start writing.
This (at least) makes techsel.lbx.000 work.

16 years agoUpdate handling of embedded palette data in image files.
Nick Bowler [Mon, 31 Dec 2007 10:24:40 +0000 (05:24 -0500)]
Update handling of embedded palette data in image files.

The pal (formerly wtf2) value indicates the presence of a palette: 0x1000 if
present; 0 otherwise.  Then, immediately following the offsets comes the
palette header: 2 bytes always zero, 2 bytes for the number of entries.
Entries are sequential starting from zero.

This makes the logo images work.

16 years agoFixes to image processing.
Nick Bowler [Mon, 31 Dec 2007 09:40:18 +0000 (04:40 -0500)]
Fixes to image processing.

The noffsets and nframes values stored in image files appear to be one less
than what they actually are, so increment them on load.  This makes single
frame images work.

If the xval read on a 'type 0' row command is 1000, stop processing the frame.
This makes the 50th frame of mainmenu.lbx.000 work.

16 years agoImplement decoding for lbximg.
Nick Bowler [Mon, 31 Dec 2007 07:25:15 +0000 (02:25 -0500)]
Implement decoding for lbximg.

16 years agoPrint newline after _lbx_assert messages.
Nick Bowler [Mon, 31 Dec 2007 06:32:51 +0000 (01:32 -0500)]
Print newline after _lbx_assert messages.

16 years agoAdd README.
Nick Bowler [Mon, 31 Dec 2007 01:50:44 +0000 (20:50 -0500)]
Add README.

16 years agoInitial implementation of the lbximg tool.
Nick Bowler [Mon, 31 Dec 2007 01:31:15 +0000 (20:31 -0500)]
Initial implementation of the lbximg tool.

16 years ago.gitignore updates.
Nick Bowler [Mon, 31 Dec 2007 01:26:57 +0000 (20:26 -0500)]
.gitignore updates.

16 years agoAdd lbx_getinfo() to query properties of a loaded LBX image.
Nick Bowler [Mon, 31 Dec 2007 01:23:26 +0000 (20:23 -0500)]
Add lbx_getinfo() to query properties of a loaded LBX image.

16 years agoRename LBXIMG to LBX_IMG.
Nick Bowler [Mon, 31 Dec 2007 01:22:39 +0000 (20:22 -0500)]
Rename LBXIMG to LBX_IMG.

16 years agoFix segfault on EOF in lbximg_fopen().
Nick Bowler [Mon, 31 Dec 2007 01:20:53 +0000 (20:20 -0500)]
Fix segfault on EOF in lbximg_fopen().

16 years ago"Soften" the format assertions so that they no longer abort().
Nick Bowler [Sun, 30 Dec 2007 16:43:48 +0000 (11:43 -0500)]
"Soften" the format assertions so that they no longer abort().

16 years agoFix processing of the 2nd type of drawing command in images.
Nick Bowler [Sun, 30 Dec 2007 09:29:48 +0000 (04:29 -0500)]
Fix processing of the 2nd type of drawing command in images.

The unknown word in the bunch turns out to be an x-adjustment value.
This makes *all* frames of the main menu animation decodable.

16 years agoImplement functions for loading palettes, and slightly improve the image reader.
Nick Bowler [Sun, 30 Dec 2007 09:02:59 +0000 (04:02 -0500)]
Implement functions for loading palettes, and slightly improve the image reader.

16 years agoStarting implementation of image parsing code.
Nick Bowler [Sun, 30 Dec 2007 06:03:02 +0000 (01:03 -0500)]
Starting implementation of image parsing code.

16 years agoSplit off _lbx_fseek() into a shared component of the library.
Nick Bowler [Sat, 29 Dec 2007 23:08:48 +0000 (18:08 -0500)]
Split off _lbx_fseek() into a shared component of the library.

16 years agoStart adding image support to liblbx.
Nick Bowler [Sat, 29 Dec 2007 19:28:31 +0000 (14:28 -0500)]
Start adding image support to liblbx.

16 years agoMake the letoh? macros consistent between little-endian and big-endian.
Nick Bowler [Thu, 27 Dec 2007 19:23:38 +0000 (14:23 -0500)]
Make the letoh? macros consistent between little-endian and big-endian.

16 years agoUse AC_HEADER_ASSERT to allow users to disable assertions.
Nick Bowler [Thu, 27 Dec 2007 19:18:20 +0000 (14:18 -0500)]
Use AC_HEADER_ASSERT to allow users to disable assertions.

16 years agoConvince autoconf to not emit useless C++/Fortran checks.
Nick Bowler [Thu, 27 Dec 2007 18:38:02 +0000 (13:38 -0500)]
Convince autoconf to not emit useless C++/Fortran checks.

16 years agoUpdate byte order stuff.
Nick Bowler [Wed, 26 Dec 2007 23:13:06 +0000 (18:13 -0500)]
Update byte order stuff.

16 years agoUpdate Makefile.am so that lbx.h is installed.
Nick Bowler [Tue, 25 Dec 2007 04:22:05 +0000 (23:22 -0500)]
Update Makefile.am so that lbx.h is installed.

16 years agoAdd lbx_mmap() to map archive members into memory.
Nick Bowler [Sun, 23 Dec 2007 23:06:44 +0000 (18:06 -0500)]
Add lbx_mmap() to map archive members into memory.

Currently, the whole LBX archive is mapped into memory on the first call, then
offsets from that are returned.  If this proves to be problematic, it may have
to be changed.

16 years agoAdd lbx_mopen() to allow "opening" a region of memory as an LBX archive.
Nick Bowler [Sun, 23 Dec 2007 22:47:17 +0000 (17:47 -0500)]
Add lbx_mopen() to allow "opening" a region of memory as an LBX archive.

16 years agoImplement filename globbing on list/extract.
Nick Bowler [Sun, 23 Dec 2007 05:00:08 +0000 (00:00 -0500)]
Implement filename globbing on list/extract.

16 years agoFix lbx_extract's seeking to maintain a correct offset even on errors.
Nick Bowler [Sun, 23 Dec 2007 04:11:26 +0000 (23:11 -0500)]
Fix lbx_extract's seeking to maintain a correct offset even on errors.

16 years agoInitial implementation of list and extract operations.
Nick Bowler [Sat, 22 Dec 2007 23:40:41 +0000 (18:40 -0500)]
Initial implementation of list and extract operations.

16 years agoAdd a name field to support LBX1 fallback.
Nick Bowler [Sat, 22 Dec 2007 21:22:30 +0000 (16:22 -0500)]
Add a name field to support LBX1 fallback.

LBX1 fallback requires files to be named like "archive.lbx.XXX", so we need
to keep track of "archive.lbx".

16 years agoImplement stub list operation.
Nick Bowler [Sat, 22 Dec 2007 21:21:26 +0000 (16:21 -0500)]
Implement stub list operation.

16 years agoAdd basic stubbiness for lbxtool.
Nick Bowler [Sat, 22 Dec 2007 20:01:35 +0000 (15:01 -0500)]
Add basic stubbiness for lbxtool.

16 years agoUpdate configure to use C99 mode.
Nick Bowler [Sat, 22 Dec 2007 20:00:31 +0000 (15:00 -0500)]
Update configure to use C99 mode.

16 years agoAdd GPLv2 license.
Nick Bowler [Sat, 22 Dec 2007 19:05:35 +0000 (14:05 -0500)]
Add GPLv2 license.

16 years agoInitial commit
Nick Bowler [Sat, 22 Dec 2007 19:02:40 +0000 (14:02 -0500)]
Initial commit