git-svn-id: file:///home/notaz/opt/svn/PicoDrive@347 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2008-02-04 17:56:43 +00:00
parent 471711c0ac
commit 278922b838
2 changed files with 18 additions and 4 deletions

View file

@ -58,7 +58,7 @@ static int DirectDrawInit()
// Create the backbuffer surface
ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_3DDEVICE;
ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_SYSTEMMEMORY;
ddsd.dwWidth = EmuWidth;
ddsd.dwHeight = EmuHeight;
@ -110,6 +110,20 @@ static int DirectScreenDDraw()
dst = (int *)((char *)dst + sd.lPitch);
}
}
else if (sd.ddpfPixelFormat.dwRGBBitCount == 24) /* wine uses this for me */
{
void *dst = sd.lpSurface;
for (y = 0; y < EmuHeight; y++)
{
unsigned char *dst1 = (unsigned char *) dst;
for (x = 0; x < EmuWidth; x++, dst1 += 3)
{
int s = *ps++;
dst1[2] = (s&0xf800)>>8; dst1[1] = (s&0x07e0)>>3; dst1[0] = s<<3; // BGR
}
dst = (void *)((char *)dst + sd.lPitch);
}
}
else if (sd.ddpfPixelFormat.dwRGBBitCount == 16)
{
unsigned short *dst = (unsigned short *)sd.lpSurface;

View file

@ -11,6 +11,7 @@ int lock_to_1_1 = 1;
int MainWidth=720,MainHeight=480;
static HMENU mdisplay = 0;
static unsigned char *rom_data = NULL;
static void UpdateRect()
{
@ -24,7 +25,6 @@ static void UpdateRect()
static void LoadROM(const char *cmdpath)
{
static char rompath[MAX_PATH] = { 0, };
static unsigned char *rom_data = NULL;
unsigned char *rom_data_new = NULL;
unsigned int rom_size = 0;
pm_file *rom = NULL;
@ -106,7 +106,7 @@ static LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam)
lock_to_1_1=0;
CheckMenuItem(mdisplay, 1104, MF_UNCHECKED);
}
LoopWait=0;
if (rom_data != NULL) LoopWait=0;
return 0;
case 1104:
lock_to_1_1=!lock_to_1_1;
@ -181,7 +181,7 @@ static int FrameInit()
InsertMenu(mmain, -1, MF_BYPOSITION|MF_STRING|MF_POPUP, (UINT_PTR) mfile, "&File");
InsertMenu(mmain, -1, MF_BYPOSITION|MF_STRING|MF_POPUP, (UINT_PTR) mdisplay, "&Display");
// InsertMenu(mmain, -1, MF_BYPOSITION|MF_STRING|MF_POPUP, 1200, "&Config");
InsertMenu(mmain, -1, MF_BYPOSITION|MF_STRING|MF_POPUP, 1300, "&About");
InsertMenu(mmain, -1, MF_BYPOSITION|MF_STRING, 1300, "&About");
// Create the window:
FrameWnd=CreateWindow(wc.lpszClassName,"PicoDrive " VERSION,style|WS_VISIBLE,