Fix stretched BGAs in 9th and 10th style #249
Vendored
+1
-1
@@ -10,7 +10,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
|
||||
Vendored
+1
-1
@@ -10,7 +10,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
|
||||
Vendored
+1
-1
@@ -10,7 +10,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
|
||||
Vendored
+1
-1
@@ -10,7 +10,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
|
||||
Vendored
+1
-1
@@ -10,7 +10,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
|
||||
Vendored
+1
-1
@@ -7,7 +7,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
|
||||
Vendored
+1
-1
@@ -7,7 +7,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
|
||||
Vendored
+1
-1
@@ -7,7 +7,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
|
||||
Vendored
+1
-1
@@ -7,7 +7,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
|
||||
Vendored
-3
@@ -1,9 +1,6 @@
|
||||
# PCBID
|
||||
eamuse.pcbid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
gfx.framed=false
|
||||
|
||||
|
||||
Vendored
-3
@@ -1,6 +1,3 @@
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
gfx.framed=false
|
||||
|
||||
|
||||
Vendored
-3
@@ -1,6 +1,3 @@
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
gfx.framed=false
|
||||
|
||||
|
||||
Vendored
-3
@@ -1,9 +1,6 @@
|
||||
# PCBID
|
||||
eamuse.pcbid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
gfx.framed=false
|
||||
|
||||
|
||||
Vendored
-3
@@ -1,6 +1,3 @@
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
gfx.framed=false
|
||||
|
||||
|
||||
Vendored
-3
@@ -1,6 +1,3 @@
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
gfx.framed=false
|
||||
|
||||
|
||||
Vendored
-3
@@ -1,6 +1,3 @@
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
gfx.framed=false
|
||||
|
||||
|
||||
Vendored
-3
@@ -1,6 +1,3 @@
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
gfx.framed=false
|
||||
|
||||
|
||||
Vendored
-3
@@ -1,6 +1,3 @@
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
gfx.framed=false
|
||||
|
||||
|
||||
Vendored
-3
@@ -1,6 +1,3 @@
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
gfx.framed=false
|
||||
|
||||
|
||||
Vendored
-3
@@ -1,6 +1,3 @@
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
gfx.framed=false
|
||||
|
||||
|
||||
@@ -45,8 +45,9 @@ void iidxhook_config_gfx_init(struct cconfig *config)
|
||||
config,
|
||||
IIDXHOOK_CONFIG_GFX_BGVIDEO_UV_FIX_KEY,
|
||||
IIDXHOOK_CONFIG_GFX_DEFAULT_BGVIDEO_UV_FIX_VALUE,
|
||||
"Fix stretched BG videos on newer GPUs. Might appear on Red and "
|
||||
"newer");
|
||||
"Fix stretched BG videos on newer GPUs. Might appear on SIRIUS "
|
||||
"and older. On 9th and 10th style this issue may only affect "
|
||||
"older BGAs (from 1st-3rd style)");
|
||||
|
||||
cconfig_util_set_bool(
|
||||
config,
|
||||
|
||||
@@ -580,14 +580,14 @@ iidxhook_util_d3d9_iidx13_fix_song_select_bg(struct hook_d3d9_irp *irp)
|
||||
}
|
||||
|
||||
static void
|
||||
iidxhook_util_d3d9_iidx11_to_17_fix_uvs_bg_videos(struct hook_d3d9_irp *irp)
|
||||
iidxhook_util_d3d9_iidx09_to_17_fix_uvs_bg_videos(struct hook_d3d9_irp *irp)
|
||||
{
|
||||
log_assert(irp);
|
||||
log_assert(irp->op == HOOK_D3D9_IRP_OP_DEV_DRAW_PRIMITIVE_UP);
|
||||
|
||||
/* same code taken from the d3d8 module. but, this just fixes the quad
|
||||
seam issue as there are no reports of streched bg videos */
|
||||
if (iidxhook_util_d3d9_config.iidx11_to_17_fix_uvs_bg_videos &&
|
||||
if (iidxhook_util_d3d9_config.iidx09_to_17_fix_uvs_bg_videos &&
|
||||
irp->args.dev_draw_primitive_up.primitive_type == D3DPT_TRIANGLEFAN &&
|
||||
irp->args.dev_draw_primitive_up.primitive_count == 2 &&
|
||||
irp->args.dev_draw_primitive_up.stride == 28) {
|
||||
@@ -632,52 +632,100 @@ iidxhook_util_d3d9_iidx11_to_17_fix_uvs_bg_videos(struct hook_d3d9_irp *irp)
|
||||
/* different versions have different themes and position the bg
|
||||
video on slightly different positions (good job...) */
|
||||
if (/* single */
|
||||
((vertices[0].x >= 164.0f && vertices[0].x <= 168.0f &&
|
||||
iidxhook_util_d3d9_float_equal(vertices[0].y, 0.0f, 0.1f)) &&
|
||||
(vertices[1].x >= 472.0f && vertices[1].x <= 476.0f &&
|
||||
iidxhook_util_d3d9_float_equal(vertices[1].y, 0.0f, 0.1f)) &&
|
||||
(vertices[2].x >= 472.0f && vertices[2].x <= 476.0f &&
|
||||
(vertices[0].x >= 164.0f && vertices[0].x <= 168.0f &&
|
||||
iidxhook_util_d3d9_float_equal(vertices[0].y, 0.0f, 0.1f) &&
|
||||
|
Seeing in your PR description that you have the exact numbers, I would use these instead of ranges. That makes the heuristic more specific which is preferred if you have exact numbers. The larger the rage, the higher the "risk" that this might be applied to another texture as well. Seeing in your PR description that you have the exact numbers, I would use these instead of ranges. That makes the heuristic more specific which is preferred if you have exact numbers. The larger the rage, the higher the "risk" that this might be applied to another texture as well.
Alright, that if statement is breaking my brain but I tested it on 9th, 10th, and newer styles and everything seems to be working fine now. Alright, that if statement is breaking my brain but I tested it on 9th, 10th, and newer styles and everything seems to be working fine now.
|
||||
vertices[1].x >= 472.0f && vertices[1].x <= 476.1f &&
|
||||
iidxhook_util_d3d9_float_equal(vertices[1].y, 0.0f, 0.1f) &&
|
||||
vertices[2].x >= 472.0f && vertices[2].x <= 476.1f &&
|
||||
((iidxhook_util_d3d9_float_equal(
|
||||
vertices[2].y, 415.0f, 0.1f)) ||
|
||||
iidxhook_util_d3d9_float_equal(
|
||||
vertices[2].y, 416.0f, 0.1f)) &&
|
||||
(vertices[3].x >= 164.0f && vertices[3].x <= 168.0f &&
|
||||
iidxhook_util_d3d9_float_equal(
|
||||
vertices[3].y, 416.0f, 0.1f))) ||
|
||||
vertices[3].x >= 164.0f && vertices[3].x <= 168.0f &&
|
||||
((iidxhook_util_d3d9_float_equal(
|
||||
vertices[3].y, 415.0f, 0.1f)) ||
|
||||
(iidxhook_util_d3d9_float_equal(
|
||||
vertices[3].y, 416.0f, 0.1f)))) ||
|
||||
/* double top left */
|
||||
((iidxhook_util_d3d9_float_equal(vertices[0].x, 6.0f, 0.1f) &&
|
||||
vertices[0].y >= 24.0f && vertices[0].y <= 28.0f) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[1].x, 147.0f, 0.1f) &&
|
||||
vertices[1].y >= 24.0f && vertices[1].y <= 28.0f) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[2].x, 147.0f, 0.1f) &&
|
||||
vertices[2].y >= 212.0f && vertices[2].y <= 216.0f) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[3].x, 6.0f, 0.1f) &&
|
||||
vertices[3].y >= 212.0f && vertices[3].y <= 216.0f)) ||
|
||||
((iidxhook_util_d3d9_float_equal(vertices[0].x, 6.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(vertices[0].x, 11.0f, 0.1f)) &&
|
||||
vertices[0].y >= 23.9f && vertices[0].y <= 28.0f &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[1].x, 137.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(
|
||||
vertices[1].x, 147.0f, 0.1f)) &&
|
||||
vertices[1].y >= 23.9f && vertices[1].y <= 28.0f &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[2].x, 137.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(
|
||||
vertices[2].x, 147.0f, 0.1f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[2].y, 192.0f, 0.1f) ||
|
||||
(vertices[2].y >= 212.0f && vertices[2].y <= 216.0f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[3].x, 6.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(vertices[3].x, 11.0f, 0.1f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[3].y, 192.0f, 0.1f) ||
|
||||
(vertices[3].y >= 212.0f && vertices[3].y <= 216.0f))) ||
|
||||
/* double bottom left */
|
||||
((iidxhook_util_d3d9_float_equal(vertices[0].x, 6.0f, 0.1f) &&
|
||||
vertices[0].y >= 216.0f && vertices[0].y <= 220.0f) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[1].x, 147.0f, 0.1f) &&
|
||||
vertices[1].y >= 216.0f && vertices[1].y <= 220.0f) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[2].x, 147.0f, 0.1) &&
|
||||
vertices[2].y >= 404.0f && vertices[2].y <= 408.0f) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[3].x, 6.0f, 0.1f) &&
|
||||
vertices[3].y >= 404.0f && vertices[3].y <= 408.0f)) ||
|
||||
((iidxhook_util_d3d9_float_equal(vertices[0].x, 6.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(vertices[0].x, 11.0f, 0.1f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[0].y, 200.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(vertices[0].y, 206.0f, 0.1f) ||
|
||||
(vertices[0].y >= 216.0f && vertices[0].y <= 220.0f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[1].x, 137.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(
|
||||
vertices[1].x, 147.0f, 0.1f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[1].y, 200.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(vertices[1].y, 206.0f, 0.1f) ||
|
||||
(vertices[1].y >= 216.0f && vertices[1].y <= 220.0f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[2].x, 137.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(
|
||||
vertices[2].x, 147.0f, 0.1f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[2].y, 368.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(vertices[2].y, 394.0f, 0.1f) ||
|
||||
(vertices[2].y >= 404.0f && vertices[2].y <= 408.0f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[3].x, 6.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(vertices[3].x, 11.0f, 0.1f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[3].y, 368.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(vertices[3].y, 394.0f, 0.1f) ||
|
||||
(vertices[3].y >= 404.0f && vertices[3].y <= 408.0f))) ||
|
||||
/* double top right */
|
||||
((vertices[0].x >= 493.0f && vertices[0].x <= 494.0f &&
|
||||
vertices[0].y >= 24.0f && vertices[0].y <= 28.0f) &&
|
||||
(vertices[1].x >= 634.0f && vertices[1].x <= 635.0f &&
|
||||
vertices[1].y >= 24.0f && vertices[1].y <= 28.0f) &&
|
||||
(vertices[2].x >= 634.0f && vertices[2].x <= 635.0f &&
|
||||
vertices[2].y >= 212.0f && vertices[2].y <= 216.0f) &&
|
||||
(vertices[3].x >= 493.0f && vertices[3].x <= 494.0f &&
|
||||
vertices[3].y >= 212.0f && vertices[3].y <= 216.0f)) ||
|
||||
(((vertices[0].x >= 493.0f && vertices[0].x <= 494.0f) ||
|
||||
iidxhook_util_d3d9_float_equal(
|
||||
vertices[0].x, 500.0f, 0.1f)) &&
|
||||
vertices[0].y >= 23.9f && vertices[0].y <= 28.0f &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[1].x, 626.0f, 0.1f) ||
|
||||
(vertices[1].x >= 634.0f && vertices[1].x <= 635.0f)) &&
|
||||
vertices[1].y >= 23.9f && vertices[1].y <= 28.0f &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[2].x, 626.0f, 0.1f) ||
|
||||
(vertices[2].x >= 634.0f && vertices[2].x <= 635.0f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[2].y, 192.0f, 0.1f) ||
|
||||
(vertices[2].y >= 212.0f && vertices[2].y <= 216.0f)) &&
|
||||
((vertices[3].x >= 493.0f && vertices[3].x <= 494.0f) ||
|
||||
iidxhook_util_d3d9_float_equal(
|
||||
vertices[3].x, 500.0f, 0.1f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[3].y, 192.0f, 0.1f) ||
|
||||
(vertices[3].y >= 212.0f && vertices[3].y <= 216.0f))) ||
|
||||
/* double bottom right */
|
||||
((vertices[0].x >= 493.0f && vertices[0].x <= 494.0f &&
|
||||
vertices[0].y >= 216.0f && vertices[0].y <= 220.0f) &&
|
||||
(vertices[1].x >= 634.0f && vertices[1].x <= 635.0f &&
|
||||
vertices[1].y >= 216.0f && vertices[1].y <= 220.0f) &&
|
||||
(vertices[2].x >= 634.0f && vertices[2].x <= 635.0f &&
|
||||
vertices[2].y >= 404.0f && vertices[2].y <= 408.0f) &&
|
||||
(vertices[3].x >= 493.0f && vertices[3].x <= 494.0f &&
|
||||
vertices[3].y >= 404.0f && vertices[3].y <= 408.0f))) {
|
||||
(((vertices[0].x >= 493.0f && vertices[0].x <= 494.0f) ||
|
||||
iidxhook_util_d3d9_float_equal(
|
||||
vertices[0].x, 500.0f, 0.1f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[0].y, 200.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(vertices[0].y, 206.0f, 0.1f) ||
|
||||
(vertices[0].y >= 216.0f && vertices[0].y <= 220.0f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[1].x, 626.0f, 0.1f) ||
|
||||
(vertices[1].x >= 634.0f && vertices[1].x <= 635.0f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[1].y, 200.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(vertices[1].y, 206.0f, 0.1f) ||
|
||||
(vertices[1].y >= 216.0f && vertices[1].y <= 220.0f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[2].x, 626.0f, 0.1f) ||
|
||||
(vertices[2].x >= 634.0f && vertices[2].x <= 635.0f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[2].y, 368.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(vertices[2].y, 394.0f, 0.1f) ||
|
||||
(vertices[2].y >= 404.0f && vertices[2].y <= 408.0f)) &&
|
||||
((vertices[3].x >= 493.0f && vertices[3].x <= 494.0f) ||
|
||||
iidxhook_util_d3d9_float_equal(
|
||||
vertices[3].x, 500.0f, 0.1f)) &&
|
||||
(iidxhook_util_d3d9_float_equal(vertices[3].y, 368.0f, 0.1f) ||
|
||||
iidxhook_util_d3d9_float_equal(vertices[3].y, 394.0f, 0.1f) ||
|
||||
(vertices[3].y >= 404.0f && vertices[3].y <= 408.0f)))) {
|
||||
/* fix UVs
|
||||
1.0f / 512 fixes the diagonal seam connecting the two
|
||||
triangles which is visible on some GPUs (why? idk)
|
||||
@@ -695,7 +743,7 @@ iidxhook_util_d3d9_iidx11_to_17_fix_uvs_bg_videos(struct hook_d3d9_irp *irp)
|
||||
}
|
||||
|
||||
static void
|
||||
iidxhook_uti_d3d9_fix_iidx9_to_13_viewport_size(struct hook_d3d9_irp *irp)
|
||||
iidxhook_uti_d3d9_fix_iidx09_to_13_viewport_size(struct hook_d3d9_irp *irp)
|
||||
{
|
||||
log_assert(irp);
|
||||
log_assert(irp->op == HOOK_D3D9_IRP_OP_GET_CLIENT_RECT);
|
||||
@@ -967,7 +1015,7 @@ iidxhook_util_d3d9_log_config(const struct iidxhook_util_d3d9_config *config)
|
||||
"pci_vid: %X\n"
|
||||
"pci_pid: %X\n"
|
||||
"iidx09_to_19_monitor_check_cb: %p\n"
|
||||
"iidx11_to_17_fix_uvs_bg_videos: %d\n"
|
||||
"iidx09_to_17_fix_uvs_bg_videos: %d\n"
|
||||
"iidx12_fix_song_select_bg: %d\n"
|
||||
"iidx13_fix_song_select_bg: %d\n"
|
||||
"iidx14_to_19_nvidia_fix: %d\n"
|
||||
@@ -985,7 +1033,7 @@ iidxhook_util_d3d9_log_config(const struct iidxhook_util_d3d9_config *config)
|
||||
config->pci_vid,
|
||||
config->pci_pid,
|
||||
config->iidx09_to_19_monitor_check_cb,
|
||||
config->iidx11_to_17_fix_uvs_bg_videos,
|
||||
config->iidx09_to_17_fix_uvs_bg_videos,
|
||||
config->iidx12_fix_song_select_bg,
|
||||
config->iidx13_fix_song_select_bg,
|
||||
config->iidx14_to_19_nvidia_fix,
|
||||
@@ -1050,7 +1098,7 @@ void iidxhook_util_d3d9_init_config(struct iidxhook_util_d3d9_config *config)
|
||||
config->pci_vid = 0;
|
||||
config->pci_pid = 0;
|
||||
config->iidx09_to_19_monitor_check_cb = NULL;
|
||||
config->iidx11_to_17_fix_uvs_bg_videos = false;
|
||||
config->iidx09_to_17_fix_uvs_bg_videos = false;
|
||||
config->iidx12_fix_song_select_bg = false;
|
||||
config->iidx13_fix_song_select_bg = false;
|
||||
config->iidx14_to_19_nvidia_fix = false;
|
||||
@@ -1109,7 +1157,7 @@ iidxhook_util_d3d9_irp_handler(struct hook_d3d9_irp *irp)
|
||||
hr = hook_d3d9_irp_invoke_next(irp);
|
||||
|
||||
if (hr == S_OK) {
|
||||
iidxhook_uti_d3d9_fix_iidx9_to_13_viewport_size(irp);
|
||||
iidxhook_uti_d3d9_fix_iidx09_to_13_viewport_size(irp);
|
||||
}
|
||||
|
||||
return hr;
|
||||
@@ -1161,7 +1209,7 @@ iidxhook_util_d3d9_irp_handler(struct hook_d3d9_irp *irp)
|
||||
return hook_d3d9_irp_invoke_next(irp);
|
||||
|
||||
case HOOK_D3D9_IRP_OP_DEV_DRAW_PRIMITIVE_UP:
|
||||
iidxhook_util_d3d9_iidx11_to_17_fix_uvs_bg_videos(irp);
|
||||
iidxhook_util_d3d9_iidx09_to_17_fix_uvs_bg_videos(irp);
|
||||
|
||||
return hook_d3d9_irp_invoke_next(irp);
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ struct iidxhook_util_d3d9_config {
|
||||
* the background videos or seeing a quad seam (see implementation for
|
||||
* further details).
|
||||
*/
|
||||
bool iidx11_to_17_fix_uvs_bg_videos;
|
||||
bool iidx09_to_17_fix_uvs_bg_videos;
|
||||
|
||||
/**
|
||||
* Ported from d3d8 module to enable this when using d3d8to9.
|
||||
|
||||
@@ -87,7 +87,7 @@ static void iidxhook1_setup_d3d9_hooks(
|
||||
d3d9_config.framerate_limit = config_gfx->frame_rate_limit;
|
||||
d3d9_config.iidx12_fix_song_select_bg =
|
||||
config_iidxhook1->happy_sky_ms_bg_fix;
|
||||
d3d9_config.iidx11_to_17_fix_uvs_bg_videos = config_gfx->bgvideo_uv_fix;
|
||||
d3d9_config.iidx09_to_17_fix_uvs_bg_videos = config_gfx->bgvideo_uv_fix;
|
||||
d3d9_config.scale_back_buffer_width = config_gfx->scale_back_buffer_width;
|
||||
d3d9_config.scale_back_buffer_height = config_gfx->scale_back_buffer_height;
|
||||
d3d9_config.scale_back_buffer_filter = config_gfx->scale_back_buffer_filter;
|
||||
|
||||
@@ -84,7 +84,7 @@ static void iidxhook2_setup_d3d9_hooks(
|
||||
d3d9_config.framerate_limit = config_gfx->frame_rate_limit;
|
||||
d3d9_config.iidx13_fix_song_select_bg =
|
||||
config_iidxhook2->distorted_ms_bg_fix;
|
||||
d3d9_config.iidx11_to_17_fix_uvs_bg_videos = config_gfx->bgvideo_uv_fix;
|
||||
d3d9_config.iidx09_to_17_fix_uvs_bg_videos = config_gfx->bgvideo_uv_fix;
|
||||
d3d9_config.scale_back_buffer_width = config_gfx->scale_back_buffer_width;
|
||||
d3d9_config.scale_back_buffer_height = config_gfx->scale_back_buffer_height;
|
||||
d3d9_config.scale_back_buffer_filter = config_gfx->scale_back_buffer_filter;
|
||||
|
||||
@@ -80,7 +80,7 @@ iidxhook3_setup_d3d9_hooks(const struct iidxhook_config_gfx *config_gfx)
|
||||
d3d9_config.pci_pid = config_gfx->pci_id_pid;
|
||||
|
||||
/* Required for GOLD (and newer?) to not crash with NVIDIA cards */
|
||||
d3d9_config.iidx11_to_17_fix_uvs_bg_videos = true;
|
||||
d3d9_config.iidx09_to_17_fix_uvs_bg_videos = true;
|
||||
d3d9_config.iidx14_to_19_nvidia_fix = true;
|
||||
|
||||
d3d9_config.scale_back_buffer_width = config_gfx->scale_back_buffer_width;
|
||||
|
||||
Reference in New Issue
Block a user
I think we don't have to be that specific in the config file here. Maybe worth mentioning that last part about some BGAs only affected on 9 to 10 in a comment in the code.
I figured some users might not realize their videos are stretched since it doesn't affect all of them, this would spur them to check an affected song to see if they need to enable the option. (As opposed to later styles where all videos are affected) But that can be removed if you think it's unnecessary
Ok, fair point that it might not be obvious to the user. Let's keep your version then.
Can you also adjust that description in
src/main/iidxhook-util/config-gfx.c?No problem