int CVarToggleWidget::handleCommand(menucommand_e cmd) { if(cmd == MCMD_SELECT) { bool justActivated = false; if(!isActive()) { justActivated = true; S_LocalSound(SFX_MENU_CYCLE, NULL); setFlags(Active); execAction(Activated); } if(!justActivated) { setFlags(Active, isActive()? UnsetFlags : SetFlags); } setState(isActive()? Down : Up); execAction(Modified); if(!justActivated && !isActive()) { S_LocalSound(SFX_MENU_CYCLE, NULL); execAction(Deactivated); } return true; } return false; // Not eaten. }
static void playMessageSentSound(void) { #if __JDOOM__ if(gameModeBits & GM_ANY_DOOM2) S_LocalSound(SFX_RADIO, 0); else S_LocalSound(SFX_TINK, 0); #elif __JDOOM64__ S_LocalSound(SFX_RADIO, 0); #endif }
void MS_Handle_Content(struct menu_ct *content) { if (resizing || moving || popup_active || scrolling) return; if (!content) { return; } if (content->type != 2 && content->subtype != 3) { if (content->update_function) { content->update_function(content); } } if (content->type == 2) MS_Handle_Content_Button(content); if (content->type == 3) MS_Handle_Content_Slider(content); if (content->type == 4) MS_Handle_Content_Editbox(content); if (!kdmb1 && keydown[K_MOUSE1]) S_LocalSound ("misc/menu1.wav"); }
int LineEditWidget::handleCommand(menucommand_e cmd) { if(cmd == MCMD_SELECT) { if(!isActive()) { S_LocalSound(SFX_MENU_CYCLE, NULL); setFlags(Active); // Store a copy of the present text value so we can restore it. d->oldText = d->text; execAction(Activated); } else { S_LocalSound(SFX_MENU_ACCEPT, NULL); d->oldText = d->text; setFlags(Active, UnsetFlags); execAction(Deactivated); } return true; } if(isActive()) { switch(cmd) { case MCMD_NAV_OUT: d->text = d->oldText; setFlags(Active, UnsetFlags); execAction(Closed); return true; // Eat all other navigation commands, when active. case MCMD_NAV_LEFT: case MCMD_NAV_RIGHT: case MCMD_NAV_DOWN: case MCMD_NAV_UP: case MCMD_NAV_PAGEDOWN: case MCMD_NAV_PAGEUP: return true; default: break; } } return false; // Not eaten. }
static void VR_MenuKey(int key) { switch ( key ) { case K_ESCAPE: VID_SyncCvars(); // sync cvars before leaving menu. FIXME: there are other ways to leave menu S_LocalSound( "misc/menu1.wav" ); M_Menu_Options_f(); break; case K_UPARROW: S_LocalSound( "misc/menu1.wav" ); vr_options_cursor--; if ( vr_options_cursor < 0 ) { vr_options_cursor = VR_OPTION_MAX - 1; } break; case K_DOWNARROW: S_LocalSound( "misc/menu1.wav" ); vr_options_cursor++; if ( vr_options_cursor >= VR_OPTION_MAX ) { vr_options_cursor = 0; } break; case K_LEFTARROW: S_LocalSound ("misc/menu3.wav"); VR_MenuKeyOption( key, vr_options_cursor ); break; case K_RIGHTARROW: S_LocalSound ("misc/menu3.wav"); VR_MenuKeyOption( key, vr_options_cursor ); break; case K_ENTER: m_entersound = true; VR_MenuKeyOption( key, vr_options_cursor ); break; default: break; } }
/* ================== NQD_ParsePrint ================== */ static void NQD_ParsePrint (void) { extern cvar_t cl_chatsound; char *s = MSG_ReadString(); if (s[0] == 1) { // chat if (cl_chatsound.value) S_LocalSound ("misc/talk.wav"); } Com_Printf ("%s", s); }
void MOpt_CfgSaveAllOn(void) { S_LocalSound("misc/basekey.wav"); Cvar_SetValue(&cfg_backup, 1); Cvar_SetValue(&cfg_legacy_exec, 1); Cvar_SetValue(&cfg_save_aliases, 1); Cvar_SetValue(&cfg_save_binds, 1); Cvar_SetValue(&cfg_save_cmdline, 1); Cvar_SetValue(&cfg_save_cmds, 1); Cvar_SetValue(&cfg_save_cvars, 1); Cvar_SetValue(&cfg_save_unchanged, 1); Cvar_SetValue(&cfg_save_userinfo, 2); }
int CCmdViewSize(int argc, char **argv) { int min = 3, max = 11, *val = &screenblocks; if(argc != 2) { Con_Printf("Usage: %s (size)\n", argv[0]); Con_Printf("Size can be: +, -, (num).\n"); return true; } if(!stricmp(argv[0], "sbsize")) { min = 1; max = 20; val = &cfg.sbarscale; } if(!stricmp(argv[1], "+")) { (*val)++; S_LocalSound(sfx_stnmov, NULL); } else if(!stricmp(argv[1], "-")) { (*val)--; S_LocalSound(sfx_stnmov, NULL); } else *val = strtol(argv[1], NULL, 0); if(*val < min) *val = min; if(*val > max) *val = max; // Update the view size if necessary. R_SetViewSize(screenblocks, 0); return true; }
int InlineListWidget::handleCommand(menucommand_e cmd) { switch(cmd) { case MCMD_SELECT: // Treat as @c MCMD_NAV_RIGHT case MCMD_NAV_LEFT: case MCMD_NAV_RIGHT: { int oldSelection = selection(); if(MCMD_NAV_LEFT == cmd) { if(selection() > 0) selectItem(selection() - 1); else selectItem(itemCount() - 1); } else { if(selection() < itemCount() - 1) selectItem(selection() + 1); else selectItem(0); } updateVisibleSelection(); if(oldSelection != selection()) { S_LocalSound(SFX_MENU_SLIDER_MOVE, NULL); execAction(Modified); } return true; } default: return false; // Not eaten. } }
void IN_DrawSingleStats(void) { #define TRACKING (1) static int sounds; char buf[20]; DGL_Enable(DGL_TEXTURE_2D); FR_SetFont(FID(GF_FONTB)); FR_LoadDefaultAttrib(); FR_SetColorAndAlpha(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); FR_DrawTextXY3("KILLS", 50, 65, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_DrawTextXY3("ITEMS", 50, 90, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_DrawTextXY3("SECRETS", 50, 115, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_DrawTextXY3(P_GetShortMapName(wbs->episode, wbs->currentMap), 160, 3, ALIGN_TOP, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTA)); FR_SetColor(defFontRGB3[0], defFontRGB3[1], defFontRGB3[2]); FR_DrawTextXY3("FINISHED", 160, 25, ALIGN_TOP, DTF_ONLY_SHADOW); DGL_Disable(DGL_TEXTURE_2D); if(interTime < 30) { sounds = 0; return; } if(sounds < 1 && interTime >= 30) { S_LocalSound(SFX_DORCLS, NULL); sounds++; } DGL_Enable(DGL_TEXTURE_2D); dd_snprintf(buf, 20, "%i", players[CONSOLEPLAYER].killCount); FR_SetFont(FID(GF_FONTB)); FR_SetTracking(TRACKING); M_DrawTextFragmentShadowed(buf, 236, 65, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); M_DrawTextFragmentShadowed("/", 241, 65, ALIGN_TOPLEFT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); dd_snprintf(buf, 20, "%i", totalKills); M_DrawTextFragmentShadowed(buf, 284, 65, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); DGL_Disable(DGL_TEXTURE_2D); if(interTime < 60) return; if(sounds < 2 && interTime >= 60) { S_LocalSound(SFX_DORCLS, NULL); sounds++; } DGL_Enable(DGL_TEXTURE_2D); dd_snprintf(buf, 20, "%i", players[CONSOLEPLAYER].itemCount); FR_SetFont(FID(GF_FONTB)); M_DrawTextFragmentShadowed(buf, 236, 90, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); M_DrawTextFragmentShadowed("/", 241, 90, ALIGN_TOPLEFT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); dd_snprintf(buf, 20, "%i", totalItems); M_DrawTextFragmentShadowed(buf, 284, 90, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); DGL_Disable(DGL_TEXTURE_2D); if(interTime < 90) return; if(sounds < 3 && interTime >= 90) { S_LocalSound(SFX_DORCLS, NULL); sounds++; } DGL_Enable(DGL_TEXTURE_2D); dd_snprintf(buf, 20, "%i", players[CONSOLEPLAYER].secretCount); FR_SetFont(FID(GF_FONTB)); M_DrawTextFragmentShadowed(buf, 236, 115, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); M_DrawTextFragmentShadowed("/", 241, 115, ALIGN_TOPLEFT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); dd_snprintf(buf, 20, "%i", totalSecret); M_DrawTextFragmentShadowed(buf, 284, 115, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); DGL_Disable(DGL_TEXTURE_2D); if(interTime < 150) { return; } if(sounds < 4 && interTime >= 150) { S_LocalSound(SFX_DORCLS, NULL); sounds++; } if(gameMode != heretic_extended || wbs->episode < 3) { DGL_Enable(DGL_TEXTURE_2D); FR_SetFont(FID(GF_FONTB)); FR_SetColorAndAlpha(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); FR_DrawTextXY3("TIME", 85, 160, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); IN_DrawTime(284, 160, hours, minutes, seconds, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); DGL_Disable(DGL_TEXTURE_2D); } else { DGL_Enable(DGL_TEXTURE_2D); FR_SetFont(FID(GF_FONTA)); FR_SetColorAndAlpha(defFontRGB3[0], defFontRGB3[1], defFontRGB3[2], 1); FR_DrawTextXY3("NOW ENTERING:", SCREENWIDTH/2, 160, ALIGN_TOP, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTB)); FR_SetColorAndAlpha(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); FR_DrawTextXY3(P_GetShortMapName(wbs->episode, wbs->nextMap), 160, 170, ALIGN_TOP, DTF_ONLY_SHADOW); DGL_Disable(DGL_TEXTURE_2D); skipIntermission = false; } #undef TRACKING }
//Find and execute sound triggers. A sound trigger must be terminated by either a CR or LF. //Returns true if a sound was found and played qbool TP_CheckSoundTrigger (wchar *wstr) { char *str; int i, j, start, length; char soundname[MAX_OSPATH]; #ifndef WITH_FTE_VFS FILE *f; #else vfsfile_t *v; #endif str = wcs2str (wstr); if (!*str) return false; if (!tp_soundtrigger.string[0]) return false; for (i = strlen (str) - 1; i; i--) { if (str[i] != 0x0A && str[i] != 0x0D) continue; for (j = i - 1; j >= 0; j--) { // quick check for chars that cannot be used // as sound triggers but might be part of a file name if (isalnum((unsigned char)str[j])) continue; // file name or chat if (strchr(tp_soundtrigger.string, str[j])) { // this might be a sound trigger start = j + 1; length = i - start; if (!length) break; if (length >= MAX_QPATH) break; strlcpy (soundname, str + start, length + 1); if (strstr(soundname, "..")) break; // no thank you // clean up the message strcpy (str + j, str + i); qwcscpy (wstr + j, wstr + i); if (!snd_initialized) return false; COM_DefaultExtension (soundname, ".wav"); // make sure we have it on disk (FIXME) #ifndef WITH_FTE_VFS FS_FOpenFile (va("sound/%s", soundname), &f); if (!f) return false; fclose (f); #else if (!(v = FS_OpenVFS(va("sound/%s", soundname), "rb", FS_ANY))) return false; VFS_CLOSE(v); #endif // now play the sound S_LocalSound (soundname); return true; } if (str[j] == '\\') str[j] = '/'; if (str[j] <= ' ' || strchr("\"&'*,:;<>?\\|\x7f", str[j])) break; // we don't allow these in a file name } } return false; }
/* ================ VID_MenuKey ================ */ void VID_MenuKey (int key) { if (vid_testingmode) return; switch (key) { case K_ESCAPE: S_LocalSound ("misc/menu1.wav"); M_Menu_Options_f (); break; case K_UPARROW: S_LocalSound ("misc/menu1.wav"); vid_line--; if (vid_line < 0) vid_line = vid_wmodes - 1; break; case K_DOWNARROW: S_LocalSound ("misc/menu1.wav"); vid_line++; if (vid_line >= vid_wmodes) vid_line = 0; break; case K_LEFTARROW: S_LocalSound ("misc/menu1.wav"); vid_line -= vid_column_size; if (vid_line < 0) { vid_line += ((vid_wmodes + (vid_column_size - 1)) / vid_column_size) * vid_column_size; while (vid_line >= vid_wmodes) vid_line -= vid_column_size; } break; case K_RIGHTARROW: S_LocalSound ("misc/menu1.wav"); vid_line += vid_column_size; if (vid_line >= vid_wmodes) { vid_line -= ((vid_wmodes + (vid_column_size - 1)) / vid_column_size) * vid_column_size; while (vid_line < 0) vid_line += vid_column_size; } break; case K_ENTER: S_LocalSound ("misc/menu1.wav"); VID_SetMode (modedescs[vid_line].modenum, vid_current_palette); break; case 'T': case 't': S_LocalSound ("misc/menu1.wav"); if (VID_SetMode (modedescs[vid_line].modenum, vid_current_palette)) { vid_testingmode = 1; vid_testendtime = realtime + 5.0; } break; case 'D': case 'd': S_LocalSound ("misc/menu1.wav"); firstupdate = 0; Cvar_SetValue (_vid_default_mode, vid_modenum); break; default: break; } }
static void updateNetgameStats(void) { boolean stillTicking; int i, fsum; if(advanceState && ngState != 10) { advanceState = false; for(i = 0; i < NUMTEAMS; ++i) { cntKills[i] = (teamInfo[i].kills * 100) / wbs->maxKills; cntItems[i] = (teamInfo[i].items * 100) / wbs->maxItems; cntSecret[i] = (teamInfo[i].secret * 100) / wbs->maxSecret; if(doFrags) cntFrags[i] = teamInfo[i].totalFrags; } S_LocalSound(SFX_BAREXP, 0); ngState = 10; } if(ngState == 2) { if(!(backgroundAnimCounter & 3)) S_LocalSound(SFX_PISTOL, 0); stillTicking = false; for(i = 0; i < NUMTEAMS; ++i) { cntKills[i] += 2; if(cntKills[i] >= (teamInfo[i].kills * 100) / wbs->maxKills) cntKills[i] = (teamInfo[i].kills * 100) / wbs->maxKills; else stillTicking = true; } if(!stillTicking) { S_LocalSound(SFX_BAREXP, 0); ngState++; } } else if(ngState == 4) { if(!(backgroundAnimCounter & 3)) S_LocalSound(SFX_PISTOL, 0); stillTicking = false; for(i = 0; i < NUMTEAMS; ++i) { cntItems[i] += 2; if(cntItems[i] >= (teamInfo[i].items * 100) / wbs->maxItems) cntItems[i] = (teamInfo[i].items * 100) / wbs->maxItems; else stillTicking = true; } if(!stillTicking) { S_LocalSound(SFX_BAREXP, 0); ngState++; } } else if(ngState == 6) { if(!(backgroundAnimCounter & 3)) S_LocalSound(SFX_PISTOL, 0); stillTicking = false; for(i = 0; i < NUMTEAMS; ++i) { cntSecret[i] += 2; if(cntSecret[i] >= (teamInfo[i].secret * 100) / wbs->maxSecret) cntSecret[i] = (teamInfo[i].secret * 100) / wbs->maxSecret; else stillTicking = true; } if(!stillTicking) { S_LocalSound(SFX_BAREXP, 0); ngState += 1 + 2 * !doFrags; } } else if(ngState == 8) { if(!(backgroundAnimCounter & 3)) S_LocalSound(SFX_PISTOL, 0); stillTicking = false; for(i = 0; i < NUMTEAMS; ++i) { cntFrags[i] += 1; fsum = teamInfo[i].totalFrags; if(cntFrags[i] >= fsum) cntFrags[i] = fsum; else stillTicking = true; } if(!stillTicking) { S_LocalSound(SFX_PLDETH, 0); ngState++; } } else if(ngState == 10) { if(advanceState) { S_LocalSound(SFX_SGCOCK, 0); if(gameModeBits & GM_ANY_DOOM2) initNoState(); else initShowNextMap(); } } else if(ngState & 1) { if(!--cntPause) { ngState++; cntPause = TICRATE; } } }
/* ================ VID_MenuKey ================ */ static void VID_MenuKey (int key) { switch (key) { case K_ESCAPE: vid_cursor = (num_fmodes) ? 0 : VID_RESOLUTION; M_Menu_Options_f (); return; case K_ENTER: switch (vid_cursor) { case VID_RESET: vid_menu_fs = (modestate != MS_WINDOWED); vid_menunum = vid_modenum; vid_cursor = (num_fmodes) ? 0 : VID_RESOLUTION; break; case VID_APPLY: if (need_apply) { Cvar_SetValue("vid_mode", vid_menunum); Cvar_SetValue("vid_config_fscr", vid_menu_fs); VID_Restart_f(); } vid_cursor = (num_fmodes) ? 0 : VID_RESOLUTION; break; } return; case K_LEFTARROW: switch (vid_cursor) { case VID_FULLSCREEN: vid_menu_fs = !vid_menu_fs; if (fs_toggle_works) VID_ToggleFullscreen(); break; case VID_RESOLUTION: S_LocalSound ("raven/menu1.wav"); vid_menunum--; if (vid_menunum < 0) vid_menunum = 0; break; } return; case K_RIGHTARROW: switch (vid_cursor) { case VID_FULLSCREEN: vid_menu_fs = !vid_menu_fs; if (fs_toggle_works) VID_ToggleFullscreen(); break; case VID_RESOLUTION: S_LocalSound ("raven/menu1.wav"); vid_menunum++; if (vid_menunum >= *nummodes) vid_menunum = *nummodes - 1; break; } return; case K_UPARROW: S_LocalSound ("raven/menu1.wav"); vid_cursor--; if (vid_cursor < 0) { vid_cursor = (need_apply) ? VID_ITEMS-1 : VID_BLANKLINE-1; } else if (vid_cursor == VID_BLANKLINE) { vid_cursor--; } break; case K_DOWNARROW: S_LocalSound ("raven/menu1.wav"); vid_cursor++; if (vid_cursor >= VID_ITEMS) { vid_cursor = (num_fmodes) ? 0 : VID_RESOLUTION; break; } if (vid_cursor >= VID_BLANKLINE) { if (need_apply) { if (vid_cursor == VID_BLANKLINE) vid_cursor++; } else { vid_cursor = (num_fmodes) ? 0 : VID_RESOLUTION; } } break; default: return; } }
void WI_updateDeathmatchStats(void) { int i; int j; boolean stillticking; WI_updateAnimatedBack(); if(acceleratestage && dm_state != 4) { acceleratestage = 0; for(i = 0; i < NUM_TEAMS; i++) { // if(teaminfo[i].members) // { for(j = 0; j < NUM_TEAMS; j++) { // if (players[i].plr->ingame) dm_frags[i][j] = teaminfo[i].frags[j]; } dm_totals[i] = WI_fragSum(i); // } } S_LocalSound(sfx_barexp, 0); dm_state = 4; } if(dm_state == 2) { if(!(bcnt & 3)) S_LocalSound(sfx_pistol, 0); stillticking = false; for(i = 0; i < NUM_TEAMS; i++) { // if (players[i].plr->ingame) { for(j = 0; j < NUM_TEAMS; j++) { if( /*players[i].plr->ingame && */ dm_frags[i][j] != teaminfo[i].frags[j]) { if(teaminfo[i].frags[j] < 0) dm_frags[i][j]--; else dm_frags[i][j]++; if(dm_frags[i][j] > 99) dm_frags[i][j] = 99; if(dm_frags[i][j] < -99) dm_frags[i][j] = -99; stillticking = true; } } dm_totals[i] = WI_fragSum(i); if(dm_totals[i] > 99) dm_totals[i] = 99; if(dm_totals[i] < -99) dm_totals[i] = -99; } } if(!stillticking) { S_LocalSound(sfx_barexp, 0); dm_state++; } } else if(dm_state == 4) { if(acceleratestage) { S_LocalSound(sfx_slop, 0); if(gamemode == commercial) WI_initNoState(); else WI_initShowNextLoc(); } } else if(dm_state & 1) { if(!--cnt_pause) { dm_state++; cnt_pause = TICRATE; } } }
static void updateDeathmatchStats(void) { int i, j; boolean stillTicking; if(advanceState && dmState != 4) { advanceState = false; for(i = 0; i < NUMTEAMS; ++i) { for(j = 0; j < NUMTEAMS; ++j) { dmFrags[i][j] = teamInfo[i].frags[j]; } dmTotals[i] = teamInfo[i].totalFrags; } S_LocalSound(SFX_BAREXP, 0); dmState = 4; } if(dmState == 2) { if(!(backgroundAnimCounter & 3)) S_LocalSound(SFX_PISTOL, 0); stillTicking = false; for(i = 0; i < NUMTEAMS; ++i) { for(j = 0; j < NUMTEAMS; ++j) { if(dmFrags[i][j] != teamInfo[i].frags[j]) { if(teamInfo[i].frags[j] < 0) dmFrags[i][j]--; else dmFrags[i][j]++; if(dmFrags[i][j] > 99) dmFrags[i][j] = 99; if(dmFrags[i][j] < -99) dmFrags[i][j] = -99; stillTicking = true; } } dmTotals[i] = teamInfo[i].totalFrags; if(dmTotals[i] > 99) dmTotals[i] = 99; if(dmTotals[i] < -99) dmTotals[i] = -99; } if(!stillTicking) { S_LocalSound(SFX_BAREXP, 0); dmState++; } } else if(dmState == 4) { if(advanceState) { S_LocalSound(SFX_SLOP, 0); if(gameModeBits & GM_ANY_DOOM2) initNoState(); else initShowNextMap(); } } else if(dmState & 1) { if(!--cntPause) { dmState++; cntPause = TICRATE; } } }
void MOpt_SaveCfg(void) { S_LocalSound("doors/runeuse.wav"); Cbuf_AddText("cfg_save\n"); }
void WI_updateNetgameStats(void) { int i; int fsum; boolean stillticking; WI_updateAnimatedBack(); if(acceleratestage && ng_state != 10) { acceleratestage = 0; for(i = 0; i < NUM_TEAMS; i++) { //if (!players[i].plr->ingame) continue; cnt_kills[i] = (teaminfo[i].kills * 100) / wbs->maxkills; cnt_items[i] = (teaminfo[i].items * 100) / wbs->maxitems; cnt_secret[i] = (teaminfo[i].secret * 100) / wbs->maxsecret; if(dofrags) cnt_frags[i] = teaminfo[i].totalfrags; //WI_fragSum(i); } S_LocalSound(sfx_barexp, 0); ng_state = 10; } if(ng_state == 2) { if(!(bcnt & 3)) S_LocalSound(sfx_pistol, 0); stillticking = false; for(i = 0; i < NUM_TEAMS; i++) { //if (!players[i].plr->ingame) continue; cnt_kills[i] += 2; if(cnt_kills[i] >= (teaminfo[i].kills * 100) / wbs->maxkills) cnt_kills[i] = (teaminfo[i].kills * 100) / wbs->maxkills; else stillticking = true; } if(!stillticking) { S_LocalSound(sfx_barexp, 0); ng_state++; } } else if(ng_state == 4) { if(!(bcnt & 3)) S_LocalSound(sfx_pistol, 0); stillticking = false; for(i = 0; i < NUM_TEAMS; i++) { //if (!players[i].plr->ingame) continue; cnt_items[i] += 2; if(cnt_items[i] >= (teaminfo[i].items * 100) / wbs->maxitems) cnt_items[i] = (teaminfo[i].items * 100) / wbs->maxitems; else stillticking = true; } if(!stillticking) { S_LocalSound(sfx_barexp, 0); ng_state++; } } else if(ng_state == 6) { if(!(bcnt & 3)) S_LocalSound(sfx_pistol, 0); stillticking = false; for(i = 0; i < NUM_TEAMS; i++) { //if (!players[i].plr->ingame) continue; cnt_secret[i] += 2; if(cnt_secret[i] >= (teaminfo[i].secret * 100) / wbs->maxsecret) cnt_secret[i] = (teaminfo[i].secret * 100) / wbs->maxsecret; else stillticking = true; } if(!stillticking) { S_LocalSound(sfx_barexp, 0); ng_state += 1 + 2 * !dofrags; } } else if(ng_state == 8) { if(!(bcnt & 3)) S_LocalSound(sfx_pistol, 0); stillticking = false; for(i = 0; i < NUM_TEAMS; i++) { //if (!players[i].plr->ingame) continue; cnt_frags[i] += 1; if(cnt_frags[i] >= (fsum = WI_fragSum(i))) cnt_frags[i] = fsum; else stillticking = true; } if(!stillticking) { S_LocalSound(sfx_pldeth, 0); ng_state++; } } else if(ng_state == 10) { if(acceleratestage) { S_LocalSound(sfx_sgcock, 0); if(gamemode == commercial) WI_initNoState(); else WI_initShowNextLoc(); } } else if(ng_state & 1) { if(!--cnt_pause) { ng_state++; cnt_pause = TICRATE; } } }
void IN_Drawer(void) { static int oldInterState; dgl_borderedprojectionstate_t bp; if(!intermission || interState > 3) { return; } if(interState == 3) { return; } if(oldInterState != 2 && interState == 2) { S_LocalSound(SFX_PSTOP, NULL); } if(interState != -1) oldInterState = interState; GL_ConfigureBorderedProjection(&bp, BPF_OVERDRAW_MASK|BPF_OVERDRAW_CLIP, SCREENWIDTH, SCREENHEIGHT, Get(DD_WINDOW_WIDTH), Get(DD_WINDOW_HEIGHT), cfg.inludeScaleMode); GL_BeginBorderedProjection(&bp); switch(interState) { case -1: case 0: // Draw stats. IN_DrawStatBack(); switch(gameType) { case SINGLE: IN_DrawSingleStats(); break; case COOPERATIVE: IN_DrawCoopStats(); break; case DEATHMATCH: IN_DrawDMStats(); break; } break; case 1: // Leaving old level. if(wbs->episode < 3) { DGL_Enable(DGL_TEXTURE_2D); DGL_Color4f(1, 1, 1, 1); GL_DrawPatchXY(dpInterPic, 0, 0); DGL_Disable(DGL_TEXTURE_2D); IN_DrawOldLevel(); } break; case 2: // Going to the next level. if(wbs->episode < 3) { DGL_Enable(DGL_TEXTURE_2D); DGL_Color4f(1, 1, 1, 1); GL_DrawPatchXY(dpInterPic, 0, 0); IN_DrawYAH(); DGL_Disable(DGL_TEXTURE_2D); } break; case 3: // Waiting before going to the next level. if(wbs->episode < 3) { DGL_Enable(DGL_TEXTURE_2D); DGL_Color4f(1, 1, 1, 1); GL_DrawPatchXY(dpInterPic, 0, 0); DGL_Disable(DGL_TEXTURE_2D); } break; default: Con_Error("IN_lude: Intermission state out of range.\n"); break; } GL_EndBorderedProjection(&bp); }
void WI_updateStats(void) { WI_updateAnimatedBack(); if(acceleratestage && sp_state != 10) { acceleratestage = 0; cnt_kills[0] = (plrs[me].skills * 100) / wbs->maxkills; cnt_items[0] = (plrs[me].sitems * 100) / wbs->maxitems; cnt_secret[0] = (plrs[me].ssecret * 100) / wbs->maxsecret; cnt_time = plrs[me].stime / TICRATE; cnt_par = wbs->partime / TICRATE; S_LocalSound(sfx_barexp, 0); sp_state = 10; } if(sp_state == 2) { cnt_kills[0] += 2; if(!(bcnt & 3)) S_LocalSound(sfx_pistol, 0); if(cnt_kills[0] >= (plrs[me].skills * 100) / wbs->maxkills) { cnt_kills[0] = (plrs[me].skills * 100) / wbs->maxkills; S_LocalSound(sfx_barexp, 0); sp_state++; } } else if(sp_state == 4) { cnt_items[0] += 2; if(!(bcnt & 3)) S_LocalSound(sfx_pistol, 0); if(cnt_items[0] >= (plrs[me].sitems * 100) / wbs->maxitems) { cnt_items[0] = (plrs[me].sitems * 100) / wbs->maxitems; S_LocalSound(sfx_barexp, 0); sp_state++; } } else if(sp_state == 6) { cnt_secret[0] += 2; if(!(bcnt & 3)) S_LocalSound(sfx_pistol, 0); if(cnt_secret[0] >= (plrs[me].ssecret * 100) / wbs->maxsecret) { cnt_secret[0] = (plrs[me].ssecret * 100) / wbs->maxsecret; S_LocalSound(sfx_barexp, 0); sp_state++; } } else if(sp_state == 8) { if(!(bcnt & 3)) S_LocalSound(sfx_pistol, 0); cnt_time += 3; if(cnt_time >= plrs[me].stime / TICRATE) cnt_time = plrs[me].stime / TICRATE; cnt_par += 3; if(cnt_par >= wbs->partime / TICRATE) { cnt_par = wbs->partime / TICRATE; if(cnt_time >= plrs[me].stime / TICRATE) { S_LocalSound(sfx_barexp, 0); sp_state++; } } } else if(sp_state == 10) { if(acceleratestage) { S_LocalSound(sfx_sgcock, 0); if(gamemode == commercial) WI_initNoState(); else WI_initShowNextLoc(); } } else if(sp_state & 1) { if(!--cnt_pause) { sp_state++; cnt_pause = TICRATE; } } }
void MOpt_LoadCfg(void) { S_LocalSound("misc/basekey.wav"); Cbuf_AddText("cfg_load\n"); }
void IN_DrawCoopStats(void) { #define TRACKING (1) static int sounds; int i, ypos; DGL_Enable(DGL_TEXTURE_2D); FR_SetFont(FID(GF_FONTB)); FR_LoadDefaultAttrib(); FR_SetColorAndAlpha(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); FR_DrawTextXY3("KILLS", 95, 35, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_DrawTextXY3("BONUS", 155, 35, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_DrawTextXY3("SECRET", 232, 35, ALIGN_TOPLEFT, DTF_ONLY_SHADOW); FR_DrawTextXY3(P_GetShortMapName(wbs->episode, wbs->currentMap), SCREENWIDTH/2, 3, ALIGN_TOP, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTA)); FR_SetColor(defFontRGB3[0], defFontRGB3[1], defFontRGB3[2]); FR_DrawTextXY3("FINISHED", SCREENWIDTH/2, 25, ALIGN_TOP, DTF_ONLY_SHADOW); FR_SetFont(FID(GF_FONTB)); FR_SetTracking(TRACKING); ypos = 50; for(i = 0; i < NUMTEAMS; ++i) { if(teamInfo[i].members) { char buf[20]; DGL_Color4f(0, 0, 0, .4f); GL_DrawPatchXY(dpFaceAlive[i], 27, ypos+2); DGL_Color4f(defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); GL_DrawPatchXY(dpFaceAlive[i], 25, ypos); if(interTime < 40) { sounds = 0; ypos += 37; continue; } else if(interTime >= 40 && sounds < 1) { S_LocalSound(SFX_DORCLS, NULL); sounds++; } dd_snprintf(buf, 20, "%i", killPercent[i]); M_DrawTextFragmentShadowed(buf, 121, ypos + 10, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); M_DrawTextFragmentShadowed("%", 121, ypos + 10, ALIGN_TOPLEFT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); dd_snprintf(buf, 20, "%i", bonusPercent[i]); M_DrawTextFragmentShadowed(buf, 196, ypos + 10, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); M_DrawTextFragmentShadowed("%", 196, ypos + 10, ALIGN_TOPLEFT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); dd_snprintf(buf, 20, "%i", secretPercent[i]); M_DrawTextFragmentShadowed(buf, 273, ypos + 10, ALIGN_TOPRIGHT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); M_DrawTextFragmentShadowed("%", 273, ypos + 10, ALIGN_TOPLEFT, 0, defFontRGB[0], defFontRGB[1], defFontRGB[2], 1); ypos += 37; } } DGL_Disable(DGL_TEXTURE_2D); #undef TRACKING }
/* ================ VID_MenuKey ================ */ static void VID_MenuKey (int key) { switch (key) { case K_ESCAPE: VID_SyncCvars (); //sync cvars before leaving menu. FIXME: there are other ways to leave menu S_LocalSound ("misc/menu1.wav"); M_Menu_Options_f (); break; case K_UPARROW: S_LocalSound ("misc/menu1.wav"); video_options_cursor--; if (video_options_cursor < 0) video_options_cursor = VIDEO_OPTIONS_ITEMS-1; break; case K_DOWNARROW: S_LocalSound ("misc/menu1.wav"); video_options_cursor++; if (video_options_cursor >= VIDEO_OPTIONS_ITEMS) video_options_cursor = 0; break; case K_LEFTARROW: S_LocalSound ("misc/menu3.wav"); switch (video_options_cursor) { case VID_OPT_MODE: VID_Menu_ChooseNextMode (1); break; case VID_OPT_BPP: VID_Menu_ChooseNextBpp (1); break; case VID_OPT_FULLSCREEN: Cbuf_AddText ("toggle vid_fullscreen\n"); break; case VID_OPT_VSYNC: Cbuf_AddText ("toggle vid_vsync\n"); // kristian break; default: break; } break; case K_RIGHTARROW: S_LocalSound ("misc/menu3.wav"); switch (video_options_cursor) { case VID_OPT_MODE: VID_Menu_ChooseNextMode (-1); break; case VID_OPT_BPP: VID_Menu_ChooseNextBpp (-1); break; case VID_OPT_FULLSCREEN: Cbuf_AddText ("toggle vid_fullscreen\n"); break; case VID_OPT_VSYNC: Cbuf_AddText ("toggle vid_vsync\n"); break; default: break; } break; case K_ENTER: m_entersound = true; switch (video_options_cursor) { case VID_OPT_MODE: VID_Menu_ChooseNextMode (1); break; case VID_OPT_BPP: VID_Menu_ChooseNextBpp (1); break; case VID_OPT_FULLSCREEN: Cbuf_AddText ("toggle vid_fullscreen\n"); break; case VID_OPT_VSYNC: Cbuf_AddText ("toggle vid_vsync\n"); break; case VID_OPT_TEST: Cbuf_AddText ("vid_test\n"); break; case VID_OPT_APPLY: Cbuf_AddText ("vid_restart\n"); key_dest = key_game; m_state = m_none; IN_Activate(); break; default: break; } break; default: break; } }
static void tickShowStats(void) { if(deathmatch) { updateDeathmatchStats(); return; } else if(IS_NETGAME) { updateNetgameStats(); return; } if(advanceState && spState != 10) { advanceState = false; cntKills[0] = (inPlayerInfo[inPlayerNum].kills * 100) / wbs->maxKills; cntItems[0] = (inPlayerInfo[inPlayerNum].items * 100) / wbs->maxItems; cntSecret[0] = (inPlayerInfo[inPlayerNum].secret * 100) / wbs->maxSecret; cntTime = inPlayerInfo[inPlayerNum].time; if(wbs->parTime != -1) cntPar = wbs->parTime; S_LocalSound(SFX_BAREXP, 0); spState = 10; } if(spState == 2) { cntKills[0] += 2; if(!(backgroundAnimCounter & 3)) S_LocalSound(SFX_PISTOL, 0); if(cntKills[0] >= (inPlayerInfo[inPlayerNum].kills * 100) / wbs->maxKills) { cntKills[0] = (inPlayerInfo[inPlayerNum].kills * 100) / wbs->maxKills; S_LocalSound(SFX_BAREXP, 0); spState++; } } else if(spState == 4) { cntItems[0] += 2; if(!(backgroundAnimCounter & 3)) S_LocalSound(SFX_PISTOL, 0); if(cntItems[0] >= (inPlayerInfo[inPlayerNum].items * 100) / wbs->maxItems) { cntItems[0] = (inPlayerInfo[inPlayerNum].items * 100) / wbs->maxItems; S_LocalSound(SFX_BAREXP, 0); spState++; } } else if(spState == 6) { cntSecret[0] += 2; if(!(backgroundAnimCounter & 3)) S_LocalSound(SFX_PISTOL, 0); if(cntSecret[0] >= (inPlayerInfo[inPlayerNum].secret * 100) / wbs->maxSecret) { cntSecret[0] = (inPlayerInfo[inPlayerNum].secret * 100) / wbs->maxSecret; S_LocalSound(SFX_BAREXP, 0); spState++; } } else if(spState == 8) { if(!(backgroundAnimCounter & 3)) S_LocalSound(SFX_PISTOL, 0); if(cntTime == -1) cntTime = 0; cntTime += TICRATE * 3; // Par time might not be defined so count up and stop on play time instead. if(cntTime >= inPlayerInfo[inPlayerNum].time) { cntTime = inPlayerInfo[inPlayerNum].time; cntPar = wbs->parTime; S_LocalSound(SFX_BAREXP, 0); spState++; } if(wbs->parTime != -1) { if(cntPar == -1) cntPar = 0; cntPar += TICRATE * 3; if(cntPar >= wbs->parTime) cntPar = wbs->parTime; } } else if(spState == 10) { if(advanceState) { S_LocalSound(SFX_SGCOCK, 0); if(gameModeBits & GM_ANY_DOOM2) initNoState(); else initShowNextMap(); } } else if(spState & 1) { if(!--cntPause) { spState++; cntPause = TICRATE; } } }