GameFixer

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

GameFixer

Beitrag von Thorium »

Downloads:
GameFixer v0.03 (107KB)
SDK v0.03 (18KB)

Der GameFixer ist ein Programm, welches es euch ermöglicht alte Windows 32 Bit Spiele unter neueren Windowsversionen zum laufen zu bekommen.
Es befindet sich noch in einem frühen Entwicklungsstadium, kann aber schon ein paar Spiele, wie Battle Isle 3 zum laufen bewegen.

Der GameFixer hat eine offene Pluginschnittstelle und kann somit von jedem erweitert werden.
Dabei stellt der GameFixer Plugins Funktionalitäten wie WinAPI Hooking und DirectDraw Hooking zur Verfügung.
Plugins können in jeder Sprache geschrieben werden, sofern diese standard DLL's kompilieren kann.

Für Details zur Pluginentwicklung siehe GameFixer SDK, enthält Includes für PureBasic und C++ und Beispielecodes für PureBasic.

Benutzung:
Es handelt sich um ein Konsolenprogramm, also am besten durch andere Programme wie facTotum nutzen oder Batchdateien erstellen. Es müssen nämlich immer Parameter übergeben werden.

Syntax: GameFixer.exe Spiel.exe [-Params Spielparameter] [-DontAsk] [-Silent] [-Auto] [-Update] [-Plugin1 Config] [-Plugin2 Config]

Spiel.exe
Das zu startende Spiel mit komplettem Pfad. Sollte ein Leerzeichen im Pfad enthalten sein, den kompletten Pfad in Anführungszeichen einschließen.

-Params oder -p
Gibt an das dem Spiel eine Parameterzeile übergeben werden soll. Die Parameter nach einem Leerzeichen dahinterschreiben. Sollten Leerzeichen in der Parameterzeile sein, die komplette Parameterzeile in Anführungszeichen einschließen.
Sollten Anführungszeichen in der Parameterzeilen vorkommen, diese durch /#DQ/ ersetzen.

-DontAsk oder -da
Schaltet den DontAsk Modus ein.
Bedeutet dass der GameFixer nicht auf Benutzereingaben wartet und keine Entscheidungsmöglichkeiten gibt.

-Silent oder -s
Schaltet den Silent Modus ein.
Bedeutet dass der GameFixer keine Ausgaben tätigt, er öffnet noch nicht mal die Konsole.
Ist der Silent Modus eingeschaltet ist der GameFixer automatisch auch im DontAsk Modus.

-Auto oder -a
Schaltet die automatische Konfiguration ein.
Ist noch nicht implementiert!

-Update oder -u
Führt ein Onlineupdate durch.

-Plugin
Läd und konfiguriert ein Plugin.
Plugin durch den Namen des Plugins ersetzen.
Die Konfigurationszeile nach einem Leerzeichen dahinterschreiben. Sollten Leerzeichen in der Konfigurationszeile enthalten sein, die komplette Konfigurationszeile in Anführungszeichen einschließen.
Es können beliebig viele Plugins angegeben werden.

MaxFPS Plugin

Das MaxFPS Plugin kann wie der Name schon sagt die FPS von Spielen beschränken, sollten diese keine Einstellung dafür bieten. Es funktioniert nur bei Spielen, welche DirectDraw nutzen und dient zur Demonstration des neuen DirectDraw Hooks. Es wird in Zukunft sicherlich durch ein anderes Plugin ersetzt werden.
Die gewünschte FPS Zahl kann als Konfiguration des Plugins angegeben werden.

z.B.: GameFixer.exe c:\Spiele\Test.exe -MaxFPS 30

MemoryFix Plugin

Dieses Plugin ermöglicht die Speicherinformationen, welche das Spiel abfragen kann, abzuändern. So das man falsch berechneten freien Speicher korrigieren kann oder aber Spiele mit deaktiviertem virtuellen Speicher starten kann, auch wenn sie diesen abfragen.

MemoryLoad=Prozentzahl
Legt die Speicherauslastung in Prozent fest. Das Spiel wird der Ansicht sein das der Speicher immer konstant diese Auslastung hat.
Diesen Parameter werded ihr warscheinlich nie brauchen.

TotalPhys=Zahl_in_Byte
Legt die größe des physikalischen Speichers fest.

AvailPhys=Zahl_in_Byte
Legt fest wieviel physikalischer Speicher frei ist.

TotalPageFile=Zahl_in_Byte
Legt fest wie groß die Auslagerungsdatei des Betriebssystems ist. Wird auch als virtueller Speicher bezeichnet.
Sollte ein Spiel sich wegen zu wenig virtuellem Speicher beschweren diesen Parameter nutzen, nicht die TotalVirtual oder AvailVirtual Parameter!

AvailPageFile=Zahl_in_Byte
Legt fest wie viel der Auslagerungsdatei noch frei ist. Wird auch als virtueller Speicher bezeichnet.
Sollte ein Spiel sich wegen zu wenig virtuellem Speicher beschweren diesen Parameter nutzen, nicht die TotalVirtual oder AvailVirtual Parameter!

TotalVirtual=Zahl_in_Byte
Legt die größe des virtuellen Speichers fest.
Hier ist nicht der Speicher gemeint, der in den Speichereinstellungen von Windows als virtueller Speicher bezeichnet wird. Zu erklären was es hiermit aufsich hat würde jetzt zu weit führen.
Diesen Parameter werded ihr warscheinlich nie brauchen.

AvailVirtual=Zahl_in_Byte
Legt fest wieviel virtueller Speicher noch frei ist.
Hier ist nicht der Speicher gemeint, der in den Speichereinstellungen von Windows als virtueller Speicher bezeichnet wird. Zu erklären was es hiermit aufsich hat würde jetzt zu weit führen.
Diesen Parameter werded ihr warscheinlich nie brauchen.

NetBlock Plugin

Dieses Plugin blockt jeglichen Netzwerkzugriff des Spiels.
Es muss nicht weiter konfiguriert werden.

Updater

Startet man den Updater ohne Angabe von Kommandozeilenparametern checkt er ob neue Versionen verfügbar sind und fragt ob er updaten soll.

Folgende Kommandozeilenparameter stehen zur Verfügung:

-DontAsk oder -da
Schaltet den Dont Ask Modus ein.

-Silent oder -s
Schaltet den Silent Modus ein.

-Force oder -f
Erzwingt das Updaten auch wenn die installierten Versionen bereits aktuell sind.
Nützlich falls ihr versehentlich was gelöscht habt oder die GameFixer Installation sonst irgendwie defekt ist.

-OnlyDownload oder -od
Läd Updates runter, wendet sie aber nicht an.
Die Updates liegen dann im Updateordner.

-OnlyApply oder -oa
Wendet alle Updates an, die sich im Update Ordner befinden.
Verbindet sich zu keinem Server.

-Server Servername oder -svr Servername
Legt den Server fest zu dem sich der Updater als erstes verbindet.
Der Server muss nicht in der UpdateServer.lst enthalten sein.

-SingleServer oder -ss
Der GameFixer wird hiermit nur einen Verbindungsversuch zum ersten Server unternehmen. Scheitert dieser ist das Update gescheitert.

Im Systemordner ist eine Datei UpdateServer.lst. Der Updater wählt einen Server aus dieser Datei per Zufall aus und verbindet sich zu ihm. Sollte dies scheitern, wählt er den nächsten Server aus der Liste, usw.
Das ist für die Zukunft gedacht, sollte es mal wirklich viele Plugins geben und der GameFixer mal tatsächlich erfolgreich sein, so kann man so die Last auf mehrere Server verteilen.

Ich nehme sehr gerne weitere Plugins in das offizielle GameFixer Packet auf und diese werden dann auch über den Updater verfügbar gemacht. Einfach bei mir melden, wenn ihr euer Plugin gerne im Onlineupdate sehen wollt.
Ein Update kann beliebig viele Dateien und Ordner im Plugins Ordner enthalten und ist LZMA komprimiert.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild