mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
fix for vhack with boxing/maintas
This commit is contained in:
parent
f8a3498a5a
commit
e32bf1032f
@ -93,7 +93,8 @@ DWORD WINAPI render_main(void)
|
|||||||
glMapBufferARB = (PFNGLMAPBUFFERARBPROC)wglGetProcAddress("glMapBufferARB");
|
glMapBufferARB = (PFNGLMAPBUFFERARBPROC)wglGetProcAddress("glMapBufferARB");
|
||||||
glUnmapBufferARB = (PFNGLUNMAPBUFFERARBPROC)wglGetProcAddress("glUnmapBufferARB");
|
glUnmapBufferARB = (PFNGLUNMAPBUFFERARBPROC)wglGetProcAddress("glUnmapBufferARB");
|
||||||
|
|
||||||
if(glGenBuffersARB && glBindBufferARB && glBufferDataARB && glMapBufferARB && glUnmapBufferARB && glDeleteBuffersARB)
|
if(glGenBuffersARB && glBindBufferARB && glBufferDataARB &&
|
||||||
|
glMapBufferARB && glUnmapBufferARB && glDeleteBuffersARB)
|
||||||
{
|
{
|
||||||
pboSupported = TRUE;
|
pboSupported = TRUE;
|
||||||
}
|
}
|
||||||
@ -224,7 +225,8 @@ DWORD WINAPI render_main(void)
|
|||||||
{
|
{
|
||||||
for(j=0; j<ddraw->width; j++)
|
for(j=0; j<ddraw->width; j++)
|
||||||
{
|
{
|
||||||
ptr[i*ddraw->width+j] = ddraw->primary->palette->data_bgr[((unsigned char *)ddraw->primary->surface)[i*ddraw->primary->lPitch + j*ddraw->primary->lXPitch]];
|
ptr[i*ddraw->width+j] =
|
||||||
|
ddraw->primary->palette->data_bgr[((unsigned char *)ddraw->primary->surface)[i*ddraw->primary->lPitch + j*ddraw->primary->lXPitch]];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -239,7 +241,8 @@ DWORD WINAPI render_main(void)
|
|||||||
{
|
{
|
||||||
for(j=0; j<ddraw->width; j++)
|
for(j=0; j<ddraw->width; j++)
|
||||||
{
|
{
|
||||||
tex[i*ddraw->width+j] = ddraw->primary->palette->data_bgr[((unsigned char *)ddraw->primary->surface)[i*ddraw->primary->lPitch + j*ddraw->primary->lXPitch]];
|
tex[i*ddraw->width+j] =
|
||||||
|
ddraw->primary->palette->data_bgr[((unsigned char *)ddraw->primary->surface)[i*ddraw->primary->lPitch + j*ddraw->primary->lXPitch]];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -103,13 +103,20 @@ DWORD WINAPI render_soft_main(void)
|
|||||||
ddraw->primary->palette->data_rgb = &bmi->bmiColors[0];
|
ddraw->primary->palette->data_rgb = &bmi->bmiColors[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ddraw->render.width != ddraw->width || ddraw->render.height != ddraw->height) && !(ddraw->vhack && detect_cutscene()) )
|
if ((ddraw->render.width != ddraw->width || ddraw->render.height != ddraw->height) &&
|
||||||
|
!(ddraw->vhack && detect_cutscene()) )
|
||||||
{
|
{
|
||||||
StretchDIBits(ddraw->render.hDC, ddraw->render.viewport.x, ddraw->render.viewport.y, ddraw->render.viewport.width, ddraw->render.viewport.height, 0, 0, ddraw->width, ddraw->height, ddraw->primary->surface, bmi, DIB_RGB_COLORS, SRCCOPY);
|
StretchDIBits(
|
||||||
|
ddraw->render.hDC, ddraw->render.viewport.x, ddraw->render.viewport.y,
|
||||||
|
ddraw->render.viewport.width, ddraw->render.viewport.height,
|
||||||
|
0, 0, ddraw->width, ddraw->height, ddraw->primary->surface,
|
||||||
|
bmi, DIB_RGB_COLORS, SRCCOPY);
|
||||||
}
|
}
|
||||||
else if (!(ddraw->vhack && detect_cutscene()))
|
else if (!(ddraw->vhack && detect_cutscene()))
|
||||||
{
|
{
|
||||||
SetDIBitsToDevice(ddraw->render.hDC, 0, 0, ddraw->width, ddraw->height, 0, 0, 0, ddraw->height, ddraw->primary->surface, bmi, DIB_RGB_COLORS);
|
SetDIBitsToDevice(
|
||||||
|
ddraw->render.hDC, 0, 0, ddraw->width, ddraw->height, 0, 0, 0,
|
||||||
|
ddraw->height, ddraw->primary->surface, bmi, DIB_RGB_COLORS);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -120,9 +127,14 @@ DWORD WINAPI render_soft_main(void)
|
|||||||
ddraw->primary->palette->data_rgb = &bmi->bmiColors[0];
|
ddraw->primary->palette->data_rgb = &bmi->bmiColors[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
StretchDIBits(ddraw->render.hDC, 0, 0, ddraw->render.width, ddraw->render.height, 0, ddraw->height-400, CUTSCENE_WIDTH, CUTSCENE_HEIGHT, ddraw->primary->surface, bmi, DIB_RGB_COLORS, SRCCOPY);
|
StretchDIBits(
|
||||||
|
ddraw->render.hDC, ddraw->render.viewport.x, ddraw->render.viewport.y,
|
||||||
|
ddraw->render.viewport.width, ddraw->render.viewport.height,
|
||||||
|
0, ddraw->height-400, CUTSCENE_WIDTH, CUTSCENE_HEIGHT, ddraw->primary->surface,
|
||||||
|
bmi, DIB_RGB_COLORS, SRCCOPY);
|
||||||
|
|
||||||
if (ddraw->primary->palette && (ddraw->cursorclip.width != CUTSCENE_WIDTH || ddraw->cursorclip.height != CUTSCENE_HEIGHT))
|
if (ddraw->primary->palette &&
|
||||||
|
(ddraw->cursorclip.width != CUTSCENE_WIDTH || ddraw->cursorclip.height != CUTSCENE_HEIGHT))
|
||||||
{
|
{
|
||||||
ddraw->cursorclip.width = CUTSCENE_WIDTH;
|
ddraw->cursorclip.width = CUTSCENE_WIDTH;
|
||||||
ddraw->cursorclip.height = CUTSCENE_HEIGHT;
|
ddraw->cursorclip.height = CUTSCENE_HEIGHT;
|
||||||
@ -130,7 +142,8 @@ DWORD WINAPI render_soft_main(void)
|
|||||||
ddraw->cursor.y = CUTSCENE_HEIGHT / 2;
|
ddraw->cursor.y = CUTSCENE_HEIGHT / 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(ddraw->primary && ddraw->primary->palette && (ddraw->cursorclip.width != ddraw->width || ddraw->cursorclip.height != ddraw->height))
|
else if(ddraw->primary && ddraw->primary->palette &&
|
||||||
|
(ddraw->cursorclip.width != ddraw->width || ddraw->cursorclip.height != ddraw->height))
|
||||||
{
|
{
|
||||||
ddraw->cursorclip.width = ddraw->width;
|
ddraw->cursorclip.width = ddraw->width;
|
||||||
ddraw->cursorclip.height = ddraw->height;
|
ddraw->cursorclip.height = ddraw->height;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user