2019-06-25 05:53 EDT


View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0001482FSSCPgameplaypublic2007-09-29 00:21
Reporterz80 
Assigned ToTurey 
PrioritynormalSeverityminorReproducibilitysometimes
StatusresolvedResolutionfixed 
Product Version3.6.9 
Target VersionFixed in Version3.6.10 
Summary0001482: Derelict campaign's missions are skipped even if not commited if you quit the game at the mission debriefing.
DescriptionPlaying a campaign mission, replay it many times from debriefing. On debriefing screen, quit the main hall without having commited the mission (ESC key) and at end quit the game.
The next time you run the game and follow the campaing, you 'll be on the next campaign's mission and the skipped mission will not appear in the tech room simulation screen.
TagsNo tags attached.
Attached Files

-Relationships
+Relationships

-Notes

~0008424

z80 (reporter)

Last edited: 2007-08-30 22:13

In that case, here is a workaround :

Decrement the long word at offset 0x1C in the file <player>.Derelict.cs2 in folder <Game directory>\data\players\single.

I've noticed that in the case of this bug, the skipped mission's data are apparently missing in this file.

~0008425

z80 (reporter)

Sorry, there's a mistranslate in the resume, read :

Derelict campaign's missions are skipped even if not ACCEPTED if you quit the game at the mission debriefing.

rather than

Derelict campaign's missions are skipped even if not commited if you quit the game at the mission debriefing.


Same correction has to apply to the description, read :

Playing a campaign mission, replay it many times from debriefing. On debriefing screen, quit the main hall without having ACCEPTED the mission (ESC key) and at end quit the game.

rather than

Playing a campaign mission, replay it many times from debriefing. On debriefing screen, quit the main hall without having commited the mission (ESC key) and at end quit the game.

~0008428

Turey (developer)

When you hit escape, which option do you choose?

~0008430

z80 (reporter)

Last edited: 2007-08-31 01:06

I'm checking actual CVS HEAD (~ 3.6.10) and note that in file code/missionui/missiondebrief.cpp there is in the [debrief_init] method a systematic update of campaign structure :

    if ( (Game_mode & GM_CAMPAIGN_MODE) && ( !MULTIPLAYER_CLIENT ) ) {
        // MUST store goals and events first - may be used to evaluate next mission
        // store goals and events
        mission_campaign_store_goals_and_events_and_variables();

        // evaluate next mission
        mission_campaign_eval_next_mission();
    }

The [mission_campaign_eval_next_mission()] call will apparently update the mission number in the campaign structure as soon as the player get in the debriefing. However, it's seem's that with this code the mission data are normaly stored in the structure, so that a later call to the method [campaign_savefile_save] from file code/mission/missioncampaign.cpp issued when quiting the game would have logicaly saved the mission data, but i've verified that mission data aren't saved in campaign file in the case of this bug.

I'll check what's exactly done in debriefing process.

~0008432

z80 (reporter)

Turey : When the mission is a success, and that i press ESC in the debriefing without having accept the result, the game drive me to the deck.

~0008448

Turey (developer)

Last edited: 2007-08-31 19:39

You don't get this prompt? Because if I hit that third option, it works for me.

http://www.fsoinstaller.com/images/debrief.png

EDIT: That's odd, now it's not working. hrm.

~0008449

z80 (reporter)

Turey : After completing successfully a mission and replay it many times, it's seem than sometimes i'dont get this prompt when using ESC key on the debriefing. The game drive then me to the deck, from which i quit the game.
In that case, when i rerun the game and return to the campaign (derelict), i got the next mission. The skipped mission doesn't appear in the mission simulator at tech room and the mission's data are missing in the campaign data file (<player>.<campaign>.cs2).
This behaviour does not occur frequently, so reproduce isn't easy. I got it twice since playing the derelict campaign, after fifteen mission i think (last occurence at scientific vessels escort to tau sigma mission). I've keep a backup of resultant pilot and campaign files that i'll join.

~0008450

Turey (developer)

The "Replay Later" button should now be fixed in HEAD. Try it out.

You say you don't get the prompt sometimes? The code's quite clear, if you complete the mission and hit escape, you get the prompt. Are you sure that you don't get it?

~0008451

z80 (reporter)

Turey: I don't remember having it on the moment. I remember than something seem wrong after leaving the campaign (because i meet this bug sooner), so, as i was always in the game, i return to the campaign and be boarded on the escort mission and leave immediatly the briefing. I quit then the game, but when i rerun the game later i get the next mission in the campaign and the escort mission wasn't appear in the simulator.

~0008452

z80 (reporter)

I'll check the [debrief_do_keys] method and your contribution fo rev 2.60 of MissionDebrief.cpp, i note that the prompt could only be missed if the <Turned_traitor> var is true and if the <Must_replay_mission> is false at the same, this case drive to the [gameseq_post_event(GS_EVENT_END_GAME);] statement which correspond to the main hall / deck according to commentary.

This case seems fit with the trouble i've met, so did you think that <Turned_traitor> && !<Must_replay_mission> is a possible resulting issue of a mission ?

~0008454

Turey (developer)

I haven't been able to get that combination to occur.

~0008455

z80 (reporter)

And i've got a "succesful" debriefing, which seem wouldn't be possible if <Turned_traitor> was true. I don't see, i return to the game :-) and i'll pay more attention to the game if i feel i've got at new the same trouble.

~0008469

z80 (reporter)

Last edited: 2007-09-02 20:56

Same problem, this time at the aurigan capture mission ("The sting"), but without replay. I got the debriefing, press ESC, get this time the prompt, select "no, retry later", leave the game. When i rerun, i was a the next mission. seem that's not rely to the prompt call. Campaign and pilot's files backuped, if wanted.

EDIT: I remember the "No, ... later" require a correction, and i'm always on 3.6.9, so don't care. I'll recompile 3.6.10 and reddo the campaign with it to check this later.

~0008543

Turey (developer)

Was finally able to track down exactly why this happens. When the game starts up, it loads Campaign.next_mission into Game_current_mission_filename. Game_current_mission_filename is then used to decide which mission is actually played. When a mission is completed, Campaign.next_mission is incremented. If the player accepts, Game_current_mission_filename is updated, and the next mission starts. If the player retries, then Game_current_mission_filename is left alone, and the same mission is played again. Even if the player retries the mission, Campaign.next_mission is still incremented. This isn't a problem normally, as Game_current_mission_filename decides what mission is played. However if the player quits the game completely, then Game_current_mission_filename is tossed and Campaign.next_mission is saved in the player file. When the game is started again, it loads Campaign.next_mission into Game_current_mission_filename, and as a result a mission is skipped.
+Notes

-Issue History
Date Modified Username Field Change
2007-08-30 21:54 z80 New Issue
2007-08-30 22:12 z80 Note Added: 0008424
2007-08-30 22:13 z80 Note Edited: 0008424
2007-08-30 22:13 z80 Note Edited: 0008424
2007-08-30 23:34 z80 Note Added: 0008425
2007-08-31 00:39 Turey Status new => assigned
2007-08-31 00:39 Turey Assigned To => Turey
2007-08-31 00:41 Turey Status assigned => confirmed
2007-08-31 01:04 Turey Note Added: 0008428
2007-08-31 01:05 z80 Note Added: 0008430
2007-08-31 01:06 z80 Note Edited: 0008430
2007-08-31 01:10 z80 Note Added: 0008432
2007-08-31 19:27 Turey Note Added: 0008448
2007-08-31 19:39 Turey Note Edited: 0008448
2007-08-31 20:24 z80 Note Added: 0008449
2007-08-31 20:27 z80 File Added: z80scp.Derelict.cs2
2007-08-31 20:27 z80 File Added: z80scp.pl2
2007-08-31 20:27 z80 File Added: z80scp.FreeSpace2.cs2
2007-08-31 20:57 Turey Note Added: 0008450
2007-08-31 21:05 z80 Note Added: 0008451
2007-08-31 21:47 z80 Note Added: 0008452
2007-08-31 22:27 Turey Note Added: 0008454
2007-08-31 22:36 z80 Note Added: 0008455
2007-09-02 20:51 z80 Note Added: 0008469
2007-09-02 20:56 z80 Note Edited: 0008469
2007-09-29 00:21 Turey Status confirmed => resolved
2007-09-29 00:21 Turey Fixed in Version => 3.6.10
2007-09-29 00:21 Turey Resolution open => fixed
2007-09-29 00:21 Turey Note Added: 0008543
+Issue History