Jump to content

[1.12.3] Restock - Revamping KSP's art (Feb 25)


Nertea

Recommended Posts

@JonnyOThan - the problem occurs in the simplest setup  possible: KSP 1.12 + FAR (w/dependencies) + Restock 

Stock assembly: Assembly-CSharp v0.0.0.0
ModuleManagerWatchDog v1.0.1.1
ModuleManager v4.2.2.0
ModuleManager v4.2.2.0
KSPBurst v1.5.5.1
Microsoft.Extensions.FileSystemGlobbing v6.0.0.0 / v6.0.0-preview.2.21154.6+3eaf1f316b8b1da73fdb98e9cca43c0ddaa12f45 / v6.0.21.15406
System.IO.Compression v4.0.0.0 / v4.6.57.0
System.IO.Compression.FileSystem v4.0.0.0 / v4.6.57.0
System.Runtime.CompilerServices.Unsafe v4.0.6.0 / v3.1.3+8a3ffed558ddf943c1efa87d693227722d6af094 / v4.700.20.12001
System.Runtime v4.1.0.0 / v4.0.0.0
Unity.Burst v0.0.0.0
Unity.Burst.Unsafe v4.0.5.0 / v1.0.0.0
Unity.Collections v0.0.0.0
Unity.Jobs v0.0.0.0
Unity.Mathematics v1.0.0.0
FerramAerospaceResearch.Base v0.16.1.2
ModularFlightIntegrator v1.0.0.0 / v1.2.10.0
FerramAerospaceResearch v0.16.1.2
ferramGraph v1.3.0.0
Scale_Redist v1.0.0.0
WatchDogForInterstellarRedist v1.0.1.1
WatchDogForScaleRedist v1.0.1.1
Restock v0.1.0.0
Stock assembly: KSPSteamCtrlr v0.0.1.35

Folders and files in GameData:
000_KSPBurst
FerramAerospaceResearch
ModularFlightIntegrator
ModuleManagerWatchDog
ReStock
ReStockPlus
Stock folder: Squad

666_ModuleManagerWatchDog.dll
Custom_FARAeroData.cfg
ModuleManager.4.2.2.dll
ModuleManager.4.2.3.dll
ModuleManager.ConfigCache
ModuleManager.ConfigSHA
ModuleManager.Physics
ModuleManager.TechTree

 

Link to comment
Share on other sites

You have some shady ass version of a Module Manager tampering library installed. Bin off that weird bootleg copy and only install the proper version: 

i.e. delete the following files and give it another go:

  • Kerbal Space Program\PartDatabase.cfg
  • Kerbal Space Program\Physics.cfg
  • Kerbal Space Program\GameData\666_ModuleManagerWatchDog.dll
  • Kerbal Space Program\GameData\ModuleManager.4.2.2.dll   (you only need the latest version of MM installed, you can delete the old version)
  • Kerbal Space Program\GameData\ModuleManager.ConfigCache
  • Kerbal Space Program\GameData\ModuleManagerWatchDog    (whole folder)
  • Also I have no idea what patches you have in Kerbal Space Program\GameData\Custom_FARAeroData.cfg but its a good idea to get rid of it to test this.

Then try it all again and that should effectively give you a fresh instance of KSP with only FAR and ReStock installed with the necessary dependencies.

Link to comment
Share on other sites

@Poodmund - didn't help. I dunno if you could try this setup to verify my claims? Maybe it's still something on my side. I use Mk2 pod with 1.8 m heat shield for testing ATM. You can use Mk2 pod only, it should pitch to about +25 deg on reentry. 

As for Custom_FARAeroData.cfg - it's not mine. I think FAR creates it whenever you access one of it's config windows while in game. I didn't tweak anything. 

Link to comment
Share on other sites

8 hours ago, JebIsDeadBaby said:

@JonnyOThan - the problem occurs in the simplest setup  possible: KSP 1.12 + FAR (w/dependencies) + Restock 

Stock assembly: Assembly-CSharp v0.0.0.0
ModuleManagerWatchDog v1.0.1.1
ModuleManager v4.2.2.0
ModuleManager v4.2.2.0
KSPBurst v1.5.5.1
Microsoft.Extensions.FileSystemGlobbing v6.0.0.0 / v6.0.0-preview.2.21154.6+3eaf1f316b8b1da73fdb98e9cca43c0ddaa12f45 / v6.0.21.15406
System.IO.Compression v4.0.0.0 / v4.6.57.0
System.IO.Compression.FileSystem v4.0.0.0 / v4.6.57.0
System.Runtime.CompilerServices.Unsafe v4.0.6.0 / v3.1.3+8a3ffed558ddf943c1efa87d693227722d6af094 / v4.700.20.12001
System.Runtime v4.1.0.0 / v4.0.0.0
Unity.Burst v0.0.0.0
Unity.Burst.Unsafe v4.0.5.0 / v1.0.0.0
Unity.Collections v0.0.0.0
Unity.Jobs v0.0.0.0
Unity.Mathematics v1.0.0.0
FerramAerospaceResearch.Base v0.16.1.2
ModularFlightIntegrator v1.0.0.0 / v1.2.10.0
FerramAerospaceResearch v0.16.1.2
ferramGraph v1.3.0.0
Scale_Redist v1.0.0.0
WatchDogForInterstellarRedist v1.0.1.1
WatchDogForScaleRedist v1.0.1.1
Restock v0.1.0.0
Stock assembly: KSPSteamCtrlr v0.0.1.35

Folders and files in GameData:
000_KSPBurst
FerramAerospaceResearch
ModularFlightIntegrator
ModuleManagerWatchDog
ReStock
ReStockPlus
Stock folder: Squad

666_ModuleManagerWatchDog.dll
Custom_FARAeroData.cfg
ModuleManager.4.2.2.dll
ModuleManager.4.2.3.dll
ModuleManager.ConfigCache
ModuleManager.ConfigSHA
ModuleManager.Physics
ModuleManager.TechTree

 

Again, this isn’t the full log….

Link to comment
Share on other sites

9 hours ago, Poodmund said:

You have some shady ass version of a Module Manager tampering library installed. Bin off that weird bootleg copy and only install the proper version: 

That "shady ass" MMWD is not Module Manager, but a watchdog to warn you if you screw up with Module Manager.

Tons of problems can be avoided when you just prevent more than one copy of Module Manager on your rig, and this is exactly what MMWD does.

If you cared to look into the tool instead of calling wolf on it, you would had noticed that it never touches Forum MM, au contraire - it protects it if the user install any other version, older or alternative.

 

 

10 hours ago, JebIsDeadBaby said:

 

<...>
ModuleManager v4.2.2.0
ModuleManager v4.2.2.0
<...>

Folders and files in GameData:
<...>
ModuleManager.4.2.2.dll
ModuleManager.4.2.3.dll
<...>

 

@JebIsDeadBaby, you have an older Module Manager lingering on your rig, and an internal KSP bug is electing the older one to be used.

Note that on the top of the list you posted, Module Manager is saying you have two copies of Module Manager 4.2.2.0 , but below on listing the files, you will find Forum's ModuleManager.4.2.2.dll and ModuleManager-4.2.3.dll. Checking on Forum Module Manager's source, we have confirmation that it's being compiled with the right Version number, so it's definitively the older one your KSP elected to use.

Since you was using an older version of MMWD (1.0.1.1), that have this check deactivated on KSP 1.12.x (because I was told KSP was handling this correctly - what revealed being not exactly true some time later), the MMWD didn't barked at you about the problem. MMWD 1.1.1.1 (the newest) would had detected this for you.

Seeing the Forum's MM release notes, this last version fix two problems, one of them on "loading the wrong physics file when you use the faulty PDLauncher workaround".  Are you using any PDLauncher workaround? If yes, we may have found an issue - using an older MM even by having the newest installed, courtesy of one of the many bugs on KSP that Module Manager Watch Dog aims to detect - that is leading to your KSP to load the wrong data files.

Edited by Lisias
Brute force post merge.
Link to comment
Share on other sites

3 hours ago, Lisias said:

Are you using any PDLauncher workaround?

Do you mean Private Division launcher that pops-up when you launch via Steam? Then no, I don't use any workaround, since the launcher doesn't bother me. As for two MM's - this was a one time screw up on my side. I didn't notice I have two copies when prepping Game Data folder for this minimal set up. All previous testing was done with MM 4.2.3 in my main modded set up, as well as all minimal set up testing after Poodmund pointed this out.  

As for physics - bear in mind that stock heat shields and pods work fine in the same game, so under the same physics rules, wrong or not. I preserved original heat shields by whitelisting  models and removing Restock hs patch. So now I have stock heat shields and Restock's 1,8 m heatshiled available. Mk2 pod with 2,5 m stock heat shield is stable during reentry but once you jettison the hs, the pod immediately pitches up. So it really looks like something with Restock models, not physics. I tested this a moment ago with this trimmed set up: 

Mod DLLs found:
Stock assembly: Assembly-CSharp v0.0.0.0
ModuleManager v4.2.3.0
KSPBurst v1.5.5.1
Microsoft.Extensions.FileSystemGlobbing v6.0.0.0 / v6.0.0-preview.2.21154.6+3eaf1f316b8b1da73fdb98e9cca43c0ddaa12f45 / v6.0.21.15406
System.IO.Compression v4.0.0.0 / v4.6.57.0
System.IO.Compression.FileSystem v4.0.0.0 / v4.6.57.0
System.Runtime.CompilerServices.Unsafe v4.0.6.0 / v3.1.3+8a3ffed558ddf943c1efa87d693227722d6af094 / v4.700.20.12001
System.Runtime v4.1.0.0 / v4.0.0.0
Unity.Burst v0.0.0.0
Unity.Burst.Unsafe v4.0.5.0 / v1.0.0.0
Unity.Collections v0.0.0.0
Unity.Jobs v0.0.0.0
Unity.Mathematics v1.0.0.0
FerramAerospaceResearch.Base v0.16.1.2
ModularFlightIntegrator v1.0.0.0 / v1.2.10.0
FerramAerospaceResearch v0.16.1.2
ferramGraph v1.3.0.0
Scale_Redist v1.0.0.0
Restock v0.1.0.0
Stock assembly: KSPSteamCtrlr v0.0.1.35

Folders and files in GameData:
000_KSPBurst
FerramAerospaceResearch
ModularFlightIntegrator
ReStock
ReStockPlus
Stock folder: Squad

Custom_FARAeroData.cfg
Custom_FARConfig.cfg
ModuleManager.4.2.3.dll
ModuleManager.ConfigCache
ModuleManager.ConfigSHA
ModuleManager.Physics
ModuleManager.TechTree

 

Edited by JebIsDeadBaby
Link to comment
Share on other sites

I can confirm this behaviour with the 1.875m Mk2 Pod.

Stock 1.12.5:

hxKW1aU.png

mAo8dUS.png

ReStock 1.4.3:

eFD0gdF.png

NhR6f6Z.png

You can see that with ReStock installed, the Mk2 Pod experiences a sharp 15-20 degree angle of attack pitch when not being occluded by the heatshield. It experiences this angle drift from retrograde all the way to the surface.

Looking at the config files I can't see any reason as to why this would occur, the the models/transforms in Blender.

Link to comment
Share on other sites

8 hours ago, JebIsDeadBaby said:

Do you mean Private Division launcher that pops-up when you launch via Steam? Then no, I don't use any workaround, since the launcher doesn't bother me. As for two MM's - this was a one time screw up on my side. I didn't notice I have two copies when prepping Game Data folder for this minimal set up. All previous testing was done with MM 4.2.3 in my main modded set up, as well as all minimal set up testing after Poodmund pointed this out.  

As for physics - bear in mind that stock heat shields and pods work fine in the same game, so under the same physics rules, wrong or not. I preserved original heat shields by whitelisting  models and removing Restock hs patch. So now I have stock heat shields and Restock's 1,8 m heatshiled available. Mk2 pod with 2,5 m stock heat shield is stable during reentry but once you jettison the hs, the pod immediately pitches up. <…>

Well, I'm not really an expert on FAR or ReStock, but a few years ago I wrote support for it on DOE, as well reviewed and merged support for in on TweakScale, and I learnt some things from these tasks:

ReStock really changes the models and, more interesting, makes heavy use of multiple meshes for defining a part, promoting reuse and getting a better visual result with a smaller footprint. 

This have two consequences:

1) Different models, different automatically generated dragcubes.

2) Having multiple models for a part caught me with my pants down on DOE, it was really embarrassing :) but in the end, it's still Stock behaviour and so I just reworked my code on DOE to accept multiple models for a part and the problem was solved.

I'm pretty confident you can workaround on "Stock" ReStock by stealing the dragcubes from the Vanilla Stock parts and shoving them on the ReStock equivalent Part Config. This should work as long no one triggers a recompile on the drag cubes of the thing - KSP's aerodynamics' [drag] don't really care about the models, all that means to it is the drag cubes. 

My guess about FAR is that one (or both) of these points above is leading FAR to "misbehave": if it, like DOE initially, don't expect a part to have multiple active (drawable) models at the same time, it may be calculating wrongly the voxels (IIRC, FAR replaced the stock drag cubes with voxels) by not considering all the models of the part.

Additionally, since the voxels are calculable at runtime, they probably can be cached to save time as it happens to drag cubes and, so, perhaps the same stunt can be applied? Precalculating the voxels for the Stock part, and then applying this data on the ReStock equivalent, instead of recalculating the voxels using the ReStock models.

I think this may solve the problem, but you will need to bring this case to the FAR's maintainers and ask them about the idea.

— — POST EDIT — — 

I just remembered about the colliders. Colliders are simplified "shapes" used to detect colisions - and they are embedded on the models. In order to get all colliders you need to detect when something touches it, you need to know about multiple models per part. I don't know exactly how (or if) the colliders would affect the aerodynamics, but the different attitudes on reentry may be related to it. Assuming this is the case, perhaps a new mesh with a collider carefully shaped to behave like Stock would help to salvage the situation without reworking ReStock meshes.

Edited by Lisias
POST EDIT
Link to comment
Share on other sites

7 hours ago, Lisias said:

I just remembered about the colliders.

Yeah, it may have something to do with it. I just remembered that there were cases where the heat shield looked cylindrical in FAR Debug window during my tests. Now I narrowed this case down. As you may know, a heat shield usually has two bottom attach nodes. If you use the lower one to attach a decoupler for example, a model of a fairing will appear to close the gap. The fairing model is part of heat shield mesh. If you use the higher attach node, there will be no gap between the heat shield and the decoupler and the model of a fairing will not appear. Now get this -  if you use this "no gap" solution, the fairing will appear after detachment in FAR Debug window but (obviously) not in the game (see picture below). I guess some fairing jettison event is not triggered in case when there is no fairing to jettison and some underlying, invisible structure (a collider?) remains attached to the model and FAR sees it. 

As you can see on the picture, there is no yawing moment in this case and the attitude indicator is dead center on the retrograde marker. 

I guess this should be considered a bug in FAR but ironically it counters a bug in Restock (or another bug in FAR) and for now may serve as a working solution to my problem (doesn't solve pod pitching though but for obvious reasons this problem is less... burning <- Ba Dum Tss! ) .  

To sum it up - whatever FAR sees is probably messed up in pods and heatshields. 

fff.jpg

 

 I also added this little patch to check if it helps but it changes nothing. 

@PART[restock-heatshield-1875-1]:AFTER[FerramAerospaceResearch]
{
	@MODULE[GeometryPartModule]
	{
		%ignoreIfNoRenderer = true
		%forceUseMeshes = True
	}
}

@PART[restock-mk2-pod]:AFTER[FerramAerospaceResearch]
{
	@MODULE[GeometryPartModule]
	{
		%ignoreIfNoRenderer = true
		%forceUseMeshes = True
	}
}

 

Edited by JebIsDeadBaby
Link to comment
Share on other sites

14 hours ago, aced said:

not sure why this is happening, i have restock, restock waterfall and waterfall. I've confirmed that restock is the problem via trial and error and have no clue how to fix this, any ideas?

the engine is a terrier

https://imgur.com/a/JxO10qc

Turn off temporal antialiasing in tufx and/or scatterer.

Link to comment
Share on other sites

  • 4 weeks later...

Hello, I like Restock+ parts and use them. But I noticed some Restock+ parts can't be placed in inventories. It says Construction Only Part. This usually happens when trying to place a big part in inventory with stock parts. Also, I installed KSP_PARTVOLUME mod which allows an engineer kerbal to attach/detach modded parts.

Few Restock+ part examples that can't be placed in inventories because of being Construction Only Part while being small enough to be placed in inventories:

  • Oscar-A Liquid Fuel Tank
  • Oscar-C Liquid Fuel Tank
  • PRBE-4 Liquid Fuel Tank
  • PRBE-9 Liquid Fuel Tank
  • FL-T50-R Hemispherical Liquid Fuel Tank
  • ....etc

Apparently these are fuel tanks but I haven't check all Restock+ parts.

Edited by CanOmer
Link to comment
Share on other sites

Yeah, the reasoning behind that is that they do not have the ModuleCargoPart module. Probably something I could/should look into. Thanks for bringing it up.

The KSP Part Volumes mod will work to fix this but, by default, it is set to not add this module to fuel tanks. You can change that in the mod settings, as listed in the mod's OP

 

Link to comment
Share on other sites

Any plans for electric propeller engine(s) for Restock+?

Stock propellers do not work properly with time acceleration and unnecessarily complex. Electric propeller propulsion is important for planets like Duna and Eve. Firespitter and KAX are old/outdated or not very well balanced. Airplane+ has no electric propeller engine. WaterDrinker's Stockalike Propeller Engines mod is currently my favourite but especially the electric propeller engine uses very little electric which feels terribly unbalanced.

 

Link to comment
Share on other sites

  • 3 weeks later...
10 hours ago, Kerbal2023 said:

Does this work with TweakScale?

No idea.

I think its more pertinent to state that; no, we don't provide support compatibility patches for Tweakscale. If Tweakscale provides support compatibility for ReStock then that's Tweakscale's prerogative and you would probably have a more insightful answer by asking in Tweakscale's forum thread rather than here, as the mod maintainer and its users can provide a good answer.

Link to comment
Share on other sites

On 3/6/2019 at 5:44 PM, Cruesoe said:

How does this play with TechTree mods, are they likely to still work as they move parts around? 

On 3/6/2019 at 5:49 PM, DMagic said:

Tech tree position should be independent of any changes made by Restock. If a mod moves a stock part in the tech tree, and Restock replaces that part, then the Restock version of the part will still appear in the new tech tree node.

What about RestockPlus, which does add new parts?

Link to comment
Share on other sites

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