Frame::Frame() : wxFrame((wxFrame *)NULL, -1, "NetJoy", wxPoint(200,200), wxSize(500,800)) { SetIcon(wxIcon("NetJoy.ico")); SetupMenu(); // Create main vertical sizer wxBoxSizer *main_vsizer = new wxBoxSizer(wxVERTICAL); SetSizer(main_vsizer); // Add a panel to main sizer wxPanel *panel = new wxPanel(this, wxID_ANY, wxDefaultPosition); main_vsizer->Add(panel, 0, wxEXPAND); // Add horizontal controls to panel wxBoxSizer *panel_hsizer = new wxBoxSizer(wxHORIZONTAL); panel->SetSizer(panel_hsizer); nic_choice = new wxChoice(panel, wxID_ANY); panel_hsizer->Add(nic_choice, 0, wxALL, 10); capture_button = new wxButton(panel, PANEL_CAPTURE, "Start"); panel_hsizer->Add(capture_button, 0, wxALL, 10); // Add log message area to main sizer wxTextCtrl *logger_text_ctrl = new wxTextCtrl(this,wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE | wxTE_READONLY); main_vsizer->Add(logger_text_ctrl, 1, wxEXPAND); capture_timer = new wxTimer(this, TIMER); SetupLogger(logger_text_ctrl); SetupNetInterface(); }
HRESULT hkPresent(IDXGISwapChain* thisptr, UINT SyncInterval, UINT Flags) { HackCore.CheckPlayerLife(); if (EspEnabled) HackCore.RenderFrame(); if (NoRecoilEnabled) HackCore.NoRecoil(); if ((GetAsyncKeyState(VK_RBUTTON) & 0x8000) && AimbotEnabled) HackCore.Aimbot(); if (ShouldSetupMenu) { SetupMenu(); ShouldSetupMenu = false; } if (EnableXPMod) HackCore.XPMod(); if (ShowMenu) { GUIMngr->DrawElements(); } GUIMngr->UpdateMouse(); GUIMngr->UpdateWindowInfo("PVZ Garden Warfare"); return oPresent(thisptr, SyncInterval, Flags); }
LRESULT MainWindow::OnCreate(WPARAM wParam, LPARAM lParam) { SetupMenu(); TimerPtr = SetTimer(ThisWindow, IDT_STR_MOVE, TIMER_ELAPSE, NULL); PAINTSTRUCT ps; HDC hdc = BeginPaint(ThisWindow, &ps); GetTextExtentPoint(hdc, Title, lstrlen(Title), &TextSize); EndPaint(ThisWindow, &ps); CurTextOffset = -TextSize.cx; CalcTextRect(); return 0; }
void CardState::Setup() { kuko::IState::Setup(); menuManager.LoadMenuScript( "menus/cards.lua" );for ( int i = 0; i < menuManager.AssetListSize(); i++ ) { kuko::ImageManager::AddTexture( menuManager.AssetTitle( i ), menuManager.AssetPath( i ) ); } menuManager.BuildMenu(); m_r = 233; m_g = 120; m_b = 142; kuko::ImageManager::AddTexture( "red", "content/gfx/bg-pattern-red.png" ); kuko::ImageManager::AddTexture( "green", "content/gfx/bg-pattern-green.png" ); kuko::ImageManager::AddTexture( "blue", "content/gfx/bg-pattern-blue.png" ); kuko::ImageManager::AddTexture( "yellow", "content/gfx/bg-pattern-yellow.png" ); SetupMenu(); }
void CardState::Update() { kuko::InputManager::Update(); std::map<kuko::CommandButton, kuko::TriggerInfo> input = kuko::InputManager::GetTriggerInfo(); int mouseX = input[ kuko::TAP ].actionX; int mouseY = input[ kuko::TAP ].actionY; if ( input[ kuko::TAP ].down ) { if ( m_state == "menu" ) { std::string clickedButton = menuManager.GetClickedButton( mouseX, mouseY ); if ( clickedButton != "" ) { kuko::UIButton* btn = menuManager.GetButton( clickedButton ); kuko::IntRect frame = btn->GetFrame(); SetupCard( clickedButton, frame ); } } else { SetupMenu(); } } // Scroll background for ( int i = 0; i < m_bgTiles.size(); i++ ) { kuko::FloatRect pos = m_bgTiles[i].GetPosition(); pos.x -= 0.1; pos.y -= 0.1; if ( int(pos.x) < -pos.w ) { pos.x = kuko::Application::GetDefaultWidth(); } if ( int(pos.y) < -pos.h ) { pos.y = kuko::Application::GetDefaultHeight(); } m_bgTiles[i].SetPosition( pos ); } }
void ChangeSettings(HWND hwndOwner) { PROPSHEETPAGE psp[sizeof(SettingsTabs) / sizeof(SETTINGS_TAB)]; PROPSHEETPAGE BasicPsp[sizeof(SettingsTabsBasic) / sizeof(SETTINGS_TAB)]; PROPSHEETHEADER psh; int count; for (count = 0; count < (sizeof(SettingsTabs) / sizeof(SETTINGS_TAB)); count ++) { psp[count].dwSize = sizeof(PROPSHEETPAGE); psp[count].dwFlags = PSP_USETITLE; psp[count].hInstance = hInst; psp[count].pszTemplate = MAKEINTRESOURCE(SettingsTabs[count].TemplateID); psp[count].pfnDlgProc = SettingsTabs[count].pfnDlgProc; psp[count].pszTitle = GS(SettingsTabs[count].LanguageID); psp[count].lParam = 0; psp[count].pfnCallback = NULL; } for (count = 0; count < (sizeof(SettingsTabsBasic) / sizeof(SETTINGS_TAB)); count ++) { BasicPsp[count].dwSize = sizeof(PROPSHEETPAGE); BasicPsp[count].dwFlags = PSP_USETITLE; BasicPsp[count].hInstance = hInst; BasicPsp[count].pszTemplate = MAKEINTRESOURCE(SettingsTabsBasic[count].TemplateID); BasicPsp[count].pfnDlgProc = SettingsTabsBasic[count].pfnDlgProc; BasicPsp[count].pszTitle = GS(SettingsTabsBasic[count].LanguageID); BasicPsp[count].lParam = 0; BasicPsp[count].pfnCallback = NULL; } psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE | PSH_NOAPPLYNOW; psh.hwndParent = hwndOwner; psh.hInstance = hInst; psh.pszCaption = (LPSTR)GS(OPTIONS_TITLE); psh.nPages = (BasicMode?sizeof(BasicPsp):sizeof(psp)) / sizeof(PROPSHEETPAGE); psh.nStartPage = 0; psh.ppsp = BasicMode?(LPCPROPSHEETPAGE) &BasicPsp:(LPCPROPSHEETPAGE) &psp; psh.pfnCallback = NULL; PropertySheet(&psh); LoadSettings(); SetupMenu(hMainWindow); if (!AutoSleep && !ManualPaused && (CPU_Paused || CPU_Action.Pause)) { PauseCpu(); } return; }
void QuteMessenger::startDeviceDiscovery() { SetupMenu(true); if (devDisc) { ui.deviceListWidget->clear(); foundDevices.clear(); connect(devDisc, SIGNAL(newDeviceFound(QBtDevice)), this, SLOT(populateDeviceList(QBtDevice))); connect(devDisc, SIGNAL(discoveryStopped()), this, SLOT(deviceDiscoveryCompleteReport())); devDisc->startDiscovery(); dialog = new QProgressDialog("Searching devices...", "Stop", 0, 0, this); dialog->setWindowModality(Qt::WindowModal); connect(dialog, SIGNAL(canceled()), this, SLOT(deviceDiscoveryCompleteReport())); dialog->setBar(NULL); dialog->show(); } }
/* #ifdef Q_OS_SYMBIAN // used only to hide status pane #include <eikspane.h> #include <aknappui.h> #include <avkon.rsg> #include <EIKENV.H> #include <coemain.h> #endif */ QuteMessenger::QuteMessenger(QWidget *parent) : QMainWindow(parent), previousSelectedTab(0), rfcommServer(NULL), devDisc(NULL), serviceDisc( NULL), obexClient(NULL), dialog(NULL), obexDialog(NULL) { /* #ifdef Q_OS_SYMBIAN CEikStatusPane* statusPane = STATIC_CAST( CAknAppUi*, CEikonEnv::Static()->EikAppUi())->StatusPane(); statusPane->MakeVisible(EFalse); #endif*/ int deviceYourClass = qRegisterMetaType<QBtDevice> ("QBtDevice"); int addressYourClass = qRegisterMetaType<QBtAddress> ("QBtAddress"); ui.setupUi(this); //dialog = new QProgressDialog(ui.deviceListWidget); CreateActions(); SetupMenu(true); //setup devSearchButton signal handler connect(ui.devSearchButton, SIGNAL(clicked()), this, SLOT(startDeviceDiscovery())); connect(ui.deviceListWidget, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(deviceSelected(QListWidgetItem*))); connect(ui.deviceListWidget, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(deviceSelected(QListWidgetItem*))); connect(ui.tabWidget, SIGNAL( tabCloseRequested ( int )), this, SLOT(closeCurrentTab())); //connect(ui.) InitializeBluetooth(); this->setWindowFlags(Qt::WindowSoftkeysVisibleHint); this->showFullScreen(); // QRect screenSize = QApplication::desktop()->screenGeometry(); // this->setGeometry(25,25, screenSize.width()/2, screenSize.height()/2); }
void QuickEdit::OnContextMenu(QPoint point) { QModelIndex current = ui->tvEditor->selectionModel()->currentIndex(); if(!current.isValid()) return; current = current.sibling(current.row(), 0); TreeItemInterface *itemAsInterface = static_cast<TreeItemInterface*>(current.internalPointer()); BrowserNode* currentNode = static_cast<BrowserNode*>(itemAsInterface->InternalPointer()); if(!itemAsInterface) return; CreateMenu(); SetupMenu(itemAsInterface); if(currentNode->TypeID() != TypeIdentifier<BrowserOperationAttribute>::id()) { contextMenu->removeAction(actBefore); contextMenu->removeAction(actAfter); } contextMenu->popup(ui->tvEditor->mapToGlobal(point)); }
wxMaximaFrame::wxMaximaFrame(wxWindow* parent, int id, const wxString& title, const wxPoint& pos, const wxSize& size, long style): wxFrame(parent, id, title, pos, size, wxDEFAULT_FRAME_STYLE) { m_manager.SetManagedWindow(this); // console m_console = new MathCtrl(this, -1, wxDefaultPosition, wxDefaultSize); // history m_history = new History(this, -1); m_plotSlider = NULL; SetupMenu(); #if defined (__WXMSW__) || defined (__WXGTK20__) || defined (__WXMAC__) SetupToolBar(); #endif CreateStatusBar(2); int widths[] = { -1, 300 }; SetStatusWidths(2, widths); #if defined __WXMSW__ wxAcceleratorEntry entries[0]; entries[0].Set(wxACCEL_CTRL, WXK_RETURN, menu_evaluate); wxAcceleratorTable accel(1, entries); SetAcceleratorTable(accel); #endif set_properties(); do_layout(); m_console->SetFocus(); }
// ************************************************** int main (int argc, char** argv) { srand(iRandomSeed); glutInit(&argc,argv); glutInitWindowPosition(100,100); glutInitWindowSize(iScreenWidth,iScreenHeight); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); int win = glutCreateWindow("Project 4 - Raytracer"); glutSetWindow(win); glutKeyboardFunc(keyFunc); glutDisplayFunc(display); SetupMenu(); UserInit(); glutMainLoop(); UserCleanup(); return 0; }
static BOOLEAN DoRestart (MENU_STATE *pMS) { static TimeCount LastInputTime; static TimeCount InactTimeOut; TimeCount TimeIn = GetTimeCounter (); /* Cancel any presses of the Pause key. */ GamePaused = FALSE; if (pMS->Initialized) Flash_process(pMS->flashContext); if (!pMS->Initialized) { if (pMS->hMusic) { StopMusic (); DestroyMusic (pMS->hMusic); pMS->hMusic = 0; } pMS->hMusic = LoadMusic (MAINMENU_MUSIC); InactTimeOut = (pMS->hMusic ? 120 : 20) * ONE_SECOND; pMS->flashContext = Flash_createOverlay (ScreenContext, NULL, NULL); Flash_setMergeFactors (pMS->flashContext, -3, 3, 16); Flash_setSpeed (pMS->flashContext, (6 * ONE_SECOND) / 16, 0, (6 * ONE_SECOND) / 16, 0); Flash_setFrameTime (pMS->flashContext, ONE_SECOND / 16); Flash_setState(pMS->flashContext, FlashState_fadeIn, (3 * ONE_SECOND) / 16); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, FALSE); Flash_start (pMS->flashContext); PlayMusic (pMS->hMusic, TRUE, 1); LastInputTime = GetTimeCounter (); pMS->Initialized = TRUE; SleepThreadUntil (FadeScreen (FadeAllToColor, ONE_SECOND / 2)); } else if (GLOBAL (CurrentActivity) & CHECK_ABORT) { return FALSE; } else if (PulsedInputState.menu[KEY_MENU_SELECT]) { //BYTE fade_buf[1]; COUNT oldresfactor; BOOLEAN packsInstalled; if (resolutionFactor == 0) packsInstalled = TRUE; else if (resolutionFactor == 1 && hires2xPackPresent) packsInstalled = TRUE; else if (resolutionFactor == 2 && hires4xPackPresent) packsInstalled = TRUE; else packsInstalled = FALSE; switch (pMS->CurState) { case LOAD_SAVED_GAME: if (resFactorWasChanged) { LockMutex (GraphicsLock); SetFlashRect (NULL); UnlockMutex (GraphicsLock); DoPopupWindow (GAME_STRING (MAINMENU_STRING_BASE + 35)); // Got to restart -message SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, FALSE); ScreenTransition (3, NULL); UnbatchGraphics (); //fade_buf[0] = FadeAllToBlack; //SleepThreadUntil (XFormColorMap ((COLORMAPPTR)fade_buf, ONE_SECOND / 2)); SleepThreadUntil (FadeScreen(FadeAllToBlack, ONE_SECOND / 2)); GLOBAL (CurrentActivity) = CHECK_ABORT; } else if (!packsInstalled) { Flash_pause(pMS->flashContext); DoPopupWindow (GAME_STRING (MAINMENU_STRING_BASE + 35 + resolutionFactor)); // Could not find graphics pack - message SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, FALSE); ScreenTransition (3, NULL); UnbatchGraphics (); Flash_continue(pMS->flashContext); SleepThreadUntil (TimeIn + ONE_SECOND / 30); return TRUE; } else { LastActivity = CHECK_LOAD; GLOBAL (CurrentActivity) = IN_INTERPLANETARY; } break; case START_NEW_GAME: if (resFactorWasChanged) { LockMutex (GraphicsLock); SetFlashRect (NULL); UnlockMutex (GraphicsLock); DoPopupWindow (GAME_STRING (MAINMENU_STRING_BASE + 35)); // Got to restart -message SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, FALSE); ScreenTransition (3, NULL); UnbatchGraphics (); //fade_buf[0] = FadeAllToBlack; //SleepThreadUntil (XFormColorMap ((COLORMAPPTR)fade_buf, ONE_SECOND / 2)); SleepThreadUntil (FadeScreen(FadeAllToBlack, ONE_SECOND / 2)); GLOBAL (CurrentActivity) = CHECK_ABORT; } else if (!packsInstalled) { Flash_pause(pMS->flashContext); DoPopupWindow (GAME_STRING (MAINMENU_STRING_BASE + 35 + resolutionFactor)); // Could not find graphics pack - message SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, FALSE); ScreenTransition (3, NULL); UnbatchGraphics (); Flash_continue(pMS->flashContext); SleepThreadUntil (TimeIn + ONE_SECOND / 30); return TRUE; } else { LastActivity = CHECK_LOAD | CHECK_RESTART; GLOBAL (CurrentActivity) = IN_INTERPLANETARY; } break; case PLAY_SUPER_MELEE: if (resFactorWasChanged) { LockMutex (GraphicsLock); SetFlashRect (NULL); UnlockMutex (GraphicsLock); DoPopupWindow (GAME_STRING (MAINMENU_STRING_BASE + 35)); // Got to restart -message SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, FALSE); ScreenTransition (3, NULL); UnbatchGraphics (); //fade_buf[0] = FadeAllToBlack; //SleepThreadUntil (XFormColorMap ((COLORMAPPTR)fade_buf, ONE_SECOND / 2)); SleepThreadUntil (FadeScreen(FadeAllToBlack, ONE_SECOND / 2)); GLOBAL (CurrentActivity) = CHECK_ABORT; } else if (!packsInstalled) { Flash_pause(pMS->flashContext); DoPopupWindow (GAME_STRING (MAINMENU_STRING_BASE + 35 + resolutionFactor)); // Could not find graphics pack - message SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, FALSE); ScreenTransition (3, NULL); UnbatchGraphics (); Flash_continue(pMS->flashContext); SleepThreadUntil (TimeIn + ONE_SECOND / 30); return TRUE; } else { GLOBAL (CurrentActivity) = SUPER_MELEE; } break; case SETUP_GAME: oldresfactor = resolutionFactor; Flash_pause(pMS->flashContext); Flash_setState(pMS->flashContext, FlashState_fadeIn, (3 * ONE_SECOND) / 16); SetupMenu (); SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); LastInputTime = GetTimeCounter (); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); ScreenTransition (3, NULL); // JMS_GFX: This prevents drawing an annoying wrong-sized "Setup" frame when changing resolution. if (oldresfactor < resolutionFactor) DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, TRUE); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, FALSE); Flash_continue(pMS->flashContext); UnbatchGraphics (); return TRUE; case QUIT_GAME: SleepThreadUntil (FadeScreen (FadeAllToBlack, ONE_SECOND / 2)); GLOBAL (CurrentActivity) = CHECK_ABORT; break; } Flash_pause(pMS->flashContext); return FALSE; } else if (PulsedInputState.menu[KEY_MENU_UP] || PulsedInputState.menu[KEY_MENU_DOWN]) { BYTE NewState; NewState = pMS->CurState; if (PulsedInputState.menu[KEY_MENU_UP]) { if (NewState == START_NEW_GAME) NewState = QUIT_GAME; else --NewState; } else if (PulsedInputState.menu[KEY_MENU_DOWN]) { if (NewState == QUIT_GAME) NewState = START_NEW_GAME; else ++NewState; } if (NewState != pMS->CurState) { BatchGraphics (); DrawRestartMenu (pMS, NewState, pMS->CurFrame, FALSE); UnbatchGraphics (); pMS->CurState = NewState; } LastInputTime = GetTimeCounter (); } else if (PulsedInputState.menu[KEY_MENU_LEFT] || PulsedInputState.menu[KEY_MENU_RIGHT]) { // Does nothing, but counts as input for timeout purposes LastInputTime = GetTimeCounter (); } else if (MouseButtonDown) { Flash_pause(pMS->flashContext); DoPopupWindow (GAME_STRING (MAINMENU_STRING_BASE + 54)); // Mouse not supported message SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, FALSE); ScreenTransition (3, NULL); UnbatchGraphics (); Flash_continue(pMS->flashContext); LastInputTime = GetTimeCounter (); } else { // No input received, check if timed out if (GetTimeCounter () - LastInputTime > InactTimeOut) { SleepThreadUntil (FadeMusic (0, ONE_SECOND)); StopMusic (); FadeMusic (NORMAL_VOLUME, 0); GLOBAL (CurrentActivity) = (ACTIVITY)~0; return FALSE; } } SleepThreadUntil (TimeIn + ONE_SECOND / 30); return TRUE; }
int main() // MAIN PROGRAM AND First Level Menu { uint8 c,MenuSel; // local var to hold result of which menu item we selected InitPIC32(); // initialise MPU CloseWiFi(); // Wifi powered Off CloseBarcode(); // Barcode powered Off PeripheralReset(); InitLCD(); // initialise LCD CloseRFID(); // RFID off / sleep if(BrownOutReset()) // if the system crapped out previously, then just warn the user to charge the device and power off { LCDInform(" POWER! ","Please Charge!"); PWR_HOLD(0); // turn off power when above message acknowleged } while(1) // main program loop (do this until powered off or sleep) { MenuSel = GetMenuItem("READY","Scan Barcode","Scan RFID","Setup","Shutdown",""); if(MenuSel==1) // SCAN barcode { if(ReadBarcode()>1) // we got a barcode! Barcodes are encoded with the first letter designating the barcode type (or obviously the system wont have a clue!) { if(BarcodeData[0]=='J') OldJobMenu(BarcodeData); else if(BarcodeData[0]=='X') NewJobMenu(BarcodeData); else if(BarcodeData[0]=='S' && BarcodeData[1]=='M') StockMenu(BarcodeData); else if(BarcodeData[0]=='A') AssetMenu(BarcodeData); else if(BarcodeData[0]=='L') LabMenu(BarcodeData); else LCDInform("UID",BarcodeData); } } if(MenuSel==2) // scan RFID tag { CLS(); LCDWriteStrAt(1,6,"SCAN RFID TAG"); if (ReadRFIDUID()) // get UID { LCDInform("UID",uid.SerialNo); ReadRFIDBlock(1); } } if(MenuSel==3) // setup menu { SetupMenu(); } if(MenuSel==4) // power off { PWR_HOLD(0); // remove power to CPU - if on battery power this will turn off power to CPU and effectively end the program here! CLS(); if(ReadFloatAt(0,8,500,7)) LCDInform("Number was",KeypadData); } } }
static BOOLEAN DoRestart (PMENU_STATE pMS) { static DWORD InTime; static DWORD InactTimeOut; /* Cancel any presses of the Pause key. */ GamePaused = FALSE; if (!pMS->Initialized) { if (pMS->hMusic) { StopMusic (); DestroyMusic (pMS->hMusic); pMS->hMusic = 0; } pMS->hMusic = LoadMusic (MAINMENU_MUSIC); InactTimeOut = (pMS->hMusic ? 120 : 20) * ONE_SECOND; PlayMusic (pMS->hMusic, TRUE, 1); DrawRestartMenu ((BYTE)~0, pMS->CurState, pMS->CurFrame); pMS->Initialized = TRUE; { BYTE clut_buf[] = {FadeAllToColor}; DWORD TimeOut = XFormColorMap ((COLORMAPPTR)clut_buf, ONE_SECOND / 2); while ((GetTimeCounter () <= TimeOut) && !(GLOBAL (CurrentActivity) & CHECK_ABORT)) { UpdateInputState (); TaskSwitch (); } } } #ifdef TESTING else if (InputState & DEVICE_EXIT) return (FALSE); #endif /* TESTING */ else if (GLOBAL (CurrentActivity) & CHECK_ABORT) { return (FALSE); } else if (!(PulsedInputState.menu[KEY_MENU_UP] || PulsedInputState.menu[KEY_MENU_DOWN] || PulsedInputState.menu[KEY_MENU_LEFT] || PulsedInputState.menu[KEY_MENU_RIGHT] || PulsedInputState.menu[KEY_MENU_SELECT] || MouseButtonDown)) { if (GetTimeCounter () - InTime < InactTimeOut) return (TRUE); SleepThreadUntil (FadeMusic (0, ONE_SECOND)); StopMusic (); FadeMusic (NORMAL_VOLUME, 0); GLOBAL (CurrentActivity) = (ACTIVITY)~0; return (FALSE); } else if (PulsedInputState.menu[KEY_MENU_SELECT]) { BYTE fade_buf[1]; switch (pMS->CurState) { case LOAD_SAVED_GAME: LastActivity = CHECK_LOAD; GLOBAL (CurrentActivity) = IN_INTERPLANETARY; break; case START_NEW_GAME: LastActivity = CHECK_LOAD | CHECK_RESTART; GLOBAL (CurrentActivity) = IN_INTERPLANETARY; break; case PLAY_SUPER_MELEE: GLOBAL (CurrentActivity) = SUPER_MELEE; break; case SETUP_GAME: LockMutex (GraphicsLock); SetFlashRect (NULL_PTR, (FRAME)0); UnlockMutex (GraphicsLock); SetupMenu (); SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); InTime = GetTimeCounter (); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); DrawRestartMenu ((BYTE)~0, pMS->CurState, pMS->CurFrame); ScreenTransition (3, NULL); UnbatchGraphics (); return TRUE; case QUIT_GAME: fade_buf[0] = FadeAllToBlack; SleepThreadUntil (XFormColorMap ((COLORMAPPTR)fade_buf, ONE_SECOND / 2)); GLOBAL (CurrentActivity) = CHECK_ABORT; break; } LockMutex (GraphicsLock); SetFlashRect (NULL_PTR, (FRAME)0); UnlockMutex (GraphicsLock); return (FALSE); } else { BYTE NewState; NewState = pMS->CurState; if (PulsedInputState.menu[KEY_MENU_UP]) { if (NewState-- == START_NEW_GAME) NewState = QUIT_GAME; } else if (PulsedInputState.menu[KEY_MENU_DOWN]) { if (NewState++ == QUIT_GAME) NewState = START_NEW_GAME; } if (NewState != pMS->CurState) { BatchGraphics (); DrawRestartMenu (pMS->CurState, NewState, pMS->CurFrame); UnbatchGraphics (); pMS->CurState = NewState; } } // if (MouseButtonDown) // { // LockMutex (GraphicsLock); // SetFlashRect (NULL_PTR, (FRAME)0); // UnlockMutex (GraphicsLock); // MouseError (); // SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); // SetTransitionSource (NULL); // BatchGraphics (); // DrawRestartMenuGraphic (pMS); // DrawRestartMenu ((BYTE)~0, pMS->CurState, pMS->CurFrame); // ScreenTransition (3, NULL); // UnbatchGraphics (); // } if (MouseButtonDown) { // TODO WTF FIX GAME CONTROLS } InTime = GetTimeCounter (); return (TRUE); }
void CToyEditor::Layout() { m_pCreateToySourcePanel->SetVisible(false); m_pSourcePanel->SetVisible(false); if (!m_oToySource.m_sFilename.length()) m_pCreateToySourcePanel->SetVisible(true); else m_pSourcePanel->SetVisible(true); SetupMenu(); bool bGenPreviewDistance = false; if (!CModelLibrary::GetModel(m_iMeshPreview)) m_iMeshPreview = ~0; tstring sMesh = FindAbsolutePath(GetDirectory(GetToy().m_sFilename) + "/" + GetToy().m_sMesh); if (IsFile(sMesh)) { if (m_iMeshPreview != ~0) { CModel* pMesh = CModelLibrary::GetModel(m_iMeshPreview); if (sMesh != FindAbsolutePath(pMesh->m_sFilename)) { CModelLibrary::ReleaseModel(m_iMeshPreview); CModelLibrary::ClearUnreferenced(); m_iMeshPreview = CModelLibrary::AddModel(sMesh); bGenPreviewDistance = true; } } else { m_iMeshPreview = CModelLibrary::AddModel(sMesh); bGenPreviewDistance = true; } } else { if (m_iMeshPreview != ~0) { CModelLibrary::ReleaseModel(m_iMeshPreview); CModelLibrary::ClearUnreferenced(); m_iMeshPreview = ~0; } } if (m_iMeshPreview != ~0 && bGenPreviewDistance) m_flPreviewDistance = CModelLibrary::GetModel(m_iMeshPreview)->m_aabbVisBoundingBox.Size().Length()*2; m_hMaterialPreview.Reset(); tstring sMaterial = GetToy().m_sMesh; if (IsFile(sMaterial)) { // Don't bother with clearing old ones, they'll get flushed eventually. CMaterialHandle hMaterialPreview = CMaterialLibrary::AddMaterial(sMaterial); if (hMaterialPreview.IsValid()) { m_hMaterialPreview = hMaterialPreview; if (m_hMaterialPreview->m_ahTextures.size()) { CTextureHandle hBaseTexture = m_hMaterialPreview->m_ahTextures[0]; m_flPreviewDistance = (float)(hBaseTexture->m_iHeight + hBaseTexture->m_iWidth)/100; } } } tstring sPhys = FindAbsolutePath(GetDirectory(GetToy().m_sFilename) + "/" + GetToy().m_sPhys); if (IsFile(sPhys)) { if (m_iPhysPreview != ~0) { CModel* pPhys = CModelLibrary::GetModel(m_iPhysPreview); if (sPhys != FindAbsolutePath(pPhys->m_sFilename)) { CModelLibrary::ReleaseModel(m_iPhysPreview); CModelLibrary::ClearUnreferenced(); m_iPhysPreview = CModelLibrary::AddModel(sPhys); } } else m_iPhysPreview = CModelLibrary::AddModel(sPhys); } else { if (m_iPhysPreview != ~0) { CModelLibrary::ReleaseModel(m_iPhysPreview); CModelLibrary::ClearUnreferenced(); } m_iPhysPreview = ~0; } }
int SerialConfig(void) { short key; short field; int rval = 0; char *args[MAXARGS]; int argcount; char string[MAXARGS*2][12]; int i; int level; sinfo = serialinfo; // save copy of modeminfo SaveScreen(); DrawPup(&cserial); // // Set defaults // sinfo.skillLevel = 3; DrawRadios(&sskillg); sinfo.episode = 1; #ifndef DOOM2 DrawRadios(&sepig); #endif sinfo.deathMatch = 1; DrawRadios(&sdeathg); sinfo.comport = comport; DrawRadios(&scomg); while(1) { SetupMenu(&cserialmenu); field = GetMenuInput(); key = menukey; switch ( key ) { case KEY_ESC: rval = -1; goto func_exit; // // Secret WARP code: F5+warp // case KEY_F1: { level = WarpTime(); if (!level) continue; serialinfo = sinfo; M_SaveDefaults(); RestoreScreen(); argcount = 1; args[0] = "sersetup.exe "; if (cdrom) args[argcount++] = "-cdrom"; args[argcount++] = "-skill"; sprintf(string[argcount],"%d",serialinfo.skillLevel); args[argcount] = string[argcount]; argcount++; if (!level) { #ifndef DOOM2 args[argcount++] = "-episode"; sprintf(string[argcount],"%d",serialinfo.episode); args[argcount] = string[argcount]; argcount++; #endif } else { args[argcount++] = "-warp"; #ifdef DOOM2 sprintf(string[argcount],"%d",level); args[argcount] = string[argcount]; #else sprintf(string[argcount],"%d",level>>8); args[argcount] = string[argcount]; argcount++; sprintf(string[argcount],"%d",level&0x0f); args[argcount] = string[argcount]; #endif argcount++; } if (serialinfo.deathMatch) args[argcount++] = "-deathmatch"; if (nomonsters) args[argcount++] = "-nomonsters"; if (respawn) args[argcount++] = "-respawn"; if (deathmatch2 && serialinfo.deathMatch) args[argcount++] = "-altdeath"; sprintf(string[argcount],"-com%d",serialinfo.comport); args[argcount] = string[argcount]; argcount++; for (i = 1;i < myargc; i++) args[argcount++] = myargv[i]; args[argcount] = NULL; textbackground(0); textcolor(7); clrscr(); execv("sersetup.exe",args); // // ERROR EXECing! // printf("Problem EXECing SERSETUP for netplay. Need to be in same directory!"); exit(1); } break; exitandsave: case KEY_F10: serialinfo = sinfo; M_SaveDefaults(); RestoreScreen(); argcount = 1; args[0] = "sersetup.exe "; if (cdrom) args[argcount++] = "-cdrom"; args[argcount++] = "-skill"; sprintf(string[argcount],"%d",serialinfo.skillLevel); args[argcount] = string[argcount]; argcount++; if (serialinfo.deathMatch) args[argcount++] = "-deathmatch"; #ifndef DOOM2 args[argcount++] = "-episode"; sprintf(string[argcount],"%d",serialinfo.episode); args[argcount] = string[argcount]; argcount++; #endif sprintf(string[argcount],"-com%d",serialinfo.comport); args[argcount] = string[argcount]; argcount++; for (i = 1;i < myargc; i++) args[argcount++] = myargv[i]; args[argcount] = NULL; textbackground(0); textcolor(7); clrscr(); execv("sersetup.exe",args); // // ERROR EXECing! // printf("Problem EXECing SERSETUP for netplay. Need to be in same directory!"); exit(1); case KEY_ENTER: case 32: switch ( field ) { #ifndef DOOM2 // // Episode // case SER_EPISODE0: case SER_EPISODE1: case SER_EPISODE2: sinfo.episode = field - SER_EPISODE0 + 1; DrawRadios(&sepig); break; #endif // // Skill level // case SER_SKILL1: case SER_SKILL2: case SER_SKILL3: case SER_SKILL4: sinfo.skillLevel = field - SER_SKILL1 + 2; break; // // Deathmatch // case SER_DEATHNO: case SER_DEATHYES: sinfo.deathMatch = field - SER_DEATHNO; break; // // COM port // case SER_COM1: case SER_COM2: case SER_COM3: case SER_COM4: comport = sinfo.comport = field - SER_COM1 + 1; break; default: break; } DrawRadios(&sskillg); DrawRadios(&sdeathg); DrawRadios(&scomg); break; } } func_exit: RestoreScreen(); return ( rval ); }
int ChooseSbDma (DMXCARD * card) { short key; short field; int rval = 0; switch ( card->dma ) { case 0: field = SB_DMA_0; break; default: case 1: field = SB_DMA_1; break; case 3: field = SB_DMA_3; break; case 5: field = SB_DMA_5; break; case 6: field = SB_DMA_6; break; case 7: field = SB_DMA_7; break; } SaveScreen(); DrawPup(&sbdma); sbdmamenu.startitem = field; while(1) { SetupMenu(&sbdmamenu); field = GetMenuInput(); key = menukey; switch ( key ) { case KEY_ESC: rval = -1; goto func_exit; case KEY_ENTER: case KEY_F10: switch ( field ) { case SB_DMA_0: card->dma = 0; goto func_exit; case SB_DMA_1: card->dma = 1; goto func_exit; case SB_DMA_3: card->dma = 3; goto func_exit; case SB_DMA_5: card->dma = 5; goto func_exit; case SB_DMA_6: card->dma = 6; goto func_exit; case SB_DMA_7: card->dma = 7; goto func_exit; default: break; } break; } } func_exit: RestoreScreen(); return ( rval ); }
void QuteMessenger::deviceSelected(QListWidgetItem* item) { SetupMenu(false); selectedDeviceName = item->text(); }
int RestoreSerial(void) { short field; short key; int rval = 0; char *args[MAXARGS]; int argcount; char string[MAXARGS*2][16]; int i; int numplayers[6]; int saveslot; int handle; char name[32]; char p1,p2,p3,p4; sinfo = serialinfo; // save copy of netinfo SaveScreen(); DrawPup(&sersave); saveslot = -1; memset(savenames,0,6*24); // // Read in savegame strings // textbackground(1); textcolor(15); for (i = 0;i < 6;i++) { sprintf(name,SAVENAME,i); handle = open (name, O_BINARY | O_RDONLY); if (handle == -1) continue; read(handle,savenames[i],24); lseek(handle,27+16,SEEK_SET); read(handle,&p1,1); read(handle,&p2,1); read(handle,&p3,1); read(handle,&p4,1); numplayers[i] = p1+p2+p3+p4; close(handle); Clear(&sersaveitems[i]); Pos(&sersaveitems[i]); cprintf("%s",savenames[i]); } // // Set defaults // sinfo.comport = comport; DrawRadios(&serscomg); sinfo.deathMatch = 0; DrawRadios(&sersdeathg); gotoxy(1,25); while(1) { SetupMenu(&sersavemenu); field = GetMenuInput(); key = menukey; switch ( key ) { case KEY_ESC: rval = -1; goto func_exit; exitandsave: case KEY_F10: if (saveslot < 0) { ErrorWindow(&netserr); break; } serialinfo = sinfo; M_SaveDefaults(); RestoreScreen(); argcount = 1; args[0] = "sersetup.exe "; if (cdrom) args[argcount++] = "-cdrom"; args[argcount++] = "-nodes"; sprintf(string[argcount],"%d",numplayers[saveslot]); args[argcount] = string[argcount]; argcount++; if (modeminfo.deathMatch) args[argcount++] = "-deathmatch"; sprintf(string[argcount],"-com%d",serialinfo.comport); args[argcount] = string[argcount]; argcount++; args[argcount++] = "-loadgame"; sprintf(string[argcount],"%d",saveslot); args[argcount] = string[argcount]; argcount++; for (i = 1;i < myargc; i++) args[argcount++] = myargv[i]; args[argcount] = NULL; textbackground(0); textcolor(7); clrscr(); execv("sersetup.exe",args); // // ERROR EXECing! // printf("Problem EXECing SERSETUP for netplay. Need to be in same directory!"); exit(0); case KEY_ENTER: switch ( field ) { case SERS_COM1: case SERS_COM2: case SERS_COM3: case SERS_COM4: sinfo.comport = field - SERS_COM1 + 1; DrawRadios(&serscomg); break; case SERS_0: case SERS_1: case SERS_2: case SERS_3: case SERS_4: case SERS_5: if (!savenames[field - SERS_0][0]) { Sound(1000,12); break; } saveslot = field - SERS_0; DrawRadios(&serslotsg); break; // // Deathmatch // case SERS_DEATHNO: case SERS_DEATHYES: sinfo.deathMatch = field - SERS_DEATHNO; DrawRadios(&sersdeathg); default: break; } break; } } func_exit: RestoreScreen(); return ( rval ); }
static BOOLEAN DoRestart (MENU_STATE *pMS) { static TimeCount LastInputTime; static TimeCount InactTimeOut; TimeCount TimeIn = GetTimeCounter (); /* Cancel any presses of the Pause key. */ GamePaused = FALSE; if (pMS->Initialized) Flash_process(pMS->flashContext); if (!pMS->Initialized) { if (pMS->hMusic) { StopMusic (); DestroyMusic (pMS->hMusic); pMS->hMusic = 0; } pMS->hMusic = LoadMusic (MAINMENU_MUSIC); InactTimeOut = (pMS->hMusic ? 120 : 20) * ONE_SECOND; pMS->flashContext = Flash_createOverlay (ScreenContext, NULL, NULL); Flash_setMergeFactors (pMS->flashContext, -3, 3, 16); Flash_setSpeed (pMS->flashContext, (6 * ONE_SECOND) / 16, 0, (6 * ONE_SECOND) / 16, 0); Flash_setFrameTime (pMS->flashContext, ONE_SECOND / 16); Flash_setState(pMS->flashContext, FlashState_fadeIn, (3 * ONE_SECOND) / 16); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame); Flash_start (pMS->flashContext); PlayMusic (pMS->hMusic, TRUE, 1); LastInputTime = GetTimeCounter (); pMS->Initialized = TRUE; SleepThreadUntil (FadeScreen (FadeAllToColor, ONE_SECOND / 2)); } else if (GLOBAL (CurrentActivity) & CHECK_ABORT) { return FALSE; } else if (PulsedInputState.menu[KEY_MENU_SELECT]) { switch (pMS->CurState) { case LOAD_SAVED_GAME: LastActivity = CHECK_LOAD; GLOBAL (CurrentActivity) = IN_INTERPLANETARY; break; case START_NEW_GAME: LastActivity = CHECK_LOAD | CHECK_RESTART; GLOBAL (CurrentActivity) = IN_INTERPLANETARY; break; case PLAY_SUPER_MELEE: GLOBAL (CurrentActivity) = SUPER_MELEE; break; case SETUP_GAME: Flash_pause(pMS->flashContext); Flash_setState(pMS->flashContext, FlashState_fadeIn, (3 * ONE_SECOND) / 16); SetupMenu (); SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); LastInputTime = GetTimeCounter (); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); ScreenTransition (3, NULL); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame); Flash_continue(pMS->flashContext); UnbatchGraphics (); return TRUE; case QUIT_GAME: SleepThreadUntil (FadeScreen (FadeAllToBlack, ONE_SECOND / 2)); GLOBAL (CurrentActivity) = CHECK_ABORT; break; } Flash_pause(pMS->flashContext); return FALSE; } else if (PulsedInputState.menu[KEY_MENU_UP] || PulsedInputState.menu[KEY_MENU_DOWN]) { BYTE NewState; NewState = pMS->CurState; if (PulsedInputState.menu[KEY_MENU_UP]) { if (NewState == START_NEW_GAME) NewState = QUIT_GAME; else --NewState; } else if (PulsedInputState.menu[KEY_MENU_DOWN]) { if (NewState == QUIT_GAME) NewState = START_NEW_GAME; else ++NewState; } if (NewState != pMS->CurState) { BatchGraphics (); DrawRestartMenu (pMS, NewState, pMS->CurFrame); UnbatchGraphics (); pMS->CurState = NewState; } LastInputTime = GetTimeCounter (); } else if (PulsedInputState.menu[KEY_MENU_LEFT] || PulsedInputState.menu[KEY_MENU_RIGHT]) { // Does nothing, but counts as input for timeout purposes LastInputTime = GetTimeCounter (); } else if (MouseButtonDown) { Flash_pause(pMS->flashContext); DoPopupWindow (GAME_STRING (MAINMENU_STRING_BASE + 54)); // Mouse not supported message SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame); ScreenTransition (3, NULL); UnbatchGraphics (); Flash_continue(pMS->flashContext); LastInputTime = GetTimeCounter (); } else { // No input received, check if timed out if (GetTimeCounter () - LastInputTime > InactTimeOut) { SleepThreadUntil (FadeMusic (0, ONE_SECOND)); StopMusic (); FadeMusic (NORMAL_VOLUME, 0); GLOBAL (CurrentActivity) = (ACTIVITY)~0; return FALSE; } } SleepThreadUntil (TimeIn + ONE_SECOND / 30); return TRUE; }
int ChooseController (void) { short key; short field; int rval = 0; SaveScreen(); DrawPup(&control); // DEFAULT FIELD ======================================== if (newc.control == C_MOUSE) field = CON_MOUSE; else if (newc.control == C_JOYSTICK) field = CON_JOY; else field = CON_KEY; controlmenu.startitem = field; while(1) { SetupMenu(&controlmenu); field = GetMenuInput(); key = menukey; switch ( key ) { case KEY_ESC: rval = -1; goto func_exit; case KEY_ENTER: case KEY_F10: switch ( field ) { case CON_KEY: newc.control = C_KEY; usemouse = 0; usejoystick = 0; goto func_exit; case CON_MOUSE: newc.control = C_MOUSE; usemouse = 1; usejoystick = 0; goto func_exit; case CON_JOY: newc.control = C_JOYSTICK; usemouse = 0; usejoystick = 1; goto func_exit; default: break; } break; } } func_exit: RestoreScreen(); DrawCurrentConfig(); return ( rval ); }
void CAbstractVstEditor::OnInitMenu(CMenu* /*pMenu*/) //--------------------------------------------------- { //AfxMessageBox(""); SetupMenu(); }
static BOOLEAN DoRestart (MENU_STATE *pMS) { static TimeCount LastInputTime; static TimeCount InactTimeOut; TimeCount TimeIn = GetTimeCounter (); /* Cancel any presses of the Pause key. */ GamePaused = FALSE; if(optSuperMelee && !optLoadGame && PacksInstalled()){ pMS->CurState = PLAY_SUPER_MELEE; PulsedInputState.menu[KEY_MENU_SELECT] = 65535; } if(optLoadGame && !optSuperMelee && PacksInstalled()){ pMS->CurState = LOAD_SAVED_GAME; PulsedInputState.menu[KEY_MENU_SELECT] = 65535; } if (pMS->Initialized) Flash_process(pMS->flashContext); if (!pMS->Initialized) { if (pMS->hMusic && !comingFromInit) { StopMusic (); DestroyMusic (pMS->hMusic); pMS->hMusic = 0; } pMS->hMusic = loadMainMenuMusic (Rando); InactTimeOut = (optMainMenuMusic ? 60 : 20) * ONE_SECOND; pMS->flashContext = Flash_createOverlay (ScreenContext, NULL, NULL); Flash_setMergeFactors (pMS->flashContext, -3, 3, 16); Flash_setSpeed (pMS->flashContext, (6 * ONE_SECOND) / 14, 0, (6 * ONE_SECOND) / 14, 0); Flash_setFrameTime (pMS->flashContext, ONE_SECOND / 16); Flash_setState(pMS->flashContext, FlashState_fadeIn, (3 * ONE_SECOND) / 16); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, FALSE); Flash_start (pMS->flashContext); LastInputTime = GetTimeCounter (); pMS->Initialized = TRUE; SleepThreadUntil (FadeScreen (FadeAllToColor, ONE_SECOND / 2)); if (!comingFromInit){ FadeMusic(0,0); PlayMusic (pMS->hMusic, TRUE, 1); if (optMainMenuMusic) FadeMusic (NORMAL_VOLUME+70, ONE_SECOND * 3); } } else if (GLOBAL (CurrentActivity) & CHECK_ABORT) { return FALSE; } else if (PulsedInputState.menu[KEY_MENU_SELECT]) { //BYTE fade_buf[1]; COUNT oldresfactor; switch (pMS->CurState) { case LOAD_SAVED_GAME: if (!RestartMessage(pMS, TimeIn)) { LastActivity = CHECK_LOAD; GLOBAL (CurrentActivity) = IN_INTERPLANETARY; optLoadGame = FALSE; } else return TRUE; break; case START_NEW_GAME: if (!RestartMessage(pMS, TimeIn)) { LastActivity = CHECK_LOAD | CHECK_RESTART; GLOBAL (CurrentActivity) = IN_INTERPLANETARY; } else return TRUE; break; case PLAY_SUPER_MELEE: if (!RestartMessage(pMS, TimeIn)) { GLOBAL (CurrentActivity) = SUPER_MELEE; optSuperMelee = FALSE; } else return TRUE; break; case SETUP_GAME: oldresfactor = resolutionFactor; Flash_pause(pMS->flashContext); Flash_setState(pMS->flashContext, FlashState_fadeIn, (3 * ONE_SECOND) / 16); SetupMenu (); SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); InactTimeOut = (optMainMenuMusic ? 60 : 20) * ONE_SECOND; LastInputTime = GetTimeCounter (); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); ScreenTransition (3, NULL); // JMS_GFX: This prevents drawing an annoying wrong-sized "Setup" frame when changing resolution. if (oldresfactor < resolutionFactor) DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, TRUE); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, FALSE); Flash_continue(pMS->flashContext); UnbatchGraphics (); return TRUE; case QUIT_GAME: SleepThreadUntil (FadeScreen (FadeAllToBlack, ONE_SECOND / 2)); GLOBAL (CurrentActivity) = CHECK_ABORT; break; } Flash_pause(pMS->flashContext); return FALSE; } else if (PulsedInputState.menu[KEY_MENU_UP] || PulsedInputState.menu[KEY_MENU_DOWN]) { BYTE NewState; NewState = pMS->CurState; if (PulsedInputState.menu[KEY_MENU_UP]) { if (NewState == START_NEW_GAME) NewState = QUIT_GAME; else --NewState; } else if (PulsedInputState.menu[KEY_MENU_DOWN]) { if (NewState == QUIT_GAME) NewState = START_NEW_GAME; else ++NewState; } if (NewState != pMS->CurState) { BatchGraphics (); DrawRestartMenu (pMS, NewState, pMS->CurFrame, FALSE); UnbatchGraphics (); pMS->CurState = NewState; } LastInputTime = GetTimeCounter (); } else if (PulsedInputState.menu[KEY_MENU_LEFT] || PulsedInputState.menu[KEY_MENU_RIGHT]) { // Does nothing, but counts as input for timeout purposes LastInputTime = GetTimeCounter (); } else if (MouseButtonDown) { Flash_pause(pMS->flashContext); DoPopupWindow (GAME_STRING (MAINMENU_STRING_BASE + 54)); // Mouse not supported message SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); DrawRestartMenu (pMS, pMS->CurState, pMS->CurFrame, FALSE); ScreenTransition (3, NULL); UnbatchGraphics (); Flash_continue(pMS->flashContext); LastInputTime = GetTimeCounter (); } else { // No input received, check if timed out // JMS: After changing resolution mode, prevent displaying credits // (until the next time the game is restarted). This is to prevent // showing the credits with the wrong resolution mode's font&background. if (GetTimeCounter () - LastInputTime > InactTimeOut && !optRequiresRestart && PacksInstalled()) { SleepThreadUntil (FadeMusic (0, ONE_SECOND/2)); StopMusic (); FadeMusic (NORMAL_VOLUME, 0); GLOBAL (CurrentActivity) = (ACTIVITY)~0; return FALSE; } } comingFromInit = FALSE; SleepThreadUntil (TimeIn + ONE_SECOND / 30); return TRUE; }
int ChooseFxCard (void) { short field; short key; int rval = 0; switch ( newc.d.card ) { default: case M_NONE: field = DCARD_NONE; break; #ifndef HERETIC case M_PC: field = DCARD_PC; break; #endif case M_GUS: field = DCARD_GUS; break; case M_SB: field = DCARD_SB; break; case M_PAS: field = DCARD_PAS; break; case M_WAVE: field = DCARD_SB; break; } SaveScreen(); DrawPup(&idcard); idcardmenu.startitem = field; while(1) { SetupMenu(&idcardmenu); field = GetMenuInput(); key = menukey; switch ( key ) { case KEY_ESC: rval = -1; goto func_exit; case KEY_ENTER: case KEY_F10: switch ( field ) { case DCARD_PAS: newc.d.card = M_PAS; goto func_exit; case DCARD_SB: newc.d.card = M_SB; goto func_exit; case DCARD_GUS: newc.d.card = M_GUS; newc.d.midiport = -1; goto func_exit; #ifndef HERETIC case DCARD_PC: newc.d.card = M_PC; newc.d.port = -1; newc.d.midiport = -1; newc.d.irq = -1; newc.d.dma = -1; goto func_exit; #endif case DCARD_NONE: newc.d.card = M_NONE; newc.d.port = -1; newc.d.midiport = -1; newc.d.irq = -1; newc.d.dma = -1; goto func_exit; default: break; } break; } } func_exit: RestoreScreen(); return ( rval ); }
int ChooseSbIrq (DMXCARD * card) { short field; short key; int rval = 0; if ( card->irq > 8 ) ErrorWindow(&irqerr); switch ( card->irq ) { case 2: field = SB_IRQ_2; break; default: case 5: field = SB_IRQ_5; break; case 7: field = SB_IRQ_7; break; } SaveScreen(); DrawPup(&sbirq); sbirqmenu.startitem = field; while(1) { SetupMenu(&sbirqmenu); field = GetMenuInput(); key = menukey; switch ( key ) { case KEY_ESC: rval = -1; goto func_exit; case KEY_ENTER: case KEY_F10: switch ( field ) { case SB_IRQ_2: card->irq = 2; goto func_exit; case SB_IRQ_5: card->irq = 5; goto func_exit; case SB_IRQ_7: card->irq = 7; goto func_exit; default: break; } break; } } func_exit: RestoreScreen(); return ( rval ); }
unsigned WarpTime(void) { int e; int l; short key; short field; int exit; SaveScreen(); DrawPup(&cwarp); SetMark(&cwarpitems[W_RESPAWN],respawn); SetMark(&cwarpitems[W_NOMON],nomonsters); #ifndef HERETIC SetMark(&cwarpitems[W_DM2],deathmatch2); #endif exit = 0; while(1) { SetupMenu(&cwarpmenu); field = GetMenuInput(); key = menukey; switch(key) { case KEY_ESC: RestoreScreen(); return 0; case KEY_F10: case KEY_ENTER: switch(field) { case E1M1: e=1;l=1; exit=1; break; case E1M2: e=1;l=2; exit=1; break; case E1M3: e=1;l=3; exit=1; break; case E1M4: e=1;l=4; exit=1; break; case E1M5: e=1;l=5; exit=1; break; case E1M6: e=1;l=6; exit=1; break; case E1M7: e=1;l=7; exit=1; break; case E1M8: e=1;l=8; exit=1; break; case E1M9: e=1;l=9; exit=1; break; #ifdef DOOM2 case E1M10: e=1;l=10; exit=1; break; #endif case E2M1: e=2;l=1; exit=1; break; case E2M2: e=2;l=2; exit=1; break; case E2M3: e=2;l=3; exit=1; break; case E2M4: e=2;l=4; exit=1; break; case E2M5: e=2;l=5; exit=1; break; case E2M6: e=2;l=6; exit=1; break; case E2M7: e=2;l=7; exit=1; break; case E2M8: e=2;l=8; exit=1; break; case E2M9: e=2;l=9; exit=1; break; #ifdef DOOM2 case E2M10: e=2;l=10; exit=1; break; #endif case E3M1: e=3;l=1; exit=1; break; case E3M2: e=3;l=2; exit=1; break; case E3M3: e=3;l=3; exit=1; break; case E3M4: e=3;l=4; exit=1; break; case E3M5: e=3;l=5; exit=1; break; case E3M6: e=3;l=6; exit=1; break; case E3M7: e=3;l=7; exit=1; break; case E3M8: e=3;l=8; exit=1; break; case E3M9: e=3;l=9; exit=1; break; #ifdef DOOM2 case E3M10: e=3;l=10; exit=1; break; #endif case W_RESPAWN: respawn ^= 1; SetMark(&cwarpitems[W_RESPAWN],respawn); break; case W_NOMON: nomonsters ^= 1; SetMark(&cwarpitems[W_NOMON],nomonsters); break; #ifndef HERETIC case W_DM2: deathmatch2 ^= 1; SetMark(&cwarpitems[W_DM2],deathmatch2); break; #endif } if (exit) { RestoreScreen(); #ifdef DOOM2 return ((e-1)*10+l); #else return (e<<8)+l; #endif } } } }
void ParticleEditor::LoadEditor() { m_sphereSprite = m_provider->GetVideo()->CreateSprite(m_provider->GetFileIOHub()->GetProgramDirectory() + "/" + BSPHERE_BMP); ResetSystem(); SetupMenu(); }
int ChooseNumDig (void) { short key; short field; int rval = 0; SaveScreen(); DrawPup(&numdig); // DEFAULT FIELD ======================================== switch ( newc.numdig ) { default: field = DIG_4; break; case 1: field = DIG_1; break; case 2: field = DIG_2; break; case 3: field = DIG_3; break; case 4: field = DIG_4; break; case 5: field = DIG_5; break; case 6: field = DIG_6; break; case 7: field = DIG_7; break; case 8: field = DIG_8; break; } numdigmenu.startitem = field; while(1) { SetupMenu(&numdigmenu); field = GetMenuInput(); key = menukey; switch ( key ) { case KEY_ESC: rval = -1; goto func_exit; case KEY_ENTER: case KEY_F10: switch ( field ) { case DIG_1: newc.numdig = 1; goto func_exit; case DIG_2: newc.numdig = 2; goto func_exit; case DIG_3: newc.numdig = 3; goto func_exit; case DIG_4: newc.numdig = 4; goto func_exit; case DIG_5: newc.numdig = 5; goto func_exit; case DIG_6: newc.numdig = 6; goto func_exit; case DIG_7: newc.numdig = 7; goto func_exit; case DIG_8: newc.numdig = 8; goto func_exit; default: break; } break; } } func_exit: RestoreScreen(); return ( rval ); }