extended iniSet to support section headers. Fixes some n64 install/launch issues - #2960
extended iniSet to support section headers. Fixes some n64 install/launch issues#2960dankcushions wants to merge 8 commits into
Conversation
|
If we are to implement section support it would need to handle cases with the same key value in multiple sections. Right now it can't handle that situation so it could be confusing. At some point I may replace all this code with something a bit smarter, but I'm not sold on this currently sorry. |
|
I was thinking to review some existing tools. Eg crudini But this will all have to wait for now due to other priorities. |
is there an example of that? with mupen64plus it explicitly needs to NOT do that. eg, the maybe there's a way of additionally handling key values in ALL sections with via wildcard argument or something like that. i don't mind how you want to do it but right now it's blocker for me doing much more with the mupen64plus install script since everything else i want to do needs it (or something like it!). but i'm in no rush - i'll move on to other things :) |
|
Fixed bug where it was setting a key/value pair globally when operating in section mode: |
|
Not sure if this is in the scope of your pull request but Battle for Naboo no longer requires LLE and gliden64 can run the game just fine. As this was the last game still on that blacklist, I would think that section can probably be removed from the mupen64plus.sh |
|
@quicksilver7837 thanks for that - i did wonder that to but hadn't got around to testing. i plan to review all the blacklisted items to work out what we need for pi4, if any, and also review what works for pi3 + mesa. but yeah, will do that in a later PR :) |
| fi | ||
| iniSet "RESAMPLE" "src-sinc-fastest" | ||
| iniSet "Version" "1" "" "[Audio-SDL]" | ||
| iniSet "RESAMPLE" "src-sinc-fastest" "" "[Audio-SDL]" |
There was a problem hiding this comment.
I have done some more testing with the re-sample algorithm and I have found that "src-sinc-fastest" adds an unacceptable amount of audio latency. Setting the re-sample to "trivial" seems to be a much better solution as it gets rid of the audio crackle issue without adding latency.
…ng in section mode
98504f2 to
fc2c93c
Compare
I found some issues with the mupen64plus scripts where it was duplicating options (
txHiresEnablewas appearing twice), and also that the hotkeys didn't work on first launch with pi4. I tried to solve these in the install scripts, but found fundamental problems caused by mupen64plus use of section headers ([Video-GLideN64], etc) and duplicated option keys (Version =is used several times). The previous iniSet would always append to the end of the file, which could be the wrong section, and it would always match on the first match, which could be in the wrong section.The previous method of manually adding the section headers as install progresses works to a point, but quickly falls over if you do things out of sequence. Rather than add further complexity to that file, I think having a seperate 'section' argument and supporting logic makes it a little more robust and maintainable.
The feature also removes a bunch of duplicated code in the mupen64plus.sh scripts :)
There's a remaining issue where some stuff in
testCompatibilityneeds to run for pi4 (currently it's skipped) as it has some relevant blacklists and audio tweaks. will save that for another PR.