* [ddrhook1](ddrhook1.md): X, X2 (US/EU regions)
* [ddrhook2](ddrhook2.md): X2 (JP region), X3 vs. 2ndMIX, 2013, 2014, A
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on [doc/ddrhook/README.md line 19](https://github.com/djhackersdev/bemanitools/compare/3eaf0d13f798d4052b0b0a791e40c3dd3037a9d6..6c2ee076bd0f06a66b3756bc1c6176e47f570110#diff-6c7e2e7bce58deed31afc093905823f0R19)
```suggestion:-0+1
* [ddrhook1](ddrhook1.md): X, X2 (US/EU regions)
* [ddrhook2](ddrhook2.md): X2 (JP region), X3 vs. 2ndMIX, 2013, 2014, A
```
To run your game with ddrhook, you have to use the inject tool to inject the
DLL to the game process. `dist/ddr` contains bat scripts with all the
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on [doc/ddrhook/README.md line 29](https://github.com/djhackersdev/bemanitools/compare/3eaf0d13f798d4052b0b0a791e40c3dd3037a9d6..6c2ee076bd0f06a66b3756bc1c6176e47f570110#diff-6c7e2e7bce58deed31afc093905823f0R29)
```suggestion:-0+1
To run your game with ddrhook, you have to use the inject tool to inject the
DLL to the game process. `dist/ddr` contains bat scripts with all the
```
Add the argument *-h* when running inject with ddrhook to print help/usage
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on [doc/ddrhook/README.md line 38](https://github.com/djhackersdev/bemanitools/compare/3eaf0d13f798d4052b0b0a791e40c3dd3037a9d6..6c2ee076bd0f06a66b3756bc1c6176e47f570110#diff-6c7e2e7bce58deed31afc093905823f0R38)
```suggestion:-0+0
Add the argument *-h* when running inject with ddrhook to print help/usage
```
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on [doc/ddrhook/ddrhook1.md line 7](https://github.com/djhackersdev/bemanitools/compare/9d339912acb7704f979dcc220f5b8acde25a9012..c16eac46734dd5582ad2b22523aa7012fbcaf060#diff-55de4d5087e2523866b7e3538e5799f6R7)
```suggestion:-0+0
* Dance Dance Revolution X
* Dance Dance Revolution X2 (US/EU regions)
```
* Name your edit data file either `DDR_EDIT_J.DAT` (for JP version) or `DDR_EDIT_U.DAT`
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on [doc/ddrhook/ddrhook1.md line 83](https://github.com/djhackersdev/bemanitools/compare/3eaf0d13f798d4052b0b0a791e40c3dd3037a9d6..6c2ee076bd0f06a66b3756bc1c6176e47f570110#diff-55de4d5087e2523866b7e3538e5799f6R83)
```suggestion:-0+0
* Name your edit data file either `DDR_EDIT_J.DAT` (for JP version) or `DDR_EDIT_U.DAT`
```
I already explained this to you in a DM before, and also mentioned it in the PR. The game detects that IsDebuggerPresent is returning true and uses a "safe" code path that uses a .mpg video instead of the normal .m2v videos. The video codec it uses for the .mpg is also different from the .m2v file (which uses CLVSD.ax).
If you try using k-clvsd.dll with DDR X (and I think X2, at least the US/EU versions) then the game will just outright crash during boot.
Presumably the reasoning for the IsDebuggerPresent check is because the required video codecs are protected and have their own anti-debug measures, and trying to run the games in a debugger with that codec results in a bunch of exceptions. Using the .mpg videos that are played when IsDebuggerPresent returns true just uses standard system codecs which have no problems with debuggers.
There is already a fix for this issue in BT5: IsDebuggerPresent is hooked to always return false.
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on [doc/ddrhook/ddrhook1.md line 113](https://github.com/djhackersdev/bemanitools/compare/3eaf0d13f798d4052b0b0a791e40c3dd3037a9d6..f996c6c52ced65c5e53d09e216efa7f623f05add#diff-55de4d5087e2523866b7e3538e5799f6R113)
This entire section is wrong.
I already explained this to you in a DM before, and also mentioned it in the PR. The game detects that `IsDebuggerPresent` is returning true and uses a "safe" code path that uses a `.mpg` video instead of the normal `.m2v` videos. The video codec it uses for the `.mpg` is also different from the `.m2v` file (which uses `CLVSD.ax`).
If you try using `k-clvsd.dll` with DDR X (and I think X2, at least the US/EU versions) then the game will just outright crash during boot.
Presumably the reasoning for the `IsDebuggerPresent` check is because the required video codecs are protected and have their own anti-debug measures, and trying to run the games in a debugger with that codec results in a bunch of exceptions. Using the `.mpg` videos that are played when `IsDebuggerPresent` returns true just uses standard system codecs which have no problems with debuggers.
There is already a fix for this issue in BT5: `IsDebuggerPresent` is hooked to always return false.
In general, references to the US/EU references of X2 should be removed from ddrhook2.md since X2 US/EU uses ddrhook1.dll. And with that change, none of the games using ddrhook2 use inject.exe as a result.
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on [doc/ddrhook/ddrhook2.md line 7](https://github.com/djhackersdev/bemanitools/compare/3eaf0d13f798d4052b0b0a791e40c3dd3037a9d6..6c2ee076bd0f06a66b3756bc1c6176e47f570110#diff-cdc8d189dd126e687f73c5c072d55d18R7)
```suggestion:-0+0
* Dance Dance Revolution X2 (JP region)
```
In general, references to the US/EU references of X2 should be removed from `ddrhook2.md` since X2 US/EU uses `ddrhook1.dll`. And with that change, none of the games using ddrhook2 use inject.exe as a result.
Also, I haven't personally verified it yet but an anecdote: X3 (maybe X2 too?) may have the same IsDebuggerPresent issue. When trying to help a friend debug why his games were crashing at the "start / Create Movie Work" step of boot, he found that the game would boot in a debugger but not through the launcher normally so I think there is more branched code for debugging in X2 and X3. No idea about 2014 and beyond. No idea if it changes the background videos in later DDR games though.
In GitLab by @33c17f40 on Jun 6, 2022, 01:10
Commented on [doc/ddrhook/ddrhook1.md line 113](https://github.com/djhackersdev/bemanitools/compare/3eaf0d13f798d4052b0b0a791e40c3dd3037a9d6..f996c6c52ced65c5e53d09e216efa7f623f05add#diff-55de4d5087e2523866b7e3538e5799f6R113)
Also, I haven't personally verified it yet but an anecdote: X3 (maybe X2 too?) may have the same `IsDebuggerPresent` issue. When trying to help a friend debug why his games were crashing at the "start / Create Movie Work" step of boot, he found that the game would boot in a debugger but not through the launcher normally so I think there is more branched code for debugging in X2 and X3. No idea about 2014 and beyond. No idea if it changes the background videos in later DDR games though.
changed this line in [version 4 of the diff](/djhackers/bemanitools/-/merge_requests/119/diffs?diff_id=2582&start_sha=6c2ee076bd0f06a66b3756bc1c6176e47f570110#3d53c279489f68a1c08912c966c8340b4dad0832_19_19)
changed this line in [version 4 of the diff](/djhackers/bemanitools/-/merge_requests/119/diffs?diff_id=2582&start_sha=6c2ee076bd0f06a66b3756bc1c6176e47f570110#3d53c279489f68a1c08912c966c8340b4dad0832_29_29)
changed this line in [version 4 of the diff](/djhackers/bemanitools/-/merge_requests/119/diffs?diff_id=2582&start_sha=6c2ee076bd0f06a66b3756bc1c6176e47f570110#3d53c279489f68a1c08912c966c8340b4dad0832_38_38)
changed this line in [version 4 of the diff](/djhackers/bemanitools/-/merge_requests/119/diffs?diff_id=2582&start_sha=6c2ee076bd0f06a66b3756bc1c6176e47f570110#c79de4a83281268ee4a5d6cd4c0863dd01bd550a_83_84)
changed this line in [version 4 of the diff](/djhackers/bemanitools/-/merge_requests/119/diffs?diff_id=2582&start_sha=6c2ee076bd0f06a66b3756bc1c6176e47f570110#b21b1b586fe22c3bdfb60a8e41313de2d33929c5_7_7)
changed this line in [version 4 of the diff](/djhackers/bemanitools/-/merge_requests/119/diffs?diff_id=2582&start_sha=6c2ee076bd0f06a66b3756bc1c6176e47f570110#8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d_37_37)
changed this line in [version 5 of the diff](/djhackers/bemanitools/-/merge_requests/119/diffs?diff_id=2583&start_sha=f996c6c52ced65c5e53d09e216efa7f623f05add#c79de4a83281268ee4a5d6cd4c0863dd01bd550a_113_113)
Sorry for the mix-up and thanks for explaining it again. Figured that these details are likely not valuable in the user-targetted documentation to begin with. Please have a look at the revised snippet.
Sorry for the mix-up and thanks for explaining it again. Figured that these details are likely not valuable in the user-targetted documentation to begin with. Please have a look at the revised snippet.
In GitLab by @33c17f40 on Jun 7, 2022, 08:38
Commented on [doc/ddrhook/ddrhook1.md line 113](https://github.com/djhackersdev/bemanitools/compare/3eaf0d13f798d4052b0b0a791e40c3dd3037a9d6..f996c6c52ced65c5e53d09e216efa7f623f05add#diff-55de4d5087e2523866b7e3538e5799f6R113)
Looks good to me.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Merges ddr-doc-update -> master
Update docs by adding missing ddrhook1 and 2 docs. Consolidated information from testing and debugging sessions.
added 1 commit
Compare with previous version
added 2 commits
Compare with previous version
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on doc/ddrhook/README.md line 19
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on doc/ddrhook/README.md line 29
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on doc/ddrhook/README.md line 38
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on doc/ddrhook/ddrhook1.md line 7
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on doc/ddrhook/ddrhook1.md line 83
In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on doc/ddrhook/ddrhook1.md line 113
This entire section is wrong.
I already explained this to you in a DM before, and also mentioned it in the PR. The game detects that
IsDebuggerPresentis returning true and uses a "safe" code path that uses a.mpgvideo instead of the normal.m2vvideos. The video codec it uses for the.mpgis also different from the.m2vfile (which usesCLVSD.ax).If you try using
k-clvsd.dllwith DDR X (and I think X2, at least the US/EU versions) then the game will just outright crash during boot.Presumably the reasoning for the
IsDebuggerPresentcheck is because the required video codecs are protected and have their own anti-debug measures, and trying to run the games in a debugger with that codec results in a bunch of exceptions. Using the.mpgvideos that are played whenIsDebuggerPresentreturns true just uses standard system codecs which have no problems with debuggers.There is already a fix for this issue in BT5:
IsDebuggerPresentis hooked to always return false.In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on doc/ddrhook/ddrhook2.md line 7
In general, references to the US/EU references of X2 should be removed from
ddrhook2.mdsince X2 US/EU usesddrhook1.dll. And with that change, none of the games using ddrhook2 use inject.exe as a result.In GitLab by @33c17f40 on Jun 6, 2022, 01:03
Commented on README.md line 37
In GitLab by @33c17f40 on Jun 6, 2022, 01:10
Commented on doc/ddrhook/ddrhook1.md line 113
Also, I haven't personally verified it yet but an anecdote: X3 (maybe X2 too?) may have the same
IsDebuggerPresentissue. When trying to help a friend debug why his games were crashing at the "start / Create Movie Work" step of boot, he found that the game would boot in a debugger but not through the launcher normally so I think there is more branched code for debugging in X2 and X3. No idea about 2014 and beyond. No idea if it changes the background videos in later DDR games though.changed this line in version 4 of the diff
changed this line in version 4 of the diff
changed this line in version 4 of the diff
changed this line in version 4 of the diff
changed this line in version 4 of the diff
changed this line in version 4 of the diff
added 1 commit
Compare with previous version
changed this line in version 5 of the diff
added 4 commits
Compare with previous version
Sorry for the mix-up and thanks for explaining it again. Figured that these details are likely not valuable in the user-targetted documentation to begin with. Please have a look at the revised snippet.
In GitLab by @33c17f40 on Jun 7, 2022, 08:38
Commented on doc/ddrhook/ddrhook1.md line 113
Looks good to me.
resolved all threads
added 6 commits
9d339912- 1 commit from branchmaster24f9aaa5- docs: Formatting, highlighting and minor re-phrasing68824396- doc: Add documentation for ddrhook1 and 2540b5de0- doc: Add root ddrhook readmed9db2301- doc: Add further references from root readme to docsc16eac46- Documentation fixes, MR feedbackCompare with previous version