================================================================================ GerX Version 3/161221 (v3.45) kompatibel mit I7-Build 6G60 PARSER -- (02.09.2016) Ein Fehler in Zusammenhang mit Kommandos ohne Verben wird jetzt in CheckYodaClause() umgangen. Vielen Dank an "Wilson" fürs Melden. ================================================================================ GerX Version 3/151221 (v3.44) kompatibel mit I7-Build 6G60 PARSER -- Bei der Überprüfung möglicher Infinitiv-Formen ist noch ein Fehler korrigiert worden. In der Routine CheckInfinitiveClause() wurde nach dem Abrücken der Präposition der Puffer nicht richtig angepasst, weil der Startwert für j in der Schleife mit == anstatt mit = zugewiesen wurde. ================================================================================ GerX Version 3/150621 (v3.43) kompatibel mit I7-Builds 6G60 und 6F95 PARSER -- Die Prüfung der Synonyme in CheckSynonyms() ignoriert jetzt Eingaben, die nur aus einem Wort bestehen. Wenn der Autor einen Leerstring als Synonym für ein Wort definiert hat, kam es im STRICT- Modus zu einem Fehler, wenn ein Einwortsatz eingegeben wurde. TEXTAUSGABE -- Die Meldung für (##Miscellany, 28) wurde für den Gebrauch mit expliziten Fehlermeldungen korrigiert. -- In der Routine PrintWord(), die für die Ausgabe von Topic-Wörtern zuständig ist, wird der Zeichenbereich für ASCII/ZSCII-Kleinbuchstaben jetzt richtig eingegrenzt. -- Und mal wieder PrintCommand(): Hier gab es schon länger einen Leerzeichenfehler bei der Ergänzung von Satzmustern mit Präposition, der jetzt behoben ist. -- Bei der Gelegenheit auch gleich noch in PrintCommand() an einer Stelle das fehlende Setzen des Dativ-Flags anhand des Dativ-Tokens aus dem aktuellen Satzmuster ergänzt. ================================================================================ GerX Version 3/140621 (v3.42) kompatibel mit I7-Builds 6G60 und 6F95 TEXTAUSGABE/LISTEN -- Die Listenoption "prefacing with is/are" gab bislang kein "ist/sind" in einer Inhaltsliste aus. (Die entsprechenden Zeilen waren auskommentiert, was sinnvoll war, als der Listenschreiber noch keine unterschiedlichen Fälle ausgeben konnte. Später haben wir einfach vergessen, die Zeilen wieder einzukommentieren, was jetzt endlich mal nachgeholt wurde.) Jetzt sehen verschachtelte Inhaltslisten standardmäßig wie folgt aus: Du siehst hier einen wackeligen Tisch (darauf sind ein Schraubendreher, ein kleines Glas (darin ist Wasser) und eine gelbe Birne). Mit der neu eingeführten Use-Option Use omit is/are in contents lists. kann die Ausgabe des Hilfsverbs wieder unterdrückt werden: Du siehst hier einen wackeligen Tisch (darauf einen Schraubendreher, ein kleines Glas (darin Wasser) und eine gelbe Birne. ================================================================================ GerX Version 3/140429 (v3.41) kompatibel mit I7-Builds 6G60 und 6F95 PARSER -- Die Yoda-Option wird Standard: Der Parser versteht jetzt standardmäßig Satzmuster, die eine nachgestellte Präposition enthalten, auch mit abweichender Syntax (Statt nur HEB APFEL AUF werden nun auch AUFHEB APFEL und HEB AUF APFEL verstanden.) Wenn die Korrektur der Spielereingabe angezeigt werden soll (in Klammern nach der Eingabe), dann kann die Option Use Yoda command clarification. benutzt werden. ================================================================================ GerX Version 3/140330 (v3.40) kompatibel mit I7-Builds 6G60 und 6F95 PARSER -- Eine weitere Korrektur in AddressMatchesText(), ähnlich der vom vorigen Update. LIBCHECK -- Der Libcheck moniert jetzt keine Imperative mehr, die auf -e enden müssen, weil die Form ohne -e nicht existiert (wie z.B. 'knuddle', 'buddle', 'wedle' usw.). Der Eintrag neuer Imperativ-Formen dieser Art in die Tabelle "Table of blessed verb forms (continued)" entfällt somit für den Autor. ================================================================================ GerX Version 3/140307 (v3.39) kompatibel mit I7-Builds 6G60 und 6F95 PARSER -- Im Zusammenhang mit Topic-Tokens konnte es bei ergänzten Kommandos zu einem ABSTURZ des Spiels kommen. Schuld war die I6-Routine AddressMatchesText(), die keine negativen Adressen mochte, was aber bei verb_prep, deren Standardwert -1 ist, vorkommen kann. AdressMatchesText() gibt nun false zurück, wenn der übergebene Text ein negativer Wert ist. ================================================================================ GerX Version 3/131221 (v3.38) kompatibel mit I7-Builds 6G60 und 6F95 TEXTAUSGABE -- In der German printing the name of a body part rule wurde ein Tippfehler in der Ausgabe für den Dativ-Plural korrigiert. -- In SL_Location() wurde das Kasus des Raumnamens nicht gesetzt, sodass bei UNDO der Raumname nicht im Nominativ ausgegeben wurde. In SL_Location() und in der "German room description heading rule" wurde das jetzt geändert. -- Eine neue Use-Option wurde hinzugefügt: Use capitalised room description headings. Die Option bewirkt, dass unabhängig vom printed name des Raumes vor der Raumbschreibung und in der Statuszeile immer ein großgeschriebener Raumname ausgegeben wird, was bei Namen wie z.B. "kleiner Schuppen" zum Tragen kommt. Die Option zeigt Wirkung in der "German room description heading rule" und in SL_Location(). -- Die Use-Option Use capitalized Du. wurde entfernt. Es existiert nun jetzt noch die Option mit der britischen Schreibweise Use capitalised Du. PARSER -- Einige Interpreter (z.B. Bocfel, der in Gargoyle die Standardvorgabe für Z-Code-Spiele ist) ersetzen die Kommandos "z", "g" und "x" ungefragt in "wait", "again" bzw. "examine". Die englischen Kommandos waren bislang nicht definiert, was dazu eventuell dazu führte, dass die Abkürzungen nicht verstanden wurden, obwohl sie im Wörterbuch des Spiels vorhanden sind. Um das zu umgehen sind jetzt die Vokabeln 'wait' und 'examine' ins Wörterbuch aufgenommen worden. 'again' war zuvor schon in GerX bekannt, wurde jedoch von Is_again_word() galant ignoriert, was jetzt korrigiert ist. VERBEN/SATZMUSTER -- Rund ums Brennen, Verbrennen und Entflammen gab es ein paar Korrekturen. ================================================================================ GerX Version 3/130624 (v3.37) kompatibel mit I7-Builds 6G60 und 6F95 TEXTAUSGABE -- Nur Z_Code: Bei aktivierter Transcript-Funktion wurde in der Mitschrift bei jedem Neustart des Spiels eine Liste aller Objekte geschrieben. Für Z-Code werden die Objekte jetzt analog zu Glulx initialisiert, indem bei Spielbeginn die Objektnamen auf einen Puffer geschrieben werden. ================================================================================ GerX Version 3/130621 (v3.36) kompatibel mit I7-Builds 6G60 und 6F95 PARSER -- Die I6-Routine YesOrNo() enthielt eine veraltete Variante des read-Befehls, der sich mit den Kurzstrings, die in GerX für die Endungen benutzt werden, nicht vertrug. Danke an Martin Oehm für die Überarbeitung der Routine. -- Bei der Vervollständigung von Satzmustern wird standardmäßig eine Meldung in Klamemrn ausgeben. Die Ausgabe der Meldung kann jetzt mit der Option Use silent inference. unterdrückt werden. Vielen Dank an Mischa Magyar für den Vorschlag! ================================================================================ GerX Version 3/121221 (v3.35) kompatibel mit I7-Builds 6G60 und 6F95 PARSER I -- Ein Fehler im Zusammenhang mit AGAIN (G) wurde behoben, der auch im Original-Inform enthalten ist: AGAIN im ersten Zug erzeugte eine missverständliche Meldung, besonders, wenn explizite Fehlermeldungen benutzt werden. Das lag daran, dass buffer3->1 (buffer3-->0 in Glulx) bei Spielbeginn ungleich Null ist. -- In LTI konnte es (mit etwas bösem Willen) zu einem Buffer-Overflow kommen, wenn zu viele Umlaute/ß in die Umschreibungen umgewandelt werden. Der Vorgang wird nun abgebrochen, wenn das Feld mit den Umschreibungen eine Länge von INPUT_BUFFER_LEN erreicht hat. -- Die englische Vokabel 'again' als Again-Word wieder mit aufgenommen (analog zu 'undo'). PARSER II -- Für Verben mit Präposition hat Martin Oehm eine Erweiterung beigesteuert, die es dem Spieler ermöglicht, alternativ zur korrekten Syntax, zum Beispiel >SCHAU YODA AN auch folgende Syntax zu verwenden: >SCHAU AN YODA >ANSCHAU YODA Dies wird offenbar häufiger von Spielern klassischer Adventure- Spiele versucht, und Autoren können mit den folgenden neuen Use-Optionen dafür sorgen, dass diese Sätze verstanden werden. Vielen Dank an Martin! USE-OPTIONEN -- Um die Parser-Erweiterung für die Verben mit Präposition zu aktivieren, gibt es zwei neue Use-Optionen: Use leniency towards Yoda-like input. Diese Option bewirkt, dass Sätze wie ZIEH AUS JACKE oder AUSZIEH JACKE verstanden werden. Zusätzlich wird dem Spieler angezeigt, dass seine Eingabe umgewandelt wurde: >SCHAU AN YODA (Schaue Yoda an) Er ist vor Schreck ganz grün im Gesicht. Wenn der Hinweis auf die Korrektur des Satzes nicht ausgegeben werden soll, kann die alternative Option Use silent leniency towards Yoda-like input. aktiviert werden. STANDARD-ERWEITERUNGEN -- Die (automatische) Übersetzung von Emily Shorts Erweiterung Basic Help Menu ist nun in GerX enthalten. Der Text wurde auf Grundlage der Übersetzung von Lukas Strahner überarbeitet. ================================================================================ GerX Version 3/120621 (v3.34) kompatibel mit I7-Builds 6G60 und 6F95 GENUS-DEFINITIONEN -- Die Attribute für das Setzen des Objektgenus (male, female, neuter) sind obsolet. Objekte können weiterhin mit den Attributen definiert werden, diese werden jedoch nach Spielbeginn in den grammatical gender übersetzt und anschließend gelöscht. Eine direkte Abfrage der Attribute während des Spiels ist deshalb nicht mehr möglich, die Adjektive male, female und neuter werden aber simuliert, sodass sie weiterhin vom Autor benutzt werden können. -- Maßgeblich für das Festlegen des Genus ist der grammatical gender (GG), eine Eigenschaft, die jedes Objekt besitzt. Die Werte des GG sind masculine-gender, feminine-gender, neuter-gender (+ no-specified-gender für Testzwecke). Der Plural wird wie zuvor mit dem Attribut plural-named gekennzeichnet. -- Um das Setzen des GG so bequem wie möglich zu gestalten, wurde die die von Martin Oehm vorgeschlagene Möglichkeit, das Genus im printed name mithilfe der Textersetzungen [m], [f], [n] oder [p] anzugeben, als Standardmethode aufgenommen. -- Ein nachträgliches Ändern des printed name mit Optionen für Genus/Plural, special indefinite article und Eigennamen wird durch die folgende Phrase vereinfacht: re-genderise the to , PHRASE OPTIONS: acting masculine acting feminine acting neuter acting plural with definite article with no article with yours as proper-named RICHTUNGEN -- Die Vokabeln "innen" und "aussen" wurden für die Richtungen drinnen bzw. draußen ergänzt. KOMMANDOS, SATZMUSTER UND AKTIONEN -- Die Verben für die Aktion "smelling" wurden überarbeitet: "schnueffle" und "beschnueffle" sind jetzt in der vollständigen Wortform definiert. Zudem wurden noch weitere Imperativ-Formen, die auf "-le" enden, ergänzt, um die unvollständigen Formen (*verriegl, *schmirgl) zu umgehen: "entriegle", "jodle", "pruegle", "schmirgle", "schueffle", "beschnueffle" und "verriegle". -- Die Satzmuster für die Aktion "thinking about" wurden um zwei Konstruktionen mit dem Verb "erinner" ergänzt: Understand "erinner [dich] an [text]" as thinking about. Understand "erinner [text]" as thinking about. Dank an Mario Donick, dem das Fehlen der Satzmuster aufgefallen ist. TEXTAUSGABE -- In PrintCommand() wurde die Ausgabe des Kommandos bei Sätzen ohne Verb korrigiert; bei impliziten Kommando-Ergänzungen wurde versehentlich ein "mit" vor dem Objekt geschrieben, was aber nur bei der Wiedergabe des vollständigen Kommandos (recap of command) ohne Verb geschehen soll ("mit etwas tun"). -- Weitere Optimierungen in PrintCommand(): Bei Richtungen wurde ein doppeltes "nach" ausgegeben, was korrigiert ist. Das Zusammenspiel zwischen PrintCommand() und CheckInfinitive() wurde verbessert. Die Wiederherstellung des Eingabepuffers in CheckInfinitive() funktionierte nicht korrekt, was zu unsinnigen Ausgaben in PrintCommand() führte. Zudem wird eine in CheckInfinitve() gefundene Verb-Präposition nun in der Variable verb_prep hinterlegt, um in PrintCommand() bei der Vervollständigung eines Kommandos eine unnötige Wiederholung einer vom Spieler eingegebenen Präposition zu vermeiden. -- Noch einmal PrintCommand(): Wenn ein Topic-Token im Kommando vorkam wurde Bislang ausgegeben: "die Frau nach das fragen" Nun wird geprüft, ob es sich bei dem Token um ein Topic handelt und dieses groß und in doppelten Anführungsstrichen ausgegeben: "die Frau nach "Hans" fragen". Für die Abfrage wurde ein zusätzlicher Parameter tt (Token-Type) in die Routine IsToken() eingeführt, sodass bei Bedarf ein ELEMENTARY_TT übergeben werden kann (von diesem Typ ist das TOPIC_TOKEN). Der Standardwert (wenn nichts übergeben wird) ist wie zuvor GPR_TT. -- Die Routine IsDirectionWord() kommt nun ohne das Array LanguageDirectionWords aus, was etwas Ressourcen spart. -- Einige Imperative, die auf -le/-re enden, in LanguageVerb() ergänzt. (GerX legt die Imperative, die auf -le oder -re enden, vollständig an ["schmirgle"], im Gegensatz zu deform, wo die um die Endung beschnittenen, nicht ganz korrekten Formen benutzt werden ['schmirgl'].) PARSER -- Der LTI-Einhänger HandlePunctuation() wurde reanimiert, um auf I6-Ebene die kreative Handhabung von Satzzeichen in der Spielereingabe zu ermöglichen. Die I6-Routine HandlePunctuation() muss VOR "Definitions.i6t" eingebunden werden. -- Die Behandlung von Satzzeichen wurde von Martin Oehm gründlich überarbeitet: Topics enden nun vor einem Punkt. Damit kann ein Satz, der mit einem Topic endet, mit einem Punkt abgeschlossen werden. Auch mehrere, durch Punkte getrennte Anweisungen sind nun im Zusammenhang mit Topics möglich. Es können mehrere Punkte hintereinander eingeben werden (z.B. "..."). Sie werden in einen einfachen Punkt übersetzt. Danke an Martin für diese grundlegende Verbesserung. -- Für Glulx gibt es jetzt eine experimentelle Use-Option Use umlauts in Glulx dictionary words. Damit kann der Autor in Vokabeldefinitionen Umlaute und Eszetts benutzen. Das Spiel versteht weiterhin Umlaute und Umschreibungen als gleichwertig. LIBCHECK -- Da die vervollständigten Verbvormen auf -e enden, wurden sie außerdem noch in die I6-Tabelle LibcheckIgnoreVerbs eingetragen, um unnötige Warnungen des Libcheckers zu unterdrücken. -- Die Warnhinweise für die Kontraktionen von Präposition und Artikel (am, im, zum usw.) sind jetzt etwas präziser ("in" vor [Satzbaustein], ansonsten "in dem"). DOKUMENTATION -- Section 3.4: Konflikte zwischen Vokabeln wurde um weitere Beispiele, die die Verwendung von Gesprächsthemen (Topics) betreffen, ergänzt. -- Kapitel 4 und Beispiele in Bezug auf die veralteten gender-Attrubute aktualisiert. ================================================================================ GerX Version 3/111222 (v3.33) kompatibel mit I7-Builds 6G60 und 6F95 LIBCHECK -- Die Vokabeln 'fuerwoerter' und 'scheibenkleister' wurden in die I6-Tabelle LibcheckIgnoreVerbs aufgenommen, um bei Vokabellängen von 10, 11 oder 15 Zeichen (nur in Glulx möglich) unnötige Libcheck- Warnungen zu verhindern. TEXTAUSGABE -- Der Workaround zur Ausgabe der Namen von implizit erzeugten Körperteilen beschränkte sich auf Teile von Personen mit Eigennamen. Nun greift der Workaround auch für Teile von Personen ohne Eigennamen. (Offenbar bekommt das erzeugte Körperteil die gleiche improper-/proper-named-Eigenschaft wie der Besitzer des Körperteils.) -- Der Workaround schrieb bislang "Klauss Nase" anstatt korrekt "Klaus' Nase". Man kann nun für eine Person, deren Name auf /s/ auslautet, folgende Eigenschaft definieren: Klaus is s-terminated. Max and Moritz are s-terminated. -- Bei der Ausgabe von Objektnamen mit bestimmtem Artikel bekommen Adjektive bei Objekten mit Eigennamen (Robins goldener Pfeil) jetzt die richtige Endung. (In DefArt() wird der indef_mode auf -1 gesetzt, wenn das Objekt proper hat.) -- Das Setzen der Objektvariable "previously named noun"(PNN) nachgebessert, um zu verhindern, dass der Autor bei der Benutzung eigener Name-Printing-Rules den PNN aushebelt. -- Die Variable "previously named noun" ist jetzt vom Typ "object" (vormals "thing"). So werden z.B. auch Räume berücksichtigt. OBJEKTDEFINITIONEN -- Die internen Standard-Regeln zur Genus-Definition per Attribute wurden vervollständigt, um mehrdeutige Genus zu verhindern. -- Die Objekteigenschaft "grammatical gender" (GG) wurde erstmalig eingeführt. Diese Eigenschaft wird in Zukunft die Genus-Definition über die Attribute male, female oder neuter ablösen. Zum Ausprobieren und Eingewöhnen, kann man jetzt schon den GG neben der traditionellen Methode verwenden: Jedes Objekt bekommt einen GG mit dem Anfangswert NO-SPECIFIED-GENDER. Sobald der Autor einen der Werte MASCULINE-GENDER, FEMININE-GENDER oder NEUTER-GENDER zuweist, werden die Gender-Attribute ignoriert und der GG für die Bestimmung des Genus herangezogen. Für Objekte im Plural bleibt alles wie gehabt; für sie wird der Plural als Attribut plural-named angegeben. The grammatical gender of the ball is masculine-gender. The marbles are plural-named. Den GG für jedes Objekt mit einem Satz im Quelltext anzugeben, ist etwas umständlich, aber in nächsten I7-Versionen wird es eine deutlich vereinfachte Form der Wertzuweisung für den GG geben. Die Trennung von Numerus- und Genus-Definitionen hat den Vorteil, dass die Zuweisung eines Genus eindeutig ist, was bei Attributen nicht immer so einfach funktioniert. Somit funktioniert die Zuweisung eines Genus auch für Klassen (kinds): A nose is a kind of thing. The grammatical gender of a nose is FEMININE-GENDER. Die Trennung von Genus und Numerus macht es möglich, einen grammatical gender für ein Objekt anzulegen und gleichzeitig das Numerus-Attribut plural-named zu vergeben. Momentan wird in einem solchen Fall der Libcheck eine Warnung ausgeben, da der Plural in der jetzigen Fassung die Genus dominiert. -- Eine alternative Methode zur Festlegung des Objektgenus wurde erstmalig eingeführt. Die Idee und der Code stammen von Martin Oehm, vielen Dank dafür! Um dieses (vorerst experimentelle) Verfahren zu nutzen, muss man bis auf Weiteres die Option Use alternative gender definitions. aktivieren, ansonsten werden die Objekte nicht bei Spielbeginn initialisiert. Nun kann man neben der herkömmlichen Attribut-Methode den Genus eines Objekts, analog zur Vokabeldefinition mit Changing Gender, im printed name angeben. A thing is usually-privately named. A room is usually privately-named. The apple is an edible thing in the garden. The pear is an edible thing in the garden. The printed name of the apple is "Apfel[-s][m]". The printed name of the pear is "Birne[f]". Understand "Apfel[m]" and "Frucht[f]" as the apple. Understand "Birne[f]" as the pear. Die Angabe des Attributs "male/female" wird durch "[m]/[f]" überflüssig. Wichtig dabei ist, dass zwischen dem Ausgabetext und der Genus-Kennzeichnung *kein* Leerzeichen stehen darf. Bei den Understand-Definitionen kann ein Leerzeichen stehen, muss aber nicht. Eine ausführlichere Dokumentation wird folgen. -- Die I6-Routine GetGNAofObject() musste für die Verwendung mit dem grammatical gender angepasst werden, damit die Pronomen richtig gesetzt werden. KOMMANDOS, SATZMUSTER UND AKTIONEN -- Zwei zusätzliche Satzmuster für die aktion "answering it that" hinzugefügt (Dank an Bushin für den Hinweis). -- Die Aktion "thinking about it" in "thinking about" umbenannt, da die Verwendung von Topic-Tokens nicht richtig funktionierte. (Danke an Bushin fürs Melden!) ================================================================================ GerX Version 3/111111 (v3.32) kompatibel mit I7-Builds 6G60 und 6F95 TEXTAUSGABE -- Bei Rückfragen des Parsers wurden bisher bei Präpositionen mit vorangestelltem "Wo(r)-" keine Umlaute ausgegeben. ("Worueber willst du dich beschweren?") An zwei Stellen wurde nun die Print-Routine address durch UmlautAddress() ersetzt (was von Anfang an übersehen wurde), sodass die Umlaute nun richtig ausgegeben werden: "Worüber willst du ..." -- Das unvollständige Kommando GEH IN ... zog bislang folgende dadaistisch anmutende Frage nach sich: >GEH IN Worichtung willst du ingehen? Um das zu verhindern, haben wir eine Priorisierung des Satzmusters für die Aktion entering mit dem Dummy-Adjektiv "dummy-enterable" erzwungen. ================================================================================ GerX Version 3/111022 (v3.31) kompatibel mit I7-Builds 6G60 und 6F95 VERBEN UND AKTIONEN -- Die Satzmuster für die Aktion "consulting it about" wurden optimiert: Die Verwendung des [nach]-Token unmittelbar nach einem [text]-Token führte zu einem Fehler, sodass wir nun einfach 'nach' als Präposition nach dem [text]-Token definiert und ein weiteres Satzmuster ohne Präposition hinzugefügt haben. Die Verwendung der Understand Token [force nach], [force in] und [force nach in] wurde noch einmal überprüft und sollte nun zu korrekten Ergbenissen führen. Zudem mussten widerspenstige Satzmuster mittels eines neu eingeführten Hilfs-Adjektivs "usually-consultable" in der Reihenfolge der Grammar-Lines priorisiert werden. Die Satzmuster "schau ueber/unter/bezueglich [force nach] [text] in [something] nach" "schau ueber/unter/bezueglich [force nach] [text] nach in [something usually-consultable]" wurde nach einem Vorschlag Bushins neu aufgenommen. Vielen Dank an Bushin fürs Melden der Fehler auf forum.ifzentrale.de PARSER -- Der Abschnitt "Parser Letter E" wird nun nicht mehr durch GerX ersetzt, da darin keine Unterschiede zum Original mehr enthalten waren. DOKUMENTATION -- Kurzdoku für Martins alternative Genusdefinitionen ergänzt. ================================================================================ GerX Version 3/110621 (v3.29) kompatibel mit I7-Builds 6G60 und 6F95 ACTIVITIES -- Die I6-Routine LanguageToInformese (LTI), in der die Spielereingabe vor dem Parsen von Deutsch nach Informesisch übersetzt wird, steht nun in I7 als Activity mit dem Namen translating a command into Informese zur Verfügung. So können endlich Manipulationen an der Spielereingabe *nach* der Informisierung vorgenommen werden (was weitaus weniger mühsam und nicht so fehleranfällig ist wie die Methode per "after reading a command ..."). Beispiel: --------- After translating a command into Informese: if the player's command includes "gruenlich": replace the matched text with "gruen". Das Standardverhalten von LTI kann, wie bei jeder anderen Activity auch, mittels Before-Regel ergänzt und/oder mit einer For-Regel ausgehebelt werden (für normale Anwendungen nicht zu empfehlen). PARSER -- Das Wort "fuers" wurde in die Liste der LanguageSynonyms aufgenommen und wird nun in LTI durch "fuer das" ersetzt. ACTIONS -- Standardmäßig kann der aktuelle Raum nur bei den Aktionen "location-leaving", "examining" und "smelling" angesprochen werden. Die Liste der Aktionen, bei denen der Raum als Objekt benutzt werden kann, kann jetzt mit folgender Phrase erweitert werden: is allowing wide scope. -- Die Aktion "vaguely going from" ist gestrichen. Das Satzmuster für das Verlassen von Personen triggert nun die Aktion "location-leaving". RULEBOOKS -- Die "location visibiliy rule", die den aktuellen Raum bei Bedarf in den sichtbaren Bereich holt, greift nun für alle Aktionen, die zur Aktionsklasse (behaviour) "allowing wide scope" gehören. VOKABULAR/VERBEN -- Alle Räume besitzen nun vordefinierte Synonyme: "Raum [m]", "Platz [m]", "Ort [m]", "Umgebung [f]" und "Standort [m]" (repräsentiert durch das Understand-Token "[basic-room-synonyms]"). Dies macht die unhandlichen Verbendefinitionen mit "ort/raum/platz/standort" für die Aktionen "location-leaving" und "looking" überflüssig. -- Satzmuster beim Verb "geh" für die Aktion "location-leaving" ergänzt: GEH WEG/FORT GEH WEG/FORT VON HIER/DA/DORT GEH WEG/FORT VON USE-OPTIONEN -- Pronomen werden für Räume standardmäßig nicht gesetzt. Mit der Use-Option "Use room-related pronoun notice." kann man das Setzen der Pronomen für Räume erzwingen. TEXTAUSGABE -- Standardmeldung ##Miscellany, Nr. 40 ("Du siehst "ihn" (den Geist) hier im Moment nicht.") für Pronomen, die sich auf entfernte Räume beziehen, erweitert (nur bei aktivierter Option "room-related pronoun notice"). DOKUMENTATION -- Kurzdoku erweitert. ================================================================================ GerX Version 3/110518 kompatibel mit I7-Builds 6G60 und 6F95 LIBCHECK -- Der erweiterte Libcheck, der Objektvokabular und Satzmuster auf möglicherweise verwendete LanguageSynonyms prüft, wird nun voll und ohne Geschwindigkeitseinbußen genutzt. ================================================================================ GerX Version 3/110517 kompatibel mit I7-Builds 6G60 und 6F95 TEXTAUSGABE/VERBEN -- Bislang gab es fehlerhafte Rückfragen des Parsers, wenn vor einem Dativ- Token per Schrägstrich gruppierte Präpositionen (in/an/um) benutzt wurden. Deshalb musste für jede Präposition ein eigenes Satzmuster angelegt werden. Nun kann auch die verkettete Schreibweise benutzt werden, wobei zur Ausgabe der Parser-Rückfrage die erste Präposition in der Kette herangezogen wird. DOKUMENTATION -- Den Abschnitt "10.2 Ein Satzelement als Dativ kennzeichnen (Dativ-Token)" aktualisiert und auf die nun mögliche Verwendung von verketteten (gruppierten) Präpositionen vor einem Dativ-Token hingewiesen. LIBCHECK -- Der erweiterte Libcheck, der Objektvokabular auf LanguageSynonyms prüft, kann jetzt als experimentelles Feature, das möglicherweise Tempoeinbußen im DEBUG-Modus mit sich bringt, per "Use extended libcheck." zugeschaltet werden. Standardmäßig werden nur LanguageSynonyms in Satzmustern geprüft. PARSER -- Das Understand-Token [noun damit] ist gestrichen worden, da das Wort "damit" vom Synonym-Mechanismus durch "mit ihm/r" ersetzt wird. ================================================================================ GerX Version 3/110513 kompatibel mit I7-Builds 6G60 und 6F95 TEXTAUSGABE -- Die (bislang in WI undokumentierte) Say-Phrase "[recap of command]" (PrintCommand() in I6) gibt nun Richtungsbefehle (>S) korrekt aus ("nach Süden gehen" anstatt ein verwirrendes "sen"). Dazu wurde IsDirectionWord() erweitert; dort wird nun zusätzlich zur Prüfung der name-Property, die in I7 nur noch selten für Objektsynonyme zum Einsatz kommt, auch noch das neue Array DirectionWords (in Section - Directions) durchsucht. PrintCommand() hat bislang für Befehle, die nur aus einer Richtung (z.B. >S) bestanden, das Objekt des vorigen Kommandos mit ausgegeben. Nun werden die Variablen pcount und pcount2 in Abschnitt "Parser Letter A" (unmittelbar nach der Sprungmarke .ReParse;) auf Null gesetzt. LIBCHECK -- Der Libcheck wurde erweitert: Geprüft wird nun auch, ob der Autor Wörter in Understand-Definitionen verwendet hat, die in der Spielereingabe durch anderen Text ersetzt werden (und deshalb nicht direkt verstanden werden), so z.B. die Verschmelzungen von Präpositionen und Artikeln ("im", "am", "zum" usw.). Der Libcheck gibt eine Warnung mit Korrekturvorschlag und Hintergrundinfos zum gefundenen Problem aus. VERBEN UND AKTIONEN -- Zwei Fehler bei den Verben-Definitionen behoben. Vielen Dank an Martin Barth fürs Melden! ================================================================================ GerX Version 3/110408 kompatibel mit I7-Builds 6G60 und 6F95 PARSER/USE-OPTIONEN -- Es wurde eine neue Use-Option eingeführt: Use in-scope pronoun notice. Ist die Option aktiviert, werden die Pronomen nur für Objekte gesetzt, die in Sicht (in scope) sind. PARSER -- Die Verwendung der Konjunktionen 'und', 'sowie', 'ohne' und 'ausser' (das sind die standardmäßigen AND- und BUT-Words) in Satzmustern ist nun möglich. Im I7-Standard wurden diese Wörter als Teil eines Multi-Objekts verstanden, auch wenn das Satzmuster eine Konjunktion enthielt, was die irreführende Meldung "Hier kannst du nur ein Objekt angeben." provozierte. Beispiel: --------- Connecting is an action applying to two things. Report connecting: say "Du verbindest [den noun] und [den second noun]." Understand "misch [something] mit/und [something]" as mixing. Im Spiel: >VERBINDE ANFANG UND ENDE Du verbindest den Anfang und das Ende. -- Eine kleine Ergänzung bei der Prüfung der Plural-Imperativformen in LanguageIsVerb() hinzugefügt. Nun werden auch Inperative, die auf 'et' enden (VERBINDET) erkannt. ================================================================================ GerX Version 3/110303 kompatibel mit I7-Builds 6G60 und 6F95 TEXTAUSGABE -- Einen Fehler beim Schreiben der Inhaltslisten korrigiert; in der Phrase "list the contents of O with C" wurde 1 statt 0 als Listentiefe an WriteListFromCase() übergeben. Dadurch ließen sich Objekte in bestimmten Zusammenhängen nicht wie im Original für die Ausgabe in der Raumbeschreibung aufbereiten. Danke an Tim Zazzara fürs Melden! LIBCHECK -- Kleine Änderung bei den Hinweismeldungen des Objekt-Checks. BEISPIELE -- Aus den Beispielen A und B (Jadestatue und Mantel) wurden einige Anweisungen entfernt, die als "deprecated features" gekennzeichnet sind und ab der nächsten I7-Version nicht mehr gültig sein werden. Diese Änderung wurde am 09.03.2011 der Version 3/110303 hinzugefügt. Danke an Mark Musante für den Hinweis. ================================================================================ GerX Version 3/110225 kompatibel mit I7-Builds 6G60 und 6F95 VERBEN UND AKTIONEN -- Die angezeigten Namen von Räumen können nun mit dem Deklinations-Test (>DEKLINIER LABOR) überprüft werden. LIBCHECK -- Hinweismeldungen und Korrekturvorschläge überarbeitet. -- Verben, die auf 'ae', 'ee', 'ie', 'oe' oder 'ue' enden, werden nun übergangen und deren Endung 'e' nicht mehr als mögliches Problem angemahnt. PARSER -- Uhrzeiten konnten bislang nur auf Englisch verstanden werden. Die GPR-Token TIME_TOKEN und und RELATIVE_TIME_TOKEN in Time.i6t wurden nun auf deutsche Zeitangaben umgestellt. Verstanden werden u.a. "Mittag", "Mitternacht", "halb zehn", "Viertel vor acht", "3:56 Uhr", "drei Minuten nach zehn" ... -- Das Array LanguageNumbers() wurde von 20 auf 60 (Original-I7: 30) erweitert, damit auch alle möglichen Minutenangaben in Worten verstanden werden. TEXTAUSGABE -- Kleinere Änderungen in PrintCommand() im Zusammenhang mit Kommandos ohne Verb ('no.verb'). ================================================================================ GerX Version 3/110204 kompatibel mit I7-Builds 6G60 und 6F95 VERBEN UND AKTIONEN -- Dativ-Token beim Verb "lern/forsch" ergänzt. TEXTAUSGABE -- Standardmeldungen überarbeitet: In Meldungen, die Behälter und/oder Ablagen betreffen, werden nun die Präpositionen "in", "auf", "von" und "aus" exatkter für die Ausgabe der Meldung je nach Beschaffenheit des Objekts (Behälter oder Ablage) oder der Spielereingabe benutzt. Bei den abschlägigen Meldungen für die entering action (##Enter) richtet sich mit den Verben stellen/legen/setzen die Präposition nach der Spielereingabe: >SETZ DICH AUF DEN EIMER Du kannst auf dem Eimer nicht sitzen. >STELL DICH IN DEN EIMER Du kannst in dem Eimer nicht stehen. Sollte in der Eingabe des Spielers keine Präposition enthalten sein, richtet sich die Präposition nach der Beschaffenheit des Objekts, also "auf" für Ablagen und "in" für Behälter. -- Weitere Überarbeitungen der Standardmeldungen für Akteure (actors): Die Verb-Endungen passen sich dem Numerus an. ================================================================================ GerX Version 3/110129 kompatibel mit I7-Builds 6G60 und 6F95 ALLGEMEINES -- Die Variable "prior named noun" wurde in "previously named noun" umbenannt, um Konflikte mit der Plurality-Erweiterung, die von einigen Original-Extensions eingebunden wird, zu vermeiden. Danke an Tim R. Zazzara fürs Melden des Problems! KURZDOKU -- Dokumentation überarbeitet und bislang undokumentierte Features mit aufgenommen. ================================================================================ GerX Version 3/110118 kompatibel mit I7-Builds 6G60 und 6F95 TEXTAUSGABE -- In der LM Nr. 5 für ##Give waren x1 und second vertauscht. LIBCHECK -- Hinweismeldungen überarbeitet. -- Der Libchecker gibt nun Korrekturvorschläge für Vokabeln. -- Der Verben-Check ist nun kompakter. Umlaute und Endungen werden in einem Abwasch geprüft. RULEBOOKS - Die "convert examine a room to look rule" wurde aus stilistischen Gründen in "convert examine a room into looking rule" umbenannt. ================================================================================ GerX Version 3/101210 kompatibel mit I7-Build 6F95 PARSER/UNDERSTAND-TOKEN -- Das Understand-Token [force pronoun] war zwar auf der I6-Ebene als FORCE_PRONOUN_TOKEN angelegt, die I7-Definition fehlte jedoch und wurde nun nachgeliefert. KURZDOKU -- Die Verwendung des [force pronoun]-Token wird nun korrekt erläutert (Kap. 9.6: Pronominaladverbien). ================================================================================ GerX Version 3/101203 kompatibel mit I7-Build 6F95 TEXTAUSGABE -- Bei Teilen von Personen, die nicht "proper-named" waren, kam es bisher bei der Ausgabe mit Artikel zu einem falsch angezeigten Namen. Die German printing the name of a body part rule, die die Namen von automatisch erzeugten Teile von Personen korrekt in der deutschen Form ausgeben soll, greift jetzt nur noch für Teile von Personen, die "proper-named" sind (die Teile, nicht die Personen). -- Die Ausgabe von Zahlen in Worten war noch fehlerhaft und wurde nun in LanguageNumber() nachgebessert. ================================================================================ GerX Version 3/101129 GerX Version 3/101128 kompatibel mit I7-Build 6F95 TEXTAUSGABE -- In der LM Nr. 27 für ##Go (going action) gab es einen Fehler beim Zeilenumbruch. -- Bei der LM Nr. 6 für ##Enter (entering action) ebenso. ================================================================================ GerX Version 3/101122 kompatibel mit I7-Build 6F95 SPEICHEREINSTELLUNGEN -- Der Wert für MAX_LINESPACE wird nun explizit auf 16000 gesetzt, was für Linux und Windows ohnehin Standard ist. Für Mac OS X wird jedoch vom I6-Compiler 10000 als Standardwert festgelegt, sodass das Limit bei der Verwendung von GerX schnell ausgeschöpft sein kann (die Lib benötigt ca. die dreifache Menge an Grammar-Lines gegenüber dem Original). VERBEN UND AKTIONEN -- Die Namen der Kinds werden bei der Testfunktion SHOWME jetzt ebenfalls auf Deutsch angezeigt, z.B. "geschlossener Behälter (container)". ================================================================================ GerX Version 3/101114 kompatibel mit I7-Build 6F95 ALLGEMEINES -- Die Tabelle "Table of Final Question Options" wurde immer noch "Table of German Final Question Options" genannt, was nicht mehr notwendig ist. Die Tabelle behält nun ihren ursprünglichen Namen, damit Autoren die Tabelle einfacher erweitern können. ================================================================================ GerX Version 3/101112 kompatibel mit I7-Build 6F95 TEXTAUSGABE -- In der Library-Message Nr. 3 für ##Unlock (unlocking action) fehlte ein Zeilenumbruch. -- In der I6-Routine plur() wurde für Singular-Objekte eine Adresse statt eines Strings ausgegeben. ================================================================================ GerX Version 3/101111 GerX Version 3/101110 kompatibel mit I7-Build 6F95 VERBEN UND AKTIONEN -- Die Testfunktionen SHOWME, RELATIONS und TREE geben jetzt korrekt deklinierte Endungen in den Objektnamen aus. OBJEKTE UND EIGENSCHAFTEN -- Richtungen bekommen automatisch einen indefinite article "the" verpasst, was erst bei Auflistungen (z.B. bei TREE) auffiel. Um den zu überschreiben bekommt jede Richtung nun einen special indefinite article DEFINITE, was aber eine Ausnahme ist. Offiziell darf eine Richtung keine solche Eigenschaft bekommen. ================================================================================ GerX Version 3/101027 kompatibel mit I7-Build 6F95 ALLGEMEINES -- Alle Änderungen für I7-Release 6F95 nachgezogen. ================================================================================ GerX Version 3/101015 kompatibel mit I7-Build 6E72 VERBEN UND AKTIONEN -- Das Kommando "load", das im englischen Original nicht definiert ist, für das Laden des Spielstands mit aufgenommen. PARSER -- Bei Verben, die gleichzeitig Objektsynonyme sind, muss die Imperativ-Form mit "e" am Ende zusätzlich definiert werden. Dann wurde allerdings wurde dieInfinitiv-Form nicht mehr korrekt verstanden. Nun kann der Autor das betreffende Verb in die fortgesetzte Tabelle "Table of verb-noun collisions (continued)" eintragen, um das Verb auch als Nomen zuzulassen. Für die Standard-Verben werden mögliche Kollisionen von Verben und Objektsynonymen nun standardmäßig berücksichtigt ('lade', 'laden', 'pack', 'sitz', 'kleid', 'schlag', 'antwort', 'wisch'). Beispiel für ein neu definiertes Verb "leucht" und ein Objekt "Leuchte": A lamp is a female thing. The printed name is "Lampe". Understand "Lampe" and "Leuchte" as the lamp. Understand "leucht in [something]" as searching. Das führt im Spiel zu, dass der Imperativ mit "e" am Ende nicht verstanden wird: >LEUCHTE IN SCHACHT Ich habe dieses Verb nicht verstanden. Also muss auch noch die Form mit "e" am Ende definiert werden: Understand the command "leuchte" as "leucht". Das führt wiederum dazu, dass Infinitiv-Kommandos, die die Leuchte betreffen, nicht verstanden werden: >LEUCHTE BETRACHTEN Ich habe nur Folgendes verstanden: leuchten. Nun trägt der Autor das neue Verb in die folgende Tabelle ein: Table of verb-noun collisions (continued) Verb "leuchte" und der Infinitiv wird korrekt verstanden: >LEUCHTE BETRACHTEN Die Lampe ist eingeschaltet. BEISPIELE UND DOKUMENTATION -- Kurzdoku angepasst. ================================================================================ GerX Version 3/101009 GerX Version 3/101004 kompatibel mit I7-Build 6E72 ALLGEMEINES -- Den automatischen "Libcheck" bei Spielbeginn im Debugmodus eingeführt: Objekt- und Vokabeldefinitionen werden überprüft und der Autor auf mögliche Fehlerquellen und Optimierungsmöglichkeiten hingewiesen. -- Ein paar Dinge im Quellcode aufgeräumt. OBJEKTE UND EIGENSCHAFTEN -- Objekte, die mit "some" definiert werden ("Some balls are a thing on the table."), bekommen das Attribut plural-named, ohne dass ihnen der Standard-Genus neuter genommen wird. Objekte mit uneindeutiger Genus/Numerus-Definition werden deshalb nun bei Programmstart in LanguageInitialise() bereinigt. TEXTAUSGABE -- LanguageVerb() überarbeitet: Der Autor kann nun selbst neue Verben und die dazugehörigen Infinitive angeben, wenn sich der Infinitiv nicht aus der Imperativ-Form rekonstruieren lässt; dazu dienst die neu eingeführte I7-Tabelle "Table of infinitives". Diese Tabelle kann auch dazu benutzt werden, jede beliebige Imperativ-Infinitv-Paarung (auch für vordefinierte Verben) anzugeben. -- Die Rekonstruktion des Infinitivs bei Verben, die auf "r" oder "l" enden, wurde optimiert. -- Einen kleinen Fehler in UmlautAddress() behoben: Vokabeln mit a vor ue werden nun richtig ausgegeben ("kauer" statt "kaür"). -- Die Erzeugung von Standard-Titel und -Headline korrigiert. -- Die englische Tabelle der "Final Question Options" wird nun nicht mehr zusätzlich zu den deutschen Optionen angelegt. PARSER -- Bei der Verwendung von identischen Objekten funktioniert der Changing Gender nun auch, wenn die Anzahl der Objekte größer als 4 ist. (Eine zusätzliche Abfrage und Aktualisierung des CG-Puffers in BestGuess() war dazu notwendig.) -- 'restlich', 'uebrig', 'verbleibend' als OTHER-Words mit aufgenommen. -- 'saemtlich' als ALL-Word mit aufgenommen. OPTIONEN -- Die Option "Use skip libcheck." kann zum Überspringen des Libchecks bei Programmstart aktiviert werden. BEISPIELE UND DOKUMENTATION -- Kurzdokumentation erweitert und überarbeitet. ================================================================================ GerX Version 3/100903 kompatibel mit I7-Build 6E72 PARSER -- Nur Glulx: Anweisungen des Spielers in Großbuchstaben, die Umlaute oder Endungen enthielten, wurden bislang nicht verstanden. Nun werden vor der Analyse vorhandene Großbuchstaben zunächst in Kleinbuchstaben umgewandelt, damit Umlaute und Endungen korrekt verarbeitet werden können. Dies geschieht in der I6-Routine LanguageToInformese(), Abschnitt (ii). ================================================================================ GerX Version 3/100828 kompatibel mit I7-Build 6E72 OBJEKTE UND EIGENSCHAFTEN -- Räume können Vokabular zugewiesen bekommen, über das beim Verlassen und Betrachten des aktuellen Raumes dieser angesprochen werden kann. VERBEN UND AKTIONEN -- Mit den Kommandos VERLASS (DEN/DIESEN) RAUM/ORT und VERLASS kann der aktuelle Standort verlassen werden, wenn es nur einen einzigen Ausgang aus dem aktuellen Raum gibt. Dazu wurde die Aktion location-leaving eingeführt. -- Die Kommandos UNTERSUCHE (DEN/DIESEN) RAUM/ORT und UNTERSUCHE sind jetzt gleichbedeutend mit LAGE (Raumbeschreibung anzeigen). -- Das Anzeigen des Inventars funktioniert nun wie in deform. Der Spieler kann zwischen zwei Anzeige-Stilen wählen: "inventar hoch/liste/lang" "inventar als liste" ändern den Inventar-Stil auf "Liste" und zeigen das Inventar als Liste an (Standard). "inventar quer/satz/breit" "inventar als satz" ändern den Inventar-Stil auf "Satz" und zeigen das Inventar als Satz an. Anstelle des Verbs "inventar" können wie gewohnt auch die synonymen Kommandos "i/inv/besitz/eigentum" verwendet werden. Beide Einstellungen funktionieren auch mit den Optionen Non-nested lists, inventory indent und inventory bullet. TEXTAUSGABE -- Die Standardmeldungen für Anweisungen an NPCs mit flektierenden Verben versehen. PARSER -- Wenn der Text, der über ein [text]-Token (Topic-Token) verstanden wurde, mit einem oder mehreren Artikeln beginnt, werden diese jetzt unabhängig von der aktuellen Aktion überlesen. TEMPORÄR REPARIERTE INFORM-BUGS -- Bug reported #0000216 / http://inform7.com/mantis/view.php?id=216 UNDO beim ersten Zug führte zu einer irreführenden Meldung. ================================================================================ GerX Version 3/100801 kompatibel mit I7-Build 6E72 OBJEKTE UND EIGENSCHAFTEN -- Richtungen können nun einen Genus (male, female, neuter, plural-named) zugewiesen bekommen. Standard ist male. VERBEN UND AKTIONEN -- Die deform-Testfunktion "libcheck" wurde als Debug-Aktion eingeführt. Damit können sämtliche Objektdefinitionen auf Konstistenz (Genus, Umlaute/ß in Vokabeln) geprüft werden. WERTE -- Die Werte des Typs article mode wurden in bare-mode, definite-mode und indefinite-mode umbenannt, um mögliche Konflikte mit anderen Erweiterungen zu vermeiden. TEXTAUSGABE -- In der I6-Routine PrintInferredCommand() war beim Aufruf von IsToken() an zwei Stellen jeweils eine Klammer verrutscht, sodass das Dativ-Token nicht korrekt übergeben wurde. ================================================================================ GerX Version 3/100712 kompatibel mit I7-Build 6E72 TEXTAUSGABE -- Die Steuerung der Leereichen und Zeilenumbrüche bei der Verwendung von nicht verschachtelten Listen (Use non-nested lists) funktioniert nun korrekt. -- Die Ausgabe des Strings "nichts" ist flexibler geworden; sie passt sich an Listenoptionen (is-are: "ist nichts", Großschreibung: "Nichts") und den Kasus (Genitiv: "Von/von nichts") an. -- Die Standard-Meldungen für "putting it on" und "insterting it into" unterscheiden bei der Ausgabe, ob etwas in oder auf etwas gestellt, gelegt oder gesetzt wurde. Default ist weiterhin "Du legst ...". -- Beim Verlassen (exiting) einer Ablage oder eines Behälters wird nun bei der Standard-Meldung zwischen steigen, klettern, (heraus-)treten und verlassen unterschieden. Default ist "Du steigst von/aus ...". BEISPIELE UND DOKUMENTATION -- In der Übersetzung der Menus-Erweiterung wurden Ungenauigkeiten in der Menüsteuerung behoben. ================================================================================ GerX Version 3/100705 kompatibel mit I7-Build 6E72 ÄNDERUNGEN SEIT VERSION 2/100510 ------------------------------------- ALLGEMEINES -- Die Version 3 steht ganz im Zeichen der Anpassung an den neuen I7-Build 6E59, dem kurze Zeit später Build 6E72 folgte. Hierfür waren diverse Änderungen in den I6-Templates und den Standard Rules notwendig. -- Der Name der Erweiterung wurde in "German by Team GerX" geändert. STANDARD RULES -- Alle relevanten Änderungen nachgezogen. -- Die Say-Phrasen "contents of (O - an object) with (C - a case)" und "the contents of (O - an object) with (C - a case)" wurden wie die Original-Phrasen ohne Kasus als "deprecated" gekennzeichnet; diese Phrasen werden demnächst nicht mehr in Inform zur Verfügung stehen und schon jetzt bei Verwendung der Option "Use no deprecated features." vom Compiler abgelehnt. OBJEKTE UND EIGENSCHAFTEN -- Jedes Objekt der Klasse "thing" und deren Unterklassen besitzt nun einen special indefinite article mit dem Default-Wert PENDING, da in I7 jetzt für jede vergebene Eigenschaft ein Standardwert definiert wird. -- Die I6-Eigenschaft "init" kann nun wieder in I6-Inklusionen benutzt werden. Dazu muss die Use-Option "Use init property" aktiv sein. VERBEN UND AKTIONEN -- Korrekturen bei den Verben-Definitionen. -- Für die differenzierte, nachträgliche Antezedens-Zuordnung von Adverbialpronomen im Zusammenhang mit der Aktion "removing it from" wurde eine neue Check-Rule, die "adjust the pronominal adverb reference when removing rule", eingeführt. Wenn der Spieler mit dem Pronominaladverb nicht der strengen Logik folgend das aktuelle Antezedens meint (in GerX ist das das zuletzt angesprochene Objekt, das keine Person ist), folgt dem Kommando ein Hinweis in Klammern und die Aktion wird mit dem wahrscheinlich gemeinten "second noun" (dem Behälter oder der Ablage, auf der sich das erste Objekt befindet) noch einmal versucht. Beispiel: --------- >durchsuche tisch Auf dem alten Tisch siehst du einen knackigen Apfel und eine Schüssel. >nimm schüssel herunter | "herunter" bezieht sich nun In Ordnung. | auf den Tisch, das zuletzt | angesprochene Objekt. Dies | ist die Standard-Prozedur. >betrachte schüssel In der Schüssel siehst du Weintrauben. >nimm apfel herunter | "herunter" bezieht sich nun auf (von dem alten Tisch) | die Schüssel, was der Spieler In Ordnung. | aber nicht so meint. In diesem | Fall wird das Antezedens neu | bestimmt. TEXTAUSGABE -- Die Ausgabe der Listen mit Fall an die neue Syntax angepasst. -- Obsolete Phrasen wurden endgültig gestrichen. Autoren müssen ihre laufenden Projekte entsprechend anpassen. -- I6: Code-Relikte aus der Frühphase der Entwicklung wurden entfernt. -- Korrekturen bei den Library-Messages: * für ##Look, LM-Nr. 4 gab es einen zusätzlichen Zeilenumbruch und ein Leerzeichen zu wenig. * Bei den LM-Nummern 5 und 6, die allerdings nicht von den Standard Rules ausgegeben werden, war ebenfalls ein Zeilenumbruch zu viel. * Bei ##Take, 7 wurde die Ausgabe des Genitivs für Eigennamen angepasst. * Die manchmal irreführende Meldung "Hier ist aber nichts!" (##Miscellany, Nr. 44) lautet nun "Hier ist aber nichts, womit du das tun kannst!". * Bei ##Go, 10 fehlte ein "nach". * Die Meldung für ##Think wurde in "Gute Idee!" abgeändert. -- Die angezeigten Namen von assemblierten Teilen von Personen werden nun korrekt auf Deutsch ausgegeben ("deine Nase", "Bennos Nase", "Nase des Barkeepers"). Dazu wurde die "German printing the name of a body part rule" neu eingeführt. Das Vokabular muss weiterhin von Hand nachgeliefert werden (s. Kap. 4.8 der Kurzdoku: Assemblies: Automatisch erzeugte Teile von Personen). -- Eine neue Phrase fürs manuelle Setzen der Suffixe in einer Name-Printing-Rule eingeführt: set
mode suffixes from with ; Der article mode ist entweder non-specific (ohne Artikel), definite (mit bestimmtem Artikel) oder indefinite (mit unbestimmtem Artikel). Er kann mit den neuen Phrasen current article mode set current article mode to
; abgefragt, beziehungsweise geändert werden. -- Das "prior named noun" kann nun in I7 als Variable benutzt werden, was bei der Erstellung von eigenen Name-Prining-Rules nützlich ist, da in ihnen das zuletzt genannte Objekt nicht automatisch gesetzt wird. Die I6-Entsprechung zu prior named noun ist die globale Variable pnn, die bei der Ausgabe von Textersetzungen, die sich auf das zuletzt genannte Objekt beziehen, herangezogen wird. PARSER -- Sämtliche relevanten Änderungen im I6-Parser wurden berücksichtigt. -- Ein neues Understand-Token wurde eingeführt: [substantiv] / [substantive] Damit lässt sich ein nachfolgendes Wort im Satzmuster als Substantiv kennzeichnen. Der Parser kann bei Rückfragen so den Infinitv des Verbs genauer rekonstruieren ("Platz nehmen" vs. "aufheben"). -- Das Dich-Token wird bei Parser-Rückfragen jetzt auch berücksichtigt, um Infinitve von reflexiven Verbformen "Worauf willst du dich setzen?" zu bilden. OPTIONEN -- Die Use-Option "permanent debug" wurde gestrichen, weil es jetzt die Möglichkeit gibt, Testspiele zu speichern (Release for testing). ERWEITERUNGEN -- Für die in I7 enthaltene Erweiterung Locksmith by Emily Short wurde nun das ganze Paket als Übersetzung implementiert. BEISPIELE UND DOKUMENTATION -- Die Inline-Kurzdoku und die HTML-Version wurden überarbeitet. -- Das Beispiel "John Maklovichs Toilette" als Demo fürs Einbinden der Locksmith-Extension hinzugefügt.