From c4cbf0454b76e8bf3b7b41310c3a9e9d7f93ddf8 Mon Sep 17 00:00:00 2001 From: Jan-NiklasB Date: Tue, 21 Feb 2023 18:34:08 +0100 Subject: [PATCH 1/3] Update run instructions, multi-language support - Update run instructions in README.md - Add language Buttons to README.md - Add README.de-DE.md with german translation --- README.de-DE.md | 125 ++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 33 ++++++++++--- 2 files changed, 152 insertions(+), 6 deletions(-) create mode 100644 README.de-DE.md diff --git a/README.de-DE.md b/README.de-DE.md new file mode 100644 index 000000000..0dda2c35f --- /dev/null +++ b/README.de-DE.md @@ -0,0 +1,125 @@ +[![windows](https://github.com/TheAssemblyArmada/Thyme/workflows/windows/badge.svg)](https://github.com/TheAssemblyArmarda/Thyme/actions) +[![linux](https://github.com/TheAssemblyArmada/Thyme/workflows/linux/badge.svg)](https://github.com/TheAssemblyArmarda/Thyme/actions) +[![codecov](https://codecov.io/gh/TheAssemblyArmada/Thyme/branch/develop/graph/badge.svg)](https://codecov.io/gh/TheAssemblyArmada/Thyme) + +[![en-GB](https://img.shields.io/badge/lang-en--GB-green.svg)](https://github.com/TheAssemblyArmada/Thyme/README.md) +[![de-DE](https://img.shields.io/badge/lang-de--DE-green.svg)](https://github.com/TheAssemblyArmada/Thyme/README.de-DE.md) + +**Thyme** ist eine Open-Source re-implementation des Spiels Command & Conquer Generals: Zero Hour. +Zero Hour ist die Erweiterung des Spiels Command & Conquer Generals, welches 2003 veröffentlicht wurde. + +Dieses Projekt ist eine vollständige Neuprogrammierung von Command & Conquer Generals: Zero Hour, welche die original +Dateien nutzt, um Funktionen zu unterstützen, welche noch nicht implementiert werden konnten. +Unsere Intention ist es das Beheben von Fehlern zu ermöglichen, neue Funktionen zu implementieren und Plattformen zu +unterstützen, welche vom Original nicht unterstützt werden. + +Bitte beachten Sie, dass wir in keiner Weise für EA arbeiten. +EA hat dieses Project in keiner Weise befürwortet und unterstützt dieses Projekt nicht. + + +## Chat + +Sie können sich mit uns auf unserem [Discord Kanal](https://discord.gg/UnWK2Tw) über das Projekt mit uns unterhalten +und diskutieren. + + +## Thyme ausführen + +**Stand heute (Feb. 2023) läuft Thyme ausschließlich unter Windows und muss selbst kompiliert werden.** + +Um Thyme ausführen zu können muss eine der folgenden Voraussetzungen erfüllt sein: + +1. Sie sind im Besitz einer Installation von einer Original-CD des Spiels in englischer Fassung +(**NICHT** "Die ersten 10 Jahre", "The Ultimate Collection" oder ähnliche Sammlungen / Bundles), welche auf die Version +1.04 aktualisiert sein **muss**. +2. Sie kommen an die Datei `game.dat` von einer unter 1. genannten Installation heran und haben diese in Ihr +Installationsverzeichnis von C&C Generals ZH kopiert + +Wenn Sie eine der genannten Möglichkeiten bereit haben können Sie beginnen die `thyme.dll` und die `avifil32.dll` zu +kompilieren, wie [hier](#thyme-selbst-kompilieren) beschrieben. + +Wenn Sie die DLLs erfolgreich erstellt haben, kopieren Sie diese in das Installationsverzeichnis von C&C Generals ZH. + +Nun benennen Sie die `game.dat` im Installationsverzeichnis zu `game.exe` um (der Name spielt keine Rolle, +solange die Datei die Endung .exe hat). + +Herzlichen Glückwunsch, Sie sollten nun Thyme durch das Ausführen der `game.exe` starten können! + +Um zu überprüfen, ob Thyme korrekt geladen wurde können Sie das Spiel von der Konsole / PowerShell aus starten. +Klicken Sie hierzu in dem Installationsverzeichnis mit der rechten Maustaste, während sie die Shift-Taste gedrückt halten +und wählen Sie "PowerShell-Fenster hier öffnen". +Geben Sie nun folgendes ein und bestätigen Sie mit Enter: + +`.\game.exe -win` + +Dies sollte das Spiel im Fenster-Modus starten, so dass Sie den Fenstertitel sehen können, welcher den Begriff "Thyme" +enthalten sollte. + +Wenn Sie irgendwelche Probleme haben sollten, wenn Sie dieser Anleitung folgen, können Sie uns jederzeit auf unserem +[Discord Kanal](#chat) erreichen (in Englisch). + + +### Haftungsausschluss +Thyme wird stetig weiterentwickelt, sodass infolgedessen die Entwicklungsversionen sich möglicherweise nicht wie +erwartet verhalten. +Wir bemühen uns stets nummerierte "Releases" zu veröffentlichen, welche so frei von Fehlern wie möglich sind, jedoch +können selbst diese sich unvorhergesehen verhalten. + +### Virenscanner-Warnungen +Anti-Viren-Software wie der "Windows Defender" können Thyme fälschlicherweise als gefährlich einstufen. +Hierbei handelt es sich um eine falsch-positive Meldung. Wir können versichern, dass es vollständig sicher ist Thyme zu +nutzen. Wenn Sie immer noch unsicher bezüglich der Sicherheit sind, steht es Ihenen frei Thyme +[selbst zu kompilieren](#thyme-selbst-kompilieren). + +### Häufige Probleme + +Ein schwarzer Bildschirm beim Start ist normalerweise ein zeichen das Sie ein "gentool" installiert haben. +Aufgrund dessen wie Thyme aktuell funktioniert müssen Sie temporär die "gentool"-Datei `d3d8.dll` umbenennen oder entfernen. + +## Thyme selbst kompilieren + +Um eine funktionierende Datei zu erzeugen, müssen Sie das Projekt derzeit selbst mithilfe von Microsoft Visual Studio +(2017 oder neuer) kompilieren. +Das Kompilieren mit Clang gegen ein Windows SDK ist theoretisch für eine "Cross-compile" Lösung möglich aber zurzeit +nicht getestet. + +Für [nähere Information](https://github.com/TheAssemblyArmada/Thyme/wiki/Compiling-Thyme) schauen Sie ins +[Thyme Wiki](https://github.com/TheAssemblyArmada/Thyme/wiki). + +### Linux und MacOS + +Ein nativer Support für Linux und MacOS ist für die Zukunft geplant, wird jedoch aufgrund dessen, wie das Projekt entwickelt +wird, für einige Zeit nicht möglich sein. +Währenddessen sollte es möglich sein "Wine" unter Linux und MacOS zu nutzen. Dies ist jedoch nicht getestet worden. + +## Etwas beitragen + +Wenn Sie daran interessiert sind etwas zu Thyme beizutragen benötigen Sie mindestens C++ Kenntnisse. +Treten Sie dem Entwickler-Chat, welcher [oben](#chat) aufgeführt ist, bei um mehr Informationen zu erhalten, was Sie +sonst noch brauchen und um die idc-Dateien für die aktuelle "Binary" zu erhalten. + +Für mehr Informationen können Sie ebenfalls einen Blick ins [Wiki](https://github.com/TheAssemblyArmada/Thyme/wiki) werfen. + +## Lizenz + +Der Quellcode, welcher in diesem "Repository" für Thyme zur Verfügung gestellt wird, ist unter der +[GNU General Public License version 2](https://www.gnu.de/documents/gpl-2.0.de.html) oder neuer mit einer Ausnahme, +welche es erlaubt den resultierenden Quellcode gegen eine geschlossene ("closed source") "Binary" zu verlinken, bis Thyme +diese nicht länger benötigt, um lauffähig zu sein, lizenziert. + +## Andere Open-Source Projekte + +Unten ist eine Liste mit ähnlichen Projekten und den entsprechenden Originalspielen + + * [Alive](https://github.com/AliveTeam/alive_reversing) - Abe's Exodus + * [dethrace](https://github.com/jeff-1amstudios/dethrace) - Carmageddon + * [Devilution](https://github.com/diasurgical/devilution) - Diablo + * [OpenDUNE](https://github.com/OpenDUNE/OpenDUNE) - Dune 2 + * [OpenFodder](https://github.com/OpenFodder/openfodder) - Cannon Fodder + * [OpenLoco](https://github.com/OpenLoco/OpenLoco) - Locomotion + * [OpenMC2](https://github.com/LRFLEW/OpenMC2) - Midnight Club 2 + * [OpenRCT2](https://github.com/OpenRCT2/OpenRCT2) - RollerCoaster Tycoon 2 + * [OpenTTD](https://www.openttd.org) - Transport Tycoon Deluxe + * [Vanilla Conquer](https://github.com/TheAssemblyArmada/Vanilla-Conquer) - Tiberian Dawn & Red Alert + +Es gibt ebenfalls eine [Wikipedia Seite für Open-Source Spiele](https://de.wikipedia.org/wiki/Liste_quelloffener_Computerspiele). diff --git a/README.md b/README.md index 692710a57..872ef1694 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,9 @@ [![linux](https://github.com/TheAssemblyArmada/Thyme/workflows/linux/badge.svg)](https://github.com/TheAssemblyArmarda/Thyme/actions) [![codecov](https://codecov.io/gh/TheAssemblyArmada/Thyme/branch/develop/graph/badge.svg)](https://codecov.io/gh/TheAssemblyArmada/Thyme) +[![en-GB](https://img.shields.io/badge/lang-en--GB-green.svg)](https://github.com/TheAssemblyArmada/Thyme/README.md) +[![de-DE](https://img.shields.io/badge/lang-de--DE-green.svg)](https://github.com/TheAssemblyArmada/Thyme/README.de-DE.md) + **Thyme** is an open source re-implementation of Command & Conquer Generals: Zero Hour. Zero Hour is the expansion pack of Command & Conquer Generals, released in 2003. @@ -19,17 +22,35 @@ You can chat and discuss the development of Thyme on our [Discord channel](https ## Running Thyme -Currently Thyme can only be run on Windows. -To run Thyme, you first need to have Command & Conquer Generals: Zero Hour installed. If you don't have the original game disc, Generals: Zero Hour can currently be bought most easily as a downloadable version that is part of the Command & Conquer The Ultimate Collection from [Origin](https://www.origin.com/en-us/store/command-and-conquer/command-and-conquer-the-ultimate-collection/ultimate-collection) or a third-party like [Amazon](https://www.amazon.com/Command-Conquer-Ultimate-Collection-PC/dp/B0095C0I4W). +**As of now (Feb. 2023) Thyme only runs on Windows and must be compiled by yourself.** + +In order to run Thyme, you must meet one of the following prerequisites: + +1. You have an installation from the original English version on disc (**NOT** "The First Decade", +"The Ultimate Collection" or any other bundled version) which **must** be patched to version 1.04 +2. You have got hold of the game.dat from the installation referred to in point 1, and copied it to the root directory +of the C6C General ZH installation + +If you have either of these options ready, you can proceed with building and compiling the `thyme.dll` and +`avifil32.dll` as described [here](#building-thyme-yourself). + +Once you have successfully created these DLLs, copy them to the C&C Generals ZH root directory. + +Next, rename the game.dat in your ZH root directory to `game.exe` (the name doesn't matter as long as it has the .exe +extension). + +Congratulations, you should now be able to start Thyme by running `game.exe`! + +To check if Thyme is loaded successfully, you can start the game from CMD or PowerShell +(right click in the folder while holding down the Shift key and select "Open PowerShell") with the following command: -If you wish to use our custom launcher without messing with patches or anything, only an install original Windows disc based English language version of Generals: Zero Hour (patched to version 1.04) is supported. That 1.04 patch can be downloaded [here](https://web.archive.org/web/20170130195007/http://ftp.ea.com/pub/eapacific/generals/generalszh/DownloadablePatches/GeneralsZH-104-english.exe) if your installation hasn't been updated yet. +`.\game.exe -win` -If you don't have the disc version or just want to run an executable directly, you will need to generate `thyme.exe` using the exe patching guide on the [Thyme Wiki](https://github.com/TheAssemblyArmada/Thyme/wiki). +This should start the game in windowed mode, so you can see if the window has a name that includes "Thyme". -Now you have the Generals: Zero Hour installation ready, you can [download the latest version](https://github.com/TheAssemblyArmada/Thyme/releases). You will have to expand the assets to download the latest thyme_x86_dll.zip. You could also [build Thyme yourself](#building-thyme-yourself). -The easiest way to get Thyme to actually run is to place `thymelauncher.exe` together with `thyme.dll` in the Generals: Zero Hour installation folder. You can then launch `thymelauncher.exe` from that directory or create a shortcut to them. +If you have any problems getting Thyme to work following this guide, feel free to contact us on our [Discord](#Chat). ### Disclaimer From d518d91d1688aec317e9920d1412fd8b5dd7cae0 Mon Sep 17 00:00:00 2001 From: Jan-NiklasB Date: Tue, 21 Feb 2023 23:42:41 +0100 Subject: [PATCH 2/3] Re-add info about compiling the binary --- README.de-DE.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.de-DE.md b/README.de-DE.md index 0dda2c35f..464c3c9f6 100644 --- a/README.de-DE.md +++ b/README.de-DE.md @@ -83,6 +83,8 @@ Um eine funktionierende Datei zu erzeugen, müssen Sie das Projekt derzeit selbs Das Kompilieren mit Clang gegen ein Windows SDK ist theoretisch für eine "Cross-compile" Lösung möglich aber zurzeit nicht getestet. +Es ist ebenfalls möglich eine "Standalone Binary" zu kompilieren, wenn Sie das Kompilieren für andere Platformen testen wollen. + Für [nähere Information](https://github.com/TheAssemblyArmada/Thyme/wiki/Compiling-Thyme) schauen Sie ins [Thyme Wiki](https://github.com/TheAssemblyArmada/Thyme/wiki). @@ -92,6 +94,11 @@ Ein nativer Support für Linux und MacOS ist für die Zukunft geplant, wird jedo wird, für einige Zeit nicht möglich sein. Währenddessen sollte es möglich sein "Wine" unter Linux und MacOS zu nutzen. Dies ist jedoch nicht getestet worden. +Wenn Sie an der Entwicklung des "Cross-Plattform" Aspekts des Projekts interessiert sind, ist es nun möglich ein +"standalone" kompilat durch das Übergeben von ```-DSTANDALONE=TRUE``` an die CMake Konfiguration zu erzeugen. +Die erzeugte "Binary" hat aktuell jedoch eine sehr eingeschränkte Funktionalität. + + ## Etwas beitragen Wenn Sie daran interessiert sind etwas zu Thyme beizutragen benötigen Sie mindestens C++ Kenntnisse. From 93076295e306d6ce6a7cda5ae23731b393609c64 Mon Sep 17 00:00:00 2001 From: Jan-NiklasB Date: Wed, 22 Feb 2023 00:21:34 +0100 Subject: [PATCH 3/3] Fix typo in README.md Line 33 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 872ef1694..4c5506a2f 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ In order to run Thyme, you must meet one of the following prerequisites: 1. You have an installation from the original English version on disc (**NOT** "The First Decade", "The Ultimate Collection" or any other bundled version) which **must** be patched to version 1.04 2. You have got hold of the game.dat from the installation referred to in point 1, and copied it to the root directory -of the C6C General ZH installation +of the C&C General ZH installation If you have either of these options ready, you can proceed with building and compiling the `thyme.dll` and `avifil32.dll` as described [here](#building-thyme-yourself).