Princed Resources v1.3
(c) Copyright 2003-2006, Princed Development Team
http://www.princed.com.ar
This program is open source under the GNU General Public License terms
1) Change Log
Legend:
+ Format discovery first implementation
Previous versions didn't support this features
Format bug fixes
- Code improvement
Things that were supported before, but they have been improved
Code bug fixes
x Not coded, but scheduled
Versions:
* PG (unreleased)
+ Added support to export .bmp files
+ Added bitmap decompression
+ Added static palette extraction
* PS (unreleased)
+ Added support to .mid files
+ Added support to indexed DAT files
* PR v0.1 alpha (2003-06-09)
- Merged PS and PG into one extractor
+ Added dynamic palette extraction
- Added resource.txt parser.
+ Added support to .wav files.
+ Added support to export JASC palette for .pal files.
+ Coded type header verification
- Solved several bugs
* PR v0.2 alpha (2003-06-17)
+ Added classifying DAT type feature
+ Added support to import .bmp files
- Implemented CGI output support for UNIX versions
- Source files were abstracted
* PR v0.3 beta (2003-06-25)
- Added modifiers -x[rnu] -c[r]
- Added pr.dll compiling
+ Bitmaps aren't upside down anymore
+ Images bigger than 256 pixels length or width now are recognized
+ Improved decompression algorithm in bigger images
- Optimized bitmap handling
- Solved bugs in bitmap format
+ Solved segmentation fault in title.dat
* PR v0.4 beta (2003-06-27)
- Fixed a memory bug since v0.3
+ POP2 DAT files detected (file type 11)
* PR v0.5 beta (2003-07-03)
- Abstracted format handling
- Optimized bmp saving algorithm
+ Solved and optimized decompression for big images
+ Some POP2 graphics are extracted (palettes aren't supported yet)
* PR v0.6 alpha (2003-10-08)
- Coded full import/export bmp (in separate files not included
in this distribution)
+ Completed and tested bmp reading algorithm
- Optimized PG algorithms and reserved memory sizes
* PR v0.6 beta (2003-10-17)
+ Added full import bmp support
+ Solved palette import bug
* PR v0.7 (2003-10-23)
- Added Makefile
- Moved PG module to compress.c and bmp.c
- Moved midi support to mid.c
+ Solved corrupted images on compression bug
- Source ported to several compilers and platforms
* PR v0.8 beta (2003-11-04)
- Abstracted disk functions into one module
+ Added PC Speaker sound classification
+ Added compression algorithms B0 and B2. Before that it was only
working B1
- Coded a base directory creator for files
- Coded a parser and the resources tree in xmlparse.
- Coded inheritance of owner's attributes to tag child
- Coded linking from an id to a palette
- Coded the compression algorithm selector to optimize the bitmap
compiled DAT files
- Coded unknown extracted files saved in unknown.xml
* PR v0.9 Release 1 (unstable) (2003-12-22)
- Abstracted output
- Added pr.so dynamic library for UNIX versions
- Coded detector of DAT file in relative path
- Coded full extractor that looks into directories
- Coded new UNIX-style command line parsing and options
- Defined and supported .plv format for RoomShaker & Princed
- Dropped old code (txt parser and directory parsing functions)
- Improved B1/B2 compressor (4% gained in big files, 1% in small files)
- Tested and more stable
* PR v0.9 Release 2 (stable) (2004-02-21)
- Added and improved PLV support
- Empty files automatically removed
- Fixed minor bugs
- Fixed wav quality bug
- Force and backup options are working
- Improved resources.xml. Now it works in digisnd1.dat, digisnd2.dat,
digisnd3.dat, fat.dat, guard.dat, guard1.dat, guard2.dat,
ibm_snd1.dat, ibm_snd2.dat, kid.dat, levels.dat, midisnd1.dat,
midisnd2.dat, prince.dat, pv.dat, shadow.dat, skel.dat, title.dat,
vdungeon.dat, vizier.dat and vpalace.dat
- Fixed LCC Makefile
- Ported to BSD and SunOs
+ Added monochrome format support for image types 00,01,02,03 and 04;
only stable in title.dat texts
+ Fixed palette bug
* PR v1.0 beta (2004-03-22)
- Added attribute "path" as an alias of "external" in XML
+ Added full monochrome resource support
- DAT file list recycle bug fix
- PLV checksum not ignored anymore
- Added XML handling primitives in DLL
- Added the itemtype attribute "autodetect"
- Removed support of numeric "itemtype" attributes
- Renamed XML module to xmlparse
- Better resource naming when unknown extraction is performed
- Changed tag name "itemtypes" to "resources"
- Directory ended in "/" bug
- Fixed backup bug. Implemented a file pointer dynamic table using the
LIFO philosophy for safe open files in the disk handling library
- Fixed bug in compressed image size (2 bytes bigger than the normal)
- Fixed memory releasing
- Improved and abstracted transposition in monochromatic images
- Unknown option bug fixed
- Code in strict ANSI C (test with GCC pedantic)
- Code made a bit easy to read, abstracted DAT handling library
- Coded partial importing and exporting feature
- Lower memory allocation (getmemory & image compress size bugs fixed)
- Optimizations
- Other versions of POP 1 tested
* PR v1.0 (2005-03-26)
- Added a python module add-on
- Added the -z option to set the compression level
- Changed console program interface (-c for classify and -m for import)
- Checksum verification in PLV files
+ Coded the compression algorithms LZG to optimize compiled
bitmap DAT files (B3 and B4)
- Fixed palette saving in OS X
- Fixed some memory leaks in XML parser
- Optimization
- PLV checksum corruption is now a warning
- Renamed the classify interface to prClassifyDat
- Restructured repository. Renamed action files to import.c, export.c
and classify.c. Forked compress.c to a file for each algorithm.
- Solved bug in palette buffer initialization for auto-detected images
- Stable version for win32 and UNIX based systems
- Using new macros to use an endian-independent layer.
* PR v1.1 (2005-06-15)
- Added POP2 palette support
- Centralize all the return values in defines
- Coded file type detection to detect DAT subtypes, SAV, HOF and EXE
subtypes.
- Fixed memory leaks in XML parser in the error exceptions
- Improved resources.xml. Now it works in bird.dat
+ Improved speaker file automatic detection
+ Rewritten DAT indexing layer to support POP2
- Rewritten resource handling using dynamic structures
- Support of partial list folder selection wildcards (e.g.
vdungeon.dat@vdungeon/chopper/*.bmp) '*' and '?' using '&' as escape
* PR v1.2 (2006-06-06)
- Added 8 bits palette support
- Added defines for positive return values in XML
+ Added experimental POP2 RLEV decompression algorithm
- Added --format option for unknown filename generation format
+ Added resource physical order and support of non-unique resource IDs
- Added parsing feature @400:shape#!second
- Added POP2 flag to XML file
- Added POP2 importing
- Added --xml-optimize=file.xml option to optimize XML files
- Automatic increasing unknown.xml version
- Coded XML attributes common factors and smart grouping
- Finished abstracting resources.c and forked to unknown.c and tree.c
- Fixed order bug in repeated indexes
- Fixed the language support
- Fixed uppercase typedef of types
- Index long names are supported in XML and replaced to their four-letter
equivalencies
+ Inverted POP2 index names
- Raw importation now works for pop2
- Restructured the repository and source to support an object layer
- When extracting, generated unknown.xml's are now all merged into one
* PR v1.3 (scheduled 2006-07-08)
- Added support for all POP2 palettes
- Created a priority list for the palettes
- Moved tResource* from reslist to types.h
- Prepared the skeleton abstraction layer for bitmap to support .png files
- Renamed "uncompress" to "decompress"
- Re-tested portability in all platforms
x Fixed the importation feature
x Add a fatal error check when importing from a different palette size and a
warning when importing from an incorrect palette.
x Added full POP2 RLEV decompression algorithm
- The source has been simplified
x Common factor in LGZ compression (a .h or compress.h) for win size, etc.
x Common palette calculation
x Create a new isDirSep in disk.h and handle all the / and \ as the same char
x Don't create empty unknown.xml
x Fix ./pr -ie it -f bug
x Fix repeated resource name in CPALACE.DAT bug
- Forked compress to code images as a new object in a separated file
- Rename all xbit names with xcolor
x Transform flags from the hex form to the comma-separated form (010=2; 110=2,3)
* PR v1.4 (future plans)
x Added full POP2 RLEV compression algorithm
x Check for memory leak
x Code a palette adapting feature
x Optimize priority list
x Finish python interface
x Fix buffer overflows (in entered filename sizes)
x Replace .bmp by .png files.
* PR v1.5 (future plans)
x Tested and make very stable
x Source cleaned
* PR v2.0 beta
x Add full POP2 support
* PR v2.0
x Optimized & stable version for win32 and UNIX based systems
x Set, if applicable, POP2 in the parent folder of the unknown.xml file