mirror of
https://github.com/ganelson/inform.git
synced 2024-07-05 16:44:21 +03:00
Rehoused named rulebook outcome texts
This commit is contained in:
parent
56644ba1b7
commit
682f9f2077
|
@ -221,12 +221,18 @@ named_rulebook_outcome *Rulebooks::Outcomes::rbno_by_name(wording W) {
|
|||
if (Rvalues::is_CONSTANT_of_kind(p, K_rulebook_outcome)) {
|
||||
return Rvalues::to_named_rulebook_outcome(p);
|
||||
}
|
||||
|
||||
package_request *R = Packaging::request_resource(
|
||||
Modules::find(current_sentence), RULEBOOKS_SUBPACKAGE);
|
||||
inter_name *package_name = Packaging::supply_iname(R, OUTCOME_PR_COUNTER);
|
||||
package_request *R2 = Packaging::request(package_name, R, outcome_ptype);
|
||||
|
||||
named_rulebook_outcome *rbno = CREATE(named_rulebook_outcome);
|
||||
rbno->name = Nouns::new_proper_noun(W, NEUTER_GENDER,
|
||||
REGISTER_SINGULAR_NTOPT + PARSE_EXACTLY_NTOPT,
|
||||
MISCELLANEOUS_MC, Rvalues::from_named_rulebook_outcome(rbno));
|
||||
rbno->nro_iname = InterNames::new(RULEBOOK_NAMED_OPTION_INAMEF);
|
||||
InterNames::to_symbol(rbno->nro_iname);
|
||||
rbno->nro_iname = InterNames::one_off(I"outcome", R2);
|
||||
InterNames::attach_memo(rbno->nro_iname, W);
|
||||
return rbno;
|
||||
}
|
||||
|
||||
|
@ -403,7 +409,9 @@ void Rulebooks::Outcomes::RulebookOutcomePrintingRule(void) {
|
|||
LOOP_OVER(rbno, named_rulebook_outcome) {
|
||||
TEMPORARY_TEXT(RV);
|
||||
WRITE_TO(RV, "%+W", Nouns::nominative(rbno->name));
|
||||
packaging_state save = Packaging::enter_home_of(rbno->nro_iname);
|
||||
Emit::named_string_constant(rbno->nro_iname, RV);
|
||||
Packaging::exit(save);
|
||||
DISCARD_TEXT(RV);
|
||||
}
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@ inter_symbol *table_ptype = NULL;
|
|||
inter_symbol *table_column_ptype = NULL;
|
||||
inter_symbol *relation_ptype = NULL;
|
||||
inter_symbol *test_ptype = NULL;
|
||||
inter_symbol *outcome_ptype = NULL;
|
||||
inter_symbol *data_ptype = NULL;
|
||||
|
||||
@ =
|
||||
|
@ -76,6 +77,8 @@ void Packaging::emit_types(void) {
|
|||
Emit::guard(Inter::PackageType::new_packagetype(Emit::IRS(), relation_ptype, Emit::baseline(Emit::IRS()), NULL));
|
||||
test_ptype = Emit::new_symbol(Inter::get_global_symbols(Emit::repository()), I"_test");
|
||||
Emit::guard(Inter::PackageType::new_packagetype(Emit::IRS(), test_ptype, Emit::baseline(Emit::IRS()), NULL));
|
||||
outcome_ptype = Emit::new_symbol(Inter::get_global_symbols(Emit::repository()), I"_outcome");
|
||||
Emit::guard(Inter::PackageType::new_packagetype(Emit::IRS(), outcome_ptype, Emit::baseline(Emit::IRS()), NULL));
|
||||
data_ptype = Emit::new_symbol(Inter::get_global_symbols(Emit::repository()), I"_data");
|
||||
Emit::guard(Inter::PackageType::new_packagetype(Emit::IRS(), data_ptype, Emit::baseline(Emit::IRS()), NULL));
|
||||
}
|
||||
|
@ -111,6 +114,7 @@ void Packaging::emit_types(void) {
|
|||
@e SUBSTITUTIONF_PR_COUNTER
|
||||
@e MISC_PR_COUNTER
|
||||
@e DATA_PR_COUNTER
|
||||
@e OUTCOME_PR_COUNTER
|
||||
@e TEST_PR_COUNTER
|
||||
|
||||
@e MAX_PR_COUNTER
|
||||
|
@ -211,6 +215,7 @@ packaging_state Packaging::enter(package_request *R) {
|
|||
(S->eventual_type == table_ptype) ||
|
||||
(S->eventual_type == table_column_ptype) ||
|
||||
(S->eventual_type == data_ptype) ||
|
||||
(S->eventual_type == outcome_ptype) ||
|
||||
(S->eventual_type == test_ptype) ||
|
||||
(S->parent_request == NULL)) {
|
||||
current_enclosure = S;
|
||||
|
@ -432,6 +437,7 @@ inter_name *Packaging::supply_iname(package_request *R, int what_for) {
|
|||
case SUBSTITUTIONF_PR_COUNTER: WRITE_TO(P, "ts_fn"); break;
|
||||
case MISC_PR_COUNTER: WRITE_TO(P, "misc_const"); break;
|
||||
case TEST_PR_COUNTER: WRITE_TO(P, "test"); break;
|
||||
case OUTCOME_PR_COUNTER: WRITE_TO(P, "rulebook_outcome"); break;
|
||||
case DATA_PR_COUNTER: WRITE_TO(P, "data"); break;
|
||||
default: internal_error("unimplemented");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue