cipherpunks

Members
  • Content Count

    255
  • Joined

  • Last visited

Community Reputation

9 Neutral

About cipherpunks

  • Rank
    Sr. Spacecraft Engineer

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. TBH that's the 1st time in my life I've heard about putting mod filders into ActiveTextureManagement folder. I guess that won't work, cause paths in .cfg are relative to GameData. You can not see RAM consumption in log, only using that mod that I gave You the link to earlier, or with standard operating system means (top, ps auxww, taskmgr, whatever). Can't help with MacOS (being certified Apple service engineer, I hate Apple's approach to doing things, and I do not use their (censored), sorry)
  2. Guess that's unrelated, but You have lots of those:d3d: failed to create 2D texture id=4988 w=26 h=26 mips=5 d3dfmt=894720068 [invalid call] where I have none, loading the same mods. Maybe that's because You have something called NvidiaTextureTools v1.0.0.0 ? Also strange are those lines: Non-DLL mods added (:FOR[xxx]): [...] zRealPlume RealPlume zzRealPlumeI have RealPlume too, but no such lines in my log. I see quite a few probes say this: DragCubeSystem: Creating drag cubes for part 'explorer.6' NullReferenceException: Object reference not set to an instance of an object at ModuleDeployableSolarPanel.AssumeDragCubePosition (System.String name) [0x00000] in <filename unknown>:0 at DragCubeSystem+^B.MoveNext () [0x00000] in <filename unknown>:0Guess it's harmless, but still, maybe try to start without probe packs and stuff first ? Have You tried enabling just the bare minimum of what RO needs, and starting KSP? Cause You have lots of mods in that log... Anyway, for whom may wonder, the log ends in: [PQS]: PQS already marked as started during Start() method. This is probably wrong! <= line is repeating as always [CelestialBody]: Kerbin's solar day length is 3d, 5h, 56m long. sidereal day length is 3d, 5h, 56m long HighlightingSystem : Framebuffer depth data is not available and can't be used to occlude highlighting. Highlighting occluders enabled. [Kopernicus]: Post-Spawn Found max distance 7285326303016.2 [Kopernicus]: StarLightSwitcher: Set active star => Sun [SmokeScreen PersistentEmitterManager] : OnSceneChange MissingMethodException: [B]Method not found: 'RDTechTree.GetTreeNodes'.[/B] at TechManager.TechManager.OnGameSceneLoadRequested (GameScenes scene) [0x00000] in <filename unknown>:0 at EventData`1[GameScenes].Fire (GameScenes data) [0x00000] in <filename unknown>:0 at HighLogic.LoadScene (GameScenes scene) [0x00000] in <filename unknown>:0 at PSystemSetup+^V^G.MoveNext () [0x00000] in <filename unknown>:0So my guess would be try without RP-0 also. - - - Updated - - - Shown next to FASA one. Feel the difference. - - - Updated - - - That same model is used for Aestus II a.k.a RS-72, but here's the real thing - feel the difference: - - - Updated - - - And, to put a nail in thy coffin's lid, here's Hakari low-quality F-1 vs. RO+Ven's imitation: Worth it? Besides, that F-1 is public domain, so maybe just include it in RO?...
  3. Please check what I've said before, and provide above mentioned log if some prerequisite absence is not the case. Also, installing GCMonitor might show You if You're over 3.5gb RAM limit. If that's the case, use the settings menu and set texture quality = 1/2, etc.
  4. Aluminum Oxide : check that You have all the prerequisites described in OP, and then check KSP_Data/output_log.txt - most probably it is looking for some resource, which is undeclared (no CommunityResourcePack, no RealFuels etc). =====8<================================================================ I've been trying latest RO with VenStockRevamp and some parts do look ugly. I do not use non-procedural tanks, but here's what I can say for now: Baby Sergeant SRB - bottom node is not ok (too high) LM Ascent Engine - model bug (tearing of gimbal rods); suggesting check for FASA and remove if FASA is installed former RLA MPR-45 - model scale is bad Aestus II - model bug (tearing of gimbal rods); needs completely other model TBH RS-88 - plain ugly KVD-1/CE-7.5 Vacuum Engine - model bug RD-0210/0213 - strange looking AJ10-137 - plain ugly; why not use RLA MPR-45 model instead? Or check for FASA and remove if FASA is installed Merlin Family Rocket Engine - model bug, extremely thin, nodes misplaced J-2T-200/250K - there are two of them, one from VenStockRevamp and one from RLA, but with identical stats. I like more diversity. F-1 from VenStockRevamp - ugly; Hakari one is much, much better; suggesting check for Hakari/FASA and remove if Hakari or FASA is installed Pyrios Booster - engine scale is completely wrong (supposed to have 2*F-1B, but engines are tiny). I'll prune this one cause it seems hopeless. XLR11 from FASA - model scale is so wrong, it is so thin - makes me laugh :-) Egg-Shaped Fairing - US, Egg-Shaped Fairing - STStock, Egg-Shaped Fairing - Stock Tank - they do not look nice; I'll prune them. Some RLA model uses are clever indeed, for example their resistojet (for which I'm yet to find real life occurance tbh) is looking good as R-4D, and using their TtK-6A "Albatross" as RL60 does look good, too. It doesn't do CryoEngines yet, but I'll provide the simplistic patch that I use myself (beware, O:F ratio isn't realistic, and gimbal range may need some adjustment): @title = Vulcain 2 rocket engine @manufacturer = Ottobrunn Space Propulsion Centre @description = D=2.09m, L=3.44m, TWR=152.4 @rescaleFactor = 2 // 1.67 gives nozzle D=1.68 @bulkheadProfiles = size2 @mass = 0.909 @MODULE[ModuleEnginesFX] { @maxThrust = 1359 @atmosphereCurve { @key,0 = 0 429 @key,1 = 1 360 } // atmosphereCurve } // ModuleEnginesFX } // PART @PART[cryoengine-125-2]:FINAL { // CryoEngines Ct10 'Chelyabinsk' Cryogenic Rocket Engine @title = RL-10B-2 rocket engine @manufacturer = Pratt & Whitney @description = D=2.13m (frame 2.5m), L=4.14m, TWR=40.52. Nozzle extends when activated. @rescaleFactor = 2 // 1.7 gives nozzle D=1.8m @bulkheadProfiles = size2 @mass = 0.277 @MODULE[ModuleEnginesFX] { @maxThrust = 110.1 @atmosphereCurve { @key = 0 465.5 // 462? @key = 1 140 } // atmosphereCurve } // ModuleEnginesFX } // PART @PART[cryoengine-25-1]:FINAL { // CryoEngines KS-01 'Odin' Cryogenic Rocket Engine @title = LE-7A rocket engine @manufacturer = Mitsubishi Heavy Industries @description = D=3.75m (4m IRL), L=3.67m, TWR=62.18 @rescaleFactor = 1.5 @bulkheadProfiles = size3 @mass = 1.8 @MODULE[ModuleEnginesFX] { @maxThrust = 1098 @atmosphereCurve { @key,0 = 0 438 @key,1 = 1 338 } // atmosphereCurve } // ModuleEnginesFX } // PART @PART[cryoengine-25-2]:FINAL { // CryoEngines CT2X 'Tunguska' Cryogenic Rocket Engine @title = J-2X rocket engine @manufacturer = Rocketdyne @description = D=3.05m (frame 5.25m), L=4.7m, TWR=54.95 @rescaleFactor = 2.11 // 1.22 gives nozzle of D=1.75m and frame D=3.05; 1.5 gives nozzle of D=2.165m @bulkheadProfiles = size4 @mass = 2.43 @MODULE[ModuleEnginesFX] { @maxThrust = 1310 @atmosphereCurve { @key,0 = 0 448 @key,1 = 1 200 } // atmosphereCurve } // ModuleEnginesFX } // PART @PART[cryoengine-375-1]:FINAL { // CryoEngines KS-68 'Mars' Cryogenic Rocket Engine @title = RS-68A rocket engine @manufacturer = Pratt & Whitney / Aerojet Rocketdyne @description = D=2.43m (frame 4.225m), L=5.2m, TWR=51.2 @rescaleFactor = 1.128 // 0.65 gives nozzle D=1.4m @bulkheadProfiles = size4 @mass = 6.74 @MODULE[ModuleEnginesFX] { @maxThrust = 3560 // must be 3140 at SL @atmosphereCurve { @key,0 = 0 414 @key,1 = 1 365 } // atmosphereCurve } // ModuleEnginesFX } // PART @PART[cryoengine-375-2]:FINAL { // CryoEngines Ct65 'Yucatan' Cryogenic Rocket Engine @title = RD-0120 rocket engine @manufacturer = KBKhA Design Bureau @description = D=2.42m (frame 7.07m), L=4.55m, TWR=58 @rescaleFactor = 1.1 // 0.645 gives nozzle D=1.44m @bulkheadProfiles = size5 @mass = 3.45 @MODULE[ModuleEnginesFX] { @maxThrust = 1961.3 // must be 1526 at SL @atmosphereCurve { @key,0 = 0 455 @key,1 = 1 359 // other source 354 } // atmosphereCurve } // ModuleEnginesFX } // PART @PART[cryoengine-*]:FINAL { @MODULE[ModuleGimbal] { @gimbalRange = 8 } } // all CryoEngines@PART[cryoengine-125-1]:FINAL { // CryoEngines VL-1 'Volcano' Cryogenic Rocket Engine The scale in this patch is close to original, and stats are real, but it doesn't have ModuleEngineConfigs nor ModuleEngineIgnitor - feel free to add :-D I'd like to know why RO brings TweakScale's "Unknown Mystery Component" along with Procedural Fairings dummy "Upgrade" "parts" to FilterExtensions menu. This is wrong. Also I had to get rid of RealismOverhaul/Filter_Extensions_Configs cause they kinda broke FilterExtensions for me - wasn't able to sort by mod folder for example, and I literally can't play without that. Oh, and one more thing: when I first saw Conic Cockpit, I actually LOL'd - it's so naÑ—ve, couldn't stand it :-D
  5. Now if that's only one line of this type present, then yes, it is evil.Now imagine You have 80 cases of that, only some arg to if or for are different, and there's pattern between args. Imagine there's no better way to express Your task, only using fors and ifs like in Your example. It can be indeed better to just form 80 one-liners like that directly below one another, and then the person who'll read this code will see something akin to table, with distinct impression on changing args (human eye is known to be good at that). To repeat, forced impossibility to pack some code denser vertically (or horizontally, for that matter) does not immediately mean that the code will be inherently more readable. To put it another way, readability of code is not depended on line count in said code. I do not really know what else to say - it's kinda obvious. As to Google guidelines, I guess that You know that they're controversial in many small places. Nothing utterly fundamental, and I agree that the general vibe is mostly right in 'em, but in almost every organization that I worked for (and I've been working with major players), coding style guidelines - even if based on Google's - were slightly different, and sometimes IMO better.. So, Your implication about that being like golden standard will not work for me, at least. What always worked for us, though, is the process of peer code review right before it goes to repo. Unreadable code will not be reviewed, or will be rejected on the premise of its unreadability by peers. That simple. Returning to my problem with @MODEL,* { @texture,* ^= : - I've read a few pages back that I'm not alone who stumbled upon that one...
  6. This argument seems purely subjective to me. Don't get me wrong, but please elaborate or retract. Cause if one-liners are bad, then bigger half of I.T. world is doing bad thing many times per day (for example using shell, chaining commands with pipes in shell etc), and it is our duty to warn them, right?- - - Updated - - - Excuse me, but (increasing line count) != (readability will increase linearly). Quite often it's quite the contrary (as screen space is limited and you need to scroll when the code is really sparse, so you can't read entire section in one glimpse, and risk distraction.Besides, AFAIK Perl haters hate Perl because of regexps, which are dense; but You do not advocate removing regex support from MM, do You?
  7. so I tried scaling a part which contains ISRU which in turn generates heat (and throttles down ISRU converter when said part approaches 95% of 1/2 its maxTemp). Got 800% (or 6400% if scaling further) efficiency reading, and almost instant overheat.
  8. I made myself SAFE-400 reactor from old Goodspeed part with WasteHeat, overheat and ponies, and found a deficiency in Fusebox. That is, when my reactor (made from stock ISRU) overheats and efficiency drops, Fusebox always displays 100%, although factual efficiency drop works as advertised (measured by stopwatch).
  9. Not directly related, but thought You might know: when my ModuleResourceConverter overheats, and the reading in menu says that efficiency is not 100% anymore, Fusebox still says 100% (the part produces ElectricCharge). Is this known issue? For the record, the part produces 100 of resource and only has place for 100% of input resource per tick, and 100 of output resource per tick (that is, literally 100, and literally 100 per tick). I have DumpExcess = true (unsure what it does) but I do not have FillAmount (also unsure what it does) I got myself a stopwatch and timed it by hand, and it turned out that it's just Fusebox deficiency - in fact, resource-wise, ISRU works good. Sorry for the noise.
  10. Why it is? Can You elaborate? cause I've been using one-liners for so many years with great success, in various OS's and lang's....
  11. Soooo what is the most realistic adjusted-naked-eye++ skybox for RSS now-a-days, that is, proper orientation and inclined to ecliptic?
  12. Maybe someone can do realistic version, that is, aligned correctly to RSS ecliptic and Sun orientation?
  13. This mostly fixes* these legendary parts for me, without the need of overwriting any original files: @PART[goodspeed*]:NEEDS[Goodspeed]:FIRST { // Goodspeed parts @title ^= :Goodspeed :: @MODULE[GoodspeedTweakScale]:NEEDS[TweakScale] { @name = TweakScale } // they have buggy Scale.dll that needs to be removed too } // PART @PART[goodspeed*]:HAS[#node_stack_bottom [*]]:NEEDS[Goodspeed]:FIRST { // Goodspeed parts have old-style, "wrong" bottom nodes; some need to be overriden later, hence :FIRST @node_stack_bottom = #$node_stack_bottom[0]$, $node_stack_bottom[1]$, $node_stack_bottom[2]$, $node_stack_bottom[3]$, -1, $node_stack_bottom[5]$, $node_stack_bottom[6]$ } // PART @PART[goodspeedStackPoint0*] { @MODEL,0 { @model ^= :stackPoint1:radialAttachmentPoint: } } // BZ-0 Mini Radial Attachment Point @PART[goodspeedMonoStack3750] { @MODEL,* { @model ^= :RCSTank1-2:RCSFuelTankR1: } } // Goodspeed FL-R5 RCS Fuel Tank @PART[goodspeedSweptPylon400] { // Goodspeed SW-400 Pylon & Decoupler @MODEL,0 { @texture,0 ^= :Aero/advancedCanard:Structural/strutCubicOcto: @texture,1 ^= :Aero/advancedCanard:Structural/strutCubicOcto: } // MODEL } // PART @PART[goodspeedRocketPartsTank,goodspeedGold*Ball] { // Goodspeed Rocket Parts Container, FB-G Fuel Tank, XB-G Xenon Tank @MODEL,* { @texture,0 ^= :crewCabin:hitchhikerStorageContainer: @texture,1 ^= :crewCabin:hitchhikerStorageContainer: } // MODEL } // PART @PART[goodspeedSideTank1,goodspeedRoundFuelCap] { // Goodspeed ST-SU Fuel Tank, Rounded Fuel Cap @MODEL,* { @texture,0 ^= :fuelTank_long:fuelTankT800: @texture,1 ^= :fuelTank_long:fuelTankT800: } // MODEL } // PART @PART[goodspeedPartsWarehouse] { // Goodspeed Rocket Parts Warehouse @MODEL,* { @texture,0 ^= :Utility/roverBody:Command/probeRoverBody: @texture,1 ^= :Utility/roverBody:Command/probeRoverBody: } // MODEL } // PART @PART[goodspeedHexFrame*,goodspeedHexSideMount1] { // Goodspeed TR6.1 Structural Frame, TR6.3 Structural Frame, TR-S Side Mount @MODEL,* { @texture,0 ^= :strutCube:strutCubicOcto: @texture,1 ^= :strutCube:strutCubicOcto: } // MODEL } // PART @PART[goodspeedStashBox] { // Goodspeed Experiment Storage Device @MODEL,* { @texture,0 ^= :mk2LanderCabin:mk2LanderCan: @texture,1 ^= :mk2LanderCabin:mk2LanderCan: } // MODEL } // PART @PART[goodspeedOrangeFuel*] { // Goodspeed FB-O Fuel Tank, FP-O Fuel Tank @MODEL,* { @texture,0 ^= :fuelTank3-2:fuelTankJumbo-64: @texture,1 ^= :fuelTank3-2:fuelTankJumbo-64: } // MODEL } // PART @PART[goodspeedNuclearReactor*] { // Goodspeed UNSFE-100 Nuclear Reactor, UNSFE-200 Nuclear Reactor, UNSFE-400 Nuclear Reactor @MODEL,* { @texture,0 ^= :nuclearEngine:liquidEngineLV-N: @texture,1 ^= :nuclearEngine:liquidEngineLV-N: } // MODEL } // PART @PART[goodspeed_zap01] { // Goodspeed ZAP-01 Radioisotope Thermoelectric Generator @MODEL,* { @texture,0 ^= :ksp_r_largeBatteryPack:z-400Battery: @texture,1 ^= :ksp_r_largeBatteryPack:z-400Battery: } // MODEL } // PART @PART[goodspeedSideNose1250] { // Goodspeed SM-1250 Rocket Cap @MODEL,* { @texture,0 ^= :solidBooster1-1:solidBoosterBACC: @texture,1 ^= :solidBooster1-1:solidBoosterBACC: } // MODEL } // PART @PART[goodspeedSideMount1250] { // Goodspeed SMD-250 Side Mount & Decoupler @MODEL,* { @texture,0 ^= :StackDecoupler:decouplerStackTR-18A: @texture,1 ^= :StackDecoupler:decouplerStackTR-18A: } // MODEL } // PART // TODO Goodspeed CMG-5 Robotic Control Unit roll++ sas++ mass--?? @PART[goodspeedCMG5RCU125] { // Goodspeed CMG-5 Robotic Control Unit @MODULE[ModuleReactionWheel] { @PitchTorque *= 2 // was 5, needed some boost @YawTorque *= 2 } // ModuleReactionWheel } // PART @PART[goodspeedCMG5RCU125,goodspeedCMG20RCU250] { // Goodspeed CMG-5 Robotic Control Unit, CMG-20 Robotic Control Unit @MODULE[ModuleReactionWheel] { @RollTorque *= 3 } // was 5 and 20, needed some boost @MODULE[ModuleSAS] { %SASServiceLevel = 3 } // prograde, retrograde, radial, normal, node, target } // PART @PART[goodspeedCMG20RCU250] { // Goodspeed CMG-20 Robotic Control Unit @node_stack_bottom = 0.0, -0.24, 0.0, 0, -1, 0, 2 %MODULE[ModuleConnectedLivingSpace]:NEEDS[ConnectedLivingSpace] { %passable = true } } // PARTBeware of lingering Scale.dll - better to prune Goodspeed/Plugins with AutoPruner. Here's mine Goodspeed.prnl: Goodspeed/Plugins Goodspeed/Parts/FuelTank/monostack3750 Goodspeed/Parts/FuelTank/orangequad Goodspeed/Parts/FuelTank/roundfuelcap Goodspeed/Models/roundnose Goodspeed/Parts/Command/discovery1 Goodspeed/Models/discovery1 Goodspeed/Parts/Utility/dockingPort2i Goodspeed/Parts/Utility/weight Goodspeed/Parts/Command/dockingSmartSrDisclaimer: some otherwise useful parts are removed because I use ProceduralParts, my own Goodspeed-style docking ports (available below; in fact I modified Gaius ones so they got better both from functional and visual PoV IMO) and WildBlueIndustries DSEV Masscon (which has the ability to weight whatever You like) // !! you'll also need RLA small RTG model+texture - mirror: https://www.sendspace.com/file/qxwj1g PART { name = DockingPortOmni module = Part author = cipherpunks TechRequired = metaMaterials entryCost = 12200 cost = 1080 category = Utility subcategory = 0 // ?? title = Clamp-O-Tron Omni Docking Port manufacturer = Goodspeed Aerospace // ?? description = Omni Docking Port integrates two smaller Clamp-O-Tron docking ports - as You never know what You'll need to dock tomorrow. It even has a light built-in. rescaleFactor = 1 node_stack_top0 = 0.0, 0.2828832, 0.0, 0.0, 1.0, 0.0, 1 node_stack_top1 = 0.0, 0.2828832, 0.0, 0.0, 1.0, 0.0, 1 node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1 node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0 attachRules = 1,1,1,1,0 mass = 0.06 dragModelType = default maximum_drag = 0.25 minimum_drag = 0.25 angularDrag = 0.5 crashTolerance = 15 maxTemp = 3400 MODEL { model = Squad/Parts/Utility/dockingPort/model // = dockingPort2 position = 0.0, 0.0, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/dockingPortJr/model // = dockingPort3 position = 0.0, 0.145, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/spotLightMk2/model // = spotLight2 position = 0.0, 0.26, 0.0 scale = 0.4, 0.4, 0.4 rotation = 15, 0, 180 } MODULE { name = ModuleDockingNode referenceAttachNode = top0 nodeType = size0 } MODULE { name = ModuleDockingNode referenceAttachNode = top1 nodeType = size1 } MODULE { name = ModuleLight lightName = spotlight useAnimationDim = true lightBrightenSpeed = 2.5 lightDimSpeed = 5 animationName = LightAnimation resourceAmount = 0.01 useResources = true useAutoDim = true // ?? test this } } // EOP ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// PART { name = DockingPortOmniSr module = Part author = cipherpunks title = Clamp-O-Tron Omni Docking Port Sr. // TODO make another w/o RCS; tank is 0.05, thrusters are 0.03*12-casing, so that's 0.23 total, and 0.23 for omni port manufacturer = Goodspeed Aerospace // ?? description = Omni Docking Port Sr. integrates all three Clamp-O-Tron docking ports in one package. This a true all-in-one solution for all Your sane docking needs. Also includes small light to remedy docking on Thy Dark Side. TechRequired = metaMaterials // fixme entryCost = 0 cost = 1900 category = Utility subcategory = 0 // vesselType = Probe CrewCapacity = 0 mass = 0.23 dragModelType = default maximum_drag = 0.25 minimum_drag = 0.25 angularDrag = 0.5 crashTolerance = 20 maxTemp = 3400 breakingForce = 800 breakingTorque = 800 rescaleFactor = 1 attachRules = 1,1,1,1,0 node_stack_top = 0.0, 0.29, 0.0, 0.0, 1.0, 0.0, 2 node_stack_top0 = 0.0, 0.29, 0.0, 0.0, 1.0, 0.0, 0 node_stack_top1 = 0.0, 0.29, 0.0, 0.0, 1.0, 0.0, 1 node_stack_bottom = 0.0, -0.05, 0.0, 0.0, -1.0, 0.0, 2 MODULE { name = ModuleDockingNode referenceAttachNode = top0 nodeType = size0 } MODULE { name = ModuleDockingNode referenceAttachNode = top1 nodeType = size1 } MODULE { name = ModuleDockingNode referenceAttachNode = top nodeType = size2 } MODULE { name = ModuleLight lightName = spotlight useAnimationDim = true lightBrightenSpeed = 2.5 lightDimSpeed = 5 animationName = LightAnimation resourceAmount = 0.01 useResources = true useAutoDim = true } MODEL { model = Squad/Parts/Utility/spotLightMk2/model // = spotLight2 position = 0.0, 0.26, 0.0 scale = 0.4, 0.4, 0.4 rotation = 15, 0, 180 } MODEL { model = Squad/Parts/Utility/dockingPortSr/model position = 0.0, 0.0, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/dockingPort/model position = 0.0, 0.0, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/dockingPortJr/model position = 0.0, 0.145, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } } // EOP ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// PART { name = SmartDockingPortOmni module = Part author = cipherpunks TechRequired = metaMaterials entryCost = 12200 cost = 6969 category = Pods subcategory = 0 vesselType = Probe CrewCapacity = 0 title = Clamp-O-Tron Omni SmartPort manufacturer = Goodspeed Aerospace // ?? description = Omni SmartPort integrates two smaller Clamp-O-Tron docking ports with a MicroQBE computer to create a docking port that you can place on a vessel and literally "control from here"! Integrated reaction wheels and small RTG to keep CPU alive top out the feature list, making this a true all-in-one solution. rescaleFactor = 1 node_stack_top0 = 0.0, 0.2828832, 0.0, 0.0, 1.0, 0.0, 1 node_stack_top1 = 0.0, 0.2828832, 0.0, 0.0, 1.0, 0.0, 1 node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1 node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0 attachRules = 1,1,1,1,0 mass = 0.085 dragModelType = default maximum_drag = 0.25 minimum_drag = 0.25 angularDrag = 0.5 crashTolerance = 15 maxTemp = 3400 MODEL { model = Squad/Parts/Utility/dockingPort/model // = dockingPort2 position = 0.0, 0.0, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/dockingPortJr/model // = dockingPort3 position = 0.0, 0.145, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/spotLightMk2/model // = spotLight2 position = 0.0, 0.26, 0.0 scale = 0.4, 0.4, 0.4 rotation = 15, 0, 180 } MODEL { model = Squad/Parts/Command/probeCoreCube/model position = 0.0, 0.1, -0.45 scale = 0.3, 0.5, 0.2 rotation = 110, 180, 90 } MODEL { // model = RLA_Stockalike/Parts/Electrical/mmrtg/model model = +My/mmrtg/model position = 0, 0.13, 0.455 scale = 0.65, 0.65, 0.65 rotation = 180, -90, 20 // rotation = 20, 0, 0 // alternate orientation } MODEL { model = Squad/Parts/Electrical/z-100Battery/model position = 0.43, 0.04, 0 scale = 0.58 0.58 0.58 rotation = 110, 90, 0 } MODEL { model = Squad/Parts/Electrical/z-100Battery/model position = -0.43, 0.04, 0 scale = 0.58 0.58 0.58 rotation = 110, -90, 0 } MODULE { name = ModuleCommand minimumCrew = 0 RESOURCE { name = ElectricCharge rate = 0.025 } } MODULE { name = ModuleSAS SASServiceLevel = 3 } MODULE { name = ModuleDockingNode referenceAttachNode = top0 nodeType = size0 } MODULE { name = ModuleDockingNode referenceAttachNode = top1 nodeType = size1 } RESOURCE { name = ElectricCharge amount = 50 maxAmount = 50 } MODULE { name = ModuleReactionWheel PitchTorque = 0.5 YawTorque = 0.5 RollTorque = 1.5 RESOURCE { name = ElectricCharge rate = 0.03 } } MODULE { name = ModuleLight lightName = spotlight useAnimationDim = true lightBrightenSpeed = 2.5 lightDimSpeed = 5 animationName = LightAnimation resourceAmount = 0.01 useResources = true useAutoDim = true // ?? test this } MODULE { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = ElectricCharge rate = 0.036 // 0.65 scaled RTG is 0.035*2=0.07; 0.5=0.03 } } } // EOP ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// PART { name = SmartDockingPortOmniSrRCS module = Part author = cipherpunks title = Clamp-O-Tron Omni SmartPort Sr. RCS // TODO make another w/o RCS; tank is 0.05, thrusters are 0.03*12-casing, so that's 0.23 total, and 0.23 for omni port manufacturer = Goodspeed Aerospace // ?? description = Omni SmartPort Sr. integrates all three Clamp-O-Tron docking ports with a MicroQBE computer to create a docking port that you can place on a vessel and literally "control from here"! Integrated RCS and reaction wheels top out the feature list, making this a true all-in-one solution for your self-assembling space station modules. Also includes small RTGs to keep CPU alive. TechRequired = largeUnmanned entryCost = 0 cost = 980 category = Pods subcategory = 0 vesselType = Probe CrewCapacity = 0 mass = 0.4 // was 0.35, should be less than 0.46 dragModelType = default maximum_drag = 0.25 minimum_drag = 0.25 angularDrag = 0.5 crashTolerance = 20 maxTemp = 3400 breakingForce = 800 breakingTorque = 800 rescaleFactor = 1 attachRules = 1,1,1,1,0 node_stack_top = 0.0, 0.29, 0.0, 0.0, 1.0, 0.0, 2 node_stack_top0 = 0.0, 0.29, 0.0, 0.0, 1.0, 0.0, 0 node_stack_top1 = 0.0, 0.29, 0.0, 0.0, 1.0, 0.0, 1 node_stack_bottom = 0.0, -0.05, 0.0, 0.0, -1.0, 0.0, 2 MODULE { name = ModuleDockingNode referenceAttachNode = top0 nodeType = size0 } MODULE { name = ModuleDockingNode referenceAttachNode = top1 nodeType = size1 } MODULE { name = ModuleDockingNode referenceAttachNode = top nodeType = size2 } MODULE { name = ModuleRCS thrusterTransformName = RCSthruster thrusterPower = 1.0 resourceName = MonoPropellant atmosphereCurve { key = 0 260 key = 1 100 } } RESOURCE { name = MonoPropellant amount = 50 maxAmount = 50 } MODULE { name = ModuleCommand minimumCrew = 0 RESOURCE { name = ElectricCharge rate = 0.025 } } RESOURCE { name = ElectricCharge amount = 100 maxAmount = 100 } MODULE { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = ElectricCharge rate = 0.05 } } MODULE { name = ModuleReactionWheel PitchTorque = 0.5 YawTorque = 0.5 RollTorque = 2.5 RESOURCE { name = ElectricCharge rate = 0.03 } } MODULE { name = ModuleSAS SASServiceLevel = 4 } MODULE { name = ModuleLight lightName = spotlight useAnimationDim = true lightBrightenSpeed = 2.5 lightDimSpeed = 5 animationName = LightAnimation resourceAmount = 0.01 useResources = true useAutoDim = true } MODEL { model = Squad/Parts/Utility/linearRCS/model position = -1.125, 0.19, 0.0 scale = 0.8, 1.0, 0.8 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/linearRCS/model position = 1.125, 0.19, 0.0 scale = 0.8, 1.0, 0.8 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/linearRCS/model position = 0.0, 0.19, -1.125 scale = 0.8, 1.0, 0.8 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/linearRCS/model position = 0.0, 0.19, 1.125 scale = 0.8, 1.0, 0.8 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/linearRCS/model position = -1.16, 0.088, -0.285 scale = 0.8, 1.0, 0.8 rotation = 0, 0, 90 } MODEL { model = Squad/Parts/Utility/linearRCS/model position = -1.16, 0.088, 0.285 scale = 0.8, 1.0, 0.8 rotation = 0, 0, 90 } MODEL { model = Squad/Parts/Utility/linearRCS/model position = 1.16, 0.088, -0.285 scale = 0.8, 1.0, 0.8 rotation = 0, 0, 270 } MODEL { model = Squad/Parts/Utility/linearRCS/model position = 1.16, 0.088, 0.285 scale = 0.8, 1.0, 0.8 rotation = 0, 0, 270 } MODEL { model = Squad/Parts/Utility/linearRCS/model position = -0.285, 0.088, -1.16 scale = 0.8, 1.0, 0.8 rotation = 270, 0, 0 } MODEL { model = Squad/Parts/Utility/linearRCS/model position = 0.285, 0.088, -1.16 scale = 0.8, 1.0, 0.8 rotation = 270, 0, 0 } MODEL { model = Squad/Parts/Utility/linearRCS/model position = -0.285, 0.088, 1.16 scale = 0.8, 1.0, 0.8 rotation = 90, 0, 0 } MODEL { model = Squad/Parts/Utility/linearRCS/model position = 0.285, 0.088, 1.16 scale = 0.8, 1.0, 0.8 rotation = 90, 0, 0 } MODEL { model = Squad/Parts/Utility/spotLightMk2/model // = spotLight2 position = 0.0, 0.26, 0.0 scale = 0.4, 0.4, 0.4 rotation = 15, 0, 180 } MODEL { model = Squad/Parts/Utility/dockingPortSr/model position = 0.0, 0.0, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/dockingPort/model position = 0.0, 0.0, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/dockingPortJr/model position = 0.0, 0.145, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Electrical/z-400Battery/model // position = 0.811, 0.089, 0.811 // Y was 0.088 position = 0.8105, 0.0885, 0.8105 scale = 0.45, 0.45, 0.45 rotation = 0, 225, -90 } MODEL { model = Squad/Parts/Electrical/z-400Battery/model // position = -0.811, 0.089, 0.811 position = -0.8105, 0.0885, 0.8105 scale = 0.45, 0.45, 0.45 rotation = 0, 135, 90 } MODEL { model = Squad/Parts/Command/probeCoreCube/model position = 0.0, 0.088, -1.2 scale = 0.3, 0.5, 0.3 rotation = 0, 0, 90 } MODEL { // model = RLA_Stockalike/Parts/Electrical/mmrtg/model model = +My/mmrtg/model position = -1.24, 0.088, 0.0 scale = 0.65, 0.65, 0.65 rotation = 0, 0, 90 } } // EOP ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// PART { name = SmartDockingPortOmniSr module = Part author = cipherpunks title = Clamp-O-Tron Omni SmartPort Sr. // !! tank is 0.05, thrusters are 0.03*12-casing, so that's 0.23 total, and 0.23 for omni port manufacturer = Goodspeed Aerospace // ?? description = Omni SmartPort Sr. integrates all three Clamp-O-Tron docking ports with a MicroQBE computer to create a docking port that you can place on a vessel and literally "control from here"! Integrated reaction wheels top out the feature list, making this a true all-in-one solution for your space tugs and space tankers. Also includes small RTGs to keep CPU alive. TechRequired = largeUnmanned entryCost = 0 cost = 3500 category = Pods subcategory = 0 vesselType = Probe CrewCapacity = 0 mass = 0.3 dragModelType = default maximum_drag = 0.25 minimum_drag = 0.25 angularDrag = 0.5 crashTolerance = 20 maxTemp = 3400 breakingForce = 800 breakingTorque = 800 rescaleFactor = 1 attachRules = 1,1,1,1,0 node_stack_top = 0.0, 0.29, 0.0, 0.0, 1.0, 0.0, 2 node_stack_top0 = 0.0, 0.29, 0.0, 0.0, 1.0, 0.0, 0 node_stack_top1 = 0.0, 0.29, 0.0, 0.0, 1.0, 0.0, 1 node_stack_bottom = 0.0, -0.05, 0.0, 0.0, -1.0, 0.0, 2 MODULE { name = ModuleDockingNode referenceAttachNode = top0 nodeType = size0 } MODULE { name = ModuleDockingNode referenceAttachNode = top1 nodeType = size1 } MODULE { name = ModuleDockingNode referenceAttachNode = top nodeType = size2 } MODULE { name = ModuleCommand minimumCrew = 0 RESOURCE { name = ElectricCharge rate = 0.025 } } RESOURCE { name = ElectricCharge amount = 100 maxAmount = 100 } MODULE { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = ElectricCharge rate = 0.05 } } MODULE { name = ModuleReactionWheel PitchTorque = 0.5 YawTorque = 0.5 RollTorque = 2.5 RESOURCE { name = ElectricCharge rate = 0.03 } } MODULE { name = ModuleSAS SASServiceLevel = 4 } MODULE { name = ModuleLight lightName = spotlight useAnimationDim = true lightBrightenSpeed = 2.5 lightDimSpeed = 5 animationName = LightAnimation resourceAmount = 0.01 useResources = true useAutoDim = true } MODEL { model = Squad/Parts/Utility/spotLightMk2/model // = spotLight2 position = 0.0, 0.26, 0.0 scale = 0.4, 0.4, 0.4 rotation = 15, 0, 180 } MODEL { model = Squad/Parts/Utility/dockingPortSr/model position = 0.0, 0.0, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/dockingPort/model position = 0.0, 0.0, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Utility/dockingPortJr/model position = 0.0, 0.145, 0.0 scale = 1.0, 1.0, 1.0 rotation = 0, 0, 0 } MODEL { model = Squad/Parts/Electrical/z-400Battery/model // position = 0.811, 0.089, 0.811 // Y was 0.088 position = 0.8105, 0.0885, 0.8105 scale = 0.45, 0.45, 0.45 rotation = 0, 225, -90 } MODEL { model = Squad/Parts/Electrical/z-400Battery/model // position = -0.811, 0.089, 0.811 position = -0.8105, 0.0885, 0.8105 scale = 0.45, 0.45, 0.45 rotation = 0, 135, 90 } MODEL { model = Squad/Parts/Command/probeCoreCube/model position = 0.0, 0.088, -1.2 scale = 0.3, 0.5, 0.3 rotation = 0, 0, 90 } MODEL { // model = RLA_Stockalike/Parts/Electrical/mmrtg/model model = +My/mmrtg/model position = -1.24, 0.088, 0.0 scale = 0.65, 0.65, 0.65 rotation = 0, 0, 90 } } // EOP ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// @PART[DockingPortOmni,SmartDockingPortOmni] { %MODULE[ModuleAdaptiveDockingNode]:NEEDS[AdaptiveDockingNode] { %ValidSizes = size0,size1 }} @PART[DockingPortOmniSr,SmartDockingPortOmniSr,SmartDockingPortOmniSrRCS] { %MODULE[ModuleAdaptiveDockingNode]:NEEDS[AdaptiveDockingNode] { %ValidSizes = size0,size1,size2 }} @PART[*DockingPortOmni*] { // 1.0.4 fixes, kinda %MODULE[ModuleConnectedLivingSpace]:NEEDS[ConnectedLivingSpace] { %passable = true %passableWhenSurfaceAttached = true } %thermalMassModifier = 2 // 1.0 for insulator; Squad uses 4 often; 6 for nose cones %heatConductivity = 0.005 // 0.0001 for insulator; default = 0.12; Squad uses 0.04 for panels %radiatorMax = 0.35 // ?? dunno what it is; default = 0.25 // %radiatorHeadroom = 0.75 // ?? I don't give a damn; Squad uses 0.75 or 0.5 for radiators %emissiveConstant = 0.7 // ?? dunno what it is; Squad uses 0.9 for radiators %skinThicknessFactor = 0.85 // skin:internals proportion; around 1 for panels, around 0.1 or less for tanks // %skinInternalConductionMult = 4.0 // skin -> intestines flux } // PART ////////////////////////////////////////////////////////////////////////////// // EOF // my modifications are public domain ofc @PART[goodspeedNuclearReactor*] { // Goodspeed UNSFE-100 Nuclear Reactor, UNSFE-200 Nuclear Reactor, UNSFE-400 Nuclear Reactor @rescaleFactor = 0.5 // was 1.25m and 2.5m @MODEL,* { @texture,0 ^= :nuclearEngine:liquidEngineLV-N: @texture,1 ^= :nuclearEngine:liquidEngineLV-N: } // MODEL @attachRules = 1,1,1,1,0 @maxTemp *= 1.2 // was 3400, exploded at ~1520 %emissiveConstant = 0.35 // is ribbed and has 4 panels; 1 for radiators; was 0.35 %heatConductivity = 0.85 // has heat pipes; 0.0001 for insulator %skinInternalConductionMult = 2 @RESOURCE[ElectricCharge] { @amount *= 0.5 @maxAmount *= 0.5 } // RESOURCE %power_electrical = #$RESOURCE[ElectricCharge]/maxAmount$ @power_electrical *= 0.5 // it sees the one prior to modification @MODULE[ModuleGenerator]::NEEDS[!CommunityResourcePack] { @OUTPUT_RESOURCE[ElectricCharge] { @rate = #$../../power_electrical$ } } %MODULE[TweakScale]:NEEDS[TweakScale] { %type = stack } } // PART @PART[goodspeedNuclearReactor*]:NEEDS[CommunityResourcePack] { // Goodspeed UNSFE-100 Nuclear Reactor, UNSFE-200 Nuclear Reactor, UNSFE-400 Nuclear Reactor %power_thermal = #$RESOURCE[ElectricCharge]/maxAmount$ @power_thermal *= 4 %RESOURCE[WasteHeat] { %amount = #$../power_thermal$ %maxAmount = #$../power_thermal$ } // RESOURCE @MODULE[ModuleGenerator] { @OUTPUT_RESOURCE[ElectricCharge] { @name = WasteHeat @rate = #$../../power_thermal$ } // OUTPUT_RESOURCE } // ModuleGenerator %MODULE[ModuleResourceConverter] { %StartActionName = Startup reactor %StopActionName = Shutdown reactor //%AlwaysActive = true %AutoShutdown = true %UseSpecialistBonus = false INPUT_RESOURCE { ResourceName = WasteHeat %Ratio = #$../../power_thermal$ FlowMode = ALL_VESSEL } // INPUT_RESOURCE OUTPUT_RESOURCE { ResourceName = ElectricCharge %Ratio = #$../../power_electrical$ DumpExcess = true // ?? } // OUTPUT_RESOURCE %GeneratesHeat = true %DefaultShutoffTemp = 0.95 // ~36.16% at 0.96 //%FillAmount = 0.95 // how much it perceives the target resource level to be; only fill to that % and stop } // ModuleResourceConverter } // PART @PART[goodspeedNuclearReactor1]:NEEDS[CommunityResourcePack] { // Goodspeed UNSFE-100 Nuclear Reactor @title ^= :100:200: @description = Uranium Nitride Safe Fission Engine: 50kWe (200 kWt), 65.2cm diameter version, slim-line. @mass = 0.256 %bulkheadProfiles = size0 // 0.625m %MODULE[ModuleResourceConverter] { %ConverterName = Heat: 200kWt %TemperatureModifier = 39.147 // Int flux must be 200 } // ModuleResourceConverter %MODULE[TweakScale]:NEEDS[TweakScale] { %defaultScale = 0.625 } // TweakScale } // PART @PART[goodspeedNuclearReactor2]:NEEDS[CommunityResourcePack] { // Goodspeed UNSFE-200 Nuclear Reactor @title ^= :200:400: @description = Uranium Nitride Safe Fission Engine: 100kWe (400 kWt), 65.2cm diameter version. @mass = 0.512 %bulkheadProfiles = size0 // 0.625m %MODULE[ModuleResourceConverter] { %ConverterName = Heat: 400kWt %TemperatureModifier = 39.1907 // Int flux = 400 } // ModuleResourceConverter %MODULE[TweakScale]:NEEDS[TweakScale] { %defaultScale = 0.625 } // TweakScale } // PART @PART[goodspeedNuclearReactor3]:NEEDS[CommunityResourcePack] { // Goodspeed UNSFE-400 Nuclear Reactor @title ^= :400:800: @description = Uranium Nitride Safe Fission Engine: 200kWe (800 kWt), 1.25m diameter version. @mass = 1.024 %bulkheadProfiles = size1 // 1.25m %MODULE[ModuleResourceConverter] { %ConverterName = Heat: 800kWt %TemperatureModifier = 39.063 // Int flux must be 800 } // ModuleResourceConverter %MODULE[TweakScale]:NEEDS[TweakScale] { %defaultScale = 1.25 } // TweakScale } // PART// TODO clone 2.5m bigger ones I sniff Elite influence here ;-)* textures aren't fixed with full-wildcard approach; currently working on neat way to fix them all in just 1 line per part, but stumbled upon ModuleManager ^= peculiarity...
  14. So, here's what I came with: @PART[goodspeed*]:HAS[#node_stack_bottom [*]]:NEEDS[Goodspeed]:FIRST { // Goodspeed parts have old-style, "wrong" bottom nodes; some are overrided later, hence :FIRST @node_stack_bottom = #$node_stack_bottom[0]$, $node_stack_bottom[1]$, $node_stack_bottom[2]$, $node_stack_bottom[3]$, -1, $node_stack_bottom[5]$, $node_stack_bottom[6]$ } // PART Still need to solve @MODEL,* { @texture,* ^= problem. Sarbian?... And can You please add ; as statement separator, so I could neatly @oneline { @var1 = val1; @var2 = somethingelse } ? Screen real estate is precious.
  15. One more question. I'm trying to fix old Goodspeed parts, and I do this: @PART[goodspeedRocketPartsTank,goodspeedGoldFuelBall,goodspeedGoldXenonBall] { @MODEL,* { @texture,* ^= :crewCabin:hitchhikerStorageContainer: } } // Goodspeed Rocket Parts Container, FB-G Fuel Tank, XB-G Xenon Tank @PART[goodspeedPartsWarehouse] { @MODEL,* { @texture,* ^= :Utility/roverBody:Command/probeRoverBody: } } // Goodspeed Rocket Parts Warehouse @PART[goodspeedHexFrame*,goodspeedHexSideMount1] { @MODEL,* { @texture,* ^= :strutCube:strutCubicOcto: } } // Goodspeed TR6.1 Structural Frame, TR6.3 Structural Frame, TR-S Side Mount @PART[goodspeedStashBox] { @MODEL,* { @texture,* ^= :mk2LanderCabin:mk2LanderCan: } } // Goodspeed Experiment Storage Device @PART[goodspeedOrangeFuelBall] { @MODEL,* { @texture,* ^= :fuelTank3-2:fuelTankJumbo-64: } } // Goodspeed FB-O Fuel Tank, FP-O Fuel Tank @PART[goodspeedRoundFuelCap] { @MODEL,* { @texture,* ^= :fuelTank_long:fuelTankT800: } } // Goodspeed Rounded Fuel Cap @PART[goodspeedNuclearReactor*] { @MODEL,* { @texture,* ^= :nuclearEngine:liquidEngineLV-N: } } // Goodspeed UNSFE-100 Nuclear Reactor, UNSFE-200 Nuclear Reactor, UNSFE-400 Nuclear Reactor @PART[goodspeed_zap01] { @MODEL,* { @texture,* ^= :ksp_r_largeBatteryPack:z-400Battery: } } // Goodspeed ZAP-01 Radioisotope Thermoelectric Generator @PART[goodspeedSideNose1250] { @MODEL,* { @texture,* ^= :solidBooster1-1:solidBoosterBACC: } } // Goodspeed SM-1250 Rocket Cap @PART[goodspeedSideMount1250] { @MODEL,* { @texture,* ^= :StackDecoupler:decouplerStackTR-18A: } } // Goodspeed SMD-250 Side Mount & Decouplerand it doesn't work; in ModuleManager.ConfigCache I see: MODEL { [B] texture = :StackDecoupler:decouplerStackTR-18A:[/B] texture = model001, Squad/Parts/Utility/StackDecoupler/model001 I also do this: @PART[goodspeedMonoStack3750] { @MODEL,* { @model ^= :RCSTank1-2:RCSFuelTankR1: } } // Goodspeed FL-R5 RCS Fuel Tank @PART[goodspeedSweptPylon400] { // Goodspeed SW-400 Pylon & Decoupler @MODEL,0 { @texture,0 ^= :Aero/advancedCanard:Structural/strutCubicOcto: @texture,1 ^= :Aero/advancedCanard:Structural/strutCubicOcto: } // MODEL } // PARTand this works fine (both ways). What gives?.. - - - Updated - - - Yeah, forgot that, 10x. But... Using @node_stack_bottom,4 = -1just breaks the nodes, giving node_stack_bottom = -1 :-( So there must be some other method of accessing that.