Inconsistent save game trinket count

Started by koitsu, December 19, 2010, 01:16:08 PM

Previous topic - Next topic

koitsu

Seems I've encountered a very strange bug in VVVVVV, but I can describe how it happened.  Oh, this is on Windows XP SP3, by the way.

I just purchased VVVVVV, and managed to finish it tonight (with slowdown applied, sadly).  Anyway, I finished the game with 17 trinkets, and was offered to continue playing the game afterwards.

I chose to continue playing, and proceeded to talk to Victoria (who gave me the locations of the remaining 3 trinkets).  Off I went and picked up the remaining 3, then warped back to the ship.  The jukebox room indicated I had all the songs available, and the trinket room indicated I had all 20 trinkets.  I spoke to Victoria again, which of course induced the Secret Lab...

Once I was in the Secret Lab, I played Super Gravitron for a bit, got some trophies, but for the life of me (because I'm using a joystick) couldn't figure out how to get out of the Secret Lab.  This is where I think the bug came into play.  Instead of hitting Escape on my keyboard, I chose to press [X] to close the entire VVVVVV application.

Upon re-launching VVVVVV, the game now thinks -- in some ways only -- that I have 17 trinkets.  The trinket room shows 20 trinkets, but the jukebox room only shows enough songs to correlate with 17 trinkets.

I'd be happy to upload my save games somewhere for the author(s) to analyse them and figure out what happened -- and if possible, fix them so that I do have all 20 trinkets.  :-)  Just let me know.

Thank you.

Whirligig

For future reference, always close the game using the menus; it won't save properly otherwise. CCCCCCCCCC has the same problem. Once (on Mac), I quit VVVVVV using Cmd+Q instead of the normal way, and it didn't save my Super Gravitron time.

koitsu

Yeah, the mistake was on my part (as stated, I didn't think to hit Escape; instead I hit Enter and tried to either use Save or find an exit method that way, but no go, so I resorted to [X]).

What's interesting however is that the game does appear to have knowledge of how many trinkets I have (20), but somewhere else within the save files still thinks I have only 17.  So there's an inconsistency that got created, somehow, as a result of closing the application.

I'm speaking strictly about Windows here, but I'm certain there's an equivalent on OS X.

Code-wise, there shouldn't be any functional difference (assuming the programmer implemented a handler for the Win32 WM_CLOSE message correctly) between hitting Escape + choosing "Yes, quit to menu" and pressing [X] (inducing WM_CLOSE).  These really should do the same thing.  If using the menus does in fact close some file descriptors or do some clean-up work that WM_CLOSE doesn't, then that quite honestly is a bug and can easily be alleviated by ~3 lines of Win32 code (add a case statement entry for WM_CLOSE and have it call the same clean-up and shutdown functions as the menu item).  It's important to understand that this isn't the same thing as, say, going into the Task Manager and End Task'ing a process -- that isn't what I did at all.