X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=misc%2Ftools%2Frebrand-darkplaces-engine.sh;h=0e911bb37ecf750b2f0160e9d8c0faf854827bc4;hp=d1d9468df295843b884c7721903d6ab8bbc499cf;hb=1ed9707eafd94de1e8db7fc07394e1d5c62a3c58;hpb=6cbc3a19b806847a2d4510306e2943ad48bd5e94 diff --git a/misc/tools/rebrand-darkplaces-engine.sh b/misc/tools/rebrand-darkplaces-engine.sh index d1d9468d..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 +d=`pwd` +t=`mktemp -d -t darkplaces-rebrand.XXXXXX` + flags="$flags -customgamename \"$name\" -customgamedirname1 \"$dirname1\" -customgamedirname2 \"$dirname2\" -customgamescreenshotname \"$screenshotname\" -customgameuserdirname \"$userdirname\"" -echo "$flags" > darkplaces.opt +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,40 +61,59 @@ 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: $!"; -#EOF -# fi + if $uses_ico; then + 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 # OS X is special here @@ -93,8 +125,9 @@ for EXECUTABLE in "$@"; do 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"