The layout and naming conventions for the contents of the main/synoptic module.
- §1.2. Actions
- §1.3. Activities
- §1.5. Chronology
- §1.7. Conjugations
- §1.9. Dialogue
- §1.11. Extensions
- §1.13. Instances
- §1.15. Kinds
- §1.17. Multimedia
- §1.19. Properties
- §1.21. Relations
- §1.23. Rulebooks
- §1.25. Rules
- §1.27. Scenes
- §1.29. Tables
- §1.31. Tests
- §1.33. Use options
- §2. 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.
enum 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.2; Resources for activities1.4; Resources for chronology1.6; Resources for conjugations1.8; Resources for dialogue1.10; Resources for extensions1.12; Resources for instances1.14; Resources for kinds1.16; Resources for multimedia1.18; Resources for properties1.20; Resources for relations1.22; Resources for rulebooks1.24; Resources for rules1.26; Resources for scenes1.28; Resources for tables1.30; Resources for tests1.32; Resources for use options1.34; }
§1.1. 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); }
§1.2. Actions. The /main/synoptic/actions submodule.
enum ACTIONCODING_HL enum ACTIONDATA_HL enum ACTIONHAPPENED_HL enum AD_RECORDS_HL enum CCOUNT_ACTION_NAME_HL enum DB_ACTION_DETAILS_HL
Resources for actions1.2 =
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.
§1.3. Activities. The /main/synoptic/activities submodule.
enum ACTIVITY_AFTER_RULEBOOKS_HL enum ACTIVITY_BEFORE_RULEBOOKS_HL enum ACTIVITY_FOR_RULEBOOKS_HL enum ACTIVITY_FLAGS_HL enum ACTIVITY_VAR_CREATORS_HL
§1.4. Resources for activities1.4 =
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.
§1.5. Chronology. The /main/synoptic/chronology submodule.
enum TIMEDEVENTSTABLE_HL enum TIMEDEVENTTIMESTABLE_HL enum PASTACTIONSI6ROUTINES_HL enum NO_PAST_TENSE_CONDS_HL enum NO_PAST_TENSE_ACTIONS_HL enum TESTSINGLEPASTSTATE_HL
§1.6. Resources for chronology1.6 =
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.
§1.7. Conjugations. The /main/synoptic/conjugations submodule.
enum TABLEOFVERBS_HL
§1.8. Resources for conjugations1.8 =
SYN_SUBMD(I"conjugations") SYN_CONST(TABLEOFVERBS_HL, I"TableOfVerbs")
- This code is used in §1.
§1.9. Dialogue. The /main/synoptic/dialogue submodule.
enum DIALOGUEBEATS_HL enum DIALOGUELINES_HL enum DIALOGUECHOICES_HL enum NO_DIALOGUE_BEATS_HL enum NO_DIALOGUE_LINES_HL enum NO_DIALOGUE_CHOICES_HL
§1.10. Resources for dialogue1.10 =
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.
§1.11. Extensions. The /main/synoptic/extensions submodule.
enum SHOWEXTENSIONVERSIONS_HL enum SHOWFULLEXTENSIONVERSIONS_HL enum SHOWONEEXTENSION_HL
§1.12. Resources for extensions1.12 =
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.
§1.13. Instances. The /main/synoptic/instances submodule.
enum SHOWMEINSTANCEDETAILS_HL
§1.14. Resources for instances1.14 =
SYN_SUBMD(I"instances") SYN_FUNCT(SHOWMEINSTANCEDETAILS_HL, I"showmeinstancedetails_fn", I"ShowMeInstanceDetails")
- This code is used in §1.
§1.15. Kinds. The /main/synoptic/kinds submodule.
enum DEFAULTVALUEFINDER_HL enum I7_KIND_NAME_HL enum SHOWMEKINDDETAILS_HL enum BASE_KIND_HWM_HL enum RUCKSACK_CLASS_HL enum KINDHIERARCHY_HL enum KINDMETADATA_HL
§1.16. Resources for kinds1.16 =
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.
§1.17. Multimedia. The /main/synoptic/multimedia submodule.
enum RESOURCEIDSOFFIGURES_HL enum RESOURCEIDSOFSOUNDS_HL enum NO_EXTERNAL_FILES_HL enum NO_INTERNAL_FILES_HL enum TABLEOFEXTERNALFILES_HL enum TABLEOFINTERNALFILES_HL
§1.18. Resources for multimedia1.18 =
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.
§1.19. Properties. The /main/synoptic/properties submodule.
enum CCOUNT_PROPERTY_HL
§1.20. Resources for properties1.20 =
SYN_SUBMD(I"properties") SYN_CONST(CCOUNT_PROPERTY_HL, I"CCOUNT_PROPERTY")
- This code is used in §1.
§1.21. Relations. The /main/synoptic/relations submodule.
enum CREATEDYNAMICRELATIONS_HL enum CCOUNT_BINARY_PREDICATE_HL enum ITERATERELATIONS_HL enum RPROPERTY_HL
§1.22. Resources for relations1.22 =
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.
§1.23. Rulebooks. The /main/synoptic/rulebooks submodule.
enum NUMBER_RULEBOOKS_CREATED_HL enum RULEBOOK_VAR_CREATORS_HL enum SLOW_LOOKUP_HL enum RULEBOOKS_ARRAY_HL enum RULEBOOKNAMES_HL
§1.24. Resources for rulebooks1.24 =
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.
§1.25. Rules. The /main/synoptic/rules and /main/synoptic/responses submodule.
enum RULEPRINTINGRULE_HL enum RESPONSETEXTS_HL enum NO_RESPONSES_HL enum RESPONSEDIVISIONS_HL enum PRINT_RESPONSE_HL
§1.26. Resources for rules1.26 =
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.
§1.27. Scenes. The /main/synoptic/scenes submodule.
enum SHOWSCENESTATUS_HL enum DETECTSCENECHANGE_HL
§1.28. Resources for scenes1.28 =
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.
§1.29. Tables. The /main/synoptic/tables submodule.
enum PRINT_TABLE_HL enum TABLEOFTABLES_HL enum TB_BLANKS_HL enum RANKING_TABLE_HL enum TC_KOV_HL
§1.30. Resources for tables1.30 =
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.
§1.31. Tests. The /main/synoptic/tests submodule.
enum TESTSCRIPTSUB_HL
§1.32. Resources for tests1.32 =
SYN_SUBMD(I"tests") SYN_FUNCT(TESTSCRIPTSUB_HL, I"TestScriptSub_fn", I"TestScriptSub")
- This code is used in §1.
§1.33. Use options. The /main/synoptic/use_options submodule.
enum NO_USE_OPTIONS_HL enum TESTUSEOPTION_HL enum PRINT_USE_OPTION_HL enum USE_OPTION_VALUES_HL
§1.34. Resources for use options1.34 =
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.
§2. 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