Jump to content

[1.10.x] Stockalike Mk1 Open cockpit ( 7 nov 2020 update - NEW PARTS )


NESD

Recommended Posts

On 11/19/2020 at 2:30 PM, cyberKerb said:

Check through your list of mods and see if one has a camera built-in. (MAS / RPM / KURS / HullCam are a few examples) When KSP updated to 1.9 (release notes here) it updated how the cameras were used and that affected the mods that utilised that functionality. Specifically it no longer renders Camera 01.

KSP uses multiple cameras, each having various layers and all of that has to be rendered in a certain order to get what you see on the screen displayed correctly.  As mods are programmed based on how it worked at the time, it not surprising issues like that popup after KSP changes their methods with how the game works. 

Good to know, I think it would be RPM causing problems for me then, thanks for the help.

Link to comment
Share on other sites

1 hour ago, NESD said:

Currently I`m truing to clean up my big pile of various parts laying on my disk for months, and some for years.

Now I just don`t have too many time to dive deep into KSP physics and fix this wheels

I wonder how involved "farming" it out to something like KSPWheel could be? I've not tinkered with that at all, but it seems like a nice framework.

Granted, the documentation isn't all that fleshed out... ;)

Link to comment
Share on other sites

On 11/26/2020 at 11:13 PM, Beetlecat said:

Anyone thinking of whipping up some FAR profiles for these new wing parts? I've not done it before, but It'd be fun to play with these.

Don't mind if I do! :D

Thanks to @taniwha's awesome blender plugin (sorry to keep pinging you...) I've whipped up some initial FAR configs for the new wing segments and control surfaces. These are just a first stab and only "lightly tested" so let me know if anything seems out of place:

Spoiler




//Edge1.cfg
//nesdOCtEdge1
//Trailing Edge 1

@PART[nesdOCtEdge1]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 0.9246
      MidChordSweep = 0
      b_2 = 1.988
      TaperRatio = 1
  }
}



//Edge2.cfg
//nesdOCtEdge2
//Trailing Edge 2

@PART[nesdOCtEdge2]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 0.9169
      MidChordSweep = 0
      b_2 = 0.9763
      TaperRatio = 1
  }
}



//Edge3.cfg
//nesdOCtEdge3
//Trailing Edge 3

@PART[nesdOCtEdge3]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 0.6904
      MidChordSweep = 0
      b_2 = 1.896
      TaperRatio = 1
  }
}



//Edge4.cfg
//nesdOCtEdge4
//Trailing Edge 4

@PART[nesdOCtEdge4]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 0.6904
      MidChordSweep = 0
      b_2 = 0.9658
      TaperRatio = 1
  }
}



// Edge5.cfg
// nesdOCtEdge5
// Trailing Edge 5

@PART[nesdOCtEdge5]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 0.8117
      MidChordSweep = 3.42
      b_2 = 1.886
      TaperRatio = 1.323
  }
}



// OvhBig.cfg
// nesdOCovhBig
// Overhead panel Type B

@PART[nesdOCovhBig]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 1.143
      MidChordSweep = 0
      b_2 = 1.886
      TaperRatio = 1
  }
}



// OvhBig2.cfg
// nesdOCovhBig2
// Overhead Panel Type C

@PART[nesdOCovhBig2]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 1.358
      MidChordSweep = 0
      b_2 = 1.886
      TaperRatio = 1
  }
}



// OvhSmall.cfg
// nesdOCovhSmall
// Overhead Panel Type A

@PART[nesdOCovhSmall]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 0.8336
      MidChordSweep = 0
      b_2 = 0.9501
      TaperRatio = 1
  }
}



// RndBig.cfg
// nesdOCrndBig
// Structural Wing Type H

@PART[nesdOCrndBig]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 1.938
      MidChordSweep = 9.219
      b_2 = 1.733
      TaperRatio = 0.7465
  }
}



// RndLong.cfg
// nesdOCrndLong
// Structural Wing Type I

@PART[nesdOCrndLong]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 0.764
      MidChordSweep = 0
      b_2 = 1.79
      TaperRatio = 1
  }
}



// RndLong2.cfg
// nesdOCrndLong2
// Structural Wing Type J

@PART[nesdOCrndLong2]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 0.967
      MidChordSweep = 5.219
      b_2 = 1.748
      TaperRatio = 0.7166
  }
}



// RndSmall.cfg
// nesdOCrndSmall
// Structural Wing Type G

@PART[nesdOCrndSmall]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 0.967
      MidChordSweep = 9.252
      b_2 = 0.9802
      TaperRatio = 0.7166
  }
}



// RoundTip.cfg
// nesdOCrTip
// Round Wingtip Type A

@PART[nesdOCrTip]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 1.056
      MidChordSweep = -10.74
      b_2 = 0.7475
      TaperRatio = 0.6186
  }
}



// RoundTip2.cfg
// nesdOCrTip2
// Round Wingtip Type B

@PART[nesdOCrTip2]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 1.367
      MidChordSweep = -8.956
      b_2 = 0.9418
      TaperRatio = 0.685
  }
}



// RoundTip3.cfg
// nesdOCrTip3
// Round Wingtip Type C

@PART[nesdOCrTip3]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 1.604
      MidChordSweep = -7.819
      b_2 = 1.003
      TaperRatio = 0.7352
  }
}



// Rudder1.cfg
// nesdOCrdr1
// Elevon 6 (actual control surface)

@PART[nesdOCrdr1]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleControlSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARControllableSurface
      MAC = 1.667
      MidChordSweep = 6.744
      b_2 = 0.847
      TaperRatio = 0.7419
      nonSideAttach = 1
      maxdeflect = 20
      ctrlSurfFrac = 1
      transformName = Rud1
  }
}



// Rudder2.cfg
// nesdOCrdr2
// Elevon 7 (actual control surface)

@PART[nesdOCrdr2]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleControlSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARControllableSurface
      MAC = 0.7154
      MidChordSweep = -1.226
      b_2 = 1.733
      TaperRatio = 0.901
      nonSideAttach = 1
      maxdeflect = 20
      ctrlSurfFrac = 1
      transformName = Rud2
  }
}



// SqrSmall.cfg
// nesdOCsqrSmall
// Wing Connetor Type F

@PART[nesdOCsqrSmall]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 1.303
      MidChordSweep = 0
      b_2 = 0.9416
      TaperRatio = 1
  }
}



// TriBig.cfg
// nesdOCtriBig
// Structural Wing Type F

@PART[nesdOCtriBig]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 0.8468
      MidChordSweep = 13.71
      b_2 = 1.869
      TaperRatio = 0.3001
  }
}



// TriSmall.cfg
// nesdOCtriSmall
// Structural Wing Type E

@PART[nesdOCtriSmall]:NEEDS[FerramAerospaceResearch]
{
  // zero out all stock values, remove stock module
  @module = Part
  @maximum_drag = 0
  @minimum_drag = 0
  @angularDrag = 0
  @dragCoeff = 0
  @deflectionLiftCoeff = 0
  @ctrlSurfaceRange = 0
  @ctrlSurfaceArea = 0
  !MODULE[ModuleLiftingSurface] {}
  
  // add custom FAR values
  MODULE
  {
      name = FARWingAerodynamicModel
      MAC = 0.8468
      MidChordSweep = 26.01
      b_2 = 0.9344
      TaperRatio = 0.3001
  }
}

 

File

Edited by Beetlecat
typo in the code block
Link to comment
Share on other sites

Just to clarify on @Beetlecat's comment, my blender addon has a tool for measuring wings and generating FAR wing config data.

  1. Load the part into blender as per "normal" (ie, import using my addon).
  2. Add the wing tool (Shift-A -> wing tool (probably the bottom of the menu)
  3. Place the four root/tail fore/aft empties in appropriate locations for the wing (interestingly shaped wings need some judgement)
  4. Go to the tool settings propries (screwdriver and wrench icon in the properties view)
  5. Click on the "Measure Wing" button in the "Mu Hierarchy" panel (it will be disabled if none of the wing-tool empties is selected, but it does not matter which one is selected: any will allow the tool to work)
  6. Check blender's output console for the data, copy and past the output to the wing's config file.

You should see something like (default placement of the tool):

{
    name = FARWingAerodynamicModel
    MAC = 2
    MidChordSweep = 0
    b_2 = 1
    TaperRatio = 1
}

 

Oh, and control surfaces simply need the appropriate module and an area percentage field.

Link to comment
Share on other sites

@Beetlecat  Unfortunately my 16GB RAM can`t eat more mods, so I don`t have FAR and can`t make patches for it

but if you or anyone else can make good working config it can be added to this mod.

Same for BD Armory support, if needed some compatibility changes in parts  ( hierarchy, part or node names, rotation axis ) just say me.

Link to comment
Share on other sites

17 hours ago, NESD said:

@Beetlecat  Unfortunately my 16GB RAM can`t eat more mods, so I don`t have FAR and can`t make patches for it

but if you or anyone else can make good working config it can be added to this mod.

Same for BD Armory support, if needed some compatibility changes in parts  ( hierarchy, part or node names, rotation axis ) just say me.

No errors yet, but I've not tried each and every part -- the wing-pods in your Streamline Engines pack have lifting properties defined, right? I think I'll tackle those next.

 

Link to comment
Share on other sites

  • 7 months later...
  • 3 months later...

Love this mod for early game planes. If anyone is using Contrack Pack: Giving Aircraft a Purpose (GAP) with this, I made an MM patch which allows the Mk1 Open Cockpit to be usable for the first Glider contract (as well as the external seat). Makes it a little easier to build a plane (plus I use USI Sounding Rockets, somebody mentioned the SRBs in that auto-detach, so they make great JATO boosters under the wings).

One of my first MM patches, took a little reading of manuals and looking at similar to make the right edits. @NESD, or anyone, use as you wish, no copyright, no warranty, Kerbals may die, etc.

// Allow GAP glider contract to use OpenCockpit

@CONTRACT_TYPE[Wright-Glider]:NEEDS[OpenCockpit]:AFTER[OpenCockpit]
{
	!REQUIREMENT:HAS[#name[PartUnlocked],#part[seatExternalCmd]] {}

	REQUIREMENT
	{
		name = Any
		type = Any
		
		REQUIREMENT
		{
			name = PartUnlocked
			type = PartUnlocked
			part = seatExternalCmd
		}
		REQUIREMENT
		{
			name = PartUnlocked
			type = PartUnlocked
			part = nesdmk1opencockpit
		}
	}
	
	@PARAMETER:HAS[#name[VesselParameterGroup]]
	{
		!PARAMETER:HAS[#part[seatExternalCmd]] {}

		PARAMETER
		{
			name = Any
			type = Any
			title = have a command seat or open cockpit
			disableOnStateChange = false
			hideChildren = true

			PARAMETER
			{
				name = PartValidation
				type = PartValidation

				part = seatExternalCmd			

				disableOnStateChange = false
				hideChildren = true
				hidden = true
			}

			PARAMETER
			{
				name = PartValidation
				type = PartValidation

				part = nesdmk1opencockpit

				disableOnStateChange = false
				hideChildren = true
				hidden = true
			}
		}	
	}
}

 

Link to comment
Share on other sites

  • 2 years later...
  • 2 weeks later...

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...