diff --git a/README.md b/README.md index 1d65b98c81..5e07094341 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Inform 7 -v10.1.0-alpha.1+6U81 'Krypton' (12 April 2022) +v10.1.0-alpha.1+6U82 'Krypton' (13 April 2022) ## About Inform 7 diff --git a/build.txt b/build.txt index c449d73725..b08cc6b9c5 100644 --- a/build.txt +++ b/build.txt @@ -1,3 +1,3 @@ Prerelease: alpha.1 -Build Date: 12 April 2022 -Build Number: 6U81 +Build Date: 13 April 2022 +Build Number: 6U82 diff --git a/inform7/Figures/memory-diagnostics.txt b/inform7/Figures/memory-diagnostics.txt index ecd69409e0..d6ea813044 100644 --- a/inform7/Figures/memory-diagnostics.txt +++ b/inform7/Figures/memory-diagnostics.txt @@ -1,9 +1,9 @@ -Total memory consumption was 126294K = 123 MB +Total memory consumption was 126310K = 123 MB - ---- was used for 2009238 objects, in 361118 frames in 0 x 800K = 0K = 0 MB: + ---- was used for 2009539 objects, in 361122 frames in 0 x 800K = 0K = 0 MB: 32.3% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes - 18.9% text_stream_array 4346 x 100 = 434600 objects, 24476672 bytes + 18.9% text_stream_array 4348 x 100 = 434800 objects, 24487936 bytes 18.7% linked_list 43320 objects, 24259200 bytes 10.8% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes 10.2% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes @@ -21,7 +21,7 @@ Total memory consumption was 126294K = 123 MB 1.1% inter_symbols_table 26586 objects, 1488816 bytes 1.0% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes 0.9% inter_package 26586 objects, 1276128 bytes - 0.9% dict_entry_array 386 x 100 = 38600 objects, 1247552 bytes + 0.9% dict_entry_array 387 x 100 = 38700 objects, 1250784 bytes 0.8% map_data 670 objects, 1125600 bytes 0.8% id_body 942 objects, 1077648 bytes 0.7% adjective_meaning 202 objects, 1000304 bytes @@ -37,7 +37,7 @@ Total memory consumption was 126294K = 123 MB 0.3% verb_usage 1128 objects, 388032 bytes 0.2% rule 470 objects, 368480 bytes 0.2% verb_form 386 objects, 348944 bytes - 0.2% dictionary 6626 objects, 318048 bytes + 0.2% dictionary 6627 objects, 318096 bytes 0.2% noun 2381 objects, 285720 bytes 0.2% compilation_subtask 3349 objects, 267920 bytes 0.2% inter_annotation_array 2 x 8192 = 16384 objects, 262208 bytes @@ -237,16 +237,16 @@ Total memory consumption was 126294K = 123 MB 100.0% was used for memory not allocated for objects: - 59.2% text stream storage 76602800 bytes in 452575 claims - 3.5% dictionary storage 4549632 bytes in 6626 claims + 59.2% text stream storage 76619156 bytes in 452740 claims + 3.5% dictionary storage 4550144 bytes in 6627 claims ---- sorting 744 bytes in 3 claims 5.5% source text 7200000 bytes in 3 claims 8.3% source text details 10800000 bytes in 2 claims 0.2% documentation fragments 262144 bytes in 1 claim ---- linguistic stock array 81920 bytes in 2 claims ---- small word set array 105600 bytes in 22 claims - 3.5% inter symbols storage 4526448 bytes in 27942 claims - 12.9% inter bytecode storage 16767632 bytes in 14 claims + 3.4% inter symbols storage 4526448 bytes in 27942 claims + 12.9% inter bytecode storage 16767656 bytes in 14 claims 4.8% inter links storage 6222976 bytes in 11 claims 0.1% inter tree location list storage 191232 bytes in 32 claims 1.3% instance-of-kind counting 1695204 bytes in 1 claim @@ -255,5 +255,5 @@ Total memory consumption was 126294K = 123 MB ---- code generation workspace for objects 1336 bytes in 4 claims 0.2% emitter array storage 280032 bytes in 1997 claims --140.-6% was overhead - -181936520 bytes = -177672K = -173 MB +-140.-6% was overhead - -181951064 bytes = -177686K = -173 MB diff --git a/inform7/Figures/timings-diagnostics.txt b/inform7/Figures/timings-diagnostics.txt index bccdc98648..27468bf8d9 100644 --- a/inform7/Figures/timings-diagnostics.txt +++ b/inform7/Figures/timings-diagnostics.txt @@ -1,29 +1,29 @@ 100.0% in inform7 run - 68.2% in compilation to Inter - 47.9% in //Sequence::undertake_queued_tasks// - 4.6% in //MajorNodes::pre_pass// - 3.1% in //MajorNodes::pass_1// - 2.3% in //RTPhrasebook::compile_entries// + 68.5% in compilation to Inter + 48.1% in //Sequence::undertake_queued_tasks// + 4.5% in //MajorNodes::pre_pass// + 3.2% in //MajorNodes::pass_1// + 2.4% in //RTPhrasebook::compile_entries// 1.8% in //ImperativeDefinitions::assess_all// 1.5% in //RTKindConstructors::compile// 1.0% in //Sequence::lint_inter// 0.5% in //MajorNodes::pass_2// - 0.5% in //Sequence::undertake_queued_tasks// 0.5% in //World::stage_V// 0.4% in //ImperativeDefinitions::compile_first_block// 0.4% in //Sequence::undertake_queued_tasks// + 0.4% in //Sequence::undertake_queued_tasks// 0.2% in //CompletionModule::compile// 0.2% in //RTKindConstructors::compile_permissions// 0.1% in //InferenceSubjects::emit_all// 0.1% in //Task::make_built_in_kind_constructors// 0.1% in //Understand::traverse// 0.1% in //World::stages_II_and_III// - 2.0% not specifically accounted for - 29.1% in running Inter pipeline - 10.1% in step 14/15: generate inform6 -> auto.inf - 7.6% in step 5/15: load-binary-kits + 2.1% not specifically accounted for + 28.8% in running Inter pipeline + 10.2% in step 14/15: generate inform6 -> auto.inf + 7.5% in step 5/15: load-binary-kits 6.6% in step 6/15: make-synoptic-module - 1.6% in step 9/15: make-identifiers-unique + 1.5% in step 9/15: make-identifiers-unique 0.4% in step 12/15: eliminate-redundant-operations 0.4% in step 4/15: compile-splats 0.4% in step 7/15: shorten-wiring @@ -32,6 +32,6 @@ 0.1% in step 10/15: reconcile-verbs 0.1% in step 2/15: parse-insertions 0.1% in step 3/15: resolve-conditional-compilation - 0.5% not specifically accounted for + 0.4% not specifically accounted for 2.2% in supervisor 0.4% not specifically accounted for diff --git a/inform7/Tests/Test Cases/_Results_Ideal/ManyActions-G.txt b/inform7/Tests/Test Cases/_Results_Ideal/ManyActions-G.txt index 4d1cc7af7f..9e33c2a084 100644 --- a/inform7/Tests/Test Cases/_Results_Ideal/ManyActions-G.txt +++ b/inform7/Tests/Test Cases/_Results_Ideal/ManyActions-G.txt @@ -16,10 +16,13 @@ Actions listing on. >[2] rules Rules tracing now switched on. Type "rules off" to switch it off again, or "rules all" to include even rules which do not apply. +[Rule "parse command rule" applies.] >[3] trace 2 [Rule "declare everything initially unmentioned rule" applies.] +[Rule "generate action rule" applies.] [Parser tracing set to level 2.] +[Rule "parse command rule" applies.] >[4] x20 [ "x20" x20 ] [Parsing for the verb 'x20' (1 lines)] @@ -28,11 +31,19 @@ Rules tracing now switched on. Type "rules off" to switch it off again, or "rule [line 0 token 1 word 2 : END] [Line successfully parsed] [Rule "declare everything initially unmentioned rule" applies.] +[Rule "generate action rule" applies.] [action20ing] [Rule "announce items from multiple object lists rule" applies.] [Rule "set pronouns from items from multiple object lists rule" applies.] [Rule "before stage rule" applies.] +[Rule "basic visibility rule" applies.] +[Rule "basic accessibility rule" applies.] +[Rule "carrying requirements rule" applies.] [Rule "instead stage rule" applies.] +[Rule "requested actions require persuasion rule" applies.] +[Rule "carry out requested actions rule" applies.] +[Rule "descend to specific action-processing rule" applies.] +[Rule "work out details of specific action rule" applies.] [Rule "investigate player's awareness before action rule" applies.] [Rule "player aware of his own actions rule" applies.] [Rule "check stage rule" applies.] @@ -45,9 +56,17 @@ Rules tracing now switched on. Type "rules off" to switch it off again, or "rule [action20ing - succeeded] [Rule "A first turn sequence rule" applies.] +[Rule "scene change machinery rule" applies.] [Rule "every turn stage rule" applies.] +[Rule "timed events rule" applies.] +[Rule "advance time rule" applies.] +[Rule "update chronological records rule" applies.] [Rule "A last turn sequence rule" applies.] +[Rule "scene change machinery rule" applies.] +[Rule "adjust light rule" applies.] +[Rule "note object acquisitions rule" applies.] [Rule "notify score changes rule" applies.] +[Rule "parse command rule" applies.] >[5] x110 [ "x110" x110 ] [Parsing for the verb 'x110' (1 lines)] @@ -56,11 +75,19 @@ Rules tracing now switched on. Type "rules off" to switch it off again, or "rule [line 0 token 1 word 2 : END] [Line successfully parsed] [Rule "declare everything initially unmentioned rule" applies.] +[Rule "generate action rule" applies.] [action110ing] [Rule "announce items from multiple object lists rule" applies.] [Rule "set pronouns from items from multiple object lists rule" applies.] [Rule "before stage rule" applies.] +[Rule "basic visibility rule" applies.] +[Rule "basic accessibility rule" applies.] +[Rule "carrying requirements rule" applies.] [Rule "instead stage rule" applies.] +[Rule "requested actions require persuasion rule" applies.] +[Rule "carry out requested actions rule" applies.] +[Rule "descend to specific action-processing rule" applies.] +[Rule "work out details of specific action rule" applies.] [Rule "investigate player's awareness before action rule" applies.] [Rule "player aware of his own actions rule" applies.] [Rule "check stage rule" applies.] @@ -73,9 +100,17 @@ Rules tracing now switched on. Type "rules off" to switch it off again, or "rule [action110ing - succeeded] [Rule "A first turn sequence rule" applies.] +[Rule "scene change machinery rule" applies.] [Rule "every turn stage rule" applies.] +[Rule "timed events rule" applies.] +[Rule "advance time rule" applies.] +[Rule "update chronological records rule" applies.] [Rule "A last turn sequence rule" applies.] +[Rule "scene change machinery rule" applies.] +[Rule "adjust light rule" applies.] +[Rule "note object acquisitions rule" applies.] [Rule "notify score changes rule" applies.] +[Rule "parse command rule" applies.] >[6] x220 [ "x220" x220 ] [Parsing for the verb 'x220' (1 lines)] @@ -84,11 +119,19 @@ Rules tracing now switched on. Type "rules off" to switch it off again, or "rule [line 0 token 1 word 2 : END] [Line successfully parsed] [Rule "declare everything initially unmentioned rule" applies.] +[Rule "generate action rule" applies.] [action220ing] [Rule "announce items from multiple object lists rule" applies.] [Rule "set pronouns from items from multiple object lists rule" applies.] [Rule "before stage rule" applies.] +[Rule "basic visibility rule" applies.] +[Rule "basic accessibility rule" applies.] +[Rule "carrying requirements rule" applies.] [Rule "instead stage rule" applies.] +[Rule "requested actions require persuasion rule" applies.] +[Rule "carry out requested actions rule" applies.] +[Rule "descend to specific action-processing rule" applies.] +[Rule "work out details of specific action rule" applies.] [Rule "investigate player's awareness before action rule" applies.] [Rule "player aware of his own actions rule" applies.] [Rule "check stage rule" applies.] @@ -101,9 +144,17 @@ Rules tracing now switched on. Type "rules off" to switch it off again, or "rule [action220ing - succeeded] [Rule "A first turn sequence rule" applies.] +[Rule "scene change machinery rule" applies.] [Rule "every turn stage rule" applies.] +[Rule "timed events rule" applies.] +[Rule "advance time rule" applies.] +[Rule "update chronological records rule" applies.] [Rule "A last turn sequence rule" applies.] +[Rule "scene change machinery rule" applies.] +[Rule "adjust light rule" applies.] +[Rule "note object acquisitions rule" applies.] [Rule "notify score changes rule" applies.] +[Rule "parse command rule" applies.] >[7] x230 [ "x230" x230 ] [Parsing for the verb 'x230' (1 lines)] @@ -112,11 +163,19 @@ Rules tracing now switched on. Type "rules off" to switch it off again, or "rule [line 0 token 1 word 2 : END] [Line successfully parsed] [Rule "declare everything initially unmentioned rule" applies.] +[Rule "generate action rule" applies.] [action230ing] [Rule "announce items from multiple object lists rule" applies.] [Rule "set pronouns from items from multiple object lists rule" applies.] [Rule "before stage rule" applies.] +[Rule "basic visibility rule" applies.] +[Rule "basic accessibility rule" applies.] +[Rule "carrying requirements rule" applies.] [Rule "instead stage rule" applies.] +[Rule "requested actions require persuasion rule" applies.] +[Rule "carry out requested actions rule" applies.] +[Rule "descend to specific action-processing rule" applies.] +[Rule "work out details of specific action rule" applies.] [Rule "investigate player's awareness before action rule" applies.] [Rule "player aware of his own actions rule" applies.] [Rule "check stage rule" applies.] @@ -129,9 +188,17 @@ Rules tracing now switched on. Type "rules off" to switch it off again, or "rule [action230ing - succeeded] [Rule "A first turn sequence rule" applies.] +[Rule "scene change machinery rule" applies.] [Rule "every turn stage rule" applies.] +[Rule "timed events rule" applies.] +[Rule "advance time rule" applies.] +[Rule "update chronological records rule" applies.] [Rule "A last turn sequence rule" applies.] +[Rule "scene change machinery rule" applies.] +[Rule "adjust light rule" applies.] +[Rule "note object acquisitions rule" applies.] [Rule "notify score changes rule" applies.] +[Rule "parse command rule" applies.] >[8] x240 [ "x240" x240 ] [Parsing for the verb 'x240' (1 lines)] @@ -140,11 +207,19 @@ Rules tracing now switched on. Type "rules off" to switch it off again, or "rule [line 0 token 1 word 2 : END] [Line successfully parsed] [Rule "declare everything initially unmentioned rule" applies.] +[Rule "generate action rule" applies.] [action240ing] [Rule "announce items from multiple object lists rule" applies.] [Rule "set pronouns from items from multiple object lists rule" applies.] [Rule "before stage rule" applies.] +[Rule "basic visibility rule" applies.] +[Rule "basic accessibility rule" applies.] +[Rule "carrying requirements rule" applies.] [Rule "instead stage rule" applies.] +[Rule "requested actions require persuasion rule" applies.] +[Rule "carry out requested actions rule" applies.] +[Rule "descend to specific action-processing rule" applies.] +[Rule "work out details of specific action rule" applies.] [Rule "investigate player's awareness before action rule" applies.] [Rule "player aware of his own actions rule" applies.] [Rule "check stage rule" applies.] @@ -157,9 +232,17 @@ Rules tracing now switched on. Type "rules off" to switch it off again, or "rule [action240ing - succeeded] [Rule "A first turn sequence rule" applies.] +[Rule "scene change machinery rule" applies.] [Rule "every turn stage rule" applies.] +[Rule "timed events rule" applies.] +[Rule "advance time rule" applies.] +[Rule "update chronological records rule" applies.] [Rule "A last turn sequence rule" applies.] +[Rule "scene change machinery rule" applies.] +[Rule "adjust light rule" applies.] +[Rule "note object acquisitions rule" applies.] [Rule "notify score changes rule" applies.] +[Rule "parse command rule" applies.] >[ "quit" quit ] [Parsing for the verb 'quit' (1 lines)] @@ -167,9 +250,12 @@ Rules tracing now switched on. Type "rules off" to switch it off again, or "rule [line 0 token 1 word 2 : END] [Line successfully parsed] [Rule "declare everything initially unmentioned rule" applies.] +[Rule "generate action rule" applies.] [quitting the game] +[Rule "work out details of specific action rule" applies.] [Rule "investigate player's awareness before action rule" applies.] [Rule "player aware of his own actions rule" applies.] [Rule "check stage rule" applies.] [Rule "carry out stage rule" applies.] +[Rule "quit the game rule" applies.] Are you sure you want to quit? \ No newline at end of file diff --git a/inform7/Tests/Test Cases/_Results_Ideal/OverlappingActionNames.txt b/inform7/Tests/Test Cases/_Results_Ideal/OverlappingActionNames.txt index c2e4c160ed..2f1251ace3 100644 --- a/inform7/Tests/Test Cases/_Results_Ideal/OverlappingActionNames.txt +++ b/inform7/Tests/Test Cases/_Results_Ideal/OverlappingActionNames.txt @@ -1,7 +1,7 @@ Parlor Welcome An Interactive Fiction - Release 1 / Serial number 150512 / Inform 7 build 6M22 (I6/v6.33 lib 6/12N) SD + Release 1 / Serial number 160428 / Inform 7 v10.1.0 / D Parlor A sparsely furnished room. @@ -27,20 +27,33 @@ >[4] rules all Rules tracing now switched to "all". Type "rules off" to switch it off again. + [Rule "parse command rule" applies.] >[5] point at middle half [Rule "declare everything initially unmentioned rule" applies.] + [Rule "generate action rule" applies.] [pointing at the center coconut half] [Rule "announce items from multiple object lists rule" applies.] [Rule "set pronouns from items from multiple object lists rule" applies.] [Rule "before stage rule" applies.] + [Rule "basic visibility rule" applies.] [Rule "can't act in the dark rule" applies.] + [Rule "basic accessibility rule" applies.] + [Rule "carrying requirements rule" applies.] [Rule "instead stage rule" applies.] [Rule "Instead of pointing at a coconut half ( called the nut )" applies.] You have pointed gloriously at the center coconut half. [pointing at the center coconut half - ended without result] [Rule "A first turn sequence rule" applies.] + [Rule "scene change machinery rule" applies.] [Rule "every turn stage rule" applies.] + [Rule "timed events rule" applies.] + [Rule "advance time rule" applies.] + [Rule "update chronological records rule" applies.] [Rule "A last turn sequence rule" applies.] + [Rule "scene change machinery rule" applies.] + [Rule "adjust light rule" applies.] + [Rule "note object acquisitions rule" applies.] [Rule "notify score changes rule" applies.] + [Rule "parse command rule" applies.] > > \ No newline at end of file diff --git a/inform7/Tests/Test Cases/_Results_Ideal/SecondAsValue.txt b/inform7/Tests/Test Cases/_Results_Ideal/SecondAsValue.txt index 9e352e4578..248a2d0dcb 100644 --- a/inform7/Tests/Test Cases/_Results_Ideal/SecondAsValue.txt +++ b/inform7/Tests/Test Cases/_Results_Ideal/SecondAsValue.txt @@ -1,7 +1,7 @@ Shoe Store Welcome An Interactive Fiction - Release 1 / Serial number 150512 / Inform 7 build 6M22 (I6/v6.33 lib 6/12N) SD + Release 1 / Serial number 160428 / Inform 7 v10.1.0 / D Shoe Store @@ -14,13 +14,23 @@ >[2] rules all Rules tracing now switched to "all". Type "rules off" to switch it off again. + [Rule "parse command rule" applies.] >[3] dye shoe white [Rule "declare everything initially unmentioned rule" applies.] + [Rule "generate action rule" applies.] [dyeing the satin shoe to white] [Rule "announce items from multiple object lists rule" applies.] [Rule "set pronouns from items from multiple object lists rule" applies.] [Rule "before stage rule" applies.] + [Rule "basic visibility rule" applies.] + [Rule "basic accessibility rule" applies.] + [Rule "access through barriers rule" applies.] + [Rule "carrying requirements rule" applies.] [Rule "instead stage rule" applies.] + [Rule "requested actions require persuasion rule" applies.] + [Rule "carry out requested actions rule" applies.] + [Rule "descend to specific action-processing rule" applies.] + [Rule "work out details of specific action rule" applies.] [Rule "investigate player's awareness before action rule" applies.] [Rule "player aware of his own actions rule" applies.] [Rule "check stage rule" applies.] @@ -31,16 +41,33 @@ [dyeing the satin shoe to white - failed the Check dyeing something to the color understood when the color understood is white] [Rule "A first turn sequence rule" applies.] + [Rule "scene change machinery rule" applies.] [Rule "every turn stage rule" applies.] + [Rule "timed events rule" applies.] + [Rule "advance time rule" applies.] + [Rule "update chronological records rule" applies.] [Rule "A last turn sequence rule" applies.] + [Rule "scene change machinery rule" applies.] + [Rule "adjust light rule" applies.] + [Rule "note object acquisitions rule" applies.] [Rule "notify score changes rule" applies.] + [Rule "parse command rule" applies.] >[4] dye dress lilac [Rule "declare everything initially unmentioned rule" applies.] + [Rule "generate action rule" applies.] [dyeing the dress to lilac] [Rule "announce items from multiple object lists rule" applies.] [Rule "set pronouns from items from multiple object lists rule" applies.] [Rule "before stage rule" applies.] + [Rule "basic visibility rule" applies.] + [Rule "basic accessibility rule" applies.] + [Rule "access through barriers rule" applies.] + [Rule "carrying requirements rule" applies.] [Rule "instead stage rule" applies.] + [Rule "requested actions require persuasion rule" applies.] + [Rule "carry out requested actions rule" applies.] + [Rule "descend to specific action-processing rule" applies.] + [Rule "work out details of specific action rule" applies.] [Rule "investigate player's awareness before action rule" applies.] [Rule "player aware of his own actions rule" applies.] [Rule "check stage rule" applies.] @@ -52,16 +79,33 @@ [dyeing the dress to lilac - failed the Check dyeing something to the color understood] [Rule "A first turn sequence rule" applies.] + [Rule "scene change machinery rule" applies.] [Rule "every turn stage rule" applies.] + [Rule "timed events rule" applies.] + [Rule "advance time rule" applies.] + [Rule "update chronological records rule" applies.] [Rule "A last turn sequence rule" applies.] + [Rule "scene change machinery rule" applies.] + [Rule "adjust light rule" applies.] + [Rule "note object acquisitions rule" applies.] [Rule "notify score changes rule" applies.] + [Rule "parse command rule" applies.] >[5] dye shoe light purple [Rule "declare everything initially unmentioned rule" applies.] + [Rule "generate action rule" applies.] [dyeing the satin shoe to light purple] [Rule "announce items from multiple object lists rule" applies.] [Rule "set pronouns from items from multiple object lists rule" applies.] [Rule "before stage rule" applies.] + [Rule "basic visibility rule" applies.] + [Rule "basic accessibility rule" applies.] + [Rule "access through barriers rule" applies.] + [Rule "carrying requirements rule" applies.] [Rule "instead stage rule" applies.] + [Rule "requested actions require persuasion rule" applies.] + [Rule "carry out requested actions rule" applies.] + [Rule "descend to specific action-processing rule" applies.] + [Rule "work out details of specific action rule" applies.] [Rule "investigate player's awareness before action rule" applies.] [Rule "player aware of his own actions rule" applies.] [Rule "check stage rule" applies.] @@ -73,16 +117,33 @@ [dyeing the satin shoe to light purple - failed the Check dyeing something to the color understood] [Rule "A first turn sequence rule" applies.] + [Rule "scene change machinery rule" applies.] [Rule "every turn stage rule" applies.] + [Rule "timed events rule" applies.] + [Rule "advance time rule" applies.] + [Rule "update chronological records rule" applies.] [Rule "A last turn sequence rule" applies.] + [Rule "scene change machinery rule" applies.] + [Rule "adjust light rule" applies.] + [Rule "note object acquisitions rule" applies.] [Rule "notify score changes rule" applies.] + [Rule "parse command rule" applies.] >[6] g [Rule "declare everything initially unmentioned rule" applies.] + [Rule "generate action rule" applies.] [dyeing the satin shoe to light purple] [Rule "announce items from multiple object lists rule" applies.] [Rule "set pronouns from items from multiple object lists rule" applies.] [Rule "before stage rule" applies.] + [Rule "basic visibility rule" applies.] + [Rule "basic accessibility rule" applies.] + [Rule "access through barriers rule" applies.] + [Rule "carrying requirements rule" applies.] [Rule "instead stage rule" applies.] + [Rule "requested actions require persuasion rule" applies.] + [Rule "carry out requested actions rule" applies.] + [Rule "descend to specific action-processing rule" applies.] + [Rule "work out details of specific action rule" applies.] [Rule "investigate player's awareness before action rule" applies.] [Rule "player aware of his own actions rule" applies.] [Rule "check stage rule" applies.] @@ -94,7 +155,15 @@ [dyeing the satin shoe to light purple - failed the Check dyeing something to the color understood] [Rule "A first turn sequence rule" applies.] + [Rule "scene change machinery rule" applies.] [Rule "every turn stage rule" applies.] + [Rule "timed events rule" applies.] + [Rule "advance time rule" applies.] + [Rule "update chronological records rule" applies.] [Rule "A last turn sequence rule" applies.] + [Rule "scene change machinery rule" applies.] + [Rule "adjust light rule" applies.] + [Rule "note object acquisitions rule" applies.] [Rule "notify score changes rule" applies.] + [Rule "parse command rule" applies.] > > \ No newline at end of file diff --git a/inform7/Tests/Test Makes/Eg4-C/textual.txt b/inform7/Tests/Test Makes/Eg4-C/textual.txt index f2aaf16ac9..23e196f4f8 100644 --- a/inform7/Tests/Test Makes/Eg4-C/textual.txt +++ b/inform7/Tests/Test Makes/Eg4-C/textual.txt @@ -5806,6 +5806,13 @@ package main _plain inv !store ref /main/BasicInformKit/variables/parameter_value_var/parameter_value val p + inv !if + val (/main/generic/kinds/kind2/K_number) /main/BasicInformKit/variables/debug_rules_var/debug_rules + code + inv /main/BasicInformKit/functions/DB_Rule_fn/DB_Rule + val /main/BasicInformKit/functions/FINAL_CODE_STARTUP_R_fn/FINAL_CODE_STARTUP_R + val (/main/generic/kinds/kind2/K_number) 0 + val (/main/generic/kinds/kind2/K_number) 0 inv !store ref rv inv !indirect0 @@ -5893,6 +5900,13 @@ package main _plain inv !store ref /main/BasicInformKit/variables/parameter_value_var/parameter_value val p + inv !if + val (/main/generic/kinds/kind2/K_number) /main/BasicInformKit/variables/debug_rules_var/debug_rules + code + inv /main/BasicInformKit/functions/DB_Rule_fn/DB_Rule + val /main/BasicInformExtrasKit/functions/STANDARD_NAME_PRINTING_R_fn/STANDARD_NAME_PRINTING_R + val (/main/generic/kinds/kind2/K_number) 0 + val (/main/generic/kinds/kind2/K_number) 0 inv !store ref rv inv !indirect0 @@ -5980,6 +5994,13 @@ package main _plain inv !store ref /main/BasicInformKit/variables/parameter_value_var/parameter_value val p + inv !if + val (/main/generic/kinds/kind2/K_number) /main/BasicInformKit/variables/debug_rules_var/debug_rules + code + inv /main/BasicInformKit/functions/DB_Rule_fn/DB_Rule + val /main/BasicInformExtrasKit/functions/STANDARD_PLURAL_NAME_PRINTING_R_fn/STANDARD_PLURAL_NAME_PRINTING_R + val (/main/generic/kinds/kind2/K_number) 0 + val (/main/generic/kinds/kind2/K_number) 0 inv !store ref rv inv !indirect0 diff --git a/inform7/runtime-module/Chapter 5/Rulebooks.w b/inform7/runtime-module/Chapter 5/Rulebooks.w index 828dff3b1e..53ac84706f 100644 --- a/inform7/runtime-module/Chapter 5/Rulebooks.w +++ b/inform7/runtime-module/Chapter 5/Rulebooks.w @@ -362,6 +362,23 @@ than once for each rule. EmitCode::val_symbol(K_value, p_s); EmitCode::up(); } + + if (RTRules::is_foreign(RuleBookings::get_rule(br))) { + EmitCode::inv(IF_BIP); + EmitCode::down(); + EmitCode::val_iname(K_number, Hierarchy::find(DEBUG_RULES_HL)); + EmitCode::code(); + EmitCode::down(); + EmitCode::call(Hierarchy::find(DB_RULE_HL)); + EmitCode::down(); + CompileValues::to_code_val(spec); + EmitCode::val_number(0); + EmitCode::val_number(0); + EmitCode::up(); + EmitCode::up(); + EmitCode::up(); + } + EmitCode::inv(STORE_BIP); EmitCode::down(); EmitCode::ref_symbol(K_value, rv_s);