So, how about we pick a time and date here?
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts MenuQuote from: Monsieur OUXX on Sun 30/03/2014 09:04:02
Quote from: Crimson Wizard on Fri 28/03/2014 23:18:35I would suggest this approach. If the user tries to restore a game, it is already a given that he's throwing away his current game state, because that's what restoring a game means (and it's likely that he is restoring from a death screen). Therefore it shouldn't be necessary to create a complicated system to let the user continue his (unwanted) current game in the case that restoring fails. Restarting is simply a nicer approach than terminating to desktop. It should be easy to force a hard restart by invoking a ShellExecute on the game's executable file to get a new process, then silently terminating the current process.
3. If load fails restart the game.
QuoteAlternatively, there may be a special built-in restore/restart/quit menu.This would be an interesting feature to consider for AGS 3.4.
Quote from: Radiant on Fri 28/03/2014 22:52:43Then I think that most of the problem is solved now.
Yes, and in most cases it works that way. The reason this corruption got unnoticed was that there was a check missing on a single case (this is why I made a fix recently).
Quote from: Radiant on Fri 28/03/2014 22:52:43If you can fix the most recent saved game (by timestamp) without too much trouble, that would be nice. If not, I'd ask him to restart; considering how far he is in the game it shouldn't take him that long to get back to his current position.
What is possible to do: there's a way to tell the memory offsets which limit the corrupted region in file, then fill it with zeroes (e.g. in binary hex editor). This may at least fix the savegames. I may try that out.
Quote from: Crimson Wizard on Fri 28/03/2014 20:53:19I agree. I can see two ways of being systematic about this. First, assumedly a saved game contains an array of room structs (among other things); if one element of this array is corrupt, the rest can still be loaded, which would be preferable to aborting the game. And second, you can apparently tell when a room struct is invalid by noticing that this value for the size of an array is out of bounds.
This is a too optimistic view on problem. We can't add fixes that help to recover from one particular problem in one game. And I don't see an easy way to check if it is only one room that was corrupted. Such features as recovering from errors needs a systematic approach.
Quote from: Crimson Wizard on Fri 28/03/2014 19:55:20Yes, it is.
Hmm, is not the room 81 a room with avalanche you first see in the intro?
QuoteThis probably happened when user tried to load save while being in game already.That matches the error report, yes. The user states that he can still play by quitting the game and loading from the start screen. He also reports that the game likewise crashes when he quits, which matches your earlier statement.
QuoteI am not sure room #81 is necessarily a culprit,Unlikely; it's one of the least complicated rooms in the game, with only two objects and 20 lines of room script.
Quotebut I can't tell much because I don't see the insides of your game.I'd be happy to help, but I was hoping it would be possible to avoid this by adding a few nullpointer checks to the AGS code.
QuoteE: what I'd like to know, does this happen with any save in this version of the game? Has only one user reported this?Only one user has reported this.
function SetCaption (int o) {
String msg = "Unknown";
SetObjectBaseline (o, 250);
if (caption_loc == GetObjectGraphic (o)) {
ObjectOff (o);
} else {
caption_loc = GetObjectGraphic (o);
SetObjectTransparency (o, 100);
ObjectOn (o);
caption_obj = o;
caption_time = 0;
o = GetObjectGraphic (o);
if (o == 2377) msg = "Fornsigtuna";
if (o == 2373) msg = "Munarvagir";
if (o == 2379) msg = "Jarnvidr";
if (o == 2378) msg = "Svartalfheim";
if (o == 2381) msg = "Gandvik";
if (o == 1262) msg = "Nidavellir";
if (o == 2380) msg = "Gastropnir";
SetGlobalString (9, String.Format ("Autosave - %s", msg));
}
}
Quote from: Ogon on Wed 26/03/2014 12:32:29And the composer's music work should be judged by free sound effects taken from some random website?If a game's designer is stupid enough to ruin a good composition by taking bad sound effects from some random website, then the game clearly doesn't deserve an award for that. Remember that the awards are for games, not for individual composers. If as a composer, you want to win awards for standalone songs, there's other sites for that.
Quoteunless the composer is also the audio guy responsible for the sound effects. However, I disagree that is necessarily the case.Please look over the games database and see how often you find a separate credit for sound effects. This may be common in films, but it's pretty rare in AGS games.
Quote from: Darth Mandarb on Wed 26/03/2014 11:42:17So is this a demo for a game that is actually still in production?No, it's actually for the OSD Plugin, so it should be moved to the Modules&Plugins forum.
Quote from: Ogon on Wed 26/03/2014 10:12:33Because for most games, it's either the same guy doing the composing and sound effects, or the sound effects are taken from a free public website somewhere. In neither case does it make sense to give a separate award for the sound.
As a composer, I think merging SFX and music makes no sense at all. I don't see why a composer should be barred from getting recognised for their work just because the sound effects guy wasn't doing a good job. It's just a different thing.
By continuing to use this site you agree to the use of cookies. Please visit this page to see exactly how we use these.
Page created in 0.064 seconds with 16 queries.