Jump to content

[1.12.x] IndicatorLights v1.8.3: Small, convenient, informative.


Snark

Recommended Posts

4 minutes ago, RoboRay said:

Oh, I use the same docking alignment indicator mod myself.  I just think putting an indication on the docking port itself would also be useful.  In night-time dockings, I'm often pretty close to the target before I select the docking port and target it (bringing the alignment indicator up on the NavBall).  The lights would let me orient the craft before closing in.  :)

Exactly!  And still no pesky UI... :wink:

Link to comment
Share on other sites

Hi all,

I've just released the latest version of IndicatorLights.  Given the amount of features in this mod, I've decided it's finally time to stop kidding myself that this is a "pre-release", so I'm calling it 1.0.  Doesn't mean I'm done, just that I think it's a release-quality mod and I don't expect to make a lot of breaking changes.

It's not a huge feature release.  I've just added one thing:  a phase control for the BL-01 light.  Now you can have them blink in sequence instead of in unison, if you like.   (There, @Kerbart, happy now?)  :wink:

The control is pretty basic for now; a "phase" slider added to the part UI in the editor. One thing it doesn't do yet, which I plan on adding, is the ability to have phase offsets within a symmetry group. At the moment, if you add a symmetry group of lights, the whole group will blink in unison.

I've also made some internal code changes that don't actually do anything observable, but make things more configurable in a way that will open up additional flexibility via .cfg files without having to change code.  For example, the "have a differently-colored alignment light on docking ports" idea, mentioned above by @RoboRay, is now possible to do with a tweak to the .cfg.  I haven't actually done it, since I still like the "no different colors" look to be the default.  I'm still mulling over the best way to provide what RoboRay was asking as an option.  Haven't decided yet, but may end up creating some alternate .cfg files and stashing them somewhere accessible so that folks who want that can have it, if they're willing to do a little file-shuffling.

Anyway, enjoy!

 

Link to comment
Share on other sites

Sorry, is there a "changelog" available for this somewhere? I'd like to know what's new in the new update(s)?
A link to the newest changelog would be nice on top of the forum (on first page) as the changes come in the end page of this forum.:-)
 

Edited by Crusoe
I see the answer aready... and just an idea too
Link to comment
Share on other sites

12 minutes ago, Crusoe said:

Sorry, is there a "changelog" available for this somewhere? I'd like to know what's new in the new update(s)?
A link to the newest changelog would be nice on top of the forum (on first page) as the changes come in the end page of this forum.:-)

Welcome to the forums!  :)

Yes, the changelog's available, in a couple of places.

If you want it online:  it's available on SpaceDock, the same as every mod hosted in SpaceDock.  Just go to the IndicatorLights download page on SpaceDock, and click the "Changelog" tab.  It'll show you every single release, with changelog notes, and a download link for that version.

Alternatively, if you've already installed IndicatorLights, the changelog is present as a text file in the IndicatorLights folder (this is handy if you've forgotten which version you have installed).

(The reason it's not listed on the OP for the mod is that it would be an additional maintenance hassle to keep up-to-date, and the assumption is that most folks are aware that SpaceDock automatically gives this feature for free.)

Does that get you what you need?

Link to comment
Share on other sites

On 2016-08-16 at 8:42 PM, RoboRay said:

Oh, I use the same docking alignment indicator mod myself.  I just think putting an indication on the docking port itself would also be useful.  In night-time dockings, I'm often pretty close to the target before I select the docking port and target it (bringing the alignment indicator up on the NavBall).  The lights would let me orient the craft before closing in.  :)

Since I'm a shameless (ab)user of MJ Rendevouz and Docking features I'm always punished by Our Dear Sister Karma and ends up having to find the target port from 150m out in pitch black space.

So I've gotten into the habit of always putting 2 (or 4) Blinkenlights near every docking port.

Always set to pure white and, post blinken update, set to 1s on .5s off.

It's saved my trousers several times already :wink:

Link to comment
Share on other sites

@Snark

Hello, I've reported that indicator lights breaks VENs docking ports... I now have some more information.

It only breaks vens docking ports, if you have VENS + Indicator Lights + KOAS  installed. (Note: KOAS is only listed 1.1.2 compatible, but works in 1.1.3).

In the MM CFG your comment "We have to re-specify the model for the stock part, because this is/ an older part that uses the mesh...." got me on the right track.

KOAS reloads the model, like IL does.... then afterwards VENS seems to dumps the model and replaces it by its own model.
However, when you have KOAS and IL installed, you get the ven-dp-model double spawned... which glitches the mechanics of vens docking ports.

Removing 4 lines "MODEL { model = Squad/Parts/Utility/dockingPort/model }" from your CFG and the problem is solved. The stange thing is, KOAS has the same line (with a addition line "!mesh=DELETE"), and does not cause issues (KOAS+VEN). However IL+VEN has also no issues. Only KOAS+IL+VEN has problems. Is this maybe cause MM can create duplicate entries? ( " foo = <value> creates a new variable called 'foo'; if there was already a variable called 'foo', now there's two of them. ")

So I dont really know 100%, why we get 2 docking ports spawned in each other with IL+KOAS+VEN. But I know that it works when VEN=Installed then "don't apply the model line in IL-MM-CFG".

 

So I've duplicated your MM-CFG for the docking ports and added a :NEEDS[VenStockRevamp] and a :NEEDS[!VenStockRevamp]...

In the version for VENS I have removed the model part and adjusted the mesh positions for VENS docking ports.

If you wanna use/improve it, feel free.

Spoiler

// Adds LED indicators to the Large docking port.
// Part for use without VenStockRevamp. For with VENs, see below

@PART[dockingPortLarge]:NEEDS[!VenStockRevamp] {
    @description ^= :(.)$:$0 Indicator lights display crossfeed status.:
    
    // We have to re-specify the model for the stock part, because this is
    // an older part that uses the "mesh =" syntax in its .cfg file instead
    // of the newer "MODEL" syntax. The "mesh =" syntax doesn't allow having
    // multiple models as part of the same part, which would prevent this mod
    // from adding meshes for the indicator lights.
    MODEL
    {
        model = Squad/Parts/Utility/dockingPortSr/model
    }
    
    //-------------------------------------------------------------------------
    // INDICATOR MESHES
    //-------------------------------------------------------------------------
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 1, 2
        position = 0, 0.156, -0.585
        rotation = 0, 0, 0
    }
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 1, 2
        position = 0.507, 0.156, 0.2925
        rotation = 0, -120, 0
    }
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 1, 2
        position = -0.507, 0.156, 0.2925
        rotation = 0, 120, 0
    }
    
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp
        scale = 0.3, 1.6, 1
        position = 0, 0.1, -1.25
        rotation = 0, 180, 0
    }
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp
        scale = 0.3, 1.6, 1
        position = 1.083, 0.1, 0.625
        rotation = 0, 300, 0
    }
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp
        scale = 0.3, 1.6, 1
        position = -1.083, 0.1, 0.625
        rotation = 0, 60, 0
    }

    
    //-------------------------------------------------------------------------
    // CONTROLLABLE EMISSIVES
    //-------------------------------------------------------------------------
    MODULE {
        name = ModuleControllableEmissive
        target = IndicatorLights/Meshes/squareLamp
        emissiveName = indicator
    }
    
    MODULE {
        name = ModuleControllableEmissive
        target = IndicatorLights/Meshes/squareLamp2
        emissiveName = indicator
    }
    
    //-------------------------------------------------------------------------
    // CONTROLLERS
    //-------------------------------------------------------------------------

    // Controls the light manually.
    MODULE {
        name = ModuleToggleLED
        activeColor = ModuleDockingCrossfeedIndicator
        inactiveColor = $Off
    }
    
    // This provides detection of the docking port crossfeed. We don't specify an
    // emissiveName here because it's not controlling the light directly (we're
    // just using it as an input to other modules).
    MODULE {
        name = ModuleDockingCrossfeedIndicator
    }
    
    // This detects the docking state. We make this the "root" controller that
    // actually drives the emissive color, because we want the indicator to blink
    // when it's acquiring or disengaging, regardless of the toggle setting.
    // If we're in the "ready" (or docked) state, then we'll take our input
    // from the toggle.
    MODULE {
        name = ModuleDockingStateIndicator
        emissiveName = indicator
        readyColor = ModuleToggleLED
        acquireColor = blink(ModuleDockingCrossfeedIndicator, 100, $Off, 100)
        disengageColor = blink(ModuleDockingCrossfeedIndicator, 120, $Off, 1080)
    }
}

 


// Adds LED indicators to the Large docking port.
// Part for use with VenStockRevamp.

@PART[dockingPortLarge]:NEEDS[VenStockRevamp] {
    @description ^= :(.)$:$0 Indicator lights display crossfeed status.:
    
    // We have to re-specify the model for the stock part, because this is
    // an older part that uses the "mesh =" syntax in its .cfg file instead
    // of the newer "MODEL" syntax. The "mesh =" syntax doesn't allow having
    // multiple models as part of the same part, which would prevent this mod
    // from adding meshes for the indicator lights.
    // * dont do it with VENS
    //MODEL
    //{
    //    model = Squad/Parts/Utility/dockingPortSr/model
    //}
    
    //-------------------------------------------------------------------------
    // INDICATOR MESHES
    //-------------------------------------------------------------------------
    // Inner Lights
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 1, 2
        position = -0.8, 0.156, -0
        rotation = 0, 90, 0
    }
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 1, 2
        position = 0.8, 0.156, 0
        rotation = 0, -90, 0
    }
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 1, 2
        position = 0, 0.156, -0.8
        rotation = 0, 0, 0
    }
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 1, 2
        position = 0, 0.156, 0.8
        rotation = 0, 180, 0
    }
    
    // Outer Lights
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp
        scale = 0.3, 1.6, 1
        position = 0.875, 0.1, 0.875
        rotation = 0, 45, 0
    }
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp
        scale = 0.3, 1.6, 1
        position = -0.875, 0.1, 0.875
        rotation = 0, -45, 0
    }
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp
        scale = 0.3, 1.6, 1
        position = -0.875, 0.1, -0.875
        rotation = 0, -135, 0
    }
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp
        scale = 0.3, 1.6, 1
        position = 0.875, 0.1, -0.875
        rotation = 0, 135, 0
    }

    
    //-------------------------------------------------------------------------
    // CONTROLLABLE EMISSIVES
    //-------------------------------------------------------------------------
    MODULE {
        name = ModuleControllableEmissive
        target = IndicatorLights/Meshes/squareLamp
        emissiveName = indicator
    }
    
    MODULE {
        name = ModuleControllableEmissive
        target = IndicatorLights/Meshes/squareLamp2
        emissiveName = indicator
    }
    
    //-------------------------------------------------------------------------
    // CONTROLLERS
    //-------------------------------------------------------------------------

    // Controls the light manually.
    MODULE {
        name = ModuleToggleLED
        activeColor = ModuleDockingCrossfeedIndicator
        inactiveColor = $Off
    }
    
    // This provides detection of the docking port crossfeed. We don't specify an
    // emissiveName here because it's not controlling the light directly (we're
    // just using it as an input to other modules).
    MODULE {
        name = ModuleDockingCrossfeedIndicator
    }
    
    // This detects the docking state. We make this the "root" controller that
    // actually drives the emissive color, because we want the indicator to blink
    // when it's acquiring or disengaging, regardless of the toggle setting.
    // If we're in the "ready" (or docked) state, then we'll take our input
    // from the toggle.
    MODULE {
        name = ModuleDockingStateIndicator
        emissiveName = indicator
        readyColor = ModuleToggleLED
        acquireColor = blink(ModuleDockingCrossfeedIndicator, 100, $Off, 100)
        disengageColor = blink(ModuleDockingCrossfeedIndicator, 120, $Off, 1080)
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

// Adds LED indicators to the medium docking port.
// Part for use without VenStockRevamp. For with VENs, see below

@PART[dockingPort2]:NEEDS[!VenStockRevamp] {
    @description ^= :(.)$:$0 Indicator lights display crossfeed status.:
    
    // We have to re-specify the model for the stock part, because this is
    // an older part that uses the "mesh =" syntax in its .cfg file instead
    // of the newer "MODEL" syntax. The "mesh =" syntax doesn't allow having
    // multiple models as part of the same part, which would prevent this mod
    // from adding meshes for the indicator lights.
    MODEL
    {
        model = Squad/Parts/Utility/dockingPort/model
    }
    
    //-------------------------------------------------------------------------
    // INDICATOR MESHES
    //-------------------------------------------------------------------------
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 1, 1, 0.3
        position = -0.5331, 0.08, 0
        rotation = 0, 0, 20
    }

    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 1, 1, 0.3
        position = 0.5331, 0.08, 0
        rotation = 0, 0, -20
    }

    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 1, 1
        position = 0, 0.08, -0.5331
        rotation = -20, 0, 0
    }

    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 1, 1
        position = 0, 0.08, 0.5331
        rotation = 20, 0, 0
    }


    //-------------------------------------------------------------------------
    // CONTROLLABLE EMISSIVES
    //-------------------------------------------------------------------------
    MODULE {
        name = ModuleControllableEmissive
        target = IndicatorLights/Meshes/squareLamp2
        emissiveName = indicator
    }
    

    //-------------------------------------------------------------------------
    // CONTROLLERS
    //-------------------------------------------------------------------------

    // Controls the light manually.
    MODULE {
        name = ModuleToggleLED
        activeColor = ModuleDockingCrossfeedIndicator
        inactiveColor = $Off
    }
    
    // This provides detection of the docking port state. We don't specify an
    // emissiveName here because it's not controlling the light directly (we're
    // just using it as an input to other modules).
    MODULE {
        name = ModuleDockingCrossfeedIndicator
    }
    
    // This detects the docking state. We make this the "root" controller that
    // actually drives the emissive color, because we want the indicator to blink
    // when it's acquiring or disengaging, regardless of the toggle setting.
    // If we're in the "ready" (or docked) state, then we'll take our input
    // from the toggle.
    MODULE {
        name = ModuleDockingStateIndicator
        emissiveName = indicator
        readyColor = ModuleToggleLED
        acquireColor = blink(ModuleDockingCrossfeedIndicator, 100, $Off, 100)
        disengageColor = blink(ModuleDockingCrossfeedIndicator, 120, $Off, 1080)
    }
}

 


// Adds LED indicators to the medium docking port.
// Part for use with VenStockRevamp.

@PART[dockingPort2]:NEEDS[VenStockRevamp] {
    @description ^= :(.)$:$0 Indicator lights display crossfeed status.:
    
    // We have to re-specify the model for the stock part, because this is
    // an older part that uses the "mesh =" syntax in its .cfg file instead
    // of the newer "MODEL" syntax. The "mesh =" syntax doesn't allow having
    // multiple models as part of the same part, which would prevent this mod
    // from adding meshes for the indicator lights.
    // * dont do it with VENS
    //MODEL
    //{
    //    model = Squad/Parts/Utility/dockingPort/model
    //}
    
    //-------------------------------------------------------------------------
    // INDICATOR MESHES
    //-------------------------------------------------------------------------
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 1, 1, 0.3
        position = -0.6231, 0.10, 0
        rotation = 0, 0, 90
    }

    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 1, 1, 0.3
        position = 0.6231, 0.10, 0
        rotation = 0, 0, -90
    }

    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 1, 1
        position = 0, 0.10, -0.6231
        rotation = -90, 0, 0
    }

    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 1, 1
        position = 0, 0.10, 0.6231
        rotation = 90, 0, 0
    }


    //-------------------------------------------------------------------------
    // CONTROLLABLE EMISSIVES
    //-------------------------------------------------------------------------
    MODULE {
        name = ModuleControllableEmissive
        target = IndicatorLights/Meshes/squareLamp2
        emissiveName = indicator
    }
    

    //-------------------------------------------------------------------------
    // CONTROLLERS
    //-------------------------------------------------------------------------

    // Controls the light manually.
    MODULE {
        name = ModuleToggleLED
        activeColor = ModuleDockingCrossfeedIndicator
        inactiveColor = $Off
    }
    
    // This provides detection of the docking port state. We don't specify an
    // emissiveName here because it's not controlling the light directly (we're
    // just using it as an input to other modules).
    MODULE {
        name = ModuleDockingCrossfeedIndicator
    }
    
    // This detects the docking state. We make this the "root" controller that
    // actually drives the emissive color, because we want the indicator to blink
    // when it's acquiring or disengaging, regardless of the toggle setting.
    // If we're in the "ready" (or docked) state, then we'll take our input
    // from the toggle.
    MODULE {
        name = ModuleDockingStateIndicator
        emissiveName = indicator
        readyColor = ModuleToggleLED
        acquireColor = blink(ModuleDockingCrossfeedIndicator, 100, $Off, 100)
        disengageColor = blink(ModuleDockingCrossfeedIndicator, 120, $Off, 1080)
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

// Adds LED indicators to the small docking port.
// Part for use without VenStockRevamp. For with VENs, see below

@PART[dockingPort3]:NEEDS[!VenStockRevamp] {
    @description ^= :(.)$:$0 Indicator lights display crossfeed status.:
    
    // We have to re-specify the model for the stock part, because this is
    // an older part that uses the "mesh =" syntax in its .cfg file instead
    // of the newer "MODEL" syntax. The "mesh =" syntax doesn't allow having
    // multiple models as part of the same part, which would prevent this mod
    // from adding meshes for the indicator lights.
    MODEL
    {
        model = Squad/Parts/Utility/dockingPortJr/model
    }
    
    //-------------------------------------------------------------------------
    // INDICATOR MESHES
    //-------------------------------------------------------------------------
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 0.6, 0.3
        position = -0.32, 0.06, 0
        rotation = 0, 0, 8
    }

    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 0.6, 0.3
        position = 0.32, 0.06, 0
        rotation = 0, 0, -8
    }


    //-------------------------------------------------------------------------
    // CONTROLLABLE EMISSIVES
    //-------------------------------------------------------------------------
    MODULE {
        name = ModuleControllableEmissive
        target = IndicatorLights/Meshes/squareLamp2
        emissiveName = indicator
    }
    

    //-------------------------------------------------------------------------
    // CONTROLLERS
    //-------------------------------------------------------------------------

    // Controls the light manually.
    MODULE {
        name = ModuleToggleLED
        activeColor = ModuleDockingCrossfeedIndicator
        inactiveColor = $Off
    }
    
    // This provides detection of the docking port state. We don't specify an
    // emissiveName here because it's not controlling the light directly (we're
    // just using it as an input to other modules).
    MODULE {
        name = ModuleDockingCrossfeedIndicator
    }
    
    // This detects the docking state. We make this the "root" controller that
    // actually drives the emissive color, because we want the indicator to blink
    // when it's acquiring or disengaging, regardless of the toggle setting.
    // If we're in the "ready" (or docked) state, then we'll take our input
    // from the toggle.
    MODULE {
        name = ModuleDockingStateIndicator
        emissiveName = indicator
        readyColor = ModuleToggleLED
        acquireColor = blink(ModuleDockingCrossfeedIndicator, 100, $Off, 100)
        disengageColor = blink(ModuleDockingCrossfeedIndicator, 120, $Off, 1080)
    }
}

 


// Adds LED indicators to the small docking port.
// Part for use with VenStockRevamp.

@PART[dockingPort3]:NEEDS[VenStockRevamp] {
    @description ^= :(.)$:$0 Indicator lights display crossfeed status.:
    
    // We have to re-specify the model for the stock part, because this is
    // an older part that uses the "mesh =" syntax in its .cfg file instead
    // of the newer "MODEL" syntax. The "mesh =" syntax doesn't allow having
    // multiple models as part of the same part, which would prevent this mod
    // from adding meshes for the indicator lights.
    // * dont do it with VENS
    //MODEL
    //{
    //    model = Squad/Parts/Utility/dockingPortJr/model
    // * dont do it with VENS}
    
    //-------------------------------------------------------------------------
    // INDICATOR MESHES
    //-------------------------------------------------------------------------
    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 0.6, 0.3
        position = -0.31, 0.06, 0
        rotation = 0, 0, 90
    }

    MODEL
    {
        model = IndicatorLights/Meshes/squareLamp2
        scale = 0.3, 0.6, 0.3
        position = 0.31, 0.06, 0
        rotation = 0, 0, -90
    }


    //-------------------------------------------------------------------------
    // CONTROLLABLE EMISSIVES
    //-------------------------------------------------------------------------
    MODULE {
        name = ModuleControllableEmissive
        target = IndicatorLights/Meshes/squareLamp2
        emissiveName = indicator
    }
    

    //-------------------------------------------------------------------------
    // CONTROLLERS
    //-------------------------------------------------------------------------

    // Controls the light manually.
    MODULE {
        name = ModuleToggleLED
        activeColor = ModuleDockingCrossfeedIndicator
        inactiveColor = $Off
    }
    
    // This provides detection of the docking port state. We don't specify an
    // emissiveName here because it's not controlling the light directly (we're
    // just using it as an input to other modules).
    MODULE {
        name = ModuleDockingCrossfeedIndicator
    }
    
    // This detects the docking state. We make this the "root" controller that
    // actually drives the emissive color, because we want the indicator to blink
    // when it's acquiring or disengaging, regardless of the toggle setting.
    // If we're in the "ready" (or docked) state, then we'll take our input
    // from the toggle.
    MODULE {
        name = ModuleDockingStateIndicator
        emissiveName = indicator
        readyColor = ModuleToggleLED
        acquireColor = blink(ModuleDockingCrossfeedIndicator, 100, $Off, 100)
        disengageColor = blink(ModuleDockingCrossfeedIndicator, 120, $Off, 1080)
    }
}

 

BR
Rob

 

 

Edited by Rob2222
Link to comment
Share on other sites

8 hours ago, Smart Parts Wanter said:

Does this mod affect robotics control unit too? Cause since I installed the control unit lost it's texture and is grey only now, with a green led at the top mid.

I don't even know what a robotics control unit is.  Something from a mod?  Which mod?

IndicatorLights shouldn't do anything to a new part from a mod, unless the author of the other mod did something really unusual like repurposing an existing KSP stock part with a new mesh and modules and such.

2 hours ago, Rob2222 said:

Hello, I've reported that indicator lights breaks VENs docking ports... I now have some more information.

Excellent, thank you very much for tracking that down!

I should add a Known Issues section to the IndicatorLights wiki, link to that from the OP of this thread, and then link to your post.  :)

Link to comment
Share on other sites

  • 2 weeks later...

KSP 1.1.3

I installed this mod via CKAN and, at first, I didn't see any any indicator light part.  I did see the status light on things such as batteries, command pods and the like.  I started a new career save and, lo and behold, I see the part in the VAB.  However, now in the output log, I get some errors:

Quote

Load(Texture): IndicatorLights/Parts/fuelCells/White
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

d3d: failed to create 2D texture id=2285 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
[TR.Loader] Generated mipmaps & compressed IndicatorLights/Parts/fuelCells/Lightbulb [2x2 DXT5 -> DXT1]
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

d3d: failed to create 2D texture id=2285 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2285 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2287 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
[TR.Loader] Generated mipmaps & compressed IndicatorLights/Parts/fuelCells/White [2x2 DXT5 -> DXT1]
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

Load(Texture): IndicatorLights/Parts/indicatorLightSmall/Bezel
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

Load(Texture): IndicatorLights/Parts/indicatorLightSmall/Lightbulb
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

d3d: failed to create 2D texture id=2287 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2285 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2287 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2285 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2289 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
[TR.Loader] Generated mipmaps & compressed IndicatorLights/Parts/indicatorLightSmall/Bezel [2x2 DXT5 -> DXT1]
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

d3d: failed to create 2D texture id=2287 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2285 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2289 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2287 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2285 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2289 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2291 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
[TR.Loader] Generated mipmaps & compressed IndicatorLights/Parts/indicatorLightSmall/Lightbulb [2x2 DXT5 -> DXT1]
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

Load(Texture): IndicatorLights/Parts/indicatorLightSmall/White
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

Load(Texture): JSI/Agencies/JSI
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

d3d: failed to create 2D texture id=2291 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2287 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2285 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2289 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2291 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2287 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2285 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2289 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
d3d: failed to create 2D texture id=2293 w=2 h=2 mips=3 d3dfmt=21 [invalid call]
[TR.Loader] Generated mipmaps & compressed IndicatorLights/Parts/indicatorLightSmall/White [2x2 DXT5 -> DXT1]

This probably results in the part in the VAB appearing as black dot, a behaviour which continues in flight.  I can't get the light to do anything, but I figure it's all related. The entire output_log is here.

Have I done something wrong?  Is it a Texture Replacer (v2.4.13, manual install) issue?

Edited by Brigadier
Link to comment
Share on other sites

On 9/4/2016 at 11:37 PM, Brigadier said:

This probably results in the part in the VAB appearing as black dot, a behaviour which continues in flight.  I can't get the light to do anything, but I figure it's all related. The entire output_log is here.

Have I done something wrong?  Is it a Texture Replacer (v2.4.13, manual install) issue?

Yep, it's TextureReplacer.  A known issue (several folks have brought it up in the thread).

Basically, TextureReplacer and IndicatorLights do not play nice together, for some unknown reason.  There is no known solution.  :(

(That doesn't necessarily mean that there couldn't be a solution... but since I don't run TR myself and don't have the time to track this down, in practical terms this means that there will never be a fix for this issue unless someone tracks down the specific issue and hands it to me on a platter.)

Sorry I couldn't be of more help.

Link to comment
Share on other sites

In VAB, when I delete a part(or a bunch of parts), the debug console gets filled with nullreferenceExceptions and ExceptionDetector pointed out to be related to Indicator lights.

adda78c1cdf287254d3ccb52e1fd4332.png

Here is the log file: https://www.dropbox.com/s/onmxrv91trkslo2/output_log.txt?dl=1

I also have the same issue as 3 posts above, with the indicator light not emitting any light and having texture replacer. The lights on batteries, docks etc. work though.

Edited by Thegamer211
Link to comment
Share on other sites

8 hours ago, Thegamer211 said:

In VAB, when I delete a part(or a bunch of parts), the debug console gets filled with nullreferenceExceptions and ExceptionDetector pointed out to be related to Indicator lights.

Thanks for the heads up!  I'll have a look.

8 hours ago, Thegamer211 said:

the indicator light not emitting any light

Just to be clear, by "emitting light" you just mean "looking like it's lit up", yes?  Because none of the lights in IndicatorLights ever actually emits light, i.e. they will never light up other nearby objects.  They just glow.  (My reading of your comment is that you're simply confirming that you're seeing the same bug.  Just sanity-checking to make sure I'm not misunderstanding.)

8 hours ago, Kerbart said:

Could it be something else that triggers it? I have Texture Replacer and things just work fine on my machine.

I think it's pretty clear that it's Texture Replacer.  Every single person who has reported this issue has TR installed.

That said, it may be more complex than that-- i.e. maybe triggering the bug requires that TR be installed, and some other combination of circumstances (settings, or some in-game situation).  In other words:  at this point it seems highly likely that TR is necessary to see the bug, but merely having it installed might not be sufficient.

Some of the folks who are bitten by this bug seem to get it pretty consistently.  If you have TR but aren't being bitten, might be interesting for you to compare notes with them to see if you can isolate the "what am I doing differently from you".  Might help to narrow down where the bug is and/or suggest a workaround, i.e. "oh, you can make TR stop doing this if you <do thing like Kerbart>."

 

Link to comment
Share on other sites

To confirm that its texture replacer that causes the issue, I made a clean install and tested the lights without and with texture replacer

b254da7d465e866dfcf6f428274f7a5c.png
(Texture replacer was added after the first test)

Here is the light without texture replacer installed:

68332c2a993c733eafe4b26958ac1da9.png

And heres the log file: https://www.dropbox.com/s/t1wgciqx19gvpsa/output_log-w-out textureplacer.txt?dl=1

And here is the light after I installed texture replacer:

1771aaef8c36455348900bf24c414972.png

And the log file:  https://www.dropbox.com/s/6f12gv33sgawmn1/output_log-w textureplacer.txt?dl=1

@Kerbart, if indicatorlights works for you with texture replacer installed, you should send some pics and probably a log file. Also, is it the most recent texture replacer version and indicatorlights?

Link to comment
Share on other sites

ok, so the version if have of TR is 2.4.13, which according to the release thread, is the latest version.

As much as it broke my heart, I do have the latest version of IL installed.

I have 141 mentions in the log about replacer, but the majority seems to be load and unload events. There is a mention about replacer in the log regarding indicator lights though, in the modulemanager section:

[LOG 22:10:34.786] [ModuleManager] Applying node IndicatorLights/Patches/IndicatorLights_TextureReplacer/@TextureReplacer:AFTER[TextureReplacer] to TextureReplacer/@Default/TextureReplacer

I have the following files added to TR:

Default:
Default.zip
desertplanetmoon00.dds
Duna5_00.dds
dwarfplanet100.dds
Eve2_00.dds
evemoon100.dds
GalaxyTexture.zip
GalaxyTex_NegativeX.jpg
GalaxyTex_NegativeY.jpg
GalaxyTex_NegativeZ.jpg
GalaxyTex_PositiveX.jpg
GalaxyTex_PositiveY.jpg
GalaxyTex_PositiveZ.jpg
gas1_clouds.dds
gp1icemoon00.dds
gp1minormoon100.dds
gp1minormoon200.dds
KerbinScaledSpace300.dds
moho00.dds
NewMunSurfaceMap00.dds
NewMunSurfaceMapDiffuse.dds
newoceanmoon00.dds
rockyMoon00.dds
snowydwarfplanet00.dds

EnvMap:
None

Heads:
None

Suits:
Folders “Blue” “Green” “Red” “Yellow” “Veteran”

Finally, the obligatory photo showing the lights are working:

In the VAB (the wonderful forum software that shall not be criticized doesn't let me add the “insert other media” url to imgur:

xlDBJPjl.png

(well never mind, pasting the URL gets it done immediately)

 

Out in the field:

PI9a9pZl.png

(Lest I shall not be known as a liar!! :) )

 

 

 

Edited by Kerbart
Link to comment
Share on other sites

2 hours ago, Kerbart said:

 

PI9a9pZl.png

Yes, Kerbart, very cool, but please tell us what we really want to hear:  Do the letters in the sign all blink in sequence from left to right?  :)

(Except for the exclamation points.  Those should clearly blink-animate in a flowing motion from bottom to top.)

Link to comment
Share on other sites

6 hours ago, Snark said:

Yes, Kerbart, very cool, but please tell us what we really want to hear:  Do the letters in the sign all blink in sequence from left to right?  :)

(Except for the exclamation points.  Those should clearly blink-animate in a flowing motion from bottom to top.)

Not yet, for the sake of producing this post quickly I didn't set it up that way. But... It crossed my mind, and I did save the craft file. A gif *will* be posted!

 

Link to comment
Share on other sites

So, I've been spending the last couple of days making patches to adapt the lights' positions to Ven's Stock Revamp.

So...much...coordinate...tweaking...:confused:

Thankfully, the spaceplane parts are all left alone, and most of the parts just needed a nudge, but the fuel cells and science experiments were trickier.

Many Bothans died to bring us this information:

Spoiler

@PART[ISRU]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights/Meshes/nubbinLamp]],*
	{
		oldX = #$position[0]$
		oldZ = #$position[2]$
		
		temp = #$oldX$
		@temp *= 0.5
		newX = #$temp$
		@temp = #$oldZ$
		@temp *= -0.86603
		@newX += #$temp$
		
		@temp = #$oldX$
		@temp *= 0.86603
		newZ = #$temp$
		@temp = #$oldZ$
		@temp *= 0.5
		@newZ += #$temp$
		
		@position[0] = #$newX$
		@position[2] = #$newZ$
		
		@rotation[1] -= 60
		
		-temp = delete
		-oldX = delete
		-oldZ = delete
		-newX = delete
		-newZ = delete
	}
}

@PART[MiniISRU]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights/Meshes/nubbinLamp]],*
	{
		@position[0] *= 0.93
		@position[1] += 0.1
		@position[2] *= 0.93
	}
}

@PART[Mark1-2Pod]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights/Meshes/nubbinLamp]],*
	{
		oldX = #$position[0]$
		oldZ = #$position[2]$
		
		temp = #$oldX$
		@temp *= 0.87462
		newX = #$temp$
		@temp = #$oldZ$
		@temp *= 0.48481
		@newX += #$temp$
		
		@temp = #$oldX$
		@temp *= -0.48481
		newZ = #$temp$
		@temp = #$oldZ$
		@temp *= 0.87462
		@newZ += #$temp$
		
		@position[0] = #$newX$
		@position[1] += 0.1
		@position[2] = #$newZ$
		@rotation[1] += 29
		
		@position[0] *= 0.95
		@position[2] *= 0.95
		
		-temp = delete
		-oldX = delete
		-oldZ = delete
		-newX = delete
		-newZ = delete
	}
}

@PART[crewCabin]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights/Meshes/nubbinLamp]],0
	{
		@position[2] -= 0.05
	}
}

@PART[cupola]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]]
	{
		@position[2] += 0.07
	}
}

@PART[mk1pod]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]]
	{
		@position[2] -= 0.04
	}
}

@PART[mk2LanderCabin]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]]
	{
		@position[1] -= 0.05
		@position[2] -= 0.09
	}
}

@PART[Large_Crewed_Lab]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]],*
	{
		@position[2] -= 0.0055
		@position[2] *= 1.02
	}
}

@PART[science_module]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]],*
	{
		@position[2] *= 1.25
	}
	
	!MODULE[ModuleControllableEmissive]:HAS[#target[Glass]]
	{
	}
	
	!MODULE[ModuleControllableEmissive]:HAS[#target[DoorAssembly]]
	{
	}
}

@PART[GooExperiment]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]],*
	{
		@position[0] *= 1.2
	}
}

@PART[SurveyScanner]:FINAL
{
	!MODEL{},*
	
	MODEL
	{
		model = VenStockRevamp/Squad/Parts/ScienceParts/surveyScanner
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp2
		scale = 0.4, 0.6, 1.6
		position = 0.01, 1.52, -0.005
	}
}

@PART[SurfaceScanner]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]]
	{
		@position[1] += 0.03
	}
}

@PART[sensorAccelerometer,sensorBarometer,sensorGravimeter,sensorThermometer]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights*]]
	{
		@model = IndicatorLights/Meshes/squareLamp2
		@scale = 0.5, 0.5, 0.5
		@position = 0, 0.055, -0.115
		%rotation = 0, -90, 90
	}
}

@PART[asasmodule1-2]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[Squad/Parts/Command/advancedSasModuleLarge/model]]
	{
	}
	
	@MODEL:HAS[#model[IndicatorLights*]],*
	{
		@position[0] *= 1.02
		@position[2] *= 1.02
	}
}

@PART[dockingPortLarge]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]]
	{
	}
	
	@MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp2]],*
	{
		@position[0] *= 1.25
		@position[2] *= 1.25
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.3, 1.6, 1
		position = 1.07, 0.1, 0.625
		rotation = 0, 60, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.3, 1.6, 1
		position = -1.07, 0.1, 0.625
		rotation = 0, 300, 0
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.3, 1.6, 1
		position = 1.07, 0.1, -0.625
		rotation = 0, 120, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.3, 1.6, 1
		position = -1.07, 0.1, -0.625
		rotation = 0, 240, 0
	}
}

@PART[dockingPort2]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights*]],*
	{
		@position[0] *= 1.18
		@position[2] *= 1.18
		@rotation[0] *= 4.5
		@rotation[2] *= 4.5
	}
}

@PART[dockingPort3]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights*]],*
	{
		@position[0] *= 0.97
		@rotation[2] *= 11.25
	}
}

@PART[batteryPack]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights*]]
	{
		@position[0] = 0
		@position[1] += 0.02
	}
}

@PART[ksp_r_largeBatteryPack]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights*]]
	{
		@position[1] -= 0.04
		@position[2] = -0.09
	}
}

@PART[FuelCell]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights*]]
	{
		@position = -0.12, -0.04, 0.098
	}
}

@PART[FuelCellArray]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	@MODEL:HAS[#model[IndicatorLights*]]
	{
		@position = -0.24708, -0.10, 0.27
	}
}

 

I'll see about tossing this into GitHub as a file in a day or two (so nobody need fear copy-pasting errors).  @Snark, you're welcome to distribute this patch with future releases of IndicatorLights, but I'm not sure I'd recommend it -- some of the patches don't use what I would consider best practices (e.g. deleting and recreating models vs. adapting the ones in-place), and a couple have some quirks driven by quirks in VSR, which may be subject to change.

Link to comment
Share on other sites

8 minutes ago, Kerbas_ad_astra said:

So, I've been spending the last couple of days making patches to adapt the lights' positions to Ven's Stock Revamp.

So...much...coordinate...tweaking...:confused:

@Snark, you're welcome to distribute this patch with future releases of IndicatorLights, but I'm not sure I'd recommend it -- some of the patches don't use what I would consider best practices (e.g. deleting and recreating models vs. adapting the ones in-place), and a couple have some quirks driven by quirks in VSR, which may be subject to change.

Thank you!  Now you understand why I haven't gone and done it myself... :wink:

I hate to look a gift horse in the mouth... but... as currently specified, the way they're tweaking the positions are taking my numbers and applying a multiplier to them.  Would it be possible for you to specify the coordinates in absolute terms?

My concern is maintainability.  In other words, by making the VSR positions a multiplier of the stock positions... that means that if the stock models ever change (e.g. if new Porkjet models ever become stock), then this patch would break and have to be completely redone.  Whereas, if you specify the VSR positions as absolute coordinates, it doesn't matter what the stock parts do-- the patch would only need updating if-and-when VSR itself changes.

Thoughts?  I'm not saying "I won't use the patch unless you do this" ... just, I suspect that doing it as I suggest (i.e. as absolute coordinates), the patch would likely stay relevant longer into the future.

If the answer is an anguished "Noooooooooo, not again, please don't make me re-live the horror!", then I expect we can work around that.  Just wanted to put it on the table to see whether it's a possibility.  :)

Link to comment
Share on other sites

Spoiler

@PART[ISRU]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/nubbinLamp]],*
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.8, 0.8, 0.7
		position = 0.83358034, 0.1,-0.712206
		rotation = 0,120, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.8, 0.8, 0.7
		position = 0.90023034, 0.1,-0.596764201
		rotation = 0,120, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.8, 0.8, 0.7
		position = 0.96693034, 0.1,-0.481235799
		rotation = 0,120, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.8, 0.8, 0.7
		position = 1.03358034, 0.1,-0.365794
		rotation = 0,120, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.8, 0.8, 0.7
		position = 0.200006226, 0.1,1.078028608
		rotation = 0,0, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.8, 0.8, 0.7
		position = 0.066716364, 0.1,1.077964407
		rotation = 0,0, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.8, 0.8, 0.7
		position = -0.066746704, 0.1,1.078000206
		rotation = 0,0, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.8, 0.8, 0.7
		position = -0.199986566, 0.1,1.078022608
		rotation = 0,0, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.8, 0.8, 0.7
		position = -1.033586566, 0.1,-0.365822608
		rotation = 0,240, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.8, 0.8, 0.7
		position = -0.966946704, 0.1,-0.481200206
		rotation = 0,240, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.8, 0.8, 0.7
		position = -0.900183636, 0.1,-0.596764407
		rotation = 0,240, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.8, 0.8, 0.7
		position = -0.833593774, 0.1,-0.712228608
		rotation = 0,240, 0
	}
}

@PART[MiniISRU]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/nubbinLamp]],*
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.6
		position = -0.54498,0.055,0.174375
		rotation = 0, 270, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.6
		position = -0.54498,0.055,0.058125
		rotation = 0, 270, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.6
		position = -0.54498,0.055,-0.058125
		rotation = 0, 270, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.6
		position = -0.54498,0.055,-0.174375
		rotation = 0, 270, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.6
		position = 0.121458,0.055,-0.559116
		rotation = 0, 150, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.6
		position = 0.222177,0.055,-0.500991
		rotation = 0, 150, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.6
		position = 0.322803,0.055,-0.442866
		rotation = 0, 150, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.6
		position = 0.423522,0.055,-0.384741
		rotation = 0, 150, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.6
		position = 0.423522,0.055,0.384741
		rotation = 0, 30, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.6
		position = 0.322803,0.055,0.442866
		rotation = 0, 30, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.6
		position = 0.222177,0.055,0.500991
		rotation = 0, 30, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.6
		position = 0.121458,0.055,0.559116
		rotation = 0, 30, 0
	}
}

@PART[Mark1-2Pod]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/nubbinLamp]],*
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.6, 0.6, 0.5
		position = 0.0853988934,0.89,0.69626619005
		rotation = -20,7, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.6, 0.6, 0.5
		position = 2.3578049999956E-05,0.89,0.7015550861
		rotation = -20,0, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.6, 0.6, 0.5
		position = -0.0854616067,0.89,0.6962602516
		rotation = -20,-7, 0
	}
}

@PART[crewCabin]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/nubbinLamp]],*
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.9
		position = 0.37, 0.15,-1.155
		rotation = 0, 180, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.9
		position = 0.37, 0.05,-1.155
		rotation = 0, 180, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.9
		position = 0.37, -0.05,-1.155
		rotation = 0, 180, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		scale = 0.7, 0.7, 0.9
		position = 0.37, -0.15,-1.155
		rotation = 0, 180, 0
	}
}

@PART[cupola]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]]
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 1, 0.25, 0.5
		position = 0, -0.157,-1.283
		rotation = 0, 180, 0
	}
}

@PART[mk1pod]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]]
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 1, 0.25, 0.5
		position = 0, 0,-0.5538
		rotation = -160, 0, 0
	}
}

@PART[mk2LanderCabin]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]]
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 1, 0.25, 0.5
		position = 0,-0.05,-1.277
		rotation = 0, 180, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 1, 0.25, 0.5
		position = 0,0.456,-1.277
		rotation = 0, 180, 0
	}
}

@PART[Large_Crewed_Lab]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]],*
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 1, 0.25, 0.5
		position = 0, -0.26,-1.30509
		rotation = 0, 180, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 1, 0.25, 0.5
		position = 0, -0.26,1.30509
		rotation = 0, 0, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 1, 0.25, 0.5
		position = 0, 0.26,-1.30509
		rotation = 0, 180, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 1, 0.25, 0.5
		position = 0, 0.26,1.30509
		rotation = 0, 0, 0
	}
}

@PART[science_module]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]],*
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 1, 0.4, 0.5
		position = 0, -0.34833,-0.6229875
		rotation = 0, 180, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 1, 0.4, 0.5
		position = 0, -0.34833,0.6229875
		rotation = 0, 0, 0
	}
	
	!MODULE[ModuleControllableEmissive]:HAS[#target[Glass]]
	{
	}
	
	!MODULE[ModuleControllableEmissive]:HAS[#target[DoorAssembly]]
	{
	}
}

@PART[GooExperiment]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]],*
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.5, 1.7, 0.5
		position = -0.25752, 0, -0.358
		rotation = 0, -90, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.5, 1.7, 0.5
		position = 0.25752, 0, -0.358
		rotation = 0, 90, 0
	}
}

// This one is the odd one out -- because of the way that VSR patches the config, the scanner model ends up with the position and size of the light, which squishes it out of shape/place and looks weird.
@PART[SurveyScanner]:FINAL
{
	!MODEL:HAS[#model[VenStockRevamp/Squad/Parts/ScienceParts/surveyScanner]]{}
	!MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp2]]{}
	
	MODEL
	{
		model = VenStockRevamp/Squad/Parts/ScienceParts/surveyScanner
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp2
		scale = 0.4, 0.6, 1.6
		position = 0.01, 1.52, -0.005
	}
}

@PART[SurfaceScanner]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]]
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 1, 0.5, 0.5
		position = 0,0.077, -0.229
		rotation = 0, 180, 0
	}
}

@PART[sensorAccelerometer,sensorBarometer,sensorGravimeter,sensorThermometer]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights*]]
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp2
		scale = 0.5, 0.5, 0.5
		position = 0, 0.055, -0.115
		rotation = 0, -90, 90
	}
}

@PART[asasmodule1-2]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[Squad/Parts/Command/advancedSasModuleLarge/model]]
	{
	}
	
	!MODEL:HAS[#model[IndicatorLights*]],*
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.8, 0.8, 1
		position = -0.90168, 0,0.90168
		rotation = 0, -45, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.8, 0.8, 1
		position = 0.90168, 0,-0.90168
		rotation = 0, 135, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.8, 0.8, 1
		position = 0.90168, 0,0.90168
		rotation = 0, 45, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.8, 0.8, 1
		position = -0.90168, 0,-0.90168
		rotation = 0, 225, 0
	}
}

@PART[dockingPortLarge]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp]],*
	{
	}
	
	!MODEL:HAS[#model[IndicatorLights/Meshes/squareLamp2]],*
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp2
		scale = 0.3, 1, 2
		position = 0, 0.156,-0.73125
		rotation = 0, 0, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp2
		scale = 0.3, 1, 2
		position = 0.63375, 0.156,0.365625
		rotation = 0, -120, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp2
		scale = 0.3, 1, 2
		position = -0.63375, 0.156,0.365625
		rotation = 0, 120, 0
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.3, 1.6, 1
		position = 1.07, 0.1, 0.625
		rotation = 0, 60, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.3, 1.6, 1
		position = -1.07, 0.1, 0.625
		rotation = 0, 300, 0
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.3, 1.6, 1
		position = 1.07, 0.1, -0.625
		rotation = 0, 120, 0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp
		scale = 0.3, 1.6, 1
		position = -1.07, 0.1, -0.625
		rotation = 0, 240, 0
	}
}

@PART[dockingPort2]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights*]],*
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp2
		scale = 1, 1, 0.3
		position = -0.629058, 0.08,0
		rotation = 0, 0,90
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp2
		scale = 1, 1, 0.3
		position = 0.629058, 0.08,0
		rotation = 0, 0,-90
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp2
		scale = 0.3, 1, 1
		position = 0, 0.08,-0.629058
		rotation = -90, 0,0
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp2
		scale = 0.3, 1, 1
		position = 0, 0.08,0.629058
		rotation = 90, 0,0
	}
}

@PART[dockingPort3]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights*]],*
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp2
		scale = 0.3, 0.6, 0.3
		position = -0.3104, 0.06, 0
		rotation = 0, 0,90
	}
	MODEL
	{
		model = IndicatorLights/Meshes/squareLamp2
		scale = 0.3, 0.6, 0.3
		position = 0.3104, 0.06, 0
		rotation = 0, 0,-90
	}
}

@PART[batteryPack]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights*]]
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/z100lamp
		scale = 1.02, 1, 1.02
		position = 0,0.228, -0.08216
	}
}

@PART[ksp_r_largeBatteryPack]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights*]]
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Meshes/nubbinLamp
		position = 0,0.252,-0.09
		rotation = -90, 0, 0
	}
}

@PART[FuelCell]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights*]]
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Parts/fuelCells/rectangularIndicatorModel
		scale = 0.11077, 0.8, 0.5
		position = -0.12, -0.04, 0.098
		rotation = 0, 180, 0
	}
}

@PART[FuelCellArray]:AFTER[IndicatorLights]:NEEDS[VenStockRevamp]
{
	!MODEL:HAS[#model[IndicatorLights*]]
	{
	}
	
	MODEL
	{
		model = IndicatorLights/Parts/fuelCells/arrayIndicatorModel
		position = -0.24708, -0.10, 0.27
		rotation = 0, 90, 0
	}
}

 

 

Link to comment
Share on other sites

1 hour ago, Kerbas_ad_astra said:

I can easily grab the final values from Module Manager's cache, so no, no anguish here. :)  Give me a few minutes, and I'll whip it right up.

Now we're talkin'!  You, sir, are a gentleman and a scholar.  I'll get that into the next version of IndicatorLights.

Thank you for taking one for the team!

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...