mirror of https://github.com/snes9xgit/snes9x.git
Merged in two snes9x-rr GUI changes
drag&drop support for ROMs (no movies atm) unified avi recording menu item removed a few legacy leftovers disabling the strech option no longer disables bilinear filtering
This commit is contained in:
parent
d0b9becaab
commit
8c665e6299
|
@ -527,7 +527,6 @@ static bool LockSurface2 (LPDIRECTDRAWSURFACE2 lpDDSurface, SSurface *lpSurface)
|
||||||
return (false);
|
return (false);
|
||||||
|
|
||||||
hResult = lpDDSurface->Restore();
|
hResult = lpDDSurface->Restore();
|
||||||
GUI.ScreenCleared = true;
|
|
||||||
if (hResult != DD_OK)
|
if (hResult != DD_OK)
|
||||||
return (false);
|
return (false);
|
||||||
|
|
||||||
|
|
|
@ -389,11 +389,9 @@ void SelectRenderMethod()
|
||||||
RenderMethod = FilterToMethod(GUI.Scale);
|
RenderMethod = FilterToMethod(GUI.Scale);
|
||||||
RenderMethodHiRes = FilterToMethod(GUI.ScaleHiRes);
|
RenderMethodHiRes = FilterToMethod(GUI.ScaleHiRes);
|
||||||
|
|
||||||
if (GUI.ScreenCleared || OldRenderMethod != RenderMethod || OldRenderMethodHiRes != RenderMethodHiRes)
|
if (OldRenderMethod != RenderMethod || OldRenderMethodHiRes != RenderMethodHiRes)
|
||||||
snes9x_clear_change_log = GUI.NumFlipFrames;
|
snes9x_clear_change_log = GUI.NumFlipFrames;
|
||||||
|
|
||||||
GUI.ScreenCleared = false;
|
|
||||||
|
|
||||||
GUI.DepthConverted = !GUI.NeedDepthConvert;
|
GUI.DepthConverted = !GUI.NeedDepthConvert;
|
||||||
if(GUI.ScreenDepth == 32 &&
|
if(GUI.ScreenDepth == 32 &&
|
||||||
((GetFilter32BitSupport(GUI.Scale) && (IPPU.RenderedScreenHeight <= SNES_HEIGHT_EXTENDED && IPPU.RenderedScreenWidth < 512)) ||
|
((GetFilter32BitSupport(GUI.Scale) && (IPPU.RenderedScreenHeight <= SNES_HEIGHT_EXTENDED && IPPU.RenderedScreenWidth < 512)) ||
|
||||||
|
|
|
@ -55,7 +55,6 @@
|
||||||
#define IDC_MUTE 1016
|
#define IDC_MUTE 1016
|
||||||
#define IDC_SKIP_TYPE 1017
|
#define IDC_SKIP_TYPE 1017
|
||||||
#define IDC_SCROLLBAR1 1018
|
#define IDC_SCROLLBAR1 1018
|
||||||
#define IDC_FMUT 1018
|
|
||||||
#define IDC_VRAM_DISPLAY 1019
|
#define IDC_VRAM_DISPLAY 1019
|
||||||
#define IDC_WIP1 1019
|
#define IDC_WIP1 1019
|
||||||
#define IDC_ADDRESS 1020
|
#define IDC_ADDRESS 1020
|
||||||
|
@ -357,6 +356,7 @@
|
||||||
#define ID_LANGUAGE_ENGLISH 40002
|
#define ID_LANGUAGE_ENGLISH 40002
|
||||||
#define ID_LANGUAGE_NEDERLANDS 40003
|
#define ID_LANGUAGE_NEDERLANDS 40003
|
||||||
#define ID_WINDOW_HIDEMENUBAR 40004
|
#define ID_WINDOW_HIDEMENUBAR 40004
|
||||||
|
#define ID_FILE_AVI_RECORDING 40005
|
||||||
#define ID_SOUND_NOSOUND 40021
|
#define ID_SOUND_NOSOUND 40021
|
||||||
#define ID_OPTIONS_JOYPAD 40022
|
#define ID_OPTIONS_JOYPAD 40022
|
||||||
#define ID_WINDOW_SHOWFPS 40023
|
#define ID_WINDOW_SHOWFPS 40023
|
||||||
|
@ -432,7 +432,6 @@
|
||||||
#define IDM_ENABLE_MULTITAP 40104
|
#define IDM_ENABLE_MULTITAP 40104
|
||||||
#define IDM_MOUSE_TOGGLE 40105
|
#define IDM_MOUSE_TOGGLE 40105
|
||||||
#define IDM_SCOPE_TOGGLE 40106
|
#define IDM_SCOPE_TOGGLE 40106
|
||||||
#define IDM_CATCH_UP_SOUND 40107
|
|
||||||
#define IDM_GFX_PACKS 40108
|
#define IDM_GFX_PACKS 40108
|
||||||
#define IDM_JUSTIFIER 40109
|
#define IDM_JUSTIFIER 40109
|
||||||
#define ID_SCREENSHOT 40110
|
#define ID_SCREENSHOT 40110
|
||||||
|
|
|
@ -865,8 +865,7 @@ BEGIN
|
||||||
MENUITEM "Movie Record...", ID_FILE_MOVIE_RECORD, GRAYED
|
MENUITEM "Movie Record...", ID_FILE_MOVIE_RECORD, GRAYED
|
||||||
MENUITEM "Movie Stop", ID_FILE_MOVIE_STOP, GRAYED
|
MENUITEM "Movie Stop", ID_FILE_MOVIE_STOP, GRAYED
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "Record AVI...", ID_FILE_WRITE_AVI, GRAYED
|
MENUITEM "AVI Recording", ID_FILE_AVI_RECORDING, GRAYED
|
||||||
MENUITEM "Stop AVI Recording", ID_FILE_STOP_AVI, GRAYED
|
|
||||||
MENUITEM SEPARATOR
|
MENUITEM SEPARATOR
|
||||||
MENUITEM "&Reset Game", ID_FILE_RESET, GRAYED
|
MENUITEM "&Reset Game", ID_FILE_RESET, GRAYED
|
||||||
MENUITEM "&Pause", ID_FILE_PAUSE, GRAYED
|
MENUITEM "&Pause", ID_FILE_PAUSE, GRAYED
|
||||||
|
|
|
@ -243,7 +243,6 @@ void WinSetDefaultValues ()
|
||||||
GUI.FlipCounter = 0;
|
GUI.FlipCounter = 0;
|
||||||
GUI.NumFlipFrames = 1;
|
GUI.NumFlipFrames = 1;
|
||||||
GUI.BilinearFilter = false;
|
GUI.BilinearFilter = false;
|
||||||
GUI.ScreenCleared = true;
|
|
||||||
GUI.LockDirectories = false;
|
GUI.LockDirectories = false;
|
||||||
GUI.window_maximized = false;
|
GUI.window_maximized = false;
|
||||||
|
|
||||||
|
|
|
@ -1116,83 +1116,6 @@ bool JustifierOffscreen()
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
|
|
||||||
#ifdef MK_APU_RESAMPLE
|
|
||||||
void ResampleTo16000HzM16(uint16* input, uint16*output,int output_samples)
|
|
||||||
{
|
|
||||||
int i=0;
|
|
||||||
for(i=0;i<output_samples;i++)
|
|
||||||
{
|
|
||||||
output[i]=(input[i*2]+input[(2*i)+1])>>1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ResampleTo16000HzS16(uint16* input, uint16*output,int output_samples)
|
|
||||||
{
|
|
||||||
int i=0;
|
|
||||||
for(i=0;i<output_samples;i+=2)
|
|
||||||
{
|
|
||||||
output[i]=(input[i*2]+input[(2*(i+1))])>>1;
|
|
||||||
output[i+1]=(input[(i*2)+1]+input[(2*(i+1))+1])>>1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void ResampleTo8000HzM16(uint16* input, uint16*output,int output_samples)
|
|
||||||
{
|
|
||||||
int i=0;
|
|
||||||
for(i=0;i<output_samples;i++)
|
|
||||||
{
|
|
||||||
output[i]=(input[i*4]+input[(4*i)+1]+input[(4*i)+2]+input[(4*i)+3])>>2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ResampleTo8000HzS16(uint16* input, uint16*output,int output_samples)
|
|
||||||
{
|
|
||||||
int i=0;
|
|
||||||
for(i=0;i<output_samples;i+=2)
|
|
||||||
{
|
|
||||||
output[i]=(input[i*4]+input[(4*i)+2]+input[(4*(i+1))]+input[(4*(i+1))+2])>>2;
|
|
||||||
output[i+1]=(input[(i*4)+1]+input[(4*i)+3]+input[(4*(i+1))+1]+input[(4*(i+1))+3])>>2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ResampleTo16000HzM8(uint8* input, uint8*output,int output_samples)
|
|
||||||
{
|
|
||||||
int i=0;
|
|
||||||
for(i=0;i<output_samples;i++)
|
|
||||||
{
|
|
||||||
output[i]=(input[i*2]+input[(2*i)+1])>>1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ResampleTo16000HzS8(uint8* input, uint8*output,int output_samples)
|
|
||||||
{
|
|
||||||
int i=0;
|
|
||||||
for(i=0;i<output_samples;i+=2)
|
|
||||||
{
|
|
||||||
output[i]=(input[i*2]+input[(2*(i+1))])>>1;
|
|
||||||
output[i+1]=(input[(i*2)+1]+input[(2*(i+1))+1])>>1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void ResampleTo8000HzM8(uint8* input, uint8*output,int output_samples)
|
|
||||||
{
|
|
||||||
int i=0;
|
|
||||||
for(i=0;i<output_samples;i++)
|
|
||||||
{
|
|
||||||
output[i]=(input[i*4]+input[(4*i)+1]+input[(4*i)+2]+input[(4*i)+3])>>2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ResampleTo8000HzS8(uint8* input, uint8*output,int output_samples)
|
|
||||||
{
|
|
||||||
int i=0;
|
|
||||||
for(i=0;i<output_samples;i+=2)
|
|
||||||
{
|
|
||||||
output[i]=(input[i*4]+input[(4*i)+2]+input[(4*(i+1))]+input[(4*(i+1))+2])>>2;
|
|
||||||
output[i+1]=(input[(i*4)+1]+input[(4*i)+3]+input[(4*(i+1))+1]+input[(4*(i+1))+3])>>2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void DoAVIOpen(const TCHAR* filename)
|
void DoAVIOpen(const TCHAR* filename)
|
||||||
{
|
{
|
||||||
// close current instance
|
// close current instance
|
||||||
|
|
|
@ -373,8 +373,6 @@ bool8 S9xDeinitUpdate (int Width, int Height)
|
||||||
// avi writing
|
// avi writing
|
||||||
DoAVIVideoFrame(&Src, Width, Height);
|
DoAVIVideoFrame(&Src, Width, Height);
|
||||||
|
|
||||||
GUI.ScreenCleared = true;
|
|
||||||
|
|
||||||
SelectRenderMethod ();
|
SelectRenderMethod ();
|
||||||
|
|
||||||
// Clear some of the old SNES rendered image
|
// Clear some of the old SNES rendered image
|
||||||
|
@ -456,7 +454,6 @@ static void ClearSurface (LPDIRECTDRAWSURFACE2 lpDDSurface)
|
||||||
|
|
||||||
void UpdateBackBuffer()
|
void UpdateBackBuffer()
|
||||||
{
|
{
|
||||||
GUI.ScreenCleared = true;
|
|
||||||
|
|
||||||
if (GUI.outputMethod==DIRECTDRAW && GUI.FullScreen)
|
if (GUI.outputMethod==DIRECTDRAW && GUI.FullScreen)
|
||||||
{
|
{
|
||||||
|
|
|
@ -300,6 +300,7 @@ HANDLE SoundEvent;
|
||||||
ExtList* valid_ext=NULL;
|
ExtList* valid_ext=NULL;
|
||||||
void MakeExtFile(void);
|
void MakeExtFile(void);
|
||||||
void LoadExts(void);
|
void LoadExts(void);
|
||||||
|
static bool ExtensionIsValid(const TCHAR *filename);
|
||||||
|
|
||||||
extern FILE *trace_fs;
|
extern FILE *trace_fs;
|
||||||
extern SCheatData Cheat;
|
extern SCheatData Cheat;
|
||||||
|
@ -616,8 +617,8 @@ void FreezeUnfreeze (int slot, bool8 freeze);
|
||||||
void CheckDirectoryIsWritable (const char *filename);
|
void CheckDirectoryIsWritable (const char *filename);
|
||||||
static void CheckMenuStates ();
|
static void CheckMenuStates ();
|
||||||
static void ResetFrameTimer ();
|
static void ResetFrameTimer ();
|
||||||
bool8 LoadROM (const TCHAR *filename);
|
static bool LoadROM (const TCHAR *filename);
|
||||||
bool8 LoadMultiROM (const TCHAR *filename, const TCHAR *filename2);
|
static bool LoadMultiROM (const TCHAR *filename, const TCHAR *filename2);
|
||||||
bool8 S9xLoadROMImage (const TCHAR *string);
|
bool8 S9xLoadROMImage (const TCHAR *string);
|
||||||
#ifdef NETPLAY_SUPPORT
|
#ifdef NETPLAY_SUPPORT
|
||||||
static void EnableServer (bool8 enable);
|
static void EnableServer (bool8 enable);
|
||||||
|
@ -1411,7 +1412,6 @@ static bool DoOpenRomDialog(TCHAR filename [_MAX_PATH], bool noCustomDlg = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TCHAR multiRomA [MAX_PATH] = {0}; // lazy, should put in sGUI and add init to {0} somewhere
|
TCHAR multiRomA [MAX_PATH] = {0}; // lazy, should put in sGUI and add init to {0} somewhere
|
||||||
TCHAR multiRomB [MAX_PATH] = {0};
|
TCHAR multiRomB [MAX_PATH] = {0};
|
||||||
|
|
||||||
|
@ -1438,9 +1438,7 @@ LRESULT CALLBACK WinProc(
|
||||||
{
|
{
|
||||||
case WM_CREATE:
|
case WM_CREATE:
|
||||||
g_hInst = ((LPCREATESTRUCT)lParam)->hInstance;
|
g_hInst = ((LPCREATESTRUCT)lParam)->hInstance;
|
||||||
#ifndef MK_APU
|
DragAcceptFiles(hWnd, TRUE);
|
||||||
DeleteMenu(GUI.hMenu,IDM_CATCH_UP_SOUND,MF_BYCOMMAND);
|
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
case WM_KEYDOWN:
|
case WM_KEYDOWN:
|
||||||
if(GUI.BackgroundKeyHotkeys)
|
if(GUI.BackgroundKeyHotkeys)
|
||||||
|
@ -1477,9 +1475,36 @@ LRESULT CALLBACK WinProc(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WM_DROPFILES:
|
||||||
|
HDROP hDrop;
|
||||||
|
UINT fileCount;
|
||||||
|
TCHAR droppedFile[PATH_MAX];
|
||||||
|
|
||||||
|
hDrop = (HDROP)wParam;
|
||||||
|
fileCount = DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 0);
|
||||||
|
if (fileCount == 1) {
|
||||||
|
DragQueryFile(hDrop, 0, droppedFile, PATH_MAX);
|
||||||
|
|
||||||
|
if (ExtensionIsValid(droppedFile)) {
|
||||||
|
LoadROM(droppedFile);
|
||||||
|
} else {
|
||||||
|
S9xMessage(S9X_ERROR, S9X_ROM_INFO, "Unknown file extension.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DragFinish(hDrop);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
switch (wParam & 0xffff)
|
switch (wParam & 0xffff)
|
||||||
{
|
{
|
||||||
|
case ID_FILE_AVI_RECORDING:
|
||||||
|
if (!GUI.AVIOut)
|
||||||
|
PostMessage(GUI.hWnd, WM_COMMAND, ID_FILE_WRITE_AVI, NULL);
|
||||||
|
else
|
||||||
|
PostMessage(GUI.hWnd, WM_COMMAND, ID_FILE_STOP_AVI, NULL);
|
||||||
|
break;
|
||||||
case ID_FILE_WRITE_AVI:
|
case ID_FILE_WRITE_AVI:
|
||||||
{
|
{
|
||||||
RestoreGUIDisplay (); //exit DirectX
|
RestoreGUIDisplay (); //exit DirectX
|
||||||
|
@ -1791,7 +1816,6 @@ LRESULT CALLBACK WinProc(
|
||||||
}
|
}
|
||||||
|
|
||||||
RestoreSNESDisplay ();
|
RestoreSNESDisplay ();
|
||||||
GUI.ScreenCleared = true;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1799,53 +1823,13 @@ LRESULT CALLBACK WinProc(
|
||||||
{
|
{
|
||||||
TCHAR filename [_MAX_PATH];
|
TCHAR filename [_MAX_PATH];
|
||||||
|
|
||||||
#ifdef NETPLAY_SUPPORT
|
|
||||||
if (Settings.NetPlay && !Settings.NetPlayServer)
|
|
||||||
{
|
|
||||||
S9xMessage (S9X_INFO, S9X_NETPLAY_NOT_SERVER,
|
|
||||||
WINPROC_DISCONNECT);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
RestoreGUIDisplay ();
|
RestoreGUIDisplay ();
|
||||||
|
|
||||||
if(DoOpenRomDialog(filename))
|
if(DoOpenRomDialog(filename)) {
|
||||||
{
|
LoadROM(filename);
|
||||||
if (!Settings.StopEmulation)
|
|
||||||
{
|
|
||||||
Memory.SaveSRAM (S9xGetFilename (".srm", SRAM_DIR));
|
|
||||||
S9xSaveCheatFile (S9xGetFilename (".cht", CHEAT_DIR));
|
|
||||||
}
|
|
||||||
Settings.StopEmulation = !LoadROM (filename);
|
|
||||||
if (!Settings.StopEmulation)
|
|
||||||
{
|
|
||||||
bool8 loadedSRAM = Memory.LoadSRAM (S9xGetFilename (".srm", SRAM_DIR));
|
|
||||||
if(!loadedSRAM) // help migration from earlier Snes9x versions by checking ROM directory for savestates
|
|
||||||
Memory.LoadSRAM (S9xGetFilename (".srm", ROMFILENAME_DIR));
|
|
||||||
S9xLoadCheatFile (S9xGetFilename (".cht", CHEAT_DIR));
|
|
||||||
S9xAddToRecentGames (filename);
|
|
||||||
CheckDirectoryIsWritable (S9xGetFilename (".---", SNAPSHOT_DIR));
|
|
||||||
CheckMenuStates ();
|
|
||||||
#ifdef NETPLAY_SUPPORT
|
|
||||||
if (NPServer.SendROMImageOnConnect)
|
|
||||||
S9xNPServerQueueSendingROMImage ();
|
|
||||||
else
|
|
||||||
S9xNPServerQueueSendingLoadROMRequest (Memory.ROMName);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
if(GUI.ControllerOption == SNES_SUPERSCOPE)
|
|
||||||
SetCursor (GUI.GunSight);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
SetCursor (GUI.Arrow);
|
|
||||||
GUI.CursorTimer = 60;
|
|
||||||
}
|
|
||||||
Settings.Paused = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RestoreSNESDisplay ();
|
RestoreSNESDisplay ();
|
||||||
GUI.ScreenCleared = true;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1859,7 +1843,6 @@ LRESULT CALLBACK WinProc(
|
||||||
SetMenu( GUI.hWnd, GUI.hMenu);
|
SetMenu( GUI.hWnd, GUI.hMenu);
|
||||||
else
|
else
|
||||||
SetMenu( GUI.hWnd, NULL);
|
SetMenu( GUI.hWnd, NULL);
|
||||||
GUI.ScreenCleared = true;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_LANGUAGE_ENGLISH:
|
case ID_LANGUAGE_ENGLISH:
|
||||||
|
@ -2273,39 +2256,8 @@ LRESULT CALLBACK WinProc(
|
||||||
j++;
|
j++;
|
||||||
if (i == j)
|
if (i == j)
|
||||||
{
|
{
|
||||||
#ifdef NETPLAY_SUPPORT
|
|
||||||
if (Settings.NetPlay && !Settings.NetPlayServer)
|
if (!LoadROM(GUI.RecentGames [i])) {
|
||||||
{
|
|
||||||
S9xMessage (S9X_INFO, S9X_NETPLAY_NOT_SERVER,
|
|
||||||
WINPROC_DISCONNECT);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (!Settings.StopEmulation)
|
|
||||||
{
|
|
||||||
Memory.SaveSRAM (S9xGetFilename (".srm", SRAM_DIR));
|
|
||||||
S9xSaveCheatFile (S9xGetFilename (".cht", CHEAT_DIR));
|
|
||||||
}
|
|
||||||
Settings.StopEmulation = !LoadROM (GUI.RecentGames [i]);
|
|
||||||
if (!Settings.StopEmulation)
|
|
||||||
{
|
|
||||||
bool8 loadedSRAM = Memory.LoadSRAM (S9xGetFilename (".srm", SRAM_DIR));
|
|
||||||
if(!loadedSRAM) // help migration from earlier Snes9x versions by checking ROM directory for savestates
|
|
||||||
Memory.LoadSRAM (S9xGetFilename (".srm", ROMFILENAME_DIR));
|
|
||||||
S9xLoadCheatFile (S9xGetFilename (".cht", CHEAT_DIR));
|
|
||||||
S9xAddToRecentGames (GUI.RecentGames [i]);
|
|
||||||
CheckDirectoryIsWritable (S9xGetFilename (".---", SNAPSHOT_DIR));
|
|
||||||
CheckMenuStates ();
|
|
||||||
#ifdef NETPLAY_SUPPORT
|
|
||||||
if (NPServer.SendROMImageOnConnect)
|
|
||||||
S9xNPServerQueueSendingROMImage ();
|
|
||||||
else
|
|
||||||
S9xNPServerQueueSendingLoadROMRequest (Memory.ROMName);
|
|
||||||
#endif
|
|
||||||
Settings.Paused = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sprintf (String, ERR_ROM_NOT_FOUND, _tToChar(GUI.RecentGames [i]));
|
sprintf (String, ERR_ROM_NOT_FOUND, _tToChar(GUI.RecentGames [i]));
|
||||||
S9xMessage (S9X_ERROR, S9X_ROM_NOT_FOUND, String);
|
S9xMessage (S9X_ERROR, S9X_ROM_NOT_FOUND, String);
|
||||||
S9xRemoveFromRecentGames(i);
|
S9xRemoveFromRecentGames(i);
|
||||||
|
@ -3335,28 +3287,7 @@ int WINAPI WinMain(
|
||||||
MessageBox( GUI.hWnd, Languages[ GUI.Language].errFrameTimer, TEXT("Snes9X - Frame Timer"), MB_OK | MB_ICONINFORMATION);
|
MessageBox( GUI.hWnd, Languages[ GUI.Language].errFrameTimer, TEXT("Snes9X - Frame Timer"), MB_OK | MB_ICONINFORMATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
Settings.StopEmulation = !LoadROM (_tFromChar(rom_filename));
|
LoadROM(_tFromChar(rom_filename));
|
||||||
|
|
||||||
if (!Settings.StopEmulation)
|
|
||||||
{
|
|
||||||
bool8 loaded = Memory.LoadSRAM (S9xGetFilename (".srm", SRAM_DIR));
|
|
||||||
if(!loaded) // help migration from earlier Snes9x versions by checking ROM directory for savestates
|
|
||||||
Memory.LoadSRAM (S9xGetFilename (".srm", ROMFILENAME_DIR));
|
|
||||||
S9xLoadCheatFile (S9xGetFilename (".cht", CHEAT_DIR));
|
|
||||||
CheckDirectoryIsWritable (S9xGetFilename (".---", SNAPSHOT_DIR));
|
|
||||||
CheckMenuStates ();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Settings.StopEmulation)
|
|
||||||
{
|
|
||||||
if (GUI.ControllerOption == SNES_SUPERSCOPE)
|
|
||||||
SetCursor (GUI.GunSight);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
SetCursor (GUI.Arrow);
|
|
||||||
GUI.CursorTimer = 60;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
S9xUnmapAllControls();
|
S9xUnmapAllControls();
|
||||||
S9xSetupDefaultKeymap();
|
S9xSetupDefaultKeymap();
|
||||||
|
@ -3846,12 +3777,6 @@ static void CheckMenuStates ()
|
||||||
mii.fState = (S9xMovieActive () && !Settings.StopEmulation) ? MFS_ENABLED : MFS_DISABLED;
|
mii.fState = (S9xMovieActive () && !Settings.StopEmulation) ? MFS_ENABLED : MFS_DISABLED;
|
||||||
SetMenuItemInfo (GUI.hMenu, ID_FILE_MOVIE_STOP, FALSE, &mii);
|
SetMenuItemInfo (GUI.hMenu, ID_FILE_MOVIE_STOP, FALSE, &mii);
|
||||||
|
|
||||||
mii.fState = (!Settings.StopEmulation) ? MFS_ENABLED : MFS_DISABLED;
|
|
||||||
SetMenuItemInfo (GUI.hMenu, ID_FILE_WRITE_AVI, FALSE, &mii);
|
|
||||||
|
|
||||||
mii.fState = (!Settings.StopEmulation && (GUI.AVIOut)) ? MFS_ENABLED : MFS_DISABLED;
|
|
||||||
SetMenuItemInfo (GUI.hMenu, ID_FILE_STOP_AVI, FALSE, &mii);
|
|
||||||
|
|
||||||
mii.fState = (GUI.SoundChannelEnable & (1 << 0)) ? MFS_CHECKED : MFS_UNCHECKED;
|
mii.fState = (GUI.SoundChannelEnable & (1 << 0)) ? MFS_CHECKED : MFS_UNCHECKED;
|
||||||
SetMenuItemInfo (GUI.hMenu, ID_CHANNELS_CHANNEL1, FALSE, &mii);
|
SetMenuItemInfo (GUI.hMenu, ID_CHANNELS_CHANNEL1, FALSE, &mii);
|
||||||
mii.fState = (GUI.SoundChannelEnable & (1 << 1)) ? MFS_CHECKED : MFS_UNCHECKED;
|
mii.fState = (GUI.SoundChannelEnable & (1 << 1)) ? MFS_CHECKED : MFS_UNCHECKED;
|
||||||
|
@ -3906,6 +3831,16 @@ static void CheckMenuStates ()
|
||||||
validFlag = (((1<<SNES_JUSTIFIER_2) & GUI.ValidControllerOptions) && (!S9xMovieActive() || !S9xMovieGetFrameCounter())) ? MFS_ENABLED : MFS_DISABLED;
|
validFlag = (((1<<SNES_JUSTIFIER_2) & GUI.ValidControllerOptions) && (!S9xMovieActive() || !S9xMovieGetFrameCounter())) ? MFS_ENABLED : MFS_DISABLED;
|
||||||
mii.fState = validFlag|((controller[0] == CTL_JOYPAD && controller[1] == CTL_JUSTIFIER && ids[0]) ? MFS_CHECKED : MFS_UNCHECKED);
|
mii.fState = validFlag|((controller[0] == CTL_JOYPAD && controller[1] == CTL_JUSTIFIER && ids[0]) ? MFS_CHECKED : MFS_UNCHECKED);
|
||||||
SetMenuItemInfo (GUI.hMenu, IDM_JUSTIFIERS, FALSE, &mii);
|
SetMenuItemInfo (GUI.hMenu, IDM_JUSTIFIERS, FALSE, &mii);
|
||||||
|
|
||||||
|
mii.fState = !Settings.StopEmulation ? MFS_ENABLED : MFS_DISABLED;
|
||||||
|
SetMenuItemInfo (GUI.hMenu, ID_FILE_AVI_RECORDING, FALSE, &mii);
|
||||||
|
|
||||||
|
ZeroMemory(&mii, sizeof(mii));
|
||||||
|
mii.cbSize = sizeof(mii);
|
||||||
|
mii.fMask = MIIM_STRING;
|
||||||
|
|
||||||
|
mii.dwTypeData = !GUI.AVIOut ? TEXT("Start AVI Recording...") : TEXT("Stop AVI Recording");
|
||||||
|
SetMenuItemInfo (GUI.hMenu, ID_FILE_AVI_RECORDING, FALSE, &mii);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ResetFrameTimer ()
|
static void ResetFrameTimer ()
|
||||||
|
@ -3923,7 +3858,7 @@ static void ResetFrameTimer ()
|
||||||
GUI.hFrameTimer = timeSetEvent ((Settings.FrameTime+500)/1000, 0, (LPTIMECALLBACK)FrameTimer, 0, TIME_PERIODIC);
|
GUI.hFrameTimer = timeSetEvent ((Settings.FrameTime+500)/1000, 0, (LPTIMECALLBACK)FrameTimer, 0, TIME_PERIODIC);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool8 LoadROM (const TCHAR *filename)
|
static bool LoadROMPlain(const TCHAR *filename)
|
||||||
{
|
{
|
||||||
if (!filename || !*filename)
|
if (!filename || !*filename)
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
|
@ -3938,7 +3873,51 @@ bool8 LoadROM (const TCHAR *filename)
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool8 LoadMultiROM (const TCHAR *filename, const TCHAR *filename2)
|
static bool LoadROM(const TCHAR *filename) {
|
||||||
|
|
||||||
|
#ifdef NETPLAY_SUPPORT
|
||||||
|
if (Settings.NetPlay && !Settings.NetPlayServer)
|
||||||
|
{
|
||||||
|
S9xMessage (S9X_INFO, S9X_NETPLAY_NOT_SERVER,
|
||||||
|
WINPROC_DISCONNECT);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (!Settings.StopEmulation) {
|
||||||
|
Memory.SaveSRAM (S9xGetFilename (".srm", SRAM_DIR));
|
||||||
|
S9xSaveCheatFile (S9xGetFilename (".cht", CHEAT_DIR));
|
||||||
|
}
|
||||||
|
|
||||||
|
Settings.StopEmulation = !LoadROMPlain(filename);
|
||||||
|
|
||||||
|
if (!Settings.StopEmulation) {
|
||||||
|
bool8 loadedSRAM = Memory.LoadSRAM (S9xGetFilename (".srm", SRAM_DIR));
|
||||||
|
if(!loadedSRAM) // help migration from earlier Snes9x versions by checking ROM directory for savestates
|
||||||
|
Memory.LoadSRAM (S9xGetFilename (".srm", ROMFILENAME_DIR));
|
||||||
|
S9xAddToRecentGames (filename);
|
||||||
|
CheckDirectoryIsWritable (S9xGetFilename (".---", SNAPSHOT_DIR));
|
||||||
|
|
||||||
|
#ifdef NETPLAY_SUPPORT
|
||||||
|
if (NPServer.SendROMImageOnConnect)
|
||||||
|
S9xNPServerQueueSendingROMImage ();
|
||||||
|
else
|
||||||
|
S9xNPServerQueueSendingLoadROMRequest (Memory.ROMName);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
if(GUI.ControllerOption == SNES_SUPERSCOPE)
|
||||||
|
SetCursor (GUI.GunSight);
|
||||||
|
else {
|
||||||
|
SetCursor (GUI.Arrow);
|
||||||
|
GUI.CursorTimer = 60;
|
||||||
|
}
|
||||||
|
Settings.Paused = false;
|
||||||
|
|
||||||
|
return !Settings.StopEmulation;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool LoadMultiROM (const TCHAR *filename, const TCHAR *filename2)
|
||||||
{
|
{
|
||||||
SetCurrentDirectory(S9xGetDirectoryT(ROM_DIR));
|
SetCurrentDirectory(S9xGetDirectoryT(ROM_DIR));
|
||||||
if (Memory.LoadMultiCart (_tToChar(filename), _tToChar(filename2)))
|
if (Memory.LoadMultiCart (_tToChar(filename), _tToChar(filename2)))
|
||||||
|
@ -3966,25 +3945,8 @@ bool8 S9xLoadROMImage (const TCHAR *string)
|
||||||
|
|
||||||
TCHAR FileName [_MAX_PATH];
|
TCHAR FileName [_MAX_PATH];
|
||||||
|
|
||||||
if(DoOpenRomDialog(FileName))
|
if(DoOpenRomDialog(FileName)) {
|
||||||
{
|
return LoadROM(FileName);
|
||||||
if (!Settings.StopEmulation)
|
|
||||||
{
|
|
||||||
Memory.SaveSRAM (S9xGetFilename (".srm", SRAM_DIR));
|
|
||||||
S9xSaveCheatFile (S9xGetFilename (".cht", CHEAT_DIR));
|
|
||||||
}
|
|
||||||
Settings.StopEmulation = !LoadROM (FileName);
|
|
||||||
if (!Settings.StopEmulation)
|
|
||||||
{
|
|
||||||
bool8 loaded = Memory.LoadSRAM (S9xGetFilename (".srm", SRAM_DIR));
|
|
||||||
if(!loaded) // help migration from earlier Snes9x versions by checking ROM directory for savestates
|
|
||||||
Memory.LoadSRAM (S9xGetFilename (".srm", ROMFILENAME_DIR));
|
|
||||||
S9xLoadCheatFile (S9xGetFilename (".cht", CHEAT_DIR));
|
|
||||||
CheckDirectoryIsWritable (S9xGetFilename (".---", SNAPSHOT_DIR));
|
|
||||||
CheckMenuStates ();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return (FALSE);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return (FALSE);
|
return (FALSE);
|
||||||
|
@ -4980,7 +4942,7 @@ INT_PTR CALLBACK DlgEmulatorProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lPar
|
||||||
|
|
||||||
#define SKIP_FLOPPY
|
#define SKIP_FLOPPY
|
||||||
|
|
||||||
bool ExtensionIsValid(const TCHAR * filename)
|
static bool ExtensionIsValid(const TCHAR * filename)
|
||||||
{
|
{
|
||||||
ExtList* curr=valid_ext;
|
ExtList* curr=valid_ext;
|
||||||
while(curr!=NULL)
|
while(curr!=NULL)
|
||||||
|
@ -7016,11 +6978,8 @@ INT_PTR CALLBACK DlgFunky(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
WinDisplayApplyChanges();
|
WinDisplayApplyChanges();
|
||||||
|
|
||||||
WinRefreshDisplay();
|
WinRefreshDisplay();
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
// make video memory option match stretching option, but allow it to be changed via the other checkbox
|
|
||||||
CheckDlgButton(hDlg,IDC_BILINEAR,GUI.Stretch);
|
|
||||||
/* fall through */
|
|
||||||
case IDC_BILINEAR:
|
case IDC_BILINEAR:
|
||||||
|
|
||||||
GUI.BilinearFilter = (bool)(IsDlgButtonChecked(hDlg,IDC_BILINEAR)==BST_CHECKED);
|
GUI.BilinearFilter = (bool)(IsDlgButtonChecked(hDlg,IDC_BILINEAR)==BST_CHECKED);
|
||||||
|
@ -10092,7 +10051,6 @@ static void set_movieinfo(const TCHAR* path, HWND hDlg)
|
||||||
// if(m.SyncFlags & MOVIE_SYNC_DATA_EXISTS)
|
// if(m.SyncFlags & MOVIE_SYNC_DATA_EXISTS)
|
||||||
{
|
{
|
||||||
SendDlgItemMessage(hDlg,IDC_ALLOWLEFTRIGHT,BM_SETCHECK, (m.SyncFlags & MOVIE_SYNC_LEFTRIGHT)!=0 ? (WPARAM)BST_CHECKED : (WPARAM)BST_UNCHECKED, 0);
|
SendDlgItemMessage(hDlg,IDC_ALLOWLEFTRIGHT,BM_SETCHECK, (m.SyncFlags & MOVIE_SYNC_LEFTRIGHT)!=0 ? (WPARAM)BST_CHECKED : (WPARAM)BST_UNCHECKED, 0);
|
||||||
SendDlgItemMessage(hDlg,IDC_FMUT,BM_SETCHECK, (m.SyncFlags & MOVIE_SYNC_FAKEMUTE)!=0 ? (WPARAM)BST_CHECKED : (WPARAM)BST_UNCHECKED, 0);
|
|
||||||
SendDlgItemMessage(hDlg,IDC_SYNC_TO_SOUND_CPU,BM_SETCHECK, (m.SyncFlags & MOVIE_SYNC_SYNCSOUND)!=0 ? (WPARAM)BST_CHECKED : (WPARAM)BST_UNCHECKED, 0);
|
SendDlgItemMessage(hDlg,IDC_SYNC_TO_SOUND_CPU,BM_SETCHECK, (m.SyncFlags & MOVIE_SYNC_SYNCSOUND)!=0 ? (WPARAM)BST_CHECKED : (WPARAM)BST_UNCHECKED, 0);
|
||||||
// SetWindowText(GetDlgItem(hDlg, IDC_LOADEDFROMMOVIE), _T(MOVIE_LABEL_SYNC_DATA_FROM_MOVIE));
|
// SetWindowText(GetDlgItem(hDlg, IDC_LOADEDFROMMOVIE), _T(MOVIE_LABEL_SYNC_DATA_FROM_MOVIE));
|
||||||
}
|
}
|
||||||
|
@ -10224,10 +10182,6 @@ INT_PTR CALLBACK DlgOpenMovie(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
SendDlgItemMessage(hDlg,IDC_READONLY,BM_SETCHECK,GUI.MovieReadOnly ? BST_CHECKED : BST_UNCHECKED,0);
|
SendDlgItemMessage(hDlg,IDC_READONLY,BM_SETCHECK,GUI.MovieReadOnly ? BST_CHECKED : BST_UNCHECKED,0);
|
||||||
|
|
||||||
//EnableWindow(GetDlgItem(hDlg, IDC_SYNC_TO_SOUND_CPU), Settings.SoundDriver<1||Settings.SoundDriver>3); // can't sync sound to CPU unless using "Snes9x DirectSound" driver
|
|
||||||
|
|
||||||
EnableWindow(GetDlgItem(hDlg, IDC_FMUT), FALSE);
|
|
||||||
|
|
||||||
SetDlgItemText(hDlg,IDC_LABEL_STARTSETTINGS, MOVIE_LABEL_STARTSETTINGS);
|
SetDlgItemText(hDlg,IDC_LABEL_STARTSETTINGS, MOVIE_LABEL_STARTSETTINGS);
|
||||||
SetDlgItemText(hDlg,IDC_LABEL_CONTROLLERSETTINGS, MOVIE_LABEL_CONTSETTINGS);
|
SetDlgItemText(hDlg,IDC_LABEL_CONTROLLERSETTINGS, MOVIE_LABEL_CONTSETTINGS);
|
||||||
SetDlgItemText(hDlg,IDC_LABEL_SYNCSETTINGS, MOVIE_LABEL_SYNCSETTINGS);
|
SetDlgItemText(hDlg,IDC_LABEL_SYNCSETTINGS, MOVIE_LABEL_SYNCSETTINGS);
|
||||||
|
@ -10239,7 +10193,6 @@ INT_PTR CALLBACK DlgOpenMovie(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
switch(LOWORD(wParam))
|
switch(LOWORD(wParam))
|
||||||
{
|
{
|
||||||
case IDC_ALLOWLEFTRIGHT:
|
case IDC_ALLOWLEFTRIGHT:
|
||||||
case IDC_FMUT:
|
|
||||||
case IDC_SYNC_TO_SOUND_CPU:
|
case IDC_SYNC_TO_SOUND_CPU:
|
||||||
SetWindowText(GetDlgItem(hDlg, IDC_LOADEDFROMMOVIE), TEXT(""));
|
SetWindowText(GetDlgItem(hDlg, IDC_LOADEDFROMMOVIE), TEXT(""));
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -318,7 +318,6 @@ struct sGUI {
|
||||||
TCHAR GLSLvertexShaderFileName[MAX_PATH];
|
TCHAR GLSLvertexShaderFileName[MAX_PATH];
|
||||||
TCHAR GLSLfragmentShaderFileName[MAX_PATH];
|
TCHAR GLSLfragmentShaderFileName[MAX_PATH];
|
||||||
|
|
||||||
bool ScreenCleared;
|
|
||||||
bool IgnoreNextMouseMove;
|
bool IgnoreNextMouseMove;
|
||||||
RECT window_size;
|
RECT window_size;
|
||||||
bool window_maximized;
|
bool window_maximized;
|
||||||
|
|
|
@ -49,6 +49,7 @@
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\zlibdmt.pdb"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
DebugInformationFormat="4"
|
DebugInformationFormat="4"
|
||||||
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
||||||
|
@ -114,6 +115,7 @@
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\zlibdmtx64.pdb"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
||||||
|
@ -179,6 +181,7 @@
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\zlibmt.pdb"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
||||||
|
@ -244,6 +247,7 @@
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\zlibmtx64.pdb"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
||||||
|
@ -259,7 +263,7 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
OutputFile="$(OutDir)\zlibmt.lib"
|
OutputFile="$(OutDir)\zlibmtx64.lib"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
|
@ -307,6 +311,7 @@
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\zlibdmtu.pdb"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
DebugInformationFormat="4"
|
DebugInformationFormat="4"
|
||||||
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
||||||
|
@ -372,6 +377,7 @@
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\zlibdmtux64.pdb"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
||||||
|
@ -437,6 +443,7 @@
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\zlibmtu.pdb"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
||||||
|
@ -502,6 +509,7 @@
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="0"
|
||||||
|
ProgramDataBaseFileName="$(OutDir)\zlibmtux64.pdb"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
DebugInformationFormat="3"
|
DebugInformationFormat="3"
|
||||||
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
ForcedIncludeFiles="$(SolutionDir)..\_tfwopen.h"
|
||||||
|
|
Loading…
Reference in New Issue