Commit Graph
79 Commits
Author SHA1 Message Date
Glenn Maynard 87ddfb4c41 Up until now, we've been backing up profile data by copying it to the
backup directory immediately after a successful load.  This ensures that
the data we're copying is valid, so after a successful copy, the backup
is valid, too.  This has a couple problems:

 - Copying takes a while.  It's much faster to move data.
 - Data shouldn't be written during a profile read.  Players should be able
   to assume that it's safe to remove the memory card at any time except
   when the game is explicitly saving.
 - Copying good data from one place to another is just as prone to error as
   initially writing it.  It's at least as easy for the backup copy to fail
   and result in a bad backup as it is for a save to fail in the first place.

Instead, when we successfully load profile data (and not from a backup),
set a flag.  Later, when we save over that data, we'll clear the flag and
move the data we're about to overwrite to the backup.
2005-09-29 00:33:22 +00:00
Chris Danford 57b593c65e add GetLocalProfileIDFromIndex 2005-08-14 23:01:34 +00:00
Chris Danford 760ca931bc fix local profile switching stuck if current local profileID doesn't exist
fix local profile loading broken because dir missing trailing slash
2005-08-14 20:31:20 +00:00
Chris Danford c5fa8517dd add FixedProfiles metric. If on, profiles shouldn't be added or deleted - only cleared. 2005-08-14 01:59:46 +00:00
Chris Danford ff7c122289 cleanup: move ProfileLoadResult into GameConstantsAndTypes so we don't take dependencies on Profile.h for ProfileLoadResult 2005-08-13 06:59:27 +00:00
Glenn Maynard 77d5d0466f CreateLocalProfileByID -> AddLocalProfileByID (to allow code to set up
a local profile on its own)
2005-08-13 01:47:56 +00:00
Glenn Maynard 09b44c9766 split GetLocalProfileByID 2005-08-11 23:14:32 +00:00
Glenn Maynard 3c93754969 split CreateLocalProfileByID 2005-08-11 23:10:44 +00:00
Glenn Maynard 01b6345758 split UnloadAllLocalProfiles 2005-08-11 23:06:01 +00:00
Chris Danford 3d37449e6b add lua bindings
use profileID as the key in the map, not the profile dir
2005-08-06 05:34:06 +00:00
Chris Danford 10711f0c83 choose profileIDs for new local profiles such that ordering by creation time is preserved 2005-08-05 10:01:10 +00:00
Chris Danford 804cc8b2bc working on profile management screen 2005-08-05 04:20:46 +00:00
Chris Danford 68f8e632f0 Add new ScreenOptionsManageProfiles 2005-08-04 21:13:29 +00:00
Chris Danford 0bc9261eb3 return ID of the created profile 2005-07-16 05:28:34 +00:00
Chris Danford b9db8fad48 reduce MAX_NUM_LOCAL_PROFILES 2005-07-14 08:45:21 +00:00
Chris Danford e2e641d0f7 add MAX_NUM_LOCAL_PROFILES 2005-07-13 20:27:05 +00:00
Chris Danford 6f9d4caf0f keep the whole LocalProfile in memory, not just the EditableData 2005-07-13 19:15:31 +00:00
Chris Danford e9166ac4ab load EditableData for all local profile on startup so that we don't have to load every profile from disk to enumerate names 2005-07-12 20:19:52 +00:00
Chris Danford 7c6dbc102b working on ScreenOptionsProfiles 2005-07-05 23:13:49 +00:00
Glenn Maynard 3450307b01 reduce dependencies 2005-07-01 05:06:00 +00:00
Glenn Maynard 04546763e0 reducing ProfileManager.h dependency on Profile.h (many users only use
PManager to see if a profile is loaded, etc, not to access the actual profiles)
2005-07-01 04:46:32 +00:00
Chris Danford fb1d69add3 rename: IsUsingProfile -> IsPersistentProfile
Don't require IsPersistentProfile in some places related to fitness mode where a non-persistent Profile will suffice
2005-05-09 08:44:01 +00:00
Chris Danford 3a726a1c9b fix ScreenEnding shows stats when not using a memory card
fix other bugs introduced when GetProfile was changed to return a valid pointer even with no profile loaded
2005-05-01 06:42:30 +00:00
Chris Danford 4f23083ebc allow GetProfile even if not using local profile or memory card 2005-04-26 03:32:08 +00:00
Glenn Maynard fb30fa1c19 track rolls 2005-04-25 11:42:19 +00:00
Glenn Maynard 5093809e31 fallback load for Editable.ini when loaded by the memory card thread 2005-04-24 23:23:32 +00:00
Glenn Maynard 1ea1ecfaaf move FastLoadProfileNameFromMemoryCard into ProfileManager 2005-04-24 23:06:15 +00:00
Glenn Maynard 086ee3f376 split GetMemoryCardProfileDirectoriesToTry
store directory imported from
2005-04-24 19:39:54 +00:00
Glenn Maynard 1abb3cd8b2 working on importing scores 2005-04-24 19:18:46 +00:00
Chris Danford e6f37dbee8 Don't fill in new Profiles with a hard-coded "NoName". Let ScreenSystemLayer fill in blank name from metrics. 2005-03-26 22:18:28 +00:00
Chris Danford bb099ee7e0 count calories while stepping, not at the end 2005-02-15 09:24:48 +00:00
Glenn Maynard bdf3e4ddd8 warning: `class ProfileManager' has virtual functions but non-virtual destructor 2005-02-13 04:14:33 +00:00
Glenn Maynard 2412c73b22 comment, cleanup 2005-02-13 03:40:37 +00:00
Chris Danford 12fde5d55c move PlayerName texts out of code and into BGAnimations 2005-02-13 01:16:17 +00:00
Chris Danford 5c5ac50b82 Load from LastGood if the main profile is tampered/corrupt.
Don't write new data on a load fail - it doesn't give the user a change to correct the load failure.
2004-10-07 19:57:51 +00:00
Chris Danford ebb9e730a4 Show message when a Profile load fails so that the player doesn't accidentally save over their possibly-good data.
Save a copy of Stats.xml to the memory card after a successful load.  I have seen one instance where the digital signature on save is bogus, and there's no way for the player to recover their data.
Update Stats.xsl text help text.
2004-10-06 08:39:38 +00:00
Chris Danford e435165014 clean up memory card logic:
- Don't do the OS mount for cards during the attract screens.  Only do OS mounts in the time between BeginGame and PlayersFinalized.
 - Remove logic for fast load of a Profile from the MemoryCard.  Instead, load the whole profile all at once on PlayersFinalized.
2004-08-09 05:01:24 +00:00
Glenn Maynard 0047e04998 add ProfileManager::SaveAllProfiles
make ProfileManager::SaveMachineProfile() const
2004-07-20 01:31:23 +00:00
Chris Danford 5544445ad0 name cleanup: StyleDef -> Style 2004-06-28 07:26:00 +00:00
Chris Danford 3809715db0 cleanup: Remove Style and use StyleDef everywhere. This gets rid of a lot of Style->StyleDef lookups and discourages code that's specific to a Style. All game logic should be data-driven. 2004-06-27 06:52:49 +00:00
Glenn Maynard 733127d8ed license update 2004-06-08 01:24:17 +00:00
Chris Danford 962cdfc4f0 write Catalog.xml only after loading songs
get rid of try/catch in SongManager
get rid of try/catch in PrefsManager
2004-05-25 05:52:57 +00:00
Chris Danford 99a02deffe name cleanup: "StepsType nt" -> "StepsType st" 2004-05-24 03:32:56 +00:00
Chris Danford 4ff8b8ec2b clean up Course score saving (use Trail) 2004-05-23 09:17:10 +00:00
Chris Danford 7a47504507 fix Profiles loaded for players that aren't joined 2004-04-23 02:01:44 +00:00
Chris Danford 0cc49c66bb add CourseLastScores for tournaments 2004-04-22 22:01:38 +00:00
Chris Danford 3bc5943a9e don't throw away Song scores for Songs/Steps that aren't currently loaded on the machine 2004-04-18 18:42:42 +00:00
Chris Danford d6e52f6aac optimize profile loading 2004-03-29 06:47:10 +00:00
Chris Danford 6154c14f86 add calorie tracking
clean up time formatting functions
2004-02-22 19:51:46 +00:00
Glenn Maynard 802e1a6758 Store unlock data in a more fundamental form in the profile, and derive
the special values as needed.  Centralize most of it in GameState::EndGame.
2004-02-22 08:16:49 +00:00