as if the theme were set to "default", which is correct, but when you
enter the Appearances menu, it changes the theme to "beat" instead.
This change fixes the bug by making SM use the same string constant
everywhere the default theme is set.
Do this by correctly calling ToString and FromString. Also, fix the
missing metric for DefaultFailType.
Still broken is the way a new set of preferences doesn't have "default"
as the default theme.
not "default". Earlier it was set so that it would be that way if the user
didn't pick any options, but after the user changed options, ScreenEdit
would use the "default" NoteSkin. This involved adding a bit of static
state to ScreenEdit so that between calls to GAMESTATE::Reset,
new incarnations of ScreenEdits would keep the user's settings.
thanks of course to my amazing abilities. Lesser players have pointed out
that the right thing to do is in fact increment a miss combo by one regardless
of how many taps are missed at once. This change restores the original
count and leaves a comment describing why it isn't incremented more.
Also, just kidding, Wolfman.
ScreenEdit::RevertFromDisk, ScreenEdit's Save routine, and
ScreenEditMenu's Delete Steps routine. This fixes the bug where
deleting a step chart sometimes causes interesting behavior
but usually just causes a CTD next time you run Oni mode. It also makes
sure data precalculated from the songs is correctly recalculated when
ScreenEdit changes a song.
Steps* pointers as possible. It is pointless to get rid of RevertFromDisk
entirely because all of the unpleasant side effects it can have are possible
using other tools in the editor.
operator and the various uses of it.
- revert file from disk: keeps old BPM. The BPMS on disk are added to
the existing BPM information!
- edit mode turns X stepcharts into 2X when reverting
- sometimes edit mode loses an entire stepchart: open a stepchart,
change to a new stepchart, exit without going back, original chart gone
- edit a chart, make a change in a different chart, exit from the first chart:
change made in different chart doesn't revert
- normally, when you create a stepchart and don't save it after editting it,
it is deleted. however, if you create a stepchart, don't save it, and exit
edit mode while looking at a different chart, the chart isn't deleted.
Some existing bugs are not fixed, though:
- delete the last stepchart for a step type. CTD.
- Edit one of the fake doubles stepcharts for a song that doesn't have
real doubles stepcharts. Exit without doing anything. CTD. This is
probably the same problem as the previous bug.
- delete a song or a steps that happens to be part of a trail. Trail is now
broken. Some other edits should affect a trail as well, but don't.
This fixes a bug where opening the course editor and pressing down
immediately CTDs.
There is still a bug where sometimes a "random" stepchart has an
uninitialized StepsType. This can be reliably triggered by going to the
Course Editor, creating a new course, and exiting without changing
the course any. It will have one random song with an uninitialized
StepsType, causing a CTD.
Although AdjustSync would not alter anything in CourseMode, it would
sometimes announce it had. It would be better to simply remove the
Autosync line from the options in CourseMode, but I don't know how to
do that.
In edit mode, though, AdjustSync should only save to memory, giving the
user a chance to save later. This change adds a SongChanged message
to the MessageManager. Making the ScreenEdit class listen to this
message allows the AdjustSync class to mark a song as dirty rather than
saving it to disk when in edit mode.
R=steve chekoway
of a m_bDirty bit, not by reusing the m_bHasUndo bit. This fixes two bugs:
1) Save & revert wouldn't clear the dirty bit before
2) Some operations such as tempo and stop changes wouldn't make
the song dirty
R=Steve Chekoway
Regression to figure out a line through the user's step errors to minimize
that error. It then uses the slope of that line to fix the tempo and the
intercept to fix the offset. Stops are adjusted as if they were originally
calculated as a number of beats, ie the slope is also used to change
the stops.
Also fixed is a bug where the user doesn't get a chance to keep or
reject the sync changes when ESCing (ZZing) from a song.
R=glenn
("foo", "bar") < ("bar", "foo") < is true for second string
("bar", "foo") < ("foo", "bar") < is true for first string
We fix this by fully comparing one string, then trying the other one.