Voltage - ratio of perfects to total tap notes
Stream - ratio of player max combo to possible max combo
Air - ratio of jumps to total possible jumps
Freeze - ratio of freeze arrows to total freeze arrows
Chaos - dance points percentage
Note: Multidimensional array stageStats.fRadarActual[p][r] is now a %, not width.
Quick 6am (zzzz) tips:
If a block is more than a few lines long, always bracket {} it, even if you
don't have to. Large unbracketed expressions get hard to follow.
Don't do this:
while(stuff) {
if(x) {
do lots of stuff;
}
}
Instead, do this:
while(stuff) {
if(!x)
continue;
do lots of stuff;
}
This simplifies program flow; the former makes me scroll down the page
to see if there's anything after the "if" before it comes around the loop
again. It also reduces indentation.
XXX's are things that I'm not going to try to do at 6am ...
DP - dance points, what Miryokuteki had in place
AP - arcade points, like MAX2 arcade
SP - song points, like MAX2 home (though I don't know the exact system)
CS - clear stages, like 5th home
Somewhat strewn but not supported yet:
!! - Toastys seen
EC - cleared extra stages
EF - fail extra stage (don't quote me on these two yet, I haven't tried them yet)
RO - roulette (theres fifteen roulette slots, but its not implemented yet)
Also updated the INI to store values for these means of unlocking. The system
still isn't "optimized" yet, though.
In Short: A sound plays each time a judgement appears on the screen. I've made a fair few options available for themers on this one... hence so many redir files.
Split ScreenLogo and ScreenTitleMenu.
In ScreenTitleMenu, add a different animation if using COIN_HOME (for SMMAX2).
Added codes at TitleMenu to change Theme and Announcer.
Change ScreenManager message sending methods for more precise control:
- SendMessageToTopScreen: handle the message immediately
- PostMessageToTopScreen: post message to queue for processing next update