Previously, you may have gotten values like 639x480 (4:3) or 853x480 (16:9).
These are due to rounding errors caused by lrintf; ceilf does what we really want.
[RageDisplay.cpp] modified screenshot function
[ScreenDimensions] modified SCREEN_WIDTH and SCREEN_HEIGHT algorithms (no longer do you need to SCREEN_WIDTH+1 for 16:9 support)
[StepMania.cpp] modified windowed mode width calculation
1) convert toasty trigger from a single number to a Lua table. Only problem is, the toasty only triggers on the first one. Since this makes it equivalent to how it was set up before, I'm okay with this.
2) FSX submitted a patch that supposedly fixes the broken combo problem. I can't fully test this, so I'm committing it in the hopes that someone else tests it too.
----
Various theme fixes/changes as well.
To combat this, I have developed the BitmapText::textglowmode command, along with the TextGlowMode enum.
Valid values include 'TextGlowMode_Inner', 'TextGlowMode_Stroke', 'TextGlowMode_Both'.
I was getting errors about a missing NotePart_Invalid when
I noticed it wasn't a part of the enum. I don't know if that
was intentional, but it was throwing the compiling off.
1fc3636: "working on routine mode"
fb1edc2: "working on routine"
20b5827: "working on routine"
193363b: "working on routine"
bd042f9: "working on routine"
528089b: remove preferred group filtering (leaving the setting in for later use) [Glenn Maynard]
96821ad: fix pump routine right side DownLeft not drawn [Chris Danford]
fd88c62: easier debug stepping [Chris Danford]
7534867: fix SSM crashes when selecting a song with only one player enabled
cddaab5: simplify SongUtil::GetStepsTypeAndDifficultyFromSortOrder
615aab0: add Style::GetUsesCenteredArrows (doubles + routine)
17f38e7: sanity check
[all code changes by Glenn Maynard]
However, the ones I agreed with were:
75d5b63 "if a Noteskin fails to be loaded by the time the notes need to be displayed, attempt to force the default theme on and throw errors in to the log rather than crashing SM."
Glenn: There was no indication in the commit of when this was actually happening; this is unnecessary logic that will do nothing but hide bugs.
AJ: Based on some of the other code I've seen in the StepMania codebase, I'd say having this code in GetMetric isn't a good idea. There's an assert for checking if the noteskin isn't empty. That should suffice.
e27e971 "Adds metric options to flash the lifebar when a note is hit"
AJ: There are many possible ways of doing this without having to add a new metric.
The most extreme example is to code your own life bar and mess with JudgmentMessageCommand.
I'm not sure if StreamDisplay would respond to the message or not, but there are multiple ways of getting at the Stream. (ultralight, to be released, contains an example)
--------
cleanup
small amount of work on guitar-five (still incomplete)
add more commented out stuff for replay data playback
debug trace combo in order to find out issues with smo-ssc
added old packet names as comments in NetworkSyncManager.h
[Course.cpp] HasTimedMods() now actually checks for timed mods (technically non-global) instead of being a clone of HasMods()
[Player.cpp] add MAX_HOLD_LIFE/[Player] MaxHoldLife metric
[ScreenGameplay] looking into places to put loading of replay data, perhaps?
[elsewhere] lots of cleanup, and I'm sure there's lots more to be done.
add a todo to ProductivityHelpers.
* Added new metric to cap the max life of a hold. No sanity checking yet: need a way to keep <= 1.
* Added more Pump specific behavior to lua.
* Fixed combo and hold judgment graphics due to it being defined twice.
Minor cleanup of the ProductivityHelpers is going to have to happen later on.