Intercontinental Rocketry


Fork of Intercontinental Rocketry Settings allow you to specify the how many copies of each planet you want (up to 20 copies of the original planet) Also includes support for some modded planets (for additional mod support please open a discussion) Sales pitch - Every planet in Space Age, generates additional subplanets, allowing you to start fresh with any planet at any time.

Content
4 months ago
2.0
830
Factorio: Space Age Icon Space Age Mod
Planets

i Other planet mods

4 months ago

Hi, I've been working on modifying a version of this on my side to make it work with a variety of other planet mods for a multiplayer playthrough where we each get our own copy, but I've been running into a couple issues with some mods due to them doing a check for that specific surface name, and that check failing when the surface' name has the alpha or beta or whatever appended.
I've been able to "fix" this in an extremely hacky way by modifying the other planet mods that have this issue to instead check for surface or surface-alpha etc but it feels real dumb cause I'm hardcoding it and updating mods would also be a pain, so I was wondering if you might have any ideas on how to better fix this - I don't mind implementing it myself if you have an idea, but I'm not majorly experienced in lua scripting so I'm not sure where to start.
Its also a bit of an issue because while doing that hard coding might work for the visual stuff I can see (and even then, I haven't been able to get cerys to work through hardcoding it in yet), I have been wondering if there might also be some behind the scenes stuff that's breaking as a result of the surface name not being the expected name
As a side note, I think when this mod was originally made the satellite classification for planets might not've existed, and as such satellites seemed to be causing a crash on the planet discovery tech section - I simply added an extra check for type not equal to satellite and that seemed to fix it
Either way, thanks in advance!

4 months ago

I will have to look into this on sunday, but I think we can find a practical solution

4 months ago

Sounds good, if you need me to test anything let me know!
Also, if you're going to take a look at it anyways, would you also want to take a look at a couple other issues I found that I hadn't gotten around to attempting to fix yet? They're all related to the positioning on the space map and aren't gamebreaking but they are a little weird visually - for some of them I think I know the cause, for the others I'm really not sure.

4 months ago

Sure, the positioning is one of the weird points, especially with new planet mods.

4 months ago
(updated 4 months ago)

Sweet! So, as far as I can tell the visual issue tends to happens whenever one planet is set to be orbiting another planet, but only if they aren't also set as a satellite (although that can cause issues with overlapping name tags but that's fine) - it looks like they remain as satellites correctly in orbit around their parent planet (side note, if it's possible and doesn't screw up other things, setting the cloned planets to being satellites might be something to look at) - although it can just happen without it being a planet orbitting another planet
so to list the ones I've found and their issues: (my suspicion for most of these is that's its due to the mod setting the orbit as being around a certain object, but ICF changes that to instead be orbiting the sun, causing it to change positions but remain in the correct "formation, if that makes sense)
Metal and Star: when adding compat to any of the actual planets (Mirandus has no surface and as such needs no compat) the planets move to being substatiantially (visually) farther away from their intended location - any planet that I didn't add compat to remained in the correct location. In addition, just having intercontinental Rocketry enabled without modifying it moves the Stargate's location and I have no clue why
Secretas & Frozeta: weirdly enough, the opposite problem from M&S - when adding compat, Secretas (the gas giant with no surface that I didn't add compat for) move to a wildly incorrect location, while Frozeta remains where it should be
Muluna/Terra Palus: I haven't been able to replicate it anymore with muluna so I suspect some combo of mods I have might've been causing this one, but Terra Palus still does it - they're supposed to be moons in close orbit of their parent planet, but instead they're in a completely incorrect location.
Dea Dia System: same problem as Metal and Stars, the planets to which I add compatibility are in a very incorrect position
All the Starmap Nexuz planets that I have enabled (maraxsis, arrakis, corrundum, janus, tiber, tenebris prime, naufulglebunusilo): this one is actually probably the easiest fix - they have compat code in their mod that fixes the ones that were already in ICF when they released or made their compat but all the extra ones I added were I think adding their cloned planets to their original position in the solar system instead of their updated Nexuz location - easy enough to fix through adding in the compat for the extra planets into their compat though (although there's one other weirdness and that's the angle of the clones, but I assume that's probably harder to fix since nexuz doesn't give them a new object to orbit but instead just moves their locations out to far away and displays an image underneath to pretend they're orbiting a new system)

That's also not going into the absolute mess that is caused by also attempting to use organized solar system/redrawn space connections/cosmic social distancing (I think a decent amount of those issues would be fixed if you could define the planets as satellites of the originals since innately those mods ignore satellites when redrawing paths/changing distance from host planet but there's other issues with this that wouldn't be fixed, mainly that for some reason some planets(mainly satellites it appears) have their clones appear directly underneath them even though both this mod and cosmic social distancing should stop that from happening and some of the clones dont appear to have their tiers so they end up in the basic tier 0 location, in a line under the sun) (there's also the potential that having this mod load after those so it gets the updated locations of the planets could solve some of the issues)

Sorry for the long post lmao, figured giving you as much information as I've been able to discover might help you find a clean solution. Let me know if I can help with anything.

4 months ago

OK, finally got around to take a look at it.
Got a new version in, which depends on PlanetsLib which seems to work decently, even with stupid amounts of planets.
I will look at implementing the other planets mods you mentioned as well.

4 months ago

Nice, thanks! the new version does seem to work a lot better for all the visual stuff - no more weird moving around of their location, which is nice.
Good luck with managing to correctly make the other planets work. As far as I could tell, it would require either doing some extensive compat stuff to make it so if that mod is detected you run an entirely different worldgen that takes into account the alpha,beta whatnot, or somehow figuring out a way to make the planets have the same internal name - because from my searching and attempts to fix, the issue comes from the fact that a lot of planet mods have specific code that only runs if the surface' name is what they expect to be - so for example, for cerys it only runs the code that places the extra ice visual or the broken fission reactor if the surface' name is specifically 'cerys' - no matter what the external name is.
Sadly, I don't think that's possible (although if it somehow is possible that'd be a super easy fix - just give them all the same internal name and make the external one separate)

the other problem is that the whole "mod does a hardcoded check that the surface' name is specifically what it expects it to be" thing screws up more than just world gen sadly - continuing to use cerys as an example, in addition to it just not being doable cause you dont have the reactor, you also don't have the other key mechanic from the planet - the solar wind/charged particles flying in, or the planetary asteroids. I know when I was looking at cerys I realized just how much of their scripts rely on the hardcoded planet name and other than coding in a bunch of long compat rerunning all that code for the sub-planets, if having the same internal name isn't possible I had (and still have) no idea what you could do to solve it

4 months ago

Ye, cerys may be a bit much to get running but I will look into it, using planetlibs luckily solved most of the positioning problems so mods that don't involve actual hardcoded mechanics can be done fine now, even if they are moved like with nexuz location (although the mod load order doesn't work right now)
Ideally i wouldn't need to impelment every new planet but there is some stuff with how mods are loaded that makes that impossible

Oh yeah, currently the new planets are only tagged as satellites if the base planet is, so there may be positioning issues, on the other hand they are moved with the rearrangement mod. You think that works?

4 months ago

Yeah, I just wish there were a way to separate the surface' name without screwing everything up - part of me thinks there might be? since the surface name and the planet's name are two different things technically. (I only mention this cause I just gave it a quick look earlier today and for some reason all the sub-planets no longer have names - their internal name still shows up in editor mode, but their actual name is just empty in both the preview list and ingame, which made me think maybe there is a way to separate it) and yeah with regards to the mod load order probably need to ask the nexuz dev to remove their compat + dependency to remove the cyclical dependency and allow yours to load after it.

my other thought was something that I have no clue if you could do with lua, but might not work even if you could for a variety of reasons - if anything attempts to check the surface name, truncate out the alpha/beta/etc and leave only the base planet name

not really sure how you could guarantee your mod loads last without at least updating the optional dependencies though, maybe through final-fixes?

Overall looks fine, but I know the redrawn connections mod has a bool you can use to restrict a path from being drawn to it - maybe doing that might be better? it should in theory force all paths to redirect through the main planet and might end up looking a bit nicer than the 400 lines that get drawn otherwise

4 months ago

Oh ye, the no names thing is a settings, cause it may be unreadable with many planets. It just changes the localized name to empty so it doesn't show

New response