Commit Graph
100 Commits
Author SHA1 Message Date
Kyzentun 493d0f8214 Fixed CreateMethodTable to create a new table even when something of that name exists, so that the previously existing one that might have been modified by a theme is removed when changing themes. 2014-08-18 11:26:05 -06:00
Kyzentun eb7ac082ae Report error on fetching empty string metric instead of crashing. 2014-08-11 15:56:41 -06:00
Kyzentun a3e6cdbfa2 Added One_Screen_Example_Theme as a minimal example. 2014-08-10 16:17:03 -06:00
Kyzentun c368fc1b47 Didn't realize RollingNumbers was supposed to have negative velocity. 2014-08-08 13:55:51 -06:00
Kyzentun bdb2b373bc Added NoteSkinManager::GetDefaultNoteSkinName so that PlayerOptions can avoid clearing the noteskin when the clearall mod is used. 2014-08-07 18:36:42 -06:00
Kyzentun 75a1defea0 ifdef'ed out AddATIToList and RemoveATIFromList on WIN32 because they cause mapconv to crash. 2014-08-05 11:52:31 -06:00
Kyzentun ef955bc4d4 A couple actor docs. 2014-08-04 20:27:49 -06:00
Kyzentun d1a84f979d Changed GradeDisplay::SetGrade to print errors instead of segfaulting on unloaded actors. 2014-08-04 20:08:56 -06:00
Kyzentun 9244b0f1d8 Updated actordef.txt. 2014-08-04 10:59:38 -06:00
Kyzentun f3f7af7045 Changed RollingNumbers to not set NAN velocity. 2014-08-03 22:38:01 -06:00
Kyzentun bffeda6dc0 Pretend I didn't forget the +1. 2014-08-02 19:44:25 -06:00
Kyzentun f58f111cfd Changed GetStylesForGame to not traverse the list of styles twice. 2014-08-02 19:34:39 -06:00
Kyzentun e907454943 Merge branch 'GetStylesForGame' of https://github.com/sigatrev/stepmania 2014-08-02 17:17:17 -06:00
Kyzentun f0d6bce62a Disabled AddATIToList on Windows because it makes mapconv crash. 2014-08-01 11:16:17 -06:00
Kyzentun 392ac045eb Added MusicWheel:GetSelectedSection. 2014-07-31 14:57:00 -06:00
Kyzentun 18b2d73bb1 Fixed invalid note type trace to use correct escape sequence. 2014-07-31 11:25:05 -06:00
kyzentun d7fade2f0b Merge pull request #244 from sigatrev/TapNote-enums
Enums for TapNoteType, TapNoteSubType, and TapNoteSource
2014-07-30 23:03:51 -06:00
kyzentun 97bcfb37de Merge pull request #240 from sigatrev/UpdatePlayerSongPositions
UpdateSongPositions
2014-07-30 23:03:41 -06:00
kyzentun 77e0d70f39 Merge pull request #236 from kyzentun/RevalidateNoteDataATIs
Added revalidation scheme to NoteData's all_tracks_iterator
2014-07-30 23:02:13 -06:00
kyzentun 9a0219c6b6 Merge pull request #231 from kyzentun/ChangeGame
SetGame
2014-07-30 23:01:59 -06:00
Kyzentun 076d67132d Reverted BitmapText::LoadFromNode back to previous logic.
BitmapText now looks up font names in Fonts/ if the path doesn't resolve, so LoadFont is obsolete.
Added optional arg to ActorUtil::ResolvePath and GetAttrPath to make them not report an error when something is optional.
2014-07-29 12:09:40 -06:00
Kyzentun ee53b9e601 Adjusted text scaling that convert_text_to_indented_lines uses to make it adjust for resolution differences better. 2014-07-27 21:38:43 -06:00
Kyzentun a5db63657c Changed GameCommand screen validation to allow OptionsList to work again. 2014-07-27 01:47:30 -06:00
Kyzentun 32e5d7e90c Improved three-key support. Default theme should be completely usable with three-key cabinets if ThreeKeyNavigation pref is true. Added ThreeKeyNavigation pref. ScreenOptions:NavigationMode metric now uses that pref to decide between normal and toggle modes. Added GoToFirstOnStart to OptionRowHandlerLua so an option row can control that behavior. Rewrote input for default's ScreenSelectProfile to use an input callback to take advantage of menu button mapping. Fixed inconsistent indentation in ORHL documentation. 2014-07-25 14:33:15 -06:00
Kyzentun c05a173d52 Fixed UpdateHasteRate and PlayerInfo:GetLifeMeter to check whether the life meter is null before using it. 2014-07-25 00:20:38 -06:00
Kyzentun bc7217908d Added Sprite::NewBlankSprite for use by NoteSkinManager. Removed default texture loading from Sprite::Sprite. Should fix problems with white banners and garbage on videos. 2014-07-24 03:38:17 -06:00
Kyzentun ba0a0c69d2 Fixed Course::GetTotalSeconds to work on courses that don't have a medium difficulty. A course with only double charts was probably the one that made the crash manifest. 2014-07-23 13:25:04 -06:00
Kyzentun dc55f1391a Added revalidation scheme to NoteData's all_tracks_iterator so that it can be made valid again after the NoteData is transformed by something adding or removing steps. This fixes the crash on courses that use transform mods on the second song. ITG2's Getting Started is an example. 2014-07-23 05:34:23 -06:00
Kyzentun 84766a7cff Changed LogDisplay to use the full message for IgnoreIdentical. 2014-07-23 00:09:04 -06:00
Kyzentun 3cef425d63 Added IgnoreIdentical param to LogDisplay for use in ignoring identical error messages. 2014-07-22 17:51:40 -06:00
Kyzentun c3fb210291 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-07-20 20:59:12 -06:00
Kyzentun 35ce025a1c Merge branch 'SetGame' of https://github.com/sigatrev/stepmania into ChangeGame 2014-07-20 02:12:39 -06:00
Kyzentun 69b5f1ae61 Fixed two typos. 2014-07-19 16:05:16 -06:00
Kyzentun 4c97ff64a0 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-07-19 15:20:02 -06:00
Kyzentun 0f607df55e Changed NoteSkinManager::LoadActor to always return a Sprite on failure because some elements must be a sprite. 2014-07-19 10:11:14 -06:00
Kyzentun 22662a3b04 Changed ArbitrarySpeedMods to use a large increment that is not forced to be a multiple of the smaller increment. 2014-07-18 23:54:25 -06:00
kyzentun 020fb06930 Merge pull request #218 from kyzentun/ErrorReporting
Better Lua Error Reporting
2014-07-18 21:52:03 -06:00
Kyzentun cb168e29aa Added Common Error font for use by error reporting so that themes that replace Common Normal won't have a problem. 2014-07-18 18:04:51 -06:00
Kyzentun a2e6d186e3 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-07-18 16:29:46 -06:00
Kyzentun ddf4ba3a22 Readded increment_version.pl because it's actually needed for building on OSX. 2014-07-17 03:05:50 -06:00
kyzentun 135d1df197 Merge pull request #229 from dguzek/mkrelease
new mkrelease script for OS X
2014-07-16 03:08:09 -06:00
Kyzentun 8a65dfaefa Tested and fixed error reporting for NoteSkinManager. Changed Sprite::Sprite() to load the default texture. 2014-07-16 02:03:06 -06:00
Kyzentun 0f72d7cc6b 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-07-15 13:28:06 -06:00
Kyzentun 273b76d3c7 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-07-14 18:02:28 -06:00
Kyzentun 6cf23c4dc3 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-07-14 15:41:04 -06:00
Kyzentun fb1a251b7a 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-07-12 14:59:10 -06:00
Kyzentun 63311ab62f 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-07-08 20:01:33 -06:00
Kyzentun aa564628c5 Changed InputFilter to not assert on unrecognized input devices or buttons. 2014-07-08 17:24:09 -06:00
Kyzentun bee284d0c7 Rewrote ScreenSystemOverlay overlay/default.lua to be able to display multiple messages. Added Reload Overlay Screens option to debug menu. 2014-07-08 01:02:36 -06:00
Kyzentun 026f968fa4 Changed many uses of Dialog::OK and LOG->Warn to use ReportScriptError. 2014-07-07 00:39:27 -06:00
Kyzentun ff1392cdba Made Screen not go to next screen if the screen name is empty. 2014-07-05 14:14:23 -06:00
Kyzentun a7a98a690e 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-07-05 01:34:05 -06: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
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
Kyzentun e25995267c Fixed invalid LineNames in ScreenOptionsExtended in _fallback metrics. 2014-06-29 12:43:10 -06:00
Kyzentun 0cd1584b01 Documentation from Matt for ArrowEffects namespace. 2014-06-29 11:30:11 -06: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
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
kyzentun 2ee02c442f Merge pull request #197 from kyzentun/SaveScreenshot
SaveScreenshot for Lua
2014-06-23 12:51:55 -06:00
Kyzentun d472d28490 Fixed accidental old name for ArbitrarySpeedMods in metrics for edit mode. 2014-06-23 00:25:18 -06:00
Kyzentun de8799ebdc Renamed ArbSpeedMods to ArbitrarySpeedMods to avoid the wrath of the OpenGL Architecture Review Board. Added option rows for controlling the size of the increments used by ArbitrarySpeedMods. Simplified logic in ASM and added rounding to avoid excessive precision. Removed pointless setmetatable calls from various lua option rows. 2014-06-20 22:48:00 -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 c02a17f393 Revised documentation example for OptionRowHandlerLua to make it slightly more clear. 2014-06-19 21:02:35 -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 ba78c38c8b Disabled pad codes that change modifiers in dance game mode. 2014-06-17 01:22:30 -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
Kyzentun 7e41d88feb Fixed fake conflict in Profile.cpp. 2014-06-16 22:57:33 -06:00
kyzentun 708784889a Merge pull request #163 from kyzentun/tweenable_mmods
Tweening for mmods.
2014-06-16 22:51:27 -06:00
kyzentun 3d2dd9b172 Merge pull request #155 from kyzentun/negative_haste
Negative haste and themable haste
2014-06-16 22:50:19 -06:00
Kyzentun 955e6ddc7d Added AMV to src/Makefile.am 2014-06-15 13:21:13 -06:00
Kyzentun 9485a7c7c3 Merge branch 'VSprojects' of https://github.com/sigatrev/stepmania into AMV_in_projects 2014-06-15 13:10:27 -06:00
Kyzentun 6db1199db5 Added PROFILE:GetHighScoreListIfExists for limiting memory footprint on searches. Added PROFILE:GetAllUsedHighScoreNames to provide a non-brute force way for obtaining a list of names. Added HighScoreList:GetHighestScoreOfName so the C++ side could do the iteration. Added HighScoreList:GetRankOfName for the same reason. 2014-05-13 13:34:38 -06:00
Kyzentun c8476738f5 Exposed GAMESTATE:StoreRankingName and Profile:SetLastUsedHighScoreName to Lua. StoreRankingName no longer forces uppercase. 2014-05-12 22:01:22 -06:00
Kyzentun c544beaba0 Documentation for THEME:GetMetric/StringNamesInGroup. 2014-05-08 04:05:21 -06:00
Kyzentun afc235e17b Added THEME:GetMetricNamesInGroup and THEME:GetStringNamesInGroup. 2014-05-08 03:59:08 -06:00
Kyzentun 2b9982f505 Added Mmod compensation to ArrowEffects::GetYOffset. 2014-05-08 03:07:02 -06:00
Kyzentun 6eae1c01e4 Had wrong documentation for SongOptions:Haste. 2014-05-05 14:25:44 -06:00
Kyzentun ec3e76277c Added interface for controlling the behavior of the hasts system. Added support for negative haste. Moves haste rate calculations to UpdateHasteRate. GetHasteRate now just returns the calculated value. Added FLOAT_NO_SPEED_INTERFACE and FLOAT_TABLE_INTERFACE macros to OptionsBinding.h 2014-05-05 14:16:08 -06:00
Kyzentun b10c04c7f3 Added documentation for a few undocumented API functions. 2014-05-04 11:49:35 -06:00
Kyzentun 782a66502e Accidentally left OptionsBinding.h out of previous commit. 2014-05-03 19:36:59 -06:00
Kyzentun 0dfb131291 Created SongOptions Lua interface with a similar design to the PlayerOptions interface. Moved enums that were inside SongOptions out and made them Lua accessible. Removed sAutosyncType and associated things from AdjustSync.cpp because it was unused. Added DefaultNilArgs and FArgGTEZero to LuaBinding as helpers. Moved INTERFACE defines from PlayerOptions.cpp to OptionsBinding.h. 2014-05-03 19:27:32 -06:00
Kyzentun b6b840187d Made PlayerState:GetCurrentPlayerOptions safe to use. Added Docs/Themerdocs/modslevel.txt to explain what ModsLevel should be used by a theme using the new PlayerOptions interface. 2014-05-02 21:25:59 -06:00
Kyzentun 24f87d2e57 Fixed stack acciddent bug in PlayerOptions lua functions. Added skew and tilt mods to PlayerOptions::GetMods and FromOneModString for when the perspective isn't one of the old ones. 2014-05-02 16:45:49 -06:00
Kyzentun b5d1cb8161 Updated ModsGroup enum in docs. 2014-05-01 23:46:17 -06:00
Kyzentun c44a11ae40 Added FailType enum to docs. 2014-05-01 23:41:55 -06:00
Kyzentun 421a9be57b Ripped out existing PlayerOptions Lua interface and replaced it wholesale. Removed PrefsManager's DefaultFailType enum. Moved PlayerOptions::FailType enum to GameConstantsAndTypes and made it Lua accessible. Changed ModsLevel enum to include ModsLevel_Current to make accessing that ModsLevel easier to access. Rearranged ModsGroup appropriately. Added non-const Get functions to ModsGroup. Removed PlayerOptions.m_bSetTiltOrSkew because it had no reason to exist. Moved 200.0f to the const CMOD_DEFAULT because it was being used in more than one place. 2014-05-01 23:23:20 -06:00