this is what i am referring to...from PatrolObjectives.upc
[Section
300]
ID=ID315
FileName=data/Campaigns/Campaign/PatrolObjectives/Sink Kurile 01/Sink Kurile 01.mis
StartDate=19420101
EndDate=19450901
[Section
315]
ID=ID315
FileName=data/Campaigns/Campaign/PatrolObjectives/Patrol Kuriles 06/Patrol Kuriles 06.mis
StartDate=19420608
EndDate=19450915
i believe that they (and their 12 brother-duplicates) are getting in each others way....once they are assigned by the Flotillas et.al. logic. the way it figures to work out is that the Flotilla-Objective-Date logic chooses an Objective "suggestion"...this one relates to me.
[Flotilla 7.UserPlayerUnitType 4.Objective 11]
ID= MI4Obj11
NameDisplayable= MidwayPC2
AvailabilityInterval=1943-05-01, NULL
ObjectiveCode= MidwayPC2
then it heads to the PatrolObjectives, matches the ObjectiveCode, and selects a MissionID, then inserts that into the CareerTrack.upc for CurrentMission....which remains static until the mission is completed or you are dead or retired or whatever. The problem arises when and if the player exits the game and reloads the savegame and the MissionID goes to the PatrolObjectives and performs a key-search for the FIRST OCCURRENCE of that MissionID. when there are dupes, there is the risk that the first match will not be the same actual mission as previously displayed in the SaveGame file because MISSIONID is the key that is stored.
i PM'd you a couple of weeks ago about this issue but i wasnt able to figure it out until it happened the second time.
in the first episode (PM) i was assigned
ID=ID311
FileName=data/Campaigns/Campaign/PatrolObjectives/Patrol Kuriles 02/Patrol Kuriles 02.mis
i exited and reloaded and then i was presented with this mission instead
ID=ID311
FileName=data/Campaigns/Campaign/PatrolObjectives/Sink Komandorski 01/Sink Komandorski 01.mis
because the Komandorski ID311 appears before the Kurile ID311 in the PatrolObjectives file.
the PatrolObjectives file is built into an internal table with ID as the key and when there are duplicate key, the logic selects the first match. classic bulls#it table coding. what should have happened is that when SH4 went through the table-build step, the code should have recognized the attempted (and wrong) use of duplicate key entries and terminated with an error message to fix the offending build file (PatrolObjectives). THAT would have caught the root cause of the problem. anyway, i digress.
does that explain the issue better?
remember this is a discussion/conversation...not an indictment or accusation. we are all on the same side here.

