![](https://forum.kerbalspaceprogram.com/uploads/set_resources_17/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://forum.kerbalspaceprogram.com/uploads/set_resources_17/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
DMagic
Members-
Posts
4,180 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by DMagic
-
[1.8.x] DMagic's Modlets - Most KSP 1.8 Updates [10-29-2019]
DMagic replied to DMagic's topic in KSP1 Mod Releases
If it's not too much trouble you can replace them. -
[1.8.x] DMagic's Modlets - Most KSP 1.8 Updates [10-29-2019]
DMagic replied to DMagic's topic in KSP1 Mod Releases
@FirroSeranel Do you have a save file from when you are trying to dock them together? The only thing I can think of is that one of the ports is stuck in the Acquire state. I just tried it out with Indicator Lights installed, on the off chance that was causing any problems, but it worked fine for me. -
[1.8.x] DMagic's Modlets - Most KSP 1.8 Updates [10-29-2019]
DMagic replied to DMagic's topic in KSP1 Mod Releases
@FirroSeranel Can you try backing up and moving in close again (on Minmus you can probably just lean one vessel away from the other)? Or retract and extend the flexible port again. It should be able to dock to anything as long as it is the same size. Also, what does it say in the right click menu for the status? The flexible port should start tracking the other port once you move within 1m (the values can be changed in the config files) of the other port, and it will disengage at 1.5m (when you have a docking port selected as the target and a docking port as the control point on your current vessel Basic Orbit will give the exact distance between the two docking nodes). It's possible that it thinks it should be disengaging, or that it needs to reset something internally. -
[1.8.x] DMagic Orbital Science: New Science Parts [v1.4.3] [11/2/2019]
DMagic replied to DMagic's topic in KSP1 Mod Releases
Version 1.3.4 is out; get it on Space Dock. It contains fixes for bugs in the long term magnetic field survey and recon contracts. It also moves some of the Universal Storage parts in the tech tree. -
Everything in the debug console is written to the logs (though there can be a delay in some cases). Those messages are normal, they just mean that planetary resources have been found (from CRP in most cases) that aren't registered by SCANsat. If you want to add resources to SCANsat's list there is a section in the wiki that covers it.
-
[1.8.x] DMagic Orbital Science: New Science Parts [v1.4.3] [11/2/2019]
DMagic replied to DMagic's topic in KSP1 Mod Releases
@Rantanplan1986 That part is a little clunky. Its animation is based on the orientation of the part it's attached to, and doesn't really check anything related to the surface. If you want to change its behavior you can play around with attaching it to different parts, or attaching a small strut cube at different orientations and attaching the drill to that. -
[1.8.x] DMagic Orbital Science: New Science Parts [v1.4.3] [11/2/2019]
DMagic replied to DMagic's topic in KSP1 Mod Releases
@Torham234 I see the problem. It seems that, for some reason, KSP thinks all unloaded vessels are in the "Flying" situation, you have to check the proto vessel situation to get the accurate result for unloaded vessels. I'll update with that fix and move the tech nodes around to account for stock science positions. @Jiraiyah I haven't played with RT in ages, so I'm probably not equipped to make good configs for it. Your patch seems to be missing the % from the ModuleRTAntenna section, I'm not sure if it's needed. The patches from RT for the stock antenna have that before each line: https://github.com/RemoteTechnologiesGroup/RemoteTech/blob/develop/GameData/RemoteTech/RemoteTech_Squad_Antennas.cfg The other problem, which may be breaking the patch, is that the SIGINT parts don't have a ModuleAnimateGeneric. Remove that section entirely. -
[1.8.x] DMagic Orbital Science: New Science Parts [v1.4.3] [11/2/2019]
DMagic replied to DMagic's topic in KSP1 Mod Releases
@Torham234 Let me know if you continue to see any issues with those magnetic field contracts. They are a bit tricky and I think I saw some issues during testing but they were hard to replicate. -
[1.8.x] DMagic's Modlets - Most KSP 1.8 Updates [10-29-2019]
DMagic replied to DMagic's topic in KSP1 Mod Releases
@Curveball Anders Was this a regular tourist contract or one of the new pass out from gee forces contracts? Do you have the save file with that contract active? That would help. -
It looks like its only the new easter eggs. Though sadly it doesn't look like the name of the unlocked tech node is stored anywhere, so there is no way to build a record of which tech nodes have been unlocked like you can with the regular progress node rewards.
-
@COL.R.Neville Both metal resources are supported, I'm not sure if they are both CRP, but SCANsat includes definitions for both. The first post always has download links, both to the download sites and direct download links (the SpaceDock download servers have always been working fine for me, it's just the website that can be slow).
-
[1.8.x] DMagic's Modlets - Most KSP 1.8 Updates [10-29-2019]
DMagic replied to DMagic's topic in KSP1 Mod Releases
For anyone else interested in using EVA Kerbals to transmit results see these two threads: Kerbals now have regular part config files in the GameData folder. So you can add a short range antenna either directly to the config file or use MM to do the same. The only real snag is that transmissions require a stupid amount of EC, so maybe set the EC requirements very low (packetResourceCost in the antenna config, I think), or give the Kerbal a huge battery. @FirroSeranel I'll release an update soon that checks the position of the window and adds the settings panel above or below it. It will also only allow for one settings window to be open at a time, which will alleviate all the hassle of trying to position multiple panels (and I'll probably be adding a Maneuver node panel and adjusting the existing Target panel at some point, which would further complicate the situation). Also, there is a settings file in the BasicOrbit/PluginData folder that you can use to change which readout modules are active if the windows still don't work right. -
[1.8.x] DMagic Orbital Science: New Science Parts [v1.4.3] [11/2/2019]
DMagic replied to DMagic's topic in KSP1 Mod Releases
@bice @Furious1964 ForScience possibly created some problems with Orbital Science at one point, though I'm not completely sure that it was the culprit. In any event it doesn't do anything with Orbital Science parts, since they work differently than stock, so it isn't ideal for that type of automated science collection. This mod explicitly supports Orbital Science and more-or-less does the same thing. I'm not sure if it's working correctly with 1.2 and the latest Orbital Science update (I didn't change anything that should affect it though), but it might be a better option. And, yes, I added the conflict tag to the CKAN file. @hieywiey I actually designed the Core Drill to partially based off of the Viking experiments (I really need to start back with those explainers...) and the ExoMars rover. More experiments are always nice though. -
PopupDialog and the DialogGUI classes
DMagic replied to DMagic's topic in KSP1 C# Plugin Development Help and Support
For a slightly more complex example of a PopupDialog check out the code from Science Relay. It uses a PopupDialog to spawn a scrollable list of buttons, each with an associated label, and allows for a separate, warning popup under certain conditions. private PopupDialog spawnDialog(ExperimentResultDialogPage page) { List<DialogGUIBase> dialog = new List<DialogGUIBase>(); dialog.Add(new DialogGUIHorizontalLayout(true, false, 0, new RectOffset(), TextAnchor.UpperCenter, new DialogGUIBase[] { new DialogGUILabel(string.Format("Transmit data to the selected vessel:\n{0}", page.pageData.title), false, false) })); transferAll = false; if (resultsDialog.pages.Count > 1) { dialog.Add(new DialogGUIHorizontalLayout(true, false, 0, new RectOffset(), TextAnchor.UpperCenter, new DialogGUIBase[] { new DialogGUIToggle(false, "Transfer All Open Data", delegate(bool b) { transferAll = !transferAll; }, 200, 20) })); } List<DialogGUIHorizontalLayout> vessels = new List<DialogGUIHorizontalLayout>(); for (int i = connectedVessels.Count - 1; i >= 0; i--) { KeyValuePair<Vessel, double> pair = connectedVessels[i]; Vessel v = pair.Key; float boost = signalBoost((float)pair.Value, v, currentPage.pageData, page.xmitDataScalar); DialogGUILabel label = null; if (settings.transmissionBoost) { string transmit = string.Format("Xmit: {0:P0}", page.xmitDataScalar * (1 + boost)); if (boost > 0) transmit += string.Format("(+{0:P0})", boost); label = new DialogGUILabel(transmit, 130, 25); } DialogGUIBase button = null; if (settings.showTransmitWarning && page.showTransmitWarning) { button = new DialogGUIButton( v.vesselName, delegate { spawnWarningDialog( new ScienceRelayData() { _data = page.pageData, _host = page.host, _boost = boost, _source = FlightGlobals.ActiveVessel, _target = v, }, currentPage.transmitWarningMessage); }, 160, 30, true, null); } else { button = new DialogGUIButton<ScienceRelayData>( v.vesselName, transferToVessel, new ScienceRelayData() { _data = page.pageData, _host = page.host, _boost = boost, _source = FlightGlobals.ActiveVessel, _target = v, }, true); button.size = new Vector2(160, 30); } DialogGUIHorizontalLayout h = new DialogGUIHorizontalLayout(true, false, 4, new RectOffset(), TextAnchor.MiddleCenter, new DialogGUIBase[] { button }); if (label != null) h.AddChild(label); vessels.Add(h); } DialogGUIBase[] scrollList = new DialogGUIBase[vessels.Count + 1]; scrollList[0] = new DialogGUIContentSizer(ContentSizeFitter.FitMode.Unconstrained, ContentSizeFitter.FitMode.PreferredSize, true); for (int i = 0; i < vessels.Count; i++) scrollList[i + 1] = vessels[i]; dialog.Add(new DialogGUIScrollList(Vector2.one, false, true, new DialogGUIVerticalLayout(10, 100, 4, new RectOffset(6, 24, 10, 10), TextAnchor.MiddleLeft, scrollList) )); dialog.Add(new DialogGUISpace(4)); dialog.Add(new DialogGUIHorizontalLayout(new DialogGUIBase[] { new DialogGUIFlexibleSpace(), new DialogGUIButton("Cancel Transfer", popupDismiss), new DialogGUIFlexibleSpace(), new DialogGUILabel(version, false, false) })); RectTransform resultRect = resultsDialog.GetComponent<RectTransform>(); Rect pos = new Rect(0.5f, 0.5f, 300, 300); if (resultRect != null) { Vector2 resultPos = resultRect.position; float scale = GameSettings.UI_SCALE; int width = Screen.width; int height = Screen.height; float xpos = (resultPos.x / scale) + width / 2; float ypos = (resultPos.y / scale) + height / 2; float yNorm = ypos / height; pos.y = yNorm; pos.x = xpos > (width - (550 * scale)) ? (xpos - 360) / width : (xpos + 360) / width; } return PopupDialog.SpawnPopupDialog(new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f), new MultiOptionDialog("", "Science Relay", UISkinManager.defaultSkin, pos, dialog.ToArray()), false, UISkinManager.defaultSkin); } Note the use of the DialogGUIContentSizer as the first element in the DialogGUIScrollList, it controls the size of the scroll window (the full size, not the window that is currently shown). Also note near the top where each DialogGUIButton is created, there are two possible versions, one that calls a method (and uses the DialogGUIButton<T>), and the other that spawns another popup. The section at the bottom with the RectTransforms and positions is used to spawn the popup next to the Experiment Results Dialog (to the right or left depending on its position on the screen). The actual position on screen is defined by the Rect argument in the MultiOptionDialog constructor. It is defined as a normalized value with 0.5,0.5 being in the center of the screen, so you need to take the actual screen size and the UI scale into account when manually positioning the popup. This is the resulting window: -
If your mod just consists of the window shown above you can skip the tedious Unity stuff and just use the PopupDialog system: It works similar to the GUILayout system but generates a UI using the new Unity UI system. Edit: I just added a more complex example of the PopupDialog system used by my mod Science Relay.
-
[KSP1.8] DMagic Module Science Animate V0.22 (11/2/19)
DMagic replied to DMagic's topic in KSP1 Mod Development
That thing trips me up all the time. -
[KSP1.8] DMagic Module Science Animate V0.22 (11/2/19)
DMagic replied to DMagic's topic in KSP1 Mod Development
Does the animation start without any input? That's what it looks like. Do you have the "Play Automatically" box ticked in your Unity setup? -
Addon that adds alot of new science tools?
DMagic replied to neoblackheart's topic in KSP1 Mods Discussions
-
[1.8.x] DMagic's Modlets - Most KSP 1.8 Updates [10-29-2019]
DMagic replied to DMagic's topic in KSP1 Mod Releases
@FirroSeranel I'll look into it. It should be simple enough to check if the panel is near the bottom and move it up, or just spawn the settings windows on top of the panel. In the mean time you might try reducing the UI scale of the Apps bar (from the in-game settings menu) temporarily to try and make the buttons move up a bit. -
[1.8.x] DMagic's Modlets - Most KSP 1.8 Updates [10-29-2019]
DMagic replied to DMagic's topic in KSP1 Mod Releases
Any vessel that has either a direct connection to the active vessel, or a chain of relays that connects back to the active vessel is a possible receiver, it doesn't care about access to the KSC or control networks. The only thing that is required is a valid connection and a module science container (which all command pods, some probe cores and the new science container have), or, depending on your settings, a lab. So as long as your drones have an antenna and an unobstructed line-of-site (using the stock planet occlusion system) back to the mothership they should be able to transmit. The transmissions take up time and electricity just like regular transmissions.