Release-Batchdatei: Exe mit Icon, UPX, Spieldateien-Zip

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

PacMani

Betreff: Release-Batchdatei: Exe mit Icon, UPX, Spieldateien-Zip

BeitragMo, Sep 26, 2011 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

ich dachte, der ein oder andere findet meine Release-Batchdatei hilfreich, die ich in IDEal als externes Tool zum One-Click-Erstellen eines gezippten Spieleordners für Tester nutze.

Was macht sie?
  • Spiel kompilieren, Icon austauschen und mit UPX packen
  • Alle Spieldateien (keine Code- oder Projektdateien sowie keine Ordner deren Namen mit einem Unterstrich beginnt) in einen neuen Release-Ordner kopieren
  • Den Release-Ordner zippen
  • Dabei den Status in der Fenstertitelleiste sowie im Ausgabefenster anzeigen


Dazu nutzt sie ResourceHacker, UPX und 7-zip. Die Pfade zu diesen drei Tools können am Anfang der Batchdatei festgelegt werden, indem man die SET-Befehle bearbeitet.
Zum Kopieren nutzt sie Robocopy, das ist ein Boardtool seit Vista. Ich bin mir nicht sicher, ob man es für XP nachträglich runterladen muss. Ist aber ein kostenloses, offizielles Microsoft-Tool.

Weiterhin können die Pfade zu der Hauptcodedatei (z.B. "Main.bb"), der ausführbaren Spieldatei ("Game.exe") und der Icondatei ("Icon.ico") wieder am Anfang der Batch festgelegt werden.

Wo ihr die Batch ablegt, ist egal. Sie wechselt in das Projektverzeichnis, dass ihr IDEal übergibt. Das kann man unter "Edit External Tools..." mit dem Parameter "%ProjectDir%" machen (die Anführungsstriche nicht vergessen, da der Pfad Leerzeichen enthalten kann):
user posted image

Letztlich lässt sich nur noch anmerken, dass ungeübte Anwender hier lieber die Finger von lassen sollten, da bei falscher Anwendung ggf. falsche Ordner gelöscht werden Wink sollte aber nicht passieren.
Bei weiteren Fragen gebe ich gerne Antworten!

Und nun endlich der Code !_!
Code: [AUSKLAPPEN]
@ECHO OFF

TITLE (1/5) Initialization
ECHO (1/5) Initialization...

:: Allgemeine Werte ablegen
SET PathResHacker="..\Drittanbieter\ResHacker.exe"
SET PathUpx="..\Drittanbieter\UPX.EXE"
SET Path7Zip="%PROGRAMFILES%\7-zip\7z.exe"
SET FileMainCode="Main.bb"
SET FileExecutable="Game.exe"
SET FileIcon="Icon.ico"

:: Projektverzeichnis-Pfad ablegen
SET ProjectFolder=%1

:: In Projektverzeichnis-Laufwerk und Ordner wechseln
%ProjectFolder:~1,2%
CD %ProjectFolder%



TITLE (2/5) Creating Executable
ECHO (2/5) Creating executable...

:: Systemumgebung für Kompilierung anpassen
SET BLITZPATH=%PROGRAMFILES%\Blitz3D

:: Kompilat erstellen
"%BLITZPATH%\bin\blitzcc.exe" -o %FileExecutable% %FileMainCode% > NUL

:: Icon austauschen
%PathResHacker% -modify %FileExecutable%, %FileExecutable%, %FileIcon%, ICONGROUP, 107, 1033

:: Kompilat packen
%PathUpx% -9 %FileExecutable% > NUL



TITLE (3/5) Creating Release Directory
ECHO (3/5) Creating release directory...

:: Ggf. alten _Release-Ordner löschen
IF EXIST _Release RD _Release /S /Q

:: Alles außer Code und _*-Verzeichnissen in den Release-Ordner kopieren
ROBOCOPY . _Release /E /XD _* /XF *.bb *.ipf *.iws > NUL



TITLE (4/5) Zipping Release Directory
ECHO (4/5) Zipping release directory...

:: In den Release-Ordner wechseln
CD _Release

:: Release-Ordner zippen
%Path7Zip% a -tzip -r Release.zip * > NUL

:: Wieder in den Projektordner wechseln
CD ..



TITLE (5/5) Cleaning Up
ECHO (5/5) Cleaning up...

:: Kompilierte Exe entfernen
DEL %FileExecutable%

:: Auf Fehler überprüfen
IF ERRORLEVEL 1 (
    TITLE Finished With Errors
    PAUSE > NUL
) ELSE (
    TITLE Finished Without Errors
)
  • Zuletzt bearbeitet von PacMani am Sa, Nov 05, 2011 15:40, insgesamt einmal bearbeitet

ozzi789

BeitragFr, Sep 30, 2011 10:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Sehr cool, sowas wollt ich mir auch mal machen weil ich Faul bin (Informatiker halt) mich andauernd mit Ressource Hacker usw rumzuschlagen.

Kommt gleich mal in meinen BB Ordner !
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

PacMani

BeitragFr, Sep 30, 2011 14:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, ich musste mir auch erstmal die Befehle für Resource Hacker etc. heraussuchen, da ich zu faul war, mich durch die Readmes zu lesen Wink willkommen im Informatiker-Club Very Happy

PacMani

BeitragSo, Okt 02, 2011 9:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Noch ein Hinweis für 64bitler: Die Zeile
Code: [AUSKLAPPEN]
SET BLITZPATH=%PROGRAMFILES%\Blitz3D

unter ":: Systemumgebung für Kompilierung anpassen"

durch
Code: [AUSKLAPPEN]
SET BLITZPATH=%PROGRAMFILES(x86)%\Blitz3D


ersetzen Wink

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group