-
Posts
86 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by SirDargon
-
Game breaking bug! See original post for more info. I'm working on a fix right now and should have one out tonight.
-
I will definitely look into RT2 compatibility. I used it when I play (not currently in my test version of the game) and didn't know that it is still useable w/o connection. If you want to add ScienceContainer to a specific pod, simply make a cfg file containing: @PART[PartName]{ MODULE{ name = ScienceContainer } } Where PartName is the name of the part found in the part.cfg for that part. I will be officially adding more pods here soon though. That's weird, the game should be checking for any IScienceContainer or ModuleScienceContianer on a vessel and unloading all the science from it. I'm guessing that you're using the optional MM cfg file? The next thing I will be official adding to this mod is ScienceContainer to command pods, but will be using a different module to handle it besides the ones currently in the mod. So that should be fixed for my next release.
-
Science Containers v.07 has been released. Changed File Structure Integrated ConfigureableScienceData Added actions to turn on, off and toggle auto-collecting Allowed the manual collecting of nonrerunnable science to auto-collecting containers possible
-
[0.25] Configurable Science Data v.01.1 (For Science Experiment Modders) This mod is meant for modders who want better control of how Science Labs boost the transmit value of a Science Report. Stock Science Labs only allow reports to be boosted by 50% of their transmit value. This mod lets modders give a custom boost amount based on 3 different ways: Percent boost based on the base value Percent boost based on the transmit value Flat boost to the transmit value What It Adds: Adds CfgScienceData, which is a ScienceData Object with fields for a lab boost amount and what the boost pertains to (% of the base value, % of the transmit value, flat addition to the transmit value) Adds ModuleCfgScienceLab, which replaces ModuleScienceLab and can handle CfgScienceData Adds ModuleCfgScienceCommand, which replaces ModuleScienceContianer on parts with ModuleCommand and can handle CfgScienceData Example Code: Here are some example on how to review a CfgScienceData and how to process one: public void ReviewDataItem(ScienceData data){ ExperimentResultDialogPage page = new ExperimentResultDialogPage( part, data, data.transmitValue, ModuleCfgScienceLab.GetBoostForVesselData(part.vessel, data), true, "Transmitting this data with cause experiment to be inoperable.", false, data.labBoost < 1 && vessel.FindPartModulesImplementing<ModuleCfgScienceLab>().Count > 0 && ModuleScienceLab.IsLabData(data), new Callback<ScienceData>(onDiscardData), new Callback<ScienceData>(onKeepData), new Callback<ScienceData>(onTransmitData), new Callback<ScienceData>(onSendDataToLab)); ExperimentsResultDialog.DisplayResult(page); } List<ModuleCfgScienceLab> labList = vessel.FindPartModulesImplementing<ModuleCfgScienceLab>(); if(labList.Count > 0){ ModuleCfgScienceLab lab = labList.FirstOrDefault(l => l.getLab().IsOperational()); if(lab != null){ lab.StartCoroutine (labList.FirstOrDefault().ProcessData((CfgScienceData)data, new Callback<ScienceData>(onLabComplete))); } } If you can think of anything that could make this better, please let me know! Change Log: v.01.1: Fixed casting error Fixed lab boost showing with no lab on the vessel v.01: Initial Release! Github: https://github.com/SirDargon/ConfigurableScienceData Download Current Version: KSP .25: Configurable Science Data v.01.1 Older Versions: KSP .24.2: Configurable Science Data v.01.1 Installation: Merge GameData from the download with GameData in your Kerbal Space Program Directory License: Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
-
[0.24.2][WIP] Configurable Science Data v.01-beta
SirDargon replied to SirDargon's topic in KSP1 Mod Development
No problem. This is still a beta remember and isn't fully complete, but you can start getting your mod setup for this -
New Thread [0.24.2][WIP] Configurable Science Data v.01-beta This mod is meant for modders who want better control of how Science Labs boost the transmit value of a Science Report. Stock Science Labs only allow reports to be boosted by 50% of their transmit value. This mod lets modders give a custom boost amount based on 3 different ways: Percent boost based on the base value Percent boost based on the transmit value Flat boost to the transmit value This is a beta release to show what is capable so far and is in no way a finished product! With that being said though, this can be used to start setting up compatibility with other mods (like my Science Containers) for when this is fully released. This currently won't work properly with data pulled out of an experiment using this, nor via right-clicking on the Science Lab (yet). In either case, it should revert to the stock 50% on transmit value for now. What It Adds: Adds CfgScienceData, which is a ScienceData Object with fields for a lab boost amount and what the boost pertains to (% of the base value, % of the transmit value, flat addition to the transmit value) Adds ModuleCfgScienceLab, which can handle CfgScienceData Planned Changes: Make compatible with data pulled out of experiments and stored in crew capsules Make compatible with right-clicking a Science Lab Example Code: Here are some example on how to review a CfgScienceData and how to process one: public void ReviewDataItem(ScienceData data){ ExperimentResultDialogPage page = new ExperimentResultDialogPage( part, data, data.transmitValue, ModuleCfgScienceLab.GetBoostForVesselData(part.vessel, (CfgScienceData)data), true, "Transmitting this data with cause experiment to be inoperable.", false, data.labBoost < 1 && ModuleScienceLab.IsLabData(data), new Callback<ScienceData>(onDiscardData), new Callback<ScienceData>(onKeepData), new Callback<ScienceData>(onTransmitData), new Callback<ScienceData>(onSendDataToLab)); ExperimentsResultDialog.DisplayResult(page); } List<ModuleCfgScienceLab> labList = vessel.FindPartModulesImplementing<ModuleCfgScienceLab>(); if(labList.Count > 0){ ModuleCfgScienceLab lab = labList.FirstOrDefault(l => l.getLab().IsOperational()); if(lab != null){ lab.StartCoroutine (labList.FirstOrDefault().ProcessData((CfgScienceData)data, new Callback<ScienceData>(onLabComplete))); } } If you can think of anything that could make this better, please let me know! Change Log: v.01-beta: Initial Beta Release! Github: https://github.com/SirDargon/ConfigurableScienceData Download Current Version: Configurable Science Data v.01-beta Installation: Merge GameData from the download with GameData in your Kerbal Space Program Directory License: Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
-
I ran into a little problem with working with DMagic's Orbital Science. He wants some of his experiments to have a lab boost based off of the base value of the science, instead of the transmit value but for him to that, he had to hard code the change to the transmit value once it had been processed while still in the experiments. This means, if you take the ScienceData out of the experiment (either by Kerbal or mods like mine or ship manifest) it would revert to the base 50% boost based on the transmit value. I've finished a quick proof of concept in which I extended ScienceData and added fields for a boost amount (if you don't want the default 50%) and whether it's based of the base value or the transmit value. Along with this, I made a module that gets added to any parts that have ModuleScienceLab that and takes care of editing the transmit value before being processed so that it gets the expected boost (currently it doesn't extend ModuleScienceLab, but in the actual release it will and will replace ModuleScienceLab on the parts via a MM file). If you want to look at the current source of the POC here it is: https://github.com/SirDargon/AdvanceScience (Warning, it's not very friendly yet. It was more for figuring out how to get it done, so I don't suggest using it in this state.) Now that I know it works, I'm rewriting it to be friendlier. As it can handle regular ScienceData too, I'll be adding it into my Science Container so that if other modders want to use it, it'll be compatible from the get to.
-
v.06.3 Fixed the title and description for Auto Collecting Science Containers I'll get around to testing it hopefully here soon. Trying to get a working version of my other mod done quickly.
-
Why did you close the pull request? That's something I'm really interested in adding to this mod. I'm just trying to quickly put something together to help DMagic and other science experiment modders better control the lab boost their SceinceData gets. I'm about to test it and see if what I did works like I think it will.
-
v.06.2 is out! Hot fix removing some code I forgot to remove when reverting changes with labBoost
-
Yeah, just use the download src button. I'll see if there is a different way to release it w/o the src. I'm still pretty new to github.
-
Science Containers v.06.1 is out now! With this release, I have added some Science Containers with the ability to automatically collect science as you do experiments! Also, I have created a github for my projects on here! Check it out if you like. Hmm... I see what you mean with the US parts... I'll pull out what I had thought to be a work around for now... Hopefully I'll be able to get something made that'll help us and other science experiment modders now that I've got v.06.1 out...
-
I've taken a look how you did you're labBoosts and what I have works for now, as it seems all stock ScienceData have a labBoost of 0, and once boosted it gets raise greater than 1. So I'm searching for labData between 0 and 1. If it finds an experiment with such a labBoost, I know it's modded and can adjust accordingly. But for now that's a work around and I can only guarantee it'll work with your modded ScienceData properly. But on the same note, it seems most other modders also use 0 as labBoost so it should work with most others too, for now. I'm about to put out ScienceData v0.6 which has my Auto-collecting Containers, after which I'm going to look into making something like an AdvanceScienceData class, along with a new module for Science Labs that can process them, giving modders better control of labBoosts and such, so that we don't have to use this work around.
-
Science Containers v.05.1 is out! Added compatibility with DMagic's ScienceData so that they keep their 50% labBoost in my containers.
-
Ok, I didn't realize that was intentional. I closed the issue I put on your github about it then. Well then, keeping that 50% is something I'll personally try to make compatible with my mod, seeing I it's one of my favorite mods out there for KSP.
-
The only problem with using data.labBoost < 1 && checkLabOps() && xmitDataScalar < 1 is that science data from stock experiments have labBoost set to 0, even when they show they have a boost when reviewing them while still in the experiment. I've used ModuleScienceLab.GetBoostForVesselData(part.vessel, data) in place of data.labBoost, and ModuleScienceLab.IsLabData(data) in the place to check for a lab, which 7H3LaughingMan showed me, and as far as I've noticed, it has been giving me the correct values each time now. The only problem I've noticed is that your Solar Particle Collector data is showing a 50% boost to its transmit value (which would increase it to 70%) instead of 10% (which is 50% of it's current transmit value, like it should be) while still in the collector, but once it's in my container's it shows the correct boost (10%).
-
I've just put out version .05 of Science Containers! I now have implemented everything I originally had in mind for this mod and now will be working on extra things people mentioned to add on to it! I've even included an optional MM file (under extra downloads) that will add Science Container functionality to all command modules.
-
Thank you so much. I was up all night (literally) trying to figure out why the labBoost wasn't working. I spent so much time working on that, that most everything else was just quickly slapped together. I really do appreciate you pointing out how to fix it, along with my oversight on pulling science out of the same part. I will fix those up once I get me some rest. I would like to point out that storeDataEVA is only used to store data that a Kerbal is carrying (which uses ModuleScienceContainer) so, it shouldn't miss anything. At least it didn't when I was testing it. I'll see if it still works as intended with IScienceContainer, and if it does, I'll use it instead for consistency.
-
Just put out Science Containers v.04. I didn't get everything done I wanted, but I got like 80% of it, so I wanted to get something out there.
-
I found out what I thought was the problem wasn't the problem. I've fixed the the LabBoost on the version I'm working on (it was really messed up in the versions online), but in doing so I found out that stock experiments (Goo and Material Labs are the only ones I've tested so far with this) can't be boosted with a lab if they are directly collected by my parts. But, if you manually collect them via a Kerbal in EVA and put them into the crew capsule, and then have my parts collect them, they can still be boosted. Why? I have no idea, and I'm trying to figure that out. There's something special about a Kerbal pulling it out compared to something else doing it. But even weirder, it looks like experiments from mods (Like DMagic's) are not effected by this and can still be boosted if collected directly with my mod.
-
I'm guessing you got that out of DMagic's source code? He sent me the same bit of code when I asked him about it. But I do thank you for sending it my way too. I'm going to be adding it once I figure out why none of the ScienceData coming from stock experiments are retaining their LabBoost when transferred to my parts... They retain them if you manually transfer them via Kerbal to your crew capsule and then collect, but not when you collect them straight to my parts. I think it has something to do with the use of IScienceContainer.getData() vs ModuleScienceContainer.getData().
-
Ah, ok. Yeah, I can understand that. I just thew it in there for the time being because you should be getting the 2.5m part around that time. But you're right, it would make better sense in some sort of science node. Will move it for the next release. I have the next release about halfway done. As long as I can find a way let EVA Kerbals retrieve the data, I should have it out tomorrow. But that depends on a response to a message I sent to someone asking about how I should go about it. I know of a work around for it, but I really don't want to use a work around if I don't have to.
-
I'm sorry for not replying to your post, but I did look at it. I've decided to change the probe like you suggested and will be changing the location in the tech tree for the probe (if I remember correct, the 2.5m part is already under General Construction). I'll take a look again, but science shouldn't be locked in the container once collected. The only problem with putting them in crew capsules is that they already implement the IScienceDataContainer interface and by putting my ScienceContainer (which also implements IScienceDataCntainer) in them, you're being redundant. I'm going to look into making a separate module that can be used for crew capsules that wont be redundant. Edit: You mean form EVA! That was an oversight on my part. I will add the ability to retrieve data from the part during EVA for the next release. Thank you for pointing that out to me!
-
OP has been updated with my plans towards this new part!