=GEMINI=IngegnerTommy Posted February 24, 2022 Posted February 24, 2022 Hello Everybody, As GEMINI squadron we’re working to create a new Dynamic Campaign engine for Multiplayer. Having found no existing tool, we decided to create that from zero. We experienced no difficulties on the log file read/decode (parsing) in order to be able to capture the events happening on the mission (inspired by the ploggy library created by the Coconut MP server guys), however now we’re at the stage where we need to adjust the following map based on the events of the previous one. We must then read the mission file, modify it and re-save it. So here are the question we hope you can help us with: 1) In which format is the file mission serialized? 2) Is it a standard serialization, or a custom one? We tried with YAML (which seems to be the closest one) but it does not seem to work Any info could be of great help. Note: we are programming in C# language. Thank you in advance! =GEMINI= squadron 2
IckyATLAS Posted February 24, 2022 Posted February 24, 2022 (edited) That's a great project. It could also be used for scripted campaigns. Good luck. However you may hit some limits as internal information is not disclosed by Jason. Recent tries to modify and improve existing maps hit a warning sign from him. Between understanding how things works and retro-engineering there is a grey area. Maybe you should contact him. He may be interested in the project and then provide all the needed information. And if he is not, he may let you know what you can do or not do. There may be also another issue. As you know from time to time we get an update which makes some internal changes that make what you have done incompatible. For Mission that we build or scripted campaigns we need to resave all the mission so that they become compatible with the new released update. That is part of the normal foreseen process and the only way to keep your published campaigns or missions continue to work. But the internal changes are not communicated. Recently the internal working of an MCU that we discovered (by trial and error) was changed. It very useful and I used it, as it allowed to do some logic that was otherwise impossible. But with updates that MCU internal working has changed which made the functioning of that logic not working anymore, and we did not get any info on it and in fact we even do not know when the change was made. It is only when the part of the code or the logic that uses it behaves wrongly that you start looking where is the problem. After loosing time to understand you finally see that that undocumented feature has changed. And I have no solution to it. So now I have some code not working properly and no easy solution to replace. We work at our own risk, no guarantee here, so before you commit an enormous amount of work beware of these little details. Edited February 24, 2022 by IckyATLAS 1 1
coconut Posted February 24, 2022 Posted February 24, 2022 3 hours ago, =GEMINI=IngegnerTommy said: the ploggy library created by the Coconut MP server guys Coconut MP server guys here. We just wanted to say that ploggy is not by us, but originally by taleks: 3 hours ago, =GEMINI=IngegnerTommy said: In which format is the file mission serialized? I don't think it conforms to a known standard, but it's not too hard to figure out. I've written a tool that extracts a schema from an example mission, and generates F# type definitions for all MCUs, and also generates a parser, and a dumper. It could probably be adapted to generate code in C#. Or just put the generated F# file in a small project, compile and consume from C#. 1 1
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now