The layout and naming conventions for the contents of the main/synoptic module.
- §1.1. Actions
- §1.2. Activities
- §1.3. Chronology
- §1.4. Conjugations
- §1.5. Dialogue
- §1.6. Extensions
- §1.7. Instances
- §1.8. Kinds
- §1.9. Multimedia
- §1.10. Properties
- §1.11. Relations
- §1.12. Rulebooks
- §1.13. Rules
- §1.14. Scenes
- §1.15. Tables
- §1.16. Tests
- §1.17. Use options
- §3. Synoptic printing functions
§1. This section gives a map of what resources will be made in the synoptic module. The definitions here enable code generated by inform7 or inter to call functions or use constants defined in the synoptic module, and also allow them to be referred to from kits linked in.
Because the synoptic module exists only to provide resources, this section is in effect a specification for it.
enumerate SYNOPTIC_HIERARCHY_MADE_ITHBIT
void SynopticHierarchy::establish(inter_tree *I) { if (InterTree::test_history(I, SYNOPTIC_HIERARCHY_MADE_ITHBIT)) return; InterTree::set_history(I, SYNOPTIC_HIERARCHY_MADE_ITHBIT); location_requirement req; Resources for actions1.1; Resources for activities1.2; Resources for chronology1.3; Resources for conjugations1.4; Resources for dialogue1.5; Resources for extensions1.6; Resources for instances1.7; Resources for kinds1.8; Resources for multimedia1.9; Resources for properties1.10; Resources for relations1.11; Resources for rulebooks1.12; Resources for rules1.13; Resources for scenes1.14; Resources for tables1.15; Resources for tests1.16; Resources for use options1.17; }
§2. The notation here is a little cryptic, but see Hierarchy (in runtime) for a fuller explanation.
define SYN_SUBMD(r) req = LocationRequirements::synoptic_submodule(I, LargeScale::register_submodule_identity(r));
define SYN_CONST(id, n) { HierarchyLocations::con(I, id, n, req); inter_name *iname = HierarchyLocations::iname(I, id); inter_symbol *S = InterNames::to_symbol(iname); Wiring::socket(I, InterNames::to_text(iname), S); }
define SYN_FUNCT(id, n, t) { HierarchyLocations::fun(I, id, n, Translation::to(t), req); inter_name *iname = HierarchyLocations::iname(I, id); inter_symbol *S = InterNames::to_symbol(iname); Wiring::socket(I, InterNames::get_translation(iname), S); }
enumerate ACTIONCODING_HL
enumerate ACTIONDATA_HL
enumerate ACTIONHAPPENED_HL
enumerate AD_RECORDS_HL
enumerate CCOUNT_ACTION_NAME_HL
enumerate DB_ACTION_DETAILS_HL
Resources for actions1.1 =
SYN_SUBMD(I"actions") SYN_CONST(ACTIONCODING_HL, I"ActionCoding") SYN_CONST(ACTIONDATA_HL, I"ActionData") SYN_CONST(ACTIONHAPPENED_HL, I"ActionHappened") SYN_CONST(AD_RECORDS_HL, I"AD_RECORDS") SYN_CONST(CCOUNT_ACTION_NAME_HL, I"CCOUNT_ACTION_NAME") SYN_FUNCT(DB_ACTION_DETAILS_HL, I"DB_Action_Details_fn", I"DB_Action_Details")
- This code is used in §1.
enumerate ACTIVITY_AFTER_RULEBOOKS_HL
enumerate ACTIVITY_BEFORE_RULEBOOKS_HL
enumerate ACTIVITY_FOR_RULEBOOKS_HL
enumerate ACTIVITY_FLAGS_HL
enumerate ACTIVITY_VAR_CREATORS_HL
Resources for activities1.2 =
SYN_SUBMD(I"activities") SYN_CONST(ACTIVITY_AFTER_RULEBOOKS_HL, I"Activity_after_rulebooks") SYN_CONST(ACTIVITY_BEFORE_RULEBOOKS_HL, I"Activity_before_rulebooks") SYN_CONST(ACTIVITY_FOR_RULEBOOKS_HL, I"Activity_for_rulebooks") SYN_CONST(ACTIVITY_VAR_CREATORS_HL, I"activity_var_creators") SYN_CONST(ACTIVITY_FLAGS_HL, I"Activity_flags")
- This code is used in §1.
enumerate TIMEDEVENTSTABLE_HL
enumerate TIMEDEVENTTIMESTABLE_HL
enumerate PASTACTIONSI6ROUTINES_HL
enumerate NO_PAST_TENSE_CONDS_HL
enumerate NO_PAST_TENSE_ACTIONS_HL
enumerate TESTSINGLEPASTSTATE_HL
Resources for chronology1.3 =
SYN_SUBMD(I"chronology") SYN_CONST(TIMEDEVENTSTABLE_HL, I"TimedEventsTable") SYN_CONST(TIMEDEVENTTIMESTABLE_HL, I"TimedEventTimesTable") SYN_CONST(PASTACTIONSI6ROUTINES_HL, I"PastActionsI6Routines") SYN_CONST(NO_PAST_TENSE_CONDS_HL, I"NO_PAST_TENSE_CONDS") SYN_CONST(NO_PAST_TENSE_ACTIONS_HL, I"NO_PAST_TENSE_ACTIONS") SYN_FUNCT(TESTSINGLEPASTSTATE_HL, I"test_fn", I"TestSinglePastState")
- This code is used in §1.
enumerate TABLEOFVERBS_HL
Resources for conjugations1.4 =
SYN_SUBMD(I"conjugations") SYN_CONST(TABLEOFVERBS_HL, I"TableOfVerbs")
- This code is used in §1.
enumerate DIALOGUEBEATS_HL
enumerate DIALOGUELINES_HL
enumerate DIALOGUECHOICES_HL
enumerate NO_DIALOGUE_BEATS_HL
enumerate NO_DIALOGUE_LINES_HL
enumerate NO_DIALOGUE_CHOICES_HL
Resources for dialogue1.5 =
SYN_SUBMD(I"dialogue") SYN_CONST(DIALOGUEBEATS_HL, I"TableOfDialogueBeats") SYN_CONST(DIALOGUELINES_HL, I"TableOfDialogueLines") SYN_CONST(DIALOGUECHOICES_HL, I"TableOfDialogueChoices") SYN_CONST(NO_DIALOGUE_BEATS_HL, I"NO_DIALOGUE_BEATS") SYN_CONST(NO_DIALOGUE_LINES_HL, I"NO_DIALOGUE_LINES") SYN_CONST(NO_DIALOGUE_CHOICES_HL, I"NO_DIALOGUE_CHOICES")
- This code is used in §1.
enumerate SHOWEXTENSIONVERSIONS_HL
enumerate SHOWFULLEXTENSIONVERSIONS_HL
enumerate SHOWONEEXTENSION_HL
Resources for extensions1.6 =
SYN_SUBMD(I"extensions") SYN_FUNCT(SHOWEXTENSIONVERSIONS_HL, I"showextensionversions_fn", I"ShowExtensionVersions") SYN_FUNCT(SHOWFULLEXTENSIONVERSIONS_HL, I"showfullextensionversions_fn", I"ShowFullExtensionVersions") SYN_FUNCT(SHOWONEEXTENSION_HL, I"showoneextension_fn", I"ShowOneExtension")
- This code is used in §1.
enumerate SHOWMEINSTANCEDETAILS_HL
Resources for instances1.7 =
SYN_SUBMD(I"instances") SYN_FUNCT(SHOWMEINSTANCEDETAILS_HL, I"showmeinstancedetails_fn", I"ShowMeInstanceDetails")
- This code is used in §1.
enumerate DEFAULTVALUEFINDER_HL
enumerate I7_KIND_NAME_HL
enumerate SHOWMEKINDDETAILS_HL
enumerate BASE_KIND_HWM_HL
enumerate RUCKSACK_CLASS_HL
enumerate KINDHIERARCHY_HL
enumerate KINDMETADATA_HL
Resources for kinds1.8 =
SYN_SUBMD(I"kinds") SYN_CONST(BASE_KIND_HWM_HL, I"BASE_KIND_HWM") SYN_FUNCT(DEFAULTVALUEFINDER_HL, I"defaultvaluefinder_fn", I"DefaultValueFinder") SYN_FUNCT(I7_KIND_NAME_HL, I"printkindname_fn", I"I7_Kind_Name") SYN_FUNCT(SHOWMEKINDDETAILS_HL, I"showmekinddetails_fn", I"ShowMeKindDetails") SYN_CONST(RUCKSACK_CLASS_HL, I"RUCKSACK_CLASS") SYN_CONST(KINDHIERARCHY_HL, I"KindHierarchy") SYN_CONST(KINDMETADATA_HL, I"KindMetadata")
- This code is used in §1.
enumerate RESOURCEIDSOFFIGURES_HL
enumerate RESOURCEIDSOFSOUNDS_HL
enumerate NO_EXTERNAL_FILES_HL
enumerate NO_INTERNAL_FILES_HL
enumerate TABLEOFEXTERNALFILES_HL
enumerate TABLEOFINTERNALFILES_HL
Resources for multimedia1.9 =
SYN_SUBMD(I"multimedia") SYN_CONST(RESOURCEIDSOFFIGURES_HL, I"ResourceIDsOfFigures") SYN_CONST(RESOURCEIDSOFSOUNDS_HL, I"ResourceIDsOfSounds") SYN_CONST(NO_EXTERNAL_FILES_HL, I"NO_EXTERNAL_FILES") SYN_CONST(NO_INTERNAL_FILES_HL, I"NO_INTERNAL_FILES") SYN_CONST(TABLEOFEXTERNALFILES_HL, I"TableOfExternalFiles") SYN_CONST(TABLEOFINTERNALFILES_HL, I"TableOfInternalFiles")
- This code is used in §1.
enumerate CCOUNT_PROPERTY_HL
Resources for properties1.10 =
SYN_SUBMD(I"properties") SYN_CONST(CCOUNT_PROPERTY_HL, I"CCOUNT_PROPERTY")
- This code is used in §1.
enumerate CREATEDYNAMICRELATIONS_HL
enumerate CCOUNT_BINARY_PREDICATE_HL
enumerate ITERATERELATIONS_HL
enumerate RPROPERTY_HL
Resources for relations1.11 =
SYN_SUBMD(I"relations") SYN_FUNCT(CREATEDYNAMICRELATIONS_HL, I"creator_fn", I"CreateDynamicRelations") SYN_CONST(CCOUNT_BINARY_PREDICATE_HL, I"CCOUNT_BINARY_PREDICATE") SYN_FUNCT(ITERATERELATIONS_HL, I"iterator_fn", I"IterateRelations") SYN_FUNCT(RPROPERTY_HL, I"property_fn", I"RProperty")
- This code is used in §1.
enumerate NUMBER_RULEBOOKS_CREATED_HL
enumerate RULEBOOK_VAR_CREATORS_HL
enumerate SLOW_LOOKUP_HL
enumerate RULEBOOKS_ARRAY_HL
enumerate RULEBOOKNAMES_HL
Resources for rulebooks1.12 =
SYN_SUBMD(I"rulebooks") SYN_CONST(NUMBER_RULEBOOKS_CREATED_HL, I"NUMBER_RULEBOOKS_CREATED") SYN_CONST(RULEBOOK_VAR_CREATORS_HL, I"rulebook_var_creators") SYN_FUNCT(SLOW_LOOKUP_HL, I"slow_lookup_fn", I"MStack_GetRBVarCreator") SYN_CONST(RULEBOOKS_ARRAY_HL, I"rulebooks_array") SYN_CONST(RULEBOOKNAMES_HL, I"RulebookNames")
- This code is used in §1.
enumerate RULEPRINTINGRULE_HL
enumerate RESPONSETEXTS_HL
enumerate NO_RESPONSES_HL
enumerate RESPONSEDIVISIONS_HL
enumerate PRINT_RESPONSE_HL
Resources for rules1.13 =
SYN_SUBMD(I"rules") SYN_FUNCT(RULEPRINTINGRULE_HL, I"print_fn", I"RulePrintingRule") SYN_SUBMD(I"responses") SYN_CONST(RESPONSEDIVISIONS_HL, I"ResponseDivisions") SYN_CONST(RESPONSETEXTS_HL, I"ResponseTexts") SYN_CONST(NO_RESPONSES_HL, I"NO_RESPONSES") SYN_FUNCT(PRINT_RESPONSE_HL, I"print_fn", I"PrintResponse")
- This code is used in §1.
enumerate SHOWSCENESTATUS_HL
enumerate DETECTSCENECHANGE_HL
Resources for scenes1.14 =
SYN_SUBMD(I"scenes") SYN_FUNCT(SHOWSCENESTATUS_HL, I"show_scene_status_fn", I"ShowSceneStatus") SYN_FUNCT(DETECTSCENECHANGE_HL, I"detect_scene_change_fn", I"DetectSceneChange")
- This code is used in §1.
enumerate PRINT_TABLE_HL
enumerate TABLEOFTABLES_HL
enumerate TB_BLANKS_HL
enumerate RANKING_TABLE_HL
enumerate TC_KOV_HL
Resources for tables1.15 =
SYN_SUBMD(I"tables") SYN_FUNCT(PRINT_TABLE_HL, I"print_fn", I"PrintTableName") SYN_CONST(TABLEOFTABLES_HL, I"TableOfTables") SYN_CONST(TB_BLANKS_HL, I"TB_Blanks") SYN_CONST(RANKING_TABLE_HL, I"RANKING_TABLE") SYN_SUBMD(I"table_columns") SYN_FUNCT(TC_KOV_HL, I"weak_kind_ID_of_column_entry_fn", I"TC_KOV")
- This code is used in §1.
enumerate TESTSCRIPTSUB_HL
Resources for tests1.16 =
SYN_SUBMD(I"tests") SYN_FUNCT(TESTSCRIPTSUB_HL, I"TestScriptSub_fn", I"TestScriptSub")
- This code is used in §1.
enumerate NO_USE_OPTIONS_HL
enumerate TESTUSEOPTION_HL
enumerate PRINT_USE_OPTION_HL
enumerate USE_OPTION_VALUES_HL
Resources for use options1.17 =
SYN_SUBMD(I"use_options") SYN_CONST(NO_USE_OPTIONS_HL, I"NO_USE_OPTIONS") SYN_FUNCT(TESTUSEOPTION_HL, I"test_fn", I"TestUseOption") SYN_FUNCT(PRINT_USE_OPTION_HL, I"print_fn", I"PrintUseOption") SYN_CONST(USE_OPTION_VALUES_HL, I"USE_OPTION_VALUES")
- This code is used in §1.
§3. Synoptic printing functions.
#ifdef CORE_MODULE inter_name *SynopticHierarchy::printing_function_iname(inter_tree *I, kind *K) { if (Kinds::eq(K, K_use_option)) return HierarchyLocations::iname(I, PRINT_USE_OPTION_HL); if (Kinds::eq(K, K_table)) return HierarchyLocations::iname(I, PRINT_TABLE_HL); if (Kinds::eq(K, K_response)) return HierarchyLocations::iname(I, PRINT_RESPONSE_HL); return NULL; } #endif