update logic
This commit is contained in:
parent
7db877a259
commit
b23a390009
1 changed files with 21 additions and 16 deletions
37
src/main.c
37
src/main.c
|
|
@ -181,6 +181,7 @@ int main() {
|
||||||
|
|
||||||
int in_field_menu = -1;
|
int in_field_menu = -1;
|
||||||
int selection_changed = 0;
|
int selection_changed = 0;
|
||||||
|
int menu_updated = 0;
|
||||||
selected_field_window = field_windows[selected_field];
|
selected_field_window = field_windows[selected_field];
|
||||||
mw_menu *cur_menu;
|
mw_menu *cur_menu;
|
||||||
ITEM **cur_menu_items;
|
ITEM **cur_menu_items;
|
||||||
|
|
@ -206,6 +207,7 @@ int main() {
|
||||||
field_menus[SEX].selections[0] = !field_menus[SEX].selections[0];
|
field_menus[SEX].selections[0] = !field_menus[SEX].selections[0];
|
||||||
mvwclrtobot(selected_field_window, 1, 0);
|
mvwclrtobot(selected_field_window, 1, 0);
|
||||||
waddstr(selected_field_window, field_strings[SEX][field_menus[SEX].selections[0]]);
|
waddstr(selected_field_window, field_strings[SEX][field_menus[SEX].selections[0]]);
|
||||||
|
menu_updated = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -290,27 +292,30 @@ int main() {
|
||||||
mvwaddstr(selected_field_window, i+1, 0, field_strings[selected_field][cur_menu->selections[i]]);
|
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);
|
hide_panel(cur_menu->p);
|
||||||
in_field_menu = -1;
|
in_field_menu = -1;
|
||||||
break;
|
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();
|
update_panels();
|
||||||
doupdate();
|
doupdate();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue