author | ecalot
<ecalot> 2006-01-16 03:12:28 UTC |
committer | ecalot
<ecalot> 2006-01-16 03:12:28 UTC |
parent | dc8b0604c99cdc734e914efdd40916fba081a0e7 |
PR/doc/changelog.txt | +44 | -43 |
PR/doc/readme.txt | +62 | -64 |
diff --git a/PR/doc/changelog.txt b/PR/doc/changelog.txt index 348257f..f14bf1e 100644 --- a/PR/doc/changelog.txt +++ b/PR/doc/changelog.txt @@ -6,7 +6,7 @@ This program is open source under the GNU General Public License terms 1) Change Log Legend: - + Format descovery first implementation + + Format discovery first implementation Previous versions didn't support this features Format bug fixes - Code improvement @@ -21,17 +21,17 @@ Versions: + Added static palette extraction * PS (unreleased) + Added support to .mid files - + Added support to indexed dat files + + Added support to indexed DAT files * PR v0.1 alpha (2003-06-09) - - Merged PS and PG into one extractor. + - 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. + - Solved several bugs * PR v0.2 alpha (2003-06-17) - + Added classifying dat type feature + + Added classifying DAT type feature + Added support to import .bmp files - Implemented CGI output support for UNIX versions - Source files were abstracted @@ -46,12 +46,12 @@ Versions: + 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) + + 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) + + 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) @@ -70,21 +70,21 @@ Versions: - Abstracted disk functions into one module + Added PC Speaker sound classification + Added compression algorithms B0 and B2. Before that it was only - working B1. + 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 + 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 + - 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. + - 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 @@ -99,31 +99,31 @@ Versions: 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 + - 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. + 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 + - 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 + - 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 freeing + - 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 + - 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 @@ -133,57 +133,58 @@ Versions: - 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) + + 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 + - 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 autodetected images - - Stable version for win32 and unix based systems + - 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 + - Added POP2 palette support - Centralize all the return values in defines - - Coded file type detection to detect dat subtypes, sav, hof and exe + - Coded file type detection to detect DAT subtypes, SAV, HOF and EXE subtypes. - - Fixed memory leaks in xml parser in the error exceptions + - 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 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 (scheduled 2005-12-22) - - Added defines for positive return values in XML - - Added --format option for unknown filename generation format + * PR v1.2 (scheduled 2006-01-22) + Added order to support non-unique resource IDs - - Added parsing feature @400:shape#second - - Added pop2 flag to xml file - - Added pop2 importing - - Finished abstarcting resources.c and renamed to unknown.c + + Inverted POP2 index names + - Added --format option for unknown filename generation format + - Added --xml-optimize=file.xml option to optimize XML files + - Added defines for positive return values in XML + - Added parsing feature @400:shape#!second + - Added POP2 flag to XML file + - Added POP2 importing + - Automatic increasing unknown.xml version (build-13) + - 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 - equivalences - + Inverted pop2 index names - - Merged all generated unknown.xml in .. for each extract - x Added --xml-optimize=file.xml option - x Autoincreasing unknown.xml version (build-13) + equivalencies + - When extracting, generated unknown.xml's are now merged into one + - Code XML attributes common factors and smart grouping * PR v1.3 (future plans) - x Add pop2 to resources.xml: nis3vc.dat, nisibm.dat, skeleton.dat, + x Add POP2 to resources.xml: nis3vc.dat, nisibm.dat, skeleton.dat, flame.dat, head.dat, kid.dat, nismidi.dat, tandysnd.dat, digisnd.dat, ibmsnd.dat x Check for memory leak x Finish python interface x Fix buffer overflows (in entered filename sizes) * PR v2.0 beta - x Add full pop2 support + x Add full POP2 support * PR v2.0 - x Optimized & stable version for win32 and unix based systems + x Optimized & stable version for win32 and UNIX based systems x Set, if applicable, POP2 in the parent folder of the unknown.xml file diff --git a/PR/doc/readme.txt b/PR/doc/readme.txt index 9ad0f6b..5cc23cd 100644 --- a/PR/doc/readme.txt +++ b/PR/doc/readme.txt @@ -3,7 +3,7 @@ Princed Resources v1.1 http://www.princed.com.ar This program is open source under the GNU General Public License terms -Please read this readme file throughly before starting to use Princed +Please read this readme file thoroughly before starting to use Princed Resource Editor. 1) Supported file formats: @@ -14,15 +14,16 @@ Resource Editor. only those kinds of formats, and let the user make the necessary conversions. See the table above and specifications for more information. -Supported Resource Types: +Supported resource file types: Name Extension Description ~~~~ ~~~~~~~~~ ~~~~~~~~~~~ binary bin Binary files image bmp Graphic in windows bitmap format level plv Prince of Persia level midi mid Game music in midi format - palette pal Image palette in the Jasc format + palette pal Image palette in the JASC format pcspeaker pcs Internal PC Speaker Sounds + text txt Text file wave wav Wave digital audio sounds Levels: @@ -36,13 +37,13 @@ Images: * Type "image": We use Windows Bitmaps (BMP) to extract the files. The file specifications are: - - 16 color-palette in paletted images and a 2 color-palette in B/W images + - 16 colour-palette in paletted images and a 2 colour-palette in B/W images - No compression. - Format supported by: The Gimp, ImageMagick (command line conversor), + Format supported by: The Gimp, ImageMagick (command line convertor), Paint Shop Pro, any other image editor. * Type "palette": - For the bitmap palettes we are using the Jasc Pal format (Not Microsoft + For the bitmap palettes we are using the JASC Pal format (Not Microsoft .pal format) Format supported by: Paint Shop Pro. @@ -57,7 +58,7 @@ Sound: - Sample rate: 11025 - Bytes/Sec: 11025 - Block Align: 1 - Format supported by: SoX (command line conversor), GoldWave, + Format supported by: SoX (command line convertor), GoldWave, CoolEdit (editors). * Type "midi": @@ -77,7 +78,7 @@ Sound: Binary: * Type "binary": - Some binary garbage or untested stuff. + Binary garbage or untested stuff. Format supported by: xvi32 or any other hex editor. 2) Bugs: @@ -86,20 +87,20 @@ Binary: please report it. To report bugs just post them in http://sourceforge.net/tracker/?func=add&group_id=91915&atid=598845 -3) Usage: +3) Usage: Run the program without parameters to get the usage help. Syntax samples: - C:\PRINCED\PR> pr -xext dat\vdungeon.dat + C:\PRINCED\PR> pr -eext DAT\vdungeon.dat - This win32 example will extract the bitmaps and palettes stored in - C:\princed\pr\dat\vdungeon.dat into the c:\princed\pr\ext. + The above win32 example will export the bitmaps and palettes stored in + C:\princed\pr\DAT\vdungeon.dat into the c:\princed\pr\ext folder. - C:\PRINCE> pr -x vdungeon.dat + C:\PRINCE> pr -e vdungeon.dat - This will extract all the bitmaps and palettes stored in - c:\prince\vdungeon.dat into c:\prince. + This will export all the bitmaps and palettes stored in + c:\prince\vdungeon.dat into the folder c:\prince. C:\PRINCED\PR> pr -iext compiled\vdungeon.dat @@ -107,37 +108,37 @@ Binary: and associated to vdungeon.dat in the resource file and generate the file c:\princed\pr\compiled\vdungeon.dat. - C:\PRINCED\PR> pr -xext compiled\vpalace.dat@161 + C:\PRINCED\PR> pr -eext compiled\vpalace.dat@161 This will export the resource number 161 to the directory according to resources.xml (c:\princed\pr\ext\prince\sword\in the floor\bright.bmp). - $ ./pr -xext FP/prince.dat@162:pop1 -f -v + $ ./pr -eext FP/prince.dat@162:pop1 -f -v - This UNIX examle will export the resource 162 from the index "pop1" + This UNIX example will export the resource 162 from the index "pop1" forcing overwrite and being verbose. - $ ./pr -ximages 'FP/prince.dat@prince/sword/*.bmp' + $ ./pr -eimages 'FP/prince.dat@prince/sword/*.bmp' This is to export all bitmaps from prince/sword directory to the images/prince/sword directory. - Note: the quotation marks '' are only to avoid wildcard expansion and - won't be need in win32 consoles. + Note: the quotation marks '' are only to avoid wildcard expansions and + won't be needed in win32 consoles. - $ ./pr -xfpdats FP + $ ./pr -efpdats FP - Exports all dat files in FP to fpdats directory. + Exports all DAT files in FP to fpdats directory. - $ ./pr -xfpdats FP -R + $ ./pr -efpdats FP -r The same, but looking into sub-directories. - $ ./pr -x FP/v*.dat + $ ./pr -e FP/v*.DAT - Exports to the current folder all dat files in FP whose name starts with v. + Exports to the current folder all DAT files in FP whose name starts with v. Note: Only works in shells with wildcard expansion support. - $ ./pr -ximg FP/prince.dat FP/pv.dat + $ ./pr -eimg FP/prince.dat FP/pv.dat Exports to img the content of both files prince.dat and pv.dat located at the folder FP. @@ -145,58 +146,55 @@ Binary: Imports back to (updates) FP/prince.dat only the resource 161 located in the directory img. - $ ./pr -z7 -ximg 'FP/prince.dat@prince/sword/*.bmp' + $ ./pr -z7 -iimg 'FP/prince.dat@/prince/sword/*.bmp' - Updates FP/prince.dat with the current bmp resources in img/prince/sword using compression - level 7 (slow but very effective). + Updates the current bmp resources in img/prince/sword into the DAT file FP/prince.dat + using compression level 7 (slow but very effective). - $ ./pr -ximages 'FP/vdungeon.dat@vdungeon/chopper/frame*.bmp,vdungeon/spikes/frame01.bmp,1310' + $ ./pr -ximages 'FP/vdungeon.dat@/vdungeon/chopper/frame*.bmp,/vdungeon/spikes/frame01.bmp,1310' Exports to images folder the resources matching with vdungeon/chopper/frame*.bmp, the resource vdungeon/spikes/frame01.bmp and the resource number 1310. - $ ./pr -xpop2 pop2/bird.dat@bird/long_jump/frame06.bmp,751:pahs -v -f + $ ./pr -xpop2 pop2/bird.dat@/bird/long_jump/frame06.bmp,751:shape -v -f - Exports the file bird/long_jump/frame06.bmp and the resource 751 indexed in "pahs" from + Exports the file bird/long_jump/frame06.bmp and the resource 751 indexed in "shap" from pop2/bird.dat to the pop2 folder. $ ./pr --xml-optimize=test/resources.xml - Optimizes the file test/resources.xml and: - - adds doctype - - indents tags and arrange line separation - - reduces file size by eliminating inheritable attributes - - removes comments + Optimizes the file test/resources.xml performing the following tasks: + - add doctype declaration + - indent tags and arrange line separation + - reduce file size deleting inheritable attributes + - remove comments + + $ ./pr --unknown prince2 + + Reads all DAT information from the prince2 directory and then creates + the file unknown/unknown.xml and fills it with the items that were not + inside the resources.xml file. 4) Requirements Approximately 25Mb in RAM are required for a normal full directory task - Recomended: + Recommended: AMD K6-II at 350Mhz or higher 32 Mb RAM - Benchmark results: + Benchmark results: Performed on an AMD Athlon(tm) XP 2000+ with 1667.022 MHz - The file tested was the original vdungeon.dat, sized 14220 bytes - - Normal benchmark results: - Compression level 1. Size 38031 bytes. Time 0.028137 seconds. - Compression level 2. Size 23756 bytes. Time 0.031273 seconds. - Compression level 3. Size 15912 bytes. Time 0.031836 seconds. - Compression level 4. Size 12519 bytes. Time 0.066246 seconds. - Compression level 5. Size 11347 bytes. Time 0.087975 seconds. - Compression level 6. Size 11218 bytes. Time 1.506183 seconds. - Compression level 7. Size 10932 bytes. Time 2.916612 seconds. - - Benchamrk using valgrind: - Compression level 1. Size 38031 bytes. Time 1.239898 seconds. - Compression level 2. Size 23756 bytes. Time 1.244662 seconds. - Compression level 3. Size 15912 bytes. Time 1.305006 seconds. - Compression level 4. Size 12519 bytes. Time 2.251174 seconds. - Compression level 5. Size 11347 bytes. Time 2.908357 seconds. - Compression level 6. Size 11218 bytes. Time 73.004200 seconds. - Compression level 7. Size 10932 bytes. Time 144.786515 seconds. + The file tested was the original vdungeon.dat, sized 14220 bytes + + Normal benchmark results: + Compression level 1. Size 38031 bytes. Time 0.028137 seconds. + Compression level 2. Size 23756 bytes. Time 0.031273 seconds. + Compression level 3. Size 15912 bytes. Time 0.031836 seconds. + Compression level 4. Size 12519 bytes. Time 0.066246 seconds. + Compression level 5. Size 11347 bytes. Time 0.087975 seconds. + Compression level 6. Size 11218 bytes. Time 1.506183 seconds. + Compression level 7. Size 10932 bytes. Time 2.916612 seconds. 5) Credits @@ -204,12 +202,12 @@ Binary: Enrique Calot Coding Assistant - Santiago Zamora + Santiago Benito-Zamora Graphic compression algorithms Tammo Jan Dijkema Enrique Calot - Diego Essaya + Diego Essaya Graphic format development Tammo Jan Dijkema @@ -224,13 +222,13 @@ Binary: Type pr --version to see translation credits for an specific language Pr is also using some GPL compatible and GPL components made by -\xabKevlin Henney\xbb (dirent stucture port for windows) and \xabthe Free Software +\xabKevlin Henney\xbb (dirent structure port for windows) and \xabthe Free Software Foundation, Inc.\xbb (getopt parsing functions ports). Special thanks to: - the authors of Valgrind and GDB for the great debugging features. - - the authors of GCC and LCC for making excelent free compilers. + - the authors of GCC and LCC for making excellent free compilers. - SourceForge.net for the home page hosting and the development - enviornment provided. + environment provided. - Lugfi for all the support. Please enjoy using Princed Resource Editor!