@@ -1,7 +1,8 @@
#! /bin/sh
# Verify arx fatalis non-demo checksums.
# This script is meant to be run on it's own or sourced by the other install scripts.
# This script is meant to be run on it's own or sourced by the other
# install scripts.
# List of required files
@@ -70,22 +71,42 @@ md5sum=`which md5sum 2> /dev/null`
data_lang=' english'
detect_language () {
speech_checksum=` find ' .' -iname " speech.pak" -exec " $md5sum " -b {} \; | sed " s/ .*//g" `
speech_checksum=` find ' .' -iname " speech.pak" -exec " $md5sum " -b {} \; \
| sed " s/ .*//g" `
if [ " $speech_checksum " = ' ' ] ; then
speech_checksum=` find ' .' -iname " speech_default.pak" -exec " $md5sum " -b {} \; | sed " s/ .*//g" `
speech_checksum=` find ' .' -iname " speech_default.pak" \
-exec " $md5sum " -b {} \; | sed " s/ .*//g" `
fi
# check if the checksum is of a known localisation and set data_lang to
# the language string to be used with the 1.21 patch installer
case " $speech_checksum " in
' 4c3fdb1f702700255924afde49081b6e' ) data_lang=' german' ; loc_checksum=' 31bc35bca48e430e108db1b8bcc2621d' ;;
' 4e8f962d8204bcfd79ce6f3226d6d6de' ) data_lang=' english' ; loc_checksum=' a47b192493afb5794e2161a62d35b69f' ;;
' 2f88c67ae1537919e69386d27583125b' ) data_lang=' spanish' ; loc_checksum=' 121f99608814a2c9c5857cfadb665553' ;;
' 4edf9f8c799190590b4cd52cfa5f91b1' ) data_lang=' french' ; loc_checksum=' f8fc448fea12469ed94f417c313fe5ea' ;;
' 81f05dea47c52d43f01c9b44dd8fe962' ) data_lang=' italian' ; loc_checksum=' a9e162f2916f5737a95bd8c5bd8a979e' ;;
' 677163bc319cd1e9aa1b53b5fb3e9402' ) data_lang=' russian' ; loc_checksum=' a131bf2398ee70a9c22a2bbffd9d0d99' ;;
' 4c3fdb1f702700255924afde49081b6e' ) data_lang=' german'
loc_checksum=' 31bc35bca48e430e108db1b8bcc2621d' ;;
# Bundled version of AF included with NVIDIA card
' ab8a93161688d793a7c78fbefd7d133e' ) data_lang=' german'
loc_checksum=' 31bc35bca48e430e108db1b8bcc2621d' ;;
' 4e8f962d8204bcfd79ce6f3226d6d6de' ) data_lang=' english'
loc_checksum=' a47b192493afb5794e2161a62d35b69f' ;;
' 2f88c67ae1537919e69386d27583125b' ) data_lang=' spanish'
loc_checksum=' 121f99608814a2c9c5857cfadb665553' ;;
' 4edf9f8c799190590b4cd52cfa5f91b1' ) data_lang=' french'
loc_checksum=' f8fc448fea12469ed94f417c313fe5ea' ;;
' 81f05dea47c52d43f01c9b44dd8fe962' ) data_lang=' italian'
loc_checksum=' a9e162f2916f5737a95bd8c5bd8a979e' ;;
' 677163bc319cd1e9aa1b53b5fb3e9402' ) data_lang=' russian'
loc_checksum=' a131bf2398ee70a9c22a2bbffd9d0d99' ;;
' ' ) die " speech*.pak not found in $( pwd) " ;;
* ) die " unsupported data language - speech*.pak checksum: $speech_checksum " ;;
* ) die " unsupported data language - speech*.pak checksum:" \
" $speech_checksum " ;;
esac
echo "
@@ -138,41 +159,76 @@ Done:"
checksum_failed=0
# Common files
verify_checksum ' data2.pak' ' f7e0ce700bf963429ac535ca86f8a7b4'
verify_checksum ' graph/interface/misc/arkane.bmp' ' afff1099c01ffeb03b9a351f7b5966b6'
verify_checksum ' graph/interface/misc/quit1.bmp' ' 41445d3792a1f8818d950aca47254488'
verify_checksum ' graph/obj3d/textures/fixinter_barrel.jpg' ' 8419274acbff7346c3661b18d6aad6dc'
verify_checksum ' graph/obj3d/textures/fixinter_bell.bmp' ' 5743b9047c9ad65540c318dfcc98123a'
verify_checksum ' graph/obj3d/textures/fixinter_metal_door.jpg' ' f246eff6b19c9c710313b4a4dce96a69'
verify_checksum ' graph/obj3d/textures/fixinter_public_notice.bmp' ' f81394abbb9006ce0950843b7909db33'
verify_checksum ' graph/obj3d/textures/item_bread.bmp' ' 544448f8eedc912aa231a6a04fffb7c5'
verify_checksum ' graph/obj3d/textures/item_club.jpg' ' 7e26c4199ddaca494c8b369294306b0b'
verify_checksum ' graph/obj3d/textures/item_long_sword.jpg' ' 3a6196fe9b7666c7d80d82be06f6de86'
verify_checksum ' graph/obj3d/textures/item_mauld_sabre.jpg' ' 18492c25ebac02f83e2f0ebda61ecb00'
verify_checksum ' graph/obj3d/textures/item_mauldsword.jpg' ' 503a5c2f23668040c675aefdde6dbbe5'
verify_checksum ' graph/obj3d/textures/item_mirror.jpg' ' c0a22b4f7a7a6461da68206e94928637'
verify_checksum ' graph/obj3d/textures/item_ring_casting.bmp' ' 348f9add709bacee08556d1f8cf10f3f'
verify_checksum ' graph/obj3d/textures/item_rope.bmp' ' ff05de281c8b380ee98f6e123d3d51cb'
verify_checksum ' graph/obj3d/textures/item_spell_sheet.jpg' ' 024ccbb520020f92fba5a5a4f0270cea'
verify_checksum ' graph/obj3d/textures/item_torch2.jpg' ' 027951899b4829599ca611010ea3484f'
verify_checksum ' graph/obj3d/textures/item_torch.jpg' ' 9ada166f23ddcb775ac20836e752187e'
verify_checksum ' graph/obj3d/textures/item_zohark.bmp' ' cd206a4027f86c6e57b7710c94049efa'
verify_checksum ' graph/obj3d/textures/l7_dwarf_[wood]_board08.jpg' ' 79ccc81adb7c37b98f40b478ef1fccd4'
verify_checksum ' graph/obj3d/textures/l7_dwarf_[wood]_board80.jpg' ' 691611087b13d38ef02bb9dfd6a2518e'
verify_checksum ' graph/obj3d/textures/npc_dog.bmp' ' 116bd374c14ae8c387a4da1899e1dca7'
verify_checksum ' graph/obj3d/textures/npc_pig.bmp' ' b7a4d0d3d230b2d1470176909004e38b'
verify_checksum ' graph/obj3d/textures/npc_pig_dirty.bmp' ' 76034d8d74056c8a982479d36321c228'
verify_checksum ' graph/obj3d/textures/npc_rat_base.bmp' ' 00c585ec9ebe8006d7ca72993de7b51b'
verify_checksum ' graph/obj3d/textures/npc_rat_base_cm.bmp' ' cae38facbf77db742180b9e58d0eb42f'
verify_checksum ' graph/obj3d/textures/npc_worm_body_part1.jpg' ' 0b220bffaedc89fa663f08d12630c342'
verify_checksum ' graph/obj3d/textures/npc_worm_body_part2.bmp' ' 20797cb78f6393a0fb5405969ba9f805'
verify_checksum ' graph/obj3d/textures/[wood]_light_door.jpg' ' 00d0b018e995e7d013d6e52e92126901'
verify_checksum ' misc/arx_default.ttf' ' 9a95ff96795c034524ba1c2e94ea12c7'
verify_checksum ' misc/arx_russian.ttf' ' 921561e83786efcd25f92147b60a13db'
verify_checksum ' misc/arx_taiwanese.ttf' ' da59198061cef0761c6b2fca113f76f6'
verify_checksum ' misc/logo.avi' ' 63ed31a4eb3d226c23e58cfaa974d484'
verify_checksum ' misc/logo.bmp' ' afff1099c01ffeb03b9a351f7b5966b6'
verify_checksum ' sfx.pak' ' 2efc9a74c517fd1ee9919900cf4091d2'
verify_checksum ' data2.pak' \
' f7e0ce700bf963429ac535ca86f8a7b4'
verify_checksum ' graph/interface/misc/arkane.bmp' \
' afff1099c01ffeb03b9a351f7b5966b6'
verify_checksum ' graph/interface/misc/quit1.bmp' \
' 41445d3792a1f8818d950aca47254488'
verify_checksum ' graph/obj3d/textures/fixinter_barrel.jpg' \
' 8419274acbff7346c3661b18d6aad6dc'
verify_checksum ' graph/obj3d/textures/fixinter_bell.bmp' \
' 5743b9047c9ad65540c318dfcc98123a'
verify_checksum ' graph/obj3d/textures/fixinter_metal_door.jpg' \
' f246eff6b19c9c710313b4a4dce96a69'
verify_checksum ' graph/obj3d/textures/fixinter_public_notice.bmp' \
' f81394abbb9006ce0950843b7909db33'
verify_checksum ' graph/obj3d/textures/item_bread.bmp' \
' 544448f8eedc912aa231a6a04fffb7c5'
verify_checksum ' graph/obj3d/textures/item_club.jpg' \
' 7e26c4199ddaca494c8b369294306b0b'
verify_checksum ' graph/obj3d/textures/item_long_sword.jpg' \
' 3a6196fe9b7666c7d80d82be06f6de86'
verify_checksum ' graph/obj3d/textures/item_mauld_sabre.jpg' \
' 18492c25ebac02f83e2f0ebda61ecb00'
verify_checksum ' graph/obj3d/textures/item_mauldsword.jpg' \
' 503a5c2f23668040c675aefdde6dbbe5'
verify_checksum ' graph/obj3d/textures/item_mirror.jpg' \
' c0a22b4f7a7a6461da68206e94928637'
verify_checksum ' graph/obj3d/textures/item_ring_casting.bmp' \
' 348f9add709bacee08556d1f8cf10f3f'
verify_checksum ' graph/obj3d/textures/item_rope.bmp' \
' ff05de281c8b380ee98f6e123d3d51cb'
verify_checksum ' graph/obj3d/textures/item_spell_sheet.jpg' \
' 024ccbb520020f92fba5a5a4f0270cea'
verify_checksum ' graph/obj3d/textures/item_torch2.jpg' \
' 027951899b4829599ca611010ea3484f'
verify_checksum ' graph/obj3d/textures/item_torch.jpg' \
' 9ada166f23ddcb775ac20836e752187e'
verify_checksum ' graph/obj3d/textures/item_zohark.bmp' \
' cd206a4027f86c6e57b7710c94049efa'
verify_checksum ' graph/obj3d/textures/l7_dwarf_[wood]_board08.jpg' \
' 79ccc81adb7c37b98f40b478ef1fccd4'
verify_checksum ' graph/obj3d/textures/l7_dwarf_[wood]_board80.jpg' \
' 691611087b13d38ef02bb9dfd6a2518e'
verify_checksum ' graph/obj3d/textures/npc_dog.bmp' \
' 116bd374c14ae8c387a4da1899e1dca7'
verify_checksum ' graph/obj3d/textures/npc_pig.bmp' \
' b7a4d0d3d230b2d1470176909004e38b'
verify_checksum ' graph/obj3d/textures/npc_pig_dirty.bmp' \
' 76034d8d74056c8a982479d36321c228'
verify_checksum ' graph/obj3d/textures/npc_rat_base.bmp' \
' 00c585ec9ebe8006d7ca72993de7b51b'
verify_checksum ' graph/obj3d/textures/npc_rat_base_cm.bmp' \
' cae38facbf77db742180b9e58d0eb42f'
verify_checksum ' graph/obj3d/textures/npc_worm_body_part1.jpg' \
' 0b220bffaedc89fa663f08d12630c342'
verify_checksum ' graph/obj3d/textures/npc_worm_body_part2.bmp' \
' 20797cb78f6393a0fb5405969ba9f805'
verify_checksum ' graph/obj3d/textures/[wood]_light_door.jpg' \
' 00d0b018e995e7d013d6e52e92126901'
verify_checksum ' misc/arx_default.ttf' \
' 9a95ff96795c034524ba1c2e94ea12c7'
verify_checksum ' misc/arx_russian.ttf' \
' 921561e83786efcd25f92147b60a13db'
verify_checksum ' misc/arx_taiwanese.ttf' \
' da59198061cef0761c6b2fca113f76f6'
verify_checksum ' misc/logo.avi' \
' 63ed31a4eb3d226c23e58cfaa974d484'
verify_checksum ' misc/logo.bmp' \
' afff1099c01ffeb03b9a351f7b5966b6'
verify_checksum ' sfx.pak' \
' 2efc9a74c517fd1ee9919900cf4091d2'
# data.pak is censored in some versions (presumably has less gore)
# At least the original german and italian CDs have the censored version.
@@ -186,7 +242,8 @@ Done:"
# Language-specific files
verify_checksum ' loc.pak' " $loc_checksum "
# There is no need to check speech.pak here as we already used it to detect $loc_checksum
# There is no need to check speech.pak here as we already used it to
# detect $loc_checksum
[ $checksum_failed = 0 ] || die "
ERROR: Checksum mismatch."