Geschrieben um 13:07 am 20.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 275 | Erstmal vorneweg zu den Begleitumständen: Ich benutze Inform 7 zu Hause auf einem Windows-Rechner, nehme mein aktuelles Projekt bei längeren Reisen aber auf dem MacBook mit und bearbeite es dann mit Inform 7 auf Mac OS X. Bisher klappte das einwandfrei. Aktuell kompiliert das Projekt auf dem Mac aber nur als z-Code. Sobald ich es auf Glulx umstelle, erhalte ich folgende Fehlermeldungen: Inform 7:
Der Inform-6-Compiler aber:
Verwirrend, weil das im Grunde zwei unterschiedliche Meldungen sind. Der Witz ist aber, dass Inform 7 auf dem Mac das im Zusammenhang mit GerX und Glulx aktuell bei mir immer produziert, selbst bei folgendem Minimalprojekt (das ich auf dem Mac angefangen und nie unter Windows bearbeitet habe):
|
Geschrieben um 17:35 am 20.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | ChrisW:
Ich habe die Fehlermeldungen auf einem iMac reproduzieren können. Warum sich das Mac-Inform anders verhält als das Windows-Inform, ist mir nicht klar. Es ist jedoch denkbar dass für 6F95 andere Standardwerte für die Memory-Settings angewendet wurden als in den vorigen Versionen. Die Standardwerte wurden für Glulx vor nicht allzu langer Zeit mal auf zeitgemäße Größe gebracht; möglich, dass der MAX_LINESPACE von 10000 der alte Wert ist und eigentlich schon ein höherer Wert der Standard ist. (Ich weiß gerade nicht, wie man das z.B. für Windows herausfinden kann.) Das Problem ist eindeutig der MAX_LINESPACE. Die Fehlermeldung, die sich auf MAX_PROP_TABLE_SIZE bezieht, scheint irrelevant zu sein (und ist wohl ein Inform-Fehlermeldungs-Bug). Ich gehe davon aus, dass ein Minimalspiel + GerX in Hinblick auf MAX_LINESPACE etwas mehr Ressourcen verschleudern als Sand-dancer pur. (Edit: Ein Minimalspiel mit GerX ist zwar wesentlich kleiner als Sand-dancer, aber MAX_LINESPACE bezieht sich auf die Anzahl der "Grammar-Lines", das sind die Satzmuster, die zum Parsen von Kommandos dienen. Davon gibt es in der deutschen Erweiterung deutlich mehr als im englischen Original, etwa dreimal so viele.) Der MAX_LINESSPACE von 10000 wird jedenfalls leicht überschritten. Schon eine kleine Anhebung auf blue löst das Problem für ein Minimalspiel + GerX. Für größere Spiele müsste wohl ein entsprechend höherer Wert gewählt werden. |
Geschrieben um 20:10 am 20.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 275 | Wenn man Inform 7 anweist, die Build-Dateien beim Beenden nicht gleich aufzuräumen, kann man in die auto.inf schauen. Da legen die Windows- und die Mac-Version gleichermaßen fest:
|
Geschrieben um 12:14 am 21.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | ChrisW:
So sieht's wohl aus. Ich habe mal im aktuellen I6-Compiler-Quellcode gestöbert: Es gibt drei verschiedene Standard-Speichereinstellungen, die den unterschiedlichen Plattformen zugewiesen werden: LARGE, SMALL und HUGE. Für Windows und Linux ist HUGE der Standard, wo MAX_LINESPACE auf 16000 gesetzt wird, für Mac OS X wird LARGE hergenommen und MAX_LINESPACE auf 10000 gesetzt. Das wurde vielleicht tatsächlich einfach übersehen. Edit: Es ist unproblematisch, die Standardeinstellung für MAX_LINESPACE auf 16000 direkt in GerX festzusetzen. Der Autor kann trotzdem noch den Wert nachträglich ändern. Deshalb denke ich, dass wir einen Wert von 16000 ab der nächsten Version als Standard setzen werden, damit Mac-Nutzer keine Probleme bekommen. Für alle anderen wird sich dadurch nichts ändern. |
Geschrieben um 16:24 am 28.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 57 | Das Setzen des höheren Wertes direkt in GerX hat auf jeden Fall geholfen. |