static const TCHAR *guimode2[] = { _T("false"), _T("true"), _T("nowait"), 0 };
static const TCHAR *guimode3[] = { _T("0"), _T("1"), _T("nowait"), 0 };
static const TCHAR *csmode[] = { _T("ocs"), _T("ecs_agnus"), _T("ecs_denise"), _T("ecs"), _T("aga"), 0 };
-static const TCHAR *linemode[] = { _T("none"), _T("none"), _T("double"), _T("scanlines"), 0 };
+static const TCHAR *linemode[] = { _T("none"), _T("none"), _T("double"), _T("scanlines"), _T("double2"), _T("scanlines2"), _T("double3"), _T("scanlines3"), 0 };
static const TCHAR *speedmode[] = { _T("max"), _T("real"), 0 };
static const TCHAR *colormode1[] = { _T("8bit"), _T("15bit"), _T("16bit"), _T("8bit_dither"), _T("4bit_dither"), _T("32bit"), 0 };
static const TCHAR *colormode2[] = { _T("8"), _T("15"), _T("16"), _T("8d"), _T("4d"), _T("32"), 0 };
cfgfile_write_str (f, _T("gfx_resolution"), lorestype1[p->gfx_resolution]);
cfgfile_write_str (f, _T("gfx_lores_mode"), loresmode[p->gfx_lores_mode]);
cfgfile_write_bool (f, _T("gfx_flickerfixer"), p->gfx_scandoubler);
- cfgfile_write_str (f, _T("gfx_linemode"), linemode[p->gfx_vresolution * 2 + p->gfx_scanlines]);
+ cfgfile_write_str (f, _T("gfx_linemode"), p->gfx_scanlines >= 2 ? linemode[4 + (p->gfx_scanlines - 2)] : linemode[p->gfx_vresolution * 2 + (p->gfx_scanlines ? 1 : 0)]);
cfgfile_write_str (f, _T("gfx_fullscreen_amiga"), fullmodes[p->gfx_apmode[0].gfx_fullscreen]);
cfgfile_write_str (f, _T("gfx_fullscreen_picasso"), fullmodes[p->gfx_apmode[1].gfx_fullscreen]);
cfgfile_write_str (f, _T("gfx_center_horizontal"), centermode1[p->gfx_xcenter]);
if (_tcscmp (option, _T("gfx_linemode")) == 0) {
int v;
p->gfx_vresolution = VRES_DOUBLE;
- p->gfx_scanlines = false;
+ p->gfx_scanlines = 0;
if (cfgfile_strval (option, value, _T("gfx_linemode"), &v, linemode, 0)) {
- p->gfx_scanlines = v & 1;
- p->gfx_vresolution = v / 2;
+ if (v >= 4) {
+ p->gfx_scanlines = (v - 4) + 2;
+ } else {
+ p->gfx_scanlines = v & 1;
+ p->gfx_vresolution = v / 2;
+ }
}
return 1;
}
p->produce_sound = 0;
p->gfx_resolution = 0;
p->gfx_vresolution = 0;
- p->gfx_scanlines = false;
+ p->gfx_scanlines = 0;
p->gfx_framerate = 10;
p->immediate_blits = 1;
p->collision_level = 0;
outword[i] <<= nbits;
outword[i] |= (todisplay[i][0] >> (16 - nbits + delay1)) & mask;
todisplay[i][0] <<= nbits;
+ //todisplay[i][0] &= ~(0xFFFF0000 << delay1);
}
for (i = 1; i < toscr_nr_planes2; i += 2) {
outword[i] <<= nbits;
outword[i] |= (todisplay[i][0] >> (16 - nbits + delay2)) & mask;
todisplay[i][0] <<= nbits;
+ //todisplay[i][0] &= ~(0xFFFF0000 << delay2);
}
}
int count, i;
/* apparantly writes to custom registers happen in the 3/4th of cycle
* and sprite xpos comparator sees it immediately */
- int point = hpos * 2 - 3;
+ int point = hpos * 2 - 4;
int width = sprite_width;
int sscanmask = 0x100 << sprite_buffer_res;
int gotdata = 0;
}
#endif
if (currprefs.produce_sound > 1)
- update_sound (fake_vblank_hz, interlace_seen ? -1 : lof_store, islinetoggle ());
+ update_sound (fake_vblank_hz);
}
islace = (interlace_seen) ? 1 : 0;
if (!(currprefs.chipset_mask & CSMASK_ECS_AGNUS))
isntsc = currprefs.ntscmode ? 1 : 0;
+ int clk = currprefs.ntscmode ? CHIPSET_CLOCK_NTSC : CHIPSET_CLOCK_PAL;
if (!isntsc) {
maxvpos = MAXVPOS_PAL;
maxhpos = MAXHPOS_PAL;
minfirstline = VBLANK_ENDLINE_PAL;
+ vblank_hz = VBLANK_HZ_PAL;
sprite_vblank_endline = VBLANK_SPRITE_PAL;
equ_vblank_endline = EQU_ENDLINE_PAL;
equ_vblank_toggle = true;
- vblank_hz_shf = (double)CHIPSET_CLOCK_PAL / ((maxvpos + 0) * maxhpos);
- vblank_hz_lof = (double)CHIPSET_CLOCK_PAL / ((maxvpos + 1) * maxhpos);
- vblank_hz_lace = (double)CHIPSET_CLOCK_PAL / ((maxvpos + 0.5) * maxhpos);
+ vblank_hz_shf = (double)clk / ((maxvpos + 0) * maxhpos);
+ vblank_hz_lof = (double)clk / ((maxvpos + 1) * maxhpos);
+ vblank_hz_lace = (double)clk / ((maxvpos + 0.5) * maxhpos);
} else {
maxvpos = MAXVPOS_NTSC;
maxhpos = MAXHPOS_NTSC;
sprite_vblank_endline = VBLANK_SPRITE_NTSC;
equ_vblank_endline = EQU_ENDLINE_NTSC;
equ_vblank_toggle = false;
- vblank_hz_shf = (double)CHIPSET_CLOCK_NTSC / ((maxvpos + 0) * maxhpos);
- vblank_hz_lof = (double)CHIPSET_CLOCK_NTSC / ((maxvpos + 1) * maxhpos);
- vblank_hz_lace = (double)CHIPSET_CLOCK_NTSC / ((maxvpos + 0.5) * maxhpos);
+ vblank_hz_shf = (double)clk / ((maxvpos + 0) * maxhpos);
+ vblank_hz_lof = (double)clk / ((maxvpos + 1) * maxhpos);
+ vblank_hz_lace = (double)clk / ((maxvpos + 0.5) * maxhpos);
}
- vblank_hz = vblank_hz_lof;
maxvpos_nom = maxvpos;
maxvpos_display = maxvpos;
nextline_how = nln_normal;
if (doflickerfix () && interlace_seen > 0) {
lineno *= 2;
+ } else if (currprefs.gfx_scanlines >= 2) {
+ lineno *= 2;
+ nextline_how = currprefs.gfx_vresolution > VRES_NONDOUBLE && (currprefs.gfx_scanlines & 1) == 0 ? nln_doubled : nln_nblack;
+ if (interlace_seen) {
+ if (!lof_current) {
+ lineno++;
+ nextline_how = nln_lower_black;
+ } else {
+ nextline_how = nln_upper_black;
+ }
+ }
} else if (currprefs.gfx_vresolution && (doublescan <= 0 || interlace_seen > 0)) {
lineno *= 2;
- nextline_how = currprefs.gfx_vresolution > VRES_NONDOUBLE && currprefs.gfx_scanlines == false ? nln_doubled : nln_nblack;
+ nextline_how = currprefs.gfx_vresolution > VRES_NONDOUBLE && currprefs.gfx_scanlines == 0 ? nln_doubled : nln_nblack;
if (interlace_seen) {
if (!lof_current) {
lineno++;
memcpy (row_map[gfx_ypos], xlinebuffer + linetoscr_x_adjust_bytes, gfxvidinfo.drawbuffer.pixbytes * gfxvidinfo.drawbuffer.inwidth);
do_flush_line (vb, gfx_ypos);
- if (do_double) {
+ if (do_double > 0) {
if (dh == dh_emerg)
memcpy (row_map[follow_ypos], xlinebuffer + linetoscr_x_adjust_bytes, gfxvidinfo.drawbuffer.pixbytes * gfxvidinfo.drawbuffer.inwidth);
else if (dh == dh_buf)
memcpy (row_map[follow_ypos], row_map[gfx_ypos], gfxvidinfo.drawbuffer.pixbytes * gfxvidinfo.drawbuffer.inwidth);
do_flush_line (vb, follow_ypos);
+ } else if (do_double < 0) {
+ if (dh == dh_emerg)
+ memset (row_map[follow_ypos], 0, gfxvidinfo.drawbuffer.pixbytes * gfxvidinfo.drawbuffer.inwidth);
+ else if (dh == dh_buf)
+ memset (row_map[follow_ypos], 0, gfxvidinfo.drawbuffer.pixbytes * gfxvidinfo.drawbuffer.inwidth);
+ do_flush_line (vb, follow_ypos);
}
if (dip_for_drawing->nr_sprites)
return changed != 0;
}
-void vsync_handle_redraw (int long_frame, int lof_changed, uae_u16 bplcon0p, uae_u16 bplcon3p)
+void vsync_handle_redraw (int long_field, int lof_changed, uae_u16 bplcon0p, uae_u16 bplcon3p)
{
last_redraw_point++;
- if (lof_changed || interlace_seen <= 0 || last_redraw_point >= 2 || long_frame || doublescan < 0) {
+ if (lof_changed || interlace_seen <= 0 || (currprefs.gfx_scanlines >= 2 && interlace_seen > 0) || last_redraw_point >= 2 || long_field || doublescan < 0) {
last_redraw_point = 0;
if (framecnt == 0)
|| state[1] == LINE_AS_PREVIOUS)
state[1] = LINE_DECIDED; //LINE_BLACK;
break;
+ case nln_lower_black:
+ state[1] = currprefs.gfx_scanlines >= 4 ? LINE_BLACK : LINE_DONE;
+ *state = LINE_DECIDED;
+ break;
+ case nln_upper_black:
+ *state = LINE_DECIDED;
+ state[-1] = currprefs.gfx_scanlines >= 4 ? LINE_BLACK : LINE_DONE;
+ break;
}
}
}
put_long (parmpacket + PP_FSHDSTART + 12 + 8 * 4, dostype == 0x444f5300 ? 0 : -1); // globvec
// if OFS = seglist -> NULL
- if ((dostype & 0xffffff00) == 0x444f5300)
+ if (dostype == 0x444f5300)
flags &= ~0x080;
put_long (parmpacket + PP_FSHDSTART + 8, flags); // patchflags
}
addfakefilesys (parmpacket, dostype, ver, rev, ci);
return FILESYS_HARDFILE;
}
- if ((dostype & 0xffffff00) == 0x444f5300 && (!uip->filesysdir || !uip->filesysdir[0])) {
+ if (dostype == 0x444f5300 && (!uip->filesysdir || !uip->filesysdir[0])) {
write_log (_T("RDB: OFS, using ROM default FS.\n"));
return FILESYS_HARDFILE;
}
zf = zfile_fopen (tmp, _T("rb"), ZFD_NORMAL);
if (!zf) {
addfakefilesys (parmpacket, dostype, ver, rev, ci);
- write_log (_T("RDB: filesys not found, mounted without filesys\n"));
+ write_log (_T("RDB: filesys not found, mounted without forced filesys\n"));
return FILESYS_HARDFILE;
}
put_long (parmpacket + 64, ci->bufmemtype); /* Buffer mem type */
put_long (parmpacket + 68, ci->maxtransfer); /* largest transfer */
put_long (parmpacket + 72, ci->mask); /* dma mask */
- if (ci->dostype) // forced dostype?
+ if (ci->dostype) { // forced dostype?
put_long (parmpacket + 80, ci->dostype); /* dostype */
+ } else if (hdf_read (&uip[unit_no].hf, buf, 0, sizeof buf)) {
+ put_long (parmpacket + 80, rl (buf));
+ }
for (int i = 0; i < 80; i++)
buf[i + 128] = get_byte (parmpacket + 16 + i);
dump_partinfo (&uip[unit_no].hf, buf);
extern void audio_evhandler (void);
extern void audio_hsync (void);
extern void audio_update_adkmasks (void);
-extern void update_sound (double freq, int longframe, int linetoggle);
+extern void update_sound (double freq);
extern void led_filter_audio (void);
extern void set_audio (void);
extern int audio_activate (void);
/* Interlace, doubled display, lower line. */
nln_lower,
/* This line normal, next one black. */
- nln_nblack
+ nln_nblack,
+ nln_upper_black,
+ nln_lower_black
};
extern void hsync_record_line_state (int lineno, enum nln_how, int changed);
-extern void vsync_handle_redraw (int long_frame, int lof_changed, uae_u16, uae_u16);
+extern void vsync_handle_redraw (int long_field, int lof_changed, uae_u16, uae_u16);
extern bool vsync_handle_check (void);
extern void init_hardware_for_drawing_frame (void);
extern void reset_drawing (void);
#ifdef JIT
extern int special_mem;
-#define S_READ 1
-#define S_WRITE 2
extern uae_u8 *cache_alloc (int);
extern void cache_free (uae_u8*);
#endif
+#define S_READ 1
+#define S_WRITE 2
+
bool init_shm (void);
void free_shm (void);
bool preinit_shm (void);
#define IDC_FRAMERATE2 1194
#define IDC_RATE2TEXT 1195
#define IDC_DA_TEXT 1196
+#define IDC_LM_INORMAL 1197
+#define IDC_LM_IDOUBLED 1198
+#define IDC_LM_IDOUBLED2 1199
+#define IDC_LM_IDOUBLED3 1200
#define IDC_CPU0 1200
#define IDC_CPU1 1201
#define IDC_CPU2 1202
// Microsoft Visual C++ generated resource script.
//
-#include "resource.h"
#include "winres.h"
+#include "resource.h"
/////////////////////////////////////////////////////////////////////////////
// English resources
PUSHBUTTON "...",IDC_RTCCHOOSER,376,189,10,15
END
-IDD_DISPLAY DIALOGEX 0, 0, 396, 272
+IDD_DISPLAY DIALOGEX 0, 0, 396, 279
STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
RTEXT "Fullscreen:",IDC_STATIC,3,33,51,15,SS_CENTERIMAGE
COMBOBOX IDC_RESOLUTION,59,33,76,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_RESOLUTIONDEPTH,144,33,62,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
+ COMBOBOX IDC_REFRESHRATE,266,33,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
RTEXT "Windowed:",IDC_STATIC,2,54,51,15,SS_CENTERIMAGE
EDITTEXT IDC_XSIZE,59,56,56,12,ES_NUMBER
EDITTEXT IDC_YSIZE,122,56,56,12,ES_NUMBER
- COMBOBOX IDC_REFRESHRATE,266,33,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_DISPLAY_BUFFERCNT,266,56,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Settings",IDC_SETTINGSTEXT,1,86,283,144
RTEXT "Native:",IDC_STATIC,9,98,48,15,SS_CENTERIMAGE
COMBOBOX IDC_SCREENMODE_RTG,61,118,71,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_SCREENMODE_RTG2,142,118,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
CONTROL "Blacker than black",IDC_BLACKER_THAN_BLACK,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,11,140,142,10
- CONTROL "Remove interlace artifacts",IDC_FLICKERFIXER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,154,142,10
CONTROL "Filtered low resolution",IDC_LORES_SMOOTHED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,140,116,10
+ CONTROL "Remove interlace artifacts",IDC_FLICKERFIXER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,154,142,10
CONTROL "Resolution autoswitch",IDC_AUTORESOLUTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,154,116,10
RTEXT "Resolution:",IDC_STATIC,27,170,110,8,SS_CENTERIMAGE
COMBOBOX IDC_LORES,142,169,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
CONTROL "",IDC_FRAMERATE2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,206,99,20
EDITTEXT IDC_RATE2TEXT,181,210,46,12,ES_AUTOHSCROLL
CONTROL "",IDC_RATE2ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,232,211,8,10
- GROUPBOX "Centering",IDC_STATIC,289,86,105,49
+ GROUPBOX "Centering",IDC_STATIC,289,86,105,46
CONTROL "Horizontal",IDC_XCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,100,90,10
CONTROL "Vertical",IDC_YCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,116,90,10
- GROUPBOX "Line Mode",IDC_LINEMODE,290,139,104,90
- CONTROL "Normal",IDC_LM_NORMAL,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,299,161,90,10
- CONTROL "Double",IDC_LM_DOUBLED,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,177,90,10
- CONTROL "Scanlines",IDC_LM_SCANLINES,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,193,90,10
+ GROUPBOX "Line mode",IDC_STATIC,290,134,104,63
+ CONTROL "Single",IDC_LM_NORMAL,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,299,150,90,10
+ CONTROL "Double",IDC_LM_DOUBLED,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,166,90,10
+ CONTROL "Scanlines",IDC_LM_SCANLINES,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,182,90,10
+ GROUPBOX "Interlaced line mode",IDC_STATIC,290,199,104,70
+ CONTROL "Single",IDC_LM_INORMAL,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,299,214,90,10
+ CONTROL "Double, frames",IDC_LM_IDOUBLED,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,228,90,10
+ CONTROL "Double, fields",IDC_LM_IDOUBLED2,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,241,90,10
+ CONTROL "Double, fields+",IDC_LM_IDOUBLED3,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,254,90,10
COMBOBOX IDC_DA_MODE,15,245,71,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
CONTROL "",IDC_DA_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,96,241,96,20
EDITTEXT IDC_DA_TEXT,205,245,56,12,ES_AUTOHSCROLL | ES_READONLY
- PUSHBUTTON "Reset to defaults",IDC_DA_RESET,289,245,106,14
+ PUSHBUTTON "Reset to defaults",IDC_DA_RESET,156,263,106,14
END
IDD_MEMORY DIALOGEX 0, 0, 396, 206
float scaled_sample_evtime_orig;
extern float sampler_evtime;
-void update_sound (double freq, int longframe, int linetoggle)
+void update_sound (double freq)
{
- static double lastfreq;
- double lines = 0;
- double hpos;
-
- if (freq < 0)
- freq = lastfreq;
- lastfreq = freq;
-
if (!have_sound)
return;
-
- if (linetoggle) {
- hpos = maxhpos_short + 0.5;
- lines += 0.5;
- } else {
- if (longframe < 0)
- lines += 0.5;
- else if (longframe > 0)
- lines += 1.0;
- hpos = maxhpos_short;
- }
- lines += maxvpos_nom;
- scaled_sample_evtime_orig = hpos * lines * freq * CYCLE_UNIT / (double)sdp->obtainedfreq;
+ int clk = currprefs.ntscmode ? CHIPSET_CLOCK_NTSC : CHIPSET_CLOCK_PAL;
+ scaled_sample_evtime_orig = clk * CYCLE_UNIT / (double)sdp->obtainedfreq;
scaled_sample_evtime = scaled_sample_evtime_orig;
- sampler_evtime = hpos * lines * freq * CYCLE_UNIT;
-#if 0
- lines -= maxvpos_nom;
- write_log (_T("%d.%d %d.%d %.2f\n"),
- maxhpos_short, linetoggle ? 5 : 0,
- maxvpos_nom + (lines == 1.0 ? 1 : 0), lines > 0 && lines < 1 ? 5 : 0,
- scaled_sample_evtime);
-#endif
+ sampler_evtime = clk * CYCLE_UNIT;
}
extern int vsynctimebase_orig;
have_sound = 1;
sound_available = 1;
- update_sound (fake_vblank_hz, 1, currprefs.ntscmode);
+ update_sound (fake_vblank_hz);
paula_sndbufsize = sdp->sndbufsize;
paula_sndbufpt = paula_sndbuffer;
driveclick_init ();
#if PORTAUDIO
if (sounddrivermask & SOUNDDRIVER_PORTAUDIO) {
__try {
+#ifdef CPU_64_BIT
+ HMODULE hm = WIN32_LoadLibrary (_T("portaudio.dll"));
+#else
HMODULE hm = WIN32_LoadLibrary (_T("portaudio_x86.dll"));
+#endif
if (hm) {
TCHAR *s;
PaError err;
qpfrate = freq.QuadPart;
/* limit to 10MHz */
qpcdivisor = 0;
- while (qpfrate > 10000000) {
+ while (qpfrate >= 10000000) {
qpfrate >>= 1;
qpcdivisor++;
}
#define LANG_DLL 1
#if WINUAEPUBLICBETA
-#define WINUAEBETA _T("12")
+#define WINUAEBETA _T("13")
#else
#define WINUAEBETA _T("")
#endif
-#define WINUAEDATE MAKEBD(2013, 11, 10)
+#define WINUAEDATE MAKEBD(2013, 11, 15)
#define WINUAEEXTRA _T("")
//#define WINUAEEXTRA _T("AmiKit Preview")
//#define WINUAEEXTRA _T("Amiga Forever Edition")
ew (hDlg, IDC_SCREENMODE_RTG2, rtg);
ew (hDlg, IDC_XCENTER, TRUE);
ew (hDlg, IDC_YCENTER, TRUE);
- ew (hDlg, IDC_LM_SCANLINES, TRUE);
ew (hDlg, IDC_FRAMERATE, !workprefs.cpu_cycle_exact);
ew (hDlg, IDC_LORES, !workprefs.gfx_autoresolution);
+
+ bool isdouble = workprefs.gfx_vresolution > 0;
+
ew (hDlg, IDC_LM_NORMAL, !workprefs.gfx_autoresolution);
ew (hDlg, IDC_LM_DOUBLED, !workprefs.gfx_autoresolution);
ew (hDlg, IDC_LM_SCANLINES, !workprefs.gfx_autoresolution);
+
+ ew (hDlg, IDC_LM_INORMAL, !workprefs.gfx_autoresolution && !isdouble);
+ ew (hDlg, IDC_LM_IDOUBLED, !workprefs.gfx_autoresolution && isdouble);
+ ew (hDlg, IDC_LM_IDOUBLED2, !workprefs.gfx_autoresolution && isdouble);
+ ew (hDlg, IDC_LM_IDOUBLED3, !workprefs.gfx_autoresolution && isdouble);
}
static void enable_for_chipsetdlg (HWND hDlg)
v = workprefs.cpu_cycle_exact ? 1 : workprefs.gfx_framerate;
SendDlgItemMessage (hDlg, IDC_FRAMERATE, TBM_SETPOS, TRUE, (int)v);
- CheckRadioButton (hDlg, IDC_LM_NORMAL, IDC_LM_SCANLINES, IDC_LM_NORMAL + workprefs.gfx_vresolution + (workprefs.gfx_scanlines ? 1 : 0));
+ CheckRadioButton (hDlg, IDC_LM_NORMAL, IDC_LM_SCANLINES, IDC_LM_NORMAL + (workprefs.gfx_vresolution ? 1 : 0) + ((workprefs.gfx_scanlines & 1) ? 1 : 0));
+ CheckRadioButton (hDlg, IDC_LM_INORMAL, IDC_LM_IDOUBLED3, IDC_LM_INORMAL + (workprefs.gfx_scanlines >= 2 ? workprefs.gfx_scanlines / 2 + 1: (workprefs.gfx_vresolution ? 1 : 0)));
SendDlgItemMessage(hDlg, IDC_SCREENMODE_NATIVE, CB_RESETCONTENT, 0, 0);
SendDlgItemMessage(hDlg, IDC_SCREENMODE_NATIVE2, CB_RESETCONTENT, 0, 0);
workprefs.gfx_lores_mode = ischecked (hDlg, IDC_LORES_SMOOTHED);
workprefs.gfx_scandoubler = ischecked (hDlg, IDC_FLICKERFIXER);
workprefs.gfx_blackerthanblack = ischecked (hDlg, IDC_BLACKER_THAN_BLACK);
+
+ int vres = workprefs.gfx_vresolution;
+ int vscan = workprefs.gfx_scanlines;
+
workprefs.gfx_vresolution = (ischecked (hDlg, IDC_LM_DOUBLED) || ischecked (hDlg, IDC_LM_SCANLINES)) ? VRES_DOUBLE : VRES_NONDOUBLE;
- workprefs.gfx_scanlines = ischecked (hDlg, IDC_LM_SCANLINES);
+ workprefs.gfx_scanlines = 0;
+ if (workprefs.gfx_vresolution >= VRES_DOUBLE) {
+ if (ischecked (hDlg, IDC_LM_IDOUBLED2))
+ workprefs.gfx_scanlines = 2;
+ if (ischecked (hDlg, IDC_LM_IDOUBLED3))
+ workprefs.gfx_scanlines = 4;
+ }
+ workprefs.gfx_scanlines |= ischecked (hDlg, IDC_LM_SCANLINES) ? 1 : 0;
+
+ if (vres != workprefs.gfx_vresolution || vscan != workprefs.gfx_scanlines) {
+ CheckRadioButton (hDlg, IDC_LM_NORMAL, IDC_LM_SCANLINES, IDC_LM_NORMAL + (workprefs.gfx_vresolution ? 1 : 0) + ((workprefs.gfx_scanlines & 1) ? 1 : 0));
+ CheckRadioButton (hDlg, IDC_LM_INORMAL, IDC_LM_IDOUBLED3, IDC_LM_INORMAL + (workprefs.gfx_scanlines >= 2 ? workprefs.gfx_scanlines / 2 + 1: (workprefs.gfx_vresolution ? 1 : 0)));
+ }
+
workprefs.gfx_apmode[0].gfx_backbuffers = SendDlgItemMessage (hDlg, IDC_DISPLAY_BUFFERCNT, CB_GETCURSEL, 0, 0);
workprefs.gfx_framerate = SendDlgItemMessage (hDlg, IDC_FRAMERATE, TBM_GETPOS, 0, 0);
dialogreturn = -1;
hAccelTable = NULL;
- DragAcceptFiles (hwnd, TRUE);
+ if (hwnd != NULL)
+ DragAcceptFiles (hwnd, TRUE);
if (first)
write_log (_T("Entering GUI idle loop\n"));
}
tres = scaleresource (panelresource, hwnd, gui_resize_enabled);
- dhwnd = CreateDialogIndirect (tres->inst, tres->resource, hwnd, DialogProc);
+ dhwnd = CreateDialogIndirect (tres->inst, tres->resource, NULL, DialogProc);
dialog_rect.top = dialog_rect.left = 0;
dialog_rect.right = tres->width;
dialog_rect.bottom = tres->height;
{DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Release|Win32.ActiveCfg = Release|Win32
{DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Release|x64.ActiveCfg = Release|Win32
{DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Release|x86.ActiveCfg = Release|Win32
- {DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Release|x86.Build.0 = Release|Win32
{DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Test|Mixed Platforms.Build.0 = Test|Win32
{DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Test|Win32.ActiveCfg = Test|Win32
{DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Test|x64.ActiveCfg = Test|Win32
{DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Test|x86.ActiveCfg = Test|Win32
- {DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Test|x86.Build.0 = Test|Win32
{54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Debug|Win32.ActiveCfg = Debug|Win32
{54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Release|Win32.ActiveCfg = Release|Win32
{54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Release|x64.ActiveCfg = Release|Win32
{54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Release|x86.ActiveCfg = Release|Win32
- {54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Release|x86.Build.0 = Release|Win32
{54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Test|Mixed Platforms.Build.0 = Test|Win32
{54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Test|Win32.ActiveCfg = Test|Win32
{54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Test|x64.ActiveCfg = Test|Win32
{54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Test|x86.ActiveCfg = Test|Win32
- {54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Test|x86.Build.0 = Test|Win32
{765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Debug|Win32.ActiveCfg = Debug|Win32
{765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Release|Win32.ActiveCfg = Release|Win32
{765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Release|x64.ActiveCfg = Release|Win32
{765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Release|x86.ActiveCfg = Release|Win32
- {765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Release|x86.Build.0 = Release|Win32
{765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Test|Mixed Platforms.Build.0 = Test|Win32
{765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Test|Win32.ActiveCfg = Test|Win32
{765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Test|x64.ActiveCfg = Test|Win32
{765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Test|x86.ActiveCfg = Test|Win32
- {765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Test|x86.Build.0 = Test|Win32
{AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Debug|Win32.ActiveCfg = Debug|Win32
{AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Release|Win32.ActiveCfg = Release|Win32
{AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Release|x64.ActiveCfg = Release|Win32
{AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Release|x86.ActiveCfg = Release|Win32
- {AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Release|x86.Build.0 = Release|Win32
{AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Test|Mixed Platforms.Build.0 = Test|Win32
{AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Test|Win32.ActiveCfg = Test|Win32
{AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Test|x64.ActiveCfg = Test|Win32
{AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Test|x86.ActiveCfg = Test|Win32
- {AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Test|x86.Build.0 = Test|Win32
{DAF2EB1A-546A-41B3-9755-187562C01E3C}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{DAF2EB1A-546A-41B3-9755-187562C01E3C}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{DAF2EB1A-546A-41B3-9755-187562C01E3C}.Debug|Win32.ActiveCfg = Debug|Win32
{DAF2EB1A-546A-41B3-9755-187562C01E3C}.Release|Win32.ActiveCfg = Release|Win32
{DAF2EB1A-546A-41B3-9755-187562C01E3C}.Release|x64.ActiveCfg = Release|Win32
{DAF2EB1A-546A-41B3-9755-187562C01E3C}.Release|x86.ActiveCfg = Release|Win32
- {DAF2EB1A-546A-41B3-9755-187562C01E3C}.Release|x86.Build.0 = Release|Win32
{DAF2EB1A-546A-41B3-9755-187562C01E3C}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{DAF2EB1A-546A-41B3-9755-187562C01E3C}.Test|Mixed Platforms.Build.0 = Test|Win32
{DAF2EB1A-546A-41B3-9755-187562C01E3C}.Test|Win32.ActiveCfg = Test|Win32
{DAF2EB1A-546A-41B3-9755-187562C01E3C}.Test|x64.ActiveCfg = Test|Win32
{DAF2EB1A-546A-41B3-9755-187562C01E3C}.Test|x86.ActiveCfg = Test|Win32
- {DAF2EB1A-546A-41B3-9755-187562C01E3C}.Test|x86.Build.0 = Test|Win32
{C85288FB-A035-42CA-B5FB-8E6214319E97}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{C85288FB-A035-42CA-B5FB-8E6214319E97}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{C85288FB-A035-42CA-B5FB-8E6214319E97}.Debug|Win32.ActiveCfg = Debug|Win32
{C85288FB-A035-42CA-B5FB-8E6214319E97}.Release|Win32.ActiveCfg = Release|Win32
{C85288FB-A035-42CA-B5FB-8E6214319E97}.Release|x64.ActiveCfg = Release|Win32
{C85288FB-A035-42CA-B5FB-8E6214319E97}.Release|x86.ActiveCfg = Release|Win32
- {C85288FB-A035-42CA-B5FB-8E6214319E97}.Release|x86.Build.0 = Release|Win32
{C85288FB-A035-42CA-B5FB-8E6214319E97}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{C85288FB-A035-42CA-B5FB-8E6214319E97}.Test|Mixed Platforms.Build.0 = Test|Win32
{C85288FB-A035-42CA-B5FB-8E6214319E97}.Test|Win32.ActiveCfg = Test|Win32
{C85288FB-A035-42CA-B5FB-8E6214319E97}.Test|x64.ActiveCfg = Test|Win32
{C85288FB-A035-42CA-B5FB-8E6214319E97}.Test|x86.ActiveCfg = Test|Win32
- {C85288FB-A035-42CA-B5FB-8E6214319E97}.Test|x86.Build.0 = Test|Win32
{960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Debug|Win32.ActiveCfg = Debug|Win32
{960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Release|Win32.ActiveCfg = Release|Win32
{960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Release|x64.ActiveCfg = Release|Win32
{960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Release|x86.ActiveCfg = Release|Win32
- {960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Release|x86.Build.0 = Release|Win32
{960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Test|Mixed Platforms.Build.0 = Test|Win32
{960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Test|Win32.ActiveCfg = Test|Win32
{960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Test|x64.ActiveCfg = Test|Win32
{960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Test|x86.ActiveCfg = Test|Win32
- {960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Test|x86.Build.0 = Test|Win32
{79BDABE6-5308-4D64-8884-A5A35909D8D3}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{79BDABE6-5308-4D64-8884-A5A35909D8D3}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{79BDABE6-5308-4D64-8884-A5A35909D8D3}.Debug|Win32.ActiveCfg = Debug|Win32
{79BDABE6-5308-4D64-8884-A5A35909D8D3}.Release|Win32.ActiveCfg = Release|Win32
{79BDABE6-5308-4D64-8884-A5A35909D8D3}.Release|x64.ActiveCfg = Release|Win32
{79BDABE6-5308-4D64-8884-A5A35909D8D3}.Release|x86.ActiveCfg = Release|Win32
- {79BDABE6-5308-4D64-8884-A5A35909D8D3}.Release|x86.Build.0 = Release|Win32
{79BDABE6-5308-4D64-8884-A5A35909D8D3}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{79BDABE6-5308-4D64-8884-A5A35909D8D3}.Test|Mixed Platforms.Build.0 = Test|Win32
{79BDABE6-5308-4D64-8884-A5A35909D8D3}.Test|Win32.ActiveCfg = Test|Win32
{79BDABE6-5308-4D64-8884-A5A35909D8D3}.Test|x64.ActiveCfg = Test|Win32
{79BDABE6-5308-4D64-8884-A5A35909D8D3}.Test|x86.ActiveCfg = Test|Win32
- {79BDABE6-5308-4D64-8884-A5A35909D8D3}.Test|x86.Build.0 = Test|Win32
{E9F73E11-A463-45C6-A733-2BED75852BA1}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{E9F73E11-A463-45C6-A733-2BED75852BA1}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{E9F73E11-A463-45C6-A733-2BED75852BA1}.Debug|Win32.ActiveCfg = Debug|Win32
{E9F73E11-A463-45C6-A733-2BED75852BA1}.Release|Win32.ActiveCfg = Release|Win32
{E9F73E11-A463-45C6-A733-2BED75852BA1}.Release|x64.ActiveCfg = Release|Win32
{E9F73E11-A463-45C6-A733-2BED75852BA1}.Release|x86.ActiveCfg = Release|Win32
- {E9F73E11-A463-45C6-A733-2BED75852BA1}.Release|x86.Build.0 = Release|Win32
{E9F73E11-A463-45C6-A733-2BED75852BA1}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{E9F73E11-A463-45C6-A733-2BED75852BA1}.Test|Mixed Platforms.Build.0 = Test|Win32
{E9F73E11-A463-45C6-A733-2BED75852BA1}.Test|Win32.ActiveCfg = Test|Win32
{E9F73E11-A463-45C6-A733-2BED75852BA1}.Test|x64.ActiveCfg = Test|Win32
{E9F73E11-A463-45C6-A733-2BED75852BA1}.Test|x86.ActiveCfg = Test|Win32
- {E9F73E11-A463-45C6-A733-2BED75852BA1}.Test|x86.Build.0 = Test|Win32
{38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Debug|Win32.ActiveCfg = Debug|Win32
{38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Release|Win32.ActiveCfg = Release|Win32
{38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Release|x64.ActiveCfg = Release|Win32
{38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Release|x86.ActiveCfg = Release|Win32
- {38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Release|x86.Build.0 = Release|Win32
{38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Test|Mixed Platforms.Build.0 = Test|Win32
{38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Test|Win32.ActiveCfg = Test|Win32
{38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Test|x64.ActiveCfg = Test|Win32
{38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Test|x86.ActiveCfg = Test|Win32
- {38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Test|x86.Build.0 = Test|Win32
{6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Debug|Win32.ActiveCfg = Debug|Win32
{6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Release|Win32.ActiveCfg = Release|Win32
{6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Release|x64.ActiveCfg = Release|Win32
{6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Release|x86.ActiveCfg = Release|Win32
- {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Release|x86.Build.0 = Release|Win32
{6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Test|Mixed Platforms.Build.0 = Test|Win32
{6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Test|Win32.ActiveCfg = Test|Win32
{6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Test|x64.ActiveCfg = Test|Win32
{6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Test|x86.ActiveCfg = Test|Win32
- {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Test|x86.Build.0 = Test|Win32
{2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Debug|Win32.ActiveCfg = Debug|Win32
{2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Release|Win32.ActiveCfg = Release|Win32
{2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Release|x64.ActiveCfg = Release|x64
{2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Release|x86.ActiveCfg = Release|Win32
- {2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Release|x86.Build.0 = Release|Win32
{2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Test|Mixed Platforms.Build.0 = Test|Win32
{2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Test|Win32.ActiveCfg = Test|Win32
{2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Test|x64.ActiveCfg = Test|x64
{2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Test|x86.ActiveCfg = Test|Win32
- {2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Test|x86.Build.0 = Test|Win32
{8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Debug|Win32.ActiveCfg = Debug|Win32
{8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Release|Win32.ActiveCfg = Release|Win32
{8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Release|x64.ActiveCfg = Release|x64
{8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Release|x86.ActiveCfg = Release|Win32
- {8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Release|x86.Build.0 = Release|Win32
{8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Test|Mixed Platforms.Build.0 = Test|Win32
{8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Test|Win32.ActiveCfg = Test|Win32
{8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Test|x64.ActiveCfg = Test|x64
{8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Test|x86.ActiveCfg = Test|Win32
- {8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Test|x86.Build.0 = Test|Win32
{98BA115B-829F-4085-9729-ABD0D779A60A}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{98BA115B-829F-4085-9729-ABD0D779A60A}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{98BA115B-829F-4085-9729-ABD0D779A60A}.Debug|Win32.ActiveCfg = Debug|Win32
{98BA115B-829F-4085-9729-ABD0D779A60A}.Release|Win32.ActiveCfg = Release|Win32
{98BA115B-829F-4085-9729-ABD0D779A60A}.Release|x64.ActiveCfg = Release|x64
{98BA115B-829F-4085-9729-ABD0D779A60A}.Release|x86.ActiveCfg = Release|Win32
- {98BA115B-829F-4085-9729-ABD0D779A60A}.Release|x86.Build.0 = Release|Win32
{98BA115B-829F-4085-9729-ABD0D779A60A}.Test|Mixed Platforms.ActiveCfg = Test|Win32
{98BA115B-829F-4085-9729-ABD0D779A60A}.Test|Mixed Platforms.Build.0 = Test|Win32
{98BA115B-829F-4085-9729-ABD0D779A60A}.Test|Win32.ActiveCfg = Test|Win32
{98BA115B-829F-4085-9729-ABD0D779A60A}.Test|x64.ActiveCfg = Test|x64
{98BA115B-829F-4085-9729-ABD0D779A60A}.Test|x86.ActiveCfg = Test|Win32
- {98BA115B-829F-4085-9729-ABD0D779A60A}.Test|x86.Build.0 = Test|Win32
{BE211CE1-3955-4674-A664-5038FC791980}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{BE211CE1-3955-4674-A664-5038FC791980}.Debug|Mixed Platforms.Build.0 = Debug|x86
{BE211CE1-3955-4674-A664-5038FC791980}.Debug|Win32.ActiveCfg = Debug|x86
{BE211CE1-3955-4674-A664-5038FC791980}.Release|Win32.ActiveCfg = Release|x86
{BE211CE1-3955-4674-A664-5038FC791980}.Release|x64.ActiveCfg = Release|x86
{BE211CE1-3955-4674-A664-5038FC791980}.Release|x86.ActiveCfg = Release|x86
- {BE211CE1-3955-4674-A664-5038FC791980}.Release|x86.Build.0 = Release|x86
{BE211CE1-3955-4674-A664-5038FC791980}.Test|Mixed Platforms.ActiveCfg = Release|x86
{BE211CE1-3955-4674-A664-5038FC791980}.Test|Mixed Platforms.Build.0 = Release|x86
{BE211CE1-3955-4674-A664-5038FC791980}.Test|Win32.ActiveCfg = Release|x86
{BE211CE1-3955-4674-A664-5038FC791980}.Test|x64.ActiveCfg = Release|x86
{BE211CE1-3955-4674-A664-5038FC791980}.Test|x86.ActiveCfg = Release|x86
- {BE211CE1-3955-4674-A664-5038FC791980}.Test|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Test|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>