1.5.1@20110502.0 "Cleaning" (sck.jar.size=1739ko) * sck: remove db/strings for dungeons as already necessary inside the extra pack -> space disk space, easier maintenance * sck: remove unneeded db/map/xxx_lite.map files -> space disk space, easier maintenance * sck: remove some obsolete classes -> space disk space, easier maintenance * sck: gui: fix NullPointerException for 3 windows * sck: gui: add default path for animation play * sck: gui: add default path for dungeon play * sck: mydc: add -dungeon parameter allowing to load any dungeon to "play" it 1.5.0@20110426.0 "Savegame" (sck.jar.size=1897ko) * sck: extract: add character protection when reading mapfile to prevent file creation error. * sck: extract: DM2: use SNDA SPR1 format for TY02 item (sound) inside DM2 PC-9821 * sck: extract: DM2: use SND9 SPR1 format for TY02 item (sound) inside DM2 PC beta * sck: extract: CSBWin: specific file csbgraphics.dat was no more extractable (regression). => fixed, using improved CMP item format instead of the buggy IMG5. => all CSBWin images stored inside csbgraphics.dat are either BMP (viewport overlay, portrait) or Atari planar format. - support Conflux III B5 (WALLDEC) - support Conflux III B6 (with new FLOORDEC) * sck: dungeon: can now compress dungeon java -jar sck.jar compressDungeon [-outputdir ] [-word ] * sck: extract: handle FTL and CSBWin savegame - using CSBWin source code explanation - using Encyclopaedia Savegame spec (DEC-2010 update) - new formats found! nofill91, Portrait=CMP, IMG6 or IMG6LH - support up to CSBWin 11.56 - support all releases on all platforms (Amiga, Atari, FM-Towns, PC-9801, PC-9821, X68000, Apple2GS, PC) - support initial ftl savegames and user savegames - support custom savegames: DM Alternate Double hard dungeon for CSB Halk gonzo barbarian Ian test 2 Mazarbul Parlous dungeon Poison The lost scrolls 0.11 The lost scrolls 0.12 * sck: launcher: write a basic user interface to increase features accessibility it is the default launched java class now if nothing is specified java -jar sck.jar * sck: extract: add support for custom dungeons: The Tower of Chaos 3.2 The Tower of Chaos 3.3 Ornate test dungeon 1.4.4@20101129.0 "DM2 cleaning" * sck: extract: extract and convert all DM2 releases. * sck: extract: fix DM2 Mac by using SND7 instead of SND5. * sck: extract: add draft mapfile for DM Atari teaser demo. 1.4.3@20100529.0 "protection" * sck: extract: add extraction for COD1 item format. csb atari gd map updated with COD1 dm amiga gd maps (3) updated with COD1 dm atari gd map updated with COD1 * sck: new game releases supported: DM Amiga 2.1 (en), DM Amiga 2.2 (en) => 4 new files found! graphics.dat B35931B55DB649A1BD2D415B61B29801 (use mapfile from dmweb) swoosh 658DB79C6BB87F3AB09EB7005CD91313 (new mapfile created) Dungeon.dat DDF7C830869DB312E23716122A39A403 (only 2.2) DungeonB.dat 09F98E1173A9CDFE51DC088A5CF1223F 1.4.2@20100423.0 "DM2 PC 1.0 (fr)/(ge)/(demo) graphics.dat" * sck: extract: rename new items IMG3,4,7,8 = C4 IMG9 = C8, little IMG10 = C8, big IMG11 = U8, little IMG12 = U8, big IMG13 = U4, little IMG14 = U4, big * sck: extract: use "automatic" mapfile descriptions for the internal sck mapfiles of DM2 PC 1.0 (fr),(ge) and (demo) graphics.dat. IMG13 is also used here (not found in "en" version), along with IMG3, IMG9, IMG11. DM2 PC 1.0 (fr), (ge) and (demo) graphics.dat decoding are nearly ok now. * sck: extract: DM2 Mac extraction is ok also. * sck: extract: SND9 is currently for DM snes for used for DM2 FM-Towns by dm&csb web. so, SND9 is renamed SND10 here. SND9 and SNDA(=SND7 but little endian) decoding need to be written. 1.4.2@20100422.0 "DM2 PC 1.0 (en) graphics.dat" * sck: extract: add IMG10 item format to handle U8 kentaro format, which is: 1 word = width & 0x01FF 1 word = height & 0x01FF (most significant bit is sometimes = 1) 1 word = bpp = 8 1 word = width & 0x01FF 1 word = height & 0x01FF content is 8bpp uncompressed so direct pixels: width*height bytes for width*height pixels => 4 images are IMG10 for DM2 PC 1.0 (en) graphics.dat * sck: extract: SND5 and SND6 decoding were broken => it is now fixed. * sck: extract: use "automatic" mapfile descriptions for the internal sck mapfile of DM2 PC 1.0 (en) graphics.dat. Question: is the unknown 16 bytes palette a "default suffix palette" for 8bpp items (IMG9,IMG10)? DM2 PC 1.0 (en) graphics.dat decoding is nearly ok now. 1.4.1@20100421.0 "DM2 SegaCD (en/jp) graphics.dat" * sck: extract: DM2 SegaCD graphics.dat has the same palette for scene 1 and scene 5. so, corresponding mapfile has been modified accordingly. * sck: extract: SND7 decoding was broken => it is now fixed and used for DM2 SegaCD graphics.dat. * sck: extract: use "automatic" mapfile descriptions for the internal sck mapfile of DM2 S/MegaCD graphics.dat. DM2 SegaCD (en) graphics.dat decoding is nearly ok now. DM2 MegaCD (jp) graphics.dat decoding is nearly ok now. 1.4.0@20100418.0 "DM2 Amiga graphics.dat" * sck: extract: handle IMCP (IMage ComPosition) item, found in DM2. it allows to automatically understand how to compose images. * sck: extract: improve extraction algorithm to deal with item which need another one which is not yet decoded. so, sort of "decoding loop" (already existing) has been improved to loop as many times as necessary. fix also the existing "decoding loop" for images. it allows to automatically decode composed images, as seen in DM2. * sck: extract: handle DM2 amiga palettes as P8B1,COLORS=96&IGNOREINDEX=1 => create new format P8B3? => add all PxBy formats to dm&csb encyclopaedia formats references? * sck: extract: add new mapfile property: IGNORE_POSTPAL (0|1) it allows to dump (or not) post palette of DM2 image items. for DM2 Amiga for example, such post palettes exist but seem to be unused: so, no need to dump them. Mapfile format specification is incremented. * sck: extract: rewrite 50% of the internal engine used to decode mapfile properties it allows to use any "common" type property like IMG1.PAL=PAL1 in the mapfile header. So, such properties are no more hard-coded. it is a pre-requisite to be able to read properties specification from a file, instead of relying on hard-coded one. Future modification of the properties specification will be easier. * sck: extract: ALL.= is no allowed in the mapfile header, in order to enable a property value for all items supporting this property, using only one definition in the header. it is currently used to easily add ENT property to all DM2 items. Mapfile format specification is incremented. * sck: extract: automatically build mapfile from DM2 entries for types identification. it can be enabled by using the -mapfile_type new parameter. * sck: extract: automatically build mapfile descriptions from DM2 entries. it can be enabled by using the -mapfile_desc new parameter. * sck: extract: add and decode new item format: STAT it allows to handle DM2 champions statistics as xml file, and avoid some TY08 items. 1 word for basic skills, 16 words for hidden skills = 52 bytes. * sck: extract: add new item formats and decoding algorithms for DM2: LST1, LST2, CMD1 LST1: items list LST2: creatures list CMD1: weapon/champion command/action/spell * sck: extract: use automatic mapfile descriptions for the internal sck mapfile of DM2 amiga graphics.dat. DM2 Amiga graphics.dat decoding is nearly ok now. Thanks to Kentaro for the huge amount of help, discussions and docs provided! 1.3.1@20100316.0 "Another FTL file" * sck: extract: IMG6, IMG7, IMG8 types (DM2) are now partially supported. note that the extraction of lots of these items seem to be broken. * sck: extract: add DM2 mapfiles written by Christophe Amiga, FM-Towns, IBM PS/V, Mac (en), Mac demo (en), PC-9801, PC-9821, PC 1.0 (en), PC 1.0 (fr), PC 1.0 (ge), PC demo (en), MegaCD (jp), SegaCD (en) ...even if just a few little number of items are extractable yet. * sck: extract: fix minor typo error in xml extraction of I559 fix xml syntax to be fully xml compliant change door "porticullis" name to "portcullis" fix delta_x, delta_y values to be signed instead of unsigned integer fix cloth weight, weapon weight and misc weight to be float instead of rounded to an integer (often 0, wrongly) thanks again to Christophe to highlight me all these points. * sck: extract: minor changes for dm_snes_en.map, dm_snes_jp.map, dm_snes_jp_11.map based on Christophe's last work. * sck: extract: CSB Atari 2.x switch.dat file is now extractable it uses the "FTL" format, like a lot of *.ftl files for Amiga it uses two new Hunk types inside: 0020, 0030 the mapfile included in the sck specifies one item per mapable Hunk. as the Hunks size are already specified in the FTL header, there is no need to add the size of each item in this mapfile, resulting in a simpler mapfile. the original mapfile, managed as a standard binary, as been written by Christophe Fontanel, and provides the items identification. Thanks! note that the first RAW Hunk indicates: - a copyright notice - the id of each little image to display when clicking on the different parts of the menu - the upper left (x,Y) coordinates for each of them - the *.FTL file to launch for each of them - and other unknown data 1.3@20100308.0 "little bit of DM2" * sck: extract: IMG9 type (DM2) is now partially supported. note that the extraction of lots of these items seems to be broken. * sck: extract: TXT3 type (DM2) is now partially supported (PC-9801 is not working yet). * sck: extract: fix minor extraction error for I558 item in CSB Atari and DM Amiga. * sck: extract: update mapfile for CSB Atari and DM Amiga to add I558 and I559 items. 1.3@20100228.0 "Animation map" * sck: extract: handle now animation file type as a mapable resource (with a virtual mapfile built at runtime), allowing to specify different sample rates by platforms and sound types * sck: view: standalone animation viewer supports now XA items * sck: view/extract: DM2 Sega big animation files are now fully supported, with additional memory for the java heap space java -Xmx256m -jar sck.jar view "TITLE.DAT" * sck: extract: - rename TXT3 item format to TXTS (S = snes) as map file for DMII from dmweb use this id for DMII texts - protect width and height for IMG1/2 and IMG3/4 items as some of them have crap data in the higher bits => DMII PC (en) is now extracted without crash, even if ENT1, IMG9 and TXT3 are extracted only as binary data 1.3@20100102.0 "Return to sck 2" * sck: 'extract' and 'view' utilities tested with a majority of the known animation files, with success! * sck: extract: support of animation files improved FS, GD, SD with all known internal sound formats (SND2, SND3, SND4, SNDS), TD with track and graphics.dat reference note that CD-ROM tracks must be dumped as ".wav" in the same directory => only wav is supported, not mp3 nor ogg. * sck: view: standalone animation viewer supports all items extracted by 'extract' utility one exception: XA, which seems to be bugged 1.3@20091221.0 "Return to sck" * sck: ui: allow to view images * sck: extract: up-to-date extraction of item 559 versus spec "Mon, 2008-08-11 21:48" from dm&csb encyclopaedia * sck: extract: partial decoding of item 558 to have at least monsters custom colors 9, 10 and transparency but colors and transparency are not yet applied on monsters images * sck: extract: partially support animation files! they are exported as xml and txt files, with all corresponding images, palettes and sounds done: AN, BN, BR, CU, DL, DO, EN, FO, MD, MF, MI, NE, P8, PL, SF, SO, TD, TR, WA, XA todo: FS, GD, SD tested with DM Amiga 3.6 "TITL.DAT" animation, with success * sck: view: new utility ('view') added in the sck used as a standalone rendering engine for animation files usage: java -jar sck.jar view "TITLE.DAT" note that this is a very preliminary try, only able to understand AN, PL, EN, DL tested ONLY with DM Amiga 3.6 "TITL.DAT" animation, with success * sck: extract: animation file extraction tested with "CSB Amiga 3.3 fr" ANIM.DAT. Warning: java must be called with the parameter "-Xmx256m" to increase the available memory for the heap, as it is a very long animation, with plenty of DL items. Note: SF, MF, MI, SD are decoded but not played by the "view" utility. 1.2@20081028.0 "CSBWin extraction final" * sck: extract: dungeon: fix EDBT_DeleteDuplicateTimers decoding when this item seems to be corrupted (C_Shadow Shepherd - CSBWin - R1 (en) [TyGuy6]) * sck: extract: add support for dungeon maps, graphics and strings from "Shadow Shepherd - CSBWin - R1 (en) [TyGuy6]" * sck: extract: add support for dungeon maps, graphics and strings from "The Tower of Chaos - CSBWin - 3.0 (en) [PaulH]" * sck: extract: add support for "Imprisoned Again - CSBWin - 1.x (en) [sucinum]" * sck: extract: add support for "Teleporter Puzzle - CSBWin - (en) [PaulStevens]" * sck: extract: add support for "The Black Flame - CSBWin - 2.00 - (en) [PaulH]" * sck: extract: add support for "The Prison of Dragoth - CSBWin - 1.4 (en) [sucinum]" * sck: extract: add support for "The Tower of Chaos - CSBWin - 3.x (en) [PaulH]" * sck: extract: add support for "Theron's Quest Conversion - CSBWin - (en) [Sphenx]" * sck: extract: add support for "Traps and Monsters - CSBWin - 2.2 (en) [TyGuy6]" * sck: extract: add support for "Well of Fortune - CSBWin - 1.2 (en) [Zed5Duke]" * sck: extract: add support for "Well of Fortune - CSBWin - 2.0 (en) [Zed5Duke]" 1.2@20080930.0 "Black Crypt first try" * sck: extract: begin to extract some items from the Amiga game "Black Crypt" => add new image type IMGEHB to handle the Extra HalfBrite special mode used in this game, allowing to have 64 colors from a 32 colors palette. Next 32 colors are the first 32 with half the brightness. => re-use IMG5 for the Raven first Logo image. => palettes not yet found, so hard-coded one are used. => all musics (med format) have been identified and can be extracted, in native Amiga format only. * sck: extract: add support for JASC Paint Shop Pro palette format, more frequently used in modern software than the Microsoft RIFF palette format initially supported. => hard-coded palettes can use now JASC format and palettes are extracted in MS and JASC. 1.2@20080925.0 "CSBWin extraction" * sck: extract: add support for dungeon maps and graphics from "3D Maze - CSBWin - (en) [PaulStevens]" * sck: extract: add support for dungeon maps and graphics from "5D Maze - CSBWin - (en) [PaulStevens]" * sck: extract: add support for dungeon maps and strings from "Angel's Egg - CSBWin - (en) [Des]" * sck: extract: add support for dungeon maps, csbgraphics and strings from "Conflux II - CSBWin - j (en) [Zyx]" * sck: extract: add support for dungeon maps, csbgraphics and strings from "C_Conflux III - CSBWin - BugFix3 (en) [Zyx]" * sck: extract: add support for dungeon maps, csbgraphics and strings from "C_Conflux III - CSBWin - BugFix4 (en) [Zyx]" * sck: extract: add support for dungeon maps, csbgraphics and strings from "C_Conflux III - CSBWin - BugFix5 (en) [Zyx]" * sck: extract: add support for dungeon maps from "C_Dungeon Master 1.5 - CSBWin - (en) [Sousou]" * sck: extract: fix csbwin dungeon.dat extraction to handle dungeons without big actuators (ex: Conflux II). * sck: extract: improve dungeon.dat extraction to add user-friendly items name inside tiles. => help to debug item 559 decoding. 1.2@20080910.0 "preparation for item 559" * sck: extract: prepare graphics.dat item 559 extraction Door characteristics: non-material cannot pass is inverted in ADGE? MonsterDroppings: weapon index = byte-23 and NOT direct number => fix needed in meynaf spec strings_file: empty cloth item with index 0 is an error; only 58 clothes required. => strings file (csb, dm, tq) updated strings_file: no misc entry 41 is an error; only 53 clothes required, even if item 559 allocate 54 entries for them. => strings file (csb, dm, tq) updated * sck: extract: extend the "strings" file support for all items, not only dungeon. (reminder: this strings file allows to specify items names) it's now used also for graphics.dat, item 559. it is also possible to externally specify a custom strings file or to specify a strings file embedded inside the sck, using the "-strings" parameter. => usefull if you have modified a graphics.dat, preventing the sck to recognize it. * sck: extract: fix a very annoying bug in the LZW decompression algorithm -> item 559 extraction was previously corrupted 1.1@20080821.0 "CSBWin support" * sck: fix dungeon.xml to re-add miscellaneous item on tiles * sck: fix Atari pak file decompression * sck: add creature possessions in any extracted dungeon.xml * sckExtraPack: add creature possessions in any html dungeon * sckExtraPack: remove a useless javascript alert in html dungeon * sck: extract: full support for CSBWin resources (CSBGraphics and customized dungeon.dat) -> Add item type CW_BGDDECWALL for CSBWin Background wall decoration -> Add item type CW_BGDDECFLOOR for CSBWin Background floor decoration -> Add item type CW_WALLDEC for CSBWin extended wall decoration -> decode nearly all csbwin specific features inside dungeon.dat (ignoring DSA programs) CSBWin CSBGraphics.dat extraction: java -jar sck.jar extract CSBGraphics.dat CSBWin dungeon.dat extraction: java -jar sck.jar extract dungeon.dat It has been successfully tested with ConfluxIII. 1.1@20080426.0 "CSBGraphics" * sck: begin to support the "CSBGraphics" resource, which an extended "graphics.dat" used by CSBWin. -> Add new resource type "CSBGRAPHICS" with is a MapableResource with embedded mapfile -> Add item type CW_AMG for CSBWin AlternateMonsterGraphics items (graphics = Atari bit-plan image format, decoded using IMG5 customization) -> Add item type CW_SND for CSBWin Sound items (format: WAV completly encoded using DPCM) -> Add item type BMP for CSBWin Portait items and ViewportOverlay items (format = strict BMP) -> Add item type CW_BGDDEF for CSBWin Background first item -> Add item type CW_BGDGRAPH for CSBWin Background graphic items (graphics = Atari bit-plan image format, decoded using IMG5 customization) -> Add item type CW_BGDMASK for CSBWin Background mask items (graphics = Atari bit-plan image format, decoded using IMG5 customization) -> Add item type P5B3 for CSBWin OverlayPalette items (each color component on 5 bits, max index = 31, number of colors = 512) 1.0@20080406.0 "ALL DMPC Custom dungeons" * web: add custom dungeon "Well of Fortune (Survival Art) for CSBWin 2.00 (en) [Zed5Duke]" * web: add custom dungeon "Well of Fortune (Dagoth Crypt) for CSBWin 1.20 (en) [Zed5Duke]" * web: add custom dungeon "The Tower of Chaos for CSBWin 3.1 (en) [PaulH]" => not in dmweb custom dungeons list * web: add custom dungeon "The Black Flame for CSBWin (en) [PaulH]" => not in dmweb custom dungeons list * web: add custom dungeon "Angel's Egg for CSBWin (en) [Des]" => not in dmweb custom dungeons list * web: add custom dungeon "Conflux II for CSBWin j (en) [Zyx]" * web: add custom dungeon "Traps and Monsters for CSBWin 2.2 (en) [TyGuy6]" * web: add custom dungeon "Conflux III for CSBWin (en) [Zyx]" => only graphics.dat as sck only extract regular DM/CSB data * sck: update dm_atari_en_gd.map to use new sck-embedded palettes. * web: add custom dungeon "Dungeon Master Plus for DM PC (en) [Ian]" => not in dmweb custom dungeons list * web: add custom dungeon "The Core for DM PC (en) [Toni]" => not in dmweb custom dungeons list * web: add custom dungeon "CSB! for DM PC (en) [George]" * web: add custom dungeon "First test dungeon for DM PC (en) [Daniel]" * web: add custom dungeon "Conan and the Mountain of Tor Al'Kiir for DM PC (en) [Daniel]" * web: add custom dungeon "Dungeon Master 2 Legend of Skullkeep for DM PC (en) [Toni]" * web: add custom dungeon "Kid dungeon for DM PC (en) [Ian]" * web: add custom dungeon "Return of Chaos for DM PC (en) [Toni]" * web: add custom dungeon "Bennis dungeon I for DM PC (en) [sucinum]" * web: add custom dungeon "Bennis dungeon II for DM PC (en) [sucinum]" * web: add custom dungeon "Enfers for DM PC (en) [Zyx]" * web: add custom dungeon "The grave of King Millias for DM PC (en) [Toni]" * web: add custom dungeon "Chaos Strikes Back Prison for DM PC (en) [Sphenx]" * web: add custom dungeon "Venture deeper in the Prison for DM PC (en) [Sphenx]" => adapt CSB graphics for DM PC => add in the sck palettes for CSB (TITLE, ENTRANCE, CREDITS) * web: add custom dungeon "Dust and Blood for DM PC (en) [Alpha]" * web: add custom dungeon "Conflux for DM PC (en) [Zyx]" => interesting maps with one word hidden in the layout of each map * web: add custom dungeon "Beastmaster for DM PC (en) [RobikZ]" * web: add custom dungeon "Diablo dungeon for DM PC (en) [RobikZ]" * web: add custom dungeon "Small demo dungeon for DM PC (en) [Sphenx]" * web: add custom dungeon "The Tomb of the Firestaff for DM PC (en) [PaulH]" => like the previous custom dungeon, there are some wrong items associations. * web: add custom dungeon "The Prisoner for DM PC (en) [Alpha]" => like the previous custom dungeon, there are some wrong items associations. * web: add custom dungeon "The Tomb of King Hissssa for DM PC (en) [Florian]" => add sck new internal checks to decode dungeon as there are 5 wrong item ids specified in this custom dungeon. => first custom dungeon with 16 maps inside, instead of the classical 14 maps! * web: add custom dungeon "The Black Flame for DM PC (en) [PaulH]" * web: add custom dungeon "Kid Dungeon for DM PC (en) [Gambit]" * web: add custom dungeon "Team Dungeon for DM PC (en) [Collective work]" * extra: reduce size of dungeon map.html (20%) * extra: reduce loading time of dungeon map.html (/5) to be handle to handle the special "Team Dungeon map 7" (with hundreds of teleporters) * sck: add palette for DM graphics.dat interface items (TITLE, ENTRANCE, CREDITS) directly inside sck * web: add custom dungeon "Mildew and Vinegar for DM PC 1.15 (en) [Zyx]" * web: add custom dungeon "The Prison of Dragoth for DM PC 1.3 (en) by sucinum" * web: add custom dungeon "The Tower of Chaos for DM PC (en) by PaulH" => lot of new and cool graphics inside! sckExtraPack 2.2@20080324.0 + web * web: add custom dungeon "Imprisoned Again for DM PC 1.4 (en) by sucinum" * web/extra: update dungeon maps summary to have a better look * web/extra: fix wrongly streched DM SNES images maps in graphics.dat => compute also new height * web/extra: DM SNES: some images are far from the legend => use vertical align = bottom * web/extra: pb of map x coordinates => fix for mapfile.xsl => all dungeons web generated again 1.0@20080321.0 "Custom dungeons" * imp: support dungeons and graphics.dat for a custom dungeon: "Theron's Quest Conversion for Dungeon Master PC by Sphenx" a specific file containing item names has been added to the sckExtraPack to be able to describe this custom dungeon: tq_sphenx_en.xml it can be selected by including, in the script used to decode an xml dungeon into a web dungeon, the following line: set DUNGEON_STRINGS="file:///%SCKEXTRA_PATH%\dungeon\strings\tq_sphenx_en.xml" * fix: decoding dungeon 4 of "Theron's Quest Conversion for Dungeon Master PC by Sphenx" generates a crash of the sck so, internal checks have been added to avoid such situations. 0.9@20080320.0 "csb releases" * add "CSB - Amiga - 3.5 (en) [original]" => new map file added to decode new appb.ftl (csb_amiga_35_appb.map) using specific MD5 id. => new graphics.dat MD5, using current "CSB - Amiga - 3.1 (en) [Crack Betrayal]" graphics.dat to be decoded. * modify "CSB - Amiga - 3.1 (en) [Crack Betrayal]" => 2 new item decoded: 2 palettes at the end of the old first raw data. => same palettes than "CSB - Amiga - 3.5 (en) [original]" * add "CSB - Amiga - 3.1 (en-fr-ge) [original A]" * rejected "CSB - Amiga - 3.1 (en-fr-ge) [original B]" => Note: for the B release, the KAOS.FTL checksum embedded in each FTL file is wrong. => so, it doesn't seem to be a really original release * rename "CSB - Amiga - (en) [Crack Betrayal]" in "CSB - Amiga - 3.1 (en) [Crack Betrayal]" * rename "CSB - Amiga - 3.1 (en-fr-ge)" in "CSB - Amiga - 3.1 (en-fr-ge) [Crack EndlessPiracy]" 0.9@20080116.0 "new year 2008" * imp: add auto-detection of unprintable XML characters inside hcsb.htc file, to deal with the badly written CSB Hint disk R2 (en). * imp: support a new DM flavor "Dungeon Master Amiga 2.0 (german) cracked by RainbowTrio" graphics.dat is the same than the 2.2 german release. swoosh is nearly identical to 2.0 french and 2.2 german release, but the MD5 is not the same. new MD5 supported: 916CB3CD462E7582D2A39C73E40B3339 * fix: now able to extract dungeon even there is no item on a "map column" (like the kid dungeon in DM amiga 2.2 german) * fix: extraction error fixed for the dungeon "DM atari 1.2 ge stx". * fix: reduce item 229376 by 8 bytes for "DM SNES 1.1 (jp) NTSC" mapfile as this item has not the same length than the one found in "DM SNES 1.0 (jp) NTSC". 0.9@20071003.0 "the marketing release - round 2" * imp: avoid an exception if no palette is found for some images. * imp: modify the info message when using hard-coded palette if the one specified in the mapfile is not available. * imp: add specific mapfile for the "CSB Amiga en (betrayal)" release, to specify that palettes must be taken from the APPB.FTL resource. * fix: remove garbage in the file "csb_amiga_utility_ge_APPB_FTL.map" which was responsible of an erroneous file extraction. * imp: add auto-detection of the iso-8859-1 charset (french, german) for the hcsb?.htc file to generate a correct xml file. 0.9@20070410.0 "the marketing release" * imp: to decode graphics.dat, external resource (file) must also be specified as some necessary palettes are located outside the graphics.dat. before: if no external resource is specified by the parameter "-external_resource =[,=]*", then error. now: sck tries to find a file named like the needed external resource in the same directory than the graphics.dat. => the behavior is implemented for all generic resources extractable by a mapfile. * imp: ftl output xml file have been modified to match the graphics.dat xml file. * imp: add graphics.Dat mapfile to support the "DM - Amiga - ported from DM Atari 1.2 by Meynaf" * fix: rewrite the SEQ1 and SEQ2 items export to wav. - able to select SND items from the mapfile - use the decoded sequence instead of the list of uniq SND items. 0.8@20070310.0 * imp: dungeon.dat format extraction => add DM2 scene names (map graphic style) => add preliminary support for DM2 texts as they can be: * text from dungeon.dat textdata zone * complex (?) * actuators (ornates, text from graphics.dat, actuator: monster generator, etc.) preliminary info have been taken from kentaro web site (thanks). 0.8@20070205.0 * imp: new data type (PALSEL) to store the palettes selection for group of tiles inside one images. => SNES items and champions graphics are now correctly decoded for jp 1.0, jp 1.1 and en 1.0. 0.8@20070204.0 * imp: 2 new items in the SNES jp mapfiles showing the location to find indexes to be used to decode some images with different palettes for each tile. 0.8@20070119.0 * fix: fix the mapfile to decode DM SNES jp NTSC 1.1 (different mapfile now from 1.0) * imp: dungeon.dat format from dmweb.free.fr is wrong for the creature part creatures two last bytes are in fact 1 word! (so, endian conversion must be done) 0.8@20070115.0 * imp: improve dungeon.dat extraction to xml and html => xml is complete now and html as much as possible => even random wall/floor decoration positions * imp: adapt the ROMDUNGEON item from the SNES ROM to be extract as a regular dungeon.dat. => scroll number 33 has a wrong text pointer in DM SNES 1.0 en! 0.8@20061204.0 * imp: improve dungeon.dat extraction to xml => add actuator items description for floor actuators and remaining wall actuators. 0.8@20061203.0 * imp: improve dungeon.dat extraction to xml => add actuator items description for wall actuator type 7 (missile), 8 (missile), 9 (missile), 10 (missile), 11 and 127 (champion). * imp: improve dungeon.xml -> html => add alcove, vi altar, champion, missile (dagger, fireball and poison) for wall actuators. 0.8@20061127.0 * imp: improve dungeon.dat extraction to xml => add actuator items common description for wall actuator type 1, 2, 3 and 4. * imp: improve dungeon.xml -> html => add fountain, lock and switch graphics for wall actuators type 1, 2, 3 and 4. => add text item on wall. 0.8@20061126.0 * imp: improve dungeon.dat extraction to xml => add items on each tile => add items in container items => add actuator items common description for wall actuator type 0 * imp: improve dungeon.xml -> html => images, xsl, css resources must now be located in the following directories: out/dungeon.xml out/html/resources/images/*.png out/html/resources/css/dungeon.css out/html/resources/styles/dungeon.xsl out/html/resources/xml2html.bat => resulting html will be generated in out/html/*.html => add support for door types: grate, wood, iron and ra. => add support for non-random fountain. => html compliant with Firefox 2 and IE 6. 0.8@20061121.0 * imp: handle little endian (and big endian) dungeon.dat. 0.8@20061120.0 * imp: updated dungeon.xsl to convert dungeon.xml -> dungeon.html => html: multiple outputs (one for each map + one for the dungeon) => html: less presentation tags as possible => html: support for stairs down/up north, west, south and east instead of just stairs down/up north and west. => html: preliminary support for the tag system to support items on tiles => html: add absolute and relative coordinates X and Y => xml: add relative coordinates X and Y * imp: new dungeon.css to present the dungeon.html * imp: java stylizer new parameter to specify the output directory to be used to create multiple outputs if necessary through xsl. 0.8@20061117.0 * imp: big endian (compressed or not, checksum or not) dungeon.dat extraction nearly complete. * imp: dungeon.dat -> dungeon.xml -> dungeon.html preliminary support => HTML with all maps, summary, legend, tiles, relative map offset, absolute map offset. not yet any items or fountain on tiles. 0.8@20060729.0 * imp:extract: begin to support the dungeon.dat file format! (objective: all versions, big or little endian, compressed or not, checksum or not) => a command shortcut has been added to easily manipulate dungeon file, based on the Pak command model: java -jar sck.jar uncompressDungeon [-outputdir ] => big and little endian files are supported. * imp:extract: PAK decompression can be easily invoked by a command shortcut => java -jar sck.jar uncompressPak [-outputdir ] 0.7@20060705.0 * fix:extract: PAK decompression has no more additional 00 bytes at the end. 0.7@20060618.0 * imp:extract: handle compressed formats (PAK, ZIP) in compressed formats, etc. => so, you can zip a PAK file and the extraction will remain ok. * imp:extract: handle Atari PAK format. => PAK format uses the same compression algorithm than the data part of the code Hunk of a FTL file (if beginning with 5223) => PAK format is handled as a Zip format: so, associated mapfile must describe the decompressed data of a PAK file. => to use it, you can create a simple mapfile with only one RAW item: ENDIAN=BIG,FORMAT=EXE 0001,RAW1,NULL,Unknown,, the Pak compression is automatically detected anhd processed, and then, the RAW item (which is in fact the whole file) is extracted. * imp:extract: support zipped file as resource. MD5, format and mapfile will use the first entry of the zip file. => it enables an easy way to handle packed file, in order to deal with Atari PAK format, Amiga LSD format (but I can't find any doc on this format specification... do you have one?), etc. LSD ids: "AUT$-LSD", "AUTO-LSD" => for Atari: Automation Packer V2.51 [Chunk packer, Amiga format] [Master Cruncher 3.0 based format] "LSD!", "LSD$" => for Atari: Automation Packer V2.31 [ST format] [Master Cruncher 3.0 based format] * fix:mapfiles: update items 999470 to 999476 from dm_snes_en.map and dm_snes_jp.map to use all needed palettes. * fix:mapfiles: 3 items 018156 in dm_snes_jp.map have now the correct offset. * fix:extract: SNES resources extraction was broken because of the 'external mapfiles' feature added in the previous release. 0.7@20060402.0 ----------- - SUMMARY - ----------- * FTL file format is now completely understood and implemented * New mapfiles to extract more items from a lot of FTL files * Mapfile can now use other mapfiles: necessary when a palette and the corresponding image are not in the same file * Palettes for graphics.dat items have been found for DM/CSB Amiga in KAOS.FTL * Palettes for *.ftl images have been found * Extracted graphics.dat/*.ftl images use now the correct palettes/colors * Palette animation (PALAN item) is now applied when corresponding image is extracted (ex: FTL logo in swoosh file) * CMP specification updated to use the in-game palette! ----------- - DETAILS - ----------- * imp:extract: improve support of *.FTL file format to: extract all hunks (jump, data, code). decrunch data area1 (hunk 11). decrunch code (hunk 12) if necessary. recompute the 4 checksums, which allow to manually edit these files to do tests or hacks. => the complete FTL specification has been written and implemented! * imp:extract: add new mapfiles for: ANIM.FTL APPA.FTL APPB.FTL CNFG.FTL CEDT.FTL KAOS.FTL (in-game palettes) SWOOSH.FTL VDEO.FTL graphics.dat (to add external palette reference from kaos.ftl) * imp:extract: as there are some palettes in KAOS.FTL file and that these palettes are used by items in the corresponding graphics.dat, sck extract is now able to cross-reference items between two mapfiles! sck extract command-line: extract -external_resource "=," -external_resource parameter can be used many times in the same call to references multiple external resources. ex: graphics.dat.map: ... 0005,IMG1,PAL=[KAOS.FTL]PAL_CREDITS,Interface - Credits,, KAOS.FTL.map: ... 0002,P4B2,ID=PAL_CREDITS,Palette for Credits,, sck extract command-line: extract -external_resource "KAOS.FTL=C:\Temp\DungeonMaster\KAOS.FTL,C:\Temp\DungeonMaster\KAOS.FTL.map" "C:\Temp\DungeonMaster\Graphics.dat" if KAOS.FTL mapfile is an internal mapfile or if there is a KAOS.FTL.map file in the same directory, then sck extract command-line: extract -external_resource "KAOS.FTL=C:\Temp\DungeonMaster\KAOS.FTL" "C:\Temp\DungeonMaster\Graphics.dat" if KAOS.FTL resource has id = name, in the same directory, then sck extract command-line: extract -external_resource "KAOS.FTL" "C:\Temp\DungeonMaster\Graphics.dat" * imp:extract: add new item type P8B1 to handle palette using 4 bytes by colors (index, R, G, B) and 16 colors. => used in some *.FTL files. * imp:extract: apply PALAN (palette animation item) to extracted image to have the final colors => swoosh uses an initial black palette and a palan => swoosh extracted image is now perfect * imp:extract: found a bug in the DMCSBweb CMP specification: algorithm and RBG values. => fix the code + palette => CMP files doesn't use anymore a different palette than the one in the game! * fix:extract: detect LSD compressed files as unknown format instead of FTL * fix:extract: extracted DM/CSB RAW1 items (558-562) were corrupted * fix:resmapui: if extraction process is needed first, resmapui is now correctly displayed (broken in 0.6@20051219.0+). * imp:ui: for SettingsLeafPath with a value, use it at the startup directory for the associated files browser * imp:ui: don't auto-open all bookmark folders at startup * imp:ui: add a way to sort games * imp:ui: add a way to sort files * imp:ui: add a way to rename game * imp:ui: add "remember last add reference path" feature * imp:ui: add "remember last load reference map path" feature * imp:ui: add "properties" in context menu to display MD5 of a file * imp:ui: add support for external mapfiles inside a main mapfile * imp:ui: display MD5 when loading resource. 0.6@20060120.0 * fix:extract: SND1 extraction algorithm fixed => native 4bpp to wav 8bpp conversion was using a 16 factor instead of 17. => thanks to another reading of the "Encyclopaedia" technical documentation. 0.6@20060108.0 * imp:ui: add a preliminary user interface to extract datas from resources. * imp:extract: add new parameter '-resmap' to enable resmap.xml file generation used by the resmapui command. * imp:extract: add new parameter '-tilemaps' to enable tilemaps.csv file generation. * imp:extract: add new parameter '-cleanoutputdir' to remove existing files before extracting items. * imp:extract: support of a new format: CMP = Portrait files of Champions used by the editor of the Chaos Strikes Back utility disk. => mapfile specification has a new available format: CMP 0.6@20051222.0 * imp:extract: rewrite some code to remove static variables usage and allow to do multiple resource extractions in the same java process. 0.6@20051219.0 * imp:extract: add support for DM Atari ST 1.2 ge original (from pasti image) check compatibility with CSB Atari ST 2.0 en original (from pasti image) check compatibility with CSB Atari ST 2.1 en original (from pasti image) check compatibility with DM Atari ST 1.2 en original (from pasti image) check compatibility with DM Atari ST 1.3 fr original (from pasti image) 0.6@20051218.0 * imp:extract: improve mapfile for GameBoy Advance game R-Type III (European release) with MD5 = FB85F8209FE4EA11E6578B11E8194546. => 1300 images (ROMIMG1) => 240 palettes (P5B1) 0.6@20051217.0 * imp:extract: add optional attribute COLORCHANGE for all images => it can be used more than one time on a specific image to set multiple color indexes modification, to handle transparency for example in case of a missing associated tilemap. => COLORCHANGE=;;; it will allow to use a custome 'transparency' color (not always black for example). if no rgb specified, use 0;0;0 = black. 0.6@20051214.0 - "GBA break" * imp:extract: add new experimental and optional attribute for ROMIMG1: REVERSEORDER with possible values: 0, 1. => ROMIMG1 with REVERSEORDER=1 is a 4bpp linear tiled reverse-order image. => reverse byte order on 4bits = invert high and low nibble = endianness on nibble it allows to decode images from GameBoy Advance game R-Type III (European release). => it is a proof of concept to show that this tool is not restricted to DM/CSB games. * imp:extract: add a small mapfile for GameBoy Advance game R-Type III (European release) with MD5 = FB85F8209FE4EA11E6578B11E8194546. => items found are ROMIMG1 images and corresponding P5B1 palettes. 0.6@20051212.0 * imp:extract: rewrite all images/tilemaps extraction infrastructure to use only one cleaner framework: => easier to maintain => less code => less bugs => all items get palettes, use tiles, etc; in the same way => less hacks (a lot was added in the previous releases, due to heavy researchs in a short time) => quicker extraction * imp:extract: tilemaps extraction has been optimized to be quicker and use less memory. => snes jp extraction time has been divided by 2.2! * imp:fix: change snes mapfile (en and jp) to use sub-palette 1 for image 999868 instead of sub-palette 4. * imp:fix: rewrite the way to access internal resources as mapfiles, xml files, etc. 0.5@20051123.0 * imp:extract: add long_description field in the mapfile format for compatibility purpose * imp:mapfiles: pack new snes mapfiles (cleaner, jp->us translation added) 0.5@20051102.0 * imp:md5: add a new module called md5 (like extract or resmapui). it allows to compute md5 of multiple files can be recursive inside a root directory can display corresponding files can identify only selected md5 can identify unknown md5 can exclude pattern (part of directory name) can sort results (by md5 or files) can redirect output in a file => this module is actually used in DM resources identification but it is a generic module. => usage will be soon extended. 0.5@20051012.0 * imp:extract: TILEMAP2JP can now: automatically compute SIZE attribute if the 2 last bytes are 00 00 (which is currently the case for all known TILEMAP2JP). automatically compute WIDTH attribute. use a default value (2) for HEIGHT attribute (which is currently the case for all known TILEMAP2JP). => Consequently, if you set the TILES by the global attributes, you can have only a NULL attribute for a TILEMAP2JP. 0.5@20051010.0 * fix:extract: item TILEMAP2JP uses a new algorithm to extract the bits used to select the tilesets. => only the 2 higher bits are taken: 0x01 = kanji, 0x10 = hiragana, 0x11 = katakana. 0.5@20051007.0 * imp:extract: add new item type TILEMAP2JP. it allows to decode japanese texts of the Dungeon Master snes release. => The initial work to find japanese texts in rom, to write them in japanese characters, to translate them in english and understand the item format has been done by kentaro-k.21! Thanks a lot! We are very pleased to closely work with him in the DM snes decoding task. 3 tilesets (ROMIMGx) must be used in the attributes to have access to kanji, hiragana and katakana japanese characters. the tilesets must be kanji (item 999483) first, then hiragana (item 999482), then katakana (item 999481), in this order. the tileset selection is automatically done for each character by the second byte (0x40 = kanji, 0x80 = hiragana or 0xC0 = katakana). the SIZE can include leading 00 00. the WIDTH and HEIGHT must be the one of the resulting image, in tiles. ex: 1 kanji: HEIGHT=2&WIDHT=2. => kanji uses 2x2 tiles. => hiragana and katakana uses 1x2 tiles. updated map files will be distributed with this tool when ready. 0.5@20051002.0 * imp:extract: after months of hard work, first public release of the map files for: Dungeon Master SNES JP 1.0 Dungeon Master SNES JP 1.1 Dungeon Master SNES US 1.0 Dungeon Master SNES EN 1.0 => Champagne! * imp:extract: add ability to have sub-maps inside a mapfiles (for TQ). * fix:extract: fix for palette code. 0.4@20051001.0 * imp:extract: rewrite all code to manage palettes. => less and clearer code, easier to add features in the future. => please, note that: PALS1 is now P5B1 PALS2 is now P5B2 PAL32 is removed PAL256 is removed PAL type has been added: it allows to decode all known palette types or more if necessary ex: P5B1 = PAL,COLORS=16&BYTESPERCOLOR=2&MAXINDEX=31&STORAGE=5BITS ex: P4B1 = PAL,COLORS=16&BYTESPERCOLOR=2&MAXINDEX=7&STORAGE=4BITS 0.4@20050920.0 * fix:extract: TILEMAPx items can be used now with "1 bit per pixel" ROMIMG (ex: ROMIMG6) => black and white default palette will be use if nothing specified. * imp:extract: add new item type TILEMAP1D. => TILEMAP1 with only even tile indexes specified. => odd indexes are automatically computed. 0.4@20050918.0 * fix:extract: palette selection is now working with 2bpp SNES images. * imp:extract: check more error in map file syntax. * imp:extract: more error messages with item index. 0.4@20050917.0 * fix:extract: use new algorithm to extract SPRITEMAP and SPRITEMAP2 to deal with pixels locations instead of tiles location. => see 'Copyrights' SPRITEMAP2 applied on TILES_MASTER tileset (snes rom). 0.4@20050916.0 * fix:extract: TILEMAP2 with width > 32 needs to be decoded as two tilemaps packed together (left part, then right part) => see 'Clouds' tilemap in snes rom. * imp:extract: new item types OFFSET3/OFFSET4 => list of rom offsets of items => useful to help decoding yet unknown items * imp:extract: item ROMCHAMPION (snes) is now only applicable on the statistics part of one champion in order to deal with the champion name encoded as TILEMAP1. * imp:extract: last bit of tile index for TILEMAP items is now used as transparency data. => if true, ignore tile and palette indexes (0) to select black color for the entire impacted tile. => is it the real snes behavior? I don't know yet but the extracted images are now beautiful :) 0.4@20050914.0 * imp:extract: add a check to detect and correct wrong number of values separated by comma for one item. * imp:extract: add item number in some warning/error messages to help the debug of a map file. * imp:extract: enable the use of ROMIMGx items outside the graphics.dat of the snes rom. 0.4@20050913.0 * imp:extract: decode new item type SPRITEMAP2. * imp:extract: improve decoding of 558 SNES item. 0.4@20050910.0 * imp:extract: list of tilemap2H/2H8 attributes in one big csv file (__tilemaps.csv). 0.4@20050909.0 * imp:extract: decode new item type SPRITEMAP. TILETYPE attribute values: 0 means 8x8 and 16x16 sprites 1 8x8 and 32x32 2 8x8 and 64x64 3 16x16 and 32x32 4 16x16 and 64x64 5 32x32 and 64x64 0.4@20050905.0 * imp:extract: TILEMAP1/2x must handle multiple tilesets to build only one image. * imp:extract: add new type TILEMAP2H8 (=TILEMAP2H with header on 8 bytes instead of 12). 0.4@20050904.0 * imp:finddelta: add a way to search in all files of a directory. => instead of a target binary file, you can now also use a target directory. * imp:finddelta: implement sprite tilemap format (TILEMAP4?) to see if one is used in SNES rom. => http://tuxnes.sourceforge.net/nestech100.txt "J. Sprites and SPR-RAM" * imp:extract: champions statistics are extracted with long names also. => use LONGNAMES attribute to have correct champions names. => use CHAMPIONS attribute to specify the number of champions to extract. 0.4@20050903.0 * imp:extract: the way tilemap and tiled image extraction work have changed. => tiled images are extracted without using a tilemap. => tilemap has two new properties (TILES to link image and PAL to link palette) and produce also the corresponding image. => it allows to have multiple final images bsed on the same tiles but different tilemaps. WARNING: TILEMAP property of ROMIMGx item will soon become obsolete. * fix:extract: some snes items using decompression type 3 have an uncompressed size with one more byte than specified in the header of the compressed corresponding data (ex: items 681 to 687, 689 to 692). => a new check has been added to correct the decompression algorithm. * fix:extract: SNES ROM item 688 (End credits text) shrinked! => tilemap used specifies some tile indexes > max available tile index in the associated tileset. => sck will display an error and switch to index 0. * imp:extract: add new property COMP for item TILEMAP1/2/2H to deal with snes compression type 3. => allowed values are 'SNES0', 'SNES1', 'SNES2', 'SNES3'. => remember that an item which is not in the snes 'graphics.dat' part must also have the SIZE property set. * imp:extract: snes tilemap2h csv output handles origin x and y with -1 values. * fix:extract: tilemap v_flip attribute is now working. 0.4@20050901.0 * imp:extract: add possibility to use TILEMAP1 as an item of the 'graphics.dat-like' of the SNES rom map file. 0.4@20050831.0 * fix:extract: ROMDUNGEON length in __resmap.xml is false. (40170 instead of 32768 (1 bank)). * fix:extract: add a check for too long items filename (crash windows explorer if > 260). * fix:resmapui: if a selected item is near the end of the last displayed virtual page, a new virtual page is loaded but selection is lost and text is scrolled at a bad location. * fix:resmapui: when loading a virtual page, if the last item begins in the previous page and ends in the next page and is selected, the selection highlighting is not done in the next page (only in the previous one). * fix:resmapui: unable to move cursor with arrows. * fix:resmapui: non-printable character 96 is handled in ascii view. * fix:resmapui: if currently selected item is splitted, highlighting must be removed. * fix:resmapui: if the description/comment of an item in the map view is modified and this item is splitted, this new description/comment is lost. 0.4@20050828.0 * fix: __resmap.xml file is now computed with correct offset. previously, items from 'graphics.dat' of the SNES rom can use padding bytes to go to the end of a bank. => these padding bytes were forgotten. * imp: add new item type TXT3 (for SNES US rom). 0.4@20050827.0 * fix: if specified size of a map item is > available bytes, a warning is generated with the correct size and only available bytes is extracted. * imp: TILEMAP item is now also extracted as csv (*.csv) format. csv format uses only tile index and comma to separate them. csv format allows to have an easier view of a tilemap. * imp: this releasenotes is created. * imp: add ROMDUNGEON item type to extract dungeon file from SNES rom with extension '.dgn'. two others item are extracted from the map item containing the dungeon file: *.ap1 = bytes available between: the end of the real first part of the compressed dungeon data and the end of the maximum of bytes available for the first part of the compressed dungeon data. *.ap2 = bytes available between: the end of the real second part of the compressed dungeon data and the end of the maximum of bytes available for the second part of the compressed dungeon data. * imp: add new property LINES for map item TXT2. Instead of using SIZE=, use now LINES= => it will allow to use shorter or longer line in a modified TXT2 item without any change in the map file.