Fix stretched BGAs in 9th and 10th style #249

Merged
JeffPaine4890 merged 22 commits from fix-stretched-bgs-for-iidx-9-and-10 into master 2023-06-25 14:02:03 +03:00
26 changed files with 112 additions and 96 deletions
+1 -1
View File
@@ -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
icex2 commented 2023-04-11 01:39:08 +03:00 (Migrated from github.com)
Review
# Fix stretched BG videos on newer GPUs. Might appear on 9 to 17

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.

```suggestion # Fix stretched BG videos on newer GPUs. Might appear on 9 to 17 ``` 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.
JeffPaine4890 commented 2023-04-11 01:43:41 +03:00 (Migrated from github.com)
Review

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

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
icex2 commented 2023-04-11 01:46:36 +03:00 (Migrated from github.com)
Review

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?

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`?
JeffPaine4890 commented 2023-04-11 01:51:26 +03:00 (Migrated from github.com)
Review

No problem

No problem
# Run the game in a framed window (requires windowed option)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
-3
View File
@@ -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
-3
View File
@@ -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
-3
View File
@@ -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
-3
View File
@@ -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
-3
View File
@@ -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
-3
View File
@@ -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
-3
View File
@@ -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
-3
View File
@@ -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
-3
View File
@@ -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
-3
View File
@@ -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
-3
View File
@@ -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
+3 -2
View File
@@ -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,
+96 -48
View File
@@ -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) &&
icex2 commented 2023-04-11 01:44:16 +03:00 (Migrated from github.com)
Review

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.
JeffPaine4890 commented 2023-04-11 03:36:30 +03:00 (Migrated from github.com)
Review

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);
+1 -1
View File
@@ -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.
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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;