-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request for bunch of Quality Of Life data #130
Comments
If I may add: ENGINES: access to engine's thrust limiter (R/W). |
@lefouvert I don't understand how Resource and EngineFuel work. What are the numbers next to the resources? |
@PhilouDS The numbers in Resource are the ingame ids of the resources. EngineFuel is just an array that describe which engine burn which fuel. So if I run a «LV-1 'Ant'» engine, I'm able to know it's a With thoses two datas, you can know the mass a part will lost, and deduce lot of things as deltaV, isp, burntime etc. |
Thank you for all those explanations. Nice log in the Console. Too bad we can't save that in a txt file... yet ;-) At least, my stage info window (at the bottom) is better than the one from MicroEngineer (which only uses the numbers from KSP). |
@untoldwind I see you ^^ |
That are a lot of wishes and unluckily I messed my games-saves I use for testing. So there is just a pre-release for now: https://github.com/untoldwind/KontrolSystem2/releases/tag/v0.5.3.5 From top to bottom (mostly):
|
Ah ok, the engine fairing was not on my radar. Quick workaround would be to filter out the engines before using
But I understand that this is somewhat confusing. I'll probably split the API in As for the the propellants: If |
As said, I had think about excluding engine parts, howerver, this behavior is also true for heatshield (nice we can recognize them and exclude them now ^^) AND at least thoses parts :
|
Created a new pre-release: https://github.com/untoldwind/KontrolSystem2/releases/tag/v0.5.3.6
As for the time-warping:
|
Hopefully this is the one: https://github.com/untoldwind/KontrolSystem2/releases/tag/v0.5.3.7 I added |
Just did few testings : |
Little engine test. |
Yes good point that should be an option. |
I merge it all into the 0.5.4.0 release. |
Sorry, I was a bit busy this week-end, so I can't look at all I was expecting on KSP2 & KS2. |
I just noticed that the underlying structure of EngineMode also has a propellant definition, have to check if that is in sync with the the one on the engine though. |
@lefouvert I guess the problem is that you opened/started the editor on the
I will add some better heuristics, or at the very least make the latter configurable as well. Speaking of the As for the programming language debate:
|
You'r right : About
In anycase, I would to git publish my work (when it's done), but maybe you are right, maybe instead I wait to think it's perfect, it's time to share, even if some things are clunky. (Even with years of collaborative work, I still want to reach the unreachable 'perfection' and often solowork. Bad habits. Not good to evolve.) And does it make sense to combine efforts to enrich KS ? -> Yes. Yes yes yes. programing debate :
It's all to your credit. Everything in this sentence is beautifull.
Hahaaaa ! My sight is still fonctional.
Feel like you had seen and wrote typescript (the only respectable usage of javascript :P) as daily routine. Not surprizing it pop out in this mod :)
Obviously, as said. Not sure their is an other sane way to do it. As I use frequently C# in my current job's project (in an 'not encline to code' tool, UiPath. Not my jam, UiPath. I would prefer wrote codelines. It look like Scratch), I can confirm : not so far from java. A bit more from modern C++, I feel, but mains concepts are the same.
Wow. I was suspecting something like that because of the smoothness of the execution. That's why code is so fast, so. I can imagine both the joy of the performances and the pain of the maintenance and evolving.
Didn't know it could be done in other way, but I don't doubt any second it's very specific to VSC, well documented, and poorly accessible (Not your work, the VSC incorporation) |
There were actually a bunch of array methods missing. Should be fixed in: I also added a simple logic to automatically look for "to2" and "to2Local" subfolders if the editor is opened on the plugin dir. |
Hello MyJunkCode. And obvioulsy, you can take anything which seems usefull. |
Wow, that is actually a lot ;) One minor (hopefully constructive) criticism: You use a lot of E.g.:
is the same as
And that can be shorted to:
Edit: Takeaway for me is that the vscode-plugin still has a lot of problems with inline-comments (i.e. the parser in vscode is slightly out of sync with the parser in the mod) |
I was not able to fix all the issues in the vscode extension yet, but Also I found: https://github.com/lefouvert/ToTheMoon/blob/0ecfbb5e239a7e5195866633a60bf427010d9b13/ship/ship.to2#L207 Due to the restructuring in for
|
Have to go for tonight, so short answer :
thx ^^
Of course, yes, it's okay.
Totaly true and understood, I work (not enough) on myslef to correct this bias.
The 'constructive' precision is because in my native language, this word is by default 'negative'. I know for sure here is a caring space. And yes, it's a constructive answer.
Thx !
Noted. Will be updated. Thx :) |
This one is almost there: https://github.com/untoldwind/KontrolSystem2/releases/download/v0.5.5.5/to2-syntax-0.0.34.vsix The only remaining problem is that |
The 0.0.36 version in 0.5.6.0 should have ironed out most of the issues. (Thanks for the project btw, that helped a lot finding all the hidden cracks).
... that should make formatting all the string output much easier. |
Yay ! Happy to know I've done something helpfull :) (but not very proud you have seen how much i'm struggling to just turn my vessel in the direction I want ^^) About parser for your compiler and for VSC, speaking with a friend today, he reminds me it exists some meta-language usefull to describe the grammar and the syntax of a language, which are able to automaticly generate code for your lexer and parser in various programming language. ANTLR is one of thoses, able to generate C# and typescript. The advantage of this is you decribe one time 'to2', you get as many lexer/parser you want in different language. I'm sure you see why it could be usefull when you have compiler in C# and a VSC extention in Typescript :) Edit : |
I probably should update the language documentation as well and not just leave it with a brief patch note ;) I will fix the space after comma thing. I wanted to prevent runtime error ( Speaking about parsers:
|
Ah... The tedious task of maintaining a documentation... I always run when it's about documentation : Run to read all of it, Run away when I have to write it :D. (Yup, I read the documentation of my calculator, my car, and my washing machine) ANTLR was just a random example, but as you seem to have a good view of the spectrum of possibilites cough bison meat is savourous cough and limitation, you probably have made the best choice. As most of my related are essentialy,
I'm pretty sure if I slip a 'Monadic Parser Combinator' in a chatting, I'm going to trigger some laught. Too easy or too hard according to the context ;) 5 years ago !? How didn't I heard about your project at KSP1 times ? Have heard about |
The 0.5.6.1 release should be a bit more lenient with the alignment part of the format string. On the other topic: Actually it is good to get challenged from time to time. It is so hard to keep in touch with all the different developments. For example I found this pretty interesting article https://eyalkalderon.com/blog/nom-error-recovery/ with some fresh ideas that might improve the error-reporting a bit. |
This issue is stale because it has been open for 60 days with no activity. |
This issue was closed because it has been inactive for 14 days since being marked as stale. |
version 0.5.3.4 (Ckan)
gessed tag : Question, Enhancement
Hi !
Maybe I didn't be able to found thoses, in that case, «My bad», but I miss some acces to definitions datas.
Fairing (feels important to me)
There is 2 kind of fairing : the conveniences ones, and the wanted ones.
I mean, when you put a stage under an engine, this one is covered by a fairing. It's thoses I call the conveniences ones.
And there is obviously the fairing you put to protect your payload, have better aerodynamics etc aka the wanted ones.
Since
vessel.parts.filter(fn(p) -> p.fairing.defined)
is not able to distinguish them, I would like to know if there is an other way I didn't think about.At first, I was thinking «Nah, easy, I collect fairings, I substract engines, and i'm good to go»
BUT ! Because there is a 'but', obviously, engines are not the only ones to have «conveniences» fairings. Heatshields too. And structural hollow tubes. And probably some others parts I didn't think about. And all thoses delicious parts don't have any modules to identify them :)
As
part.is_fairing
is probably an equivalent ofpart.fairing.defined
, his behavior is unsurprizingly the same.I'm not feeling good at the idea to look at the name of a part to identify it. I think it's not reliable.
If I didn't miss a way, maybe a
part.fairing.value.is_jettisonable
could be a good idea (since I wasn't able to jettison «convenience» fairing)Solar panels (feels important to me)
I have a nice piece of code which is able to give the one of best vectors to expose to the sun.
But in order to be able to do it, I needs to know max output of each solar panels. Maybe I miss it, but I haven't be able to found it.
I had to write this kind of things :
As said, I don't think it's a reliable way to gather data.
Resources / Engines (seems to be a good idea)
Did I miss a way to connect an engine with the fuel it burn ?
I wrote this :
which is far more reliable than looking at part's name.
It connect
part.engine_module.value.current_engine_mode.engine_type
to apart.resources.list.map(fn(r) -> r.resource.id)
.This is way less an issue than others topics, but just in case I miss something... :). But I don't think it's a bad idea to have a way to know what input/output each part are able to.
For example, most Liquid Fueled engines have Oxygen and Methan as Input, and have Electric charges as output.
Propellant Tanks have their propelant as output
Solar panels have Electric charges as output
etc
The cherry on the cake would be able to ignite individualy each engine, especially since
part.engine_module.value.independent_throttle
have appeared ^^Heatshield (feels accessory)
Maybe thoses parts would have benefits to have their very own module, since they can be deployed, they have resources (Ablator), fairing, etc
It would be a shame to inadvertently deploy one of those (Yes, I look at you, inflatable heatshield) while expecting deploy antennaes, solarpanels, cargoholds etc :)
At the time, I'm able to filter them on the resources the part hold. If their is 'Ablator' in it, it's a heatshield.
Edit : typo, grammar etc
The text was updated successfully, but these errors were encountered: