diff --git a/gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h b/gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h index 388751e10c..b3be6f4391 100644 --- a/gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h +++ b/gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h @@ -34,11 +34,11 @@ static const char *stock_hlsl_program = CG( float frame_rotation; }; - output main_fragment(float2 texCoord : TEXCOORD0, + output main_fragment(float4 color : COLOR, float2 texCoord : TEXCOORD0, uniform sampler2D decal : TEXUNIT0, uniform input IN) { output OUT; - OUT.color = tex2D(decal, texCoord); + OUT.color = color * tex2D(decal, texCoord); return OUT; } ); diff --git a/gfx/drivers/gdi_gfx.c b/gfx/drivers/gdi_gfx.c index b2ecd17faf..6a1bfe6a1a 100644 --- a/gfx/drivers/gdi_gfx.c +++ b/gfx/drivers/gdi_gfx.c @@ -43,6 +43,15 @@ static HDC win32_gdi_hdc; static void *dinput_gdi; +struct bitmap_info { + BITMAPINFOHEADER header; + union { + RGBQUAD colors; + DWORD masks[3]; + } u; +}; + + static void gfx_ctx_gdi_update_title(void) { char title[128]; @@ -301,7 +310,7 @@ static bool gdi_gfx_frame(void *data, const void *frame, unsigned frame_width, unsigned frame_height, uint64_t frame_count, unsigned pitch, const char *msg, video_frame_info_t *video_info) { - BITMAPINFO info; + struct bitmap_info info; unsigned mode_width = 0; unsigned mode_height = 0; const void *frame_to_copy = frame; @@ -410,22 +419,22 @@ static bool gdi_gfx_frame(void *data, const void *frame, gdi->screen_width = mode_width; gdi->screen_height = mode_height; - info.bmiColors[0].rgbBlue = 0; - info.bmiColors[0].rgbGreen = 0; - info.bmiColors[0].rgbRed = 0; - info.bmiColors[0].rgbReserved = 0; + info.u.colors.rgbBlue = 0; + info.u.colors.rgbGreen = 0; + info.u.colors.rgbRed = 0; + info.u.colors.rgbReserved = 0; - info.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); - info.bmiHeader.biWidth = pitch / (bits / 8); - info.bmiHeader.biHeight = -height; - info.bmiHeader.biPlanes = 1; - info.bmiHeader.biBitCount = bits; - info.bmiHeader.biCompression = 0; - info.bmiHeader.biSizeImage = 0; - info.bmiHeader.biXPelsPerMeter= 0; - info.bmiHeader.biYPelsPerMeter= 0; - info.bmiHeader.biClrUsed = 0; - info.bmiHeader.biClrImportant = 0; + info.header.biSize = sizeof(BITMAPINFOHEADER); + info.header.biWidth = pitch / (bits / 8); + info.header.biHeight = -height; + info.header.biPlanes = 1; + info.header.biBitCount = bits; + info.header.biCompression = 0; + info.header.biSizeImage = 0; + info.header.biXPelsPerMeter= 0; + info.header.biYPelsPerMeter= 0; + info.header.biClrUsed = 0; + info.header.biClrImportant = 0; if (bits == 16) { @@ -445,37 +454,35 @@ static bool gdi_gfx_frame(void *data, const void *frame, } frame_to_copy = gdi->temp_buf; - info.bmiHeader.biCompression = BI_RGB; + info.header.biCompression = BI_RGB; } else { - unsigned *masks = (unsigned*)info.bmiColors; - - info.bmiHeader.biCompression = BI_BITFIELDS; + info.header.biCompression = BI_BITFIELDS; /* default 16-bit format on Windows is XRGB1555 */ if (frame_to_copy == gdi->menu_frame) { /* map RGB444 color bits for RGUI */ - masks[0] = 0xF000; - masks[1] = 0x0F00; - masks[2] = 0x00F0; + info.u.masks[0] = 0xF000; + info.u.masks[1] = 0x0F00; + info.u.masks[2] = 0x00F0; } else { /* map RGB565 color bits for core */ - masks[0] = 0xF800; - masks[1] = 0x07E0; - masks[2] = 0x001F; + info.u.masks[0] = 0xF800; + info.u.masks[1] = 0x07E0; + info.u.masks[2] = 0x001F; } } } else - info.bmiHeader.biCompression = BI_RGB; + info.header.biCompression = BI_RGB; if (draw) StretchDIBits(gdi->memDC, 0, 0, width, height, 0, 0, width, height, - frame_to_copy, &info, DIB_RGB_COLORS, SRCCOPY); + frame_to_copy, (BITMAPINFO*)&info, DIB_RGB_COLORS, SRCCOPY); SelectObject(gdi->memDC, gdi->bmp_old); diff --git a/gfx/drivers_renderchain/d3d9_hlsl_renderchain.c b/gfx/drivers_renderchain/d3d9_hlsl_renderchain.c index 68097e5f55..6240a67929 100644 --- a/gfx/drivers_renderchain/d3d9_hlsl_renderchain.c +++ b/gfx/drivers_renderchain/d3d9_hlsl_renderchain.c @@ -246,7 +246,7 @@ static bool hlsl_d3d9_renderchain_create_first_pass( unsigned _fmt) { unsigned i; - struct shader_pass pass; + struct shader_pass pass = { 0 }; unsigned fmt = (_fmt == RETRO_PIXEL_FORMAT_RGB565) ? d3d9_get_rgb565_format() : d3d9_get_xrgb8888_format(); diff --git a/gfx/gfx_animation.c b/gfx/gfx_animation.c index 72836ba60b..64f026793a 100644 --- a/gfx/gfx_animation.c +++ b/gfx/gfx_animation.c @@ -2004,14 +2004,14 @@ bool gfx_animation_line_ticker_smooth(gfx_animation_ctx_line_ticker_smooth_t *li glyph_width = font_driver_get_message_width( line_ticker->font, "a", 1, line_ticker->font_scale); - if (glyph_width < 0) + if (glyph_width <= 0) goto end; /* > Height */ glyph_height = font_driver_get_line_height( line_ticker->font, line_ticker->font_scale); - if (glyph_height < 0) + if (glyph_height <= 0) goto end; /* Determine line wrap parameters */ diff --git a/intl/msg_hash_chs.h b/intl/msg_hash_chs.h index 9bd2da76c3..bb59d2aede 100644 --- a/intl/msg_hash_chs.h +++ b/intl/msg_hash_chs.h @@ -9750,10 +9750,6 @@ MSG_HASH( MSG_PAUSED, "暂停。" ) -MSG_HASH( - MSG_PROGRAM, - "全能模拟器" - ) MSG_HASH( MSG_READING_FIRST_DATA_TRACK, "读取第一条数据轨..." diff --git a/pkg/msvc/msvc-2019/RetroArch-msvc2019.vcxproj b/pkg/msvc/msvc-2019/RetroArch-msvc2019.vcxproj index 6a637ca55d..fd0a5b56cc 100644 --- a/pkg/msvc/msvc-2019/RetroArch-msvc2019.vcxproj +++ b/pkg/msvc/msvc-2019/RetroArch-msvc2019.vcxproj @@ -141,27 +141,27 @@ Application true NotSet - v141 + v142 Application true NotSet - v141 + v142 true Application true NotSet - v141 + v142 true Application true NotSet - v141 + v142 Application @@ -173,43 +173,43 @@ Application true NotSet - v141 + v142 Application true NotSet - v141 + v142 Application true NotSet - v141 + v142 Application true NotSet - v141 + v142 Application true NotSet - v141 + v142 Application true NotSet - v141 + v142 Application true NotSet - v141 + v142 Application @@ -227,27 +227,27 @@ Application true NotSet - v141 + v142 Application true NotSet - v141 + v142 Application false true NotSet - v141 + v142 Application false true NotSet - v141 + v142 true @@ -255,7 +255,7 @@ false true NotSet - v141 + v142 true @@ -263,63 +263,63 @@ false true NotSet - v141 + v142 Application false true NotSet - v141 + v142 Application false true NotSet - v141 + v142 Application false true NotSet - v141 + v142 Application false true NotSet - v141 + v142 Application false true NotSet - v141 + v142 Application false true NotSet - v141 + v142 Application false true NotSet - v141 + v142 Application false true NotSet - v141 + v142 Application @@ -333,21 +333,21 @@ false true NotSet - v141 + v142 Application false true NotSet - v141 + v142 Application false true NotSet - v141 + v142 @@ -2564,4 +2564,4 @@ - + \ No newline at end of file