Hmm, are compressed saves supported? I know they're turned off by default, but will they cause nullpointer exception like this (which seem to be a bug in Exerelin itself caused by a boarding attempt right before finishing loading)?
Spoiler
java.lang.NullPointerException
at data.scripts.world.exerelin.SystemManager.getSystemManagerForAPI(SystemManager.java:117)
at data.scripts.world.exerelin.ExerelinUtils.boardStationAttempt(ExerelinUtils.java:887)
at data.scripts.world.exerelin.InSystemStationAttackShipSpawnPoint$1.run(InSystemStationAttackShipSpawnPoint.java:151)
at com.fs.starfarer.campaign.ai.CampaignFleetAI.advance(Unknown Source)
at com.fs.starfarer.campaign.fleet.CampaignFleet.advance(Unknown Source)
at com.fs.starfarer.campaign.BaseLocation.advance(Unknown Source)
at com.fs.starfarer.campaign.CampaignEngine.advance(Unknown Source)
at com.fs.starfarer.campaign.save.CampaignGameManager.super(Unknown Source)
at com.fs.starfarer.title.B.dialogDismissed(Unknown Source)
at com.fs.starfarer.ui.K.dismiss(Unknown Source)
at com.fs.starfarer.ui.impl.oooO.dismiss(Unknown Source)
at com.fs.starfarer.campaign.save.LoadGameDialog.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.O00o.o00000(Unknown Source)
at com.fs.starfarer.ui.OOoO.processInput(Unknown Source)
at com.fs.starfarer.ui.O00o.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.O.processInput(Unknown Source)
at com.fs.starfarer.ui.o0ooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO$Oo.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.O.processInput(Unknown Source)
at com.fs.starfarer.ui.oOo0.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.oOo0.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.o0ooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.O.processInput(Unknown Source)
at com.fs.starfarer.ui.oOo0.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.oOo0.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.O.processInput(Unknown Source)
at com.fs.starfarer.ui.oOo0.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.oOo0.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.O.processInput(Unknown Source)
at com.fs.starfarer.D.I.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.O.processInput(Unknown Source)
at com.fs.starfarer.ui.oOo0.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.oOo0.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.K.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.O.processInput(Unknown Source)
at com.fs.starfarer.ui.oOo0.dispatchEventsToChildren(Unknown Source)
at com.fs.starfarer.ui.oOo0.processInputImpl(Unknown Source)
at com.fs.starfarer.ui.O.processInput(Unknown Source)
at com.fs.starfarer.title.B.o00000(Unknown Source)
at com.fs.starfarer.new.øÒÒ000(Unknown Source)
at com.fs.super.A.Ò00000(Unknown Source)
at com.fs.starfarer.combat.D.super(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$2.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
My Exerelin version is 0.623 btw.
P.s.: if it's unrelated to compressed saves I can upload my (compressed) save files, if you wish.
Compressed save games had a higher chance of OutOfMemory'ing on saving a game, where if the file is uncompressed it would usually only OutOfMemory on game load. If the game crashes while saving, the save game file is unrecoverable. So, I set save games to be uncompressed as most people can simply increase the memory allocation to StarSector to get around the problem; no one can fix corrupt save files
Your NullPointerException isn't due to compressed saves, rather there is a current issue (kind of with Exerelin, kind of with StarSector) where game scripts will be run prior to the LoadGame function ending, which can cause some scripts to crash like you see here. I was hoping I had caught all the places this was an issue but apparently not
Happily this won't occur in the next version of StarSector, and the next version of Exerelin should be a bit more robust in this area as well.
If you feel up to it you could edit the ExerlinUtils.java file at line 886 like so:
StarSystemAPI starSystemAPI = (StarSystemAPI)fleet.getContainingLocation();
if(starSystemAPI == null)
return false; // Game hasn't finished loading so abort board attempt till following day
SystemManager systemManager = SystemManager.getSystemManagerForAPI(starSystemAPI);
which should fix your issue
i think there should be a call for factions to have their own mining ship designs and small cargo ships...neutrino has their own atlas freighter....why not make everything unique...id say it on their pages but it would be a pain to type them all up
Yeah while that would fit with the Exerelin mod (as it currently is) I'm not sure what faction modders plans are for their factions, they may wish to just use the Vanilla versions of those ships until the Vanilla industry gameplay is expanded upon
Creating new ships (even just mining/cargo ships) is a lot of work
^ seconded. It'd be also cool for the two mining lasers in existence - the small and the medium energy mounts - to allow ships with them mounted to pick up supplies from asteroids.
Yeah I'll look at adding this to the next release
This may be a easier compromise to implement Lopunny's suggestion above; just create a variant with mining lasers to be used as a stand-in mining ship.