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