Commit Graph
3707 Commits
Author SHA1 Message Date
sigatrev e8e617e545 SavePreferences
for custom option screens.
2014-08-02 00:38:35 -07:00
Kyzentun 9b08ab5b52 Created GameLoop::ChangeGame analogous to GameLoop::ChangeTheme. Changed ChangeTheme to use the AfterThemeChangeScreen metric instead of a passed in screen name from the theme being changed away from. ChangeGame uses the AfterGameChangeScreen and AfterGameAndThemeChangeScreen metrics to pick the screen to load after the change. New metrics are optional and default to InitialScreen. Changed ScreenManager::ThemeChanged to not duplicate the code in ReloadOverlayScreens. Fixed ScreenManager::IsScreenNameValid to check with HasMetric before using GetMetric. Changed game ConfOption logic to set the preference and work in a similar way to the theme ConfOption. Added THEME:SetTheme lua function. 2014-08-02 00:38:34 -07:00
Kyzentun 5828b2529b Fixed two typos. 2014-08-02 00:38:33 -07:00
Kyzentun adfc259b71 Changed CheckEnum to use lua_isnoneornil so that enum args can be made properly optional. Changed PlayMusicPart to allow nil for optional args so optional args would be independent. 2014-08-02 00:38:33 -07:00
sigatrev fe08728393 add SOUND:IsTimingDelayed method and fixed SOUND:PlayMusicPart
PlayMusicPart does not immediately start the new music. IsTimingDelayed
will return true until the new music has started.

The "applyRate" argument of PlayMusicPart was being applied to the
"align_beat" property. Added an additional argument to for "align_beat"
and made "applyRate" work properly.
2014-08-02 00:38:32 -07:00
Kyzentun 4dfeb3eb89 Changed NoteSkinManager::LoadActor to always return a Sprite on failure because some elements must be a sprite. 2014-08-02 00:38:31 -07:00
Kyzentun 8657d70fe1 Created Def.LogDisplay for displaying messages in a log. Changed error reporting layer to use Def.LogDisplay. Changed engine error reporting to not clip errors to a single line. 2014-08-02 00:38:29 -07:00
Kyzentun 88f56cb0ec Tested and fixed error reporting for NoteSkinManager. Changed Sprite::Sprite() to load the default texture. 2014-08-02 00:38:27 -07:00
freem aef6e287f9 [ScreenSystemLayer] restore "Not Present" text in CoinMode_Home
(also gave a possible answer to the comment added during the removal of pay mode)
2014-08-02 00:38:27 -07:00
Kyzentun a9056c20d1 Changed NoteSkinManager to use new error reporting and avoid crashing. Fixed DoChangeTheme to switch to the InitialScreen if the screen doesn't exist in the theme being changed to. Fixed error reporting in MeterDisplay. 2014-08-02 00:38:26 -07:00
Kyzentun 8a6f6a7124 ActorUtil::ResolvePath updated for error reporting. Changed BitmapText to work with either a font name or a path. ThemeManager::GetPathInfoRaw fixed to use correct error dialog. ThemeManager::GetPathInfo fixed to report correct error for missing theme elements. 2014-08-02 00:38:26 -07:00
Kyzentun 4343a99ea9 Changed many parts of GameCommand to improve error reporting. Fixed GameCommand setpref to not set when loading the command. Minor fix to ScreenOptionsExample.ini to explain that SongInCurrentSongGroup is unusable. CommonMetrics, CourseContentsList, HoldJudgent, OptionRowHandler all have minor changes to fix crashes on malformed theme data. 2014-08-02 00:38:25 -07:00
Kyzentun 5df80b6e0e Changed many places that used RageException to use ReportScriptError instead. Wrote ScreenOptionsExample.ini as documentation example for the OptionRow system. Rewrote gamecommands.txt to include all GameCommands. Fixed Commands::GetOriginalCommandString to insert the semicolons that separated the original commands. Changed nonsensical boolean |= true statements in GameCommand.cpp to just use =. Added protection to ReportScriptError to keep it from recursing through itself when an error occurs in error reporting. Added UseAbort option to ReportScriptError for places that want to use an AbortRetryIgnore dialog to query the user. Added ScriptErrorMessage for places that need to handle the warning/dialog part separately. Added logging flag to MESSAGEMAN so that all messages broadcast can be logged when desired. Changed OptionRowHandler::LoadInternal to return a boolean success value as part of error handling. 2014-08-02 00:38:24 -07:00
sigatrev ce2b729710 SetGame method
Added SetGame method to GameManager.

Altered Stepmania::ChangeCurrentGame() to allow a second input,
selecting which theme will be loaded after game is changed.
2014-08-02 00:38:23 -07:00
Kyzentun cc548a8cb5 Moved error reporting to ScreenSystemLayer error.lua. ScreenSystemLayer overlay/default.lua restored to previous. Error messages are now broadcast with the ScriptError message instead of SystemMessage. Added show/hide error messages toggle and clear error messages to debug menu. Nuked ScreenConsoleOverlay for being unfinished and duplicating ScreenSystemLayer. Changed Actor:tween and Tween::CreateFromStack to use ReportScriptError on invalid tween params. Changed some OptionRowList things to use ReportScriptError on invalid metrics. 2014-08-02 00:38:21 -07:00
Kyzentun 8e74a512ad Changed InputFilter to not assert on unrecognized input devices or buttons. 2014-08-02 00:38:20 -07:00
freem 194c8de8f8 add pkgingo's (Win32) Minimaid driver.
* new makefile config option "HAVE_MINIMAID"
* update all Visual Studio projects
2014-08-02 00:38:20 -07:00
Kyzentun 1f979fff5f Rewrote ScreenSystemOverlay overlay/default.lua to be able to display multiple messages. Added Reload Overlay Screens option to debug menu. 2014-08-02 00:38:19 -07:00
Kyzentun a74a49af78 Changed many uses of Dialog::OK and LOG->Warn to use ReportScriptError. 2014-08-02 00:38:18 -07:00
Kyzentun a6c54ebd90 Made Screen not go to next screen if the screen name is empty. 2014-08-02 00:38:17 -07:00
Kyzentun 95fe1a17e9 Replaced every use of lua_call with RunScriptOnStack. Modified RunScriptOnStack to report an error to log and system message using a passed in context string. Modified every use of RunScriptOnStack to avoid crashing so that the reported error can be seen. 2014-08-02 00:38:17 -07:00
Kyzentun e9220c56b7 Added Actor:GetDestX/Y/Z to Lua API. 2014-07-04 02:03:05 -06:00
kyzentun 3c028c2321 Merge pull request #206 from kyzentun/InputCallbacks
This seems solid in my testing, I've converted Consensual to use it instead of CodeMessageCommand.
2014-07-03 23:15:03 -06:00
Kyzentun dfd0a5e897 Added semicolon that moshekaplan forgot. 2014-07-03 11:47:06 -06:00
Kyzentun a117b38f38 Merge branch 'patch-3' of https://github.com/moshekaplan/stepmania 2014-07-03 11:24:18 -06:00
Kyzentun 0d060a0e5c Merge branch 'patch-2' of https://github.com/moshekaplan/stepmania 2014-07-03 11:23:19 -06:00
Moshe Kaplan e52ff00295 Remove memory leak in RageSurfaceUtils::Palettize 2014-07-03 11:27:22 -04:00
Moshe Kaplan 240d1715c9 Minor performance enhancement
`list.empty()` runs in constant time; `list.size` can run in linear time.
`list.empty()` runs in constant time; `list.size` can run in linear time.

Sources:
http://www.cplusplus.com/reference/list/list/size/
http://www.cplusplus.com/reference/list/list/empty/
2014-07-03 10:10:40 -04:00
Moshe Kaplan c0b790cb1f = Operator should check for self-assignment 2014-07-03 09:33:25 -04:00
Kyzentun 63f1eea7ca Changed SCREENMAN:SetNewScreen and AddNewScreenToTop to emit an error for an invalid screen instead of crashing stepmania. 2014-07-01 22:40:00 -06:00
Kyzentun 9a9da05cfb Added doc explaining what a theme needs to support heart rate calorie calculation. 2014-07-01 02:21:24 -06:00
Kyzentun 947479f154 Added heart rate based calorie counting method to Profile as an alternative to step count based calorie counting. Removed unused IsWeightSet from Profile::SaveGeneratlDataCreateNode. 2014-07-01 01:36:00 -06:00
sigatrev 466718e016 created ArrowEffects namespace
and exposed all arrow effects functions. This can allow themed elements
to move with columns during gameplay, such as column specific judgments,
flashes, or whatever else.
2014-06-28 01:26:57 -05:00
AJ Kelly fffcdd08e6 Merge pull request #208 from kyzentun/AutoSetStyleInSetCurrSteps
AutoSetStyle convenience
2014-06-27 22:16:27 -05:00
Kyzentun 6cb9dec854 Changed SetCompatibleStyle to only change when incompatible. 2014-06-27 21:11:34 -06:00
Kyzentun afc090ca73 Changed GAMESTATE:SetCurrentSteps and GAMESTATE:SetCurrentTrail to attempt to set a compatible style if AutoSetStyle is true. 2014-06-27 20:20:50 -06:00
freem 6643c50eee add missing ActorMultiVertex to VS2008 project file 2014-06-27 16:09:38 -05:00
Kyzentun b08d766657 Fixed fake conflict in ThemeAndGamePrefs.lua. 2014-06-26 23:57:40 -06:00
kyzentun c29c9c0cee Merge pull request #201 from kyzentun/FixSetFail
Fix global fail setting overriding song options.
2014-06-26 22:25:21 -06:00
Kyzentun 27c6a54d82 Added AddInputCallback and RemoveInputCallback to Lua API for screen. ScreenManager now passes input to the lua side of each screen in addition to the engine side. 2014-06-26 21:33:54 -06:00
Kyzentun dcf819d297 Moved all sanity checking for OptionRowHandlerLua to a separate function so that a malformed row does not crash StepMania, and instead prints an error to the log file, and creates a row that does nothing. Added AllowAnything arg to CheckEnum. 2014-06-25 12:08:57 -06:00
AJ Kelly 0b7ca07576 Merge pull request #199 from kyzentun/RateCompensation
Changed GetYOffset to make CMods an MMods compensate for music rate.
2014-06-23 14:53:24 -05:00
kyzentun 2ee02c442f Merge pull request #197 from kyzentun/SaveScreenshot
SaveScreenshot for Lua
2014-06-23 12:51:55 -06:00
Kyzentun 3a788651e5 Fixed bug that caused global fail setting to override setting the fail type from song options. Added GAMESTATE:SetFailTypeExplicitlySet so that a theme with a custom song options screen can protect its fail setting from being overridden the same way the engine ScreenSongOptions does. 2014-06-20 13:54:56 -06:00
Kyzentun 045e9edcdd Added ArbSpeedMods function for a better way of setting speed modifiers. Added NotifyHandlerOfSelection to OptionRowHandler to support this. Changed exceptions thrown by OptionRowHandlerLua into log warnings because crashing out is not helpful to themers. Fixed SetEnabledForPlayers in OptionRowHandlerLua to correctly read the PlayerNumber enum. Removed silly git add Docs/Themerdocs/Examples/OptionRowHandlerLua.lua and second check for ExportOnChange. 2014-06-19 06:41:18 -06:00
Kyzentun b756386fda Changed GetYOffset to make CMods an MMods compensate for music rate. 2014-06-17 03:14:17 -06:00
Kyzentun f8e1e28286 Exposed StepMania::SaveScreenshot to Lua. Added prefix and suffix args for setting the screenshot name and removed the unused index arg. Added GetHighScore to PlayerStageStats and AddScreenshot to Profile so that Lua can imitate ScreenEvaluation's code for adding a screenshot to the profile. Removed hungarian notation from variable names in StepMania::SaveScreenshot. 2014-06-17 00:29:09 -06:00
kyzentun f7b808ca29 Merge pull request #195 from kyzentun/AMV_in_projects
AMV in projects
2014-06-17 00:18:07 -06:00
Kyzentun e4f1682964 ASSERT broken into two lines, as per shakesoda's suggestion. 2014-06-16 23:05:31 -06:00
Kyzentun e8a57bd927 Merge branch 'SetCurrentSteps' of https://github.com/sigatrev/stepmania 2014-06-16 23:04:41 -06:00