X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=misc%2Ftools%2Frebrand-darkplaces-engine.sh;h=0e911bb37ecf750b2f0160e9d8c0faf854827bc4;hp=7ba4603ab198e1a814cde2d6629fe2c89d2371e6;hb=1ed9707eafd94de1e8db7fc07394e1d5c62a3c58;hpb=8e78fb405cd6e13a3c9187b3c3748769e66815ad diff --git a/misc/tools/rebrand-darkplaces-engine.sh b/misc/tools/rebrand-darkplaces-engine.sh index 7ba4603a..0e911bb3 100755 --- a/misc/tools/rebrand-darkplaces-engine.sh +++ b/misc/tools/rebrand-darkplaces-engine.sh @@ -10,11 +10,24 @@ userdirname=darkplaces icon_icns=Darkplaces.app/Contents/Resources/Darkplaces.icns icon_ico=darkplaces.ico icon_xpm=darkplaces.xpm +icons_tga= +if [ -z "$1" ] || [ x"$1" = x"--help" ]; then + echo "Usage: $0 brandfile binaries..." + exit +fi . "$1"; shift -flags="$flags -customgamename \"$name\" -customgamedirname1 \"$dirname1\" -customgamedirname2 \"$dirname2\" -customgamescreenshotname \"$screenshotname\" -customuserdirname \"$userdirname\"" -echo "$flags" > darkplaces.opt +d=`pwd` +t=`mktemp -d -t darkplaces-rebrand.XXXXXX` + +flags="$flags -customgamename \"$name\" -customgamedirname1 \"$dirname1\" -customgamedirname2 \"$dirname2\" -customgamescreenshotname \"$screenshotname\" -customgameuserdirname \"$userdirname\"" +echo "$flags" > "$t/darkplaces.opt" + +cd "$t" +zip -9r darkplaces.zip darkplaces.opt +rm -f darkplaces.opt +cd "$d" for EXECUTABLE in "$@"; do uses_xpm=false @@ -48,39 +61,58 @@ for EXECUTABLE in "$@"; do esac # add a selfpack - rm -f darkplaces.zip - zip -9r darkplaces.zip darkplaces.opt + cp "$t/darkplaces.zip" "$t/darkplaces-this.zip" if $uses_xpm; then - cp "$icon_xpm" darkplaces-icon.xpm - zip -9r darkplaces.zip darkplaces-icon.xpm - rm -f darkplaces-icon.xpm + cp "$icon_xpm" "$t/darkplaces-icon.xpm" + cnt= + for i in $icons_tga; do + convert "$i" "$t/darkplaces-icon$cnt.tga" + if [ -z "$cnt" ]; then + cnt=2 + else + cnt=$(($cnt+1)) + fi + done + cd "$t" + zip -9r darkplaces-this.zip darkplaces-icon* + cd "$d" fi if $uses_ico; then - e=$EXECUTABLE \ - i=$icon_ico \ - n=$name \ - perl <<'EOF' - use strict; - use warnings; - use Win32::Exe; - - my $n = $ENV{n}; - my $i = $ENV{i}; - my $e = $ENV{e}; - - my $exe = Win32::Exe->new($e) - or die "Win32::Exe->new: $!"; - $exe = $exe->create_resource_section() - unless $exe->has_resource_section(); - $exe->update(icon => $i); - $exe->update(info => ["InternalName=$e"]); - $exe->update(info => ["OriginalFilename=$e"]); - $exe->update(info => ["ProductName=$n"]); - $exe->write($e) - or die "Win32::Exe->write: $!"; + cp "$icon_ico" "$t/darkplaces-icon.ico" + cp "$EXECUTABLE" "$t/darkplaces.exe" + cat >"$t/darkplaces.rc" < // include for version info constants + +A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "darkplaces-icon.ico" + +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILETYPE VFT_APP +{ + BLOCK "StringFileInfo" + { + BLOCK "040904E4" + { + VALUE "CompanyName", "Forest Hale Digital Services" + VALUE "FileVersion", "1.0" + VALUE "FileDescription", "$name" + VALUE "InternalName", "${EXECUTABLE##*/}" + VALUE "LegalCopyright", "id Software, Forest Hale, and contributors" + VALUE "LegalTrademarks", "" + VALUE "OriginalFilename", "${EXECUTABLE##*/}" + VALUE "ProductName", "$name" + VALUE "ProductVersion", "1.0" + } + } +} EOF + cd "$t" + wine "c:/Program Files/ResEdit/ResEdit.exe" -convert darkplaces.rc darkplaces.exe + cd "$d" + mv "$t/darkplaces.exe" "$EXECUTABLE" fi if $uses_icns; then @@ -93,8 +125,9 @@ EOF pkgdir=.. ;; esac - cp "$icon_icns" "$pkgdir/Resources/Darkplaces.icns" - cat <"$pkgdir/Resources/English.lproj/InfoPlist.strings" + if [ -d "$pkgdir/Resources" ]; then + cp "$icon_icns" "$pkgdir/Resources/Darkplaces.icns" + cat <"$pkgdir/Resources/English.lproj/InfoPlist.strings" /* Localized versions of Info.plist keys */ CFBundleName = "$name"; @@ -102,10 +135,10 @@ CFBundleShortVersionString = "$name"; CFBundleGetInfoString = "Darkplaces by Forest 'LordHavoc' Hale"; NSHumanReadableCopyright = "Copyright `date +%Y`"; EOF + fi fi - cat darkplaces.zip >> "$EXECUTABLE" - rm -f darkplaces.zip + cat "$t/darkplaces-this.zip" >> "$EXECUTABLE" done -rm -f darkplaces.opt +rm -rf "$t"