git.ucc.asn.au
/
atyndall
/
cits2231.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(no commit message)
[atyndall/cits2231.git]
/
scene.c
diff --git
a/scene.c
b/scene.c
index
5b3f3a8
..
e956c92
100644
(file)
--- a/
scene.c
+++ b/
scene.c
@@
-268,11
+268,15
@@
void makeMenu() {
glutAddMenuEntry("R/G/B/All Light 2", LIGHT_RGBALL_LIGHT_2);
\r
\r
// Construct add object submenus
\r
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
\r
- for( int i = 0; i <
6
; i++ ) {
\r
+ for( int i = 0; i <
menuNumber
; i++ ) {
\r
addObjectSubmenu[i] = glutCreateMenu(processObjectEvents);
\r
addObjectSubmenu[i] = glutCreateMenu(processObjectEvents);
\r
- for ( int j = i; j < (i+9); j++ ) {
\r
+ int startNum = i*11 - (i-1);
\r
+ for ( int j = startNum - 1; j < (startNum+9); j++ ) {
\r
+ if ( !objectMenuEntries[j] ) break; // Detect if we've reached the end of the array
\r
glutAddMenuEntry( objectMenuEntries[j], j );
\r
}
\r
}
\r
glutAddMenuEntry( objectMenuEntries[j], j );
\r
}
\r
}
\r
@@
-280,14
+284,16
@@
void makeMenu() {
// Construct add object menu
\r
int addObjectMenu = glutCreateMenu(processObjectEvents);
\r
for ( int i = 0; addObjectSubmenu[i]; i++ ) {
\r
// Construct add object menu
\r
int addObjectMenu = glutCreateMenu(processObjectEvents);
\r
for ( int i = 0; addObjectSubmenu[i]; i++ ) {
\r
- glutAddSubMenu( "1", addObjectSubmenu[i] );
\r
+ char name[10]; // buffer to hold name
\r
+ sprintf(name, "%d-%d", i+1, i+10);
\r
+ glutAddSubMenu( name, addObjectSubmenu[i] );
\r
}
\r
\r
\r
int mainMenu = glutCreateMenu(processMainEvents);
\r
\r
glutAddMenuEntry("Rotate/Move Camera", ROTATE_MOVE_CAMERA);
\r
}
\r
\r
\r
int mainMenu = glutCreateMenu(processMainEvents);
\r
\r
glutAddMenuEntry("Rotate/Move Camera", ROTATE_MOVE_CAMERA);
\r
- //Add object
\r
+ glutAddSubMenu("Add object", addObjectMenu);
\r
glutAddMenuEntry("Position/Scale", POSITION_SCALE);
\r
glutAddMenuEntry("Rotation/Texture Scale", ROTATION_TEXTURE_SCALE);
\r
//material
\r
glutAddMenuEntry("Position/Scale", POSITION_SCALE);
\r
glutAddMenuEntry("Rotation/Texture Scale", ROTATION_TEXTURE_SCALE);
\r
//material
\r
UCC
git Repository :: git.ucc.asn.au