Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Pushover

Pages: [1] 2 3 ... 18
1
Modding / [0.8.1a] Bug with replacing rulecmd scripts in jar file
« on: May 04, 2018, 01:01:25 AM »
Not sure if this belongs in the modded support, since this seems to be a bug related to writing a mod?

I have a replacement for NGCAddStandardStartingScript.java in my (total conversion) mod's jar file, but it does not appear to get called. Instead, the base game's NGCAddStandardStartingScript is getting called.


I am trying to rebuild the sector entirely. I can successfully remove almost all the systems, but Galatia is a minor problem, since it is used by the tutorial and NGCAddStandardStartingScript (and rules.csv). When I remove Galatia from SectorGen (and economy.json), I get the following error:

Code
55054 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain  - java.lang.NullPointerException
java.lang.NullPointerException
at com.fs.starfarer.api.impl.campaign.rulecmd.NGCAddStandardStartingScript$1.run(NGCAddStandardStartingScript.java:89)
at com.fs.starfarer.campaign.save.CampaignGameManager.super(Unknown Source)
at com.fs.starfarer.title.TitleScreenState.dialogDismissed(Unknown Source)
at com.fs.starfarer.ui.N.dismiss(Unknown Source)
at com.fs.starfarer.ui.impl.O0oO.dismiss(Unknown Source)
at com.fs.starfarer.campaign.save.if.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.supernew.o00000(Unknown Source)
at com.fs.starfarer.ui.oooO.processInput(Unknown Source)
at com.fs.starfarer.ui.Stringsuper.o00000(Unknown Source)
at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

This makes sense, since the code being run in com.fs.starfarer.api.impl.campaign.rulecmd.NGCAddStandardStartingScript.java is as follows:
Code
88					StarSystemAPI system = Global.getSector().getStarSystem("galatia");
89 PlanetAPI ancyra = (PlanetAPI) system.getEntityById("ancyra");
Since I removed Galatia, system is null, so I get a NPE.

However, inside my jar file I have a replacement to com.fs.starfarer.api.impl.campaign.rulecmd.NGCAddStartingStandardScript.java. From my understanding, anything in my jar file should replace the game's version of the file (as data.scripts.world.SectorGen.java gets replaced by my jar file). This does not appear to be the case, since in my modified version of NGCAddStartingStandardScript, line 89 is just a curly brace, and the game keeps crashing with the same error (same line).


My workaround is to create a NGCAddStartingStandardScript2.java, which is an exact copy of my version of NGCAddStartingStandardScript.java, and change my rules.csv to call this instead of NGCAddStartingStandardScript. This is working, which implies to me that NGCAddStartingStandardScript is not getting replaced by my jar file.

I can provide the source files to my mod if needed.

2
Mods / Re: [0.8a]STEELCLAD v0.2 (Ironclads revival) - 21.5.2017
« on: May 25, 2017, 03:25:08 AM »
OK, after turning the AI into the remanant (basically, the remnant variants are part of the AI faction) and the derelict into the alines (the survey ship ship class/group in the faction file actually points to the alien mothership and all the ships variants are also alien ships) the game crashes because it cannot find the "warden" variant.

There is no warden ship in any file anywhere I see.  ???
The Warden is one of the vanilla Domain drones. See CoreLifecyclePluginImpl, there is a pickShipAI that gives the ship different AI if it is a Domain drone. You can maybe override it, but not exactly sure.

3
General Discussion / Re: .8 feedback thread
« on: May 21, 2017, 02:37:01 PM »
The best way I found to wait for ships is to take procurement missions. Hybrasil has a lot of possibility to get in-system missions, and has a good variety of goods to take out of system. Waiting for the missions/doing them takes a few days, so you can check back once you finish a mission or two.

4
Mods / Re: [0.8a]STEELCLAD v0.1 (Ironclads revival) - 15.5.2017
« on: May 21, 2017, 02:19:18 PM »
It's all confusing.

derelict_survey_mothership seems to be a combat group defined in hte faction file, and in it is the station_derelict_survey_mothership_Standard.variant, itself defined in the stations folder

But rules csv seems to call other things

Code
# Descriptions of automated defenders,,,,,,
sal_printDefaultDefenders,TriggerAutomatedDefenses,,SalvageDefenderInteraction,"As your $shipOrFleet moves in closer, new energy signatures are detected near the $shortName.",,
sal_printDebrisDefenders,TriggerAutomatedDefenses,$customType == debris_field_shared,SalvageDefenderInteraction,"As your $shipOrFleet moves in closer, new energy signatures are detected near a larger pieces of debris.",,
sal_triggerProbeDefenders,TriggerAutomatedDefenses,$customType == derelict_probe,SalvageDefenderInteraction,"As your $shipOrFleet moves in closer, several energy signatures are detected coming online inside the probe's hold.",,
sal_triggerSurveyShipDefenders,TriggerAutomatedDefenses,$customType == derelict_survey_ship,SalvageDefenderInteraction,"As your $shipOrFleet moves in closer, multiple energy signatures are detected coming online from various points on and within the flayed hull of the survey ship.",,
sal_triggerMothershipDefendersBoth,TriggerAutomatedDefenses,"$customType == derelict_mothership
$hasStation

Can't find derelict_probe or derelict_survey_ship defined anywhere in any shape or form.
I'm looking into the Starfarer.api.zip, but still can't find DerelictThemeGenerator or SalvageDefenderInteraction....
Those are defined in custom_entities.json, they refer to the campaign map objects that you interact with.

5
Mods / Re: [0.8a]STEELCLAD v0.1 (Ironclads revival) - 15.5.2017
« on: May 20, 2017, 05:25:50 PM »
Can't find where the procgen remnant/derelict spawning is defined.

I had just hoped to replace the remnant/derelict stations with AI/Alien stations, but no luck yet.


Guess I can re-name alien/AI in the files to derelict/remnant, thus having them spawn... will try making a remnant_station set to being AI faction and see how it goes.

It's defined in DerelictThemeGenerator. If you want to use it, you will need to need a derelict faction, as the faction is hardcoded. The defense encounter is in rules.csv/SalvageDefenderInteraction.java

6
Mods / Re: [0.8a]STEELCLAD v0.1 (Ironclads revival) - 15.5.2017
« on: May 20, 2017, 03:17:02 AM »
Got the rules.csv file working for starting the game, at least. See attached.

I copied the current vanilla rules.csv file, cut out the new game starting options, and replaced them with the ones you provided. I then replaced instead of append in mod_info.json (in general, replace should be used over append with a TC IMO)
I had some trouble with setStartingRep.java compiling that I never resolved, but since you cut it out of the rules.csv, it's unneeded and I deleted it.
I had to doctor the rules a bit to fix some minor issues (extra line with a blank space in it caused a crash, aptitude points no longer exist).

I just tested your rules.csv


Code
4842 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain  - org.json.JSONException: JSONObject["id"] not found.
org.json.JSONException: JSONObject["id"] not found.
at org.json.JSONObject.get(JSONObject.java:406)
at org.json.JSONObject.getString(JSONObject.java:577)
at com.fs.starfarer.loading.LoadingUtils.o00000(Unknown Source)
at com.fs.starfarer.campaign.rules.Rules.o00000(Unknown Source)
at com.fs.starfarer.loading.SpecStore.OO0000(Unknown Source)
at com.fs.starfarer.loading.ResourceLoaderState.init(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

What the...?

Was this on load? Or was this when trying to generate a new game? Just in case somehow I had not saved the csv when I attached it or something, see attached? For me, with my mod_info I get to the main screen.

Someone needs to modify a lot of the rules.csv for the dialogue for fleet greetings and such.

[attachment deleted by admin]

7
Having an asset manager is really a game design decision. The question is really 'how else do you solve the problem of loading all the assets?'

You need some way to load all the files before they are needed, or else you get laggy gameplay. It can save programming time in that you don't need to type out long paths.

You could dynamically load everything in the asset folders, but that leads to extra memory usage. Some discussion on it:

https://gamedev.stackexchange.com/questions/1506/why-use-asset-manifest-files

At this point, it's far enough in that moving away from the system would be a lot of work.

There are other solutions, this is one that works, and like many solutions, has its pros and cons.

8
Mods / Re: [0.8a]STEELCLAD v0.1 (Ironclads revival) - 15.5.2017
« on: May 19, 2017, 01:11:42 AM »
Looks like you need to modify custom_entities.json and figure out what to do with the probe, survey ship, and mothership, since the procgen is trying to create these and crash. We will need the derelict faction or something similar, or to rewrite the procedural generation, or possibly not use it, since it creates various custom entities that you will need to redefine.

9
Mods / Re: [0.8a]STEELCLAD v0.1 (Ironclads revival) - 15.5.2017
« on: May 19, 2017, 12:02:09 AM »
System generation is now error free.
Note that despite this, the game still does not run. Vanilla procedural generation still runs, and crashes because the derelict faction does not exist (and I am sure it will crash for a host of other reasons).

Few things that I need your input on or you did not include:
Line 51 of Shelezyaka.java:
Code
a1.getSpec().setGlowTexture(Global.getSettings().getSpriteName("hab_glows", "stal"));
The graphic "stal", I can't find anywhere. I've replaced it with "barren" for now. If you want to add it, make the proper entry in settings.json, and then you can reference it.

Similar issue again in Grant.java:
Code
simpson.setInteractionImage("illustrations", "simpson");
"simpson" is not an image I found anywhere. Replaced with urban01 for now. Same exists with Gianopolis.java with "vella"

Code
uomoz_scrapyard.setInteractionImage("illustrations", "orbit");
orbit does not exist. Did you mean orbital? terran_orbit? Assumed orbital.

Code
SectorEntityToken centronom_nebula = Misc.addNebulaFromPNG("data/campaign/terrain/centronom_nebula.png",
centronom_nebula is missing. Commented out the lines for now. Same with Gianopolis.

Adra.java:
Code
relay.setCircularOrbitPointingDown(system.getEntityById("zagan"), 120, 5500, 220);
Needs an existing entity to orbit. Chose "unity" for now.

Kores.java:
Code
SectorEntityToken probe = DerelictThemeGenerator.addSalvageEntity(system, Entities.DERELICT_SURVEY_PROBE, Factions.DERELICT);
Derelict faction does not exist. Changed to pirate for now. Either add the derelict faction or assign a better faction to the probe.

Impalo.java
Code
PlanetAPI horizon = system.addPlanet("horizon", impalo_star, "Horizon", "rocky", 220, 160, 4300, 180);
Rocky does not exist. Replaced with rocky_ice for now.

Thule.java: Who owns the system (and the comm relay?) I gave it to pirates.

Various other common errors fixed. Most common is probably that faction names are capitalized when referred to in a string (not "isa", "ISA" is correct)

Changed files are attached. Complete list of changed files below:
Spoiler
       new file:   data/config/settings.json
        modified:   data/campaign/rules.csv
        modified:   data/config/custom_entities.json
        modified:   data/scripts/world/EMPTY/Thule.java
        modified:   data/scripts/world/EMPTY/Valhalla.java
        modified:   data/scripts/world/EMPTY/Zero.java
        modified:   data/scripts/world/FFS/Adra.java
        modified:   data/scripts/world/FFS/Impalo.java
        modified:   data/scripts/world/FFS/Kores.java
        modified:   data/scripts/world/ISA/Argos.java
        modified:   data/scripts/world/ISA/Grant.java
        modified:   data/scripts/world/ISA/Shington.java
        modified:   data/scripts/world/RSF/Barnard.java
        modified:   data/scripts/world/RSF/Gagarin.java
        modified:   data/scripts/world/RSF/Lomonosov.java
        modified:   data/scripts/world/RSF/Shelezyaka.java
        modified:   data/scripts/world/RSF/Vega.java
        modified:   data/scripts/world/UIN/Achiles.java
        modified:   data/scripts/world/UIN/Centronom.java
        modified:   data/scripts/world/UIN/Gianopolis.java
        modified:   data/scripts/world/VNS/GammaDraconis.java
        modified:   data/scripts/world/VNS/Vaynar.java
        modified:   data/scripts/world/XLE/Procyon.java
        modified:   data/scripts/world/XLE/Uomoz.java
        modified:   mod_info.json
[close]

EDIT:
It seems like removing the procgen plugin in settings.json solves part of the problem, but some parts still seem to be running and causing crashes. Seems likely due to the stuff you are trying to spawn in the various files.

[attachment deleted by admin]

10
Suggestions / Re: Stronger [Redacted]
« on: May 18, 2017, 03:07:02 PM »
SO Lasher is great. The phase skimmer ships lose the flux war and you just run them over. The other one is more dangerous due to the Ion Pulser's high damage. If you keep out of the range and snipe with the LAGs until flux reaches 25% or so, you can win the flux war. My preferred setup is a Hammerhead to hold the line, and a SO Lasher to pick off frigates 1 by 1.

11
Mods / Re: [0.8a]STEELCLAD v0.1 (Ironclads revival) - 15.5.2017
« on: May 18, 2017, 02:01:06 AM »
Nevermind, figured it out, you were using the variable name instead of the planet's ID for the orbit of the alien station, just the error was pointing to a strange line as to where it was failing.

Onward to the next errors!

I need a modified settings.json file to access the images you have provided. (see the illustrations object as well as hab_glows)

Most of this is fairly straightforward debugging, fortunately.



I guess at this point I should either give you a diff, or just pack and send you the modified files when I get through it all.

12
Mods / Re: [0.8a]STEELCLAD v0.1 (Ironclads revival) - 15.5.2017
« on: May 17, 2017, 08:33:14 PM »
You have this code in Barnard.java:
Code
        system.addRingBand(p3, "misc", "rings1", 256f, 1, new Color(75, 37, 15, 179), 256f, 700, 110f);
        system.addRingBand(p3, "misc", "rings1", 256f, 0, new Color(75, 49, 26, 179), 256f, 800, 115f);
        system.addRingBand(p3, "misc", "rings1", 256f, 0, new Color(75, 49, 26, 50), 256f, 900, 115f);
        system.addRingBand(p3, "misc", "rings1", 256f, 2, new Color(75, 49, 26, 50), 256f, 1100, 115f);
        system.addRingBand(p3, "misc", "rings1", 256f, 3, new Color(75, 49, 26, 179), 256f, 1200, 115f);

Vanilla no longer seems to make this call, for example, the code has the following in Aztlan.java:
Code
			//system.addRingBand(aztlan2, "misc", "rings1", 256f, 3, Color.white, 256f, 500, 30f);
system.addRingBand(aztlan2, "misc", "rings_dust0", 256f, 3, Color.white, 256f, 500, 33f, Terrain.RING, null);
Replacing those lines gets further in the generation, but there's a lot of issues.

Next up, it looks like Vega.java references the world type of "rocky" which has been replaced by things like "rocky_metallic".
Also, you try to set up a comm relay for the Hegemony in there.

Lomonosov attempts to create a planet of type "ice" instead of "frozen". The alien base has a duplicate id with the asteroid mining station (in custom_entities.json). It also tries to spawn for the "Alien" faction, instead of "ALIENS"
After that, Lomonosov still fails on the call to autogenerateHyperspaceJumpPoints, and I'm not sure why.

13
Mods / Re: [0.8a]STEELCLAD v0.1 (Ironclads revival) - 15.5.2017
« on: May 17, 2017, 02:10:23 AM »
Got the rules.csv file working for starting the game, at least. See attached.

I copied the current vanilla rules.csv file, cut out the new game starting options, and replaced them with the ones you provided. I then replaced instead of append in mod_info.json (in general, replace should be used over append with a TC IMO)
I had some trouble with setStartingRep.java compiling that I never resolved, but since you cut it out of the rules.csv, it's unneeded and I deleted it.
I had to doctor the rules a bit to fix some minor issues (extra line with a blank space in it caused a crash, aptitude points no longer exist).

However, the game fails to create the sector. There should be a planets.json (in data/config), but there is not one provided, so barnard_star_red_dwarf is not recognized.
Code
		PlanetAPI barnard_star = system.initStar("barnard", // unique id for this barnard_star 
"barnard_star_red_dwarf",  // id in planets.json
    400f,   // radius (in pixels at default zoom)
    600); // corona radius, from barnard_star edge

[attachment deleted by admin]

14
Mods / Re: [0.8a]STEELCLAD v0.1 (Ironclads revival) - 15.5.2017
« on: May 16, 2017, 02:56:09 AM »
You can try the fix in the attachment. Don't know if both files will be needed. I couldn't test it yet.



ALSO:
With the fighter changes (fighters tied to carriers), factions don't really work as they are supposed to. The ISA is supposed to be fighter-heavy, but they have only one carrier. Methinks I'll have to make a new ISA ship or give other ships a hangar.
Their BB just became a lot more beastly with the addition of 3 fighter bays. Balance is out of whack.
Tried the fix, didn't work even after modifying mod_info.json. Are you planning to append to the default mod_info, or replace it entirely?

15
I had the largest battle size on, deployed a Paragon and 2 Astrals, made fairly quick work of it. A giant swarm of Sparks protects my ship from any real damage. Probably doable with 2 Astrals.

Pages: [1] 2 3 ... 18