Um..., Viking. Why the long quote?
Thanks for the saves, hmvartak. I think I figured it out.
There doesn't appear to be any way to get the current day and month from in-game stats. The game days stat doesn't correlate well, 200 is about a year, but it varies a bit. I'll keep working on it, but I wanted to post my hypothesis first.
The mysterious 30/12 was just a fluke; the glitchy dates vary but are always reasonable dates. There are a lot of month 12s and day 30s, but it makes sense that these would be more persistent glitches that would prompt the player to seek out a repair tool.
What I'm not seeing are months greater than 12. I think this is a roll over problem. So the predictions would be:Gym Glitch Explained
The Gym Glitch: CJ cannot work out after waiting more than one day.
Technical: (current month > exceeded month) or (current day > exceeded day) is not true
The glitch occurs when CJ exceeds the daily workout limit late in the year and then the current month rolls over to 1 after a new year. So, it should be impossible to get the glitch during the first year or if CJ never exceeds the daily limit.
Even if the exceeded month is too high, CJ should be able to use the equipment again when the current day is finally greater than the exceeded day. However, if the day limit is not exceeded then the glitch will reoccur again next month (I haven't noticed this in the glitch reports). Exceeding the daily limit will bring the exceeded month down to a reasonable level and things should work normally for the rest of the year.
A player who exceeds the daily limit on December 31st would not be able to clear the glitch without an editor, mod, or cheat code. The player with that 12-30 save would need to wait until new years eve to use the equipment, but then needs to exceed the limit after the new year to avoid getting into the same situation as the player above.
Starving CJ for weeks on end won't make the glitch occur; food and clothing changes won't clear it up.
Updated with calendar information:San Andreas Monthly Calendar
The Current Month/Day calendar for San Andreas appears to operate like a standard leap-day calendar, with 29 days for every February, and 31 or 30 days like a standard calendar. San Andreas does not record the in-game year.
The calendar will advance as expected when the current game hours and minutes roll over after 23:59. The calendar also advances every time the game is saved. If the day rolls over during a save the calendar only advances one day, so there doesn't appear to be any hope of estimating the game day by adding the number of saves and game day stats.
Edited by OrionSR, 22 April 2013 - 10:42 PM.