Jump to content

Recommended Posts

Posted
On 11/24/2023 at 2:13 PM, PatrickAWlson said:

 

Same algorithm so there must be something in the data that is driving those outcomes.  I'll take a look.  Are you flying Allied or Axis?

Primarily Allied, although I generated a few Axis missions as a test and they seem to get the same result. Mostly flying multirole fighters if that factors in also, P-51, 47, 38, fw190.

Posted (edited)

Hey need a little help with this one im sure its a setting i enabled somewhere but can someone have a look at this error code and tell me whats going on

 

Wed Nov 29 14:17:49 EST 2023
java.lang.NullPointerException
    at pwcg.campaign.group.FakeAirfield.<init>(FakeAirfield.java:47)
    at pwcg.mission.io.MissionFileWriter.writeFakeAirfieldForAiReturnToBase(MissionFileWriter.java:317)
    at pwcg.mission.io.MissionFileWriter.writeProductSpecific(MissionFileWriter.java:219)
    at pwcg.mission.io.MissionFileWriter.writeMission(MissionFileWriter.java:73)
    at pwcg.mission.Mission.writeGameMissionFiles(Mission.java:190)
    at pwcg.mission.Mission.write(Mission.java:183)
    at pwcg.gui.rofmap.brief.update.BriefingMissionUpdater.finalizeMission(BriefingMissionUpdater.java:20)
    at pwcg.gui.rofmap.brief.BriefingPilotSelectionScreen.acceptMission(BriefingPilotSelectionScreen.java:430)
    at pwcg.gui.rofmap.brief.BriefingPilotSelectionScreen.actionPerformed(BriefingPilotSelectionScreen.java:190)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

 

Please disregard my error was trying to start from parked.  Once i changed that setting all my issues went away4
 

Edited by MAJ_Raptor
  • Upvote 1
Posted

Im trying to start a coop campaign. where I am in an attacker squadron and my friend is in a fighter in different squadrons on the same side. I set up both squadrons for the mission load outs, waypoints etc. But when i load the mission ingame both aircraft are there and start at respective airfields but the map only shows the waypoints of the reference pilots squadron. while the other squadron shows just the airfield they are at. I see both flight paths in PWCG its just when im in game the secondary pilots stuff doesnt show up. I saw in previous posts there was a competitive mode that needed to be turned on but in this version there is only coop and single. Has anyone else ran into this problem           

PatrickAWlson
Posted
On 12/1/2023 at 10:13 PM, BigNatho said:

Im trying to start a coop campaign. where I am in an attacker squadron and my friend is in a fighter in different squadrons on the same side. I set up both squadrons for the mission load outs, waypoints etc. But when i load the mission ingame both aircraft are there and start at respective airfields but the map only shows the waypoints of the reference pilots squadron. while the other squadron shows just the airfield they are at. I see both flight paths in PWCG its just when im in game the secondary pilots stuff doesnt show up. I saw in previous posts there was a competitive mode that needed to be turned on but in this version there is only coop and single. Has anyone else ran into this problem           

 

Older versions of PWCG distinguished between competitive and cooperative.  More recent versions just have coop and you can fly for the same side or different sides as you wish.  Same functionality, just stopped calling the same thing by two different names.

 

I'll look into the flight map.  Could be that I only add icons for the first player.

  • 3 weeks later...
Posted

Hi.  The spitfire MK IX is appearing for the Soviet air force in my Kuban career (I'm flying for the LW).  Im currently in late autumn 1943.  I can't quite remember when they showed up but for a few months at least.  In the intel section the squadron has had all their mk v's replaced.   

Just wanted to let you know Pat.

Enjoying pwcg immensely and thanks for making it for us all to enjoy :)

 

Thanks

Posted

Ah, that makes sense then.  I didn't know that  when I posted :)

thanks

Posted

when i try to add coop user

 

PWCG Error
Sun Dec 24 20:59:49 NZDT 2023
java.lang.NullPointerException: Cannot invoke "String.equalsIgnoreCase(String)" because the return value of "pwcg.campaign.squadmember.SquadronMember.getPlayerRegion()" is null
    at pwcg.product.fc.medals.GermanMedalManager.awardWings(GermanMedalManager.java:94)
    at pwcg.campaign.medals.MedalManager.award(MedalManager.java:79)
    at pwcg.campaign.personnel.CampaignValidatorMedals.assignMissingMedalsForSquadMember(CampaignValidatorMedals.java:27)
    at pwcg.campaign.squadmember.SquadronMemberFactory.createPlayer(SquadronMemberFactory.java:59)
    at pwcg.campaign.squadmember.SquadronMemberReplacer.addnewPilotToCampaign(SquadronMemberReplacer.java:54)
    at pwcg.campaign.squadmember.SquadronMemberReplacer.createPersona(SquadronMemberReplacer.java:27)
    at pwcg.campaign.squadmember.SquadronMemberReplacerCoop.createPersona(SquadronMemberReplacerCoop.java:16)
    at pwcg.campaign.squadmember.PlayerPilotBuilder.buildPlayerPilot(PlayerPilotBuilder.java:23)
    at pwcg.gui.maingui.campaigngenerate.NewPilotScreen.createPilot(NewPilotScreen.java:137)
    at pwcg.gui.maingui.campaigngenerate.NewPilotScreen.actionPerformed(NewPilotScreen.java:117)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
    at java.desktop/java.awt.Component.processEvent(Component.java:6386)
    at java.desktop/java.awt.Container.processEvent(Container.java:2266)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

  • Thanks 1
tonric-73686_
Posted

How come when I create a mission I'm getting plane icons on the in game map even though I have all them disabled in settings?

 

I've just a regular campaign mission and the icons are not enabled but they are in the pwcg missions

 

The mission is creates also says recon in the mission screen in game even though the mission isn't recon as well is that just how it works?

 

Also, what do the large circles mean on the map? My mission target isn't in one of those circles.

Posted
On 12/30/2023 at 3:38 AM, tonric-73686_ said:

How come when I create a mission I'm getting plane icons on the in game map even though I have all them disabled in settings?

 

I've just a regular campaign mission and the icons are not enabled but they are in the pwcg missions

 

The mission is creates also says recon in the mission screen in game even though the mission isn't recon as well is that just how it works?

 

Also, what do the large circles mean on the map? My mission target isn't in one of those circles.

 

That's the 'radar' -- I don't like Il-2's implementation of it either. But basically, there are various 'spotter' objects on the ground that report any aircraft in their range (the large circles).

 

IMO it would be nice if there was an option to turn it off, but there's not.

 

I've got some really janky scripts to disable them (and other things besides); one of these days I ought to clean them up and share them.

tonric-73686_
Posted

I don't see those circles in the in game career mode though. Does contact only happen when within those circles?

 

Also, I don't play with any visual map aids I like to navigate by the map and visual points of reference. How come the gps plane updates are on the map yet I have this setting switched off?

PatrickAWlson
Posted
3 hours ago, tonric-73686_ said:

I don't see those circles in the in game career mode though. Does contact only happen when within those circles?

 

Also, I don't play with any visual map aids I like to navigate by the map and visual points of reference. How come the gps plane updates are on the map yet I have this setting switched off?

 

Those circles are spotters.  They are simply units with a spotter designation.  They emulate radar.  Contact does not only happen within those areas.  The spotters are placed about where radar should be with about the coverage that radar should have.

  • Upvote 1
Posted (edited)

@PatrickAWlson would it be possible in the next release to get an advanced setting that lets the player tune the distance between virtual waypoints? Ideally this would just be a multiplier, so that we could set the distance between consecutive VWPs to e.g. 80% of stock?

 

The reason I ask is that I sometimes (not often, but sometimes) see enemy flights (especially bomber fights, it seems) visibly popping in; I think this must be happening when the VWP advances. So if, for example, there's 16km between waypoints A and B, and a 20km check-zone, the player might be 5km from B, 21km from A, and if the virtual flight moves to waypoint B at this time, the player might see the flight immediately pop into view.

 

As I understand it, virtual waypoints are very cheap, so increasing their number slightly shouldn't be a performance problem.

 

 

Edited by Charon
PatrickAWlson
Posted
6 hours ago, Charon said:

@PatrickAWlson would it be possible in the next release to get an advanced setting that lets the player tune the distance between virtual waypoints? Ideally this would just be a multiplier, so that we could set the distance between consecutive VWPs to e.g. 80% of stock?

 

The reason I ask is that I sometimes (not often, but sometimes) see enemy flights (especially bomber fights, it seems) visibly popping in; I think this must be happening when the VWP advances. So if, for example, there's 16km between waypoints A and B, and a 20km check-zone, the player might be 5km from B, 21km from A, and if the virtual flight moves to waypoint B at this time, the player might see the flight immediately pop into view.

 

As I understand it, virtual waypoints are very cheap, so increasing their number slightly shouldn't be a performance problem.

 

 

 

VWPs are not computationally expensive - certainly when compared to actual planes flying, but they do cause tremendous bloat to the mission file.  Increasing the granularity would make that worse.  Some of my mission files are hundreds of thousands of lines of text and it does get to the point where the game refuses to read them. 

 

VWPs are currently set 10km apart for WWII (8km for WWI)  and spawn distance is 20.  If anything I would make spawn distance configurable  20km or even less is probably fine for WWI but might not cut it for WWII.

  • Thanks 1
Posted
8 hours ago, PatrickAWlson said:

VWPs are currently set 10km apart for WWII (8km for WWI)  and spawn distance is 20.  If anything I would make spawn distance configurable  20km or even less is probably fine for WWI but might not cut it for WWII.

Hm. In that case I think perhaps there is a bug in the VWP placement under some circumstances. Here, for example, this mission has a gap of 17km between consecutive waypoints:

 

vwp-spacing.thumb.JPG.f2aa0bf215d61f424e80de19519b3a45.JPG

 

If the player flight is just a little North-East of the final waypoint at the right time, this flight can activate as little as 3km away.

 

Mission attached: this is from the '65th Ground Attack Air Regiment' flight; PWCG version 15.1.1.

 

vwp-spacing-17km.zip

Posted (edited)

Hi Pat,

 

I created a campaign with II./KG53 on 01/10/1941 starting at Znamenka field, and they spawn for takeoff on the runway with the tower asking me to taxi to the runway, but I can't, as the runway position the tower wants me in is where the rest of my flight has spawned.  If I just takeoff, the rest of my flight crashes into each other as they try to taxi back to the positions they are already in.  Not sure what is going on.

 

Thanks for your help!

 

Update:  I deleted the II./KG53 campaign and started a I./KG53 campaign at Vjazma airfield on 01/10/1941 and it worked perfectly.  My planes spawned on the runway ready for take off clearance.  So now I've got a way to start an early war He 111 H-6 campaign.  But Znamenka is a more substantial airfield, and it would be fun to eventually start a campaign there ?

Edited by KodiakJac
=DW=_Duck_of_Death
Posted

Hi Pat/all,

 

I don't know if it's just me but whenever I get an anti shipping mission all ships/boats seem to be stationary, at least I don't think I've ever see any move, has anyone else? Maybe it's and IL-2 thing rather than PWCG. I guess if it was any easy fix it would be nice to see them move to add to the realism. 

 

Anyway, keep up the good work Pat.

 

Cheers

PatrickAWlson
Posted
4 hours ago, duck_of_death said:

Hi Pat/all,

 

I don't know if it's just me but whenever I get an anti shipping mission all ships/boats seem to be stationary, at least I don't think I've ever see any move, has anyone else? Maybe it's and IL-2 thing rather than PWCG. I guess if it was any easy fix it would be nice to see them move to add to the realism. 

 

Anyway, keep up the good work Pat.

 

Cheers

 

The should move.  Every ship has a destination towards a friendly port.  The waypoint activation is triggered by player proximity.  If you see this again, post the mission.

=DW=_Duck_of_Death
Posted

Ok my apologies it does look like the ships are actually moving, but the reason I hadn't realised was that they seem to be moving so slowly you can only just about see it if you really look. Maybe this is a limitation of Il-2 though. I guess if it was possible to increase their speed it would perhaps be more realistic although I don't know maybe this could introduce other AI issues, not sure. 

 

I've tried to post files here in case you wanted to look at them (not sure if I got the right ones). 

 

Thanks for your reply.

 

All the best. 

Stukka.zip

Posted

I have many Errors in a Normandy Campaign. This is the Log:

 

Quote

PWCG Error
Thu Jan 11 09:54:15 CET 2024
java.lang.NullPointerException
    at pwcg.mission.MissionDescriptionSinglePlayer.createDescription(MissionDescriptionSinglePlayer.java:72)
    at pwcg.gui.rofmap.brief.BriefingDescriptionChalkboard.setMissionText(BriefingDescriptionChalkboard.java:91)
    at pwcg.gui.rofmap.brief.BriefingDescriptionChalkboard.makePanel(BriefingDescriptionChalkboard.java:61)
    at pwcg.gui.rofmap.brief.BriefingDescriptionScreen.makeBriefingPanel(BriefingDescriptionScreen.java:122)
    at pwcg.gui.rofmap.brief.BriefingDescriptionScreen.makePanels(BriefingDescriptionScreen.java:67)
    at pwcg.gui.campaign.mission.MissionGeneratorHelper.showBriefingMap(MissionGeneratorHelper.java:31)
    at pwcg.gui.rofmap.brief.BriefingCoopPersonaChooser.generateMission(BriefingCoopPersonaChooser.java:232)
    at pwcg.gui.rofmap.brief.BriefingCoopPersonaChooser.actionPerformed(BriefingCoopPersonaChooser.java:208)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

 

 

I have try every way, without fix it. Can you hlep me?

 

 

PatrickAWlson
Posted
8 hours ago, PA_Centauro said:

I have many Errors in a Normandy Campaign. This is the Log:

 

 

 

I have try every way, without fix it. Can you hlep me?

 

 

 

Can you zip up your campaign and post it?

Posted

Hi Pat,

 

Is there a way to suppress the tactical codes that are automatically assigned by PWCG for each aircraft?  LukeFF is helping me suppress them in Pilot Careers.  Do I just do the same to suppress your tactical codes, or is there something I can/must do in PWCG?  I want to assign custom skins that already have tactical codes.

 

Thanks!

PatrickAWlson
Posted
5 hours ago, KodiakJac said:

Hi Pat,

 

Is there a way to suppress the tactical codes that are automatically assigned by PWCG for each aircraft?  LukeFF is helping me suppress them in Pilot Careers.  Do I just do the same to suppress your tactical codes, or is there something I can/must do in PWCG?  I want to assign custom skins that already have tactical codes.

 

Thanks!

 

Tactical codes are only used on skins configured to use them.  Pretty sure the default is do not use tactical codes.  You should be able to just assign the skins.

  • Thanks 1
Posted

Very small bug but potentially confusing :

In this escort mission, it says at the end : Escorted by Typhoon Mk Ib, should be Escort Typhoon ... (or nothing indeed)

image.thumb.png.fbdec9143c085aca9429f22a054f3634.png

Posted (edited)

In the FC version I can add COOP users, but cannot add pilots to a campaign/squad once the campaign is generated.   An error is generated after hitting the 'Next Step' button after entering the new pilots name.    Error log attached.

 

I am using the 16. Beta,  and have the latest Java update,  but this has been the case for me in all versions for about a year now. 


Decided to try once again to get it resolved

PWCGErrorLog.txt

Edited by JG1_Jaus
  • 2 weeks later...
Posted

Hi im new to il2 and i wantet to try the pwcg mod, but when i lauch the pwcg software it says i have to change the mission_text_log = 0 to 1 but i have already done it, and when i try to complete a mission configuration i get this:


PWCG Error
Sun Jan 28 11:33:51 CET 2024
java.lang.IllegalArgumentException: No line matching interface Clip supporting format PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian is supported.
    at javax.sound.sampled.AudioSystem.getLine(Unknown Source)
    at javax.sound.sampled.AudioSystem.getClip(Unknown Source)
    at pwcg.gui.sound.SoundPlayer.playClipFormatted(SoundPlayer.java:43)
    at pwcg.gui.sound.SoundManager.playNewSong(SoundManager.java:121)
    at pwcg.gui.sound.SoundManager.transitionToNewSong(SoundManager.java:108)
    at pwcg.gui.sound.SoundManager.run(SoundManager.java:77)
Mission unit count battle : 16

Mission unit count train : 3

Mission unit count truck : 18

Mission unit count ships : 0

Mission unit count AA : 214

Mission unit count total : 251

unit count flights : 0

unit count misson : 251

unit count total : 251

Posted

Playing a BoB campaign. Currently end of July, 1941. I've done something like 10 missions now, one of which had any action. Enemies rarely show up in the action area. If they do, its when the flight is nearly back to base. I've done a couple emergency resupplies. I've even turned on the setting where you can see all enemy flights, and scrub missions until a bunch of them are in the action area. No luck. The campaign started out with fights in nearly every mission.

PWCGErrorLog.txt

PatrickAWlson
Posted
On 1/28/2024 at 5:40 AM, seppolinen said:

Hi im new to il2 and i wantet to try the pwcg mod, but when i lauch the pwcg software it says i have to change the mission_text_log = 0 to 1 but i have already done it, and when i try to complete a mission configuration i get this:


PWCG Error
Sun Jan 28 11:33:51 CET 2024
java.lang.IllegalArgumentException: No line matching interface Clip supporting format PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian is supported.
    at javax.sound.sampled.AudioSystem.getLine(Unknown Source)
    at javax.sound.sampled.AudioSystem.getClip(Unknown Source)
    at pwcg.gui.sound.SoundPlayer.playClipFormatted(SoundPlayer.java:43)
    at pwcg.gui.sound.SoundManager.playNewSong(SoundManager.java:121)
    at pwcg.gui.sound.SoundManager.transitionToNewSong(SoundManager.java:108)
    at pwcg.gui.sound.SoundManager.run(SoundManager.java:77)
Mission unit count battle : 16

Mission unit count train : 3

Mission unit count truck : 18

Mission unit count ships : 0

Mission unit count AA : 214

Mission unit count total : 251

unit count flights : 0

unit count misson : 251

unit count total : 251

 

That's a first.  Try turning off music and sound from the main menu.

Posted
On 1/29/2024 at 3:11 AM, imbatman1986 said:

Playing a BoB campaign. Currently end of July, 1941. I've done something like 10 missions now, one of which had any action. Enemies rarely show up in the action area. If they do, its when the flight is nearly back to base. I've done a couple emergency resupplies. I've even turned on the setting where you can see all enemy flights, and scrub missions until a bunch of them are in the action area. No luck. The campaign started out with fights in nearly every mission.

PWCGErrorLog.txt 2.92 kB · 3 downloads

I've been messing around with this and I've found some things out. This campaign seems fine at start when all the action is around dunkirk.

 

Once the operation expands to the entire Channel is when contacts become much fewer. The flights are all occurring, but don't pass near enough for flight leaders to engage one another.

 

I tried to mess with the mission box setting, lowering it all the way to 1. That didn't seem to make a difference.

 

The only solution seems to be increasing the number of flights to increase the odds of contact. If there was a setting to get flights to notice and engage at a further distance, that would probably work too.

Posted (edited)
4 hours ago, imbatman1986 said:

I've been messing around with this and I've found some things out. This campaign seems fine at start when all the action is around dunkirk.

 

Once the operation expands to the entire Channel is when contacts become much fewer. The flights are all occurring, but don't pass near enough for flight leaders to engage one another.

 

I tried to mess with the mission box setting, lowering it all the way to 1. That didn't seem to make a difference.

 

The only solution seems to be increasing the number of flights to increase the odds of contact. If there was a setting to get flights to notice and engage at a further distance, that would probably work too.

 

It sounds like this is a luftwaffe campaign that was fine while still over France, but now is no contact when you're crossing the channel? I've run into the same thing over Stalingrad, flying out of Morozovski towards the pocket. It's just too far: the mission starts tracking the progress of all flights (via virtual waypoints) at the start of the mission, and by the time you get to the combat area, most of them will have completed their patrol and gone home.

 

I wound up solving it for myself with a script that just inserts a delay in the start timer for all the virtual waypoints (along with some logic to prevent them from popping in if the player flight is too close when the first VWP is activated). It's also written so that you can randomize the start times. I can, for example, up the number of planes in the mission, but have some of them only appear after an hour, so they don't normally affect the mission but keep things from becoming completely dead if it runs long.

 

I include it below in case you want to try it, but be warned: horrendously bad code follows, and no warranty whatsoever. I guarantee it has bugs. It has worked for me in co-op, but I've never tested it with single-player missions.

 

----
 

Spoiler

timers.sh

#! /bin/bash

function finish {
    if ! [[ "$SUCCESS" == "true" ]] ; then echo "FAILURE"; fi
    read -n 1 -s -p "Press any key"
}

trap finish EXIT

a0="$(cygpath -a "$0")"
a1="$(dirname "$a0")"
cd "$a1" || exit
pwd
mission="${1}"
mission="$(cygpath -a "${mission}")"
subtitles="${mission/.mission/.eng}"
log="${mission/.mission/.log}"
touch "$log"


[[ -f "${mission?}" ]]
[[ -f "${subtitles?}" ]]

if grep "timers\.sh" "$log" ; then
    echo "already run"
    exit 1
fi

echo "timers.sh" >> "$log"

# This arranges for $N intervals of $B seconds long each. 
# Each flight which is rescheduled will have a delay chosen randomly and uniformlyish from within these intervals, 
# and flights are guaranteed to be distributed roughly evenly across these intervals. 
# $A provides an offset; delays cannot be negative, so setting A=-$B effectively collapses the first interval to size 0. 

# Ex: A=-1800, B=1800, N=2.
# Three flights would be distributed among the intervals [0,0], [0,1800], [0,0], respectively.
#  Effectively, only one flight would be delayed.

# Ex: A=900, B=0, N=1
# A constant delay. All flights would be delayed exactly 900s.

# 1800 = 30 minutes.
B="$((15 * 60))"
A=0
N=1

source ./constants.sh

echo "constants"

tempfile="timers_scratch.txt"

if { cat "${subtitles}" | iconv -f "UTF-16LE" -t UTF-8 | grep -q "Escorted" ; } ; then
    echo "escort or escorted"
    SECOND_FLIGHT=true
fi

if cat "${subtitles}" | iconv -f "UTF-16LE" -t UTF-8 | grep -q "Rendezvous with" ; then
    echo "player is escort."
    IS_ESCORT=true
fi
PLAYER_FLIGHT=$(cat "${subtitles}" | iconv -f "UTF-16LE" -t UTF-8 | grep "stationed at" | sed "s/.*<br>\(.*\) stationed at.*/\1/")
if [[ "$SECOND_FLIGHT" == "true" ]] ; then
    ESCORT_NAME=$(cat "${subtitles}" | iconv -f "UTF-16LE" -t UTF-8 | grep "Escorted" | sed "s/.*of \(.*\)/\1/")
fi

exempt="$PLAYER_FLIGHT
$ESCORT_NAME"

grep "Name = \"Flight.*\";" "${mission}" | sort > "$tempfile"
sed -i "s/ *Name = \"Flight \(.*\)\";/\1/" "$tempfile"
eligible="$(comm -3 "$tempfile" <(echo "$exempt" | sort))"

# delete any empty lines, and sort things.
eligible="$(echo "$eligible" | sed -E '/^[[:space:]]*$/d' | shuf)"

echo "eligible"
echo "$eligible"
echo ""

i=0
index=$(sed -n -re '/Index\s*=/s/Index\s*=\s*([0-9]*);/\1/p' "${mission}" | sort -nr | head -n 1)
echo "max index: $index"

while read f ; do

echo "$i: Adjusting ${f?}"
# prevent div by zero
B=$((B > 0 ? B : 1))
if (( N > 0)); then 
NT=$(( i * B + ($RANDOM % B) + A ))
else
NT=$A
fi
# Always at least a 1s delay. This lets us collapse the first interval to nothing, if A is negative.
if (( NT < 1 )); then
NT=1
fi
# parser seems to require a decimal point and stuff.
NT=$(printf "%.1f" $NT)
echo "$NT"

# It's most convienient to find the line number this way, so we don't need to escape anything.
ln=$(grep -F -n -m 1 "Name = \"Flight $f\";" "${mission}" | cut -d ':' -f 1)

edscript="${ln?}
/Mission Begin Timer/
/Time *= /s/= .*;/= $NT;/
p
w
q
"

echo "$edscript" | "$ed" "$mission"

# Now the hard part... we need to:
# Find the CZ Activate timer for the first waypoint. Record its outputs, and then replace them with []
# Also record its id.
# Record the position of CZ.
# Insert the new logic, with CZ Activate Retry Timer pointing at CZ Activate Timer and DV overlapping CZ.
# update CZ Activate timer to point at DV, CZ Activate Exclusion Timer.
# update CZ Activate Exclusion Timer to point at the targets recorded from CZ Activate Timer.

edscript="${ln?}
/Name *= *\"VWP Group Virtual WP Check Zone\";/
/Name *= *\"CZ Activate Timer\";/
-1
.w ${tempfile}
/Targets *=/
.W ${tempfile}
s/Targets *= *\[.*\];/Targets = [$((index + 1)),$((index + 2))];/

${ln?}
/Name *= *\"VWP Group Virtual WP Check Zone\";/
/Name *= *\"CZ\";/
?Index?
.W ${tempfile}
/Objects/
n
.W ${tempfile}
/XPos/
.W ${tempfile}
/ZPos/
.W ${tempfile}
w
q
"

echo "${edscript}" | "${ed}" "${mission}"

CZ_ACTIVATE_TARGET=$(sed -n -re '1s/.*Index\s*=\s*([0-9]*);/\1/p' "$tempfile")
RECEIVED_ACTIVATION_TARGETS=$(sed -n -re '2s/.*Targets\s*=\s*\[([0-9,]*)\];/\1/p' "$tempfile")
CZ_TARGET=$(sed -n -re '3s/.*Index\s*=\s*([0-9]*);/\1/p' "$tempfile")
CZ_OBJECTS=$(sed -n -re '4s/.*Objects\s*=\s*\[([0-9,]*)\];/\1/p' "$tempfile")
CZ_XPOS=$(sed -n -re '5s/.*XPos.*=\s*([0-9.]*);/\1/p' "$tempfile")
CZ_ZPOS=$(sed -n -re '6s/.*ZPos.*=\s*([0-9.]*);/\1/p' "$tempfile")

echo "CZ_ACTIVATE_TARGET: ${CZ_ACTIVATE_TARGET?}"
echo "RECEIVED_ACTIVATION_TARGETS: ${RECEIVED_ACTIVATION_TARGETS?}"
echo "CZ_TARGET: $CZ_TARGET"
echo "CZ_OBJECTS: $CZ_OBJECTS"
echo "XPOS: $CZ_XPOS"
echo "ZPOS: $CZ_ZPOS"

# Change: New activate object.
# Deactivate also needs to hit CZ, DZ.

CZ_EXTRA='
MCU_CheckZone
{
  Index = $((index + 1));
  Name = \"DZ\";
  Desc = \"\";
  Targets = [$((index + 4)),$((index + 3))];
  Objects = [${CZ_OBJECTS}];
  XPos = ${CZ_XPOS};
  YPos = 2166.000;
  ZPos = ${CZ_ZPOS};
  XOri = 0.00;
  YOri = 0.00;
  ZOri = 0.00;
  Zone = 10000;
  Cylinder = 1;
  Closer = 1;
}

MCU_Timer
{
  Index = $((index + 2));
  Name = \"CZ Activate Exclusion Timer\";
  Desc = \"\";
  Targets = [$((index + 5)),${RECEIVED_ACTIVATION_TARGETS}];
  Objects = [];
  XPos = 37333.840;
  YPos = 119.294;
  ZPos = 28875.117;
  XOri = 0.00;
  YOri = 0.00;
  ZOri = 0.00;
  Time = 0.5;
  Random = 100;
}

MCU_Timer
{
  Index = $((index + 3));
  Name = \"CZ Activate Retry Timer\";
  Desc = \"\";
  Targets = [${CZ_ACTIVATE_TARGET}, $((index + 6))];
  Objects = [];
  XPos = 38327.075;
  YPos = 148.600;
  ZPos = 30737.611;
  XOri = 0.00;
  YOri = 0.00;
  ZOri = 0.00;
  Time = 30;
  Random = 100;
}

MCU_Deactivate
{
  Index = $((index + 4));
  Name = \"Stop Activation\";
  Desc = \"\";
  Targets = [$((index + 1)),$((index + 2)),${CZ_TARGET}];
  Objects = [];
  XPos = 37105.612;
  YPos = 139.753;
  ZPos = 30183.673;
  XOri = 0.00;
  YOri = 0.00;
  ZOri = 0.00;
}

MCU_Deactivate
{
  Index = $((index + 5));
  Name = \"Confirm Activation\";
  Desc = \"\";
  Targets = [$((index + 1))];
  Objects = [];
  XPos = 37623.060;
  YPos = 129.043;
  ZPos = 30078.284;
  XOri = 0.00;
  YOri = 0.00;
  ZOri = 0.00;
}

MCU_Activate
{
  Index = $((index + 6));
  Name = \"Reactivation\";
  Desc = \"\";
  Targets = [$((index + 1)),${CZ_TARGET}];
  Objects = [];
  XPos = 37105.612;
  YPos = 139.753;
  ZPos = 30183.673;
  XOri = 0.00;
  YOri = 0.00;
  ZOri = 0.00;
}
'

# Insert the modified items at the start of the group.
cze=$(eval "echo \"$CZ_EXTRA\"")
edscript="${ln?}
/Name *= *\\\"VWP Group Virtual WP Check Zone\\\";/
/Desc *= *\\\"Self Deactivating CZ\\\";/a
$cze
.
w
q
"
echo "$edscript"
echo "$edscript" | "${ed}" "${mission}"

((index += 6)) # number of items in CZ_EXTRA
(( i += 1 ))
if (( N > 0 )); then (( i %= N )); else ((i = 0));  fi

done <<< "$eligible"

SUCCESS=true
echo "Done"

 

constants.sh (you'll need to customize the paths in this file)

#! /bin/sh

export ed="/c/cygwin64/bin/ed.exe"
export PWCGInput="/e/SteamLibrary/steamapps/common/IL-2 Sturmovik Battle of Stalingrad/PWCGBoS/BoSData/Input"
export PWCGCampaigns="/e/SteamLibrary/steamapps/common/IL-2 Sturmovik Battle of Stalingrad/PWCGBoS/User/Campaigns"

export sds="/e/SteamLibrary/steamapps/common/IL-2 Sturmovik Battle of Stalingrad/data/Multiplayer/il2dserverCoop.sds"


 

resave.sh:

 

#! /bin/bash


root="/e/SteamLibrary/steamapps/common/IL-2 Sturmovik Battle of Stalingrad"

mission="${1}"
echo "resaving ${mission}"


cd "${root}/bin/resaver" || exit
resaver="${root}/bin/resaver/MissionResaver.exe"
data="${root}/data/"
"${resaver?}" -d "$(cygpath -a -w "${data?}")" -f "$(cygpath -a -w "${mission?}")"

echo "done"
sleep 1

 

----

 

Usage: drop these into .sh files in some directory. Update constants.sh, as well as the `root` path in `resave.sh`. Update constants A, B, and N in `timers.sh`. Install `cygwin`, make sure to install the `ed` package. Install `git-for-windows`, and tell it to associate with `.sh` files during the installer (Yes, this is terrible, but I happened to have both already and couldn't be bothered to target any platform less stupid). Configure PWCG not to bother resaving missions. Then take the generated .mission file, drag it onto `timers.sh` to tweak start timers, and then onto `resave.sh` and watch to make sure it succeeded.

 

Edited by Charon
  • 3 weeks later...
Posted

First time trying out PWCG - doing a 1941 start with Normandy map, created a mission which created a flight patrol mission near the top right of the map. Can't do the mission unfortunately because right away after take away the first intercept objective is in a out of mission area zone. Had to scrub the mission... Because I'm not sure if this is a regular occurrence I will stick with the vanilla career mode for now. 

Posted
21 hours ago, WildRover said:

First time trying out PWCG - doing a 1941 start with Normandy map, created a mission which created a flight patrol mission near the top right of the map. Can't do the mission unfortunately because right away after take away the first intercept objective is in an out of mission area zone. Had to scrub the mission... Because I'm not sure if this is a regular occurrence I will stick with the vanilla career mode for now. 

You can alter mission waypoints on the planning map by dragging them in one of the steps to create a mission. 

PatrickAWlson
Posted
On 2/22/2024 at 1:18 PM, No105_Swoose said:

You can alter mission waypoints on the planning map by dragging them in one of the steps to create a mission. 

 

Too late.  1 post and he's gone :) 

  • Haha 1
Posted (edited)

Flying an RAF campaign currently end of July 44 in Normandy. In several consecutive CAP missions with 6 aircraft including me, soon after takeoff two pilots seemingly lose control of their Spitfire IXe, the planes spin down into the drink while the pilots bail out safely. Have had a couple CAP’s with 4 or 5 planes and none crash but each time there are 6 of us two spin out of control and the pilots jump. 
 

Any idea if this is normal or is there something going on with those missions?  

Edited by TheSNAFU
Posted (edited)

I believe that is a long-standing game bug, AI wingman seem to cook their engines trying to stay in formation with the AI leader and then bail. May work better if you lead?

 

 

Edited by Stonehouse
  • Upvote 1
PatrickAWlson
Posted
15 hours ago, TheSNAFU said:

Flying an RAF campaign currently end of July 44 in Normandy. In several consecutive CAP missions with 6 aircraft including me, soon after takeoff two pilots seemingly lose control of their Spitfire IXe, the planes spin down into the drink while the pilots bail out safely. Have had a couple CAP’s with 4 or 5 planes and none crash but each time there are 6 of us two spin out of control and the pilots jump. 
 

Any idea if this is normal or is there something going on with those missions?  

 

I can't do anything once they are airborne.  Or, if I can, I don't know what it is.  I intentionally use "loose formation" for everything, but loose formation in IL2 really isn't all that loose.

 

@Stonehouse Per cooking engines: I have waypoint speeds and altitudes set.  Am I making them climb too hard?  PWCG is often accused of having cruise speeds too low (or too high, almost never just right :) ).  

 

If somebody can give me a list of planes with cruise speeds and cruise climb rates (and what speed is needed to achieve those climb rates) then I can play with the plane data to make the WPs manageable.  Right now I simply do not know what will make the AI happy.  I would prefer it if 1C, who presumably do know what will make the AI happy, would code their leader to fly within parameters that would allow formation to be kept.

  • Upvote 1
Posted (edited)
2 hours ago, PatrickAWlson said:

 

17 hours ago, TheSNAFU said:

Flying an RAF campaign currently end of July 44 in Normandy. In several consecutive CAP missions with 6 aircraft including me, soon after takeoff two pilots seemingly lose control of their Spitfire IXe, the planes spin down into the drink while the pilots bail out safely. Have had a couple CAP’s with 4 or 5 planes and none crash but each time there are 6 of us two spin out of control and the pilots jump. 
 

Any idea if this is normal or is there something going on with those missions?  

 

I can't do anything once they are airborne.  Or, if I can, I don't know what it is.  I intentionally use "loose formation" for everything, but loose formation in IL2 really isn't all that loose

 

Yeah I wasn’t sure it was a pwcg issue as I’ve not experienced in US campaigns. This is the first RAF campaign I’ve ever played. Thanks Pat. 

Edited by TheSNAFU
Posted
5 hours ago, PatrickAWlson said:

list of planes with cruise speeds

FYI in case it helps there is a line in the info.text file for each aircraft in data\swf\il2\worldobjects\planes\ that quotes cruise speed.

 

eg a20b 

&cruiseSpeed=380

 

and also in data\luascripts\ai there is a file for each aircraft and in the file there is a performance and a cruise section quoting min cruise CAS and max climb CAS.

 

 

image.png.2d7a6eb9972a8e6d5886042f9a6355b6.png

 

So 

  • Thanks 1
Posted

@PatrickAWlson Along with other people I've actually reported the bug with the Spit IX and provided tracks etc. From what I could see it seemed like the AI wingmen would drift back in the formation, go to full power to regain position, cut the power to something very low to avoid overtaking, drift back etc. After a few mins of doing this, they break their engine. This is with an AI lead. I'm not sure if the situation is better with a human lead but I do know AI leads tend to be erratic so a human might keep their AI wingmen in play for longer.

 

Anyway, it may well be an AI thing coupled with an engine sensitive to abuse. IE It's probably worth your time making use of the game values I mentioned as it is an improvement and make things more predictable for you plus reduce support issues for you a little, but it may well not fix the problem of the Spitfire IX. I believe the values I've indicated/mentioned are in km/h. 

  • Upvote 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...