MOARdV / AvionicsSystems

MOARdV's Avionics Systems for Kerbal Space Program - a new generation of IVA enhancement.
Other
52 stars 26 forks source link

Additional Stock Engine Controls #144

Closed theonegalen closed 6 years ago

theonegalen commented 6 years ago

Looking through the list of functions, I didn't see any functions for Multi-Mode engines like RPM's SetEnginesPrimaryMode and GetEnginesPrimaryMode. I propose:

fc.SetEnginesPrimaryMode() which would return 1 if the active engines are set to their primary mode, and 0 if they are not (set to mode 2, I assume - is it possible to have more than one mode on a multi-mode engine?) or if there are no multi-mode engines active.

I'd also be able to toggle engines on and off as groups. Would it be possible to add an extension to MASIdEngine to allow a tweakable in the editor like the Camera Name in MAS? Then functions to read and list the groups and their names, and turn them on and off, such as:

fc.GetEngineGroupCount()

fc.GetEngineGroupActive(double engineGroupID) returns 1 if any of the engines of the group are active or 0 if all of them are not.

fc.GetEngineGroupName(double engineGroupID) returns the user-defined string in the Group Name tweakable. Useful for MFDs and selector switch labels.

fc.ToggleEngineGroup(double engineGroupID) turns on or off all the engines in the engine group defined by engineGroupID. Returns 1 if engines in the group are now enabled, 0 if they are disabled.

Finally, it seems like engine.GetPropellerCount has been renamed in the code to engine.GetEngineCount, but it is still being referred to as engine.GetPropellerCount in the wiki and code comments. Is it possible for me to help you with that? I don't know much of how github works.

MOARdV commented 6 years ago

Finally, it seems like engine.GetPropellerCount has been renamed in the code to engine.GetEngineCount

Yeah, I renamed it intentionally since it counts jets as well as props, but I didn't get the references updated. I'll fix that and get the wiki updated in a few minutes.

MOARdV commented 6 years ago

fc.GetMultiModeEngineMode() - returns 1 if any MME is in secondary mode. Returns 0 if none are, or if there is no MME.

fc.ToggleMultiModeEngineMode() - Toggles MME mode. Returns 1 if any MME are installed, 0 if none are.

MOARdV commented 6 years ago

I think the engine group name is going to be too difficult to manage, since the engines could be named individually, and the extra work needed to synchronize the names while in the Editor (VAB/SPH) is a bit more than I want to address.

The group ID aspect is viable, but I need to see if I can find a way to distinguish between MAS's AJE engine ID and the group ID. An engine with both of those included would have two separate "id" fields that could be manipulated.

theonegalen commented 6 years ago

Awesome, thanks!