Spellcross - *.FS archivy


   Většina dat, které Spellcross používá jsou zabaleny do jednoduchých archivů s příponou *.FS. Ty jsou jednak na CD a pak samozřejmě ve adresáři "DATA" nainstalované hry. Formát všech archivů je identický, výjimku tvoří pouze archiv "INSTALL.DTA" na CD, který navíc podporuje podadresáře, ale jinak má dost podobný formát.
   Formát archivů je dost triviální:

Offset Délka Význam
0 4 Počet souborů archivu N
4 13 Soubor 0 - název zakončený '\0'
17 4 Soubor 0 - offset začáteku dat v archivu [B]
21 4 Soubor 0 - délka souboru [B]
25 13 Soubor 1 - název zakončený '\0'
38 4 Soubor 1 - offset začáteku dat v archivu [B]
42 4 Soubor 1 - délka [B]
?+0 13 Soubor ... - název zakončený '\0'
?+13 4 Soubor ... - offset začáteku dat v archivu [B]
?+13+4 4 Soubor ... - délka [B]
4+(N-1)*(13+4+4) 13 Soubor N-1 - název zakončený '\0'
4+(N-1)*(13+4+4)+13 4 Soubor N-1 ... - offset začáteku dat v archivu [B]
4+(N-1)*(13+4+4)+13+4 4 Soubor N-1 ... - délka [B]
4+N*(13+4+4) ? Začátek datové oblasti (data souboru 0)

   Napsal jsem tedy jednoduché utilitky k jejich rozbalení a opětovnému zabalení. Jejich detailní popis je uveden v helpu k nim. Dearchivátor "spell_extractfs.exe" rozbalí *.FS archiv a uloží jeho obsah do podadredresáře "data/jméno_archivu". Navíc se vygeneruje soubor *.lst s počtem a seznamem robalených souborů (do stejného adresáře, kde je archiv).
   Archivátor "spell_makefs.exe" pro změnu zase umí zabalit buďto obsah zvoleného adresáře nebo soubory ze seznamu *.lst do archivu *.FS. Pokud chcete přibalit do archivu něco, co tam původně nebylo, tak je především třeba dodržet pravidla pro DOSovská jména. Spellcrossácké archivy totiž umí uložit pouze klasický název DOS 8.3. Pokud něco přidáte, tak je jednodušší archivovat adresář, než soubor *.lst - do toho by bylo třeba nejdřív připsat cestu k novému souboru a změnit ručně počet.

Dearchivátor ke stažení: spell_extractfs.zip
Archivátor ke stažení: spell_makefs.zip

   K oběma utilitkám je navíc přibaleno pár skriptů *.bat, které podstatně usnadňují užití konzolových utilitek uživatelům, kteří nezažili dobu DOSu a tudíž nemají ani ponětí o příkazovém řádku. :-) Všechny soubory (*.exe i *.bat) doporučuji nakopírovat do adresáře vaší instalace (třeba "C:\HRY\SPELCROS\DATA"). Pro rozbalení všech archivů pak stačí spustit "spell_extractfs_all.bat" bez parametrů. Pro opětovnou archivaci jednotlivých archivů pak některý z "make_názevarchivu.bat" souborů opět bez parametru.

   Na závěr bych ještě doplnil, že většina změn v archivech se neprojeví ihned, ale až se začátkem nové úrovně hry nebo někdy dokonce až po započetí nové hry! Navíc má Spellcross jednu dost nepříjemnou vlastnost, a to kontrolu archivů ve vaší instalaci s jejich originálem na CD (ty jsou zabaleny v archivu "INSTALL.DTA"). Proto není od věci se tohoto souboru zbavit. Kupodivu si Spellcross nestěžuje, když ho na CD, resp. na tom, co mu jako CD podstrčíte, vůbec nenajde, takže stačí přejmenovat ...


(c) 2011, Stanislav Mašláň - Všechna práva vyhrazena.

Poslední aktualizace: 22.6.2011