MCPcopy Create free account
hub / github.com/diasurgical/devilution / gmenu_set_items

Function gmenu_set_items

Source/gmenu.cpp:94–115  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

92}
93
94void gmenu_set_items(TMenuItem *pItem, void (*gmFunc)(TMenuItem *))
95{
96 int i;
97
98 PauseMode = 0;
99 mouseNavigation = FALSE;
100 sgpCurrentMenu = pItem;
101 dword_63447C = gmFunc;
102 if (gmFunc) {
103 dword_63447C(sgpCurrentMenu);
104 pItem = sgpCurrentMenu;
105 }
106 sgCurrentMenuIdx = 0;
107 if (sgpCurrentMenu) {
108 for (i = 0; sgpCurrentMenu[i].fnMenu; i++) {
109 sgCurrentMenuIdx++;
110 }
111 }
112 // BUGFIX: OOB access when sgCurrentMenuIdx is 0; should be set to NULL instead. (fixed)
113 sgpCurrItem = sgCurrentMenuIdx > 0 ? &sgpCurrentMenu[sgCurrentMenuIdx - 1] : nullptr;
114 gmenu_up_down(TRUE);
115}
116
117void gmenu_up_down(BOOL isDown)
118{

Callers 4

gmenu_presskeysFunction · 0.85
gamemenu_onFunction · 0.85
gamemenu_offFunction · 0.85
gamemenu_optionsFunction · 0.85

Calls 1

gmenu_up_downFunction · 0.85

Tested by

no test coverage detected