void BuildDispMenu(int iInc) { unsigned char nStatusSymbols[3] = {0x3D, 0x34, 0x3B}; int j = 0; int i = 0; if (!(ulKeybits&KEY_SHOWFPS)) return; // mmm, cheater ;) iMPos+=iInc; // up or down if (iMPos<0) iMPos=3; // wrap around if (iMPos>3) iMPos=0; strcpy(szMenuBuf," FL FS DI GF "); // main menu items if (UseFrameLimit) // set marks { if (iFrameLimit==1) szMenuBuf[2] = '+'; else szMenuBuf[2] = '*'; } if (iFastFwd) szMenuBuf[7] = '~'; else if (UseFrameSkip) szMenuBuf[7] = '*'; if (iUseDither) // set marks { if (iUseDither==1) szMenuBuf[12] = '+'; else szMenuBuf[12] = '*'; } if (dwActFixes) szMenuBuf[17] = '*'; sprintf( cCurrentLag,"%d", currentLag); if (modeFlags&MODE_FLAG_REPLAY) sprintf( cCurrentFrame,"%d / %d", currentFrame,totalFrames); else sprintf( cCurrentFrame,"%d", currentFrame); memset(cCurrentMode, 0, sizeof(cCurrentMode)); for (i = 0; i < 3; i++) { if (modeFlags & (1 << (i+1))) { cCurrentMode[j] = nStatusSymbols[i]; j++; } } cCurrentInput[0] = currentInput&0x80?' ':'<'; cCurrentInput[1] = currentInput&0x10?' ':'^'; cCurrentInput[2] = currentInput&0x20?' ':'>'; cCurrentInput[3] = currentInput&0x40?' ':'v'; cCurrentInput[4] = currentInput&0x8?' ':'S'; cCurrentInput[5] = currentInput&0x1?' ':'s'; cCurrentInput[6] = currentInput&0x8000?' ':19; cCurrentInput[7] = currentInput&0x4000?' ':'X'; cCurrentInput[8] = currentInput&0x2000?' ':'O'; cCurrentInput[9] = currentInput&0x1000?' ':'T'; cCurrentInput[10] = currentInput&0x400?' ':'L'; //l1 cCurrentInput[11] = currentInput&0x400?' ':'1'; //l1 cCurrentInput[12] = currentInput&0x800?' ':'R'; //r1 cCurrentInput[13] = currentInput&0x800?' ':'1'; //r1 cCurrentInput[14] = currentInput&0x100?' ':'L'; //l2 cCurrentInput[15] = currentInput&0x100?' ':'2'; //l2 cCurrentInput[16] = currentInput&0x200?' ':'R'; //r2 cCurrentInput[17] = currentInput&0x200?' ':'2'; //r2 cCurrentInput[18] = currentInput&0x800000?' ':'<'; cCurrentInput[19] = currentInput&0x100000?' ':'^'; cCurrentInput[20] = currentInput&0x200000?' ':'>'; cCurrentInput[21] = currentInput&0x400000?' ':'v'; cCurrentInput[22] = currentInput&0x80000?' ':'S'; cCurrentInput[23] = currentInput&0x10000?' ':'s'; cCurrentInput[24] = currentInput&0x80000000?' ':19; cCurrentInput[25] = currentInput&0x40000000?' ':'X'; cCurrentInput[26] = currentInput&0x20000000?' ':'O'; cCurrentInput[27] = currentInput&0x10000000?' ':'T'; cCurrentInput[28] = currentInput&0x4000000?' ':'L'; //l1 cCurrentInput[29] = currentInput&0x4000000?' ':'1'; //l1 cCurrentInput[30] = currentInput&0x8000000?' ':'R'; //r1 cCurrentInput[31] = currentInput&0x8000000?' ':'1'; //r1 cCurrentInput[32] = currentInput&0x1000000?' ':'L'; //l2 cCurrentInput[33] = currentInput&0x1000000?' ':'2'; //l2 cCurrentInput[34] = currentInput&0x2000000?' ':'R'; //r2 cCurrentInput[35] = currentInput&0x2000000?' ':'2'; //r2 if (dwCoreFlags&1) szMenuBuf[23] = 'A'; if (dwCoreFlags&2) szMenuBuf[23] = 'M'; if (dwCoreFlags&0xff00) //A/M/G/D { if ((dwCoreFlags&0x0f00)==0x0000) // D szMenuBuf[23] = 'D'; else if ((dwCoreFlags&0x0f00)==0x0100) // A szMenuBuf[23] = 'A'; else if ((dwCoreFlags&0x0f00)==0x0200) // M szMenuBuf[23] = 'M'; else if ((dwCoreFlags&0x0f00)==0x0300) // G szMenuBuf[23] = 'G'; szMenuBuf[24]='0'+(char)((dwCoreFlags&0xf000)>>12); // number } #ifdef _WINDOWS if (bVsync_Key) szMenuBuf[25] = 'V'; #endif if (lSelectedSlot) szMenuBuf[26] = '0'+(char)lSelectedSlot; szMenuBuf[(iMPos+1)*5]='<'; // set arrow #ifdef _WINDOWS if (RECORD_RECORDING) { szMenuBuf[27] = ' '; szMenuBuf[28] = ' '; szMenuBuf[29] = ' '; szMenuBuf[30] = 'R'; szMenuBuf[31] = 'e'; szMenuBuf[32] = 'c'; szMenuBuf[33] = 0; } if (DX.DDSScreenPic) ShowTextGpuPic(); #endif }
void BuildDispMenu(int iInc) { if(!(ulKeybits&KEY_SHOWFPS)) return; // mmm, cheater ;) iMPos+=iInc; // up or down if(iMPos<0) iMPos=3; // wrap around if(iMPos>3) iMPos=0; strcpy(szMenuBuf," FL FS DI GF "); // main menu items if(UseFrameLimit) // set marks { if(iFrameLimit==1) szMenuBuf[2] = '+'; else szMenuBuf[2] = '*'; } if(iFastFwd) szMenuBuf[7] = '~'; else if(UseFrameSkip) szMenuBuf[7] = '*'; if(iUseDither) // set marks { if(iUseDither==1) szMenuBuf[12] = '+'; else szMenuBuf[12] = '*'; } if(dwActFixes) szMenuBuf[17] = '*'; if(dwCoreFlags&1) szMenuBuf[23] = 'A'; if(dwCoreFlags&2) szMenuBuf[23] = 'M'; if(dwCoreFlags&0xff00) //A/M/G/D { if((dwCoreFlags&0x0f00)==0x0000) // D szMenuBuf[23] = 'D'; else if((dwCoreFlags&0x0f00)==0x0100) // A szMenuBuf[23] = 'A'; else if((dwCoreFlags&0x0f00)==0x0200) // M szMenuBuf[23] = 'M'; else if((dwCoreFlags&0x0f00)==0x0300) // G szMenuBuf[23] = 'G'; szMenuBuf[24]='0'+(char)((dwCoreFlags&0xf000)>>12); // number } #ifdef _WINDOWS if(bVsync_Key) szMenuBuf[25] = 'V'; #endif if(lSelectedSlot) szMenuBuf[26] = '0'+(char)lSelectedSlot; szMenuBuf[(iMPos+1)*5]='<'; // set arrow #ifdef _WINDOWS if(RECORD_RECORDING) { szMenuBuf[27] = ' '; szMenuBuf[28] = ' '; szMenuBuf[29] = ' '; szMenuBuf[30] = 'R'; szMenuBuf[31] = 'e'; szMenuBuf[32] = 'c'; szMenuBuf[33] = 0; } if(DX.DDSScreenPic) ShowTextGpuPic(); #endif }