Autor |
Nachricht |
< unbenennbares Problem |
|
Verfasst am:
Di, 12 März 2013 - 20:22
|
|
|
Wasserträger

Anmeldungsdatum: 25.02.2013
Beiträge: 36
Wohnort: Bielefeld
|
|
Hallo :)
jetzt habe ich mal ein außergewöhnliches Problem. Ich weiß nicht wie ich es benennen soll, daher beschreibe ich es mal.
Es geht vermutlich um die Statusleiste (vermutlich).
Ich habe einen Raum, der sich Sonnenhügel nennt. Ich hatte vor, dass der Umlaut im Namen auch so dargestellt wird, weshalb ich mit "the printed name of Sonnenhuegel is "Sonnenhügel" das erzwingen wollte. Das klappte auch, sowohl im Spiel als auch in der Statusleiste. Jedoch funktionierte rein gar nichts anderes im Spiel mehr. Es war plötzlich nur noch dieser Raum zu sehen und der Spieler befand sich auch zu Spielbeginn direkt dort (obwohl es der 7. Raum ist).
Ein solches Problem hatte ich zuvor schon mal. Da wollte ich die Statusleiste zentrieren. Wurde auch einwandfrei so dargestellt, es funktionierte im Spielverlauf auch alles, bis auf die Ja/Nein Frage, diese Funktion wurde komplett ausgeblendet.
Ich hab jetzt zwar alles was stört (Zentrierung und Umlautdarstellung) wieder rausgenommen und jetzt läuft alles wie gehabt, aber was kollidiert denn da?
Ist Euch sowas schon mal begegnet? |
|
|
|
 |
|
Verfasst am:
Di, 12 März 2013 - 22:09
|
|
|
Experte

Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
Das sieht mir wie eine Feldüberschreibung durch indexed texts aus, bei der etwas anderes kaputtgeschrieben wird, obwohl "Sonnenhügel" eigentlich keine Default-Feldlänge sprengen dürfte. Vielleicht ist aber auch die Feldreferenz korrupt, etwa Null, so dass Zeichen im Header kaputtgeschrieben werden, die für den Interpreter eine besondere Bedeutung haben.
Um den Fall bearbeiten zu können, benötigen wir etwas mehr Informationen.
Für welche Plattform (z5, z8, Glulx) kompilierst Du? Welche Extensions hast Du eingebunden? Taucht der Fehler auch auf, wenn Du die Extensions, soweit möglich, wieder herausnimmst?
Taucht der Fehler nur dann auf, wenn Du den Text zentrierst und der printed name "Sonnenhügel" ist? Hast Du einmal mit anderen Texten gespielt?
Und, wichtig fürs Debuggen: Kannst Du den Fehler nachvollziehen, wenn Du den verursachenden Code isolierst, also ein neues Spiel mit denselben Extensions und denselben Einstellungen, aber nur mit dem Raum Sonnenhügel erzeugst? Wenn ja, interessiert sich das Team GerX sicher dafür. Wenn nicht, könntest Du vielleicht eine Kopie der Datei "story.ni" machen, und sie Team GerX zukommen lassen, wenn es Dir nichts ausmacht, dass dann jemand Deinen Quelltext kennt. _________________ Every silver lining has a cloud. |
|
|
|
 |
|
Verfasst am:
Di, 12 März 2013 - 22:38
|
|
|
Wasserträger

Anmeldungsdatum: 25.02.2013
Beiträge: 36
Wohnort: Bielefeld
|
|
Ok, also ich versuch mal darauf Antworten zu geben, sofern ich das kann. (Ich kompilier mit Z8)
Der Fehler, der bei der Ja / Nein Frage auftaucht ist Folgender:
Ich zentriere die Statusleiste mit:
Code: | Rule for constructing the status line:
center "[location]" at row 1;
rule succeeds. |
Komme ich dann an die Stelle mit der J/N Frage kommt Folgendes:
Zitat: | -------------->nimm messer
Echt jetzt? Das Käsemesser solls sein?
ja
Bitte antworte mit Ja oder Nein. > nein
Bitte antworte mit Ja oder Nein. > ja
Bitte antworte mit Ja oder Nein. > ja
Bitte antworte mit Ja oder Nein. > |
Dort hängt das Spiel dann komplett. Also egal was ich ab da eingebe, es kommt immer "bitte antworte ..."
Nehme "Zentrieren" wieder komplett raus, ist alles wieder gut.
(Dieser Fehler existiert auch, wenn ich die Räume separat in ein neues Spiel kopiere)
Fehler bei "Sonnenhügel":
Füge ich dann "The printed name of Sonnenhuegel is "Sonnenhügel" ein, startet das Spiel in diesem Raum und ich kann nichts weiter machen.
(Auch der Fehler existiert, wenn ich es separat ausprobiere)
Ich kann Euch gerne das gesamte Spiel zukommen lassen.
Kann ich Euch (Dir oder dem Team GerX) das auch irgendwie gesondert zukommen lassen? Ich mach mich hier sonst zum Horst des Forums fürchte ich :D |
|
|
|
 |
|
Verfasst am:
Di, 12 März 2013 - 22:48
|
|
|
Experte

Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin
|
|
Hast du's schonnmal mit einer Neuinstallation von Inform probiert? Ich habs irgendwie im Gefühl, dass dein eingebundenes "Include Basic Screen Effects SP by Emily Short" nicht ganz das alte ist, das "SP" gehört da nicht rein und du hast da einiges möglicherweise undurchschaubar geändert. _________________ interactive fiction database |
|
|
|
 |
|
Verfasst am:
Di, 12 März 2013 - 22:58
|
|
|
Wasserträger

Anmeldungsdatum: 25.02.2013
Beiträge: 36
Wohnort: Bielefeld
|
|
Ne, glaub ich eigentlich nicht. Ich hab das zwischenzeitlich zwar auch schon mal gedacht, aber ich hab es dann auf meinem anderen Rechner (der ein ganz jungfräuliches Inform hat) auch sicherheitshalber noch mal ausprobiert. Auf dem anderen Rechner habe ich in Inform oder irgendwelchen Extensions auch nicht herumgepfuscht.
Da bestehen die Probleme auch. |
|
|
|
 |
|
Verfasst am:
Di, 12 März 2013 - 23:04
|
|
|
Experte

Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin
|
|
RULES, ACTIONS, TRACE, gibt's da Hinweise? Vor der Vermutung grundsätzlicher Probleme sollte man immer erst hausgemachte suchen. Kannst du das Problem isolieren und ein Codeschnipsel zur Rekonstruktion posten? _________________ interactive fiction database |
|
|
|
 |
|
Verfasst am:
Di, 12 März 2013 - 23:10
|
|
|
Abenteurer

Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
Konnte den Fehler reproduzieren.
Es genügt tatsächlich die status line rule zu überschreiben mit dem (in der Doku enthaltenen) center... code und es folgt auf die player consents Abfrage:
Code: | Zoom Interpreter fatal crash:
zcode_op_aread called with the memory buffer size set to 0 (PC=#15995) |
Hmmm, das sieht mir ganz nach einer neuen Baustelle aus ...... Noch übler: das Ganze crasht nur mit deutscher Extension .... |
|
|
|
 |
|
Verfasst am:
Di, 12 März 2013 - 23:12
|
|
|
Abenteurer

Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
Minimaler Code der den Fehler produziert:
Code: | "Test" by Michael Baltes
Include German by Team Gerx.
Include basic screen effects by emily short.
Rule for constructing the status line:
center "[location]" at row 1;
rule succeeds.
Lab is a room. The printed name is "Sonnenhügel"
the kaesemesser is a thing in lab.
instead of taking the Kaesemesser:
say "Echt jetzt? Das Käsemesser solls sein?";
if player consents:
move the kaesemesser to the player;
say "[bold type]Die private Miliz des Blah Blah …..";
otherwise:
move the Kaesemesser to the Anwesen des Dionys;
say paragraph break.
the anwesen des dionys is a room. |
|
|
|
|
 |
|
Verfasst am:
Di, 12 März 2013 - 23:16
|
|
|
Wasserträger

Anmeldungsdatum: 25.02.2013
Beiträge: 36
Wohnort: Bielefeld
|
|
Na ich vermute ja nicht zwangsläufig grundsätzliche Probleme, ich weiß ja nicht mal wo ich überhaupt suchen soll...
Hab das jetzt gemacht, also rules, actions, tracing....
Da werde ich bombadiert mit allerhand Zeugs (ja, ich weiß, sehr konkret beschrieben - ich wär auch gern besser)
Komme ich zu der Fragestelle kommt allerdings bei der Eingabe von Ja resp. Nein nichts mehr, also es wird nichts mehr ausgegeben von dem, was dort passiert.
Mit dem Codeschnipsel ist das so eine Sache, ich bekomm das Problem nicht isoliert, weil aktionen der Räume ineinandergreifen. Lösch ich was weg, funktionierts aufeinmal aus einem anderen Grund nicht mehr.
Ich kann den ganzen Quelltext posten, wenn es was bringt, aber der ist über 6000 Wörter lang :( |
|
|
|
 |
|
Verfasst am:
Di, 12 März 2013 - 23:18
|
|
|
Wasserträger

Anmeldungsdatum: 25.02.2013
Beiträge: 36
Wohnort: Bielefeld
|
|
Oh klasse Mikawa :)
Ja so kann man es auch machen.
Ist das Hügelproblem auch da zu suchen?
Edit: seh gerade, das hast Du auch schon eingebaut.
Zuletzt bearbeitet von Rabea am Di, 12 März 2013 - 23:19, insgesamt einmal bearbeitet |
|
|
|
 |
|
Verfasst am:
Di, 12 März 2013 - 23:19
|
|
|
Experte

Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin
|
|
Rabea hat folgendes geschrieben: | Na ich vermute ja nicht zwangsläufig grundsätzliche Probleme, ich weiß ja nicht mal wo ich überhaupt suchen soll... |
Nein, das ist wirklich ein grundsätzliches Problem mit der German-Extension, habs grad selbst ausprobiert. _________________ interactive fiction database |
|
|
|
 |
|
Verfasst am:
Mi, 13 März 2013 - 0:01
|
|
|
Experte

Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin
|
|
Mikawa hat folgendes geschrieben: | Include German by Team Gerx.
Include basic screen effects by emily short. |
Ich hab grad nochmal draufgeschaut, BSE muss immer vor German eingebunden werden, dann klappts. Mich hat's gereizt, das mal auf Französisch zu bringen mit Eric Forgeots French, geht die überhaupt??? Ich krieg die nicht zum Laufen. _________________ interactive fiction database |
|
|
|
 |
|
Verfasst am:
Mi, 13 März 2013 - 0:16
|
|
|
Wasserträger

Anmeldungsdatum: 25.02.2013
Beiträge: 36
Wohnort: Bielefeld
|
|
Zitat: | Ich hab grad nochmal draufgeschaut, BSE muss immer vor German eingebunden werden, dann klappts. |
Mh ne, tuts nicht. Ich bekomme bei der Frage wieder genau den gleichen Fehler, also es hägt wieder. |
|
|
|
 |
|
Verfasst am:
Mi, 13 März 2013 - 0:37
|
|
|
Experte

Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin
|
|
Rabea hat folgendes geschrieben: | Ich bekomme bei der Frage wieder genau den gleichen Fehler, also es hägt wieder. |
Das ist dann ein Fall für die Z-Ghostbusters, ohne Quelltext zur Reproduktion des Fehlers wird das nicht gehen. Als Workaround klappt's ja vorerst ohne die kritischen Codes für die gecenterte Statuszeile, die nun auch nicht gar so spielentscheidend sein sollte. _________________ interactive fiction database |
|
|
|
 |
|
Verfasst am:
Mi, 13 März 2013 - 0:41
|
|
|
Wasserträger

Anmeldungsdatum: 25.02.2013
Beiträge: 36
Wohnort: Bielefeld
|
|
|
|
|
 |
|