So I was messing with the 1.2 version of SD Remix and it turns out, neither Captain Falcon nor Ganondorf can act if they connect with their Side+Bs, whereas they're supposed to be able to. Does anybody have these changes on hand for 1.2?
More directed at @
sdremix_troubleshooter
, what's the thought about adding in more usability DOL mods? For instance, I think it would be good to put in some of the DOL suggestions that Achilles mentioned (particularly the camera mode unbounded). Stage striking is also something I really want, as it's awesome and it has no apparent drawbacks to include. I also think the dynamic lagless FoD code would be nice, though I think you said you were fine with it already.
However, there are a couple of mods that I think would be great, but mess with the UI in some way. I think the handicap actually be stock control and auto being crew battle control would be great, but it does take away functionality from the core game, which may or may not be something that's okay. However, the people who play SD Remix probably don't have much use for the default handicap mode, so it might be worth it. If it's really desired, maybe another menu that's like the debug menu can be created to toggle these settings so there's no loss of functionality. This might also be considered getting into more of "Melee+" territory rather than SD Remix, but I think this is still a gray enough area that maybe it can be done without compromising the vision of the mod.
Along the same lines, I also think it would be nice to have my ties broken by percentage code:
Basically, if during any match during any mode (including time, stock, coin, and bonus modes), if a tie occurs, this code separates the tied players by real damage (the float value at 0x1890 in the player struct, not the displayed percent in the player block which is an integer). A side effect of all this is that if both characters die at the exact same time in stock mode (upthrow with Kirby on Rainbow cruise at 3 seconds in for a reproducible case of this), the character with the lowest percentage on death is declared the winner. There's a few benefits to this code. Firstly, you don't have to remember the percentage that you were at when the timer runs out and the results screen automatically tells you who won (by percent). Second, it skips sudden death entirely when you're tied by stock, points, or coins when the time runs out (which is a small usability improvement). Lastly, I'm using the real value for damage, which is a floating point value, which you normally wouldn't be able to see in the game, which rounds damage to the nearest integer to display to you. This makes a tie happening very unlikely, unless both players were at 0% when the timer ran out. The disadvantage is that if people like the old tiebreaker method that didn't depend on percentage (which can be understandable), this would automatically declare the winner when it would be a tie in the old version. However, I think since SD Remix was born from the competitive community, it would be nice to have competitive elements like this in it. Another disadvantage is that the code is enormous, so hopefully there's enough room on the DOL to fit it in.
I can also try and figure out how to make sudden death actually a 1 minute match with no bombs. The nice thing about v1.2 over 1.0 is that it sets the stock count to 1 for each character instead of carrying over the remaining stock count for the match, so you don't even have to worry about that 1.0 quirk. That being said, it has the same disadvantages in that if people liked the normal sudden death, it would be taken out. This might not really be worth it to figure out, though, if you use the percent tiebreaker code I provided, since sudden deaths would become exceedingly rare.
I see. From what I heard in the past, it was previously considered unlikely because of memory constraints, what with the largest official memory cards only supporting around 8MB or so, of which a 20MB patch couldn't possibly fit.
With this newer, more compact patch, and assuming that the know-how for file replacements becomes a reality, loading SDR from a memory card is still a possibility, right?
The patch file from 1.0 to SDR is actually only 80kb. I don't know how much of that is DOL changes, but the DOL changes are quite easy to do. The config changes are possible as well, PlCo.dat is loaded into memory, which you can poke. It's the stage and character changes that are problematic. You'd have to first create or port the patching code into the dol and hope to god that it fits (xdelta.exe itself is 303kb, so it might fit but creating a patching algorithm in ASM is a daunting task, and you'd probably have to roll your own simplified algorithm, which wouldn't get you down to the 80kb that xdelta gets you). Then you'd have to pre-generate your patch file using the reverse of the algorithm you injected into the DOL using the memory card method. Then you'd have to find the place that actually loads character/stage files (I know that function 0x8039063C seems to be run whenever it SEEMS to be trying to get things from disc, though I could be wrong about that, but more research needs to be done to know the exact function doing the loading, which might be more difficult if the loading is done on separate threads). THEN you need to DOL inject that function to go to your patcher, which interjects the disc loading code and checks the location on disc it's reading from and whether that's a location that needs to be replaced with whatever is in your patch file. It's a lot of work, and it's not likely to be done anytime soon. And even after doing all this, you've likely increased the loading times by an order of magnitude.