Giter Club home page Giter Club logo

kerbalengineer's People

Contributors

antplant avatar cybutek avatar deram avatar dewiniaid avatar gerry1135 avatar harryyoung avatar itwtx avatar jrbudda avatar kerbas-ad-astra avatar mic-e avatar politas avatar rkagerer avatar saybur avatar tallmyr avatar teknoman117 avatar yalov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kerbalengineer's Issues

Eccentric and mean anomaly not converted to degrees

While trying to test and verify a kOS script, I found that when the eccentric or mean anomaly from the orbital category is displayed, the number shown is the radian value, but it is displayed as if it is in degrees. For the sake of consistency with the rest of the displayed values, I would recommend converting both values to degrees (rather than fixing the unit display).

Allow rebinding of backslash shortcut

I'm a left-handed user, and I like being able to use the backslash key in my vessel controls, but currently it doesn't seem that there's any way to get KER not to use it for its show-hide button. Is there any chance we could get an option in the config UI to change the key KER uses?

EngineerChipFlight missing

Version 1.0.14.1

When I am trying to load an old savegame all my ships are being removed to due a missing "EngineerChipFlight". Am I missing something?

Move top-level directory into GameData/ and rename CHANGES.txt

Many mods are built such that they can be unzipped from the top level with files falling where they should in GameData/. This is a big help when attempting to maintain mod configuration with updates.

Similarly, many mods provide CHANGES.txt or README.txt which are beneficial to users. Unfortunately, leaving these files with generic names in the top directory leaves them prone to being overwritten.

It would be nice if KerbalEngineer/ was under GameData/ in the zip, and also if CHANGES.txt were renamed to GameData/KerbalEngineer/CHANGES.txt or GameData/KerbalEngineer-CHANGES.txt or something of that sort.

Thanks!

model000' not found!

model000 is in a folder named textures it seems to be looking for it (Edit: in the main folder
so I copied it to the main folder) and the error is gone

This same issue occurs for the same reason in both 1.0.12 and 0.6.2.12

[LOG 21:09:05.237] Load(Model): Engineer/Engineer7500/model
[ERR 21:09:05.240] Texture 'Engineer/Engineer7500/model000' not found!

Thanks

Very large fuel tanks confuse staging predictions

A stage with a very large fuel tank is not considered distinct from its parent. Here, stage 0 will clearly continue burning after stage 1 is emptied and jettisoned, but KER doesn't think so:

2015-02-16_00001

It appears to think the center engine will be started alone and its tanks emptied before the side engines are fired, but that's not reflected in the TWR numbers.

The exact same fuel (and dry weight), but this time with X200-32 tanks instead of Jumbo-64s, results in a correct staging prediction and dV calculation:

2015-02-16_00002

Feature Request: Maneuver node Ap and Pe elements

I use a custom HUD with KERs excellent Time to burn, Burn dV and Burn time parked next to the stock maneuver node dV display. It would be excellent to be able to add the node's projected Ap and Pe to this area. Would save a lot of the nonsense of trying to click on the stock markers to display the values and keep at the things I care about when dragging out a node in one place.

Export data

Is it possible to get all the data which is found in KER outside of the game? Can you analyze the craft file to get delta V, stages, mass etc.?

If not, it would be really fantastic if there was an export data option that dumps all the vessel information into a JSON file somewhere in the game directory. This would help immensely in a website project I am doing where I need all this vessel information and show it on the website.

Enable radially attached parts to cross-feed.

Some wings such as the delta wing can contain fuel. When attached radially to a fuselage they cross-feed, but this is not taken into account and fuel lines must be used for correct dV calculations.

Possible for other plugins to add info to KER's part info window in editor?

I haven't looked at the code yet, so this is just an initial query. I really love using KER in the editor scene and love the little part info windows you get on middle click.

If possible I would like to add additional information to this window for parts that are handled by TestFlight. Things like current data and reliability.

Resource Mass Sometimes Misreported

In some situations, the resourceMass and totalResourceMass values I'm fetching from KER do not seem to make sense. Using the Kerbal X as an example; here's a readout of the stages in the editor:

Stages In Editor

"Mass" and "Total Mass" are fetched directly from Stage.mass and Stage.totalMass. Here's my vessel info panel on the pad before staging at all:

Stages In Editor

The slight difference in total mass is the fault of another mod of mine, but is consistent. However, the reported Resource Mass of 145 tons is necessarily incorrect. "Resource Mass (stage)" is Stage.resourceMass and "Resource Mass" is Stage.totalResourceMass.

Here's the panel again after releasing the launch clamps (so we've staged twice):

Stages In Editor

The fuel mass in two nacelles is 400 * 3 * 2 * .005 = 12 kg. In all 6 nacelles it's 36 kg. There's another 48 kg in the center stack. None of those values or any reasonable sum seem to be represented here. Also, the 25.806 value does not change as fuel burns.

When the first pair of nacelles runs out of fuel, but before they're decoupled, the readouts change:

Stages In Editor

Again, both resource values reported much be incorrect, as they are equal to or greater than the total craft mass.

When the first pair of nacelles are decoupled (so we've staged one more time), it changes again:

Stages In Editor

As a temporary workaround, I have hacked access to baseMass at the stage level into my local fork.

Let me know how I can help!

Input Locks Not Cleared on Exiting Editor

Kerbal Construction Time has a simulation feature, which when used switches to a new launch using something other than the normal launch button. As a result, sometimes the KER window is behind the button and so KER's KER_BuildAdvanced lock doesn't get cleared, resulting in the vessel being uncontrollable.

Would you please also add a check to unlock any input locks on scene change from the editor to any other scene?

Dv calculation : Blocking fuel tanks or locking Crossfeed

I often want to manage how the fuel burns in the tanks by locking the tanks or crossfeed. Sadly, this also makes Engineer to give wrong DeltaV reports.

If possible, I would love that the calculation considers all tanks of fuel as immediately available.

Indirect phase angle

The "phase angle" is displayed in "rendez-vous" information when a target is selected.
Currently only 2 cases seem to be handled correctly:

  • I am orbiting the same body as my target
  • the target is orbiting the same body as my "reference body"

I think the algorithm could be a bit more generic, and search the closest common ancestor between me and my target, and take its 2 descendants' orbits.

Example: I am orbiting Laythe and want to get back to Kerbin. Currently I think KER is displaying a meaningless angle between Laythe and Kerbin.

Sun > Kerbin(target)
Sun > Jool > Laythe > Ship

The common ancestor is the Sun. The 2 descendants are Kerbin and Jool. The phase angle displayed would be that between Kerbin and Jool.

I think the calculation is easy (sorry I'm not familiar with the language and don't have windows so I cannot do it); the challenge would be to show to the user somewhere what bodies are used. However, the current situation is already quite cryptic, so not showing anything would not be a regression.

Different part root causes stage mass miscalculation.

This was all tested in a fresh install of 0.90 / 32bit with Kerbal Engineer being the only mod installed.

With the root part being the command pod, mass is calculated normally. This is the control craft for the test.

https://i.imgur.com/ZTIa1es.png

When you select a different root part, it does not account for all of the stages and miscalculates mass.

Below are 2 examples.

First is a fuel tank being the root part, in the 2nd of the 3 stages that provides thrust. Here it is ignoring the stage above the root part and its mass. I saved and reloaded this craft, and the error did not correct itself. I've checked the staging order and it is still correct like it is control craft above.

https://i.imgur.com/YvGdSmp.png

Second is a fuel tank being the root part on the last thrust providing stage, with only the command pod and its separator above it. Here it does not account for the command pod attributing to the mass of the stage. Like in the example above, I saved and reloaded this craft, and the error did not correct itself. I've checked the staging order and it is still correct like it is in the control craft.

https://i.imgur.com/JzDpHv6.png

Variable Name issue

Made an inline comment here:

ca5ea41

Not a C# programmer, but I believe it's case sensitive. If I'm wrong, just ignore.

Incorrect TWR in VAB using new FAR

There is a discrepancy in TWRs between the VAB and launch when using the new FAR v0.15. The TWR shown in the VAB is higher than on the launchpad, and the latter is correct.

It seemed more like a KER bug than a FAR bug, so I report it here. If it's not I will report it in the FAR repository.

2015-05-09_00001
2015-05-09_00002

Reference body UI is a bit clunky

The current UI for selecting a reference body is a bit clunky. The buttons take up a lot of space and, with Kopernicus, this is likely to get much worse.
My suggestion for the UI would be to change the "Reference Bodies" button to a "Body: [current]" button that opens a menu that lists all the bodies that orbit the sun with a sub-menu off each that lists the moons.
Once I'm done with the "decoupled root" simulation I'll probably switch to do further changes to this version instead and will take a look at this (if it hasn't been done by then).

Framerate drops when escaping the sun with time to apoapsis readout active

Hi! I just noticed that Kerbal Engineer causes a massive framerate drop (to about 0.2 fps), when the ship is on escape Trajectory out of the sun, while showing time to apoapsis/periapsis data.

Disabling the all sections with the time to Periapsis/Apoapsis readout fixes the Framerate, enabling it causes it to drop again.

Allow editing of stages body and atmospheric conditions individually

I am making this suggestion do to the frequency I have to switch between atmospheric and non-atmospheric or between different bodies during my rocket construction to check my numbers. This would allow you to fine tune a rocket much more accurately, allowing for taking into account what altitude you expect each stage to be at on launch. It would also allow easy checking of values for rocket that may launch from Kerbin, land on a body with atmosphere and return. Right now to check their values you'd have to switch several times for each stage and then for small alterations to the upper stages you'd have to switch even more for sanity checks.

Engineer Chip as Sensor

Hi.
Just playing around with kOS and KerbalEngineer and faced to absence of sensors to detect ground.
And what if KerbalEngineer module becomes sensor and then we can probe it from kOS.

Something like this

    public class FlightEngineerModule : PartModule
    {
        [KSPField(guiActive=true)]
        public float slope = float.NaN;

        [KSPField( guiActive = true )]
        public float heading = float.NaN;

        //[KSPField( guiActive = true )]
        //SlopeReadoutField slopeReadoutField;

        /// <summary>
        /// to avoid onUpdate
        /// </summary>
        [KSPEvent( active=true, guiActive = true, guiName = "Measure Surface data" )]
        public void measureSurfaceData() {
            ///get all surface and update probes. 
            ///right now just slope @ head

            ReadoutModule slopeReadout = Readouts.ReadoutLibrary.GetReadout( "Surface.Slope" );
            // tbd ReadoutModule as PartModule.
            // now design breach!
            // BAD BAD BAD BAD BAD BAD
            Slope sl = (Slope)slopeReadout;
            sl._Update();
            this.slope = (float)sl.slope;
            this.heading = (float)sl.heading;


            //this.slopeReadoutField.slope = slope;
            //this.slopeReadoutField.heading = heading;
        }

        public override void OnStart(StartState state) {
            //if ( slopeReadoutField == null ) {
            ////    slopeReadoutField = new SlopeReadoutField();
            //}
        }

    }

in slope readout I have to break routine into two different:

    public class Slope : ReadoutModule
    {
        public double slope = float.NaN;
        public double heading = float.NaN;

        #region Constructors

        public Slope() {
            this.Name = "Slope";
            this.Category = ReadoutCategory.GetCategory( "Surface" );
            this.HelpString = "Shows the slope of the terrain below your vessel.";
            this.IsDefault = true;
        }

        #endregion

        #region Methods: public

        public override void Draw(SectionModule section) {
            this._Update();
            this.DrawLine( this.GetSlopeAngleAndHeading(), section.IsHud );
        }

        //public override void Update() {
        // base.Update();
        public void _Update() {
            var mainBody = FlightGlobals.ActiveVessel.mainBody;
            var rad = ( FlightGlobals.ActiveVessel.CoM - mainBody.position ).normalized;
            RaycastHit hit;
            if ( Physics.Raycast( FlightGlobals.ActiveVessel.CoM, -rad, out hit, Mathf.Infinity, 1 << 15 ) ) { // Just "Local Scenery" please {
                var norm = hit.normal;
                norm = norm.normalized;
                var raddotnorm = Vector3d.Dot( rad, norm );
                if ( raddotnorm > 1.0 ) {
                    raddotnorm = 1.0;
                } else if ( raddotnorm < 0.0 ) {
                    raddotnorm = 0.0;
                }
                this.slope = Math.Acos( raddotnorm ) * 180 / Math.PI;

                if ( slope < 0.05 ) {
                    this.heading = float.NaN;
                } else {
                    var side = Vector3d.Cross( rad, norm ).normalized;
                    var east = Vector3d.Cross( rad, Vector3d.up ).normalized;
                    var north = Vector3d.Cross( rad, east ).normalized;
                    var sidedoteast = Vector3d.Dot( side, east );
                    this.heading = Math.Acos( sidedoteast ) * 180 / Math.PI;

                    var sidedotnorth = Vector3d.Dot( side, north );
                    if ( sidedotnorth < 0 ) {
                        heading = 360 - heading;
                    }
                }
            }
        }

        #endregion

        #region Methods: private

        private string GetSlopeAngleAndHeading() {
            try {
                string result = double.IsNaN( slope ) ? "--°" : Units.ToAngle( slope, 1 );
                result += " @ " + ( double.IsNaN( heading ) ? "---°" : Units.ToAngle( heading, 1 ) );
                return result;
            }
            catch ( Exception ex ) {
                Logger.Exception( ex, "Surface->Slope->GetSlopeAngleAndHeading" );
                return "--° @ ---°";
            }
        }

        #endregion
    }

and voila KerbalEngineer as sensor

later i will provide patches if you want.
But it looks like it leads to some high redesign of Readouts to layout it into PartModules or IConfigNode.

Simulation sometimes fails to stage

The simulation code will fail to stage if the parts being decoupled include "sepratrons" (either real, fake or even liquid fuel "whackjob" specials) if there are still active engines that use the same type of fuel as the sepratrons. This happens in some obscure designs (e.g. Whackjob's launch system that uses LV-T30 engines as sepratrons, or this solid-only rocket https://www.dropbox.com/s/1p6c9ic78povhmj/SepIssue.craft?dl=0).

The result is that the simulation doesn't activate the next stage until all the engines have stopped which lumps the deltaV into the first stage and gives a much lower value (as if you did the same while flying).

The problem is caused by the simulation code not staging while there are resource types that are currently being burned in the parts that will be decoupled by the next stage even if the parts in question can't actually be drained during the current stage.

This will not be trivial to fix (in an efficient way) in the current code. The plans I have for the VesselSim restructure will make this easier so I will fix it as part of that. I will open a pull request for it once I start implementing more than "proof-of-concept" stuff...

Crash when entering VAB immediately after SimManager.StartSimulation() on KSP 1.0.2

I've been getting this crash very often out of KER. It may have something to do with the interplay between mods but that's only a suspicion. I used to have just MechJeb and KER installed and I don't think I got this crash as frequently as I do now. Here's what's in the log:

[WRN 13:38:59.362] [HighLogic]: =========================== Scene Change : From FLIGHT to EDITOR =====================
[LOG 13:38:59.382] 5/17/2015 1:38:59 PM,KerbalAlarmClock,Scene Change from 'FLIGHT' to 'EDITOR'
[LOG 13:39:00.384] KerbalEngineer -> SimManager.StartSimulation() //
[LOG 13:39:00.385] KerbalEngineer ->   at (wrapper managed-to-native) UnityEngine.Component:InternalGetTransform ()
  at UnityEngine.Component.get_transform () [0x00000] in <filename unknown>:0
  at KerbalEngineer.VesselSimulator.PartSim.Initialise (.Part thePart, Int32 id, Double atmosphere, KerbalEngineer.LogMsg log) [0x00000] in <filename unknown>:0
  at KerbalEngineer.VesselSimulator.Simulation.PrepareSimulation (System.Collections.Generic.List`1 parts, Double theGravity, Double theAtmosphere, Double theMach, Boolean dumpTree, Boolean vectoredThrust, Boolean fullThrust) [0x00000] in <filename unknown>:0
  at KerbalEngineer.VesselSimulator.SimManager.StartSimulation () [0x00000] in <filename unknown>:0
[LOG 13:39:00.385] KerbalEngineer -> Object reference not set to an instance of an object
[LOG 13:39:00.385] KerbalEngineer ->   at KerbalEngineer.Flight.Readouts.Vessel.SuicideBurnProcessor.Update () [0x00000] in <filename unknown>:0
  at KerbalEngineer.Flight.FlightEngineerCore.UpdateModules () [0x00000] in <filename unknown>:0
[LOG 13:39:00.566] [FlightEngineer]: Destroying Floating Window for HUD 1
[LOG 13:39:00.566] [FlightEngineer]: Destroying Floating Window for HUD 2
[LOG 13:39:00.566] [FlightEngineer]: Destroying Floating Window for HUD 1
[LOG 13:39:00.566] [FlightEngineer]: Destroying Floating Window for HUD 2
[LOG 13:39:00.572] 5/17/2015 1:39:00 PM,KerbalAlarmClock,Destroying the KerbalAlarmClock-KACFlight
[LOG 13:39:00.572] 5/17/2015 1:39:00 PM,KerbalAlarmClock,AppLauncher: Destroying Button-BEFORE NULL CHECK

This is with KSP 1.0.2 and KER 1.0.16.6 on Mac OS X 10.10.1.

KER Doesn't Recognize dV for Jet Engines

it seems tha the latest branch doesn't recognize that jet engines pull fuel equally even if not connected by fuel lines or connected directly. The dV readings in the SPH and in flight are wrong

Enhancement request: Vessel data at node

Would it be possible to have readouts related to the upcoming maneuver node such as:

  1. Expected altitude
  2. In atmosphere (orbiting body dependant)
  3. Orbital velocity
  4. Surface Horizontal velocity
  5. Surface Vertical velocity
  6. Heading

All data would be reported as expected at the point in time at the node, and would include any changes from planned dV changes.

Error in logs while in VAB

Hi!
I seem to get the following a lot in the logs while building in VAB, not sure what causes it tho, haven't found a way to reproduce it reliably. KSP 1.0.2, the only other mod is FMRS.
This is on 1.0.16.6.

I do have issues where I suddenly can't remove parts, and at the same time new parts get instantly placed under the menu, but not sure if it's related (could just be a 1.0.2 issue).

[LOG 19:45:44.711] KerbalEngineer -> Object reference not set to an instance of an object
[LOG 19:45:44.711] KerbalEngineer ->   at KerbalEngineer.Extensions.PartExtensions.GetModuleMultiModeEngine (.Part part) [0x00000] in <filename unknown>:0 
  at KerbalEngineer.Extensions.PartExtensions.GetProtoModuleEngine (.Part part) [0x00000] in <filename unknown>:0 
  at KerbalEngineer.Editor.BuildOverlayPartInfo.SetEngineInfo () [0x00000] in <filename unknown>:0 
  at KerbalEngineer.Editor.BuildOverlayPartInfo.Update () [0x00000] in <filename unknown>:0 
[LOG 19:45:44.725] KerbalEngineer -> Object reference not set to an instance of an object

Jet engines no longer recognized at all

(Likely) new in KSP 1.0.5. Any stage with only jet engines will be hidden from the stage list in VAB/SPH and be reported as having zero dV on the in-flight dialog.

Object reference not set to an instance of an object

Hello,

I was monitoring my KSP.log file and found that this error was constantly repeating itself in the log as I was flying:

[LOG 10:55:43.545] KerbalEngineer -> Object reference not set to an instance of an object
[LOG 10:55:43.545] KerbalEngineer -> at KerbalEngineer.Flight.Readouts.Rendezvous.RendezvousProcessor.Update () [0x00000] in :0
at KerbalEngineer.Flight.FlightEngineerCore.UpdateModules () [0x00000] in :0

It should be noted that this started happening just as I entered flight from the VAB, and there would not have been time for me to choose a target.

The Vessel Name readout

I want my vessel name on the screen (using those nice backgroundless windows) for two reasons:

  1. I always forget to rename ship according to its current mission or success state ("Moho Flybyer" => "Moho Impactor")
  2. I want the vessel name to be left on screenshots
    Can we please have it? This should not be difficult to do.

Karbonite confuses KER

Node Angle to Prograde value issue? - KSP v.1.0.4

Hello Cybutek, thanks for the amazing KER mod o7

However I seem to have run into an issue that I thought worthy of reporting:

Setting up a maneuver node to get a Kerbin intercept from Moho. I notice that Kerbal Engineer Redux, seems to have an issue with displaying to correct Node Angle to Prograde number. The number jumps several times when sliding around the node on the orbital trajectory line.

Also: removed all other mods except KER, but issue still present. Not saying any of the other mods did not trigger the issue beforehand obviously.

Youtube video of problem description: https://youtu.be/pseae3-QdrQ

My mods-list: goo.gl/zqJruI

Thanks for your time.

UBERKalti

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.