Profile Data von StepMania läd (schon wieder) nicht

DDR / ITG am PC mit StepMania etc.

Moderator: Moderatoren

bean944
Newbie
Beiträge: 9
Registriert: Di 21. Dez 2004, 00:00

Beitrag von bean944 »

Hi,

ich hab mir gerade den Sourcecode angeschaut, die Maximalgrösse ist an der folgenden Stelle in der Datei Profile.cpp hart einprogrammiert (3.9-rc2a):

==========================================================
#define MAX_PLAYER_STATS_XML_SIZE_BYTES \
100 /* Songs */ \
* 3 /* Steps per Song */ \
* 10 /* HighScores per Steps */ \
* 1024 /* size in bytes of a HighScores XNode */
==========================================================

Die Meldung sollte also eigentlich erst ab einer Dateigrösse von 3MB auftreten. Da der Wert fest definiert ist, kannst Du Deine Suche nach Konfig-Option abbrechen, es gibt keine.

Behebung ist nur durch Veränderung der Definition + Neukompilieren möglich. Evtl. könntest Du auch bei den Stepmania-Entwicklern einen Bugreport einkippen, damit sie die Maximalgrösse etwas erweitern, dann wirds vielleicht in der nächsten Version besser.

Wenn Du eine Linux-Version verwendest, könnte ich Dir eine spezielle compilieren, aber das könntest Du dann vermutlich selbst :-).

Ciao
bean
Benutzeravatar
Reddy79
VP Mitgründer
Beiträge: 1293
Registriert: Fr 27. Jun 2003, 23:00
Wohnort: Lübbenau bei Cottbus
Kontaktdaten:

Beitrag von Reddy79 »

Na, das ist mal eine ausführliche und kompetente Antwort.

Wird in diesem Forum sehr geschätz...
<a href="http://www.post-aus-japan.de" target="_blank">www.post-aus-japan.de</a> -- alles aus Japan und mehr!

<a href="http://www.post-aus-japan.de" target="_blank"><img border="0" src="http://www.post-aus-japan.de/bilder/PaJklein.jpg"></a>
-TigerYoshiki-
Turnier-Champion 2004
Beiträge: 1971
Registriert: Mo 27. Okt 2003, 00:00
Wohnort: Ginsheim-Gustavsburg
Kontaktdaten:

Beitrag von -TigerYoshiki- »

bean944 hat geschrieben: Die Meldung sollte also eigentlich erst ab einer Dateigrösse von 3MB auftreten. Da der Wert fest definiert ist, kannst Du Deine Suche nach Konfig-Option abbrechen, es gibt keine.
Nun meine .xml ist 6.55 MB groß und ich hatte noch nie irgendwelche Probleme...

Check mal deinen virtuellen Arbeitsspeicher... vielleicht ist der zu gering.
bean944
Newbie
Beiträge: 9
Registriert: Di 21. Dez 2004, 00:00

Beitrag von bean944 »

Hi,
-TigerYoshiki- hat geschrieben:
Nun meine .xml ist 6.55 MB groß und ich hatte noch nie irgendwelche Probleme...

Check mal deinen virtuellen Arbeitsspeicher... vielleicht ist der zu gering.
Also der virtuelle Arbeitsspeicher kann damit nicht viel zu tun haben.

Es gibt zwei Möglichkeiten, warums bei Dir funktioniert, entweder hast Du nicht die aktuelle Version 3.9rc2a, oder Du hast schon eine gepatchte Version, die nicht direkt vom www.stepmania.com heruntergeladen wurde. Ich hab sie mir gerade nochmal geholt, und die aktuelle Version zeigt genau das von herge beschriebene Verhalten.

Ist auch nicht anders zu erwarten, ich zeig Dir auch gerne nochmal den Codebereich in der Profile.cpp, in der der Vergleich mit Ausgabe der Fehlermeldung von herge durchgeführt wird:

===========================================================================
//
// Don't unreasonably large stats.xml files.
//
if( !IsMachine() ) // only check stats coming from the player
{
int iBytes = FILEMAN->GetFileSizeInBytes( fn );
if( iBytes > MAX_PLAYER_STATS_XML_SIZE_BYTES )
{
LOG->Warn( "The file '%s' is unreasonably large. It won't be loaded.", fn.c_str() );
break;
}
}
===========================================================================
Der Quellcode ist sehr schön dokumentiert, man sieht dass zuerst die Grösse der Datei eingelesen wird, und der ermittelte Wert dann mit "if( iBytes > MAX_PLAYER_STATS_XML_SIZE_BYTES )" mit der oben bereits erwähnten fest vordefinierten Grösse von 3MB verglichen wird. Ist die Datei grösser, wird die Warnung ins log ausgegeben und mit dem break das weitere Einlesen der Datei abgebrochen.

Hoffe das war jetzt ausführlich genug :-).

Um auch mal was konstruktives beizutragen, wenn ich jetzt noch irgendwo das directx 8.1 sdk auftreiben kann, das gibts bei Microsoft leider nicht mehr, versuche ich mich mal an einer gepatchten Windows-Version...

Alternativ und für mich bequemer, vielleicht verrät Tiger uns ja wo er seine Version her hat :-)

Ciao
bean
-TigerYoshiki-
Turnier-Champion 2004
Beiträge: 1971
Registriert: Mo 27. Okt 2003, 00:00
Wohnort: Ginsheim-Gustavsburg
Kontaktdaten:

Beitrag von -TigerYoshiki- »

bean944 hat geschrieben: Es gibt zwei Möglichkeiten, warums bei Dir funktioniert, entweder hast Du nicht die aktuelle Version 3.9rc2a, oder Du hast schon eine gepatchte Version, die nicht direkt vom www.stepmania.com heruntergeladen wurde.
EDIT: OK vergiss alles, was ich gesagt habe. Das StepMania-Team hat wahrscheinlich ihr Programm verhunzt und ich habe mal wieder auf die falschen Dateien geschaut. ^^;

Trotzdem verstehe ich nicht, warum man solche Grenzen einbaut. :?
Benutzeravatar
herge
Member
Beiträge: 63
Registriert: Mo 1. Nov 2004, 00:00
Wohnort: Erlangen
Kontaktdaten:

Beitrag von herge »

vielen Dank insbesondere an bean944; jetzt weiss ich wenigstens, dass es nicht (ganz) an mir liegt :D
und ja ich benutze die aktuelle RC2 Mac-Version
bean944
Newbie
Beiträge: 9
Registriert: Di 21. Dez 2004, 00:00

Beitrag von bean944 »

@Tiger:

Eine Begrenzung der Dateigrösse macht prinzipiell schon Sinn, speziell bei den Statistik-Dateien. Die sind relativ häufig zum Schreiben geöffnet, sodass die Wahrscheinlichkeit recht hoch ist, dass sie bei einem Absturz zerschossen werden.
Beim nächsten Start würde das Prog dann gleich wieder absemmeln beim Versuch eine riesige XML-Datei zu parsen.

Aber in einem hast Du natürlich recht, wäre vielleicht ganz sinnvoll die Grenze nicht hart einzuprogrammieren, sondern konfigurierbar zu machen.

@herge

Ups, wenn Du auf dem Mac spielst, kann ich Dir nicht weiterhelfen, da hab ich nichtmal zu einem Rechner Zugang, sorry. Dann spare ich mir auch den weiteren Kampf mit dem VC++

Ciao
bean
Antworten

Zurück zu „Simulationen“