void DrawFileDialog(void) { //dnl ch36 150909 ColorFillVideoSurfaceArea(FRAME_BUFFER, iScreenWidthOffset+179, iScreenHeightOffset+69, iScreenWidthOffset+179+281, iScreenHeightOffset+261, Get16BPPColor(FROMRGB(136, 138, 135))); ColorFillVideoSurfaceArea(FRAME_BUFFER, iScreenWidthOffset+180, iScreenHeightOffset+70, iScreenWidthOffset+179+281, iScreenHeightOffset+261, Get16BPPColor(FROMRGB(24, 61, 81))); ColorFillVideoSurfaceArea(FRAME_BUFFER, iScreenWidthOffset+180, iScreenHeightOffset+70, iScreenWidthOffset+179+280, iScreenHeightOffset+260, Get16BPPColor(FROMRGB(65, 79, 94))); ColorFillVideoSurfaceArea(FRAME_BUFFER, iScreenWidthOffset+179+4, iScreenHeightOffset+69+3, iScreenWidthOffset+179+4+240, iScreenHeightOffset+69+123, Get16BPPColor(FROMRGB(24, 61, 81))); ColorFillVideoSurfaceArea(FRAME_BUFFER, iScreenWidthOffset+179+5, iScreenHeightOffset+69+4, iScreenWidthOffset+179+4+240, iScreenHeightOffset+69+123, Get16BPPColor(FROMRGB(136, 138, 135))); ColorFillVideoSurfaceArea(FRAME_BUFFER, iScreenWidthOffset+179+5, iScreenHeightOffset+69+4, iScreenWidthOffset+179+3+240, iScreenHeightOffset+69+122, Get16BPPColor(FROMRGB(250, 240, 188))); MarkButtonsDirty(); RenderButtons(); RenderButtonsFastHelp(); SetFont( FONT10ARIAL ); SetFontForeground( FONT_LTKHAKI ); SetFontShadow( FONT_DKKHAKI ); SetFontBackground( FONT_BLACK ); mprintf( iScreenWidthOffset + 183, iScreenHeightOffset + 217, L"Filename" ); if( iFileDlgButtons[6] != -1 ) { mprintf( iScreenWidthOffset + 200, iScreenHeightOffset + 231, L"Update world info" ); } }
void DrawFileDialog(void) { ColorFillVideoSurfaceArea(FRAME_BUFFER, 179, 69, (179+281), 261, Get16BPPColor(FROMRGB(136, 138, 135)) ); ColorFillVideoSurfaceArea(FRAME_BUFFER, 180, 70, (179+281), 261, Get16BPPColor(FROMRGB(24, 61, 81)) ); ColorFillVideoSurfaceArea(FRAME_BUFFER, 180, 70, (179+280), 260, Get16BPPColor(FROMRGB(65, 79, 94)) ); ColorFillVideoSurfaceArea(FRAME_BUFFER, (179+4), (69+3), (179+4+240), (69+123), Get16BPPColor(FROMRGB(24, 61, 81)) ); ColorFillVideoSurfaceArea(FRAME_BUFFER, (179+5), (69+4), (179+4+240), (69+123), Get16BPPColor(FROMRGB(136, 138, 135)) ); ColorFillVideoSurfaceArea(FRAME_BUFFER, (179+5), (69+4), (179+3+240), (69+122), Get16BPPColor(FROMRGB(250, 240, 188)) ); MarkButtonsDirty(); RenderButtons(); RenderButtonsFastHelp(); SetFont( FONT10ARIAL ); SetFontForeground( FONT_LTKHAKI ); SetFontShadow( FONT_DKKHAKI ); SetFontBackground( FONT_BLACK ); mprintf( 183, 217, L"Filename" ); if( iFileDlgButtons[6] != -1 ) { mprintf( 200, 231, L"Update world info" ); } }
void StatusBar::Render() { backgrnd.Draw(0, View::Height - backgrnd.Height, false, false, true); backgrnd2.Draw(0, View::Height - backgrnd.Height, false, false); RenderLevel(); RenderGauge(); RenderButtons(); }
//----------------------------------------------------------------------------- // Main global function //----------------------------------------------------------------------------- int main() { #ifdef EXAMPLE_DEBUG_ONLY // Test for Debug only examples #ifndef IW_DEBUG DisplayMessage("This example is designed to run from a Debug build. Please build the example in Debug mode and run it again."); return 0; #endif #endif //IwGx can be initialised in a number of different configurations to help the linker eliminate unused code. //Normally, using IwGxInit() is sufficient. //To only include some configurations, see the documentation for IwGxInit_Base(), IwGxInit_GLRender() etc. IwGxInit(); // Example main loop ExampleInit(); // Set screen clear colour IwGxSetColClear(0xff, 0xff, 0xff, 0xff); IwGxPrintSetColour(128, 128, 128); while (1) { s3eDeviceYield(0); s3eKeyboardUpdate(); s3ePointerUpdate(); int64 start = s3eTimerGetMs(); bool result = ExampleUpdate(); if ( (result == false) || (s3eKeyboardGetState(s3eKeyEsc) & S3E_KEY_STATE_DOWN) || (s3eKeyboardGetState(s3eKeyAbsBSK) & S3E_KEY_STATE_DOWN) || (s3eDeviceCheckQuitRequest()) ) break; // Clear the screen IwGxClear(IW_GX_COLOUR_BUFFER_F | IW_GX_DEPTH_BUFFER_F); RenderButtons(); RenderSoftkeys(); ExampleRender(); // Attempt frame rate while ((s3eTimerGetMs() - start) < MS_PER_FRAME) { int32 yield = (int32) (MS_PER_FRAME - (s3eTimerGetMs() - start)); if (yield<0) break; s3eDeviceYield(yield); } } ExampleShutDown(); DeleteButtons(); IwGxTerminate(); return 0; }
UINT32 GameInitOptionsScreenHandle( void ) { StartFrameBufferRender(); if( gfGIOScreenEntry ) { // PauseGame(); EnterGIOScreen(); gfGIOScreenEntry = FALSE; gfGIOScreenExit = FALSE; InvalidateRegion( 0, 0, 640, 480 ); } GetGIOScreenUserInput(); HandleGIOScreen(); // render buttons marked dirty MarkButtonsDirty( ); RenderButtons( ); // render help // RenderFastHelp( ); // RenderButtonsFastHelp( ); ExecuteBaseDirtyRectQueue(); EndFrameBufferRender(); if ( HandleFadeOutCallback( ) ) { ClearMainMenu(); return( gubGIOExitScreen ); } if ( HandleBeginFadeOut( gubGIOExitScreen ) ) { return( gubGIOExitScreen ); } if( gfGIOScreenExit ) { ExitGIOScreen(); } if ( HandleFadeInCallback( ) ) { // Re-render the scene! RenderGIOScreen(); } if ( HandleBeginFadeIn( gubGIOExitScreen ) ) { } return( gubGIOExitScreen ); }
bool MenuRenderFunc(){ hge->Gfx_BeginScene(); hge->Gfx_Clear(0); /*RENDER GOES HERE*/ RenderButtons(); hge->Gfx_EndScene(); return false; }
UINT32 MainMenuScreenHandle( ) { UINT32 cnt; UINT32 uiTime; if( guiSplashStartTime + 4000 > GetJA2Clock() ) { SetCurrentCursorFromDatabase( VIDEO_NO_CURSOR ); SetMusicMode( MUSIC_NONE ); return MAINMENU_SCREEN; //The splash screen hasn't been up long enough yet. } if( guiSplashFrameFade ) { uiTime = GetJA2Clock(); if( guiSplashFrameFade > 2 ) ShadowVideoSurfaceRectUsingLowPercentTable( FRAME_BUFFER, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT ); else if( guiSplashFrameFade > 1 ) ColorFillVideoSurfaceArea( FRAME_BUFFER, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0 ); else { uiTime = GetJA2Clock(); SetMusicMode( MUSIC_MAIN_MENU ); } guiSplashFrameFade--; InvalidateScreen(); EndFrameBufferRender(); SetCurrentCursorFromDatabase( VIDEO_NO_CURSOR ); return MAINMENU_SCREEN; } SetCurrentCursorFromDatabase( CURSOR_NORMAL ); if( gfMainMenuScreenEntry ) { InitMainMenu( ); gfMainMenuScreenEntry = FALSE; gfMainMenuScreenExit = FALSE; guiMainMenuExitScreen = MAINMENU_SCREEN; SetMusicMode( MUSIC_MAIN_MENU ); } if ( fInitialRender ) { ClearMainMenu(); RenderMainMenu(); fInitialRender = FALSE; } RestoreButtonBackGrounds(); // Render buttons for ( cnt = 0; cnt < NUM_MENU_ITEMS; cnt++ ) { MarkAButtonDirty( iMenuButtons[ cnt ] ); } RenderButtons( ); EndFrameBufferRender( ); HandleMainMenuInput(); HandleMainMenuScreen(); if( gfMainMenuScreenExit ) { ExitMainMenu( ); gfMainMenuScreenExit = FALSE; gfMainMenuScreenEntry = TRUE; } if( guiMainMenuExitScreen != MAINMENU_SCREEN ) gfMainMenuScreenEntry = TRUE; return( guiMainMenuExitScreen ); }
void StateAGDevOptions::Draw(StateHandler * stateHandler) { RenderBackground(); RenderButtons(); theView->SwapBuffers(); }
void ProcessEditorRendering() { BOOLEAN fSaveBuffer = FALSE; if( gfRenderTaskbar ) //do a full taskbar render. { ClearTaskbarRegion( 0, 360, 640, 480 ); RenderTerrainTileButtons(); MarkButtonsDirty(); gfRenderTaskbar = FALSE; fSaveBuffer = TRUE; gfRenderDrawingMode = TRUE; gfRenderHilights = FALSE; gfRenderMercInfo = TRUE; } if( gfRenderDrawingMode ) { if( iCurrentTaskbar == TASK_BUILDINGS || iCurrentTaskbar == TASK_TERRAIN || iCurrentTaskbar == TASK_ITEMS ) { ShowCurrentDrawingMode(); gfRenderDrawingMode = FALSE; } } //render dynamically changed buttons only RenderButtons( ); if( gfSummaryWindowActive ) RenderSummaryWindow(); else if( !gfGotoGridNoUI && !InOverheadMap() ) RenderMercStrings(); if( gfEditingDoor ) RenderDoorEditingWindow(); if( TextInputMode() ) RenderAllTextFields(); RenderEditorInfo(); if( !gfSummaryWindowActive && !gfGotoGridNoUI && !InOverheadMap() ) { if( gpItem && gsItemGridNo != -1 ) RenderSelectedItemBlownUp(); if( iCurrentTaskbar == TASK_MAPINFO ) RenderMapEntryPointsAndLights(); if( iDrawMode == DRAW_MODE_PLACE_ITEM && eInfo.uiItemType == TBAR_MODE_ITEM_KEYS || iDrawMode == DRAW_MODE_DOORKEYS ) RenderDoorLockInfo(); } if( fSaveBuffer ) BlitBufferToBuffer( FRAME_BUFFER, guiSAVEBUFFER, 0, 360, 640, 120 ); //Make sure this is TRUE at all times. //It is set to false when before we save the buffer, so the buttons don't get //rendered with hilites, in case the mouse is over one. gfRenderHilights = TRUE; RenderButtonsFastHelp(); }
UINT32 MPChatScreenHandle( ) { InputAtom InputEvent; if ( gfNewChatBox ) { // If in game screen.... if ( ( gfStartedFromGameScreen )||( gfStartedFromMapScreen ) ) { //UINT32 uiDestPitchBYTES, uiSrcPitchBYTES; //UINT8 *pDestBuf, *pSrcBuf; if( gfStartedFromGameScreen ) { HandleTacticalUILoseCursorFromOtherScreen( ); } else { HandleMAPUILoseCursorFromOtherScreen( ); } gfStartedFromGameScreen = FALSE; gfStartedFromMapScreen = FALSE; } gfNewChatBox = FALSE; return( MP_CHAT_SCREEN ); } UnmarkButtonsDirty( ); // Render the box! if ( gChatBox.fRenderBox ) { // Render the Background ( this includes the text string) RenderMercPopUpBoxFromIndex( gChatBox.iBoxId, gChatBox.sX, gChatBox.sY, FRAME_BUFFER ); UINT16 usWidth = StringPixLength( gzMPChatboxText[0], CHATBOX_FONT_TITLE ); int usPosY = 0; int usPosX = 0; usPosY = gChatBox.sY + 10; usPosX = gChatBox.sX + ((gChatBox.usWidth - usWidth) / 2); DrawTextToScreen( gzMPChatboxText[0], usPosX, usPosY, usWidth, CHATBOX_FONT_TITLE, CHATBOX_FONT_COLOR, DEFAULT_SHADOW, FALSE, CENTER_JUSTIFIED | TEXT_SHADOWED ); // Render the toggle button strings for(UINT8 cnt=0; cnt<NUM_CHAT_TOGGLES; cnt++) { GUI_BUTTON* btn = ButtonList[ guiChatToggles[ cnt ] ]; usPosX = btn->XLoc + 12 + 10; usPosY = btn->YLoc; usWidth = StringPixLength( gzMPChatToggleText[ cnt ], CHATBOX_FONT_TOGGLE ); DrawTextToScreen( gzMPChatToggleText[ cnt ], usPosX, usPosY, usWidth, CHATBOX_FONT_TOGGLE, CHATBOX_FONT_COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED ); } if (gIncludeChatLog) { // draw chatbox HVOBJECT hHandle; // get and blt panel GetVideoObject(&hHandle, guiCHATLOGIMG ); BltVideoObject( FRAME_BUFFER , hHandle, 0, gChatMessageLogRegion.iLeft, gChatMessageLogRegion.iTop, VO_BLT_SRCTRANSPARENCY,NULL ); BltVideoObject( FRAME_BUFFER , hHandle, 1, gChatMessageLogRegion.iRight+CHATBOX_SLIDER_GAP, gChatMessageLogRegion.iTop, VO_BLT_SRCTRANSPARENCY,NULL ); // draw slider DisplayChatLogScrollBarSlider( ); // draw chat log text DisplayStringsInChatLogMessageList(); } } MarkButtonsDirty(); EnableDisableChatLogScrollButtonsAndRegions(); // Render buttons RenderButtons( ); // render text boxes //SaveFontSettings(); SetFontDestBuffer( FRAME_BUFFER, gChatTextBoxRegion.iLeft , gChatTextBoxRegion.iTop , gChatTextBoxRegion.iRight , gChatTextBoxRegion.iBottom, FALSE ); RenderAllTextFields(); // textbox system call SetFontDestBuffer( FRAME_BUFFER, 0 , 0 , SCREEN_WIDTH , SCREEN_HEIGHT , FALSE ); //RestoreFontSettings(); EndFrameBufferRender( ); // carter, need key shortcuts for clearing up message boxes // Check for esc bool bHandled; while (DequeueEvent(&InputEvent) == TRUE) { bHandled = false; if(InputEvent.usEvent == KEY_DOWN ) { if( ( InputEvent.usParam == ESC ) ) { // Exit messagebox gChatBox.bHandled = MSG_BOX_RETURN_NO; memset(gszChatBoxInputString,0,sizeof(CHAR16)*255); bHandled = true; } if( InputEvent.usParam == ENTER ) { // retrieve the string from the text box Get16BitStringFromField( 0, gszChatBoxInputString, 255 ); // these indexes are based on the order created // Exit messagebox gChatBox.bHandled = MSG_BOX_RETURN_OK; bHandled = true; } // OJW - 20090403 - add better key control UINT8 ubDesiredMessageIndex; UINT8 ubNumMessages; ubNumMessages = GetRangeOfChatLogMessages(); if ( ubNumMessages > MAX_CHATLOG_MESSAGES ) { if (InputEvent.usParam == PGUP) { //move up a page ChatScreenMsgScrollUp( MAX_CHATLOG_MESSAGES ); bHandled = true; } if (InputEvent.usParam == PGDN) { // move down a page ChatScreenMsgScrollDown( MAX_CHATLOG_MESSAGES ); bHandled = true; } if (InputEvent.usParam == HOME) { // move to the beginning ChangeCurrentChatScreenMessageIndex( 0 ); bHandled = true; } if (InputEvent.usParam == END) { // move to end ubDesiredMessageIndex = ubNumMessages - MAX_CHATLOG_MESSAGES; ChangeCurrentChatScreenMessageIndex( ubDesiredMessageIndex ); bHandled = true; } } } // send to text box if (!bHandled) HandleTextInput( &InputEvent ); } if ( gChatBox.bHandled ) { SetRenderFlags( RENDER_FLAG_FULL ); return( ExitChatBox( gChatBox.bHandled ) ); } return( MP_CHAT_SCREEN ); }
void ProcessEditorRendering() { BOOLEAN fSaveBuffer = FALSE; if( gfRenderTaskbar ) //do a full taskbar render. { if(iCurrentTaskbar == TASK_OPTIONS && !gfSummaryWindowActive)//dnl ch52 091009 { CHAR8 szNewText[4+1]; sprintf(szNewText, "%d", iNewMapWorldRows=WORLD_ROWS); SetInputFieldStringWith8BitString(1, szNewText); sprintf(szNewText, "%d", iNewMapWorldCols=WORLD_COLS); SetInputFieldStringWith8BitString(2, szNewText); DisableTextField(2); } ClearTaskbarRegion( 0, SCREEN_HEIGHT - 120, SCREEN_WIDTH, SCREEN_HEIGHT ); RenderTerrainTileButtons(); MarkButtonsDirty(); gfRenderTaskbar = FALSE; fSaveBuffer = TRUE; gfRenderDrawingMode = TRUE; gfRenderHilights = FALSE; gfRenderMercInfo = TRUE; } if( gfRenderDrawingMode ) { if( iCurrentTaskbar == TASK_BUILDINGS || iCurrentTaskbar == TASK_TERRAIN || iCurrentTaskbar == TASK_ITEMS ) { ShowCurrentDrawingMode(); gfRenderDrawingMode = FALSE; } } //render dynamically changed buttons only RenderButtons( ); if( gfSummaryWindowActive ) RenderSummaryWindow(); else if( !gfGotoGridNoUI && !gfKeyboardItemCreationUI && !InOverheadMap() && !gfEditingDoor )//dnl ch86 220214 RenderMercStrings(); if( gfEditingDoor ) RenderDoorEditingWindow(); if( TextInputMode() ) RenderAllTextFields(); RenderEditorInfo(); if( !gfSummaryWindowActive && !gfGotoGridNoUI && !gfKeyboardItemCreationUI && !InOverheadMap() && !gfEditingDoor )//dnl ch86 220214 { if( gpItem && gsItemGridNo != -1 ) RenderSelectedItemBlownUp(); if( iCurrentTaskbar == TASK_MAPINFO ) RenderMapEntryPointsAndLights(); if( iDrawMode == DRAW_MODE_PLACE_ITEM && eInfo.uiItemType == TBAR_MODE_ITEM_KEYS || iDrawMode == DRAW_MODE_DOORKEYS ) RenderDoorLockInfo(); } if( fSaveBuffer ) BlitBufferToBuffer( FRAME_BUFFER, guiSAVEBUFFER, 0, 2 * iScreenHeightOffset + 360, SCREEN_WIDTH, 120 ); //Make sure this is TRUE at all times. //It is set to false when before we save the buffer, so the buttons don't get //rendered with hilites, in case the mouse is over one. gfRenderHilights = TRUE; if(!gfSummaryWindowActive && !gfScrollInertia && !gfEditingDoor)//dnl ch77 131113 //dnl ch78 271113 //dnl ch86 210214 RenderButtonsFastHelp(); }
UINT32 MessageBoxScreenHandle( ) { InputAtom InputEvent; if ( gfNewMessageBox ) { // If in game screen.... if ( ( gfStartedFromGameScreen )||( gfStartedFromMapScreen ) ) { //UINT32 uiDestPitchBYTES, uiSrcPitchBYTES; //UINT8 *pDestBuf, *pSrcBuf; if( gfStartedFromGameScreen ) { HandleTacticalUILoseCursorFromOtherScreen( ); } else { HandleMAPUILoseCursorFromOtherScreen( ); } gfStartedFromGameScreen = FALSE; gfStartedFromMapScreen = FALSE; /* // Save what we have under here... pDestBuf = LockVideoSurface( gMsgBox.uiSaveBuffer, &uiDestPitchBYTES); pSrcBuf = LockVideoSurface( FRAME_BUFFER, &uiSrcPitchBYTES); Blt16BPPTo16BPP((UINT16 *)pDestBuf, uiDestPitchBYTES, (UINT16 *)pSrcBuf, uiSrcPitchBYTES, 0 , 0, gMsgBox.sX , gMsgBox.sY, gMsgBox.usWidth, gMsgBox.usHeight ); UnLockVideoSurface( gMsgBox.uiSaveBuffer ); UnLockVideoSurface( FRAME_BUFFER ); */ } gfNewMessageBox = FALSE; return( MSG_BOX_SCREEN ); } UnmarkButtonsDirty( ); // Render the box! if ( gMsgBox.fRenderBox ) { if ( gMsgBox.usFlags & MSG_BOX_FLAG_FOUR_NUMBERED_BUTTONS ) { MarkAButtonDirty( gMsgBox.uiButton[0] ); MarkAButtonDirty( gMsgBox.uiButton[1] ); MarkAButtonDirty( gMsgBox.uiButton[2] ); MarkAButtonDirty( gMsgBox.uiButton[3] ); } if ( gMsgBox.usFlags & MSG_BOX_FLAG_OK ) { MarkAButtonDirty( gMsgBox.uiOKButton ); } if ( gMsgBox.usFlags & MSG_BOX_FLAG_CANCEL ) { MarkAButtonDirty( gMsgBox.uiOKButton ); } if ( gMsgBox.usFlags & MSG_BOX_FLAG_YESNO ) { MarkAButtonDirty( gMsgBox.uiYESButton ); MarkAButtonDirty( gMsgBox.uiNOButton ); } if ( gMsgBox.usFlags & MSG_BOX_FLAG_OKCONTRACT ) { MarkAButtonDirty( gMsgBox.uiYESButton ); MarkAButtonDirty( gMsgBox.uiNOButton ); } if ( gMsgBox.usFlags & MSG_BOX_FLAG_YESNOCONTRACT ) { MarkAButtonDirty( gMsgBox.uiYESButton ); MarkAButtonDirty( gMsgBox.uiNOButton ); MarkAButtonDirty( gMsgBox.uiOKButton ); } if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERICCONTRACT ) { MarkAButtonDirty( gMsgBox.uiYESButton ); MarkAButtonDirty( gMsgBox.uiNOButton ); MarkAButtonDirty( gMsgBox.uiOKButton ); } if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC ) { MarkAButtonDirty( gMsgBox.uiYESButton ); MarkAButtonDirty( gMsgBox.uiNOButton ); } if( gMsgBox.usFlags & MSG_BOX_FLAG_CONTINUESTOP ) { // Exit messagebox MarkAButtonDirty( gMsgBox.uiYESButton ); MarkAButtonDirty( gMsgBox.uiNOButton ); } if ( gMsgBox.usFlags & MSG_BOX_FLAG_YESNOLIE ) { MarkAButtonDirty( gMsgBox.uiYESButton ); MarkAButtonDirty( gMsgBox.uiNOButton ); MarkAButtonDirty( gMsgBox.uiOKButton ); } if ( gMsgBox.usFlags & MSG_BOX_FLAG_OKSKIP ) { MarkAButtonDirty( gMsgBox.uiYESButton ); MarkAButtonDirty( gMsgBox.uiNOButton ); } RenderMercPopUpBoxFromIndex( gMsgBox.iBoxId, gMsgBox.sX, gMsgBox.sY, FRAME_BUFFER ); //gMsgBox.fRenderBox = FALSE; // ATE: Render each frame... } // Render buttons RenderButtons( ); EndFrameBufferRender( ); // carter, need key shortcuts for clearing up message boxes // Check for esc while (DequeueEvent(&InputEvent) == TRUE) { if( InputEvent.usEvent == KEY_UP ) { if( ( InputEvent.usParam == ESC ) || ( InputEvent.usParam == 'n') ) { if ( gMsgBox.usFlags & MSG_BOX_FLAG_YESNO ) { // Exit messagebox gMsgBox.bHandled = MSG_BOX_RETURN_NO; } } if( InputEvent.usParam == ENTER ) { if ( gMsgBox.usFlags & MSG_BOX_FLAG_YESNO ) { // Exit messagebox gMsgBox.bHandled = MSG_BOX_RETURN_YES; } else if( gMsgBox.usFlags & MSG_BOX_FLAG_OK ) { // Exit messagebox gMsgBox.bHandled = MSG_BOX_RETURN_OK; } else if( gMsgBox.usFlags & MSG_BOX_FLAG_CONTINUESTOP ) { // Exit messagebox gMsgBox.bHandled = MSG_BOX_RETURN_OK; } } if( InputEvent.usParam == 'o' ) { if( gMsgBox.usFlags & MSG_BOX_FLAG_OK ) { // Exit messagebox gMsgBox.bHandled = MSG_BOX_RETURN_OK; } } if( InputEvent.usParam == 'y' ) { if( gMsgBox.usFlags & MSG_BOX_FLAG_YESNO ) { // Exit messagebox gMsgBox.bHandled = MSG_BOX_RETURN_YES; } } if( InputEvent.usParam == '1' ) { if ( gMsgBox.usFlags & MSG_BOX_FLAG_FOUR_NUMBERED_BUTTONS ) { // Exit messagebox gMsgBox.bHandled = 1; } } if( InputEvent.usParam == '2' ) { if ( gMsgBox.usFlags & MSG_BOX_FLAG_FOUR_NUMBERED_BUTTONS ) { // Exit messagebox gMsgBox.bHandled = 1; } } if( InputEvent.usParam == '3' ) { if ( gMsgBox.usFlags & MSG_BOX_FLAG_FOUR_NUMBERED_BUTTONS ) { // Exit messagebox gMsgBox.bHandled = 1; } } if( InputEvent.usParam == '4' ) { if ( gMsgBox.usFlags & MSG_BOX_FLAG_FOUR_NUMBERED_BUTTONS ) { // Exit messagebox gMsgBox.bHandled = 1; } } } } if ( gMsgBox.bHandled ) { SetRenderFlags( RENDER_FLAG_FULL ); return( ExitMsgBox( gMsgBox.bHandled ) ); } return( MSG_BOX_SCREEN ); }