Commit Graph
34705 Commits
Author SHA1 Message Date
Dan Guzek ce8669f049 default theme doesn't need ThemePrefs.ForceSave()
As noted in my previous commit message, I think ThemePrefs.ForceSave()  can safely be deprecated.  Since many novice themers look to default when learning, I think it's better to use ThemePrefs.Save() as the system was originally designed.

I moved the ThemePrefs.Save() call out of ScreenTitleMenu decoration to ScreenOptionsService in.  This seems safer to me; Pay/Freeplay never hit ScreenTitleMenu which could be another reason ThemePrefs would never get saved.

Additionally, moving the call to ScreenOptionsService in also seems to have fixed a bug where switching themes via the Appearance Options service menu would cause the new theme to inherit all of the previous theme's ini settings.  I'm still not entirely sure why.

I've done a fair amount of testing with this.

I've tried deleting the ThemePrefs.ini file outright and booting fresh into both default and Simply Love.  In both cases, the ThemePrefs.ini file is written when StepMania exits or when the user hit ScreenOptionsService, whichever comes first.

I've tried switching between various themes, including those that did not use ThemePrefs.  I haven't seen any sections being created erroneously and themes that do use ThemePrefs don't seem to inherit the previous theme's settings any longer.

Still, it *very* possible that I've missed some edge case(s) and is probably worth a few people testing before merging.
2015-04-06 21:18:47 -04:00
Dan Guzek f0e46ecb49 fix ThemePrefs
The ThemePrefs table contains several functions and single standalone variable, NeedsSaving.  When a themer calls ThemePrefs.Save() the system will check the status of NeedsSaved to determine whether it really needs to save or not.  This is by design to prevent unnecessary writing to disk.

As far as I am able to discern, NeedsSaved would never be anything but false due to scoping within the ThemePrefs table.  This commit properly scopes that variable as it used within the functions.

It looks like ThemePrefs.ForceSave() was added as a workaround; it didn't check the status of NeedsSaved and just always saved, "no matter what."  Though it seems safe to outright remove ForceSave(), I'm leaving it in for compatibility.  Consider it deprecated I suppose.
2015-04-06 21:08:12 -04:00
Dan Guzek 666cdb40bd IniFile fix: checking for false ~= checking for nil
false is a perfectly valid setting for one of SM's ini files.  The code here needs to ensure that both the key (string) and the value (string, numeric, boolean) read from file exist.  It would previously halt if the value was set to false.  This fixes that by explicitly checking for nil.
2015-04-06 21:01:52 -04:00
Jason Felds c49d78f5fc Linux CMake improvements:
* Disable warning output during configuration.
* Allow users to turn on warnings for ffmpeg and other internal projects.
* Add a new variable for easier ffmpeg version migration if we ever
* pursue that.
2015-04-05 14:49:10 -04:00
Jason Felds 0954c81846 Merge pull request #545 from Wallacoloo/master
Fix OSX key translation crash (#504)
2015-04-05 09:26:58 -04:00
Colin Wallace 8ed944368c Fix OSX key translation crash (#504) 2015-04-05 02:55:54 +00:00
Jason Felds 016a4053e1 More CMake improvements and education.
* `set_target_properties` can have multiple properties assigned in one go.
* Have version information be generated from CMake, not later plist preprocessing.
* Configure the plist file regardless of OS. This should be a safe command: following the example from the knut repository.

The old fashioned Info-StepMania.plist file can be considered deprecated
upon a full migration to CMake.
2015-04-03 23:24:46 -04:00
Jason Felds 6b4c4e298f Restore compilation for non cmake users.
The goal is to move to cmake fully. Dealing with plist issues,
specifically on the version.
2015-04-03 16:04:48 -04:00
Kyzentun 2f1a348565 Commify handles negative numbers now. 2015-04-02 18:02:38 -06:00
Kyzentun d789ef7c6b Exposed commify function to lua and made it handle decimal numbers. 2015-04-02 13:36:41 -06:00
Colby Klein da59f1d3b0 Merge pull request #537 from Arvaneth/master
More french translation
2015-04-01 19:37:54 -07:00
Jason Felds b3addbedbc CMake adjusted to allow proper releasing.
Mac side is ready.
2015-03-31 21:17:20 -04:00
Milène Gauthier a70dbd37ca more translation
Slowly going insane.
2015-03-31 21:07:41 -04:00
Jason Felds 2291cd7f4d We're going to 5.0.7. 2015-03-31 19:27:12 -04:00
Kyzentun 2b4cabfb57 Added keybinding for reloading songs on SSM, and lua function for doing it from lua. Added NeverCacheList preference for WIP groups that should never be cached. Rewrote TimingData::CopyRange in preparation for using it to copy/paste timing data from the selected area in edit mode. 2015-03-31 15:20:37 -06:00
Kyzentun 0e66d625e6 Merge pull request #534 from kyzentun/song_manager_restructure
Various changes to speed up start up time
2015-03-31 09:41:15 -06:00
Kyzentun e08182446e Fixed bug in TimingData lookup table for elapsed time. The entries were being added with the time for lookup when they should have been added with the beat. Also fixed the way GetElapsedTimeInternal uses FindEvent so that FindEvent won't spuriously find the marker when building the lookup table. 2015-03-30 22:41:40 -06:00
Kyzentun 8b09da8e64 Various changes to speed up start up time:
Added delay_save_cache to SongCacheIndex so that it doesn't write the entire cache index file after every song is loaded when loading songs.
Added m_SongsByDir to SongManager so that GetSongFromDir doesn't have to walk the entire list of songs.
Minor changes to when LoadEnabledSongsFromPref occurs and how SanityCheckGroupDir works to speed up loading.
Song::ReloadFromSongDir removes cache file to force an actual reload from the song dir instead of reloading from the cache.  ReloadFromSongDir exposed to lua.
Reordered Actor::LoadFromNode to put Command first because that case is more common.
Course::GetTrailUnsorted reserves entries before starting to save time reallocating.
join in RageUtil calculates the final size of the concatenated strings reserves it to save time reallocating.
Added time log file to RageLog for profiling.
2015-03-30 17:45:52 -06:00
Kyzentun 3c70b13fcf Fixed unitialized radar in CalculateRadarValues. Changed song deletion message to use translated string. Updated changelog. 2015-03-27 17:04:58 -06:00
Colby Klein ca11e67a8c Merge pull request #526 from Wallacoloo/master
Add ability to delete songs from the collection through a keyboard shortcut
2015-03-26 23:58:16 -07:00
Colin Wallace 473974e52f Add ability to delete songs from disk at the song selection screen (Ctrl+Backspace) 2015-03-27 05:22:55 +00:00
Jason Felds bfc24455ae Merge pull request #529 from dguzek/OSX-Version-LogFix-v2
OS X Version Log Fix -- v2
2015-03-26 17:41:06 -04:00
Dan Guzek e67c8e010a update CMake to use new ArchHooks_MacOSX.mm file
It is necessary to clear existing cmake cache and generate a new Xcode
project, following wolfman2000's instructions in ./Build/README.md

Witht that done, you can use the StepMania.xcodeproj generated by cmake
to successfully build a fresh StepMania.app and it properly logs the OS
X version.
2015-03-25 23:03:23 -04:00
Dan Guzek 2c16c6870c log OS X version properly - take 2
There was code in place to log the OS X kernel version (14.1.0, for
example) to log, but it stopped working some time ago. "Mac OS X
unknown." has been logged for the last several releases.

This commit swaps out that C++ code for a some Obj-C which logs the OS
X release version (10.10.2, for example) correctly. In order to mix
Obj-C with an otherwise C++ file, I changed the file extension from .cpp
to .mm to make it Objective-C++.

At the suggestion of wolfman2000, I have updated
src/CMakeData-arch.cmake to reflect the changes in this commit; that
will follow in the next commit from me.
2015-03-25 22:53:42 -04:00
Jason Felds 541389ea7d Resolve casting warning where no one would check. 2015-03-25 22:09:46 -04:00
Kyzentun 540c617485 Merge pull request #521 from kyzentun/load_only_from_cache
More aggressive caching.
2015-03-24 20:41:14 -06:00
Kyzentun 7ab01aa056 Merge pull request #510 from kyzentun/faster_timing_data
Faster TimingData lookups
2015-03-24 20:41:01 -06:00
Jason Felds 38cf1730db Merge pull request #528 from wolfman2000/wolf-cmake-ffmpeg-quick
Don't have ffmpeg's download take forever.
2015-03-24 21:27:56 -04:00
Kyzentun 062b618bda Changed ActorFrame::SetUpdateRate to reject a negative rate instead of crashing. 2015-03-24 18:28:11 -06:00
Jason Felds 8993ce7fa8 Important fixes to this branch:
* Don't download the repo again if it exists.
* Remember the include directories.
2015-03-24 20:04:48 -04:00
Jason Felds 6963e4d493 Don't have ffmpeg's download take forever.
Thanks for the assist teleshoes.
2015-03-24 19:12:28 -04:00
Kyzentun f4da2988d9 Moved GetTexturePath lua function from Sprite to RageTexture and renamed it to GetPath. Updated changelog. 2015-03-24 14:23:30 -06:00
Kyzentun 31ce1c7b39 Moved more things to happen only when a song isn't cached. Song::TidyUpData now only fetches a list files in the song dir once, instead of several times. 2015-03-24 12:05:41 -06:00
Kyzentun 96259ab951 Fixed voltage calculation by making avg_bps a float instead of an int. 2015-03-23 22:41:15 -06:00
freem b9551cc392 vs2010 project is back to where it was before cmake
(that is to say, still messes up during the mapconv portion, but doesn't have any linking errors anymore)
2015-03-23 18:47:47 -05:00
Jason Felds 6e5b80fbfe Right: 2011/2012 compiles PNG. 2015-03-23 19:43:46 -04:00
Jason Felds 5d232aad75 Restore cmake-less 2011/2012 VS support.
Move to cmake people!
2015-03-23 19:41:39 -04:00
freem 2d59abc9ce fix vs2008 build 2015-03-23 17:58:06 -05:00
Jason Felds 0b312b1771 Merge pull request #524 from wolfman2000/wolf-vs-2013-fix
Fix compilation for cmake-less 2013 users.
2015-03-23 18:55:38 -04:00
Jason Felds 0a1f43dcbe Fix compilation for cmake-less 2013 users.
This should compliment 7ac547a5.
2015-03-23 18:54:58 -04:00
Ben "root" Anderson 1a0e1a0b91 Simpler, more robust ver.cpp generation (also automated whitespace cleanup, lol) 2015-03-23 15:16:01 -05:00
Kyzentun a2798e16f4 More aggressive caching. In general, this makes Stepmania avoid looking in the song directory at all if the song is in the cache, in order to load songs faster. All the RadarValue calculations were also rolled into one to reduce the time needed to build the cache. 2015-03-23 11:35:30 -06:00
freem 8e1cb42164 Merge branch 'master' of github.com:stepmania/stepmania 2015-03-22 21:35:32 -05:00
freem 7ac547a5ea recent cmake changes broke standalone windows building. argh.
This commit does not fix it, but it does get rid of the various lib errors it was throwing.
various linking errors remain
2015-03-22 21:35:11 -05:00
Jason Felds b66b9143dc Make it clearer for build types. 2015-03-22 17:08:54 -04:00
Colby Klein ac211bb3c3 Merge pull request #519 from wolfman2000/wolf-cmake-fixes-shake
Linux cmake improvements as suggested by @shakesoda.
2015-03-22 13:22:57 -07:00
Jason Felds 05d341485d Allow for system ffmpeg usage.
Warning: this is NOT advised right now.
2015-03-22 16:03:38 -04:00
Jason Felds 33f183938e Allow for system pcre to take precedence. 2015-03-22 15:46:53 -04:00
Jason Felds ecbec126af Allow disabling GPL only components.
Only works for Linux right now.
2015-03-22 15:24:20 -04:00
Jason Felds 736338dab6 Make sure product_version is set for OS X.
This may go away when we move to cmake for good.
2015-03-22 10:03:50 -04:00