DMagic
Members-
Posts
4,180 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by DMagic
-
[0.90.0] Fine Print vSTOCK'D - BETA RELEASE!!! (December 15)
DMagic replied to Arsonide's topic in KSP1 Mod Releases
I don't suppose either of you is also using my [thread=80220]Celestial Body Science Value Editor[/thread]? Contracts use the CelestialBodyScienceParams.RecoveryValue multiplier (the thing that determines how much science a vessel returned from planet X is worth) to calculate contract rewards. So if you start lowering that it can have a major effect on contract rewards, penalties, deadlines, etc... I should probably put a disclaimer about that in the thread. -
[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
If you're feeling brave you can go into your persistent file and check the state of the contract there. Just search for "DMOrbitalParameters" and check the last field to see if the name of your vessel is recorded and if it says true or false at the end of the line. The program first checks to see if your vessel is in orbit around the target planet, using basically the same system as the stock contracts, but then it also checks to see if you have both science parts attached to the vessel. Only then does it start checking your inclination and eccentricity. Once those parameters are satisfied then it can start the timer for the main contract parameter. If something goes wrong at any stage it could prevent the vessel from being tracked properly. You could try breaking orbit, either escaping or going sub-orbital, just for a moment, then re-establish orbit. That should reset things and allow for the process to start over once you re-enter orbit. If you don't have fuel that obviously won't work though. -
[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
Does your vessel have both parts, the magnetometer and the RPWS? You need both at all times for it to count. You might have to try reloading the vessel to get it to register if it has failed for some reason. -
[Plugin - WIP] Contracts Window + [v0.4] 8/15/14
DMagic replied to DMagic's topic in KSP1 Mod Development
Version 1 is now up on the [thread=91034]release thread[/thread]. -
Contracts Window + v9.4 Download from SpaceDock Download from CurseForge Alternate Download: GitHub Localization is supported and the following translations are included in the download package: Russian | Chinese | Polish | Spanish | French by @vladimir_v | by @QAQdong | by @Moskit | by @fitiales | by don-vip -------------------- Consider donating if you like what you see here. * Money will not go directly to development or upkeep of this addon -------------------- Source is available at GitHub A new contract monitoring window designed to give more information and be more flexible than the stock window. This window gives players a number of options for displaying contracts. Grouping and ordering of contracts can be modified and contracts can be placed into custom mission lists. All contract and parameter reward and penalty values are displayed, along with the amount due to any strategy modifiers. The contract reward modification section of this addon has been removed. Its functionality has been moved to a new, separate add-on that can be found here. The top bar has several buttons that are used to adjust contract ordering and display options. The top-left icon opens a new window with options for changing sort order based on several criteria. The next icon toggles between ascending and descending order for the selected sorting type. The eyeball icon on the right toggles between the active and hidden contract list. Each mission list has its own active and hidden contract lists. The top-right icon opens a new window displaying all of the existing contract missions. Selecting a mission will switch the primary display to those contracts. The primary mission is always at the top of the list and contains all contracts. The bottom bar has several buttons that control various window options. The version number is displayed on the left. Tooltips for most buttons can be toggled on and off with the next icon. The spinning arrows icon is used to reset the window and primary contract list. A confirmation box will open upon pushing this button. This should generally not be needed, but if there are errors in the contract window (no contracts displayed, no "MasterMission" contract list, the window is too small, etc...) this can be used. All window size, font size, and position options will be reset; the internal list of contracts will be updated with all active contracts and the "MasterMission" will be reset with this internal list. All other mission lists should be unaffected, these can be manually deleted if there are any other problems. The aA icon controls font size for most of the window's labels. Each font is increased by one unit. The next icon toggles the overall window and texture element size. It also increases the font size by two units. Between the font and window size options there are four available font sizes and two window element size options. The arrow icon in the lower-right is a re-size handle; it can be dragged to increase or decrease the window size in either dimension. Each contract has a title bar above it with information and options for the contract. The contract difficulty, or prestige, is displayed on the left with one to three stars. The time remaining for the contract is shown next. It updates every five seconds (at high time-warp several days can go by during this period) and switches to days and hours, and turns yellow, when the counter gets low. The year/day time is dependent on your selection of Earth/Kerbin days in the KSP settings menu. The A icon can be used to display the flag and name of the contract's agency. The eyeball icon can be used to move the contract into the hidden or active contract list. The pin icon can be used to pin the icon to the top of the list, regardless of sort type or order; a contract's pinned state is persistent. The checkbox icon can be used to move the contract into a different contract mission list or create a new one. The blue icon at the end can be used to display contract notes if they exist; these are different from individual parameter notes. The primary contract and parameter display shows the same information as the stock window. In orange is the contract title. It is a button that can be pushed to collapse or expand the contract's parameters. When completed the contract text will turn green; when failed it will turn red. The contract parameters are shown in white. When completed these will turn green. Contract parameter notes can be displayed using the blue icon. Sub-parameters are offset slightly and are shown in a darker color. When all sub-parameters are completed they will be collapsed into their parent parameter and no longer displayed. The rewards for each contract and their parameters are displayed on the right side of the window. Funds, Rep, and Science rewards are displayed depending on how wide the window is. Rewards are in green, penalties are in red. The amount of any reward/penalty due to strategies, if any, is displayed in parenthesis. When the green checkbox icon is selected the mission list will appear. The current contract mission lists are displayed in this window. A green checkmark indicator on the left indicates that the currently selected contract is already in that mission. The green number to the right is the amount of contracts in that list. The red x box on the right can be used to remove a contract from any mission that it is present in. Selecting any existing mission will add the contract to it. Selecting the "Create New Mission" option will open the mission creator window. New missions can be created after giving them a name. Missions must have a name, can't use the same name, and must be under 20 characters. All progress nodes, their rewards, and in some cases, information about when they were completed is shown in this window. There are four types of Progress Nodes. Interval Nodes: These are nodes with multiple levels of progression, such as the altitude or speed records. Standard Nodes: These are nodes not specific to any one Celestial Body. Point of Interest Nodes: These are nodes completed by visiting anomalies. Celestial Body-Specific Nodes: These are nodes which are given separately for each Celestial Body Interval progress nodes. Standard progress nodes. The mission title bar is shown at the top of the window. The Title Bar is a button that can be used to switch to Progress Node mode. The edit mission window is opened with the pencil icon in the mission title bar for all but the Master Mission. Change the name of any mission. Delete any mission; this won't affect the contracts, and all contracts are still available in the Master Mission list. ChangeLog: This add-on uses TriggerAu's KSP Plugin Framework code Released under the MIT License.
- 363 replies
-
- 20
-
Contract Modding Information for Mod Authors
DMagic replied to MrHappyFace's topic in KSP1 Mod Development
I believe it's the Contract.ID (not the Guid, the long ID) field that gets checked. This doesn't get saved so I assume it is generated on load, but I think it takes into account both contract hash strings and child parameter hash strings. What do you mean by hidden? It has the PartTest parameter that is the parent of all the others, but that one is always visible in the contract window. -
[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
Do you mean that you can complete the orbital parameters, attain x eccentricity and attain y inclination, that they turn green? If you can complete those then all you have to do is wait the specified amount of time for the main orbit parameter to complete, the first three parameters should then be complete and will stay completed regardless of what you do with the vessel. The science collection parameters are entirely separate, any vessel can complete those, and they can be completed after the first three parameters. The idea is to get into an orbit that allows for both low and high reports to get collected, but if you want to wait until after the orbit parameter completes that's fine too. The magnetic field survey contract probably needs an overhaul, it's kind-of held together with duct tape and struts and I'm sure there are many ways to break it, but as long as you can get those two orbital parameters to complete and stay that way, then it should be ok. You can't, at least not yet. All of these contracts still need tweaking for their durations; they should be doable, but you just have to plan carefully in some cases. -
PQScontroller is fine as long as you aren't trying to do it several hundred thousand times at once like SCANsat does. If you're doing it once per frame, or once every time onGUI runs it should be fine. And note that you'll also need to subtract the planet's radius from the resulting value coming from pqsController.GetSurfaceHeight(); use body.pqsController.radius, otherwise you'll get the terrain height above the center of the planet.
-
[Plugin - WIP] Contracts Window + [v0.4] 8/15/14
DMagic replied to DMagic's topic in KSP1 Mod Development
After much hair pulling and teeth gnashing I managed to pull in part names from external addons through reflection: So I know this will work with future updates for my mod, and it should work for Fine Print, but I haven't checked how other mods are setup. Mine required adding some specific methods to handle this, which will probably be the case in most situations. See above, sorting by planet would require something along the lines that. Not all contract parameters have a target planet field, and the ones that do handle it differently. So what would probably happen is that a handful of contracts could be successfully sorted based on their target planet and the rest would just get lumped together at the top or bottom. It's not quite so important that all part-specific contracts work as above, because that only works in the VAB/SPH. -
[Plugin - WIP] Contracts Window + [v0.4] 8/15/14
DMagic replied to DMagic's topic in KSP1 Mod Development
I made an interesting discovery today. This is actually very simple, and if I can get other contract addon authors to play along it can work with anything that asks for a specific part. And maybe it will be possible to select the part from the contract window as well. This all only works in the VAB/SPH because it uses Squad's methods for generating the window, but I think that's the only place where it's really important. -
[Plugin - WIP] Contracts Window + [v0.4] 8/15/14
DMagic replied to DMagic's topic in KSP1 Mod Development
Version 0.4 released: KerbalStuff Contract window settings are now stored in the persistent file using a scenario module. There is no need for the settings file anymore, you can delete it. Individual contracts can be hidden using the eye icon to the right of their title. This will move them to a secondary list; use the icon in the top-left to switch between the two lists. If you run into any problems here (contracts duplicated, not disappearing, etc...) use the reset icon on the footer bar to rebuild the contracts window list, this will spawn a confirmation dialog box before doing anything. This won't affect the contracts' status, it will only reset the window. I think most of these issues have been worked out, but let me know if anyone finds some way to break it. Part test contracts with an altitude component can be sorted based on minimum altitude using the 'type' sort option. Changelog: - Contracts window settings stored on a per-game basis, rather than a global settings file - Window options stored for each game scene - Contracts can be moved back and forth between the standard display and a hidden list - Toggle between the two lists using the 'eye' icon along the title bar - Hide or reveal contracts using the 'eye' to the right of the contract title -Sort based on contract type - Any part test contracts with an altitude component will be sorted based on minimum altitude - Tooltips for many buttons added - Toggle tooltips with button on the footer bar - Reset contracts display - Use reset button on the footer bar - A confirmation dialog box will appear - Does not affect contract status, only updates appearance on the window - Use in case of errors/duplicate contracts displaying - Proper handling of sub-parameters - Improvements to editor click-through - VAB part tooltips should not appear or be selectable through the contracts window -
[0.24.x] Ideal SCANsat Altitudes v1.0 [Aug 16]
DMagic replied to technogeeky's topic in KSP1 Tools and Applications
Those values are used by the big map for display, but the internal scanning mechanism registers everything by lat/long integer values. So all scanners register to a 360 * 180 map when recording coverage. The big map just checks to see if a given lat/long is scanned, then fills in the data for that pixel (with the pixel location translated into a double precision lat/long values) accordingly based the scanner type. -
[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
That's weird, I swear this worked when I tested it, and it hasn't been changed since the last version. It works by checking to see if the experiment you just collected matches one of the target experiments. If it does then it makes several distance calculations from the vessel to the anomaly. If you are flying or orbiting above it first checks to see that you are less than 100km above the anomaly, then it checks your horizontal distance to the anomaly. Basically it draws an upside down cone over the anomaly that has a radius of 150m at the ground and 15000m at 100km up. If you are within that cone it should work. For ground experiments it just checks to see if you are within 50m horizontally. Some of the anomalies are buried underground (even if they are visible, their actual center might be underground), but since I'm only looking at horizontal distance that doesn't matter. If it gets far enough to display this message that means that it is registering the experiment correctly and that at least some of the distance calculations are working correctly. I'll take a look at it and see if there is something wrong. Edit: Version 0.8.4.1 released: I updated the download links and uploaded to KerbalStuff. There were two errors in the anomaly contracts, one is that the anomaly's position was defined upon loading, and wasn't updating appropriately. The other is that the altitude calculation was backwards giving negative values. I just switched it to the absolute value, so it doesn't matter if you are above or below the anomaly. The distance constraints are also fairly stringent, I might increase them a little to make the surface experiments a little easier. It can be difficult to tell the exact position of the anomaly and 50m isn't that far. The best option is to mount the anomaly scanner horizontally (so that it is parallel to the surface when landed) and watch the rotating camera closely. The will always point at the center of the anomaly, so by driving or flying around it you can figure out its exact location. -
[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 0.8.4 released; see the first post for more info and download links. All contract types have had their rewards, penalties and advances rebalanced. Contract durations are much longer, you should be able to complete any contract type within the given time. I've also made the long term magnetic field survey contracts more robust in terms of handling changes to your craft during the mission. It should be able to handle any docking/undocking, stage separation, or renaming events. You can also specify the amount number of active contracts for each type in the included config file. A few other changes and bug fixes are included; see the first post for more info and the complete changelog. Let me know about any bugs you find, or if you come across some interesting new way to break the magnetic survey contract. Change Log: v0.8.4 - All contract types rebalanced - Rewards, penalties and expiration dates have been significantly adjusted - Standard collect science missions now account for lower than 100% transmission rates - Magnetic field surveys now account for vessel undocking, stage separation and docking during mission - Anomaly surveys for Joolian moons are generated once you have visited Jool - All science part costs increased - Combo US science parts now available later in the tech tree - Fixed some bugs with EVA experiment resets -
[24.2] Karbonite Ongoing Dev and Discussion
DMagic replied to RoverDude's topic in KSP1 Mod Development
The current idea is to have some kind of waypoint generator for SCANsat; possibly through MechJeb, but also by clicking on a point on the map. I think the simplest method is to generate a flag at that location. This will show up on the map, you can get its exact location by hovering over it, it's targetable, and it shows up on the navball. Doing this avoids the need for any kind of UI overlay on the screen or map mode, or any complex method for adding information to the navball. The flag could then be cleared from the map whenever you want, deleting the flag vessel and avoiding bloating the vessel list more than it already is. Also; such suggestions would do much better on the SCANsat threads, or better yet on the GitHub issues page, or even better still, do it yourself and submit a pull request. -
[Plugin - WIP] Contracts Window + [v0.4] 8/15/14
DMagic replied to DMagic's topic in KSP1 Mod Development
Look carefully at the order of these contracts. They are sorted based on the minimum altitude for activation. And it's a bit harder to see, but it's also handling sub-parameters properly now. The method is, unfortunately, not remotely flexible, only specified types of parameters are able to be sorted this way and the method for doing so is very clunky. The "Type" sorting option actually sorts several times, first by contract type with the contract title as a secondary sorting parameter. Then it checks to see if at least two contract parameters have altitude values. It records their position in the list, sorts them by altitude (and contract title), then returns them to their position in the list in order. Any contract using the stock ReachAltitudeEnvelope or ReachFlightEnvelope parameter types should work fine, even if their parent contracts are modded. -
You tested it and it works? Are you referring to this pull: https://github.com/PapaJoesSoup/ShipManifest/commit/3d5918a5573541535ee74c20aaab65f4261824a5? I don't think that should work correctly. What Mihara said is almost certainly correct. Unless you are going directly to IScienceDataContainer, not searching for ModuleScienceExperiment and casting it as IScienceDataContainer, then it shouldn't work correctly. The IScienceDataContainer used by ModuleScienceExperiment can't be overwritten, only hidden, so you have to go directly to IScienceDataContainer. Tarsier hard drives and Science Alert storage containers are two examples of how this is done correctly.
-
[Plugin - WIP] Contracts Window + [v0.4] 8/15/14
DMagic replied to DMagic's topic in KSP1 Mod Development
Check to see if infinite fuel is turned on in the debug menu (Alt + F12). Some debug options sneaked into version 0.3, so this is probably triggering that. I'll replace v0.3 tonight, or, if nothing is broken, release v0.4. Edit: Updated download links with a fixed version. Nothing else has changed. -
[24.2] Karbonite Ongoing Dev and Discussion
DMagic replied to RoverDude's topic in KSP1 Mod Development
Those are only intended to be a crude indicator of the appropriate altitude range. And as far as SCANsat is concerned anything above the "ideal" altitude and below the max altitude is considered "ideal", ie. it covers the same swath width on the ground. Below that altitude the scanning range decreases. Their primary purpose is to get people to quit asking why their scanners don't work when they are too high or too low. A problem that seems to happen all of the time since people don't actually check the info in VAB, and the resource scanners don't have any other on-screen indicator of scanning status like the regular SCANsat parts. -
[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
That's not one of my contracts, it's from Fine Print. The target orbit should be displayed around the planet and in the tracking center though. -
Not as such, but if you understand bitmasks you can just go to the source: https://github.com/S-C-A-N/SCANsat/blob/dev/SCANsat/SCANdata.cs#L40-L61; it's just a matter of getting the 1s and 0s in the right place. Nothing bad happens if you are scanning for a non-existent resource, the option to display that resource simply won't exist. It will continue filling in the coverage map for the unused resource type, so if you add the resource in it will already be scanned.
-
[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
Actually it's 20%. So anything with less than 20% of its total value left shouldn't be assigned a contract. Experiments with less than 100% transmission will screw up in some cases because the value they send isn't worth enough. It's an easy fix. The total science for the mystery goo in Minmus orbit should be 53 science, so your 13 remaining science is just enough to allow for the contract to be generated, but not enough to allow for it to complete after transmission; I'll fix that. I've also gone through and adjusted all of the reward values and made the durations actually make sense. I've fixed the anomaly contracts generating difficult missions to early. I just need to get the magnetic survey contracts to properly handle things like undocking, and stack separators during the mission. Yeah, I plan on adjusting part positions and cost in the next update too.