X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=informqr%2Finformqr.md;h=ea91c72a2e90366a0d5387b6190af5a23f3b85a8;hb=4dc8a597bea19678f310c476b54474fa08e61d2b;hp=fa5f2f26cd5e9f43cd6533d54a6e56a35f79a26d;hpb=cc7b3641d6c35a66e3d9a6b0b7c0cd43e8ef7517;p=inform-resources.git diff --git a/informqr/informqr.md b/informqr/informqr.md index fa5f2f2..ea91c72 100644 --- a/informqr/informqr.md +++ b/informqr/informqr.md @@ -348,7 +348,7 @@ A routine **embedded** as the value of an object property: statement; ] -Routines return a single value, when execution reaches the final "\]" +Routines return a single value, when execution reaches the final "]" or an explicit return statement: return expr; @@ -582,8 +582,8 @@ current routine: Other useful directives ----------------------- -To include a directive within a routine definition \[...\], insert a -hash "\#" as its first character. +To include a directive within a routine definition [...], insert a +hash "#" as its first character. To conditionally compile: @@ -629,4 +629,75 @@ To declare a new attribute common to all objects: To declare a new property common to all objects: Property property; - Property property expr; \ No newline at end of file + Property property expr; + +Uncommon and deprecated directives +---------------------------------- + +You're unlikely to need these; look them up if necessary. + + Abbreviate "string " "string " ... "string "; + End; + Import variable variable ... variable; + Link "compiled_file"; + Switches list_of_compiler_switches; + System_file; + +File structure +-------------- + +A minimal source file: + + Constant Story "MYGAME"; + Constant Headline "^My first Inform game.^"; + Constant MANUAL_PRONOUNS; + + Include "Parser"; + Include "VerbLib"; + + [ Initialise; location = study; "^Hello!^"; ]; + + Class Room + with description "A bare room." + has light; + + Class Furniture + with before [; Take,Pull,Push,Pushdir: + print_ret (The) self, + " is too heavy for that."; ] + has static supporter; + + Room study "Your study'; + + Furniture "writing desk" study + with name 'writing' 'desk' 'table'; + + Object -> -> axe "rusty axe" + with name 'rusty' 'blunt' 'axe' 'hatchet' + description "It seems old and blunt."; + + Include "Grammar"; + +Compiler +-------- + +To compile: + + inform commands source_file + +Useful *commands* include: + + -------------- ------------------------------------------------ + -~S disable both Strict checks and Debug tools + -~SD disable Strict checks, enable Debug tools + -X enable Infix debugger + -r output all game text to file (for spell-check) + -s display game's size and other statistics + -z display game's memory map + -v8 compile in Version 8 format (default is v5) + +dir,dir,... search for Included files in these directories + -------------- ------------------------------------------------ + +To display full compiler help, type: + + inform -h -h1 -h2 \ No newline at end of file