MCPcopy Create free account
hub / github.com/assaultcube/AC / movemenuselection

Function movemenuselection

source/src/menus.cpp:1122–1137  ·  view source on GitHub ↗

move menu selection forward or backward and skip empty items that are not selectable

Source from the content-addressed store, hash-verified

1120
1121// move menu selection forward or backward and skip empty items that are not selectable
1122int movemenuselection(int currentmenusel, int direction)
1123{
1124 direction = clamp(direction, -1, 1);
1125 int newmenusel = currentmenusel;
1126 bool selectable = false;
1127 for(int i = 0; i < curmenu->items.length(); i++)
1128 {
1129 newmenusel += direction;
1130 newmenusel = normalizemenuselection(newmenusel, curmenu->items.length());
1131 selectable = curmenu->items.inrange(newmenusel) && curmenu->items[newmenusel]->gettext() && curmenu->items[newmenusel]->gettext()[0] != '\0';
1132 if(selectable) break;
1133 }
1134
1135 if(selectable) return newmenusel;
1136 else return currentmenusel;
1137}
1138
1139bool menukey(int code, bool isdown, SDL_Keymod mod)
1140{

Callers 1

menukeyFunction · 0.85

Calls 4

normalizemenuselectionFunction · 0.85
inrangeMethod · 0.80
lengthMethod · 0.45
gettextMethod · 0.45

Tested by

no test coverage detected