From 54d65774790912a73e16a8c203471062a6de3d23 Mon Sep 17 00:00:00 2001 From: squall_leonhart69r Date: Fri, 29 Feb 2008 03:53:57 +0000 Subject: [PATCH] Removed file/folder --- src/win32/MainWnd.cpp | 1325 ----------------------------------------- 1 file changed, 1325 deletions(-) delete mode 100644 src/win32/MainWnd.cpp diff --git a/src/win32/MainWnd.cpp b/src/win32/MainWnd.cpp deleted file mode 100644 index 760d39ad..00000000 --- a/src/win32/MainWnd.cpp +++ /dev/null @@ -1,1325 +0,0 @@ -// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. -// Copyright (C) 1999-2003 Forgotten -// Copyright (C) 2005-2006 Forgotten and the VBA development team - -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2, or(at your option) -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software Foundation, -// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -// MainWnd.cpp : implementation file -// - -#include "stdafx.h" -#include "VBA.h" -#include "MainWnd.h" - -#include -#include - -#include "FileDlg.h" -#include "Reg.h" -#include "WinResUtil.h" -#include "Logging.h" -#include "../Brunni/common.h" -#include "../System.h" -#include "../AutoBuild.h" -#include "../cheatSearch.h" -#include "../agb/GBA.h" -#include "../Globals.h" -#include "../Flash.h" -#include "../Globals.h" -#include "../dmg/GB.h" -#include "../dmg/gbCheats.h" -#include "../dmg/gbGlobals.h" -#include "../RTC.h" -#include "../Sound.h" -#include "../Util.h" -#include "../agb/GBALink.h" - -#ifdef _DEBUG -#define new DEBUG_NEW -#undef THIS_FILE -static char THIS_FILE[] = __FILE__; -#endif - -extern void remoteCleanUp(); -extern int gbHardware; -//Brunni/ Routine that checks when the configuration file has been modified -void startCheckRoutine(char *fullFileName); - -///////////////////////////////////////////////////////////////////////////// -// MainWnd - -MainWnd::MainWnd() -{ - m_hAccelTable = NULL; - arrow = LoadCursor(NULL, IDC_ARROW); -} - -MainWnd::~MainWnd() -{ -} - - -BEGIN_MESSAGE_MAP(MainWnd, CWnd) - //{{AFX_MSG_MAP(MainWnd) - ON_WM_CLOSE() - ON_COMMAND(ID_HELP_ABOUT, OnHelpAbout) - ON_COMMAND(ID_HELP_FAQ, OnHelpFaq) - ON_COMMAND(ID_FILE_OPEN, OnFileOpen) - ON_WM_INITMENUPOPUP() - ON_COMMAND(ID_FILE_PAUSE, OnFilePause) - ON_UPDATE_COMMAND_UI(ID_FILE_PAUSE, OnUpdateFilePause) - ON_COMMAND(ID_FILE_RESET, OnFileReset) - ON_UPDATE_COMMAND_UI(ID_FILE_RESET, OnUpdateFileReset) - ON_UPDATE_COMMAND_UI(ID_FILE_RECENT_FREEZE, OnUpdateFileRecentFreeze) - ON_COMMAND(ID_FILE_RECENT_RESET, OnFileRecentReset) - ON_COMMAND(ID_FILE_RECENT_FREEZE, OnFileRecentFreeze) - ON_COMMAND(ID_FILE_EXIT, OnFileExit) - ON_COMMAND(ID_FILE_CLOSE, OnFileClose) - ON_UPDATE_COMMAND_UI(ID_FILE_CLOSE, OnUpdateFileClose) - ON_COMMAND(ID_FILE_OPENGAMEBOY, OnFileOpengameboy) - ON_COMMAND(ID_FILE_LOAD, OnFileLoad) - ON_UPDATE_COMMAND_UI(ID_FILE_LOAD, OnUpdateFileLoad) - ON_COMMAND(ID_FILE_SAVE, OnFileSave) - ON_UPDATE_COMMAND_UI(ID_FILE_SAVE, OnUpdateFileSave) - ON_COMMAND(ID_FILE_IMPORT_BATTERYFILE, OnFileImportBatteryfile) - ON_UPDATE_COMMAND_UI(ID_FILE_IMPORT_BATTERYFILE, OnUpdateFileImportBatteryfile) - ON_COMMAND(ID_FILE_IMPORT_GAMESHARKCODEFILE, OnFileImportGamesharkcodefile) - ON_UPDATE_COMMAND_UI(ID_FILE_IMPORT_GAMESHARKCODEFILE, OnUpdateFileImportGamesharkcodefile) - ON_COMMAND(ID_FILE_IMPORT_GAMESHARKSNAPSHOT, OnFileImportGamesharksnapshot) - ON_UPDATE_COMMAND_UI(ID_FILE_IMPORT_GAMESHARKSNAPSHOT, OnUpdateFileImportGamesharksnapshot) - ON_COMMAND(ID_FILE_EXPORT_BATTERYFILE, OnFileExportBatteryfile) - ON_UPDATE_COMMAND_UI(ID_FILE_EXPORT_BATTERYFILE, OnUpdateFileExportBatteryfile) - ON_COMMAND(ID_FILE_EXPORT_GAMESHARKSNAPSHOT, OnFileExportGamesharksnapshot) - ON_UPDATE_COMMAND_UI(ID_FILE_EXPORT_GAMESHARKSNAPSHOT, OnUpdateFileExportGamesharksnapshot) - ON_COMMAND(ID_FILE_SCREENCAPTURE, OnFileScreencapture) - ON_UPDATE_COMMAND_UI(ID_FILE_SCREENCAPTURE, OnUpdateFileScreencapture) - ON_COMMAND(ID_FILE_ROMINFORMATION, OnFileRominformation) - ON_UPDATE_COMMAND_UI(ID_FILE_ROMINFORMATION, OnUpdateFileRominformation) - ON_COMMAND(ID_FILE_TOGGLEMENU, OnFileTogglemenu) - ON_UPDATE_COMMAND_UI(ID_FILE_TOGGLEMENU, OnUpdateFileTogglemenu) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FRAMESKIP_THROTTLE_NOTHROTTLE, OnUpdateOptionsFrameskipThrottleNothrottle) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FRAMESKIP_THROTTLE_25, OnUpdateOptionsFrameskipThrottle25) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FRAMESKIP_THROTTLE_50, OnUpdateOptionsFrameskipThrottle50) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FRAMESKIP_THROTTLE_100, OnUpdateOptionsFrameskipThrottle100) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FRAMESKIP_THROTTLE_150, OnUpdateOptionsFrameskipThrottle150) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FRAMESKIP_THROTTLE_200, OnUpdateOptionsFrameskipThrottle200) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FRAMESKIP_THROTTLE_OTHER, OnUpdateOptionsFrameskipThrottleOther) - ON_COMMAND(ID_OPTIONS_FRAMESKIP_THROTTLE_NOTHROTTLE, OnOptionsFrameskipThrottleNothrottle) - ON_COMMAND(ID_OPTIONS_FRAMESKIP_THROTTLE_25, OnOptionsFrameskipThrottle25) - ON_COMMAND(ID_OPTIONS_FRAMESKIP_THROTTLE_50, OnOptionsFrameskipThrottle50) - ON_COMMAND(ID_OPTIONS_FRAMESKIP_THROTTLE_100, OnOptionsFrameskipThrottle100) - ON_COMMAND(ID_OPTIONS_FRAMESKIP_THROTTLE_150, OnOptionsFrameskipThrottle150) - ON_COMMAND(ID_OPTIONS_FRAMESKIP_THROTTLE_200, OnOptionsFrameskipThrottle200) - ON_COMMAND(ID_OPTIONS_FRAMESKIP_THROTTLE_OTHER, OnOptionsFrameskipThrottleOther) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FRAMESKIP_0, OnUpdateOptionsVideoFrameskip0) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FRAMESKIP_1, OnUpdateOptionsVideoFrameskip1) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FRAMESKIP_2, OnUpdateOptionsVideoFrameskip2) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FRAMESKIP_3, OnUpdateOptionsVideoFrameskip3) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FRAMESKIP_4, OnUpdateOptionsVideoFrameskip4) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FRAMESKIP_5, OnUpdateOptionsVideoFrameskip5) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FRAMESKIP_6, OnUpdateOptionsVideoFrameskip6) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FRAMESKIP_7, OnUpdateOptionsVideoFrameskip7) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FRAMESKIP_8, OnUpdateOptionsVideoFrameskip8) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FRAMESKIP_9, OnUpdateOptionsVideoFrameskip9) - ON_COMMAND(ID_OPTIONS_VIDEO_VSYNC, OnOptionsVideoVsync) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_VSYNC, OnUpdateOptionsVideoVsync) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_X1, OnUpdateOptionsVideoX1) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_X2, OnUpdateOptionsVideoX2) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_X3, OnUpdateOptionsVideoX3) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_X4, OnUpdateOptionsVideoX4) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FULLSCREEN320X240, OnUpdateOptionsVideoFullscreen320x240) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FULLSCREEN640X480, OnUpdateOptionsVideoFullscreen640x480) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FULLSCREEN800X600, OnUpdateOptionsVideoFullscreen800x600) - ON_COMMAND(ID_OPTIONS_VIDEO_FULLSCREEN320X240, OnOptionsVideoFullscreen320x240) - ON_COMMAND(ID_OPTIONS_VIDEO_FULLSCREEN640X480, OnOptionsVideoFullscreen640x480) - ON_COMMAND(ID_OPTIONS_VIDEO_FULLSCREEN800X600, OnOptionsVideoFullscreen800x600) - ON_COMMAND(ID_OPTIONS_VIDEO_FULLSCREEN, OnOptionsVideoFullscreen) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FULLSCREEN, OnUpdateOptionsVideoFullscreen) - ON_WM_MOVING() - ON_WM_MOVE() - ON_WM_SIZING() - ON_WM_SIZE() - ON_COMMAND(ID_OPTIONS_VIDEO_DISABLESFX, OnOptionsVideoDisablesfx) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_DISABLESFX, OnUpdateOptionsVideoDisablesfx) - ON_COMMAND(ID_OPTIONS_VIDEO_FULLSCREENSTRETCHTOFIT, OnOptionsVideoFullscreenstretchtofit) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FULLSCREENSTRETCHTOFIT, OnUpdateOptionsVideoFullscreenstretchtofit) - ON_COMMAND(ID_OPTIONS_VIDEO_RENDERMETHOD_DIRECT3D, OnOptionsVideoRendermethodDirect3d) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDERMETHOD_DIRECT3D, OnUpdateOptionsVideoRendermethodDirect3d) - ON_COMMAND(ID_OPTIONS_VIDEO_RENDERMETHOD_OPENGL, OnOptionsVideoRendermethodOpengl) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDERMETHOD_OPENGL, OnUpdateOptionsVideoRendermethodOpengl) - ON_COMMAND(ID_OPTIONS_VIDEO_TRIPLEBUFFERING, OnOptionsVideoTriplebuffering) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_TRIPLEBUFFERING, OnUpdateOptionsVideoTriplebuffering) - ON_COMMAND(ID_OPTIONS_VIDEO_RENDEROPTIONS_D3DNOFILTER, OnOptionsVideoRenderoptionsD3dnofilter) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDEROPTIONS_D3DNOFILTER, OnUpdateOptionsVideoRenderoptionsD3dnofilter) - ON_COMMAND(ID_OPTIONS_VIDEO_RENDEROPTIONS_D3DBILINEAR, OnOptionsVideoRenderoptionsD3dbilinear) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDEROPTIONS_D3DBILINEAR, OnUpdateOptionsVideoRenderoptionsD3dbilinear) - ON_COMMAND(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLNEAREST, OnOptionsVideoRenderoptionsGlnearest) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLNEAREST, OnUpdateOptionsVideoRenderoptionsGlnearest) - ON_COMMAND(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLBILINEAR, OnOptionsVideoRenderoptionsGlbilinear) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_RENDEROPTIONS_GLBILINEAR, OnUpdateOptionsVideoRenderoptionsGlbilinear) - - ON_WM_CONTEXTMENU() - ON_COMMAND(ID_OPTIONS_EMULATOR_ASSOCIATE, OnOptionsEmulatorAssociate) - ON_COMMAND(ID_OPTIONS_EMULATOR_DIRECTORIES, OnOptionsEmulatorDirectories) - ON_COMMAND(ID_OPTIONS_EMULATOR_DISABLESTATUSMESSAGES, OnOptionsEmulatorDisablestatusmessages) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_DISABLESTATUSMESSAGES, OnUpdateOptionsEmulatorDisablestatusmessages) - ON_COMMAND(ID_OPTIONS_EMULATOR_SYNCHRONIZE, OnOptionsEmulatorSynchronize) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_SYNCHRONIZE, OnUpdateOptionsEmulatorSynchronize) - ON_COMMAND(ID_OPTIONS_EMULATOR_PAUSEWHENINACTIVE, OnOptionsEmulatorPausewheninactive) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_PAUSEWHENINACTIVE, OnUpdateOptionsEmulatorPausewheninactive) - ON_COMMAND(ID_OPTIONS_EMULATOR_SPEEDUPTOGGLE, OnOptionsEmulatorSpeeduptoggle) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_SPEEDUPTOGGLE, OnUpdateOptionsEmulatorSpeeduptoggle) - ON_COMMAND(ID_OPTIONS_EMULATOR_AUTOMATICALLYIPSPATCH, OnOptionsEmulatorAutomaticallyipspatch) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_AUTOMATICALLYIPSPATCH, OnUpdateOptionsEmulatorAutomaticallyipspatch) - ON_COMMAND(ID_OPTIONS_EMULATOR_AGBPRINT, OnOptionsEmulatorAgbprint) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_AGBPRINT, OnUpdateOptionsEmulatorAgbprint) - ON_COMMAND(ID_OPTIONS_EMULATOR_REALTIMECLOCK, OnOptionsEmulatorRealtimeclock) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_REALTIMECLOCK, OnUpdateOptionsEmulatorRealtimeclock) - ON_COMMAND(ID_OPTIONS_EMULATOR_GENERICFLASHCARD, OnOptionsEmulatorGenericflashcard) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_GENERICFLASHCARD, OnUpdateOptionsEmulatorGenericflashcard) - ON_COMMAND(ID_OPTIONS_EMULATOR_REWINDINTERVAL, OnOptionsEmulatorRewindinterval) - ON_COMMAND(ID_OPTIONS_EMULATOR_SAVETYPE_AUTOMATIC, OnOptionsEmulatorSavetypeAutomatic) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_SAVETYPE_AUTOMATIC, OnUpdateOptionsEmulatorSavetypeAutomatic) - ON_COMMAND(ID_OPTIONS_EMULATOR_SAVETYPE_EEPROM, OnOptionsEmulatorSavetypeEeprom) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_SAVETYPE_EEPROM, OnUpdateOptionsEmulatorSavetypeEeprom) - ON_COMMAND(ID_OPTIONS_EMULATOR_SAVETYPE_SRAM, OnOptionsEmulatorSavetypeSram) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_SAVETYPE_SRAM, OnUpdateOptionsEmulatorSavetypeSram) - ON_COMMAND(ID_OPTIONS_EMULATOR_SAVETYPE_FLASH, OnOptionsEmulatorSavetypeFlash) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_SAVETYPE_FLASH, OnUpdateOptionsEmulatorSavetypeFlash) - ON_COMMAND(ID_OPTIONS_EMULATOR_SAVETYPE_EEPROMSENSOR, OnOptionsEmulatorSavetypeEepromsensor) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_SAVETYPE_EEPROMSENSOR, OnUpdateOptionsEmulatorSavetypeEepromsensor) - ON_COMMAND(ID_OPTIONS_EMULATOR_SAVETYPE_NONE, OnOptionsEmulatorSavetypeNone) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_SAVETYPE_NONE, OnUpdateOptionsEmulatorSavetypeNone) - ON_COMMAND(ID_OPTIONS_EMULATOR_SAVETYPE_FLASH512K, OnOptionsEmulatorSavetypeFlash512k) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_SAVETYPE_FLASH512K, OnUpdateOptionsEmulatorSavetypeFlash512k) - ON_COMMAND(ID_OPTIONS_EMULATOR_SAVETYPE_FLASH1M, OnOptionsEmulatorSavetypeFlash1m) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_SAVETYPE_FLASH1M, OnUpdateOptionsEmulatorSavetypeFlash1m) - ON_COMMAND(ID_OPTIONS_EMULATOR_PNGFORMAT, OnOptionsEmulatorPngformat) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_PNGFORMAT, OnUpdateOptionsEmulatorPngformat) - ON_COMMAND(ID_OPTIONS_EMULATOR_BMPFORMAT, OnOptionsEmulatorBmpformat) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_BMPFORMAT, OnUpdateOptionsEmulatorBmpformat) - ON_COMMAND(ID_OPTIONS_SOUND_OFF, OnOptionsSoundOff) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_OFF, OnUpdateOptionsSoundOff) - ON_COMMAND(ID_OPTIONS_SOUND_MUTE, OnOptionsSoundMute) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_MUTE, OnUpdateOptionsSoundMute) - ON_COMMAND(ID_OPTIONS_SOUND_ON, OnOptionsSoundOn) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_ON, OnUpdateOptionsSoundOn) - ON_COMMAND(ID_OPTIONS_SOUND_ECHO, OnOptionsSoundEcho) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_ECHO, OnUpdateOptionsSoundEcho) - ON_COMMAND(ID_OPTIONS_SOUND_LOWPASSFILTER, OnOptionsSoundLowpassfilter) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_LOWPASSFILTER, OnUpdateOptionsSoundLowpassfilter) - ON_COMMAND(ID_OPTIONS_SOUND_REVERSESTEREO, OnOptionsSoundReversestereo) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_REVERSESTEREO, OnUpdateOptionsSoundReversestereo) - ON_COMMAND(ID_OPTIONS_SOUND_11KHZ, OnOptionsSound11khz) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_11KHZ, OnUpdateOptionsSound11khz) - ON_COMMAND(ID_OPTIONS_SOUND_22KHZ, OnOptionsSound22khz) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_22KHZ, OnUpdateOptionsSound22khz) - ON_COMMAND(ID_OPTIONS_SOUND_44KHZ, OnOptionsSound44khz) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_44KHZ, OnUpdateOptionsSound44khz) - ON_COMMAND(ID_OPTIONS_SOUND_CHANNEL1, OnOptionsSoundChannel1) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_CHANNEL1, OnUpdateOptionsSoundChannel1) - ON_COMMAND(ID_OPTIONS_SOUND_CHANNEL2, OnOptionsSoundChannel2) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_CHANNEL2, OnUpdateOptionsSoundChannel2) - ON_COMMAND(ID_OPTIONS_SOUND_CHANNEL3, OnOptionsSoundChannel3) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_CHANNEL3, OnUpdateOptionsSoundChannel3) - ON_COMMAND(ID_OPTIONS_SOUND_CHANNEL4, OnOptionsSoundChannel4) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_CHANNEL4, OnUpdateOptionsSoundChannel4) - ON_COMMAND(ID_OPTIONS_SOUND_DIRECTSOUNDA, OnOptionsSoundDirectsounda) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_DIRECTSOUNDA, OnUpdateOptionsSoundDirectsounda) - ON_COMMAND(ID_OPTIONS_SOUND_DIRECTSOUNDB, OnOptionsSoundDirectsoundb) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_DIRECTSOUNDB, OnUpdateOptionsSoundDirectsoundb) - ON_COMMAND(ID_OPTIONS_GAMEBOY_BORDER, OnOptionsGameboyBorder) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_GAMEBOY_BORDER, OnUpdateOptionsGameboyBorder) - ON_COMMAND(ID_OPTIONS_GAMEBOY_PRINTER, OnOptionsGameboyPrinter) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_GAMEBOY_PRINTER, OnUpdateOptionsGameboyPrinter) - ON_COMMAND(ID_OPTIONS_GAMEBOY_BORDERAUTOMATIC, OnOptionsGameboyBorderAutomatic) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_GAMEBOY_BORDERAUTOMATIC, OnUpdateOptionsGameboyBorderAutomatic) - ON_COMMAND(ID_OPTIONS_GAMEBOY_AUTOMATIC, OnOptionsGameboyAutomatic) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_GAMEBOY_AUTOMATIC, OnUpdateOptionsGameboyAutomatic) - ON_COMMAND(ID_OPTIONS_GAMEBOY_GBA, OnOptionsGameboyGba) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_GAMEBOY_GBA, OnUpdateOptionsGameboyGba) - ON_COMMAND(ID_OPTIONS_GAMEBOY_CGB, OnOptionsGameboyCgb) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_GAMEBOY_CGB, OnUpdateOptionsGameboyCgb) - ON_COMMAND(ID_OPTIONS_GAMEBOY_SGB, OnOptionsGameboySgb) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_GAMEBOY_SGB, OnUpdateOptionsGameboySgb) - ON_COMMAND(ID_OPTIONS_GAMEBOY_SGB2, OnOptionsGameboySgb2) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_GAMEBOY_SGB2, OnUpdateOptionsGameboySgb2) - ON_COMMAND(ID_OPTIONS_GAMEBOY_GB, OnOptionsGameboyGb) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_GAMEBOY_GB, OnUpdateOptionsGameboyGb) - ON_COMMAND(ID_OPTIONS_GAMEBOY_REALCOLORS, OnOptionsGameboyRealcolors) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_GAMEBOY_REALCOLORS, OnUpdateOptionsGameboyRealcolors) - ON_COMMAND(ID_OPTIONS_GAMEBOY_GAMEBOYCOLORS, OnOptionsGameboyGameboycolors) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_GAMEBOY_GAMEBOYCOLORS, OnUpdateOptionsGameboyGameboycolors) - ON_COMMAND(ID_OPTIONS_GAMEBOY_COLORS, OnOptionsGameboyColors) - ON_COMMAND(ID_OPTIONS_FILTER_DISABLEMMX, OnOptionsFilterDisablemmx) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FILTER_DISABLEMMX, OnUpdateOptionsFilterDisablemmx) - ON_COMMAND(ID_OPTIONS_LANGUAGE_SYSTEM, OnOptionsLanguageSystem) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_LANGUAGE_SYSTEM, OnUpdateOptionsLanguageSystem) - ON_COMMAND(ID_OPTIONS_LANGUAGE_ENGLISH, OnOptionsLanguageEnglish) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_LANGUAGE_ENGLISH, OnUpdateOptionsLanguageEnglish) - ON_COMMAND(ID_OPTIONS_LANGUAGE_OTHER, OnOptionsLanguageOther) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_LANGUAGE_OTHER, OnUpdateOptionsLanguageOther) - ON_COMMAND(ID_OPTIONS_JOYPAD_CONFIGURE_1, OnOptionsJoypadConfigure1) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_JOYPAD_CONFIGURE_1, OnUpdateOptionsJoypadConfigure1) - ON_COMMAND(ID_OPTIONS_JOYPAD_CONFIGURE_2, OnOptionsJoypadConfigure2) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_JOYPAD_CONFIGURE_2, OnUpdateOptionsJoypadConfigure2) - ON_COMMAND(ID_OPTIONS_JOYPAD_CONFIGURE_3, OnOptionsJoypadConfigure3) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_JOYPAD_CONFIGURE_3, OnUpdateOptionsJoypadConfigure3) - ON_COMMAND(ID_OPTIONS_JOYPAD_CONFIGURE_4, OnOptionsJoypadConfigure4) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_JOYPAD_CONFIGURE_4, OnUpdateOptionsJoypadConfigure4) - ON_COMMAND(ID_OPTIONS_JOYPAD_MOTIONCONFIGURE, OnOptionsJoypadMotionconfigure) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_JOYPAD_MOTIONCONFIGURE, OnUpdateOptionsJoypadMotionconfigure) - ON_COMMAND(ID_CHEATS_SEARCHFORCHEATS, OnCheatsSearchforcheats) - ON_UPDATE_COMMAND_UI(ID_CHEATS_SEARCHFORCHEATS, OnUpdateCheatsSearchforcheats) - ON_COMMAND(ID_CHEATS_CHEATLIST, OnCheatsCheatlist) - ON_UPDATE_COMMAND_UI(ID_CHEATS_CHEATLIST, OnUpdateCheatsCheatlist) - ON_COMMAND(ID_CHEATS_AUTOMATICSAVELOADCHEATS, OnCheatsAutomaticsaveloadcheats) - ON_COMMAND(ID_CHEATS_LOADCHEATLIST, OnCheatsLoadcheatlist) - ON_UPDATE_COMMAND_UI(ID_CHEATS_LOADCHEATLIST, OnUpdateCheatsLoadcheatlist) - ON_COMMAND(ID_CHEATS_SAVECHEATLIST, OnCheatsSavecheatlist) - ON_UPDATE_COMMAND_UI(ID_CHEATS_SAVECHEATLIST, OnUpdateCheatsSavecheatlist) - ON_COMMAND(ID_TOOLS_DISASSEMBLE, OnToolsDisassemble) - ON_UPDATE_COMMAND_UI(ID_TOOLS_DISASSEMBLE, OnUpdateToolsDisassemble) - ON_COMMAND(ID_TOOLS_LOGGING, OnToolsLogging) - ON_UPDATE_COMMAND_UI(ID_TOOLS_LOGGING, OnUpdateToolsLogging) - ON_COMMAND(ID_TOOLS_IOVIEWER, OnToolsIoviewer) - ON_UPDATE_COMMAND_UI(ID_TOOLS_IOVIEWER, OnUpdateToolsIoviewer) - ON_COMMAND(ID_TOOLS_MAPVIEW, OnToolsMapview) - ON_UPDATE_COMMAND_UI(ID_TOOLS_MAPVIEW, OnUpdateToolsMapview) - ON_COMMAND(ID_TOOLS_MEMORYVIEWER, OnToolsMemoryviewer) - ON_UPDATE_COMMAND_UI(ID_TOOLS_MEMORYVIEWER, OnUpdateToolsMemoryviewer) - ON_COMMAND(ID_TOOLS_OAMVIEWER, OnToolsOamviewer) - ON_UPDATE_COMMAND_UI(ID_TOOLS_OAMVIEWER, OnUpdateToolsOamviewer) - ON_COMMAND(ID_TOOLS_PALETTEVIEW, OnToolsPaletteview) - ON_UPDATE_COMMAND_UI(ID_TOOLS_PALETTEVIEW, OnUpdateToolsPaletteview) - ON_COMMAND(ID_TOOLS_TILEVIEWER, OnToolsTileviewer) - ON_UPDATE_COMMAND_UI(ID_TOOLS_TILEVIEWER, OnUpdateToolsTileviewer) - ON_COMMAND(ID_DEBUG_NEXTFRAME, OnDebugNextframe) - ON_UPDATE_COMMAND_UI(ID_CHEATS_AUTOMATICSAVELOADCHEATS, OnUpdateCheatsAutomaticsaveloadcheats) - ON_COMMAND(ID_TOOLS_DEBUG_GDB, OnToolsDebugGdb) - ON_UPDATE_COMMAND_UI(ID_TOOLS_DEBUG_GDB, OnUpdateToolsDebugGdb) - ON_COMMAND(ID_TOOLS_DEBUG_LOADANDWAIT, OnToolsDebugLoadandwait) - ON_UPDATE_COMMAND_UI(ID_TOOLS_DEBUG_LOADANDWAIT, OnUpdateToolsDebugLoadandwait) - ON_COMMAND(ID_TOOLS_DEBUG_BREAK, OnToolsDebugBreak) - ON_UPDATE_COMMAND_UI(ID_TOOLS_DEBUG_BREAK, OnUpdateToolsDebugBreak) - ON_COMMAND(ID_TOOLS_DEBUG_DISCONNECT, OnToolsDebugDisconnect) - ON_UPDATE_COMMAND_UI(ID_TOOLS_DEBUG_DISCONNECT, OnUpdateToolsDebugDisconnect) - ON_COMMAND(ID_OPTIONS_SOUND_STARTRECORDING, OnOptionsSoundStartrecording) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_STARTRECORDING, OnUpdateOptionsSoundStartrecording) - ON_COMMAND(ID_OPTIONS_SOUND_STOPRECORDING, OnOptionsSoundStoprecording) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_STOPRECORDING, OnUpdateOptionsSoundStoprecording) - ON_COMMAND(ID_TOOLS_RECORD_STARTAVIRECORDING, OnToolsRecordStartavirecording) - ON_UPDATE_COMMAND_UI(ID_TOOLS_RECORD_STARTAVIRECORDING, OnUpdateToolsRecordStartavirecording) - ON_COMMAND(ID_TOOLS_RECORD_STOPAVIRECORDING, OnToolsRecordStopavirecording) - ON_UPDATE_COMMAND_UI(ID_TOOLS_RECORD_STOPAVIRECORDING, OnUpdateToolsRecordStopavirecording) - ON_WM_PAINT() - ON_COMMAND(ID_TOOLS_RECORD_STARTMOVIERECORDING, OnToolsRecordStartmovierecording) - ON_UPDATE_COMMAND_UI(ID_TOOLS_RECORD_STARTMOVIERECORDING, OnUpdateToolsRecordStartmovierecording) - ON_COMMAND(ID_TOOLS_RECORD_STOPMOVIERECORDING, OnToolsRecordStopmovierecording) - ON_UPDATE_COMMAND_UI(ID_TOOLS_RECORD_STOPMOVIERECORDING, OnUpdateToolsRecordStopmovierecording) - ON_COMMAND(ID_TOOLS_PLAY_STARTMOVIEPLAYING, OnToolsPlayStartmovieplaying) - ON_UPDATE_COMMAND_UI(ID_TOOLS_PLAY_STARTMOVIEPLAYING, OnUpdateToolsPlayStartmovieplaying) - ON_COMMAND(ID_TOOLS_PLAY_STOPMOVIEPLAYING, OnToolsPlayStopmovieplaying) - ON_UPDATE_COMMAND_UI(ID_TOOLS_PLAY_STOPMOVIEPLAYING, OnUpdateToolsPlayStopmovieplaying) - ON_COMMAND(ID_TOOLS_REWIND, OnToolsRewind) - ON_UPDATE_COMMAND_UI(ID_TOOLS_REWIND, OnUpdateToolsRewind) - ON_COMMAND(ID_TOOLS_CUSTOMIZE, OnToolsCustomize) - ON_UPDATE_COMMAND_UI(ID_TOOLS_CUSTOMIZE, OnUpdateToolsCustomize) - ON_COMMAND(ID_HELP_BUGREPORT, OnHelpBugreport) - ON_WM_MOUSEMOVE() - ON_WM_INITMENU() - ON_WM_ACTIVATE() - ON_WM_DROPFILES() - ON_COMMAND(ID_FILE_SAVEGAME_OLDESTSLOT, OnFileSavegameOldestslot) - ON_UPDATE_COMMAND_UI(ID_FILE_SAVEGAME_OLDESTSLOT, OnUpdateFileSavegameOldestslot) - ON_COMMAND(ID_FILE_LOADGAME_MOSTRECENT, OnFileLoadgameMostrecent) - ON_UPDATE_COMMAND_UI(ID_FILE_LOADGAME_MOSTRECENT, OnUpdateFileLoadgameMostrecent) - ON_COMMAND(ID_FILE_LOADGAME_AUTOLOADMOSTRECENT, OnFileLoadgameAutoloadmostrecent) - ON_UPDATE_COMMAND_UI(ID_FILE_LOADGAME_AUTOLOADMOSTRECENT, OnUpdateFileLoadgameAutoloadmostrecent) - ON_COMMAND(ID_OPTIONS_SOUND_VOLUME_25X, OnOptionsSoundVolume25x) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_VOLUME_25X, OnUpdateOptionsSoundVolume25x) - ON_COMMAND(ID_OPTIONS_SOUND_VOLUME_5X, OnOptionsSoundVolume5x) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_VOLUME_5X, OnUpdateOptionsSoundVolume5x) - ON_COMMAND(ID_CHEATS_DISABLECHEATS, OnCheatsDisablecheats) - ON_UPDATE_COMMAND_UI(ID_CHEATS_DISABLECHEATS, OnUpdateCheatsDisablecheats) - ON_COMMAND(ID_OPTIONS_VIDEO_FULLSCREENMAXSCALE, OnOptionsVideoFullscreenmaxscale) - ON_COMMAND(ID_OPTIONS_EMULATOR_GAMEOVERRIDES, OnOptionsEmulatorGameoverrides) - ON_COMMAND(ID_OPTIONS_SELECT_PLUGIN, OnOptionsSelectPlugin) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_GAMEOVERRIDES, OnUpdateOptionsEmulatorGameoverrides) - ON_COMMAND(ID_HELP_GNUPUBLICLICENSE, OnHelpGnupubliclicense) - ON_COMMAND(ID_OPTIONS_LINK_OPTIONS, OnLinkOptions) - ON_COMMAND(ID_OPTIONS_LINK_LOG, OnOptionsLinkLog) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_LINK_LOG, OnUpdateOptionsLinkLog) - ON_COMMAND(ID_OPTIONS_LINK_WIRELESSADAPTER, OnOptionsLinkRFU) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_LINK_WIRELESSADAPTER, OnUpdateOptionsLinkRFU) - ON_COMMAND(ID_OPTIONS_LINK_ENABLE, OnOptionsLinkEnable) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_LINK_ENABLE, OnUpdateOptionsLinkEnable) - - //}}AFX_MSG_MAP - ON_COMMAND_EX_RANGE(ID_FILE_MRU_FILE1, ID_FILE_MRU_FILE10, OnFileRecentFile) - ON_COMMAND_EX_RANGE(ID_FILE_LOADGAME_SLOT1, ID_FILE_LOADGAME_SLOT10, OnFileLoadSlot) - ON_COMMAND_EX_RANGE(ID_FILE_SAVEGAME_SLOT1, ID_FILE_SAVEGAME_SLOT10, OnFileSaveSlot) - ON_UPDATE_COMMAND_UI_RANGE(ID_FILE_LOADGAME_SLOT1, ID_FILE_LOADGAME_SLOT10, OnUpdateFileLoadGameSlot) - ON_UPDATE_COMMAND_UI_RANGE(ID_FILE_SAVEGAME_SLOT1, ID_FILE_SAVEGAME_SLOT10, OnUpdateFileSaveGameSlot) - ON_COMMAND_EX_RANGE(ID_OPTIONS_VIDEO_FRAMESKIP_0, ID_OPTIONS_VIDEO_FRAMESKIP_5, OnOptionsFrameskip) - ON_COMMAND_EX_RANGE(ID_OPTIONS_VIDEO_FRAMESKIP_6, ID_OPTIONS_VIDEO_FRAMESKIP_9, OnOptionsFrameskip) - ON_COMMAND_EX_RANGE(ID_OPTIONS_VIDEO_X1, ID_OPTIONS_VIDEO_X4, OnOptionVideoSize) - ON_COMMAND_EX_RANGE(ID_OPTIONS_VIDEO_LAYERS_BG0, ID_OPTIONS_VIDEO_LAYERS_OBJWIN, OnVideoLayer) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_VIDEO_LAYERS_BG0, ID_OPTIONS_VIDEO_LAYERS_OBJWIN, OnUpdateVideoLayer) - ON_COMMAND(ID_SYSTEM_MINIMIZE, OnSystemMinimize) - ON_COMMAND_EX_RANGE(ID_OPTIONS_EMULATOR_SHOWSPEED_NONE, ID_OPTIONS_EMULATOR_SHOWSPEED_TRANSPARENT, OnOptionsEmulatorShowSpeed) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_EMULATOR_SHOWSPEED_NONE, ID_OPTIONS_EMULATOR_SHOWSPEED_TRANSPARENT, OnUpdateOptionsEmulatorShowSpeed) - ON_COMMAND_EX_RANGE(ID_OPTIONS_SOUND_VOLUME_1X, ID_OPTIONS_SOUND_VOLUME_4X, OnOptionsSoundVolume) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_SOUND_VOLUME_1X, ID_OPTIONS_SOUND_VOLUME_4X, OnUpdateOptionsSoundVolume) - ON_COMMAND_EX_RANGE(ID_OPTIONS_PRIORITY_HIGHEST, ID_OPTIONS_PRIORITY_BELOWNORMAL, OnOptionsPriority) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_PRIORITY_HIGHEST, ID_OPTIONS_PRIORITY_BELOWNORMAL, OnUpdateOptionsPriority) - ON_COMMAND_EX_RANGE(ID_OPTIONS_FILTER_NORMAL, ID_OPTIONS_FILTER_TVMODE, OnOptionsFilter) - ON_COMMAND_EX_RANGE(ID_OPTIONS_FILTER16BIT_PIXELATEEXPERIMENTAL, ID_OPTIONS_FILTER16BIT_MOTIONBLUREXPERIMENTAL, OnOptionsFilter) - ON_COMMAND_EX_RANGE(ID_OPTIONS_FILTER16BIT_ADVANCEMAMESCALE2X, ID_OPTIONS_FILTER16BIT_SIMPLE2X, OnOptionsFilter) - ON_COMMAND_EX_RANGE(ID_OPTIONS_FILTER_BILINEAR, ID_OPTIONS_FILTER_BILINEARPLUS, OnOptionsFilter) - ON_COMMAND_EX_RANGE(ID_OPTIONS_FILTER_SCANLINES, ID_OPTIONS_FILTER_SCANLINES, OnOptionsFilter) - ON_COMMAND_EX_RANGE(ID_OPTIONS_FILTER_HQ2X, ID_OPTIONS_FILTER_LQ2X, OnOptionsFilter) - ON_COMMAND_EX_RANGE(ID_OPTIONS_FILTER_PLUGIN, ID_OPTIONS_FILTER_PLUGIN, OnOptionsFilter) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_FILTER_PLUGIN, ID_OPTIONS_FILTER_PLUGIN, OnUpdateOptionsFilter) - ON_COMMAND_EX(ID_OPTIONS_FILTER_HQ3X, OnOptionsFilter) - ON_COMMAND_EX(ID_OPTIONS_FILTER_HQ4X, OnOptionsFilter) - ON_COMMAND_EX(ID_OPTIONS_FILTER_SIMPLE3X, OnOptionsFilter) - ON_COMMAND_EX(ID_OPTIONS_FILTER_SIMPLE4X, OnOptionsFilter) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_FILTER_NORMAL, ID_OPTIONS_FILTER_TVMODE, OnUpdateOptionsFilter) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_FILTER16BIT_PIXELATEEXPERIMENTAL, ID_OPTIONS_FILTER16BIT_MOTIONBLUREXPERIMENTAL, OnUpdateOptionsFilter) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_FILTER16BIT_ADVANCEMAMESCALE2X, ID_OPTIONS_FILTER16BIT_SIMPLE2X, OnUpdateOptionsFilter) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_FILTER_BILINEAR, ID_OPTIONS_FILTER_BILINEARPLUS, OnUpdateOptionsFilter) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_FILTER_SCANLINES, ID_OPTIONS_FILTER_SCANLINES, OnUpdateOptionsFilter) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_FILTER_HQ2X, ID_OPTIONS_FILTER_LQ2X, OnUpdateOptionsFilter) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FILTER_SIMPLE3X, OnUpdateOptionsFilter) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FILTER_SIMPLE4X, OnUpdateOptionsFilter) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FILTER_HQ3X, OnUpdateOptionsFilter) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FILTER_HQ4X, OnUpdateOptionsFilter) - ON_COMMAND_EX_RANGE(ID_OPTIONS_FILTER_INTERFRAMEBLENDING_NONE, ID_OPTIONS_FILTER_INTERFRAMEBLENDING_SMART, OnOptionsFilterIFB) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_FILTER_INTERFRAMEBLENDING_NONE, ID_OPTIONS_FILTER_INTERFRAMEBLENDING_SMART, OnUpdateOptionsFilterIFB) - ON_COMMAND_EX_RANGE(ID_OPTIONS_JOYPAD_DEFAULTJOYPAD_1, ID_OPTIONS_JOYPAD_DEFAULTJOYPAD_4, OnOptionsJoypadDefault) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_JOYPAD_DEFAULTJOYPAD_1, ID_OPTIONS_JOYPAD_DEFAULTJOYPAD_4, OnUpdateOptionsJoypadDefault) - ON_COMMAND_EX_RANGE(ID_OPTIONS_JOYPAD_AUTOFIRE_A, ID_OPTIONS_JOYPAD_AUTOFIRE_R, OnOptionsJoypadAutofire) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_JOYPAD_AUTOFIRE_A, ID_OPTIONS_JOYPAD_AUTOFIRE_R, OnUpdateOptionsJoypadAutofire) - ON_MESSAGE(WM_SYSCOMMAND, OnMySysCommand) - ON_COMMAND(ID_OPTIONS_SOUND_HARDWAREACCELERATION, &MainWnd::OnOptionsSoundHardwareacceleration) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_SOUND_HARDWAREACCELERATION, &MainWnd::OnUpdateOptionsSoundHardwareacceleration) - ON_COMMAND(ID_OPTIONS_VIDEO_FULLSCREEN1280X1024, OnOptionsVideoFullscreen1280x1024) - ON_COMMAND(ID_OPTIONS_VIDEO_FULLSCREEN1024X768, OnOptionsVideoFullscreen1024x768) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FULLSCREEN1024X768, OnUpdateOptionsVideoFullscreen1024x768) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_VIDEO_FULLSCREEN1280X1024, OnUpdateOptionsVideoFullscreen1280x1024) - ON_COMMAND(ID_OPTIONS_FILTER_LCDCOLORS, OnOptionsFilterLcdcolors) - ON_UPDATE_COMMAND_UI(ID_OPTIONS_FILTER_LCDCOLORS, OnUpdateOptionsFilterLcdcolors) - ON_COMMAND_EX_RANGE(ID_OPTIONS_SOUND_PCMINTERPOLATION_NONE, ID_OPTIONS_SOUND_PCMINTERPOLATION_LIBRESAMPLE, OnOptionsSoundPcminterpolation) - ON_UPDATE_COMMAND_UI_RANGE(ID_OPTIONS_SOUND_PCMINTERPOLATION_NONE, ID_OPTIONS_SOUND_PCMINTERPOLATION_LIBRESAMPLE, OnUpdateOptionsSoundPcminterpolation) - ON_COMMAND(ID_OUTPUTAPI_DIRECTSOUND, &MainWnd::OnOutputapiDirectsound) - ON_UPDATE_COMMAND_UI(ID_OUTPUTAPI_DIRECTSOUND, &MainWnd::OnUpdateOutputapiDirectsound) - ON_COMMAND(ID_OUTPUTAPI_OPENAL, &MainWnd::OnOutputapiOpenal) - ON_UPDATE_COMMAND_UI(ID_OUTPUTAPI_OPENAL, &MainWnd::OnUpdateOutputapiOpenal) - ON_COMMAND(ID_OUTPUTAPI_OALCONFIGURATION, &MainWnd::OnOutputapiOalconfiguration) - ON_UPDATE_COMMAND_UI(ID_OUTPUTAPI_OALCONFIGURATION, &MainWnd::OnUpdateOutputapiOalconfiguration) - ON_COMMAND(ID_RENDERAPI_D3DMOTIONBLUR, &MainWnd::OnRenderapiD3dmotionblur) - ON_UPDATE_COMMAND_UI(ID_RENDERAPI_D3DMOTIONBLUR, &MainWnd::OnUpdateRenderapiD3dmotionblur) - ON_WM_NCLBUTTONDOWN() - ON_WM_WINDOWPOSCHANGING() - ON_COMMAND(ID_EMULATOR_BIOSFILES, &MainWnd::OnEmulatorBiosfiles) - ON_COMMAND(ID_FILE_OPEN_GBC, &MainWnd::OnFileOpenGbc) - END_MESSAGE_MAP() - - - ///////////////////////////////////////////////////////////////////////////// -// MainWnd message handlers - -void MainWnd::OnClose() -{ - emulating = false; - CWnd::OnClose(); - - delete this; -} - -bool MainWnd::FileRun() -{ - // save battery file before we change the filename... - if(rom != NULL || gbRom != NULL) { - if(theApp.autoSaveLoadCheatList) - winSaveCheatListDefault(); - writeBatteryFile(); - cheatSearchCleanup(&cheatSearchData); - theApp.emulator.emuCleanUp(); - remoteCleanUp(); - emulating = false; -#ifdef APU_LOGGER_H - end_apu_log(); -#endif - } - char tempName[2048]; - char file[2048]; - CString oldFile = theApp.filename; - - utilStripDoubleExtension(theApp.szFile, tempName); - - _fullpath(file, tempName, 2048); - theApp.filename = file; - - int index = theApp.filename.ReverseFind('.'); - if(index != -1) - theApp.filename = theApp.filename.Left(index); - - if( theApp.filename != oldFile ) { - // clear cheat list when another game is loaded - cheatsDeleteAll( false ); - gbCheatRemoveAll(); - } - - CString ipsname; - ipsname.Format("%s.ips", theApp.filename); - - if(!theApp.dir.GetLength()) { - int index = theApp.filename.ReverseFind('\\'); - if(index != -1) { - theApp.dir = theApp.filename.Left(index-1); - } - } - - IMAGE_TYPE type = utilFindType(theApp.szFile); - - if(type == IMAGE_UNKNOWN) { - systemMessage(IDS_UNSUPPORTED_FILE_TYPE, - "Unsupported file type: %s", theApp.szFile); - return false; - } - systemSaveUpdateCounter = SYSTEM_SAVE_NOT_UPDATED; - theApp.cartridgeType = type; - if(type == IMAGE_GB) { - genericflashcardEnable = theApp.winGenericflashcardEnable; - - - if(!gbLoadRom(theApp.szFile)) - return false; - - gbGetHardwareType(); - - // used for the handling of the gb Boot Rom - if (gbHardware & 5) - { - skipBios = theApp.skipBiosFile; - gbCPUInit(theApp.biosFileNameGB, theApp.useBiosFileGB); - } - - - - gbReset(); - theApp.emulator = GBSystem; - gbBorderOn = theApp.winGbBorderOn; - theApp.romSize = gbRomSize; - - - if(theApp.autoIPS) { - int size = gbRomSize; - utilApplyIPS(ipsname, &gbRom, &size); - if(size != gbRomSize) { - extern bool gbUpdateSizes(); - gbUpdateSizes(); - gbReset(); - theApp.romSize = size; - } - } - - //Brunni/ Try to load the palette configuration file - VirtualFileInit(); - if (theApp.gbColorization) { - gblModeColorIt = CheckFichierPalette(theApp.szFile.GetBuffer()); - if (gblModeColorIt) { - char name[2048]; - OuvreFichierPalette(0, "init"); - _fullpath(name, gblColorItPaletteFileName, 1024); - //Brunni/ To be informed when the file changes - startCheckRoutine(name); - } - } - else - gblModeColorIt = 0; - } else { - int size = CPULoadRom(theApp.szFile); - if(!size) - return false; - - theApp.romSize = size; - - flashSetSize(theApp.winFlashSize); - rtcEnable(theApp.winRtcEnable); - cpuSaveType = theApp.winSaveType; - - GetModuleFileName(NULL, tempName, 2048); - - char *p = strrchr(tempName, '\\'); - if(p) - *p = 0; - - char buffer[5]; - strncpy(buffer, (const char *)&rom[0xac], 4); - buffer[4] = 0; - - strcat(tempName, "\\vba-over.ini"); - - UINT i = GetPrivateProfileInt(buffer, - "rtcEnabled", - -1, - tempName); - if(i != (UINT)-1) - rtcEnable(i == 0 ? false : true); - - i = GetPrivateProfileInt(buffer, - "flashSize", - -1, - tempName); - if(i != (UINT)-1 && (i == 0x10000 || i == 0x20000)) - flashSetSize((int)i); - - i = GetPrivateProfileInt(buffer, - "saveType", - -1, - tempName); - if(i != (UINT)-1 && (i <= 5)) - cpuSaveType = (int)i; - i = GetPrivateProfileInt(buffer, - "mirroringEnabled", - -1, - tempName); - if(i != (UINT)-1) - doMirroring (i == 0 ? false : true); - - theApp.emulator = GBASystem; - /* disabled due to problems - if(theApp.removeIntros && rom != NULL) { - *((u32 *)rom)= 0xea00002e; - } - */ - - if(theApp.autoIPS) { - int size = 0x2000000; - utilApplyIPS(ipsname, &rom, &size); - if(size != 0x2000000) { - CPUReset(); - } - } - } - - if(theApp.soundInitialized) { - if(theApp.cartridgeType == 1) - gbSoundReset(); - else - soundReset(); - } else { - if(!soundOffFlag) - soundInit(); - theApp.soundInitialized = true; - } - -#ifdef APU_LOGGER_H - begin_apu_log("apu_log.txt"); -#endif - - if(type == IMAGE_GBA) { - skipBios = theApp.skipBiosFile; - CPUInit(theApp.biosFileNameGBA.GetString(), theApp.useBiosFileGBA); - CPUReset(); - } - - readBatteryFile(); - - if(theApp.autoSaveLoadCheatList) - winLoadCheatListDefault(); - - theApp.addRecentFile(theApp.szFile); - - theApp.updateWindowSize(theApp.videoOption); - - theApp.updateFrameSkip(); - - emulating = true; - - if(theApp.autoLoadMostRecent) - OnFileLoadgameMostrecent(); - - theApp.frameskipadjust = 0; - theApp.renderedFrames = 0; - theApp.autoFrameSkipLastTime = systemGetClock(); - - theApp.rewindCount = 0; - theApp.rewindCounter = 0; - theApp.rewindSaveNeeded = false; - - toolsClearLog(); - - return true; -} - -void MainWnd::OnInitMenuPopup(CMenu* pMenu, UINT nIndex, BOOL bSysMenu) -{ - ASSERT(pMenu != NULL); - - CCmdUI state; - state.m_pMenu = pMenu; - ASSERT(state.m_pOther == NULL); - ASSERT(state.m_pParentMenu == NULL); - - // determine if menu is popup in top-level menu and set m_pOther to - // it if so (m_pParentMenu == NULL indicates that it is secondary popup) - HMENU hParentMenu; - if (AfxGetThreadState()->m_hTrackingMenu == pMenu->m_hMenu) - state.m_pParentMenu = pMenu; // parent == child for tracking popup - else if ((hParentMenu = ::GetMenu(m_hWnd)) != NULL) { - CWnd* pParent = GetTopLevelParent(); - // child windows don't have menus -- need to go to the top! - if (pParent != NULL && - (hParentMenu = ::GetMenu(pParent->m_hWnd)) != NULL) { - int nIndexMax = ::GetMenuItemCount(hParentMenu); - for (int nIndex = 0; nIndex < nIndexMax; nIndex++) { - if (::GetSubMenu(hParentMenu, nIndex) == pMenu->m_hMenu) { - // when popup is found, m_pParentMenu is containing menu - state.m_pParentMenu = CMenu::FromHandle(hParentMenu); - break; - } - } - } - } - - state.m_nIndexMax = pMenu->GetMenuItemCount(); - for (state.m_nIndex = 0; state.m_nIndex < state.m_nIndexMax; - state.m_nIndex++) { - state.m_nID = pMenu->GetMenuItemID(state.m_nIndex); - if (state.m_nID == 0) - continue; // menu separator or invalid cmd - ignore it - - ASSERT(state.m_pOther == NULL); - ASSERT(state.m_pMenu != NULL); - if (state.m_nID == (UINT)-1) { - // possibly a popup menu, route to first item of that popup - state.m_pSubMenu = pMenu->GetSubMenu(state.m_nIndex); - if (state.m_pSubMenu == NULL || - (state.m_nID = state.m_pSubMenu->GetMenuItemID(0)) == 0 || - state.m_nID == (UINT)-1) { - continue; // first item of popup can't be routed to - } - state.DoUpdate(this, FALSE); // popups are never auto disabled - } else { - // normal menu item - // Auto enable/disable if frame window has 'm_bAutoMenuEnable' - // set and command is _not_ a system command. - state.m_pSubMenu = NULL; - state.DoUpdate(this, state.m_nID < 0xF000); - } - - // adjust for menu deletions and additions - UINT nCount = pMenu->GetMenuItemCount(); - if (nCount < state.m_nIndexMax) { - state.m_nIndex -= (state.m_nIndexMax - nCount); - while (state.m_nIndex < nCount && - pMenu->GetMenuItemID(state.m_nIndex) == state.m_nID) { - state.m_nIndex++; - } - } - state.m_nIndexMax = nCount; - } -} - -void MainWnd::OnMoving(UINT fwSide, LPRECT pRect) -{ - CWnd::OnMoving(fwSide, pRect); - - if( emulating ) { - soundPause(); - } -} - -void MainWnd::OnMove(int x, int y) -{ - CWnd::OnMove(x, y); - - if(!theApp.changingVideoSize) { - if(this) { - if(!IsIconic()) { - RECT r; - - GetWindowRect(&r); - theApp.windowPositionX = r.left; - theApp.windowPositionY = r.top; - theApp.adjustDestRect(); - regSetDwordValue("windowX", theApp.windowPositionX); - regSetDwordValue("windowY", theApp.windowPositionY); - } - } - } -} - -void MainWnd::OnSizing(UINT fwSide, LPRECT pRect) -{ // the OnSizing event only occurs in windowed mode - CWnd::OnSizing(fwSide, pRect); - - // pause sound to prevent low sound buffers - if( emulating ) { - soundPause(); - } - - // maintain minimal window size - RECT size = { 0, 0, theApp.sizeX, theApp.sizeY }; - AdjustWindowRectEx( - &size, - WS_POPUP | WS_VISIBLE | WS_OVERLAPPEDWINDOW, - FALSE, - 0 ); - MENUBARINFO mbi; - mbi.cbSize = sizeof(MENUBARINFO); - this->GetMenuBarInfo( OBJID_MENU, 0, &mbi ); - const LONG menuHeight = mbi.rcBar.bottom - mbi.rcBar.top + 1; - // +1 because of that white line, wherever it comes from - const LONG width = size.right - size.left; - const LONG height = size.bottom - size.top + menuHeight; - if( ( pRect->right - pRect->left ) < width ) { - pRect->right = pRect->left + width; - } - if( ( pRect->bottom - pRect->top ) < height ) { - pRect->bottom = pRect->top + height; - } -} - -void MainWnd::OnSize(UINT nType, int cx, int cy) -{ - CWnd::OnSize(nType, cx, cy); - - bool redraw = ( ( cx < theApp.surfaceSizeX ) || ( cy < theApp.surfaceSizeY ) ); - - if(!theApp.changingVideoSize) { - if(this) { - if(!IsIconic()) { - if(theApp.iconic) { - if(emulating) { - soundResume(); - theApp.paused = false; - } - } - if(theApp.videoOption <= VIDEO_4X) { - theApp.surfaceSizeX = cx; - theApp.surfaceSizeY = cy; - theApp.adjustDestRect(); - if(theApp.display) - theApp.display->resize(theApp.dest.right-theApp.dest.left, theApp.dest.bottom-theApp.dest.top); - if( redraw && emulating ) { - theApp.painting = true; - systemDrawScreen(); - theApp.painting = false; - theApp.renderedFrames--; - } - } - } else { - if(emulating) { - if(!theApp.paused) { - theApp.paused = true; - soundPause(); - } - } - theApp.iconic = true; - } - } - } -} - -void MainWnd::winSaveCheatListDefault() -{ - CString name; - CString filename; - - int index = theApp.filename.ReverseFind('\\'); - - if(index != -1) - name = theApp.filename.Right(theApp.filename.GetLength()-index-1); - else - name = theApp.filename; - CString dir = regQueryStringValue("saveDir", NULL); - if( dir[0] == '.' ) { - // handle as relative path - char baseDir[MAX_PATH+1]; - GetModuleFileName( NULL, baseDir, MAX_PATH ); - baseDir[MAX_PATH] = '\0'; // for security reasons - PathRemoveFileSpec( baseDir ); // removes the trailing file name and backslash - strcat( baseDir, "\\" ); - strcat( baseDir, dir ); - dir = baseDir; - } - - if(!dir.GetLength()) - dir = getDirFromFile(filename); - - if(isDriveRoot(dir)) - filename.Format("%s%s.clt", dir, name); - else - filename.Format("%s\\%s.clt", dir, name); - - winSaveCheatList(filename); -} - -void MainWnd::winSaveCheatList(const char *name) -{ - if(theApp.cartridgeType == 0) - cheatsSaveCheatList(name); - else - gbCheatsSaveCheatList(name); -} - -void MainWnd::winLoadCheatListDefault() -{ - CString name; - CString filename; - - int index = theApp.filename.ReverseFind('\\'); - - if(index != -1) - name = theApp.filename.Right(theApp.filename.GetLength()-index-1); - else - name = theApp.filename; - CString dir = regQueryStringValue("saveDir", NULL); - if( dir[0] == '.' ) { - // handle as relative path - char baseDir[MAX_PATH+1]; - GetModuleFileName( NULL, baseDir, MAX_PATH ); - baseDir[MAX_PATH] = '\0'; // for security reasons - PathRemoveFileSpec( baseDir ); // removes the trailing file name and backslash - strcat( baseDir, "\\" ); - strcat( baseDir, dir ); - dir = baseDir; - } - - if(!dir.GetLength()) - dir = getDirFromFile(filename); - - if(isDriveRoot(dir)) - filename.Format("%s%s.clt", dir, name); - else - filename.Format("%s\\%s.clt", dir, name); - - winLoadCheatList(filename); -} - -void MainWnd::winLoadCheatList(const char *name) -{ - bool res = false; - - if(theApp.cartridgeType == 0) - res = cheatsLoadCheatList(name); - else - res = gbCheatsLoadCheatList(name); - - if(res) - systemScreenMessage(winResLoadString(IDS_LOADED_CHEATS)); -} - -CString MainWnd::getDirFromFile(CString& file) -{ - CString temp = file; - int index = temp.ReverseFind('\\'); - - if(index != -1) { - temp = temp.Left(index); - if(temp.GetLength() == 2 && temp[1] == ':') - temp += "\\"; - } else { - temp = ""; - } - return temp; -} - -bool MainWnd::isDriveRoot(CString& file) -{ - if(file.GetLength() == 3) { - if(file[1] == ':' && file[2] == '\\') - return true; - } - return false; -} - -void MainWnd::writeBatteryFile() -{ - CString buffer; - CString filename; - - int index = theApp.filename.ReverseFind('\\'); - - if(index != -1) - buffer = theApp.filename.Right(theApp.filename.GetLength()-index-1); - else - buffer = theApp.filename; - - CString saveDir = regQueryStringValue("batteryDir", NULL); - if( saveDir[0] == '.' ) { - // handle as relative path - char baseDir[MAX_PATH+1]; - GetModuleFileName( NULL, baseDir, MAX_PATH ); - baseDir[MAX_PATH] = '\0'; // for security reasons - PathRemoveFileSpec( baseDir ); // removes the trailing file name and backslash - strcat( baseDir, "\\" ); - strcat( baseDir, saveDir ); - saveDir = baseDir; - } - - if(saveDir.IsEmpty()) - saveDir = getDirFromFile(theApp.filename); - - if(isDriveRoot(saveDir)) - filename.Format("%s%s.sav", saveDir, buffer); - else - filename.Format("%s\\%s.sav", saveDir, buffer); - - if(theApp.emulator.emuWriteBattery) - theApp.emulator.emuWriteBattery(MakeInstanceFilename((const char *)filename)); -} - - -void MainWnd::readBatteryFile() -{ - CString buffer; - CString filename; - - int index = theApp.filename.ReverseFind('\\'); - - if(index != -1) - buffer = theApp.filename.Right(theApp.filename.GetLength()-index-1); - else - buffer = theApp.filename; - - CString saveDir = regQueryStringValue("batteryDir", NULL); - if( saveDir[0] == '.' ) { - // handle as relative path - char baseDir[MAX_PATH+1]; - GetModuleFileName( NULL, baseDir, MAX_PATH ); - baseDir[MAX_PATH] = '\0'; // for security reasons - PathRemoveFileSpec( baseDir ); // removes the trailing file name and backslash - strcat( baseDir, "\\" ); - strcat( baseDir, saveDir ); - saveDir = baseDir; - } - - if(saveDir.IsEmpty()) - saveDir = getDirFromFile(theApp.filename); - - if(isDriveRoot(saveDir)) - filename.Format("%s%s.sav", saveDir, buffer); - else - filename.Format("%s\\%s.sav", saveDir, buffer); - - bool res = false; - - if(theApp.emulator.emuReadBattery) - res = theApp.emulator.emuReadBattery(MakeInstanceFilename(filename)); - - if(res) - systemScreenMessage(winResLoadString(IDS_LOADED_BATTERY)); -} - -CString MainWnd::winLoadFilter(UINT id) -{ - CString res = winResLoadString(id); - res.Replace('_','|'); - - return res; -} - -bool MainWnd::loadSaveGame(const char *name) -{ - if(theApp.emulator.emuReadState) - return theApp.emulator.emuReadState(name); - return false; -} - -bool MainWnd::writeSaveGame(const char *name) -{ - if(theApp.emulator.emuWriteState) - return theApp.emulator.emuWriteState(name); - return false; -} - -void MainWnd::OnContextMenu(CWnd* pWnd, CPoint point) -{ - winMouseOn(); -} - -void MainWnd::OnSystemMinimize() -{ - ShowWindow(SW_SHOWMINIMIZED); -} - - -bool MainWnd::fileOpenSelect( int system ) -{ - theApp.dir = _T(""); - CString initialDir; - int selectedFilter = 0; - LPCTSTR exts[] = { _T(""), _T(""), _T(""), _T("") }; - CString filter; - CString title; - switch( system ) - { - case 0: - // GBA - initialDir = regQueryStringValue( _T("romdir"), _T(".") ); - selectedFilter = regQueryDwordValue( _T("selectedFilter"), 0); - if( (selectedFilter < 0) || (selectedFilter > 2) ) { - selectedFilter = 0; - } - filter = winLoadFilter( IDS_FILTER_ROM ); - break; - case 1: - // GBC - initialDir = regQueryStringValue( _T("gbcromdir"), _T(".") ); - // TODO: memorize selected filter for GBC as well - filter = winLoadFilter( IDS_FILTER_GBCROM ); - break; - case 2: - // GB - initialDir = regQueryStringValue( _T("gbromdir"), _T(".") ); - // TODO: memorize selected filter for GB as well - filter = winLoadFilter( IDS_FILTER_GBROM ); - break; - } - - title = winResLoadString( IDS_SELECT_ROM ); - - if( !initialDir.IsEmpty() ) { - theApp.dir = initialDir; - } - - if( initialDir[0] == '.' ) { - // handle as relative path - char baseDir[MAX_PATH+1]; - GetModuleFileName( NULL, baseDir, MAX_PATH ); - baseDir[MAX_PATH] = '\0'; // for security reasons - PathRemoveFileSpec( baseDir ); // removes the trailing file name and backslash - strcat( baseDir, "\\" ); - strcat( baseDir, initialDir ); - initialDir = baseDir; - } - - theApp.szFile = _T(""); - - - FileDlg dlg( this, _T(""), filter, selectedFilter, _T(""), exts, theApp.dir, title, false); - - if( dlg.DoModal() == IDOK ) { - if( system == 0 ) { - regSetDwordValue( _T("selectedFilter"), dlg.m_ofn.nFilterIndex ); - } - theApp.szFile = dlg.GetPathName(); - theApp.dir = theApp.szFile.Left( dlg.m_ofn.nFileOffset ); - if( (theApp.dir.GetLength() > 3) && (theApp.dir[theApp.dir.GetLength()-1] == _T('\\')) ) { - theApp.dir = theApp.dir.Left( theApp.dir.GetLength() - 1 ); - } - SetCurrentDirectory( theApp.dir ); - return true; - } - return false; -} - - -void MainWnd::OnPaint() -{ - CPaintDC dc(this); // device context for painting - - if(emulating) { - theApp.painting = true; - systemDrawScreen(); - theApp.painting = false; - theApp.renderedFrames--; - } -} - -BOOL MainWnd::PreTranslateMessage(MSG* pMsg) -{ - if (CWnd::PreTranslateMessage(pMsg)) - return TRUE; - - if(pMsg->message >= WM_KEYFIRST && pMsg->message <= WM_KEYLAST) { - return theApp.hAccel != NULL && ::TranslateAccelerator(m_hWnd, theApp.hAccel, pMsg); - } - - return FALSE; -} - -void MainWnd::screenCapture(int captureNumber) -{ - CString buffer; - - CString captureDir = regQueryStringValue("captureDir", ""); - if( captureDir[0] == '.' ) { - // handle as relative path - char baseDir[MAX_PATH+1]; - GetModuleFileName( NULL, baseDir, MAX_PATH ); - baseDir[MAX_PATH] = '\0'; // for security reasons - PathRemoveFileSpec( baseDir ); // removes the trailing file name and backslash - strcat( baseDir, "\\" ); - strcat( baseDir, captureDir ); - captureDir = baseDir; - } - int index = theApp.filename.ReverseFind('\\'); - - CString name; - if(index != -1) - name = theApp.filename.Right(theApp.filename.GetLength()-index-1); - else - name = theApp.filename; - - if(captureDir.IsEmpty()) - captureDir = getDirFromFile(theApp.filename); - - LPCTSTR ext = "png"; - if(theApp.captureFormat != 0) - ext = "bmp"; - - if(isDriveRoot(captureDir)) - buffer.Format("%s%s_%02d.%s", - captureDir, - name, - captureNumber, - ext); - else - buffer.Format("%s\\%s_%02d.%s", - captureDir, - name, - captureNumber, - ext); - - // check if file exists - DWORD dwAttr = GetFileAttributes( buffer ); - if( dwAttr != INVALID_FILE_ATTRIBUTES ) { - // screenshot file already exists - screenCapture(++captureNumber); - // this will recursively use the first non-existent screenshot number - return; - } - - if(theApp.captureFormat == 0) - theApp.emulator.emuWritePNG(buffer); - else - theApp.emulator.emuWriteBMP(buffer); - - CString msg = winResLoadString(IDS_SCREEN_CAPTURE); - systemScreenMessage(msg); -} - -void MainWnd::winMouseOn() -{ - SetCursor(arrow); - if(theApp.videoOption > VIDEO_4X) { - theApp.mouseCounter = 10; - } else - theApp.mouseCounter = 0; -} - -void MainWnd::OnMouseMove(UINT nFlags, CPoint point) -{ - winMouseOn(); - - CWnd::OnMouseMove(nFlags, point); -} - -void MainWnd::OnInitMenu(CMenu* pMenu) -{ - CWnd::OnInitMenu(pMenu); - - soundPause(); -} - -void MainWnd::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) -{ - CWnd::OnActivate(nState, pWndOther, bMinimized); - - bool a = (nState == WA_ACTIVE) || (nState == WA_CLICKACTIVE); - - if(a && theApp.input) { - theApp.active = a; - theApp.input->activate(); - if(!theApp.paused && emulating) { - soundResume(); - } - } else { - theApp.wasPaused = true; - //Brunni/ Always disable this in ColorIt debug mode - if(theApp.pauseWhenInactive && !gblConfigAutoShowCrc) { - if(emulating) { - soundPause(); - } - theApp.active = a; - } - - memset(theApp.delta,255,sizeof(theApp.delta)); - } - - if(theApp.paused && emulating) - { - theApp.painting = true; - systemDrawScreen(); - theApp.painting = false; - theApp.renderedFrames--; - } -} - -void MainWnd::OnDropFiles(HDROP hDropInfo) -{ - char szFile[1024]; - - if(DragQueryFile(hDropInfo, - 0, - szFile, - 1024)) { - theApp.szFile = szFile; - if(FileRun()) { - SetForegroundWindow(); - emulating = TRUE; - } else { - emulating = FALSE; - soundPause(); - } - } - DragFinish(hDropInfo); -} - -LRESULT MainWnd::OnMySysCommand(WPARAM wParam, LPARAM lParam) -{ - if(emulating && !theApp.paused) { - if((wParam&0xFFF0) == SC_SCREENSAVE || (wParam&0xFFF0) == SC_MONITORPOWER) - return 0; - } - return Default(); -} - -void MainWnd::OnNcLButtonDown(UINT nHitTest, CPoint point) -{ - // pause sound before process is halted - if( emulating ) { - soundPause(); - } - - CWnd::OnNcLButtonDown(nHitTest, point); -} - -void MainWnd::OnWindowPosChanging(WINDOWPOS* lpwndpos) -{ - CWnd::OnWindowPosChanging(lpwndpos); - - // pause sound before changing window position/size - if( emulating ) { - soundPause(); - } -}