]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/rebrand-darkplaces-engine.sh
rebranding: enable icon changing again, using ResEdit.exe
[xonotic/xonotic.git] / misc / tools / rebrand-darkplaces-engine.sh
index 7ba4603ab198e1a814cde2d6629fe2c89d2371e6..50c6a588ffa22a3f3e399d9714370f8c3f6ab3e3 100755 (executable)
@@ -13,7 +13,7 @@ icon_xpm=darkplaces.xpm
 
 . "$1"; shift
 
-flags="$flags -customgamename \"$name\" -customgamedirname1 \"$dirname1\" -customgamedirname2 \"$dirname2\" -customgamescreenshotname \"$screenshotname\" -customuserdirname \"$userdirname\""
+flags="$flags -customgamename \"$name\" -customgamedirname1 \"$dirname1\" -customgamedirname2 \"$dirname2\" -customgamescreenshotname \"$screenshotname\" -customgameuserdirname \"$userdirname\""
 echo "$flags" > darkplaces.opt
 
 for EXECUTABLE in "$@"; do
@@ -58,29 +58,38 @@ for EXECUTABLE in "$@"; do
        fi
 
        if $uses_ico; then
-               e=$EXECUTABLE \
-               i=$icon_ico \
-               n=$name \
-               perl <<'EOF'
-               use strict;
-               use warnings;
-               use Win32::Exe;
+               cp "$icon_ico" darkplaces-rebrand.ico
+               cp "$EXECUTABLE" darkplaces-rebrand.exe
+               cat >darkplaces-rebrand.rc <<EOF
+#include <windows.h> // include for version info constants
 
-               my $n = $ENV{n};
-               my $i = $ENV{i};
-               my $e = $ENV{e};
+A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "darkplaces-rebrand.ico"
 
-               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: $!";
+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
+               wine ~/ResEdit/ResEdit.exe -convert darkplaces-rebrand.rc darkplaces-rebrand.exe
+               rm -f darkplaces-rebrand.rc darkplaces-rebrand.ico
+               mv darkplaces-rebrand.exe "$EXECUTABLE"
        fi
 
        if $uses_icns; then