+ for( int i = 0; i < menuNumber; i++ ) {\r
+ submenuObjects[i] = glutCreateMenu(callback);\r
+ int startNum = i*11 - (i-1);\r
+ for ( int j = startNum - 1; j < (startNum+9); j++ ) {\r
+ if ( j == menuEntriesSize ) break; // Detect if we've reached the end of the array\r
+ glutAddMenuEntry( menuEntries[j], j );\r
+ }\r
+ }\r
+\r
+ int mainMenu = glutCreateMenu(callback);\r
+ for ( int i = 0; i < menuNumber; i++ ) {\r
+ char name[10]; // buffer to hold name\r
+ int startNum = i*11 - (i-1);\r
+ int endNum = startNum + 9;\r
+ if ( i == menuNumber - 1 ) { // We're on the last one\r
+ endNum = startNum + 3;\r
+ }\r
+ sprintf(name, "%d-%d", startNum, endNum);\r
+ glutAddSubMenu( name, submenuObjects[i] );\r
+ }\r
+\r
+ return mainMenu;\r
+}\r