-
Posts
579 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by toric5
-
[1.12.x] Mk2 Expansion v1.9.1 [update 10/5/21]
toric5 replied to SuicidalInsanity's topic in KSP1 Mod Releases
@SuicidalInsanityMind if I pull request to adapt the mk3 and mk2 fission reactors to nearteas new systemheat mod?- 1,507 replies
-
- 1
-
- mk2
- spaceplanes
-
(and 1 more)
Tagged with:
-
[WIP] Nert's Dev Thread - Current: various updates
toric5 replied to Nertea's topic in KSP1 Mod Development
Is the AM ratio a typo? is the AM monoatomic antihydrogen, or are we expelling unreacted antimatter out of our engine. (or is it 1:2 and we are running a bit hydrogen-rich for thrust and cost reasons?) Also, I completely forget what the AIM drive was. Antimatter Induced something? -
@Nertea, pull request incoming for a generic converter patch. However, I did find what appears to be a bug. The systemPower key doesnt seem to be consistent. As an example, the new planetaryBaseInc ISRU patch has a systemPower key of 0 40, same as the stock ISRU. However, in the editor, the plantetaryBaseInc isru outputs only 18 KW of heat. Ive encountered this problem with the dynamic patches. Some, but not all, modules output more or less heat than they should. Im testing my patches with sucidialInstanitys miningExpantion mod.
-
Im getting a hard crash with AVC installed. KSP.log doesnt contain any errors, I only see errors in unitys player.log, where it gives 10 stack frames after the crash. Was finally able to narrow it down to AVC, happens with or without zerominiavc. Using linux, latest stable kernel. I think this showed up after a system update, dont remember exactly what libraries were updated though. log
-
I want to look down a node. so, the parts in question have a ModuleResourceConverter, each of which contain INPUT_RESOURCE subnodes. I am trying to patch the ModuleResourceConverter to a ModuleSystemHeatConverter, which extends ModuleResourceConverter and needs a few new config values. The only value Im having trouble with is setting the systemPower (the modules heat output) to be a fraction of the parts EC consumption. for reference, here is the config for the squad ISRU, which would be targeted by this patch. PART { name = ISRU module = Part author = RoverDude mesh = ISRU.mu scale = 1 rescaleFactor = 1 node_stack_top = 0.0, 1.5, 0.0, 0.0, 1.0, 0.0, 2 node_stack_bottom = 0.0, -1.5, 0.0, 0.0, -1.0, 0.0, 2 TechRequired = advScienceTech entryCost = 24000 cost = 8000 category = Utility subcategory = 0 title = #autoLOC_500652 //#autoLOC_500652 = Convert-O-Tron 250 manufacturer = #autoLOC_501638 //#autoLOC_501638 = Kerbodyne description = #autoLOC_500653 //#autoLOC_500653 = This mobile processing plant can take raw materials containing even trace amounts of oxygen and hydrogen, and crack them into useful fuel products. When operated by a skilled engineer, you will be able to operate with better efficiency. These modules operate best at their ideal operating temperatures, and features auto-shutdown in the event of excessive overheating. Radiators can be used to help manage excessive heat. attachRules = 1,1,1,0,0 // --- standard part parameters --- mass = 4.25 dragModelType = default maximum_drag = 0.2 minimum_drag = 0.2 angularDrag = 2 crashTolerance = 7 maxTemp = 2000 // = 3500 bulkheadProfiles = size2, srf tags = #autoLOC_500654 //#autoLOC_500654 = conver isru mine )mining (ore process resource MODULE { name = ModuleOverheatDisplay } MODULE { name = ModuleResourceConverter ConverterName = #autoLOC_502026 //#autoLOC_502026 = Lf+Ox StartActionName = #autoLOC_502027 //#autoLOC_502027 = Start ISRU [Lf+Ox] StopActionName = #autoLOC_502028 //#autoLOC_502028 = Stop ISRU [Lf+Ox] AutoShutdown = true TemperatureModifier { key = 0 100000 key = 750 50000 key = 1000 10000 key = 1250 500 key = 2000 50 key = 4000 0 } GeneratesHeat = true DefaultShutoffTemp = .8 ThermalEfficiency { key = 0 0 0 0 key = 500 0.1 0 0 key = 1000 1.0 0 0 key = 1250 0.1 0 0 key = 3000 0 0 0 } UseSpecialistBonus = true SpecialistEfficiencyFactor = 0.2 SpecialistBonusBase = 0.05 UseSpecialistHeatBonus = true SpecialistHeatFactor = 0.1 ExperienceEffect = ConverterSkill EfficiencyBonus = 1 resourceOutputName = #autoLOC_8012033 // #autoLOC_8012033 = LF+Ox INPUT_RESOURCE { ResourceName = Ore Ratio = 0.5 FlowMode = STAGE_PRIORITY_FLOW } INPUT_RESOURCE { ResourceName = ElectricCharge Ratio = 30 } OUTPUT_RESOURCE { ResourceName = LiquidFuel Ratio = 0.45 DumpExcess = false FlowMode = STAGE_PRIORITY_FLOW } OUTPUT_RESOURCE { ResourceName = Oxidizer Ratio = 0.55 DumpExcess = false FlowMode = STAGE_PRIORITY_FLOW } } MODULE { name = ModuleResourceConverter ConverterName = #autoLOC_502029 //#autoLOC_502029 = Monoprop StartActionName = #autoLOC_502030 //#autoLOC_502030 = Start ISRU [Monoprop] StopActionName = #autoLOC_502031 //#autoLOC_502031 = Stop ISRU [Monoprop] AutoShutdown = true TemperatureModifier { key = 0 100000 key = 750 50000 key = 1000 10000 key = 1250 500 key = 2000 50 key = 4000 0 } GeneratesHeat = true DefaultShutoffTemp = .8 ThermalEfficiency { key = 0 0 0 0 key = 500 0.1 0 0 key = 1000 1.0 0 0 key = 1250 0.1 0 0 key = 3000 0 0 0 } UseSpecialistBonus = true SpecialistEfficiencyFactor = 0.2 SpecialistBonusBase = 0.05 UseSpecialistHeatBonus = true SpecialistHeatFactor = 0.1 ExperienceEffect = ConverterSkill EfficiencyBonus = 1 resourceOutputName = #autoLOC_8012026 // #autoLOC_8012026 = Monoprop INPUT_RESOURCE { ResourceName = Ore Ratio = 0.5 } INPUT_RESOURCE { ResourceName = ElectricCharge Ratio = 30 } OUTPUT_RESOURCE { ResourceName = MonoPropellant Ratio = 1 DumpExcess = false } } MODULE { name = ModuleResourceConverter ConverterName = #autoLOC_502032 //#autoLOC_502032 = LiquidFuel StartActionName = #autoLOC_502033 //#autoLOC_502033 = Start ISRU [LqdFuel] StopActionName = #autoLOC_502034 //#autoLOC_502034 = Stop ISRU [LqdFuel] AutoShutdown = true TemperatureModifier { key = 0 100000 key = 750 50000 key = 1000 10000 key = 1250 500 key = 2000 50 key = 4000 0 } GeneratesHeat = true DefaultShutoffTemp = .8 ThermalEfficiency { key = 0 0 0 0 key = 500 0.1 0 0 key = 1000 1.0 0 0 key = 1250 0.1 0 0 key = 3000 0 0 0 } UseSpecialistBonus = true SpecialistEfficiencyFactor = 0.2 SpecialistBonusBase = 0.05 UseSpecialistHeatBonus = true SpecialistHeatFactor = 0.1 ExperienceEffect = ConverterSkill EfficiencyBonus = 1 resourceOutputName = #autoLOC_8012032 // #autoLOC_8012032 = LqdFuel INPUT_RESOURCE { ResourceName = Ore Ratio = 0.45 FlowMode = STAGE_PRIORITY_FLOW } INPUT_RESOURCE { ResourceName = ElectricCharge Ratio = 30 } OUTPUT_RESOURCE { ResourceName = LiquidFuel Ratio = 0.9 DumpExcess = false FlowMode = STAGE_PRIORITY_FLOW } } MODULE { name = ModuleResourceConverter ConverterName = #autoLOC_502035 //#autoLOC_502035 = Oxidizer StartActionName = #autoLOC_502036 //#autoLOC_502036 = Start ISRU [Ox] StopActionName = #autoLOC_502037 //#autoLOC_502037 = Stop ISRU [Ox] AutoShutdown = true TemperatureModifier { key = 0 100000 0 0 key = 750 50000 0 0 key = 1000 10000 0 0 key = 1250 500 0 0 key = 2000 50 0 0 key = 4000 0 0 0 } GeneratesHeat = true DefaultShutoffTemp = .8 ThermalEfficiency { key = 0 0 0 0 key = 500 0.1 0 0 key = 1000 1.0 0 0 key = 1250 0.1 0 0 key = 3000 0 0 0 } UseSpecialistBonus = true SpecialistEfficiencyFactor = 0.2 SpecialistBonusBase = 0.05 UseSpecialistHeatBonus = true SpecialistHeatFactor = 0.1 ExperienceEffect = ConverterSkill resourceOutputName = #autoLOC_8012027 // #autoLOC_8012027 = Ox EfficiencyBonus = 1 INPUT_RESOURCE { ResourceName = Ore Ratio = 0.55 FlowMode = STAGE_PRIORITY_FLOW } INPUT_RESOURCE { ResourceName = ElectricCharge Ratio = 30 } OUTPUT_RESOURCE { ResourceName = Oxidizer Ratio = 1.1 DumpExcess = false FlowMode = STAGE_PRIORITY_FLOW } } MODULE { name = ModuleAnimationGroup deployAnimationName = activeAnimationName = ProcessorLarge_running deployActionName = #autoLOC_6002380 //#autoLOC_6002380 = Deploy <<1>> retractActionName = #autoLOC_6002381 //#autoLOC_6002381 = Retract <<1>> toggleActionName = #autoLOC_6002382 //#autoLOC_6002382 = Toggle <<1>> moduleType = #autoLOC_7001227 //Converter //#autoLOC_7001227 = Converter autoDeploy = true } MODULE { name = ModuleCoreHeat CoreTempGoal = 1000 //Internal temp goal - we don't transfer till we hit this point CoreToPartRatio = 0.1 //Scale back cooling if the part is this % of core temp CoreTempGoalAdjustment = 0 //Dynamic goal adjustment CoreEnergyMultiplier = 0.1 //What percentage of our core energy do we transfer to the part HeatRadiantMultiplier = 0.05 //If the core is hotter, how much heat radiates? CoolingRadiantMultiplier = 0 //If the core is colder, how much radiates? HeatTransferMultiplier = 0 //If the part is hotter, how much heat transfers in? CoolantTransferMultiplier = 0.01 //If the part is colder, how much of our energy can we transfer? radiatorCoolingFactor = 1 //How much energy we pull from core with an active radiator? >= 1 radiatorHeatingFactor = 0.05 //How much energy we push to the active radiator MaxCalculationWarp = 1000 //Based on how dramatic the changes are, this is the max rate of change CoreShutdownTemp = 4000 //At what core temperature do we shut down all generators on this part? MaxCoolant = 200 //Maximum amount of radiator capacity we can consume - 50 = 1 small } } as you can see, INPUT_RESOURCE is a child node of ModuleResourceConverter.
-
from my modulemanager.log: Error - Cannot parse variable search when inserting new key key = #0 $INPUT_RESOURCE[ElectricCharge]/Ratio$ to be clear, { key = #0 $INPUT_RESOURCE[ElectricCharge]/Ratio$ //set the heat ouput as proportional to the EC usage. TODO: figure out what ratio to use. } is editing a curve with only one key.
-
So im trying to get comfortable with the variable sytax, but I seem to be running into a bit of a snag when they are used in key-value curves. I have this patch: @PART[*]:HAS[@MODULE[ModuleResourceConverter]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL{ //really need final. !MODULE[ModuleCoreHeat] {} %MODULE[ModuleSystemHeat] { %name = ModuleSystemHeat // Cubic metres %volume = #$/mass$ //1 ton equals 1 cubic meter of cooling. it *very roughly* approximates the balance of squads ISRU %moduleID = isru %iconName = Icon_Gears } !MODULE[ModuleOverheatDisplay]{} @MODULE[ModuleResourceConverter]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]{ //Ive seen some converters that dont use electric charge, those things need thier own patch, as we calculate produced heat based on EC consumption. @name = ModuleSystemHeatConverter moduleID = #$ConverterName$ //this should be the localization string or the actual name, either way, unique. systemHeatModuleID = isru shutdownTemperature = 800 systemOutletTemperature = 600 // temp for freeing water from hydrate regolith. other values could be: 400k for production of hydrazine, 5-600k for decomposition of hydrates, 700 for sabatier process, 373-1000k for high temp electrolysis of water. systemEfficiency { key = 0 0.0 key = 300 1.0 key = 1000 1.0 key = 1300 0.0 } systemPower { key = 0 #$INPUT_RESOURCE[ElectricCharge]/Ratio$ //set the heat ouput as proportional to the EC usage. TODO: figure out what ratio to use. } !Thermalefficiency {} !TemperatureModifier {} @generatesHeat = false //disable stock heating } } and almost everthing seems to work, exept for the systemPower node. It seems like MM is not parsing the variable syntax and inserting this directly into the config, so I get things like this in my mm config cache. systemPower { key = 0 #$INPUT_RESOURCE[ElectricCharge]/Ratio$ } Do I have some error in the patch? is what I am doing even supported?
-
will try with zero mods. trying different pastebins, pastebin.com didnt accept my large logfile. So... I tried with just systemheat and stock... no bug. I gradually added mods one by one (all 172 of them!!!) and by the time they were all back, no bug... On one hand, I have my frames back when playing with ISRU in the VAB. on the other hand, i just spent 2 hours hunting down a phantom bug.
-
ok, to be more specific, Im trying to write a patch along the lines of: @PART[*]:HAS[@MODULE[ModuleresourceConverter]]:FOR[SystemHeat]:FINAL { @MODULE[ModuleResourceConverter]{ @name = ModuleSystemHeatConverter //other stuff } } However, to my understanding, the above will only change the first ModuleResourceConverter into a ModuleSystemHeatConverter. If I understand your post correctly, @MODULE[ModuleResourceConverter], * { will make the patch apply to each ModuleResourceConverter in a part?
-
[1.12.x] Docking Camera KURS Style Re-Adopted (Fixed in 1.9)
toric5 replied to linuxgurugamer's topic in KSP1 Mod Releases
ksp log: http://termbin.com/gauv -
[WIP] Nert's Dev Thread - Current: various updates
toric5 replied to Nertea's topic in KSP1 Mod Development
A-CY1-25 and A-CY1-25XL have their node placements backwards. the A-CY1-25 has nodes outside the structure, A-CY1-25XL inside the structure. EDIT: also, radial attachment is... wonky for the AM tanks and the AM factory EDIT: also, isnt the nuculear smelter supposed to be able to create ablator to refurbish the cabasa?