-
Notifications
You must be signed in to change notification settings - Fork 26
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
RPM to MAS Module Manager mega patch #277
Comments
One tiny step towards an RPM conversion patch, Issue #277
Specific props that require a second round of work:
|
Wow, I've just ordered a new computer and you're working on MAS again? It must be my birthday after all! |
Well, sort-of working on MAS. The plugin can do just about everything RPM can do, so it's on par with RPM. The problem is that I've only created props that I needed for IVAs I created myself, so it's not really well positioned for other people to jump in and create fully-developed IVAs. The mod's never going to take off if I don't make a patch that lets RPM cockpits work with MAS. The problem is there are something like 1200 props in the ASET collection, and it is mind-numbingly tedious to go through all of them, figure out what they do, and assemble an equivalent MAS prop, even with the tool I wrote to automate the config file generation step. But if I don't write a patch to convert RPM IVAs to MAS and provide MAS versions of the RPM props, there's not much of an impetus for people to make the jump from RPM. I've also discovered quite a few props in the ASET collection that don't have functional config files - there are several different props that Alexustas made that have never shown up in-game. A few of them I've managed to use in MAS at various points during development, but I'd love to share all of them. The trick there is that they cover a wide range of design styles - analog and modern (glass) aircraft, Apollo-era spacecraft, more modern spacecraft. It would be weird to put all of them in one IVA, and my time is a little too limited to create several IVAs to showcase all of them properly. So, we'll see how many props I can convert this summer before I'm too bored to keep going. It would be easier if alexustas were still modding, since he figured out how to take advantage of MAS fairly quickly, based on some of the videos he posted on his Youtube channel. Ah, well. |
Well, now that I have my new computer set up, I'd like to get back to working on IVAs myself. However, I'd rather not duplicate your work unnecessarily, or create conflicting versions of MAS versions of props. I wish I had the head for MAS code that alexustas has, but the things he was posting on his youtube with the MAS MFDs just completely blew my mind. |
MFDs are a going to be tough - I've got to make MAS versions of what alexustas did, which means figuring out what each page is supposed to be doing. The rest of the props will be comparatively easy since I've got a tool that takes care of most of the generation work, so all I have to do is add a few lines to an XML file, and a few lines to a MM patch file, and a new prop shows up. But it still means going through every single prop and figuring out what it does and what the MAS equivalent is. |
alexustas at one point said he was deprecating a number of old switch styles. While doing this upgrade patch, I should see where I can consolidate them (most likely some of the switchTumble variants). |
Yes, I think most of those can be safely replaced with the modular switch. I'd be glad to get started on the Avionics pack, most likely on Saturday. Do you want me to focus on duplicating the functionality of the RPM versions distributed with the Avionics pack itself? I think most of those would stop working under high G or if the craft lost electrical power.So for any backlights or other electrically-dependent gauges, I should nest those in the fc.Conditioned() function, correct? One thing I've noticed when flying DCS is that an old magnetic compass will read incorrectly while in a bank, so I could duplicate that functionality as well. I especially look forward to replacing the old spaghetti math scripting for the radio navigation with your built in fuctions! |
That is very much appreciated. My suggestion is to make equivalent props where possible. The initial goal is to get a replacement for each prop in the parts packs that works the way the player would expect based on their experience with RPM. If there's things MAS can do to enhance the usefulness of the prop, that's good, too. For instance, I made the altimeters stop working outside the atmosphere, under the assumption that they use atmospheric pressure to determine altitude, not radar. The radio nav stuff will be fun to see in use. alexustas made some neat aviation charts for Kerbin - it'd be nice for them to be useful during play. Lights or other electrically-controlled components should use fc.Conditioned(), for sure. For instrument lights, make sure the COLOR_SHIFT uses 'blend = true' - MAS allows instrument lighting to be dimmed, instead of only off/on. The ASET light controls don't support that, but MAS controls can. Oh - I should describe the "standards" I'm using for the props. They're mostly ad-hoc, but I'm trying to be better organized. Hopefully this looks like more work than it is:
(sorry for the wall of text :) ) |
Finished the AHI. Currently it acts the same as the ASET RPM version; with the Flight Director showing AoA and Sideslip. Once I get the navigation stuff under my belt, I hope to set it up to actually show the bearing to a selected waypoint. It's been a long time since I've programmed a prop, so it took a lot of brainpower and time for me to break through my mind fog. I think the others will come more quickly. If it weren't for some dumb mistakes, I would have finished it hours ago. I really like how MAS works - I especially like the ability to nest functions in order to create custom variables right in the prop itself. Not having to have a huge CUSTOM_VARIABLES config somewhere is nice. |
That was one of the two major reasons I started with a blank slate for MAS. The CUSTOM and other compound special variable systems are extremely cumbersome, but that's your only option in RPM if you want to do anything other than a basic prop. |
I've gotten through the battery gauge finished so far, including testing. I'll try to have have the Classic Pack done this week. |
That's good progress. I've been muddling through the JSI Basic MFD and picking off some of the RPM features that I had overlooked. I hope to have that done this week, which will let me do a MAS release that officially supports the Stock RPM props. Then I'll be back to ASET. |
I found a couple of mystery switches - swTumbleERSHUD01 and swTumbleERSHUD02. They both toggle persistent values (TurnERSHUD01 and TurnERSHUD02), but I don't see either of those persistents used anywhere in the ASET props. -01 has a "ORIENTATION" caption below it, and -02 has a "COMPASS" caption. The lighting for the caption on both is tied to whether landing gear are deployed on not. |
Probably related to https://forum.kerbalspaceprogram.com/index.php?/topic/85645-173-exploration-rover-system-by-aset-v03-040819/ |
Yeah, those props look like they're controls for the ERS Pitch/Roll Display in that mod (PitchRollDisplay.cfg) |
Some of these are included in #368 |
It'd be a nightmare to write and test. But it'd make MAS adoption easier. I just don't see myself having dozens and dozens of hours to write and test a patch like that. A number of the props will not require upgrades, I think - some are primitives that don't use RPM modules.
Process: I'll check off a group once the conversion and MM patch are complete. Since I've already converted a handful of these to MAS, I may use them even if I've tweaked their behavior a little (such as MAS_ASET_ALTIMETER working only in the atmosphere).
Naming convention: Use the ASET name, prefix MAS on it. Check that it doesn't collide with something I've already done.
Testing: Ugh. That's going to be almost as much work as converting everything. I'll need to find some RPM IVAs that cover enough of the prop gamut. The ALCOR lander, of course.
Let's see how well GitHub can handle a mega checklist...
Avionics/ClassicPack
Avionics/ModernPack
Props/Control
Props\Instruments
Props/MFDs: This is going to be the most time consuming.
Props/Misc
Props/SpaceFoodPack
The text was updated successfully, but these errors were encountered: