ICCB has been removed entirely. Only jubeat used it, and I have made only ~15 lines of changes to make ICCA v150 work in its place
The p3io specific functionality has been ripped out of jbhook1 and put into jbhook-util
Added some nice-to-haves like fixing mojibake when not using JP locale, and auto-rotating the window to suit vertical displays (jb1-3 run horizontally by default)
In GitLab by @mon on Oct 4, 2020, 18:07
_Merges jb-p3io -> master_
- ICCB has been removed entirely. Only jubeat used it, and I have made only ~15 lines of changes to make ICCA v150 work in its place
- The p3io specific functionality has been ripped out of jbhook1 and put into jbhook-util
- Added some nice-to-haves like fixing mojibake when not using JP locale, and auto-rotating the window to suit vertical displays (jb1-3 run horizontally by default)
Very good summary for the MR before getting started reviewing. Can you add the extended versions of each item to the commit message bodies? As they include reasoning for the change, the commit message and git history would be improved.
Very good summary for the MR before getting started reviewing. Can you add the extended versions of each item to the commit message bodies? As they include reasoning for the change, the commit message and git history would be improved.
Nit: I would prefer having an else block that encloses everything below that is non v150 instead of the break within the if block to jump out. Reason: Imo that's easier to read.
Nit: I would prefer having an else block that encloses everything below that is non v150 instead of the break within the if block to jump out. Reason: Imo that's easier to read.
Same situation here, reading the flow for each version becomes more difficult here. I suggest separating the different icca versions in properly enclosed dedicated if-else blocks. This would also mean to repeat the icca->detected_new_reader = true; part in the v170 and other (else) blocks.
Same situation here, reading the flow for each version becomes more difficult here. I suggest separating the different icca versions in properly enclosed dedicated if-else blocks. This would also mean to repeat the `icca->detected_new_reader = true;` part in the v170 and other (else) blocks.
Nit: This looks very odd if you don't know what's going on. A brief comment explaining the situation with ICCB being ICCA v150 might be helpful for future readers.
Nit: This looks very odd if you don't know what's going on. A brief comment explaining the situation with ICCB being ICCA v150 might be helpful for future readers.
I don't agree to have the following code being enabled implicitly via an AVS version compiler flag. I would prefer having this enabled explicitly with each game/hook. Can you refactor this part to have a parameter in the jbhook_util_ac_io_port_init function that gets set accordingly by the different jbhook implementations?
Personal recommendation/rule of thumb (though there are always exceptions): Prefer explicit APIs over implicit ones.
I don't agree to have the following code being enabled implicitly via an AVS version compiler flag. I would prefer having this enabled explicitly with each game/hook. Can you refactor this part to have a parameter in the `jbhook_util_ac_io_port_init` function that gets set accordingly by the different jbhook implementations?
Personal recommendation/rule of thumb (though there are always exceptions): Prefer explicit APIs over implicit ones.
I suggest sticking to to const char* within the code as this makes it easier to quickly add support for configurable parameters via config files/cmd params and such. Have a const char* to const wchar_t* conversion within that function before calling ac_io_emu_init. Check the util/str.h package. There should be something to like str_widen.
(That makes me wonder why ac_io_emu_init uses wchar_t instead of char...).
I suggest sticking to to `const char*` within the code as this makes it easier to quickly add support for configurable parameters via config files/cmd params and such. Have a `const char*` to `const wchar_t*` conversion within that function before calling `ac_io_emu_init`. Check the `util/str.h` package. There should be something to like `str_widen`.
(That makes me wonder why `ac_io_emu_init` uses `wchar_t` instead of `char`...).
Similar to what I already commented on. I suggest splitting this code into two separate hook dlls. It will be a lot of copy pasting, but that's the general architecture we decided on with BT5. This is also followed with the different flavors of iidxhook already.
Similar to what I already commented on. I suggest splitting this code into two separate hook dlls. It will be a lot of copy pasting, but that's the general architecture we decided on with BT5. This is also followed with the different flavors of iidxhook already.
Just checked and yes, it fails on jubeat (1). I have a working copy now, so I'll fix this up.
In GitLab by @mon on Oct 5, 2020, 07:17
Commented on [src/main/jbhook-util/p3io.c line 168](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..7b55aff2a65e6072b7ac8a1b6a799f94c75a3e6a#diff-2a09449a3a8de09d5aa948e96e513c06R168)
Just checked and yes, it fails on jubeat (1). I have a working copy now, so I'll fix this up.
I wouldn't do this here, instead I'd pass it in as a config param from the actual jbhook, and remove the whole avslibs thing.
In GitLab by @xyen on Oct 6, 2020, 08:50
Commented on [src/main/jbhook-util/p3io.c line 168](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..7b55aff2a65e6072b7ac8a1b6a799f94c75a3e6a#diff-2a09449a3a8de09d5aa948e96e513c06R168)
I wouldn't do this here, instead I'd pass it in as a config param from the actual jbhook, and remove the whole `avslibs` thing.
It uses wchar_t because the hooks are all based on the wide versions of the functions, the multibyte ones get wrapped into the wide ones.
In GitLab by @xyen on Oct 6, 2020, 08:50
Commented on [src/main/jbhook-util/acio.h line 9](https://github.com/djhackersdev/bemanitools/compare/9f4e79294296d386006bc6344530788431b7a929..cf126bef4c02826f8630367c5eac88c9c30bf38a#diff-713a060583f38b1ad827740839eecb12R9)
It uses `wchar_t` because the hooks are all based on the wide versions of the functions, the multibyte ones get wrapped into the wide ones.
I just checked the code and got reminded that the irp struct contains a wchar_t version for the filename of an open call. Also remembered that this makes sense to have CreateFileA and CreateFileW handled transparently for anything that uses the hook/iohook module (single byte filenames can be transformed to multibyte but not vice versa without loss, naturally). /thoughts
Then that's fine, ignore my comment 👍
I just checked the code and got reminded that the irp struct contains a `wchar_t` version for the filename of an open call. Also remembered that this makes sense to have `CreateFileA` and `CreateFileW` handled transparently for anything that uses the `hook/iohook` module (single byte filenames can be transformed to multibyte but not vice versa without loss, naturally). /thoughts
Then that's fine, ignore my comment :+1:
If I understand your idea correctly @xyen, then I think yours is the better solution. It avoids the avs call/depdency and creating a heuristic to fix this. Furthermore, for iidx, we configure the roundplug values in the iidxhook.conf file and that worked out well across all the roundplug based versions of the game. The use-case here looks identical.
If I understand your idea correctly @xyen, then I think yours is the better solution. It avoids the avs call/depdency and creating a heuristic to fix this. Furthermore, for iidx, we configure the roundplug values in the `iidxhook.conf` file and that worked out well across all the roundplug based versions of the game. The use-case here looks identical.
In GitLab by @mon on Oct 10, 2020, 14:24
Commented on [src/main/acioemu/icca.c line 152](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..7b55aff2a65e6072b7ac8a1b6a799f94c75a3e6a#diff-affab87058fe7f10f8cdc694a83c62e0R152)
changed this line in [version 2 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1333&start_sha=7b55aff2a65e6072b7ac8a1b6a799f94c75a3e6a#afe0e349cab0b6e39bf4435fdcb044da5be5b82e_152_151)
In GitLab by @mon on Oct 10, 2020, 14:24
Commented on [src/main/acioemu/icca.c line 219](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..7b55aff2a65e6072b7ac8a1b6a799f94c75a3e6a#diff-affab87058fe7f10f8cdc694a83c62e0R219)
changed this line in [version 2 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1333&start_sha=7b55aff2a65e6072b7ac8a1b6a799f94c75a3e6a#afe0e349cab0b6e39bf4435fdcb044da5be5b82e_219_219)
In GitLab by @mon on Oct 10, 2020, 14:24
Commented on [src/main/jbhook-util/p3io.c line 168](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..7b55aff2a65e6072b7ac8a1b6a799f94c75a3e6a#diff-2a09449a3a8de09d5aa948e96e513c06R168)
changed this line in [version 2 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1333&start_sha=7b55aff2a65e6072b7ac8a1b6a799f94c75a3e6a#2ded3973774a972ba7c7e6b8bdb931ac406bf477_168_168)
In GitLab by @mon on Oct 10, 2020, 14:24
Commented on [src/main/jbhook-util/p3io.c line 161](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..7b55aff2a65e6072b7ac8a1b6a799f94c75a3e6a#diff-2a09449a3a8de09d5aa948e96e513c06R161)
changed this line in [version 2 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1333&start_sha=7b55aff2a65e6072b7ac8a1b6a799f94c75a3e6a#2ded3973774a972ba7c7e6b8bdb931ac406bf477_161_161)
In GitLab by @mon on Oct 10, 2020, 14:24
added 4 commits
<ul><li>04bb28df - Fix security check for jubeat1</li><li>c9ea3c15 - Better logs on bad PCBID</li><li>5dc617f7 - Move eamuse.c/h to jbhook-util and better IP fix</li><li>0ffc6753 - icca: codestyle fixes</li></ul>
[Compare with previous version](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1333&start_sha=7b55aff2a65e6072b7ac8a1b6a799f94c75a3e6a)
In GitLab by @mon on Oct 10, 2020, 14:32
Commented on [src/main/acioemu/icca.c line 131](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..0ffc675332a49d013aa1a5e47eb8518b79aaf69c#diff-affab87058fe7f10f8cdc694a83c62e0R131)
changed this line in [version 3 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1334&start_sha=0ffc675332a49d013aa1a5e47eb8518b79aaf69c#afe0e349cab0b6e39bf4435fdcb044da5be5b82e_131_139)
In GitLab by @mon on Oct 10, 2020, 14:32
Commented on [src/main/acioemu/icca.c line 277](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..0ffc675332a49d013aa1a5e47eb8518b79aaf69c#diff-affab87058fe7f10f8cdc694a83c62e0R277)
changed this line in [version 3 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1334&start_sha=0ffc675332a49d013aa1a5e47eb8518b79aaf69c#afe0e349cab0b6e39bf4435fdcb044da5be5b82e_277_285)
In GitLab by @mon on Oct 10, 2020, 14:32
added 1 commit
<ul><li>4e522a83 - More sane ICCA product code setting</li></ul>
[Compare with previous version](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1334&start_sha=0ffc675332a49d013aa1a5e47eb8518b79aaf69c)
So, the AVS dependency is indeed the incorrect solution and I'm going to remove it.
However! Do IIDX games transparently modify the passed-in gamecode to something else? This is where the problem stems from and I still think using the sidcode here is the correct solution.
In GitLab by @mon on Oct 10, 2020, 14:40
Commented on [src/main/jbhook-util/p3io.c line 168](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..7b55aff2a65e6072b7ac8a1b6a799f94c75a3e6a#diff-2a09449a3a8de09d5aa948e96e513c06R168)
So, the AVS dependency is indeed the incorrect solution and I'm going to remove it.
However! Do IIDX games transparently modify the passed-in gamecode to something else? This is where the problem stems from and I still think using the sidcode here is the correct solution.
In GitLab by @mon on Oct 10, 2020, 16:52
Commented on [src/main/jbhook-util/acio.c line 42](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..4e522a83692f035aee2d459ad3eff8e8f20a5db6#diff-ce464984a1cab0bde02b0692638b6b85R42)
changed this line in [version 4 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1335&start_sha=4e522a83692f035aee2d459ad3eff8e8f20a5db6#aad75f3908f34f807b7f561975db96f135896e06_42_40)
In GitLab by @mon on Oct 10, 2020, 16:52
Commented on [src/main/jbhook/dllmain.c line 55](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..4e522a83692f035aee2d459ad3eff8e8f20a5db6#diff-5eb1bc44612c08ace0d2df759263cd1dR55)
changed this line in [version 4 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1335&start_sha=4e522a83692f035aee2d459ad3eff8e8f20a5db6#cc901a171ec604a099887048e90a044d2e6a8803_55_0)
In GitLab by @mon on Oct 10, 2020, 16:52
added 3 commits
<ul><li>f5edffa3 - Remove avslibs, it was a mistake</li><li>5a7541cf - Split jbhook</li><li>11420f4b - Remove accidental commit</li></ul>
[Compare with previous version](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1335&start_sha=4e522a83692f035aee2d459ad3eff8e8f20a5db6)
In GitLab by @mon on Oct 10, 2020, 16:56
added 1 commit
<ul><li>a66b38fa - Better handling of black plug sidcode</li></ul>
[Compare with previous version](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1336&start_sha=11420f4b05fe8473754bba6e904b880eb2fd259e)
In GitLab by @mon on Oct 10, 2020, 17:16
added 1 commit
<ul><li>6d521d03 - Basic docs for the various new jbhook dlls</li></ul>
[Compare with previous version](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=1337&start_sha=a66b38faaf8b5c792fff6f63649e517ba698cfc9)
Nit: Code style, line break before control block. I know this is minor but it helps keeping an overall consistent look which makes reading code easier. You can easily apply code formatting by running make code-format (however, I think the part with line breaks before and after control blocks cannot be covered by clang format...).
Nit: Code style, line break before control block. I know this is minor but it helps keeping an overall consistent look which makes reading code easier. You can easily apply code formatting by running `make code-format` (however, I think the part with line breaks before and after control blocks cannot be covered by clang format...).
That looks definitely more sane. I suggest creating constants in some header file that reference what's viable to pick, e.g. const char* ac_io_emu_prod_code_icca = "ICCA" instead of "hardcoding" them.
That looks definitely more sane. I suggest creating constants in some header file that reference what's viable to pick, e.g. `const char* ac_io_emu_prod_code_icca = "ICCA"` instead of "hardcoding" them.
Not a comment regarding this line, but regarding the commit of this change. Since the commit introduces a rather major change and is just named "Split jbhook", do you mind rewording the commit message and be a bit more elaborate on why you do the split in the commit's message body?
Also a few brief details about how you split them are also good when someone has to browse the history later.
Not a comment regarding this line, but regarding the commit of this change. Since the commit introduces a rather major change and is just named "Split jbhook", do you mind rewording the commit message and be a bit more elaborate on why you do the split in the commit's message body?
Also a few brief details about how you split them are also good when someone has to browse the history later.
How come that gamestart-02.bat addresses an exe game with jbhook1 and gamestart.bat addresses a dll game with jdbook3? Looks like this one needs to be renamed to something greater 02, maybe gamestart-03.bat?
How come that `gamestart-02.bat` addresses an exe game with jbhook1 and `gamestart.bat` addresses a dll game with jdbook3? Looks like this one needs to be renamed to something greater `02`, maybe `gamestart-03.bat`?
This does not cover reading options from a config file. The cconfig module isn't perfect, but takes care of reading from file, parsing different types, e.g. int, float, bool, and handles cmd args overriding. Take a look at how iidx/sdvx have used it for reference and just copy-paste, e.g. iidxhook/ config-iidxhook1.h/c
This does not cover reading options from a config file. The `cconfig` module isn't perfect, but takes care of reading from file, parsing different types, e.g. int, float, bool, and handles cmd args overriding. Take a look at how iidx/sdvx have used it for reference and just copy-paste, e.g. `iidxhook/ config-iidxhook1.h/c`
Minor, but memory leak. I suggest that you rather pass in a const char* and dupe it inside the module. Cleanup of duped string follows in jbhook_util_p3io_fini
Minor, but memory leak. I suggest that you rather pass in a `const char*` and dupe it inside the module. Cleanup of duped string follows in `jbhook_util_p3io_fini`
## Running jubeat or ripples?
Modify `jbhook-01.conf` (jubeat) or `jbhook-02.conf` (ripples).
Can you extend this and point out a few things that you typically have to modify, e.g. PCBID, network address for completeness?
```suggestion:-0+0
## Running jubeat or ripples?
Modify `jbhook-01.conf` (jubeat) or `jbhook-02.conf` (ripples).
```
Can you extend this and point out a few things that you typically have to modify, e.g. PCBID, network address for completeness?
Yes, IIDX does that by setting the dongle codes via the config file. Naturally, this requires different config files for different game version but this turned out to be the most flexible and maintainable solution so far. See [here for the different config files for the different IIDX version](https://dev.s-ul.eu/djhackers/bemanitools/-/tree/master/dist/iidx), [iidx 11 config here](https://dev.s-ul.eu/djhackers/bemanitools/-/blob/master/dist/iidx/iidxhook-11.conf#L62).
In GitLab by @xyen on Oct 12, 2020, 16:50
Commented on [GNUmakefile line 229](https://github.com/djhackersdev/bemanitools/compare/9f4e79294296d386006bc6344530788431b7a929..cf126bef4c02826f8630367c5eac88c9c30bf38a#diff-b0fa74059a31d3efac99fea6d20ca25aR229)
this was also from the avslibs change I think
idk if we should be promoting loose dll files, btools works with dll's in the modules folder if you pass it correctly, idk how to word this succinctly though.
In GitLab by @xyen on Oct 12, 2020, 16:50
Commented on [doc/jbhook/README.md line 51](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-2bcca856c49b9e4a4bb5d2d71bccbc36R51)
idk if we should be promoting loose dll files, btools works with dll's in the modules folder if you pass it correctly, idk how to word this succinctly though.
Have there been any releases that follow the vanilla way of keeping the dll files in the modules folder? I would definitely encourage that, but this hasn't been implemented so far and we would have to cover both use-cases, with and without a modules folder to ensure existing setups keep working.
Have there been any releases that follow the vanilla way of keeping the dll files in the `modules` folder? I would definitely encourage that, but this hasn't been implemented so far and we would have to cover both use-cases, with and without a `modules` folder to ensure existing setups keep working.
With the merging of !83, I'm going to pick this back up again, fix lighting (H44B) and eamio coexistence, fix all the issues found during review, and rebase to create a clean commit history. Hopefully within ~3 weeks or so.
In GitLab by @mon on Mar 17, 2021, 24:24
With the merging of !83, I'm going to pick this back up again, fix lighting (H44B) and eamio coexistence, fix all the issues found during review, and rebase to create a clean commit history. Hopefully within ~3 weeks or so.
If you'll accept this answer - no.
ddrhook and sdvxhook both use args_recover and "manual" argv parsing instead of cconfig, the purity of the codebase isn't in danger. All of the options jbhook2/3 need are all flags with no additional parsing required. I think it's reasonable to just have it like this because I just want this PR to actually make it in :(
In GitLab by @mon on Dec 31, 2021, 11:07
Commented on [src/main/jbhook2/options.c line 15](https://github.com/djhackersdev/bemanitools/compare/9f4e79294296d386006bc6344530788431b7a929..cf126bef4c02826f8630367c5eac88c9c30bf38a#diff-1eec4fdcb90cf4e71af428587bbd6fd1R15)
If you'll accept this answer - no.
ddrhook and sdvxhook both use args_recover and "manual" argv parsing instead of cconfig, the purity of the codebase isn't in danger. All of the options jbhook2/3 need are all flags with no additional parsing required. I think it's reasonable to just have it like this because I just want this PR to actually make it in :(
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [src/main/jbhook-util/p3io.h line 23](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-b9119a30feb07c819474d4d09049dc70R23)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#158af0ffb167c5c66c34c89e6ba7b5d3d8de5d2b_23_23)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [src/main/jbhook-util/eamuse.c line 105](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-8a74d414776770c3a9839b7a876125a6R105)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#f58f090ee8ab1d919f95764cef7eceffb6bfacce_105_101)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [src/main/jbhook-util/eamuse.c line 76](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-8a74d414776770c3a9839b7a876125a6R76)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#f58f090ee8ab1d919f95764cef7eceffb6bfacce_76_76)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [src/main/acioemu/icca.c line 74](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-affab87058fe7f10f8cdc694a83c62e0R74)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#afe0e349cab0b6e39bf4435fdcb044da5be5b82e_74_67)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [dist/jb/gamestart.bat line 10](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-79e4275ed7e5bceea41b6da2c94054e3R10)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#72695eda45dc2d00c073d49b5e946b18eb977742_10_0)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [src/main/jbhook-util/acio.h line 23](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-713a060583f38b1ad827740839eecb12R23)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#5de04b369149b2bc17444415cabf1df53c890c53_23_23)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [src/main/jbhook2/dllmain.c line 93](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-b3f2377e20239cd8c7b5b179b4fc92a8R93)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#96e94e580707a01a9b002a2d1b1cbed62c735cfb_93_95)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [doc/jbhook/README.md line 34](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-2bcca856c49b9e4a4bb5d2d71bccbc36R34)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#8e4b2f13e98ee2c293e3a0c14c5e395189ea8263_34_34)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [doc/jbhook/README.md line 42](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-2bcca856c49b9e4a4bb5d2d71bccbc36R42)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#8e4b2f13e98ee2c293e3a0c14c5e395189ea8263_42_42)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [doc/jbhook/README.md line 51](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-2bcca856c49b9e4a4bb5d2d71bccbc36R51)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#8e4b2f13e98ee2c293e3a0c14c5e395189ea8263_51_51)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [doc/jbhook/README.md line 58](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-2bcca856c49b9e4a4bb5d2d71bccbc36R58)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#8e4b2f13e98ee2c293e3a0c14c5e395189ea8263_58_58)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [doc/jbhook/README.md line 65](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-2bcca856c49b9e4a4bb5d2d71bccbc36R65)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#8e4b2f13e98ee2c293e3a0c14c5e395189ea8263_65_65)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [doc/jbhook/README.md line 66](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-2bcca856c49b9e4a4bb5d2d71bccbc36R66)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#8e4b2f13e98ee2c293e3a0c14c5e395189ea8263_66_65)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [doc/jbhook/README.md line 68](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-2bcca856c49b9e4a4bb5d2d71bccbc36R68)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#8e4b2f13e98ee2c293e3a0c14c5e395189ea8263_68_68)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [doc/jbhook/README.md line 72](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-2bcca856c49b9e4a4bb5d2d71bccbc36R72)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#8e4b2f13e98ee2c293e3a0c14c5e395189ea8263_72_72)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [doc/jbhook/jbhook1.md line 15](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-12d31da1758ec7469e4a4864e1521cabR15)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#f0d01f4b8f4bd06ca3fcc7c486829c6392b5e08b_15_15)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [doc/jbhook/jbhook2.md line 15](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-07e6fb947c0845ab5f90fd275af1bc4bR15)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#e31271208be22615699f5a2427bb94ee87eef06a_15_15)
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on [doc/jbhook/jbhook3.md line 18](https://github.com/djhackersdev/bemanitools/compare/46b1ddbc1a6a93a05a90b55bba5a23fbe38e3b80..6d521d037c0ff3f663514be63ef40427bb6015bd#diff-8b6c21d0f160ff49ec1fd81fc963d721R18)
changed this line in [version 7 of the diff](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd#8a3e73005060f402924a00bd3a7dd18386531bc2_18_18)
In GitLab by @mon on Dec 31, 2021, 11:29
added 160 commits
<ul><li>6d521d03...9f4e7929 - 159 commits from branch <code>djhackers:master</code></li><li>8e92ffd4 - jubeat: support p3io games</li></ul>
[Compare with previous version](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2206&start_sha=6d521d037c0ff3f663514be63ef40427bb6015bd)
all the bloody nonsense with sidcode just-in-time fixes has been nuked at ice and xyen's suggestion, it was stupid code and the game config exists for a reason. Thanks for your sanity there.
fixed all the "nit" comments, as well as their original sources (because I copied docs from iidxhook)
Added screen rotation which took WEEKS because opengl is totally new to me, huge usability boost
Ripples still isn't tested because the data is MIA, I do have the libavs from it which has exports in a different order, so it requires a new exports file. This is what ya get for using ordinals...
Truthfully, I haven't performed a re-test with the rebase. However, I have no future re-architects or changes, so assuming the code is considered approved I'll go run my full local suite.
In GitLab by @mon on Dec 31, 2021, 11:34
The great rebase of 2021 (just!) has finished.
Some other big changes from past review notes:
- all the bloody nonsense with sidcode just-in-time fixes has been nuked at ice and xyen's suggestion, it was stupid code and the game config exists for a reason. Thanks for your sanity there.
- fixed all the "nit" comments, as well as their original sources (because I copied docs from iidxhook)
- Added screen rotation which took WEEKS because opengl is totally new to me, huge usability boost
Ripples still isn't tested because the data is MIA, I *do* have the libavs from it which has exports in a different order, so it requires a new exports file. This is what ya get for using ordinals...
Truthfully, I haven't performed a re-test with the rebase. However, I have no future re-architects or changes, so assuming the code is considered approved I'll go run my full local suite.
In GitLab by @mon on Jan 3, 2022, 08:08
Commented on [dist/jb/gamestart.bat line 10](https://github.com/djhackersdev/bemanitools/compare/9f4e79294296d386006bc6344530788431b7a929..cf126bef4c02826f8630367c5eac88c9c30bf38a#diff-79e4275ed7e5bceea41b6da2c94054e3L10)
Mistake, fixed!
This has now been successfully tested on the following game versions:
jubeat (2008)
knit append
copious append
saucer
saucer fulfill
jbhook3 (saucer->festo) is very stable, I didn't bother testing prop/qubell/clan/festo
In GitLab by @mon on Jan 3, 2022, 08:10
This has now been successfully tested on the following game versions:
- jubeat (2008)
- knit append
- copious append
- saucer
- saucer fulfill
jbhook3 (saucer->festo) is very stable, I didn't bother testing prop/qubell/clan/festo
In GitLab by @mon on Jan 3, 2022, 10:58
added 3 commits
<ul><li>64c76b5e - jbhook1: also use ICCB</li><li>69236b17 - jbhook2: fix broken windowed toggle</li><li>cf126bef - jbhook2: Move hooking further back where possible</li></ul>
[Compare with previous version](/djhackers/bemanitools/-/merge_requests/55/diffs?diff_id=2211&start_sha=55da4f6b0a3cc9ea69ef56f10010620ed5ee8a7e)
2008, knit append, and copious append have been tested (and appropriate fixes pushed) on my jubeat cab. It usually runs festo, so I have no concerns for saucer/fulfill.
I consider this now "ready to merge"
In GitLab by @mon on Jan 3, 2022, 10:59
2008, knit append, and copious append have been tested (and appropriate fixes pushed) on my jubeat cab. It usually runs festo, so I have no concerns for saucer/fulfill.
I consider this now "ready to merge"
I'm happy that this project has resumed. When this is released, can it be used with jbio-p4io? I would like to report that my cab cannot reset ACIO when jbhook2 before the recent modification is used with jbio-p4io.
In GitLab by @HAYU on Jan 4, 2022, 19:34
I'm happy that this project has resumed. When this is released, can it be used with jbio-p4io? I would like to report that my cab cannot reset ACIO when jbhook2 before the recent modification is used with jbio-p4io.
Huge contribution and amazing job. I don't see any major no-goes and no reason to keep this further blocked regarding any quality concerns. Let's forward fix anything else that comes up after the release.
Huge contribution and amazing job. I don't see any major no-goes and no reason to keep this further blocked regarding any quality concerns. Let's forward fix anything else that comes up after the release.
Thank you for this wonderful work and the quick 5.37 launch.
I don't think any MCODE for K44 is supported. K44 does not run in any destination(A:C:A, J:C:A, K:C:A).
(+edit) J44 seems to only run J:C:A.
In GitLab by @HAYU on Jan 5, 2022, 03:37
Thank you for this wonderful work and the quick 5.37 launch.
I don't think any MCODE for K44 is supported. K44 does not run in any destination(A:C:A, J:C:A, K:C:A).
(+edit) J44 seems to only run J:C:A.
Please be more specific as to the issues you are experiencing. Is it a crash? Error message?
K44 and J44 covers all games. What games are you actually running?
In GitLab by @mon on Jan 5, 2022, 03:55
Please be more specific as to the issues you are experiencing. Is it a crash? Error message?
K44 and J44 covers all games. What games are you actually running?
J44=knit, K44=copious (used jb-03 and jb-04 respectively)
Only J44 seems to pass in jbhook_util_p3io_init.
I temporarily added SECURITY_MCODE_GAME_JB_4 and designated it as K44, and the copious was executed normally.
In GitLab by @HAYU on Jan 5, 2022, 04:23
J44=knit, K44=copious (used jb-03 and jb-04 respectively)
Only J44 seems to pass in jbhook_util_p3io_init.
I temporarily added SECURITY_MCODE_GAME_JB_4 and designated it as K44, and the copious was executed normally.
wavepass card reader is not available when used in copious with jbio-p4io.dll. The '+' button on the keyboard number pad still works.
If knit use eamio-icca.dll together, It can use contactless reader perfectly, but if copious use it, copious will have a problem after reading the card once.
I think it's a problem caused by emulation with a slotted reader. If I set something wrong, please point it out.
In GitLab by @HAYU on Jan 5, 2022, 17:13
I'm sorry to keep leaving comments on this side.
wavepass card reader is not available when used in copious with jbio-p4io.dll. The '+' button on the keyboard number pad still works.
If knit use eamio-icca.dll together, It can use contactless reader perfectly, but if copious use it, copious will have a problem after reading the card once.
I think it's a problem caused by emulation with a slotted reader. If I set something wrong, please point it out.
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.
In GitLab by @mon on Oct 4, 2020, 18:07
Merges jb-p3io -> master
Very good summary for the MR before getting started reviewing. Can you add the extended versions of each item to the commit message bodies? As they include reasoning for the change, the commit message and git history would be improved.
Nice merger 👍
Nit: Code style, newline after control block.
Nit: I would prefer having an else block that encloses everything below that is non v150 instead of the break within the if block to jump out. Reason: Imo that's easier to read.
Same situation here, reading the flow for each version becomes more difficult here. I suggest separating the different icca versions in properly enclosed dedicated if-else blocks. This would also mean to repeat the
icca->detected_new_reader = true;part in the v170 and other (else) blocks.Nit: This looks very odd if you don't know what's going on. A brief comment explaining the situation with ICCB being ICCA v150 might be helpful for future readers.
I don't agree to have the following code being enabled implicitly via an AVS version compiler flag. I would prefer having this enabled explicitly with each game/hook. Can you refactor this part to have a parameter in the
jbhook_util_ac_io_port_initfunction that gets set accordingly by the different jbhook implementations?Personal recommendation/rule of thumb (though there are always exceptions): Prefer explicit APIs over implicit ones.
I suggest sticking to to
const char*within the code as this makes it easier to quickly add support for configurable parameters via config files/cmd params and such. Have aconst char*toconst wchar_t*conversion within that function before callingac_io_emu_init. Check theutil/str.hpackage. There should be something to likestr_widen.(That makes me wonder why
ac_io_emu_inituseswchar_tinstead ofchar...).Does this really apply to all p3io games? What about jubeat (1) which is an exe and not dll-based game?
Nit: Code style, new line before control block
👍
Similar to what I already commented on. I suggest splitting this code into two separate hook dlls. It will be a lot of copy pasting, but that's the general architecture we decided on with BT5. This is also followed with the different flavors of iidxhook already.
In GitLab by @mon on Oct 5, 2020, 07:17
Commented on src/main/jbhook-util/p3io.c line 168
Just checked and yes, it fails on jubeat (1). I have a working copy now, so I'll fix this up.
In GitLab by @xyen on Oct 6, 2020, 08:50
Commented on src/main/jbhook-util/p3io.c line 168
I wouldn't do this here, instead I'd pass it in as a config param from the actual jbhook, and remove the whole
avslibsthing.In GitLab by @xyen on Oct 6, 2020, 08:50
Commented on src/main/jbhook-util/acio.h line 9
It uses
wchar_tbecause the hooks are all based on the wide versions of the functions, the multibyte ones get wrapped into the wide ones.I just checked the code and got reminded that the irp struct contains a
wchar_tversion for the filename of an open call. Also remembered that this makes sense to haveCreateFileAandCreateFileWhandled transparently for anything that uses thehook/iohookmodule (single byte filenames can be transformed to multibyte but not vice versa without loss, naturally). /thoughtsThen that's fine, ignore my comment 👍
If I understand your idea correctly @xyen, then I think yours is the better solution. It avoids the avs call/depdency and creating a heuristic to fix this. Furthermore, for iidx, we configure the roundplug values in the
iidxhook.conffile and that worked out well across all the roundplug based versions of the game. The use-case here looks identical.In GitLab by @mon on Oct 10, 2020, 14:24
Commented on src/main/acioemu/icca.c line 152
changed this line in version 2 of the diff
In GitLab by @mon on Oct 10, 2020, 14:24
Commented on src/main/acioemu/icca.c line 219
changed this line in version 2 of the diff
In GitLab by @mon on Oct 10, 2020, 14:24
Commented on src/main/jbhook-util/p3io.c line 168
changed this line in version 2 of the diff
In GitLab by @mon on Oct 10, 2020, 14:24
Commented on src/main/jbhook-util/p3io.c line 161
changed this line in version 2 of the diff
In GitLab by @mon on Oct 10, 2020, 14:24
added 4 commits
Compare with previous version
In GitLab by @mon on Oct 10, 2020, 14:32
Commented on src/main/acioemu/icca.c line 131
changed this line in version 3 of the diff
In GitLab by @mon on Oct 10, 2020, 14:32
Commented on src/main/acioemu/icca.c line 277
changed this line in version 3 of the diff
In GitLab by @mon on Oct 10, 2020, 14:32
added 1 commit
Compare with previous version
In GitLab by @mon on Oct 10, 2020, 14:40
Commented on src/main/jbhook-util/p3io.c line 168
So, the AVS dependency is indeed the incorrect solution and I'm going to remove it.
However! Do IIDX games transparently modify the passed-in gamecode to something else? This is where the problem stems from and I still think using the sidcode here is the correct solution.
In GitLab by @mon on Oct 10, 2020, 16:52
Commented on src/main/jbhook-util/acio.c line 42
changed this line in version 4 of the diff
In GitLab by @mon on Oct 10, 2020, 16:52
Commented on src/main/jbhook/dllmain.c line 55
changed this line in version 4 of the diff
In GitLab by @mon on Oct 10, 2020, 16:52
added 3 commits
Compare with previous version
In GitLab by @mon on Oct 10, 2020, 16:56
added 1 commit
Compare with previous version
In GitLab by @mon on Oct 10, 2020, 17:16
added 1 commit
Compare with previous version
👍
Nit: Code style, line break before control block. I know this is minor but it helps keeping an overall consistent look which makes reading code easier. You can easily apply code formatting by running
make code-format(however, I think the part with line breaks before and after control blocks cannot be covered by clang format...).Since this is part of the git history anyway, is there a reason that this should be kept as a comment instead of being removed?
Nit: Label indention level -4 spaces.
Nit: Code style, line break before control block.
Why is that hooked?
Same question here. I don't really see any major change in the code below.
That looks definitely more sane. I suggest creating constants in some header file that reference what's viable to pick, e.g.
const char* ac_io_emu_prod_code_icca = "ICCA"instead of "hardcoding" them.👍
Not a comment regarding this line, but regarding the commit of this change. Since the commit introduces a rather major change and is just named "Split jbhook", do you mind rewording the commit message and be a bit more elaborate on why you do the split in the commit's message body?
Also a few brief details about how you split them are also good when someone has to browse the history later.
How come that
gamestart-02.bataddresses an exe game with jbhook1 andgamestart.bataddresses a dll game with jdbook3? Looks like this one needs to be renamed to something greater02, maybegamestart-03.bat?A brief comment on when this might be necessary and what's the difference might be good to have here for future readers.
This does not cover reading options from a config file. The
cconfigmodule isn't perfect, but takes care of reading from file, parsing different types, e.g. int, float, bool, and handles cmd args overriding. Take a look at how iidx/sdvx have used it for reference and just copy-paste, e.g.iidxhook/ config-iidxhook1.h/cMinor, but memory leak. I suggest that you rather pass in a
const char*and dupe it inside the module. Cleanup of duped string follows injbhook_util_p3io_finiI don't understand how this is "better handling" of the plug code. Do you mind elaborating in the commit message?
Yup, it's not just you. Very good to have this here 👍
Nit: This is not called "kactools" anymore but bemanitools.
Suggestion:
Can you extend this and point out a few things that you typically have to modify, e.g. PCBID, network address for completeness?
Also, shouldn't this be called
gamestart-03.bat?Yes, IIDX does that by setting the dongle codes via the config file. Naturally, this requires different config files for different game version but this turned out to be the most flexible and maintainable solution so far. See here for the different config files for the different IIDX version, iidx 11 config here.
In GitLab by @xyen on Oct 12, 2020, 16:50
Commented on GNUmakefile line 229
this was also from the avslibs change I think
In GitLab by @xyen on Oct 12, 2020, 16:50
Commented on doc/jbhook/README.md line 51
idk if we should be promoting loose dll files, btools works with dll's in the modules folder if you pass it correctly, idk how to word this succinctly though.
Have there been any releases that follow the vanilla way of keeping the dll files in the
modulesfolder? I would definitely encourage that, but this hasn't been implemented so far and we would have to cover both use-cases, with and without amodulesfolder to ensure existing setups keep working.In GitLab by @mon on Mar 17, 2021, 24:24
With the merging of !83, I'm going to pick this back up again, fix lighting (H44B) and eamio coexistence, fix all the issues found during review, and rebase to create a clean commit history. Hopefully within ~3 weeks or so.
In GitLab by @mon on Dec 31, 2021, 11:07
Commented on src/main/jbhook2/options.c line 15
If you'll accept this answer - no.
ddrhook and sdvxhook both use args_recover and "manual" argv parsing instead of cconfig, the purity of the codebase isn't in danger. All of the options jbhook2/3 need are all flags with no additional parsing required. I think it's reasonable to just have it like this because I just want this PR to actually make it in :(
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on src/main/jbhook-util/p3io.h line 23
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on src/main/jbhook-util/eamuse.c line 105
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on src/main/jbhook-util/eamuse.c line 76
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on src/main/acioemu/icca.c line 74
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on dist/jb/gamestart.bat line 10
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on src/main/jbhook-util/acio.h line 23
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on src/main/jbhook2/dllmain.c line 93
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on doc/jbhook/README.md line 34
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on doc/jbhook/README.md line 42
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on doc/jbhook/README.md line 51
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on doc/jbhook/README.md line 58
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on doc/jbhook/README.md line 65
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on doc/jbhook/README.md line 66
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on doc/jbhook/README.md line 68
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on doc/jbhook/README.md line 72
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on doc/jbhook/jbhook1.md line 15
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on doc/jbhook/jbhook2.md line 15
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
Commented on doc/jbhook/jbhook3.md line 18
changed this line in version 7 of the diff
In GitLab by @mon on Dec 31, 2021, 11:29
added 160 commits
djhackers:master8e92ffd4- jubeat: support p3io gamesCompare with previous version
In GitLab by @mon on Dec 31, 2021, 11:34
The great rebase of 2021 (just!) has finished.
Some other big changes from past review notes:
Ripples still isn't tested because the data is MIA, I do have the libavs from it which has exports in a different order, so it requires a new exports file. This is what ya get for using ordinals...
Truthfully, I haven't performed a re-test with the rebase. However, I have no future re-architects or changes, so assuming the code is considered approved I'll go run my full local suite.
Why did you remove the heap size?
Just in a talk with @mon and we aligned that this solution is fine as it is regarding simplicity.
In GitLab by @mon on Jan 3, 2022, 08:08
added 7 commits
5fe88214- p3ioemu: reorganise code for easy readingf9764088- jbhook: fix missing heap sizes in gamestart.bat6e72983a- jbhook: Add some better documentationf1fcfeb1- jbhook: Finalise half-baked "rotate window" hooksf67c2e48- jbhook: Fix security error when booting knit appendf0300ba6- jbhook: make errors right-side-up as well55da4f6b- jbhook2: also use ICCB mode (fixes copious)Compare with previous version
In GitLab by @mon on Jan 3, 2022, 08:08
Commented on dist/jb/gamestart.bat line 10
Mistake, fixed!
In GitLab by @mon on Jan 3, 2022, 08:10
This has now been successfully tested on the following game versions:
jbhook3 (saucer->festo) is very stable, I didn't bother testing prop/qubell/clan/festo
In GitLab by @mon on Jan 3, 2022, 10:58
added 3 commits
64c76b5e- jbhook1: also use ICCB69236b17- jbhook2: fix broken windowed togglecf126bef- jbhook2: Move hooking further back where possibleCompare with previous version
In GitLab by @mon on Jan 3, 2022, 10:59
2008, knit append, and copious append have been tested (and appropriate fixes pushed) on my jubeat cab. It usually runs festo, so I have no concerns for saucer/fulfill.
I consider this now "ready to merge"
In GitLab by @HAYU on Jan 4, 2022, 19:34
I'm happy that this project has resumed. When this is released, can it be used with jbio-p4io? I would like to report that my cab cannot reset ACIO when jbhook2 before the recent modification is used with jbio-p4io.
Huge contribution and amazing job. I don't see any major no-goes and no reason to keep this further blocked regarding any quality concerns. Let's forward fix anything else that comes up after the release.
approved this merge request
resolved all threads
In GitLab by @mon on Jan 5, 2022, 24:53
@HAYU yes, I encountered that exact bug. It was fixed in
cf126befand jbhook2 now works correctly!In GitLab by @HAYU on Jan 5, 2022, 03:37
Thank you for this wonderful work and the quick 5.37 launch.
I don't think any MCODE for K44 is supported. K44 does not run in any destination(A:C:A, J:C:A, K:C:A).
(+edit) J44 seems to only run J:C:A.
In GitLab by @mon on Jan 5, 2022, 03:55
Please be more specific as to the issues you are experiencing. Is it a crash? Error message?
K44 and J44 covers all games. What games are you actually running?
In GitLab by @HAYU on Jan 5, 2022, 04:16
SECURITY ERROR(BLACK) occurs in K44. It's trivial, but J44 has SECURITY ERROR(BLACK) other than J Region.
In GitLab by @mon on Jan 5, 2022, 04:18
Please tell me what games! I need to know the exact mixes (jb1? knit? knit append? prop?) etc.
In GitLab by @HAYU on Jan 5, 2022, 04:23
J44=knit, K44=copious (used jb-03 and jb-04 respectively)
Only J44 seems to pass in jbhook_util_p3io_init.
I temporarily added SECURITY_MCODE_GAME_JB_4 and designated it as K44, and the copious was executed normally.
In GitLab by @mon on Jan 5, 2022, 04:38
Alright, thank you for the clarification. I know enough now and I can fix this later.
In GitLab by @HAYU on Jan 5, 2022, 17:13
I'm sorry to keep leaving comments on this side.
wavepass card reader is not available when used in copious with jbio-p4io.dll. The '+' button on the keyboard number pad still works.
If knit use eamio-icca.dll together, It can use contactless reader perfectly, but if copious use it, copious will have a problem after reading the card once.
I think it's a problem caused by emulation with a slotted reader. If I set something wrong, please point it out.