VCMI installer

hey everybody,

i recently compiled and installed vcmi on my linux box by just issuing

./configure
make
make install

it all went fine and after i put the game data into /usr/local/share/vcmi the game worked fine.
(one could update/simplify README.linux)

now i wanted to see whether obtaining the required game files can be made simpler than installing heroes and wog using wine and came up with an extractor and creator of lod files written in python that i can use to patch H3bitmap.lod and H3sprite.lod with the files that i obtained from the wog install.
the lod files again i extracted from data1.cab using existing open source code.

while experimenting i saw that vcmi only needs the patched lod files and not all the other stuff wog puts in data so in the end all i put into /usr/local/share/vcmi is:

[ul]
the config directiory from vcmi
the content of the data directory from vcmi
the (patched) lod files from the cab archive
the maps folder with maps from the cab archive
the sprites folder from vcmi
the mp3 folder from the cab archive
[/ul]

with only that content i could play vcmi quite fine - do i miss anything?
that setup is imho much cleaner than having the full heroes directory with a lot of unused stuff (including all the wog files but they might be used somewhere in vcmi and i just didnt notice)

so now to my question:
would you guys welcome a gui based cross platform installer that, given the directory of the heroes3 complete cd and the wog zip, extracts files from the cabs and patches the lod archives putting everything vcmi needs either wherever the windows user extracted vcmi to or to /usr/local/share/vcmi for the linux user.
the advantage besides having a more clean data directory would be that one would not need to run the installer anymore and would not need wine in case of linux.
what is your opinion?

[EDIT]
i just rediscoverd a post by ubuntux where i learned that the wog files dont even have to be repacked into the original lod archives. one can keep the lod files in their original state and add all the necessary wog files to the Data/ and Sprites/ directories.

i figured that of all the files the only needed ones are the TXT files that go to Data/ and the MSK and DEF files that go to Sprites/. Additionally there are some BMP images that have to be converted to PCX prior to putting them into Data/

extracting the original data from the cab archives from the cd with open tools is no problem - the only problem that remains for me now is that the format used in the rar archives of the wog installer is not readable by any free implementation which means that one has to have the unrar.dll that is only executable using wine on x86 compatible platforms - what to do about that? would it be possible to repack and redistribute the contents of the wog installer in a friendlier format? i didnt see any license terms attached to wog so is such a repackaging allowed?

Look at build_data.sh and save yourself some time :wink:

oh wow that’s embarrassing! why didnt i see that script before??

well at least my finding matched yours :slight_smile:

but how can you only use main1.wog, main2.wog and main4.wog as the others also contain msk and def files? are those files not needed?

but the problem remains that this script does not works neither on windows nor on any non i386 linux (because of unrar) - so what is you guys’ take on writing a crossplatform version of build_data.sh in c++ (or python) and on the issue of unrar?

ubuntux: btw, did you notice that the build process worked fine without any configure arguments? i also used make install which put the stuff at their expected locations.

[EDIT]
also, why are some files like graphics that are in the distribution zipfile not in the svn repository? if they were one would not need to download the zip for windows seperately on linux.

May be those contains wog specific creatures. I dislike Wog and I don’t use their maps, so I may not have seen they are missing.

unrar exist for non intel platforms. See packages.debian.org/sid/unrar

The default will search for the game data in /usr/local/share, not /usr/local/share/games. But that’s a Debian choice. Other distrib may install that stuff somewhere else.

Copyright issues may be :slight_smile:

same here - i’m currently trying to limiting the amount of needed wog files even more until it stops complaining when loading normal heroes maps

you are right - i also looked at this page before but was irritated by the red color on the other architectures. i also read the license terms and the reason it’s listed as “unfree” is only because one is not allowed to devolop a rar compressor from these sources but it is perfectly fine to include them i.e. in my source to read wog archives.

i would like to know the reason because maybe redistribution can be simplified?
who has contact to the wog guys btw?