glutAddMenuEntry("R/G/B/All Light 2", LIGHT_RGBALL_LIGHT_2);\r
\r
// Construct add object submenus\r
- int addObjectSubmenu[6];\r
int objectMenuEntriesSize = sizeof(objectMenuEntries) / sizeof(objectMenuEntries[0]);\r
int menuNumber = objectMenuEntriesSize / 10 + 1;\r
+ int addObjectSubmenu[menuNumber-1];\r
\r
for( int i = 0; i < menuNumber; i++ ) {\r
addObjectSubmenu[i] = glutCreateMenu(processObjectEvents);\r
- for ( int j = i; j < (i+9); j++ ) {\r
- if ( !objectMenuEntries[j] ) break; // Detect if we've reached the end of the array\r
+ int startNum = i*11 - (i-1);\r
+ for ( int j = startNum - 1; j < (startNum+9); j++ ) {\r
+ if ( j == objectMenuEntriesSize ) break; // Detect if we've reached the end of the array\r
glutAddMenuEntry( objectMenuEntries[j], j );\r
}\r
}\r
\r
// Construct add object menu\r
int addObjectMenu = glutCreateMenu(processObjectEvents);\r
- glutAddSubMenu( "test", addObjectSubmenu[0] );\r
- /*for ( int i = 0; addObjectSubmenu[i]; i++ ) {\r
- glutAddSubMenu( (char)i, addObjectSubmenu[i] );\r
- }*/\r
+ for ( int i = 0; i < menuNumber; i++ ) {\r
+ char name[10]; // buffer to hold name\r
+ int startNum = i*11 - (i-1);\r
+ sprintf(name, "%d-%d", startNum, startNum + 9);\r
+ glutAddSubMenu( name, addObjectSubmenu[i] );\r
+ }\r
\r
\r
int mainMenu = glutCreateMenu(processMainEvents);\r