pixeltris / YgoMaster

Offline Yu-Gi-Oh! Master Duel
MIT License
886 stars 127 forks source link

Feature Request: More Flexible and Versatile Track Selection Options in the Custom Duel Menu #344

Closed Merik2013 closed 3 months ago

Merik2013 commented 8 months ago

I've actually been workshopping this in ChatGPT the past week. https://chat.openai.com/share/d88f7e50-d79d-4a0f-88b7-eedc49dc3261 It gets a bit long because I had to paste the entire DuelSettings.cs into it at one point. ChatGPT basically just reads headlines in Bing and can't actually read github pages, but that won't stop it from pretending it can.

Anyway, the idea is that currently the custom duel setting for BGM only allows you to pick a number between 1 and 16 (or however high the current standard duel BGM tracks go) and uses that to tell the game to pair DUEL_NORMAL, DUEL_KEYCARD, and DUEL_CLIMAX tracks with that number. With the addition of our ability to create custom sound tracks I'm now finding this very insufficient as it would prove difficult to pair 3 perfectly matching sound tracks for every occasion. This current method also can't grab BGM_SOLO or the special BGM_DUEL_EX tracks used for the WCS events.

Ideally, we should be able to manually select the first, second, and third tracks individually from their own drop down menus and be able to freely mix and match, just as we can in duel files. These windows should include virtually every file that starts with BGM_, and not limit what track can be assigned to what slot. I'm not entirely convinced of ChatGPT's final proposed solution to this. The above log is best perused by someone more familiar with the project's code.

pixeltris commented 3 months ago

https://github.com/pixeltris/YgoMaster/commit/c9ddab57c71e675c9eab89d6941f95a838aac5b4 this commit adds it under ClientSettings.json as DuelStarterShowAllBgms

When enabled it will show BGM1, BGM2, BGM3 rather than BGM in the duel starter UI. It loads the BGMs list from the bottom of https://github.com/pixeltris/YgoMaster/blob/master/YgoMaster/Data/Bgm.json