From ff3f860459147a5315714aa72ef40e9c3dd7cbef Mon Sep 17 00:00:00 2001 From: Will Erickson Date: Thu, 6 Feb 2025 18:39:12 -0800 Subject: [PATCH] Extract resources from Gold CD CAB (#9534) --- .../extract_homm2_resources_from_cd_image.sh | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/script/homm2/extract_homm2_resources_from_cd_image.sh b/script/homm2/extract_homm2_resources_from_cd_image.sh index a7edaca402..f3370a7f93 100755 --- a/script/homm2/extract_homm2_resources_from_cd_image.sh +++ b/script/homm2/extract_homm2_resources_from_cd_image.sh @@ -93,8 +93,23 @@ function stage_iso_assets { fi copy_directory "$HOMM2_DIR" "ANIM" - copy_directory "$HOMM2_DIR" "MAPS" - copy_directory "$HOMM2_DIR" "DATA" + + DATA_CAB_PATH=$(find "ROM" -type f -iname data1.cab) + if [[ -n "$DATA_CAB_PATH" ]]; then + if [[ -z "$(command -v unshield)" ]]; then + echo_red "unshield was not found in your system. Unable to extract 'data1.cab'. Installation aborted." + exit 1 + fi + unshield -d "CAB" x "$DATA_CAB_PATH" > /dev/null + + copy_directory "CAB" "MAPS" + copy_directory "CAB" "DATA" + + rm -rf CAB + else + copy_directory "$HOMM2_DIR" "MAPS" + copy_directory "$HOMM2_DIR" "DATA" + fi fusermount -u ROM trap - RETURN