eeustice Posted August 21, 2022 Report Share Posted August 21, 2022 It appears that the air patrol crashing is back. I have had 2 ASW patrols crash, and I am unable to delete air patrols in my TG's Attached is a save game with the air patrols that were not able to be deleted in TG AEC Air Patrols Crashing.zip Quote Link to comment Share on other sites More sharing options...
eeustice Posted August 21, 2022 Author Report Share Posted August 21, 2022 I was finally able to do an AC split from the GE. It appears that some patrols left their areas of patrol bu many miles. Quote Link to comment Share on other sites More sharing options...
TonyE Posted August 22, 2022 Report Share Posted August 22, 2022 Are you able to reproduce either behavior in smaller scenarios? Quote Link to comment Share on other sites More sharing options...
eeustice Posted August 23, 2022 Author Report Share Posted August 23, 2022 I haven't got that far yet. I was busy trying to save my way word air patrols! Quote Link to comment Share on other sites More sharing options...
TonyE Posted August 23, 2022 Report Share Posted August 23, 2022 Hint to TonyE: Unit IDs fun was from HCE - 2020.005 - 2020-07-10 Quote Link to comment Share on other sites More sharing options...
TonyE Posted September 8, 2022 Report Share Posted September 8, 2022 Hint to TonyE and donaldseadog: 1. formedit.c FormationDlg() says that air units with CombatFlag <= 0 will show up in the formation editor. 2. formedit.c AddFormRec() looks for an AirPatrolEvent associated with the unit via FindAirPatrolEvent() to determine if the unit is a formation air patrol or just part of the formation. If it is a formation air patrol, form->state is set to AIR_FORM. 3. formedit.c FindAirPatrolEvent() finds the first AirPatrolEvent based on the group matching (not the group id, the group structure in memory) and the unit's id matching. 4. formedit.c MakeFormationList() builds the list box of items in the formation. It looks at the FormRecs already created and shows them as formation air patrols if form-> STATE == AIR_FORM || form->state == PATROL_FORM. In short, I expect that somewhere along the line, the affected formation air patrols are losing their associated AirPatrolEvent or the association (via somehow changed UnitIds) is broken. Quote Link to comment Share on other sites More sharing options...
eeustice Posted September 10, 2022 Author Report Share Posted September 10, 2022 Tracked down the file just before the first air patrol in Guam becomes corrupt. It doesn't repeat every time, but the event does happen. Launch GE Locate Guam on the map. Run the GE for 1 second. While GE is doing what the GE does change time to 0 When you get the message below open the formation editor on Guam and look for a Fighter Drone patrol This is the first corrupted patrol. You will not be able to delete the patrol in the Formation Editor, but you can still split from the base at this time. If you have any questions please let me know. Unit ID Test 1-41.0001.zip Quote Link to comment Share on other sites More sharing options...
eeustice Posted September 10, 2022 Author Report Share Posted September 10, 2022 Guam's base ID id ACb I have added a copy of the GE log. ge.log Quote Link to comment Share on other sites More sharing options...
donaldseadog Posted September 11, 2022 Report Share Posted September 11, 2022 On 9/8/2022 at 10:37 PM, TonyE said: Hint to TonyE and donaldseadog: 1. formedit.c FormationDlg() says that air units with CombatFlag <= 0 will show up in the formation editor. 2. formedit.c AddFormRec() looks for an AirPatrolEvent associated with the unit via FindAirPatrolEvent() to determine if the unit is a formation air patrol or just part of the formation. If it is a formation air patrol, form->state is set to AIR_FORM. 3. formedit.c FindAirPatrolEvent() finds the first AirPatrolEvent based on the group matching (not the group id, the group structure in memory) and the unit's id matching. 4. formedit.c MakeFormationList() builds the list box of items in the formation. It looks at the FormRecs already created and shows them as formation air patrols if form-> STATE == AIR_FORM || form->state == PATROL_FORM. In short, I expect that somewhere along the line, the affected formation air patrols are losing their associated AirPatrolEvent or the association (via somehow changed UnitIds) is broken. I'm a bit slow and just read this. I'll put in a separate comment below that seems to give another clue that is beyond my knowledge but might help. Meanwhile I'll look at this bit too. Quote Link to comment Share on other sites More sharing options...
donaldseadog Posted September 11, 2022 Report Share Posted September 11, 2022 I've looked at three of erics save games and used lazgui.dll to pause game and look at "structure" in the game second following each save. The second event listed for game time 100303 refers to the (supposedly) patroling unit ac21. At game time 100289 (the second after erics save game 1-40.0071) the data looks good, and the unit is patroling and behaving. Next second (I used erics next second game save, 1-40.0001) the data for the event has changed and the unit applies to is now a nonexistant unit. The unit now appears not to be patrolling and is listed incorrectly in the formation editor. I don't understand how the data in the event is changed, but maybe its another hint. On my laptop it takes 5 minutes for that 1 sec game time to run. Quote Link to comment Share on other sites More sharing options...
donaldseadog Posted September 12, 2022 Report Share Posted September 12, 2022 On 9/8/2022 at 10:37 PM, TonyE said: 2. formedit.c AddFormRec() looks for an AirPatrolEvent associated with the unit via FindAirPatrolEvent() to determine if the unit is a formation air patrol or just part of the formation. If it is a formation air patrol, form->state is set to AIR_FORM. Where do FormRecs reside? Quote Link to comment Share on other sites More sharing options...
donaldseadog Posted September 12, 2022 Report Share Posted September 12, 2022 On 9/8/2022 at 10:37 PM, TonyE said: 1. formedit.c FormationDlg() says that air units with CombatFlag <= 0 will show up in the formation editor. exciting Quote Link to comment Share on other sites More sharing options...
TonyE Posted September 12, 2022 Report Share Posted September 12, 2022 1 hour ago, donaldseadog said: Where do FormRecs reside? They are temporary structures created when needed, primarily when the formation editor is opened. The structures are freed when the formation editor is closed. 1 Quote Link to comment Share on other sites More sharing options...
donaldseadog Posted September 12, 2022 Report Share Posted September 12, 2022 On 9/8/2022 at 10:37 PM, TonyE said: I expect that somewhere along the line, the affected formation air patrols are losing their associated AirPatrolEvent or the association (via somehow changed UnitIds) is broken That, in my limited understanding, seems to tie in with the change over one sec in the ac21 event where the applied to unit changes from the correct unit (ac21) to a non existing unit.? Is this warm? Quote Link to comment Share on other sites More sharing options...
TonyE Posted September 16, 2022 Report Share Posted September 16, 2022 Got there in the debugger by setting a breakpoint on change in memory contents of the AIR_PATROL_EVENT for ACb unit 21. It took a long time to run those 14 game seconds. I was expecting it to be one game second from 1-40.0071. So slowly getting closer to the moment things go awry. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.