misc.tfile
Classes
Summary
Objects
Summary
Adapted for adv3Lite by Eric Eve
adv3Lite Library - miscellaneous definitions
This module contains miscellaneous definitions that don’t have a natural grouping with any larger modules, and which aren’t complex enough to justify modules of their own.
Summary of Classes
ArgumentMismatchError
FinishOption
FinishType
GameMainDef
LCS
LibraryError
Script
SingletonIterator
Summary of Global Objects
adv3LibInit
adv3LibPreinit
finishOptionAmusing
finishOptionCredits
finishOptionFullScore
finishOptionQuit
finishOptionRestart
finishOptionRestore
finishOptionScore
finishOptionUndo
ftDeath
ftFailure
ftGameOver
ftVictory
libGlobal
libObjectInitializer
restoreOptionRestoreAnother
restoreOptionStartOver
unknownDest_
varDest_
Summary of Global Functions
cls
failedRestoreOptions
findMatchingTopic
finishGame
finishGameMsg
isEmptyStr
isListSubset
makeMentioned
matchCase
nilToList
objOfKind
overrides
partitionList
processOptions
setPlayer
tryInt
tryNum
valToList
Global Functions
cls ( )
Clear the main game window. In most cases, you should call this rather than calling the low-level clearScreen() function directly, since this routine takes care of a couple of chores that should usually be done at the same time.
First, we flush the transcript to ensure that no left-over reports that were displayed before we cleared the screen will show up on the new screen. Second, we call the low-level clearScreen() function to actually clear the display window. Finally, we re-display any <ABOUTBOX> tag, to ensure that the about-box will still be around; this is necessary because any existing <ABOUTBOX> tag is lost after the screen is cleared.
failedRestoreOptions ( )
Show failed startup restore options. If a restore operation fails at startup, we won’t just proceed with the game, but ask the user what they want to do; we’ll offer the options of restoring another game, quitting, or starting the game from the beginning.
findMatchingTopic (voc, cls, =, Topic)
Find an existing Topic whose vocab is voc. If the cls parameter is supplied it can be used to find a match in some other class, such as Thing or Mentionable.
finishGame (extra)
finish the game, offering the given extra options but no message
finishGameMsg (msg, extra)
Finish the game, showing a message explaining why the game has ended. This can be called when an event occurs that ends the game, such as the player character’s death, winning, or any other endpoint in the story.
We’ll show a message defined by ‘msg’, using a standard format. The format depends on the language, but in English, it’s usually the message surrounded by asterisks: “*** You have won! ***”. ‘msg’ can be:
- nil, in which case we display nothing
- a string, which we’ll display as the message
- a FinishType object, from which we’ll get the message
After showing the message (if any), we’ll prompt the user with options for how to proceed. We’ll always show the QUIT, RESTART, and RESTORE options; other options can be offered by listing one or more FinishOption objects in the ‘extra’ parameter, which is given as a list of FinishOption objects. The library defines a few non-default finish options, such as finishOptionUndo and finishOptionCredits; in addition, the game can subclass FinishOption to create its own custom options, as desired.
isEmptyStr (str)
A string is empty if it’s nil or if when trimmed it’s ‘’
isListSubset (a, b)
Determine if list a is a subset of list b. a is a subset of b if every element of a is in b.
makeMentioned (obj)
Set the mentioned property of obj to true. If obj is supplied as a list, set every object’s mentioned property in the list to true. This can be used in room and object descriptions to mark an object as mentioned so it won’t be included in the listing.
matchCase (newTok, oldTok)
Change the case (upper/lower) of a given new string to match the case pattern of the given original string.
We recognize four patterns:
- If the original string has at least one capital letter and no minuscules, we convert the new string to all caps. For example, matchCase(‘ALPHA-1’, ‘omicron-7’) yields ‘OMICRON-7’.
- If the original string has at least one lower-case letter and no capitals, we convert the new string to all lower case. E.g., matchCase(‘alpha-1’, ‘OMICRON-7’) yields ‘omicron-7’.
- If the original string starts with a capital letter, and has at least one lower-case letter and no other capitals, we capitalize the first letter of the new string and lower-case everything else. E.g., matchCase(‘Alpha-1’, ‘OMICRON-7’) yields ‘Omicron-7’.
- Otherwise, we match the case pattern of the input string letter for letter: for each upper-case letter in the original, we capitalize the letter at the corresponding character index in the new string, and likewise with lower-case letters in the original. We leave other characters unchanged. E.g., matchCase(‘AlPhA-1’, ‘omicron-7’) yields ‘OmIcRon-7’.
nilToList (val)
nilToList - convert a ‘nil’ value to an empty list. This can be useful for mix-in classes that will be used in different inheritance contexts, since the classes might or might not inherit a base class definition for list-valued methods such as preconditions. This provides a usable default for list-valued methods that return nothing from superclasses.
objOfKind (obj, cls)
Service function to determine whether obj is ofKind cls when obj might not be an object.
overrides (obj, base, prop)
Determine if the given object overrides the definition of the given property inherited from the given base class. Returns true if the object derives from the given base class, and the object’s definition of the property comes from a different place than the base class’s definition of the property.
partitionList (lst, fn)
partitionList - partition a list into a pair of two lists, the first containing items that match the predicate ‘fn’, the second containing items that don’t match ‘fn’. ‘fn’ is a function pointer (usually an anonymous function) that takes a single argument - a list element - and returns true or nil.
The return value is a list with two elements. The first element is a list giving the elements of the original list for which ‘fn’ returns true, the second element is a list giving the elements for which ‘fn’ returns nil.
(Contributed by Tommy Nordgren.)
processOptions (lst)
Process a list of finishing options. We’ll loop, showing prompts and reading responses, until we get a response that terminates the loop.
setPlayer (actor, person, =, 2)
Set the player character to another actor. If the optional second parameter is supplied, it sets the person of the player character; otherwise it defaults to the second person.
tryInt (val)
Try converting val to an integer. If this results in an integer value, return it, otherwise return nil.
tryNum (val)
Try converting val to a number (integer or BigNumber); return the number if there is one, otherwise return nil.
valToList (val)
val to list - convert any value to a list. If it’s already a list, simply return it. If it’s nil return an empty list. If it’s a singleton value, return a one-element list containing it.
Adv3Lite Library Reference Manual
Generated on 15/03/2023 from adv3Lite version 1.6.1