#
# 2ooM: The Master of Orion II Reverse Engineering Project
# Test correct decoding of various images in mainmenu.lbx
-# Copyright © 2013 Nick Bowler
+# Copyright © 2013-2014 Nick Bowler
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
plan_ 10
-check_image_() {
- dx_pam_header "$1" > "$1.sh" || return
- . "./$1.sh" || return
-
- tail -n +"$ENDHDR" "$1" > "$1.px" || return
- echo "$2 $1.px" > "$1.md5" || return
- $MD5SUM -c "$1.md5"
-}
-
-check_image() {
- if $HAVE_MD5SUM; then
- command_ok_ "$1" check_image_ "$1" "$2"
- else
- skip_ "$1"
- fi
-}
-
command_ok_ "unpacking fonts.lbx" $LBXTOOL -xf "$MOO2DATA/fonts.lbx"
command_ok_ "unpacking mainmenu.lbx" $LBXTOOL -xf "$MOO2DATA/mainmenu.lbx"
+diag_ "Test image with embedded palette"
command_ok_ "decoding mainmenu.lbx.021" \
$LBXIMG -F pam --output-prefix test0 -df mainmenu.lbx.021
-check_image "test0.000.pam" 848e33a0addc6e9acdc4fee6cbd56639
+dx_check_pam_md5 "test0.000.pam" 848e33a0addc6e9acdc4fee6cbd56639
+diag_ "Test image with external palette"
command_ok_ "decoding mainmenu.lbx.007" \
$LBXIMG -F pam --output-prefix test1 --palette fonts.lbx.006 \
-df mainmenu.lbx.007
-check_image "test1.000.pam" f301ffcc1a2faa3a0aa68514784012ec
+dx_check_pam_md5 "test1.000.pam" f301ffcc1a2faa3a0aa68514784012ec
+diag_ "Test image with animation and external palette"
command_ok_ "decoding mainmenu.lbx.000" \
$LBXIMG -F pam --output-prefix test2 --palette fonts.lbx.006 \
-df mainmenu.lbx.000
-check_image "test2.000.pam" 7c3b347e03d42cd7bd1597f9dd58594e
-check_image "test2.015.pam" 2a66f4c30ca315cc061606b27cef4adf
-check_image "test2.049.pam" 848e33a0addc6e9acdc4fee6cbd56639
+dx_check_pam_md5 "test2.000.pam" 7c3b347e03d42cd7bd1597f9dd58594e
+dx_check_pam_md5 "test2.015.pam" 2a66f4c30ca315cc061606b27cef4adf
+dx_check_pam_md5 "test2.049.pam" 848e33a0addc6e9acdc4fee6cbd56639