Open Calandiel opened 8 months ago
Alternatively. Make a launcher in love that lets you choose between the game and the generator and have the harmony mod simply remove all unnecessary buttons
Hi,
So, to continue our discussion from reddit, could you elaborate a bit in which form the world gen piece would have to be integrated? You mentioned it is closed source, so it must be in some binary form?
The plan is to use SotE 0.2 exe as a command line tool and call it on click of "Generate World" button from main game or launcher.
Ok, but then it is understood and accepted that this part can only be integrated "as-is" and any bugs it might contain cannot be fixed, nor its functionality extended with new features or improvements, since it is closed source, and not maintained anymore. Right?
No, as mentioned above, we can do harmony patches for it in which we can potentially improve parts of 0.2 and add some small features and fix some simple bugs.
So, if I understand correctly, some changes to 0.2 are still possible, but limited to what is open for modding?
Yes, but Harmony patches are actually very powerful, we can basically inject any C# code we want.
How would you inject code that fixes a hypothetical bug in the plate tectonics simulation?
I do not know about tectonic part, maybe @Calandiel knows more about it.
You wouldnt, tectonics are in C++, not in C#. You could at best make ad hoc fixed through post processing.
Anyhow, thats putting a cart before the horse. Right now theres nothing to fix as tectonics arent even usable to begin with in 0.3
It's my understanding that tectonics are a step in world gen. So, integrating the functionality from 0.2 into 0.3 as a sort of plugin would make it available in 0.3, but it would be as it is, with maybe some post processing, as you mentioned. Is that correct?
It's my understanding that tectonics are a step in world gen. So, integrating the functionality from 0.2 into 0.3 as a sort of plugin would make it available in 0.3, but it would be as it is, with maybe some post processing, as you mentioned. Is that correct?
Yes, thats correct. Well, the 0.2 world gen would be as is. It also does hydrology, soil generation, rock type assignment and so on.
I'm kind of surprised you wouldn't just convert it over to the new engine. If the issue is just that you don't have permission to open source the old code, rewriting it with the old code as reference seems like the most straightforward solution.
Is it just an issue of time? I know C++ and Lua pretty well, I could probably convert it over depending on how big it is
The work on porting the worldgen has been ongoing since January. If you look carefully through the closed PRs, you'll spot some related to worldgen.
This will require making a harmony mod, editing loader.c from 0.2 and setting up a build system for it that is still compatible with this repos GPL license.
Long term goal, should be done before "real" 0.3 Will likely need to be done largely by me but will require collaboration from Windows users as I don't have access to a Windows machine and SotE 0.2 runs only on Windows (going through wine is not an option here)