================================================================================ 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.