X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=misc%2Ftools%2Frebrand-darkplaces-engine.sh;h=8208d4841f01836b1e74cae04fdca92de7d9420d;hp=3a987185de79589a387accec596eec8ae35c05fc;hb=12caa26f83138bd27ab18705edc1ef269a0de244;hpb=b417eac15b49142927d460bf5cc9b604aa1fe55d diff --git a/misc/tools/rebrand-darkplaces-engine.sh b/misc/tools/rebrand-darkplaces-engine.sh index 3a987185..8208d484 100755 --- a/misc/tools/rebrand-darkplaces-engine.sh +++ b/misc/tools/rebrand-darkplaces-engine.sh @@ -13,8 +13,16 @@ icon_xpm=darkplaces.xpm . "$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,39 +56,49 @@ 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" + cd "$t" + zip -9r darkplaces-this.zip darkplaces-icon.xpm + 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 +111,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 +121,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"