RBEnhanced / RB3Enhanced

Open-source plugin for Rock Band 3 providing many enhancements, fixes, and extra features.
https://rb3e.rbenhanced.rocks
GNU General Public License v2.0
57 stars 11 forks source link

Support arbitrary instrument combos (4 drummers, etc.) #11

Open ihatecompvir opened 1 year ago

ihatecompvir commented 1 year ago

Allow selecting non-standard instrument combinations such as 4 drums or 3 guitars, much like Guitar Hero allowed you to do.

Checklist of what needs to be done before this can be closed out (the code for the following items is not in RB3E source yet) ✅ Change the logic of track assignment so the game won't crash when a duplicate instrument is selected ❌ Modify the part select screen logic so it doesn't "grey out" instruments when they have been selected by another player ❌ Genericize overshell slots so any instrument could go there, allowing you to connect e.g. 4 drumsets ❌ Remove the logic that checks for if the instrument slot is open in the gathering before joining a session ❌ Probably more I am forgetting

ihatecompvir commented 9 months ago

An update on this for those who are curious since I did tease this a while ago in the RBE Discord, yet there has been no release or commit for it:

The game creates an array of GameGemList for each instrument type and populates them with the notes from the MIDI. When you use duplicate instruments and have like 4 guitarists or whatever, all players will be pointing to the same GameGemList for guitar. As you can imagine, this creates issues, as the first player to hit a note will be the only person capable of hitting it - all other players will just register an overstrum. The main blocker here is figuring out if there is any such way to create 4 unique duplicates of each GameGemList and then make it use the duplicates. This will require some rewriting of some core systems and will need a lot more time for me to come up with a good solution.