update logic

This commit is contained in:
winyf 2026-05-29 23:22:19 -04:00
parent 7db877a259
commit b23a390009

View file

@ -181,6 +181,7 @@ int main() {
int in_field_menu = -1;
int selection_changed = 0;
int menu_updated = 0;
selected_field_window = field_windows[selected_field];
mw_menu *cur_menu;
ITEM **cur_menu_items;
@ -206,6 +207,7 @@ int main() {
field_menus[SEX].selections[0] = !field_menus[SEX].selections[0];
mvwclrtobot(selected_field_window, 1, 0);
waddstr(selected_field_window, field_strings[SEX][field_menus[SEX].selections[0]]);
menu_updated = 1;
break;
}
@ -290,27 +292,30 @@ int main() {
mvwaddstr(selected_field_window, i+1, 0, field_strings[selected_field][cur_menu->selections[i]]);
}
for (int i = 0; i < SKILL_COUNT; ++i) {
out_skills[i] = 0;
}
for (int i = 0; i < field_menus[SKILL_MIN].num_selections; ++i) {
out_skills[field_menus[SKILL_MIN].selections[i]] = 1;
}
for (int i = 0; i < field_menus[SKILL_MAJ].num_selections; ++i) {
out_skills[field_menus[SKILL_MAJ].selections[i]] = 2;
}
for (int i = 0; i < ATTRIBUTE_COUNT; ++i) {
out_attrs[i] = 0;
}
for (int i = 0; i < field_menus[ATTR].num_selections; ++i) {
out_attrs[field_menus[ATTR].selections[i]] = 1;
}
draw_output(win_output, field_menus[RACE].selections[0], field_menus[SEX].selections[0], field_menus[SPEC].selections[0], field_menus[SIGN].selections[0], out_attrs, out_skills);
hide_panel(cur_menu->p);
in_field_menu = -1;
break;
}
}
if (menu_updated) {
for (int i = 0; i < SKILL_COUNT; ++i) {
out_skills[i] = 0;
}
for (int i = 0; i < field_menus[SKILL_MIN].num_selections; ++i) {
out_skills[field_menus[SKILL_MIN].selections[i]] = 1;
}
for (int i = 0; i < field_menus[SKILL_MAJ].num_selections; ++i) {
out_skills[field_menus[SKILL_MAJ].selections[i]] = 2;
}
for (int i = 0; i < ATTRIBUTE_COUNT; ++i) {
out_attrs[i] = 0;
}
for (int i = 0; i < field_menus[ATTR].num_selections; ++i) {
out_attrs[field_menus[ATTR].selections[i]] = 1;
}
draw_output(win_output, field_menus[RACE].selections[0], field_menus[SEX].selections[0], field_menus[SPEC].selections[0], field_menus[SIGN].selections[0], out_attrs, out_skills);
menu_updated = 0;
}
update_panels();
doupdate();
}