1
0
mirror of https://github.com/djhackersdev/bemanitools.git synced 2025-02-26 06:39:39 +01:00

755 Commits

Author SHA1 Message Date
icex2
18f84e4751 merge commit for archive created by Sapling 2025-02-20 14:42:23 +01:00
icex2
19f0776627 doc: Dev journal entry about IIDX engine and syncbook
Due to recent development of tools and discussions, this
is something that came up and has probably been overdue
for ages.

Document key concepts of how the iidx engine works regaring
rendering, game loop and (song) sync.

Add a “syncbook” that provides context and guidelines how
to configure any (modern) system to work properly with iidx.
2025-02-20 14:42:15 +01:00
icex2
aad38449e3 merge commit for archive created by Sapling 2025-02-20 12:31:48 +01:00
icex2
1c0092c9be doc: Dev journal entry about IIDX engine and syncbook
Due to recent development of tools and discussions, this
is something that came up and has probably been overdue
for ages.

Document key concepts of how the iidx engine works regaring
rendering, game loop and (song) sync.

Add a “syncbook” that provides context and guidelines how
to configure any (modern) system to work properly with iidx.
2025-02-20 12:31:36 +01:00
icex2
1db5260a59
Merge c337bdb7c0ef64477b3f3bbc16edc40de46a2c7d into sapling-pr-archive-icex2 2025-02-20 12:21:56 +01:00
icex2
c337bdb7c0 doc: Dev journal entry about IIDX engine and syncbook
Due to recent development of tools and discussions, this
is something that came up and has probably been overdue
for ages.

Document key concepts of how the iidx engine works regaring
rendering, game loop and (song) sync.

Add a “syncbook” that provides context and guidelines how
to configure any (modern) system to work properly with iidx.
2025-02-20 12:20:55 +01:00
icex2
9cb37ccc11 merge commit for archive created by Sapling 2025-02-19 19:48:42 +01:00
icex2
549e50dfa7 fix: Missing closing bracket
Fix mistake that happened during conflict resolution
before the merge.
2025-02-19 19:48:30 +01:00
icex2
d5e4cc3447
Merge ae02d6556b8aee82b4bb722d9e04d96b0bb27427 into sapling-pr-archive-icex2 2025-02-19 19:42:55 +01:00
icex2
ae02d6556b feat(nvgpu): Add —overwrite-exists flag for profile creation
When running this in a script on startup to ensure
whatever configuration is required to be created is
created, this avoids several commands to first
check if the profile exists, delete it, then re-create it.
2025-02-19 19:42:48 +01:00
icex2
071a3994ed
Merge 5bee76e553b5413d55e3e0e3e592765612d12231 into sapling-pr-archive-icex2 2025-02-19 19:41:41 +01:00
icex2
5bee76e553 feat(nvgpu): Add —overwrite-exists flag for profile creation
When running this in a script on startup to ensure
whatever configuration is required to be created is
created, this avoids several commands to first
check if the profile exists, delete it, then re-create it.
2025-02-19 19:41:33 +01:00
icex2
3c2dda505e fix(nvgpu): Initialize value of parameter to fix INVALID_ARGUMENT
As stated by the documentation in nvapi.h, path_info_count
must be set to the value 0 in this case.
2025-02-19 19:41:33 +01:00
icex2
d840f7bb8f
Merge df4f646b70be0b5afa5ba94bcb04ac8522248f82 into sapling-pr-archive-icex2 2025-02-19 19:40:27 +01:00
icex2
df4f646b70 feat(nvgpu): Add —overwrite-exists flag for profile creation
When running this in a script on startup to ensure
whatever configuration is required to be created is
created, this avoids several commands to first
check if the profile exists, delete it, then re-create it.
2025-02-19 19:40:21 +01:00
icex2
ca9cac9c19 fix(nvgpu): Initialize value of parameter to fix INVALID_ARGUMENT
As stated by the documentation in nvapi.h, path_info_count
must be set to the value 0 in this case.
2025-02-19 19:40:21 +01:00
icex2
7943ecffcd fix(nvgpu): Missing error handling not returning
If fetching the configuration fails, don’t continue with
processing any non-existing data.
2025-02-19 19:40:21 +01:00
icex2
51ce7c739a
Merge c6180bdf47b990f14e3388c925b99c1bf8ff6e48 into sapling-pr-archive-icex2 2025-02-19 19:39:17 +01:00
icex2
c6180bdf47 feat(nvgpu): Add —overwrite-exists flag for profile creation
When running this in a script on startup to ensure
whatever configuration is required to be created is
created, this avoids several commands to first
check if the profile exists, delete it, then re-create it.
2025-02-19 19:39:10 +01:00
icex2
c3a337ceb4 fix(nvgpu): Initialize value of parameter to fix INVALID_ARGUMENT
As stated by the documentation in nvapi.h, path_info_count
must be set to the value 0 in this case.
2025-02-19 19:39:10 +01:00
icex2
a3d890dcd7 fix(nvgpu): Missing error handling not returning
If fetching the configuration fails, don’t continue with
processing any non-existing data.
2025-02-19 19:39:10 +01:00
icex2
ee3d1d2592 chore: Remove TODO
Forgot to remove that after adressing the issue of needing
three calls in nvgpu to get the config data correctly.
2025-02-19 19:39:10 +01:00
icex2
4159813873 merge commit for archive created by Sapling 2025-02-19 19:36:53 +01:00
icex2
c5083a6d4a feat(nvgpu): Add —overwrite-exists flag for profile creation
When running this in a script on startup to ensure
whatever configuration is required to be created is
created, this avoids several commands to first
check if the profile exists, delete it, then re-create it.
2025-02-19 19:36:36 +01:00
icex2
8752c7dcc5 fix(nvgpu): Initialize value of parameter to fix INVALID_ARGUMENT
As stated by the documentation in nvapi.h, path_info_count
must be set to the value 0 in this case.
2025-02-19 19:36:36 +01:00
icex2
6276cb4e97 fix(nvgpu): Missing error handling not returning
If fetching the configuration fails, don’t continue with
processing any non-existing data.
2025-02-19 19:36:36 +01:00
icex2
fcbb4160ee chore: Remove TODO
Forgot to remove that after adressing the issue of needing
three calls in nvgpu to get the config data correctly.
2025-02-19 19:36:36 +01:00
icex2
9bcbe9170f feat: Extend monitor check tool, vsync and response time tests
Adding two more tests that have been proven very useful
for debugging monitor issues that caused problems with IIDX.

The vsync test flickers a text snippet between red and cyan on
every even and uneven frame. If vsync works correctly, the text
appears grey to the human eye. If there are issues like re-displaying
a previous frame or a dropped frame, this appears as the text
rendering red or cyan.

The response time test scrolls two simple blocks/lines vertically
to check if they creating ghosting/smearing on the display.

The tool now supports an interactive and command line mode.

Interactive mode is useful for running different tests on the setup
while the command line mode can be used to ran these tests
with fixed parameters and for a fixed amount of time, e.g. in a shell
script, for automation purpose.

The tool still has a few obvious imperfections like scaling issues on
different resolutions. Considering the basic functionality is given,
further improvements can follow in future iterations.
2025-02-19 19:36:27 +01:00
icex2
e74e3f1472
Merge 2062b803ff6694009399d13b624650eeab46416d into sapling-pr-archive-icex2 2025-02-13 15:05:48 +01:00
icex2
2062b803ff feat: d3d9-frame-graph-hook, add frame rate graph view
Have a checkbox to switch to a frame graph focused view
which saves a bunch of math when it’s more useful to
focus on the frame/refresh rate than the frame time values.
2025-02-13 15:05:32 +01:00
icex2
7391cfa555 merge commit for archive created by Sapling 2025-02-13 14:53:12 +01:00
icex2
06d4467d5a feat: nvgpu, add option to enable gpu scaling
GPU scaling allows high quality upscaling of older games
to the native resolution of the screen. The output frame
quality is significantly sharper than the fairly simple
frame buffer upscaling of bemanitools.
2025-02-13 14:52:49 +01:00
icex2
b0b380e70c
Merge f0b3556ac5da102e955616bb5ab71a03d82970b7 into sapling-pr-archive-icex2 2025-02-13 14:47:37 +01:00
icex2
f0b3556ac5 feat: nvgpu, make test timeout parameter optional
10 seconds is what the nvidia control panel also
has for the test timeout. Can still be changed if
shorter or longer timeouts are desired, but 10
seconds should be a general fine timeout value
to have this optional.
2025-02-13 14:47:22 +01:00
icex2
54284adf5f merge commit for archive created by Sapling 2025-02-13 14:42:06 +01:00
icex2
451f9d4021 feat: d3d9-monitor-check add result-timeout-secs parameter
Allow changing the time in seconds how long the results
are being displayed before exiting
2025-02-13 14:38:07 +01:00
icex2
1b0426941d merge commit for archive created by Sapling 2025-02-13 14:34:30 +01:00
icex2
f5a82fe049 feat: d3d9-monitor-check allow skip results
Allow pressing ESC to skip results and not having
to wait for 5 secs
2025-02-13 14:34:13 +01:00
icex2
2a5ddacb36
Merge 9246f72b8003ea6951c508be25df185f55de3921 into sapling-pr-archive-icex2 2025-02-13 14:30:12 +01:00
icex2
9246f72b80 feat: Improve d3d9-monitor-check command line args
Use more user-friendly seconds for total and warm-up time
instead of frames. Use the refresh rate to calculcate the
total frame count internally for the test.
2025-02-13 14:30:05 +01:00
icex2
f6d8e30671
Merge 8afab5c232bd8e673db33032c7827b71a1d5fc00 into sapling-pr-archive-icex2 2025-02-13 14:29:28 +01:00
icex2
8afab5c232 feat: Improve d3d9-monitor-check command line args
Use more user-friendly seconds for total and warm-up time
instead of frames. Use the refresh rate to calculcate the
total frame count internally for the test.
2025-02-13 14:29:21 +01:00
icex2
c0be02a24f feat: d3d9-monitor-check tool (#322)
A separate application to run the infamous IIDX “monitor check”.

The on-screen output has been enhanced to provide more
detailed information about the on-going process. The tool
furthermore allows basic querying of adapter and adapter
modes information from the command line. These additional
options can be useful to gather more debug information
or select correct parameters for the monitor test from actually
supported mode parameters by the adapter.

The tool has been tested on an actual cabinet with nvgpu
setting different custom timings. The accuracy seems to be
even higher than what IIDX’s monitor check is actually showing.
For example, with a custom timing of 59.900, the tool yields 59.902.
Meanwhile, the monitor check of iidx 29 59.8981 hz to 59.8997 hz
on screen.

This doesn’t mean the game’s getting inaccurate values. The game
actually syncs and plays just fine. However, the game’s monitor check
cannot be used as a reference for “getting the avg. refresh rate”
value as an input parameter for other tools, e.g. chart patching with
btools.

Co-authored-by: icex2 <djh.icex2@gmail.com>
2025-02-13 14:28:34 +01:00
icex2
e7459659dd merge commit for archive created by Sapling 2025-02-13 14:27:16 +01:00
icex2
3aa128e525 feat: Improve d3d9-monitor-check command line args
Use more user-friendly seconds for total and warm-up time
instead of frames. Use the refresh rate to calculcate the
total frame count internally for the test.
2025-02-13 14:26:33 +01:00
icex2
74bdd65098
Merge a66aba45b9c49c70a10428946faddd692030c321 into sapling-pr-archive-icex2 2025-02-11 15:52:28 +01:00
icex2
a66aba45b9 feat: d3d9-monitor-check tool
A separate application to run the infamous IIDX “monitor check”.

The on-screen output has been enhanced to provide more
detailed information about the on-going process. The tool
furthermore allows basic querying of adapter and adapter
modes information from the command line. These additional
options can be useful to gather more debug information
or select correct parameters for the monitor test from actually
supported mode parameters by the adapter.

The tool has been tested on an actual cabinet with nvgpu
setting different custom timings. The accuracy seems to be
even higher than what IIDX’s monitor check is actually showing.
For example, with a custom timing of 59.900, the tool yields 59.902.
Meanwhile, the monitor check of iidx 29 59.8981 hz to 59.8997 hz
on screen.

This doesn’t mean the game’s getting inaccurate values. The game
actually syncs and plays just fine. However, the game’s monitor check
cannot be used as a reference for “getting the avg. refresh rate”
value as an input parameter for other tools, e.g. chart patching with
btools.
2025-02-11 15:52:15 +01:00
icex2
1373e9f1f4
Merge 9e2319bd136fe738d0b7ee5ec950ea5c6b8e6947 into sapling-pr-archive-icex2 2025-02-11 15:34:43 +01:00
icex2
9e2319bd13 feat: Bump iidxhook9 supported versions, EPOLIS “support"
No changes required, just make support visible by reflecting
it in distribution package naming, documentation and
filenaming
2025-02-11 15:34:38 +01:00
icex2
5687392a92 merge commit for archive created by Sapling 2025-02-09 16:16:20 +01:00