sumghai

FusTek Station Parts Dev Thread (continuation of fusty's original work)

Recommended Posts

2 hours ago, chlbutterworth said:

Is this mod going to be update for 1.2? Or is it on hold for a long duration? 

I'll resume work on FusTek once SDHI SMS has been updated for KSP 1.2.1.

Share this post


Link to post
Share on other sites
22 hours ago, sumghai said:

I'll resume work on FusTek once SDHI SMS has been updated for KSP 1.2.1.

This is a fantastic mod and i look forward to it being updated. Is there an archive of any older versions at all?

Share this post


Link to post
Share on other sites
6 hours ago, chlbutterworth said:

This is a fantastic mod and i look forward to it being updated. Is there an archive of any older versions at all?

I don't really keep "older" versions around, as they end up being reworked for each major KSP version update.

That said, a download link to my current WIP is available in my signature.

Share this post


Link to post
Share on other sites

Quick Progress Report, 23 Nov 2016

I've migrated my WIP parts to 1.2.1, with the following observations:

- Decal transparency in the part list still does not work, although they appear fine in the main VAB/SPH build area and flight scene. This is a mild annoyance, but not critical.

- IVAs are still not casting shadows properly, so the interior of the Kuest Airlock is lit even though there are no windows or internal light sources. I'm still wrestling Unity mesh and shader configs to get this fixed.

Share this post


Link to post
Share on other sites
On 11/18/2016 at 1:10 PM, sumghai said:

I'll resume work on FusTek once SDHI SMS has been updated for KSP 1.2.1.

WELL CHEERS M8 @sumghai :) 

Edited by ISE
Corrected the name lol

Share this post


Link to post
Share on other sites

Progress Report, 2 July 2017

As I have indicated elsewhere, I'm still working on FusTek Station Parts, despite various things getting in the way (such as SDHI SMS and a real-life career change).

I've finally managed to finish the IVA for the Kuest Airlock, as well as the Flight Scene cutaway views - the cutaways are quite small because they have to line up with the geometry of the internal FLEXracks props, and the corner areas would have been occupied by integrated monoprop / life support oxygen tanks that would block the view anyway. As such, the Kuest Airlock is now 100% complete.

beA0U19.jpg

Going forward, I am going to slowly work on each module and its corresponding IVA to completion, before moving on to the next one. My system of modular structural panels makes life a whole lot easier, especially now that I have less time to develop mods than in the past.

EDIT: For those wondering about the IVA shadow casting and light leaking through opaque walls issue, I've been told it's a KSP bug. Nothing I can do about it.

Share this post


Link to post
Share on other sites

Progress Report, 24 July 2017

I'm currently working on the main crew modules (Hab, Science lab and Utilities/Command). Thanks to @InsaneDruid, I managed to figure out how to fix vertex normals around viewport cutouts:

aIButzJ.png

Now, let's talk about viewports and transparent pods.

Originally, none of the FusTek pod windows were meant to be transparent, but when I conceived the Kupola Observation Module, I felt that its windows were large enough to justify investing time in using a third-party plugin like JSIAdvTransparentPod. For consistency's sake, I decided that the other crew modules should also have transparent windows, but there were a number of factors to consider:

 - Cabin lighting is dynamically controlled via RPM; the lights can be toggled on and off via pushbuttons, and will also automatically shut off if the vessel runs out of ElectricCharge

 - The viewports all have integrated blast shutters controllable from IVA, which will obviously block out the cabin lights from the viewports.

 - Finally, there is a very small (but extremely vocal) minority of players in this thread that have made their dislike of what they perceive as "unnecessary" dependencies known.

So how do I balance all these requirements? I believe a hybrid approach is best:

- On the pod exterior model, the outermost pane on the viewport frame will have fixed transparency.

- Immediately behind the outer pane is the animated blast shutter

- The inner pane, meanwhile, will by default be an opaque diffuse emissive controlled by the internal cabin lighting state, and become transparent only when JSIAdvTransparentPods is installed

- The viewport frame prop in the internal will just have a button controlling the corresponding shutter (I believe RPM supports driving external part animations from IVA)

So far, I've set up the transparent windows and IVA cutaways for the Hab:

mp7R5qs.jpg

The Problem

My original intention was for each of the viewport shutters to be individually toggleable from the corresponding viewport wall panel in IVA, with master open all/close all switches located near the ends of cabin IVAs, as well as in the part context right-click menu. However, I'm not sure if JSI RPM supports the complex master-slave animation control scheme I have in mind for this to work.

Another complication is cabin interior lighting - the Utilities and Science modules are easy because they have one single contiguous "zone", but the Hab has a total of five zones (the main galley area/corridor, and the four individual sleep stations). For the Hab, each sleep station was intended to have its own independent lighting controls, while yet another part context right-click menu would provide the master lights on/lights off capability.

Is this a bit too much for you guys and gals and players? Is this too difficult to implement in JSI RPM? What alternative setups would you guys suggest?

This isn't just a muse - I actually do seriously need help on this.

Share this post


Link to post
Share on other sites
2 hours ago, sumghai said:

The Problem

My original intention was for each of the viewport shutters to be individually toggleable from the corresponding viewport wall panel in IVA, with master open all/close all switches located near the ends of cabin IVAs, as well as in the part context right-click menu. However, I'm not sure if JSI RPM supports the complex master-slave animation control scheme I have in mind for this to work.

Another complication is cabin interior lighting - the Utilities and Science modules are easy because they have one single contiguous "zone", but the Hab has a total of five zones (the main galley area/corridor, and the four individual sleep stations). For the Hab, each sleep station was intended to have its own independent lighting controls, while yet another part context right-click menu would provide the master lights on/lights off capability.

Is this a bit too much for you guys and gals and players? Is this too difficult to implement in JSI RPM? What alternative setups would you guys suggest?

This isn't just a muse - I actually do seriously need help on this.

RPM may be able to do what you want, but it would take some convoluted custom variables (more advanced than anything I've tried in RPM).  I've seen how alexustas was able to work magic in some of the IVA designs he's released for RPM, and it's complex.  MAS, on the other hand, would make independent props (shutter/light) + master overrides much simpler to implement.  The only element of the feature you're describing that neither RPM nor MAS supports is tying those to a context menu for external control.  However, I see a way to add a context menu option for MAS.

Share this post


Link to post
Share on other sites
20 hours ago, MOARdV said:

RPM may be able to do what you want, but it would take some convoluted custom variables (more advanced than anything I've tried in RPM).  I've seen how alexustas was able to work magic in some of the IVA designs he's released for RPM, and it's complex.  MAS, on the other hand, would make independent props (shutter/light) + master overrides much simpler to implement.  The only element of the feature you're describing that neither RPM nor MAS supports is tying those to a context menu for external control.  However, I see a way to add a context menu option for MAS.

MAS is sounding better and better by the minute - I just read the primer on Lua scripting on the MAS GitHub wiki. On the other hand, keeping the desired feature backwards-compatible with RPM would be nice. @alexustas, would you be interested in weighing in as well?

Progress Report, 25 July 2017

A quick diagram detailing the extent of the master/slave control scheme for viewport shutters, as well as the various lighting zones:

iGH3r3O.png

In anticipation of whatever control logic solution that ultimately arises, I think I'll start off by moving the individual shutters and animations from the viewport props to the part exterior, so that the shutters would work with both opaque and transparent windows.

Share this post


Link to post
Share on other sites

Progress Report, 30 July 2017

After a little bit of banging and shouting, I've managed to make each of the viewport shutters on the Hab independently controllable via a pushbutton on the corresponding internal viewport prop:

Pk1CTvN.png

There is a minor difference in the appearance of the shutters when the JSI Adv Trans Pod plugin is enabled and when it is disabled. I suspect it is due to the way internal props and external parts are rendered, but I'm not going to lose sleep over it.

Now, going back to the master/slave viewport shutter control system, here are the detailed requirements:

- Each shutter must be individually controllable with the "local" switch built into the internal viewport prop (implemented)

- If the cabin master viewport shutter switch is set to the "close" position, all shutters close and remain closed as local switches are disabled

- If the cabin master viewport shutter switch is set to the "open" position, all shutters open and can then be controlled individually by local switches

- No skipping animations. For instance, when closing a shutter in the process of opening, it will not immediately skip to the fully opened state and then close; this would be implemented by reversing the animation while it is still running, or waiting for the animation to play out in full before reversing.

And for the cabin lights:

- Each lighting zone has a local switch that controls both the corresponding internal light transform, as well as the corresponding viewport emissive (when the viewports are in the opaque state due to the absence of JSI Adv Trans Pod)

- If the cabin master light switch is set to the "off" position, all lights and viewport emissives are turned off, remaining off as local switches are disabled

- If the cabin master light switch is set to the "on" position, all lights and viewport emissives are turned on, and can then be controlled individually by local switches

- Skipping of light and emissives won't be an issue they will be instant on / instant off

Would you guys be happy with this setup? I'm going to try pick @alexustas and @MOARdV's brains to get the various custom variables/logic working.

Share this post


Link to post
Share on other sites

I love this mod! Here's a little patch for Kerbalism, not fully tested yet:

 

//-----------------------------------------------------------------------------------
@PART[FusTekStationUtil]
{
	@title = Fustek Utilty Module
	@mass = 3.5
	@description = Though cramped it beats the vaccuum of space.
}

@PART[FusTekStationUtil]:AFTER[Kerbalism]
{
  @MODULE[Habitat]
  {
    volume = 7.33
    surface = 16.82
 }
}

//-----------------------------------------------------------------------------------
!PART[FusTekStationResupply] {}

//-----------------------------------------------------------------------------------
@PART[FusTekStationSci]
{
	@title = Fustek Lab Module
	@mass = 3.6
	@description = The science module provides a fresh place to work, specializing in microgravity the thing was not doing any good on the surface, so get it to space asap.
}

@PART[FusTekStationSci]:AFTER[Kerbalism]
{
  @MODULE[Habitat]
  {
		volume = 19.63
		surface = 31.41
  }
}

//-----------------------------------------------------------------------------------
@PART[FusTekStationNode]
{
	@title = Fustek Karmony Node
	@mass = 2.6
	@description = The Karmony Station Module is the core of command module for your station.
}

//-----------------------------------------------------------------------------------
@PART[FusTekStationAirlock]
{
	@title = Fustek Kuest Airlock
	@mass = 2.0
	@description = Rumours that this airlock was created from a defect Karmony module are greatly overrated
}

@PART[FusTekStationAirlock]:AFTER[Kerbalism]
{
  @MODULE[Habitat]
  {
    volume = 3.61
    surface = 8.41
  }
}

//-----------------------------------------------------------------------------------
@PART[FusTekStationHab]
{
	@title = Fustek Habitation Module
	@mass = 3.5
	@description = This habitiation module provides a home away frome home and an coffee machine too.
}

@PART[FusTekStationHab]:AFTER[Kerbalism]
{
  @MODULE[Habitat]
  {
		volume = 19.63
		surface = 31.41
  }
}

//-----------------------------------------------------------------------------------
@PART[FusTekStationLogistics]
{
	@title = Fustek Habitation Module
	@mass = 3.6
	@description = This habitiation module provides a home away frome home and an coffee machine too.
}

@PART[FusTekStationLogistics]:AFTER[Kerbalism]
{
  ContainerVolume = 10500

  @MODULE[Configure]
  {
    //name = Configure
    title = Supply Container
    slots = 4

    SETUP
    {
      name = Supplies
      desc = Store a balanced supply of <b>Food</b> and <b>Water</b>.

      RESOURCE
      {
        name = Food
        amount = 0.7224224
        maxAmount = 0.7224224
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }

      RESOURCE
      {
        name = Water
        amount = 0.2775776
        maxAmount = 0.2775776
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = Waste
      desc = Store solid and liquid organic waste.

      RESOURCE
      {
        name = Waste
        amount = 0
        maxAmount = 0.4949706
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }

      RESOURCE
      {
        name = WasteWater
        amount = 0
        maxAmount = 0.5050294
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = Food

      RESOURCE
      {
        name = Food
        amount = 1
        maxAmount = 1
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = Water

      RESOURCE
      {
        name = Water
        amount = 1
        maxAmount = 1
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }
        SETUP
    {
      name = Oxygen
      desc = Store liquid oxygen

      RESOURCE
      {
        name = Oxygen
        amount = 809.22
        maxAmount = 809.22
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = Nitrogen
      desc = Store liquid nitrogen

      RESOURCE
      {
        name = Nitrogen
        amount = 659.4
        maxAmount = 659.4
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = Hydrogen
      desc = Store liquid hydrogen

      RESOURCE
      {
        name = Hydrogen
        amount = 788.1
        maxAmount = 788.1
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = Ammonia
      desc = Store liquid ammonia

      RESOURCE
      {
        name = Ammonia
        amount = 913.0
        maxAmount = 913.0
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = CarbonDioxide
      desc = Store liquid carbon dioxide

      RESOURCE
      {
        name = CarbonDioxide
        amount = 0
        maxAmount = 601.36
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }
  }
}

I really miss an IVA on the Karmony module, may throw some temp together

Share this post


Link to post
Share on other sites

Update: a quick IVA for the Karmony module is part of MSS until a better one exists. Comes with some patches and support for Kerbalism and USI-LS

Share this post


Link to post
Share on other sites
23 hours ago, MacLuky said:

Update: a quick IVA for the Karmony module is part of MSS until a better one exists. Comes with some patches and support for Kerbalism and USI-LS

Cheers for that.

At the moment, IVAs are delayed yet again because I ran into an issue where props aren't properly blocking internal lights. I haven't been able to solve this yet.

Share this post


Link to post
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.