1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-05-19 17:39:23 +03:00

Added problem messages for bad conditionals on beats, lines and choices

This commit is contained in:
Graham Nelson 2024-01-01 21:40:07 +00:00
parent 22e590fe82
commit de400c4efa
7 changed files with 68 additions and 14 deletions

View file

@ -399,6 +399,15 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><a href="2-ec.html#SP3" class="function-link"><span class="function-syntax">EmitCode::up</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><a href="2-ec.html#SP3" class="function-link"><span class="function-syntax">EmitCode::up</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_source</span><span class="plain-syntax">(1, </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_wording</span><span class="plain-syntax">(2, </span><span class="identifier-syntax">A</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">StandardProblems::handmade_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(...));</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="string-syntax">"This dialogue beat (%1) seems to be performed depending "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"on whether or not '%2', "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"but I can't make sense of that condition."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>

View file

@ -268,6 +268,15 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><a href="2-ec.html#SP3" class="function-link"><span class="function-syntax">EmitCode::up</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><a href="2-ec.html#SP3" class="function-link"><span class="function-syntax">EmitCode::up</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_source</span><span class="plain-syntax">(1, </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_wording</span><span class="plain-syntax">(2, </span><span class="identifier-syntax">A</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">StandardProblems::handmade_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(...));</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="string-syntax">"This dialogue choice (%1) seems to be performed depending "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"on whether or not '%2', "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"but I can't make sense of that condition."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>

View file

@ -376,6 +376,15 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><a href="2-ec.html#SP3" class="function-link"><span class="function-syntax">EmitCode::up</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><a href="2-ec.html#SP3" class="function-link"><span class="function-syntax">EmitCode::up</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_source</span><span class="plain-syntax">(1, </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_wording</span><span class="plain-syntax">(2, </span><span class="identifier-syntax">A</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">StandardProblems::handmade_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(...));</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_segment</span><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="string-syntax">"This dialogue line (%1) seems to be performed depending "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"on whether or not '%2', "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"but I can't make sense of that condition."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>

View file

@ -1,28 +1,28 @@
100.0% in inform7 run
67.9% in compilation to Inter
46.4% in //Sequence::undertake_queued_tasks//
67.6% in compilation to Inter
46.3% in //Sequence::undertake_queued_tasks//
4.5% in //MajorNodes::pre_pass//
3.3% in //MajorNodes::pass_1//
1.8% in //ImperativeDefinitions::assess_all//
3.4% in //MajorNodes::pass_1//
1.9% in //ImperativeDefinitions::assess_all//
1.5% in //RTKindConstructors::compile//
1.5% in //RTPhrasebook::compile_entries//
1.1% in //Sequence::lint_inter//
0.7% in //ImperativeDefinitions::compile_first_block//
0.7% in //Sequence::undertake_queued_tasks//
0.3% in //CompletionModule::compile//
0.3% in //ImperativeDefinitions::compile_first_block//
0.3% in //MajorNodes::pass_2//
0.3% in //Sequence::undertake_queued_tasks//
0.3% in //World::stage_V//
4.9% not specifically accounted for
27.1% in running Inter pipeline
8.6% in step 14/15: generate inform6 -> auto.inf
7.1% in step 5/15: load-binary-kits
4.2% not specifically accounted for
27.7% in running Inter pipeline
9.1% in step 14/15: generate inform6 -> auto.inf
7.2% in step 5/15: load-binary-kits
6.0% in step 6/15: make-synoptic-module
1.8% in step 9/15: make-identifiers-unique
1.9% in step 9/15: make-identifiers-unique
0.3% in step 12/15: eliminate-redundant-operations
0.3% in step 4/15: compile-splats
0.3% in step 7/15: shorten-wiring
0.3% in step 8/15: detect-indirect-calls
1.9% not specifically accounted for
4.1% in supervisor
0.8% not specifically accounted for
0.4% not specifically accounted for

View file

@ -293,7 +293,16 @@ void RTDialogueBeats::beat_compilation_agent(compilation_subtask *ct) {
EmitCode::up();
EmitCode::up();
}
}
} else {
Problems::quote_source(1, current_sentence);
Problems::quote_wording(2, A);
StandardProblems::handmade_problem(Task::syntax_tree(), _p_(...));
Problems::issue_problem_segment(
"This dialogue beat (%1) seems to be performed depending "
"on whether or not '%2', "
"but I can't make sense of that condition.");
Problems::issue_problem_end();
}
break;
}
}

View file

@ -184,7 +184,16 @@ void RTDialogueChoices::choice_compilation_agent(compilation_subtask *ct) {
EmitCode::up();
EmitCode::up();
}
}
} else {
Problems::quote_source(1, current_sentence);
Problems::quote_wording(2, A);
StandardProblems::handmade_problem(Task::syntax_tree(), _p_(...));
Problems::issue_problem_segment(
"This dialogue choice (%1) seems to be performed depending "
"on whether or not '%2', "
"but I can't make sense of that condition.");
Problems::issue_problem_end();
}
break;
}
}

View file

@ -271,7 +271,16 @@ void RTDialogueLines::line_compilation_agent(compilation_subtask *ct) {
EmitCode::up();
EmitCode::up();
}
}
} else {
Problems::quote_source(1, current_sentence);
Problems::quote_wording(2, A);
StandardProblems::handmade_problem(Task::syntax_tree(), _p_(...));
Problems::issue_problem_segment(
"This dialogue line (%1) seems to be performed depending "
"on whether or not '%2', "
"but I can't make sense of that condition.");
Problems::issue_problem_end();
}
break;
}
}