Jump to content

[KSP 1.4.5] [x] Science! - KSP Science report and checklist (V5.17)


Recommended Posts

Ah! Ok. Apparently not having Blizzy's tool bar is not an isolated incident for such incidents; I just recently had a similar incident here as well. Thanks for looking into it.

I have fixed a load of stuff in the unload() event which seems to have fixed those problems.

I have also written a rather cool wrapper for CelestialBody that works out a whole load of parameters. I have managed to remove a lot of magic constants and also simplified the code rather a lot. I could take this a lot further, I'm wondering where I ought to stop.

I'm was hoping that the changes I have made would help mods like DMagic Orbital Science or Solar Science. Unfortunately I still have some way to go there. I will keep working on it.

Is [x] Science too much like cheating? What about a difficult mode? (It would be a setting, not compulsory)

What I could now do is restrict the experiments you can see based on the bodies you have visited. So maybe you can't see the Mun's biomes until you have at least got a ship to fly-by. I'm wondering what that ought to look like. So at the moment the right-most filter button shows everything, even unresearched instruments. There is a filter that hide the unresearched stuff - that could hide the unvisited planets too. I was wondering - what do you think of a "hard mode?" Essentially it would hide the show-all filter. The best you could do would be to show instruments you have researched on bodies who's SOI you have entered at least once.

Link to comment
Share on other sites

You could make the hard mode even harder: only show biomes that you've performed an experiment in (Or unlocked in the resource system? Or observed with ScanSat?). Basically, only show the biomes that the user knows about for other reasons.

This tentatively sounds reasonable to me. It could even be convenient: a lot of the time, I want to know what I can do in the places I can already get to, and having Eeloo in the list is just a distraction.

Link to comment
Share on other sites

You could make the hard mode even harder: only show biomes that you've performed an experiment in (Or unlocked in the resource system? Or observed with ScanSat?). Basically, only show the biomes that the user knows about for other reasons.

This tentatively sounds reasonable to me. It could even be convenient: a lot of the time, I want to know what I can do in the places I can already get to, and having Eeloo in the list is just a distraction.

A lot of that occurred to me, and maybe I could, later. For the moment - I did some work to fix something and ended up with a certain functionality. Though it looked cool.

Any how I couldn't sleep last night and was coding it at 4.00 in the morning. So it is kinda done. Looked OK at the time. Too sleepy today to even think of looking at it... Um, it could be junk. I have done some very good work at 4.00 in the morning before... Zzzzzzzzz.

Link to comment
Share on other sites

I have fixed a load of stuff in the unload() event which seems to have fixed those problems.

I have also written a rather cool wrapper for CelestialBody that works out a whole load of parameters. I have managed to remove a lot of magic constants and also simplified the code rather a lot. I could take this a lot further, I'm wondering where I ought to stop.

I'm was hoping that the changes I have made would help mods like DMagic Orbital Science or Solar Science. Unfortunately I still have some way to go there. I will keep working on it.

Is [x] Science too much like cheating? What about a difficult mode? (It would be a setting, not compulsory)

What I could now do is restrict the experiments you can see based on the bodies you have visited. So maybe you can't see the Mun's biomes until you have at least got a ship to fly-by. I'm wondering what that ought to look like. So at the moment the right-most filter button shows everything, even unresearched instruments. There is a filter that hide the unresearched stuff - that could hide the unvisited planets too. I was wondering - what do you think of a "hard mode?" Essentially it would hide the show-all filter. The best you could do would be to show instruments you have researched on bodies who's SOI you have entered at least once.

I'm downloading the update right now, and will check it out shortly. Thanks!

Is [x] Science cheating? No, I don't think so. Before I discovered [x] Science, I used to keep track of all bodies/biomes/science gathered in a spreadsheet... which provided me a good at-a-glance view of where I was at, but was a pain in the arse to keep updated. [x] Science does the same thing, for the most part, which makes it easier for me to keep track of such stuff.

Difficulty mode? Well I can't speak for everyone. I play a Science game. As far as 'filters', I don't need to see experiments for instruments I don't yet have ... that just makes clutter in the list, so I hide the unresearched stuff. I find the existing word filter sufficient, where, for example, I can easily review my standing on a selected body like - everything having to do with "Mun".

Link to comment
Share on other sites

[x] Science! V4.8 is available

* Loading settings is a bit more robust

* Fixed an exception if Blizzy78's toolbar is missing

* Better analysis of planet's properties, should work better with modified solar system.

* Filtered results includes only biomes of visited bodies

* Option to hide the "Show All" filter button. Player can prevent themselves from seeing biomes on unexplored bodies.

Unlocked instruments in situations on explored bodies can still be seen using the right-most filter button. Using settings you can hide this button if it feels too-much like cheating. If you get any vessel into the SOI of that body then all the biomes become visible. If you have [x] Science! visible as you cross into the bodies sphere of influence then the [x] Science! display should refresh with the new situations displayed.

Download it here: http://themoose.co.uk/ksp/x-science-v4.8.zip

It'll be on Kerbal Stuff and CKAN shortly.

- - - Updated - - -

I'm downloading the update right now, and will check it out shortly. Thanks!

Not sure what you downloaded. But I've published it now.

Link to comment
Share on other sites

Nice Plugin. Is it possible that we can get a case sensitive Filter? As searching for SPH brings up Atmospheric Scans too. I don't know if this is usefull for other searches.

Try adding "-atmospheric"

"space high -highlands" is always useful too.

Case sensitive? I'm not keen on the idea.

Awesome mod! Thanks! Is it possible to track which data i do not reseach in mobile processing lab?

Some science is kinda spammy...

  • If fuel isn't a problem you can carry asteroids around and for each asteroid do a surface sample in every situation in every biome on every body.
  • For each lab you can research every combination of experiment in situation in biome on body.

I could do something but I wouldn't want to add it to the main science list.

Link to comment
Share on other sites

Awesome mod, much needed, thank you!!

Quick bug report: the mod does not respect F2. This makes all windows disappear to make taking a screenshot easier, but this mod's window stays open. Really nothing major but a minor glitch probably worth correcting.

Link to comment
Share on other sites

  • 2 weeks later...

Got a bug report for you. This happens when going from Main Menu => Loading a game => Main Menu (at least some of the time, haven't confirmed if it's always):

[EXC 21:33:13.505] NullReferenceException: Object reference not set to an instance of an object    ScienceChecklist.ScienceChecklistAddon.Start ()
[EXC 21:33:13.514] NullReferenceException: Object reference not set to an instance of an object
ScienceChecklist.ScienceChecklistAddon.Update ()
[EXC 21:33:13.757] NullReferenceException: Object reference not set to an instance of an object
ScienceChecklist.ScienceChecklistAddon.OnGUI ()
[EXC 21:33:13.758] NullReferenceException: Object reference not set to an instance of an object
ScienceChecklist.ScienceChecklistAddon.OnGUI ()
<repeat the last exception forever>

The KSPAddon seems to have issues (I never trust the onlyOnce flag to actually work). The problem is that the bulk of the code in your Awake() (which in Unity is akin to a static initializer) code is for initializing the instance - so it really needs to go into Start() (which is equivalent to a constructor). Or if you want to ensure that it's a singleton, you can store the instance and do a DestroyImmediate in Start() if Instance is already set.

Link to comment
Share on other sites

I too have been getting a NRE, just one, related to your mod. If you want the entire output_log file just let me know and I'll link it via DropBox.

NullReferenceException
at (wrapper managed-to-native) UnityEngine.MonoBehaviour:StopCoroutine (string)

at ScienceChecklist.ScienceChecklistAddon.Unload () [0x00000] in <filename unknown>:0

at EventVoid.Fire () [0x00000] in <filename unknown>:0

at ApplicationLauncher.OnDestroy () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

Link to comment
Share on other sites

Great mod! Just what I came looking for, and the only one like it... and because of that I was wondering how difficult it would be to add a function to it..

With the new mobile processing labs, it's possible for each individual lab to process/research each experiment one time only. Would it be possible to have an individual list for each mobile processing lab to keep track of what's been used for research already? It looks like the format you're already using would be perfect.

Link to comment
Share on other sites

  • 2 weeks later...

I'm testing a new version of [x] Science! - I'm hoping to release it soon.

I've made a lot of changes; the bit that will affect you guys is that there is a new config file of filters. Experiments can now be filtered according to the properties of celestial bodies.

What that means in normal English is that [x] Science! will filter the DMagic Orbial Science XKCD BioDrill properly. Also both SolarScience experiments.

The new filter file is called "science.cfg" and by default it looks like this

ScienceChecklist
{
CelestialBodyFilters
{
dmbiodrillscan = NeedsAtmosphere
HMI = NeedsStar
STEREO = NeedsStar
}
}

The LHS is the "id" field from the "EXPERIMENT_DEFINITION"

The RHS is the filter.

You can actually stack filters by adding several separated by commas eg "dmbiodrillscan = NeedsAtmosphere, NeedsOxygen"

Filters can only restrict the scope of experiments, they can't add extra situations.

The filters I have provided are

NeedsAll, AvoidAll

NeedsOxygen, AvoidOxygen, NeedsAtmosphere, AvoidAtmosphere

NeedsPlanet, AvoidPlanet, NeedsMoon, AvoidMoon, NeedsStar, AvoidStar, NeedsGasGiant, AvoidGasGiant

NeedsOcean, AvoidOcean, NeedsSurface, AvoidSurface

NeedsHomeWorld, AvoidHomeWorld

So the first 5 letters of each filter are either Needs or Avoid. All the filters come in pairs. I'm hoping this will provide enough flexibility to be going on with.

Any how I'll test it and hopefully release a new version in a few days. If you are feeling very brave you can try grabbing the source off of GitHub.

Link to comment
Share on other sites

Some experiments are showing up for KSC baby biomes when they shouldn't. The Infrared Telescope from Asteroid Day for example. Fix coming soon.

-----

Fix seems to be working. I'll try and get it packaged up and shipped soon. Sorry about the bug - I changed a lot, it was all going too well.

Edited by Z-Key Aerospace
Link to comment
Share on other sites

When activating the [x] Science! window, I get no entries at all.

After digging through the logs, I find the following exception. From reading the thread, it looks like this means [x] Science! doesn't play nice with science mods that aren't defined for it:


[EXC 23:44:32.818] ArgumentNullException: Argument cannot be null.
Parameter name: key
System.Collections.Generic.Dictionary`2[System.String,ScienceExperiment].ContainsKey (System.String key)
ResearchAndDevelopment.GetExperiment (System.String experimentID)
ScienceChecklist.ScienceContext.<UpdateExperiments>b__15 (.ModuleScienceExperiment x)
System.Linq.Enumerable+<CreateSelectIterator>c__Iterator10`2[ModuleScienceExperiment,<>f__AnonymousType0`2[ModuleScienceExperiment,ScienceExperiment]].MoveNext ()
System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[<>f__AnonymousType0`2[ModuleScienceExperiment,ScienceExperiment]].MoveNext ()
System.Linq.Enumerable+<CreateGroupByIterator>c__Iterator5`2[<>f__AnonymousType0`2[ModuleScienceExperiment,ScienceExperiment],ScienceExperiment].MoveNext ()
System.Linq.Enumerable.ToDictionary[IGrouping`2,ScienceExperiment,ModuleScienceExperiment] (IEnumerable`1 source, System.Func`2 keySelector, System.Func`2 elementSelector, IEqualityComparer`1 comparer)
System.Linq.Enumerable.ToDictionary[IGrouping`2,ScienceExperiment,ModuleScienceExperiment] (IEnumerable`1 source, System.Func`2 keySelector, System.Func`2 elementSelector)
ScienceChecklist.ScienceContext.UpdateExperiments ()
ScienceChecklist.ScienceContext.Reset ()
ScienceChecklist.ScienceContext..ctor ()
ScienceChecklist.ExperimentFilter.RefreshExperimentCache ()
ScienceChecklist.ScienceWindow.RefreshExperimentCache ()
ScienceChecklist.ScienceChecklistAddon+<WaitForRnDAndPartLoader>d__0.MoveNext ()

Mods I have which add or modify science (I may have missed some) :

+ SCANSat http://forum.kerbalspaceprogram.com/threads/96859 12.0 Science added from scanning and activating parts.

+ KSPI Extended Configuration http://forum.kerbalspaceprogram.com/threads/111159 1.5.6 Modifies the Accelerometer, adds science parts.

+ Crowd-sourced Science http://forum.kerbalspaceprogram.com/threads/102373 3.0.1 Modifies the science definitions to add more varied messages.

+ Universal Storage http://forum.kerbalspaceprogram.com/threads/75129 1.1.0.7 Makes US wedge versions of many stock science parts.

+ DMagic Orbital Science http://forum.kerbalspaceprogram.com/threads/64972 1.0.8 Adds science parts.

+ Mission Controller http://forum.kerbalspaceprogram.com/threads/43645 1.22 Adds science parts.

+ L-Tech http://forum.kerbalspaceprogram.com/threads/53813 0.90.0 Adds science parts (and they all still work, miracle of miracles!)

+ Station Science http://forum.kerbalspaceprogram.com/threads/54774 1.5 Adds science parts.

Sorry for the poor formatting - I keep my mod list in a tab-separated text file. It looks nice on MY screen. :)

I guess the question is whether there would be a way to handle otherwise undefined science bits. I'd rather have -some- functionality, even if just for the stock parts, rather than none at all like I have now.

Link to comment
Share on other sites

[x] Science! does handle all real science. But that looks like a lot of science - of course there is no excuse for a crash. I suspect one of those add-ons isn't playing nicely. I'll have a look.

BTW you are missing Solar Science and Banana for Scale.

I actually meant mods -I- have that add science. But I am TOTALLY going to find Banana For Scale now - I didn't know about that one. <_<:D

What do you mean by "real" science? Anything using ModuleScienceExperiment? Would things like KEES and the L-Tech Skylab that use a custom experiment module mess things up unless explicitly defined like Orbital Science as mentioned in the OP, or should it just not show up at all?

Side note: It isn't a crash bug - it just isn't displaying any entries when I bring up the [x] window. Either way though, let me know if you need anything else for troubleshooting - I can get you more logs than you could ever possibly use. :)

Link to comment
Share on other sites

  • 4 weeks later...
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...