PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : QuickSave Cleaner Tool



touchdown
30.04.2012, 20:39
Hi,

da mich die nicht überschreibenden Quicksaves extrem stören habe ich ein Tool geschrieben, mit dem sich geziehlt alle Quicksaves löschen lassen.

UPDATE: Neue Version 0.3
Changes:
- Funktioniert jetzt auch mit englischen Savegames
- .bat Datei beigefügt, um auf den Aufruf mit "java -jar" zu verzichten
UPDATE: Neuer Build für Java 6+
Changes:
- JAR neu gebaut für Java 6+
- keine Änderungen am Code
UPDATE: Neue Version 0.2
Changes:
- optionale Parameter (siehe Abschnitt 'Benutzung')
- Unterstützt jetzt auch Auto-Saves
- Standardmäßig bleiben der jeweils aktuellste Quick/Auto-Save erhalten

Einmal das Programm: 38077
Und für Interessierte der Quellcode: 38078

Benutzung:
Voraussetzung: Java 6 oder höher

Risen2SaveCleaner [savegame directory]
Wenn kein Verzeichnis angegeben wird, wird das aktuelle Verzeichnis versucht.
Optionale Parameter:

-kN : behält die N aktuellsten Saves von jedem Typ. Default N=1
-q : Löscht Quicksaves, wenn weder -q noch -a angegeben ist werden beide Typen gelöscht
-a : Löscht Auto-Saves, wenn weder -q noch -a angegeben ist werden beide Typen gelöscht
-d : Löscht deutsche Saves, wenn weder -d noch -e angegeben ist werden Saves beider Sprachen gelöscht
-e : Löscht englische Saves, wenn weder -d noch -e angegeben ist werden Saves beider Sprachen gelöscht
-v : Versionsinformationen anzeigen
-n : Nicht löschen. Normale Konsolenausgabe, aber Dateien werden nicht wirklich gelöscht

Beispiele:
Alle Quick/Auto-Saves löschen:
Risen2SaveCleaner -k0 "PATH TO SAVEGAMES"
Nur Auto-Saves löschen und die 2 neuesten behalten:
Risen2SaveCleaner -k2 -a "PATH TO SAVEGAMES"

Hinweise:

Alle Tests bei mir waren erfolgreich, aber ich kann nicht 100% garantieren daß es keine Probleme geben wird. Also vor dem ersten Einsatz lieber erst ein Backup erstellen und Testen ob es bei euch funktioniert.
Das Programm gleicht den Hex-Code des Save-Namens mit dem Namen einen Quick/Auto-Saves ab.
Also erstellt keine wichtigen Speicherstände die mit "Schnellspeicherung" oder "Auto. Speicherung" beginnen.
Die Bestimmung der letzten Saves wird über den Zeitpunkt der letzten Änderung realisiert.
Die Nummer des Saves spielt hier keine Rolle, so daß auch sicher die aktuellsten Saves bestimmt werden können.
Das Tool sollte nicht ausgeführt werden während Risen 2 läuft. Dies kann seltsame, wenn auch nicht permanente, Auswirkungen auf die Speichern/Laden Funkton im Spiel haben.

kleineMax
30.04.2012, 23:50
Mein Held :D

ABER... löscht das wirklich ALLE?

Wäre cool wenn das Tool den letzten (neusten) nicht löschen würde

touchdown
01.05.2012, 09:50
Mein Held :D

ABER... löscht das wirklich ALLE?

Wäre cool wenn das Tool den letzten (neusten) nicht löschen würde

Das Tool kann jetzt auch die neuesten Saves beibehalten, siehe Update im ersten Post.

kleineMax
01.05.2012, 15:12
Hm tool funktioniert nicht ^^

Kommt folgende Fehlermeldung: "Could not find the main class: de.dicterium.tools.risen2.SaveCleaner. Program will exit"

Odin Stormblade
01.05.2012, 16:00
Hm tool funktioniert nicht ^^

Kommt folgende Fehlermeldung: "Could not find the main class: de.dicterium.tools.risen2.SaveCleaner. Program will exit"


Das passiert, weil Du Java nicht in den Systemvariablen eingetragen hast. Aber auch der direkte Aufruf via Command-Line funktioniert so nicht.

Also entweder touchdown ist so nett und kompiliert uns eine .exe oder Du musst Java in die Systemvariablen packen ;)

touchdown
01.05.2012, 16:41
Das passiert, weil Du Java nicht in den Systemvariablen eingetragen hast. Aber auch der direkte Aufruf via Command-Line funktioniert so nicht.

Also entweder touchdown ist so nett und kompiliert uns eine .exe oder Du musst Java in die Systemvariablen packen ;)

So einfach kann man Java-Programme nicht in eine .exe packen, daß ist schließlich Bytecode, der von der Java-VM ausgeführt wird, und keine ausführbare Datei. Bei größeren Projekten könnte man die ganze JVM mitliefern und es als .exe starten, aber das macht bei einem 5kB Programm keinen Sinn.

Funktionieren denn andere Java-Programme bei dir? Was ist die Ausgabe von "java --version" und "javac --version"?
Ich kann es gerade nur mit Java 1.7 testen und damit wurde es auch gebaut. Codestyle sollte aber zumindest 1.6 kompatibel sein.

Odin Stormblade
01.05.2012, 16:45
Mit dem Kompilieren von Java Programmen habe ich mich nie beschäftigt... Andere Tools die Java verwenden, laufen, ja. Allerdings starten die halt auch mit einer .exe (TV-Browser als Beispiel)

Ich könnte auch Java in die Systemvariablen schreiben, dann würde es funktionieren... Aber das will ich nicht. Bin kein großer Fan von Java ;)

Trotzdem Danke für Deine Mühen ;)

touchdown
01.05.2012, 16:54
Problem scheint wohl doch an der Java-Version zu liegen. Also mit der aktuellen Java Runtime Version (1.7) sollte es funktionieren.

Ich versuche aber noch den Java-Code mit gcj zu einer Windows exe zu kompilieren, kann aber nicht versprechen, dass es funktioniert...

kleineMax
01.05.2012, 18:39
Hm ich dächte ich hätte das mal eingefügt... aber "java -version" funktioniert bei mir, "javac -version" jedoch nicht.
Andere javaanwendungen funktionieren auch da ich in dem breich viel von Minecraft genutzt habe und nutzte. Als spontanes Beispiel fällt mir die Serversoftware und eine Redstonesimulator ein.

wunderklumpen
01.05.2012, 18:59
Mein Held :D



ne wirklich gute sache

Alpha
01.05.2012, 20:20
Bei mir funzt es nicht, weder mit java -jar noch mit javac --jar noch mit java --jar. Aber die, bei denen es funktioniert, hab ich mal kurz ein Batch-Code zusammengeschnipselt, einfach den Code in einem Editor als *.batch Datei abspeichern, im selben Ordner wie der Java Datei ist angenehmer.


@echo
java -jar Risen2SaveCleaner.jar "C:\%HOMEPATH%\Saved Games\Risen2"

touchdown
01.05.2012, 20:35
Hast Du auch Java 7 (1.7) installiert und verweist "java" darauf? Das Tool scheint nicht mit Java 6 kompatibel zu sein, ich versuche das gerade zu bestätigen und eine Java 1.6 kompatible Version zu bauen.
Und eine .exe werde ich wohl wirklich nicht bauen können, da z.B. gcj noch nichtmal Java 5 vollständig unterstützt...

Alpha
01.05.2012, 20:42
Ja, Java 7 Update 3 steht da.

touchdown
01.05.2012, 21:05
Mit einer 1.6er JRE bekam ich folgenden Fehler:
Exception in thread "main" java.lang.UnsupportedClassVersionError

Hatte den von euch auch jemand?
Ich habe ein neues JAR auf 1.6 Basis kompiliert, das läuft bei mir auch in der 1.6er JRE, vielleicht könntet ihr das nochmal probieren.
38061
Ansonsten hilft mir die genaue Fehlermeldung sehr weiter, wenn ich Fehler beheben muss.

kleineMax
01.05.2012, 22:20
Ich probier mal, aber du kannst doch nicht auf einer Java Version aufbauen die atm nur für "Entwickler" zur verfügung steht -.-


Warum ist Java SE 7 noch nicht auf java.com verfügbar?

Das neue Release von Java wird zuerst Entwicklern zur Verfügung gestellt, um sicherzustellen, dass keine größeren Probleme auftreten, bevor die neueste Version auf der java.com-Website zum Download für Endbenutzer bereitgestellt wird.

touchdown
01.05.2012, 22:29
Java 7 ist schon länger draußen, sowohl das JDK für Entwickler als auch die normale JRE nur fürs ausführen von Programmen.
Hier der Link zur JRE: http://www.oracle.com/technetwork/java/javase/downloads/jre-7u4-download-1591157.html
Kann sein dass die (deutsche?) Java Mainpage etwas hinterherhinkt...

kleineMax
01.05.2012, 22:48
Nun gut, ich kucke immer bei Java.com. Aber die 1.6er version funktioniert. Also kannst du glei mal in deinem Startpost anpassen ^^ (bzw darauf hinweisen)

touchdown
01.05.2012, 23:24
Nun gut, ich kucke immer bei Java.com. Aber die 1.6er version funktioniert. Also kannst du glei mal in deinem Startpost anpassen ^^ (bzw darauf hinweisen)

Danke fürs Feedback, habe den ersten Post geupdated.

Wenn jetzt noch jemand englische (oder anderssprachliche) Quick/Auto-Saves für mich hätte §wink dann könnte ich die auch noch einbauen.

Blue Force
02.05.2012, 08:49
kannst ja mal im englischen Risen Forum nachfragen

touchdown
02.05.2012, 23:02
Neue Version 0.3 ist draußen.
Es werden jetzt auch englische Savefiles unterstützt und es wird eine .bat Datei zum einfacheren Aufruf mitgeliefert.

Grestorn
12.05.2012, 19:56
Sehr praktisch!

Vielen Dank!

Eleminator
13.05.2012, 00:06
Moin,

schönes tool! Bei der .bat finde ich es sehr angenehm, wenn am ende noch ein "cmd" steht, so das die shell offen bleibt.
Die .bat sieht bei mir jetzt so aus:

@echo off
java -jar Risen2SaveCleaner.jar %*
cmd
Mal schaun, evtl. probier ich mich mal an ner GUI für das Tool, den Quellcode hab ich mir jedenfalls schonmal geladen ;)...

Grüße,
Eleminator

Dungendar
09.08.2013, 00:09
Danke auch von mir!

@PB, DS: Ist mir ein absolutes Rätsel, wie sich ein derartiger Fehler in die Release Version mogeln konnte, und selbst mit dem Patch nicht behoben wurde.:mad:

neWTom
21.06.2017, 10:19
Die Savegames findet man unter Windows 10 übrigens unter: C:/Benutzer/Benutzername/Gespeicherte Spiele/Risen 2.