␉if (bootArgs->Video.v_display != VGA_TEXT_MODE) {␊ |
␉␉clearGraphicBootPrompt();␊ |
␉}␊ |
␊ |
execute_hook("ClearArgs", NULL, NULL, NULL, NULL);␊ |
␊ |
␉execute_hook("ClearArgs", NULL, NULL, NULL, NULL);␊ |
}␊ |
␊ |
void addBootArg(const char * argStr)␊ |
|
{␊ |
updateGraphicBootPrompt();␊ |
}␊ |
} ␊ |
}␊ |
␉␉␉break;␊ |
␊ |
default:␊ |
if ( key >= ' ' && gBootArgsPtr < gBootArgsEnd)␊ |
{␊ |
*gBootArgsPtr++ = key;␊ |
␊ |
␊ |
if( bootArgs->Video.v_display != VGA_TEXT_MODE ) updateGraphicBootPrompt();␊ |
else if ( key >= ' ' && key < 0x7f) putchar(key);␊ |
␉␉␉}␊ |
|
␉␉}␊ |
␊ |
␉␉// Associate a menu item for each BVRef.␊ |
␉␉for (bvr=bvChain, i=gDeviceCount-1, selectIndex=0; bvr; bvr=bvr->next) {␊ |
␉␉for (bvr=bvChain, i=gDeviceCount-1, selectIndex=-1; bvr; bvr=bvr->next) {␊ |
␉␉␉if (bvr->visible) {␊ |
␉␉␉␉getBootVolumeDescription(bvr, menuItems[i].name, sizeof(menuItems[i].name) - 1, true);␊ |
␉␉␉␉menuItems[i].param = (void *) bvr;␊ |
|
␉␉␉␉i--;␊ |
␉␉␉}␊ |
␉␉}␊ |
␉␉// Jief : In case the default partition (returned by selectBootVolume) is not in the menu␊ |
␉␉if ( selectIndex == -1 )␊ |
␉␉{␊ |
␉␉␉selectIndex = 0;␊ |
␉␉␉if ( gDeviceCount > 0 )␊ |
␉␉␉{␊ |
␉␉␉␉menuBVR = (BVRef)(menuItems[selectIndex].param);␊ |
␉␉␉␉// what happen is bvChain is empty ?␊ |
␉␉␉}␊ |
␉␉}␊ |
␉}␊ |
␊ |
␉if (bootArgs->Video.v_display != VGA_TEXT_MODE) {␊ |
|
␉␉␉␉␉gui.redraw = true;␊ |
␉␉␉␉␉setVideoMode(GRAPHICS_MODE, 0);␊ |
␉␉␉␉␉updateVRAM();␊ |
updateGraphicBootPrompt();␊ |
␉␉␉␉␉updateGraphicBootPrompt();␊ |
␉␉␉␉}␊ |
␉␉␉}␊ |
␉␉␉key = 0;␊ |
|
␉␉free(menuItems);␊ |
␉␉menuItems = NULL;␊ |
␉}␊ |
execute_hook("BootOptions", gBootArgs, gBootArgsPtr, NULL, NULL);␊ |
␉execute_hook("BootOptions", gBootArgs, gBootArgsPtr, NULL, NULL);␊ |
␉return 0;␊ |
}␊ |
␊ |