- assigned_to: nobody --> nehalmistry
wartool (Wargus 2.1) crashes on "WarCraft 2 German
Original" on Linux (Slackware 9.0), kernel 2.6.7, gcc
3.2.2 with this message:
> ./build.sh: line 161: 9120 Segmentation fault
$BINPATH/wartool $VIDEO "$DATADIR" "$DIR"
(This is at
orc/units/troll_axethrower-berserker/acknowledgement/2
in maindat.war md5sum
18b4152e7c286a6a3c254f14a5b85c08 - if you need this
file, please send me an email to hgzojer#yahoo.com, I
would agree to send you this file about 8 MB)
See "diff wartool.c" below. Unfortunatelly, with this patch
you will miss some sounds, but the rest of the game
works fine.
Second Problem is, that the pud-files (Maps) are not
automatically copied to the wargus destination file. You
will get this error message:
> Copying maps and compressing
> chmod: getting attributes of `data.wc2/puds': No such
file or directory
> mkdir: cannot create directory `data.wc2/puds/other':
No such file or directory
> cp: cannot stat `data.wc2/puds/.': No such file or
directory
> WC2 data setup is now complete
> NOTE: you do not need to run this script again
These are the patches:
diff -r -u wargus-2.1/wartool.c
wargus-2.1-ger_patch/wartool.c
--- wargus-2.1/wartool.c 2004-06-27
12:28:46.000000000 +0200
+++ wargus-2.1-ger_patch/wartool.c 2005-02-21
00:37:21.000000000 +0100
@@ -4054,7 +4054,9 @@
ConvertCursor(Todo[u].File,
Todo[u].Arg1, Todo[u].Arg2);
break;
case W:
+if (Todo[u].Arg1 < 251) {
ConvertWav(Todo[u].File,
Todo[u].Arg1);
+}
break;
case X:
ConvertText(Todo[u].File,
Todo[u].Arg1, Todo[u].Arg2);
diff -r -u wargus-2.1/build.sh
wargus-2.1-ger_patch/build.sh
--- wargus-2.1/build.sh 2004-06-28 01:07:51.000000000
+0200
+++ wargus-2.1-ger_patch/build.sh 2005-02-20
23:03:36.000000000 +0100
@@ -63,7 +63,7 @@
#ARCHIVE="/dos/c/games/war2/data/"
#ARCHIVE="./"
ARCHIVE=$CDROM"/data/"
-ARCHIVE="data/"
+#ARCHIVE="data/"
#
# Here are my executeables or -T dir.
#
@@ -192,7 +192,9 @@
## Copy original puds into data directory
#
echo "Copying maps and compressing"
+mkdir -p $DIR
[ -d $DATADIR/../puds ] && cp -r $DATADIR/../puds/
$DIR/ >/dev/null 2>&1
+mkdir -p $DIR/puds
[ -f $DATADIR/../alamo.pud ] && cp -r
$DATADIR/../*.pud $DIR/puds >/dev/null 2>&1
chmod -R +w $DIR/puds