Jump to content

[1.3+] Stockalike Station Parts Expansion [retired]


Nertea

Recommended Posts

  • 3 weeks later...
  • 1 month later...

Hi all,

Coming back to KSP after a hiatus (most recent was 1.3-ish) and now with 1.4.x and going through updating mods... I'm finding that 1.4.x doesn't seem to load certain parts of SSPX. Specifically, there a Crewpod and a couple Crew Tubes from this set which the game can't load. Therefore, basically all my space stations in my most advanced playthough disappear from the save.

Also, I can't load any of the craft which use those parts in the VAB or SPH, since it says those parts are missing, etc. Unfortunately, that's basically everything major that I've ever built, since I use SSPX extensively. :(

I have SSPXr loaded in GameData alongside SSPX but is there anything that can be done for these non-loading parts to allow the craft to load?

I did see a lengthy discussion of what sounds like the 1.3.1 vs 1.4.x issues of textures not loading. But honestly, it was confusing me (CFG files, etc. are a little technically over my head). I do understand the point this isn't supported. But maybe other people had a workaround to at least get the craft to load so I can edit out the parts that don't show up?

UPDATE:

For future reference, there was a fix in the SSPXr thread that I thought I'd post here:

If someone wants to fix it, comment out the "texture = " line(s) in the model section of the part config file (.cfg) that are not getting loaded. Looks ugly, but works if one wants to continue the career a little longer. And as SSPX is deprecated, I assume the textures there won't get fixed for 1.4.1.
But maybe 1.4.2 fixes the "I don't want to load these textures" issue...
 

  Reveal hidden contents


Looking at the model section of crewtube-docking-25.cfg => "crew25-1-blank" should be loaded by  "StationPartsExpansion/Parts/Structural/crewtube-125-25/crewtube-25-1"
( the // is the fix for now)

    MODEL
    {
        model = StationPartsExpansion/Parts/Structural/crewtube-25/crewtube-docking-25
        position = 0.0, 0.0, 0.0
        scale = 1,1,1
        rotation = 0, 0, 0
        //texture = crew25-1-blank, StationPartsExpansion/Parts/Structural/crewtube-125-25/crewtube-25-1
        //texture = crew25-1-blank-n_NRM, StationPartsExpansion/Parts/Structural/crewtube-125-25/crewtube-25-1-n_NRM
    }
.
.
.
but "StationPartsExpansion/Parts/Structural/crewtube-125-25/crewtube-25-1" cannot be loaded.
.
.
.
180324T165257.873 [INFO] [GameDatabase+<LoadObjects>c__Iterator1.MoveNext] Load(Texture): StationPartsExpansion/Parts/Structural/crewtube-125-25/crewtube-25-1
180324T165257.874 [INFO] [GameDatabase+<LoadObjects>c__Iterator1.MoveNext] Load(Texture): StationPartsExpansion/Parts/Structural/crewtube-25/crew25-1-blank-n
180324T165257.875 [EXCEPTION] [UnityEngine.Texture2D.LoadRawTextureData] UnityException: LoadRawTextureData: not enough data provided (will result in overread).
   at UnityEngine.Texture2D.LoadRawTextureData (System.Byte[] data)
   at DatabaseLoaderTexture_DDS.Read (System.String filename)
   at DatabaseLoaderTexture_DDS+<Load>c__Iterator0.MoveNext ()
   at UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress)
   at UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
   at <LoadObjects>c__Iterator1:MoveNext()
   at UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
180324T165257.876 [INFO] [GameDatabase+<LoadObjects>c__Iterator1.MoveNext] Load(Texture): StationPartsExpansion/Parts/Structural/crewtube-25/crew25-1-blank-n_NRM
180324T165257.876 [EXCEPTION] [UnityEngine.Texture2D.LoadRawTextureData] UnityException: LoadRawTextureData: not enough data provided (will result in overread).
   at UnityEngine.Texture2D.LoadRawTextureData (System.Byte[] data)
   at DatabaseLoaderTexture_DDS.Read (System.String filename)
   at DatabaseLoaderTexture_DDS+<Load>c__Iterator0.MoveNext ()
   at UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress)
   at UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
   at <LoadObjects>c__Iterator1:MoveNext()
   at UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
180324T165257.877 [INFO] [GameDatabase+<LoadObjects>c__Iterator1.MoveNext] Load(Texture): StationPartsExpansion/Parts/Structural/crewtube-25/crew25-1-blank
180324T165257.878 [INFO] [GameDatabase+<LoadObjects>c__Iterator1.MoveNext] Load(Texture): StationPartsExpansion/Parts/Structural/crewtube-25/crewtube-25-2-e
180324T165257.879 [INFO] [GameDatabase+<LoadObjects>c__Iterator1.MoveNext] Load(Texture): StationPartsExpansion/Parts/Structural/crewtube-25/crewtube-25-2-n_NRM
.
.
.
So in the end the partloader gives up, because he is missing the texture.
.
.
.
180324T165316.257 [INFO] [PartLoader+<CompileParts>c__Iterator1.MoveNext] PartLoader: Compiling Part 'StationPartsExpansion/Parts/Structural/crewtube-25/crewtube-docking-25/crewtube-docking-25'
180324T165316.257 [ERROR] [PartLoader+<CompileParts>c__Iterator1.MoveNext] PartLoader: Encountered exception during compilation. System.NullReferenceException: Object reference not set to an instance of an object
  at PartLoader.ReplaceTextures (UnityEngine.GameObject model, System.Collections.Generic.List`1 textureNames, System.Collections.Generic.List`1 newTextures) [0x00000] in <filename unknown>:0 
  at PartLoader.CompileModel (.UrlConfig cfg, .ConfigNode partCfg, Single scaleFactor, .AvailablePart partInfo) [0x00000] in <filename unknown>:0 
  at PartLoader.ParsePart (.UrlConfig urlConfig, .ConfigNode node) [0x00000] in <filename unknown>:0 
  at PartLoader+<CompileParts>c__Iterator1.MoveNext () [0x00000] in <filename unknown>:0 
180324T165316.258 [ERROR] [PartLoader+<CompileParts>c__Iterator1.MoveNext] PartCompiler: Cannot compile part

 

- JebsSY

Edited by scottadges
Added fix: Comment out texture lines in CFG files for specific parts
Link to comment
Share on other sites

  • 5 months later...

One small thing: The TAC Life Support patch needs a small tweak to the resource converters.

	MODULE
	{
		name = TacGenericConverter
		converterName = Carbon Extractor
		conversionRate = 8.16
		inputResources = CarbonDioxide, 0.001703210064733, ElectricCharge, 0.039783051310155
		outputResources = Oxygen, 0.001713537562385, false, Waste, 0.000001209166498, true
	}

needs to be changed to

	MODULE
	{
		name = TacGenericConverter
		ConverterName = #autoLOC_TACLS_00246 //Carbon Extractor
		StartActionName = #autoLOC_TACLS_00247 //Start CarbonExtractor
		StopActionName = #autoLOC_TACLS_00248 //Stop CarbonExtractor	
		tag = Life Support		
		GeneratesHeat = false
		conversionRate = 8.16
		
		INPUT_RESOURCE
		{
			ResourceName = ElectricCharge
			Ratio = 0.039783051310155
		}
		INPUT_RESOURCE
		{
			ResourceName = CarbonDioxide
			Ratio = 0.001703210064733
		}
		OUTPUT_RESOURCE
		{
			ResourceName = Oxygen
			Ratio = 0.001713537562385
			DumpExcess = false
		}	
		OUTPUT_RESOURCE
		{
			ResourceName = Waste
			Ratio = 0.000001209166498
			DumpExcess = true
		}				
		
		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.5
		SpecialistBonusBase = 1
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1
	}

plus

	MODULE
	{
		name = TacGenericConverter
		converterName = Water Purifier
		conversionRate = 8.16
		inputResources = WasteWater, 0.000014247685185, ElectricCharge, 0.007123842592593
		outputResources = Water, 0.000012822916667, false, Waste, 0.000001994675926, true
	}

to

	MODULE
	{
		name = TacGenericConverter
		ConverterName = #autoLOC_TACLS_00240 //Water Purifier
		StartActionName = #autoLOC_TACLS_00241 //Start WaterPurifier
		StopActionName = #autoLOC_TACLS_00242 //Stop WaterPurifier
		tag = Life Support		
		GeneratesHeat = false
		conversionRate = 8.16
		
		INPUT_RESOURCE
		{
			ResourceName = ElectricCharge
			Ratio = 0.007123842592593
		}
		INPUT_RESOURCE
		{
			ResourceName = WasteWater
			Ratio = 0.000014247685185
		}		
		OUTPUT_RESOURCE
		{
			ResourceName = Water
			Ratio = 0.000011188078704
			DumpExcess = false
		}	
		OUTPUT_RESOURCE
		{
			ResourceName = Waste
			Ratio = 0.000001994675926
			DumpExcess = true
		}	

		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.5
		SpecialistBonusBase = 1
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1
	}

and finally

	MODULE
	{
		name = TacGenericConverter
		converterName = Water Splitter
		conversionRate = 8.16
		inputResources = Water, 0.000002720508341, ElectricCharge, 0.039783051310155
		outputResources = Oxygen, 0.001713537562385, false, Waste, 0.000000405893838, true
	}

to

	MODULE
	{
		name = TacGenericConverter
		ConverterName = #autoLOC_TACLS_00237 //Water Splitter
		StartActionName = #autoLOC_TACLS_00238 //Start WaterSplitter
		StopActionName = #autoLOC_TACLS_00239 //Stop WaterSplitter
		tag = Life Support		
		GeneratesHeat = false
		conversionRate = 8.16
		
		INPUT_RESOURCE
		{
			ResourceName = ElectricCharge
			Ratio = 0.039783051310155
		}
		INPUT_RESOURCE
		{
			ResourceName = Water
			Ratio = 0.000002720508341
		}		
		OUTPUT_RESOURCE
		{
			ResourceName = Oxygen
			Ratio = 0.001713537562385
			DumpExcess = false
		}	
		OUTPUT_RESOURCE
		{
			ResourceName = Waste
			Ratio = 0.000000405893838
			DumpExcess = true
		}	
		
		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.5
		SpecialistBonusBase = 1
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1
	}

like so. Sorry I didn't catch this earlier.

Link to comment
Share on other sites

  • 2 months later...

Since support has ended, I'm posting this in case anyone else runs into the same problem. Extraplanetary Launchpad patches were using what I'm guessing were old part module names. I'm patching it locally with: 

@PART[crewpod-cupola-375]
{
	-MODULE[ExWorkshop] {} 
	MODULE 
	{
		name = ELWorkshop
		ProdyctivityFactor = 1.25
	}
}
@PART[crewpod-habitation-25]
{
	-MODULE[ExWorkshop] {} 
	MODULE 
	{
		name = ELWorkshop
		ProdyctivityFactor = 1.0
	}
}
@PART[crewpod-habitation-375]
{
	-MODULE[ExWorkshop] {} 
	MODULE 
	{
		name = ELWorkshop
		ProdyctivityFactor = 2.5
	}
}
@PART[crewpod-observation-25]
{
	-MODULE[ExWorkshop] {} 
	MODULE 
	{
		name = ELWorkshop
		ProdyctivityFactor = 0.8
	}
}
@PART[crewtube-25-375-1]
{
	-MODULE[ExWorkshop] {} 
	MODULE 
	{
		name = ELWorkshop
		ProdyctivityFactor = 0.8
	}
}

 

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