Jump to content

[KSP 1.8.1] SCANsat [v19.1] -- Dev version [February 20, 2020]


DMagic

Recommended Posts

Hey DMagic, love the mod and thanks for the early work on 1.1!

Not sure if botched install, but tried my hand anyway: Installed Scansat-release into gamedata/ folder, but no parts appeared.

After checking ksp.log, found model locations didn't match up, so edited .cfg's to match: "model = SCANsat-release/SCANassets/Parts/"

Now all parts are appearing, but I can't get any context menus or interaction with parts either in VAB or in flight!

 

If ye need any more info, I'd be happy to provide!

All tested on 1.1.0.1183 x64

Thanks again!

Edited by Magic_Pants
Link to comment
Share on other sites

@Magic_Pants From the link in my previous post or the first post of the thread, the correct download package is SCANsat-v15.1.zip.

Note that the release page on GitHub is out of order for some reason, but the direct links in this thread will point to the right release.

Link to comment
Share on other sites

Version 15.2 is out; get it on GitHub.

This version includes the first edition of the SCANsat KSPedia; more to come later.

It has a few bug fixes, including some potential issues with ground tracks while in the tracking station, the .csv exporter, and orbit lines in the zoom map.

It also adds science collection for the low resolution resource scan, using the M700, when stock resource scanning is disabled. And it adjusts some of the other science experiment values.

It also adds a target selection function to the big map, it works the same as it does on the zoom map.

It adds a separate part module used for storing data on the state of any RPM SCANsat panels. The included Module Manger config has been updated to add this module to all parts with an internal space. This shouldn't have any noticeable effect for end-users.

 

 

Edited by DMagic
Link to comment
Share on other sites

Version 15.3 is out; get it on GitHub.

It includes the additional KSPedia pages as shown above. It also fixes a few minor bugs and adds a window scaling feature. In the Settings window use the scale + or - buttons to increase or decrease the size of the windows. Let me know if there are any problems with scaling, or if your windows get pushed off screen (it scales not just window size, but position as well). The reset window button will now reset all window positions, and will reset the scale.

Link to comment
Share on other sites

  • 4 weeks later...
  • 4 months later...

An update is available on GitHub for the KSP 1.2 pre-release.

Feel free to check it out and let me know if there are any problems. The Narrow-Band replacement window (which is only available when stock resource scanning is disabled) will not work for now. Otherwise everything seems to be fine.

Link to comment
Share on other sites

On 14.9.2016 at 2:25 AM, DMagic said:

An update is available on GitHub for the KSP 1.2 pre-release.

Feel free to check it out and let me know if there are any problems. The Narrow-Band replacement window (which is only available when stock resource scanning is disabled) will not work for now. Otherwise everything seems to be fine.

hey Dmagic,

i noticed in the 1.2 release, that the BackgroundScanning doesnt seem to work.

I put a sat in kerbin, one in Mun's and one in Minmus' Orbit and had to stop/start the scan on each vessel switch again for it to continue.
Even after 80d+ timewarp and a switch, the other vessels didnt scan anything and the minimap doesnt show a %percentage of the scan until i stop & restart the scan.

Do u need any more data on this?
 

Link to comment
Share on other sites

@Speadge There seem to be a few issues in this version. The resource system doesn't work, and I'll look into the background scanning problem.

I've also been holding off on updating for spoiler reasons, since the current version doesn't detect all anomalies :sticktongue:; get to it people!

Link to comment
Share on other sites

I released a new version; get it on GitHub.

It fixes the problem with vessels not registering for background scanning upon loading. It also adds support for the new vessel types, and new anomalies. There is some garbage reduction in the background scanning mechanism as well, but nothing major.

Let me know if there are any problems.

Link to comment
Share on other sites

hi, 16.8  works way better in 1.2.

a minor idea for ease of use:

i noticed that the small map updates for the current SOI once it is changed - and i love it! But the Big map, which i open from the button in the small map-screen always shows the last Body i loaded on big map.

Is there any chance that it could load the current SOI-body?
No need for auto-change on SOI-change. just that it does not load kerbin when im on minmus already.
 

Thanks

Link to comment
Share on other sites

whats the switchology for getting it to scan each orbit instead of all at once. is there a certain order. i thought it was disable stock scanning , require narrowband and flush anything that might be there all ready.  but cant seem to get that to work and still having a problem with the resources not showing up and wanting to scan all at once for some reason.  

Link to comment
Share on other sites

Just a notice, I think the 1.2.1564 prerelease update broke some mods again, cause they have a new map-open-check, I think.
Scansat also spams a "MissingFieldException: Field '.MapView.MapIsEnabled' not found."
From the changelog 1564: "Added a map toggle interface for add-ons"

Spoiler

[EXC 14:49:49.460] MissingFieldException: Field '.MapView.MapIsEnabled' not found.
    SCANsat.SCANcontroller.OnGUI ()
[EXC 14:49:49.461] MissingFieldException: Field '.MapView.MapIsEnabled' not found.
    SCANsat.SCAN_UI.SCANoverlayController.OnGUIEvery ()
    SCANsat.SCAN_Platform.SCAN_MBE.OnGUI ()
[EXC 14:49:49.462] MissingFieldException: Field '.MapView.MapIsEnabled' not found.
    SCANsat.SCAN_UI.SCANoverlayController.OnGUIEvery ()
    SCANsat.SCAN_Platform.SCAN_MBE.OnGUI ()
[EXC 14:49:49.463] MissingFieldException: Field '.MapView.MapIsEnabled' not found.
    SCANsat.SCANcontroller.OnGUI ()
 

 

Link to comment
Share on other sites

It just requires a recompile, they switched a field to a property, but it has the same name, so it freaks out a bit. I'll wait to see if there are any releases today before updating though.

Link to comment
Share on other sites

On 4.10.2016 at 6:53 PM, DMagic said:

It just requires a recompile, they switched a field to a property, but it has the same name, so it freaks out a bit. I'll wait to see if there are any releases today before updating though.

any chance of releasing a lil update or are u waiting for 1.2 release?

Link to comment
Share on other sites

I'm getting some weirdness while scanning at 1000x warp, where the sample resolution for updating the map is too low, but only on the southern hemisphere of the body I'm scanning... Screenshot attached of a m700 scan of the mun run at mostly 1000x warp, except the last little trail behind the ship being done at 100x:

9omZh5d.png

This was done on a sandbox save with commlinks disabled and infinite electricity enabled.

Link to comment
Share on other sites

  • 3 months later...

@DMagic:

Not sure if this will help you or not, but while working on the latest Pathfinder release, I stumbled into how to set up waypoints:

Spoiler

            if (this.part.vessel.situation == Vessel.Situations.LANDED || this.part.vessel.situation == Vessel.Situations.PRELAUNCH)
            {
                debugLog("Trying to set waypoint");
                string location = string.Format("Lon: {0:f2} Lat: {1:f2}", this.part.vessel.longitude, this.part.vessel.latitude);

                Waypoint waypoint = new Waypoint();
                waypoint.name = resourceName + " Lode";
                waypoint.isExplored = true;
                waypoint.isNavigatable = true;
                waypoint.isOnSurface = true;
                waypoint.celestialName = this.part.vessel.mainBody.name;
                waypoint.longitude = this.part.vessel.longitude;
                waypoint.latitude = this.part.vessel.latitude;
                waypoint.seed = UnityEngine.Random.Range(0, int.MaxValue);
                waypoint.navigationId = Guid.NewGuid();

                //Add the waypoint to the custom waypoint scenario. This is for persistence.
                ScenarioCustomWaypoints.AddWaypoint(waypoint);
                
                //Our icon is not correct, do a quick remove, reset the icon, and add again.
                WaypointManager.RemoveWaypoint(waypoint);
                waypoint.id = WBIPathfinderScenario.kLodeIcon; //relative path to the graphic. You'll need to re-load the graphic when re-loading the save, or you'll get the default.
                waypoint.nodeCaption1 = location;
                WaypointManager.AddWaypoint(waypoint);

                //Record the waypoint info
                lode.navigationID = waypoint.navigationId.ToString();

                //Save the game
                GamePersistence.SaveGame("quicksave", HighLogic.SaveFolder, SaveMode.BACKUP);

                //Done
                return waypoint.navigationId.ToString();
            }


 

 

Really love using SCANSat, it's helping me drive to various anomalies on the Mun. :)

Link to comment
Share on other sites

  • 4 weeks later...

SCANsat version 17.0 is ready for testing; get it from GitHub.

This version isn't really suitable for anything beyond testing or checking out new features. See the outline below to get an idea of what has changed and what still needs implementing or replacing. Several screen shots are included below that.

Unimplemented or Unfinished Features:

Zoom map:

  • Unchanged from previous versions
  • Some features won't work properly

Color management window:

  • Unchanged from previous versions
  • Some features won't work properly
  • Some changes won't take effect until the other windows are toggle off and on again

Other:

  • BTDT instruments window readout disabled
  • MechJeb integration disabled
  • Waypoint selection disabled
  • Asteroid map overlay icons removed

Known bugs:

Major:

  • Big map grid overlay only functions correctly when both the KSP and SCANsat UI scale is set at 100%
  • Grid overlay is drawn in top of other windows
  • Narrow-Band scanner resource requirements don't function properly

Minor:

  • Some UI sychronization errors
  • Changes in some settings will require toggling a window off and on again before taking effect
  • Tooltips may get stuck on in some rare cases

Not a bug:

  • Existing settings will mostly be reset (scanning data is maintained)

Change Log:

Complete UI Replacement:

All windows (except those listed above) generated using the new Unity UI system

  • Text rendered with Text Mesh Pro SDF fonts (clearer text at all sizes and scales)
  • Significant reduction in garbage creation for all UI windows
  • Option to use KSP- or Unity-style UI elements
  • Smoother UI scaling options
  • Inherits the stock KSP primary UI scale

New stock toolbar menu

  • Toolbar buttons opens a small menu with buttons for each of the SCANsat windows

 

The next update should contain an overhauled zoom map, using the new UI and with several new features, along with, I hope, the new waypoint generating system, fixes to how the narrow-band resource scanner requirement works, and probably lots of bug fixes.

 

Stock UI Style:

j1jWaAW.png

 

Toolbar menu, it opens when hovering over the button and can be kept on by clicking the button (the zoom map buttons in all of these windows opens the version using the old UI, which functions basically the same as before):

5UVE8gl.png

 

Consolidated settings menu (the Color Management button opens the window from the old UI):

2JuGy7A.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Garbage creation comparisons: 

The following images compare SCANsat version 16.11 to the new version while running MemGraph to monitor memory allocation; the section of the graph relevant to the current scene is circled in bright yellow. The scale of the graph is the same for each pair of comparisons, but changes between different sets. There is a slight difference in scanning coverage between the two versions, but otherwise they are running on the same save file, with the same mods (just a handful, mostly for development purposes).

 

KSC with big map and settings menu - version 16.11:

GyLQ3VC.png

 

KSC with big map and settings menu - version 17.0:

Qc9wlUn.png

Note how the new version adds almost nothing even with all of the map icons activated. The map icons and overlays are a particularly large source of waste in the old version, which can be seen to a greater degree in the next comparison.

 

Flight scene with all updated windows open - version 16.11:

VUuYkr1.png

 

Flight scene with all updated windows open - version 17.0:

hRc6YEd.png

Note that the scale in MemGraph window has been doubled compared to the last pair.

With all of the windows open SCANsat is a tremendous source of memory allocation. Some efforts have been made in the past to minimize this, particularly with regards to string creation, but most of the waste comes from the OnGUI system itself and SCANsat's simple, but very inefficient method for generating text and icons with a black outline.

Every outlined icon or text string is actually drawn five times, four times offset by one pixel in each direction and colored black, and a fifth time with the proper color in the middle. This means the orbit lines alone, which are comprised of 160 little circles, generate 800 texture draw calls. :confused:

The new UI system requires a more complicated, but far less wasteful method of creating and drawing such icons and text.

 

Flight scene with only the big map open with all overlays turned on - version 16.11:

DWz0ImP.png

 

Flight scene with only the big map open with all overlays turned off - version 16.11:

X2TDrMm.png

Note the scale of the graph is reduced again. You can see the obvious drop in memory allocation just from turning off those icon overlays in the old version.

 

Flight scene with only the big map open with all overlays turned off - version 17.0:

LPkMNiZ.png

The previous interval in the graph, before the yellow circle, was taken with all of the overlays on, the intervals before that were with all of the windows on. You can see that there is a relatively small difference from having them on or off.

Edited by DMagic
Link to comment
Share on other sites

  • 2 weeks later...

Version 17.1 is ready for testing; get it on GitHub.

As before, this is primarily being released for testing purposes. This version is in a much more completed state though, with many fewer unimplemented features.

The major changes from version 17.0 are the addition of the new zoom map, waypoint selection, and various UI-related fixes and updates. 

Also be aware that this a one-way update for existing save files. Reverting to version 16.x after updating to 17 will result in a loss of scanning data. And possibly loading errors.

 

Unimplemented or Unfinished Features:

Color management window:

  • Unchanged from previous versions
  • Some features won't work properly
  • Some changes won't take effect until the other windows are toggle off and on again

Other:

  • BTDT instruments window readout disabled
  • MechJeb integration disabled
  • There are no confirmation or warning popups when resetting scanning data

Known bugs:

Major:

  • Some odd behavior may be observed when planetary overlay maps are left on when switching vessels or scenes
  • Always manually turn off overlay maps
  • Toggling any overlay map on and off should fix any problems (usually text that becomes unreadable)

Minor:

  • Some UI sychronization errors
  • Changes in some settings will require toggling a window off and on again before taking effect
  • Tooltips may get stuck on in some rare cases

Not a bug:

  • Existing settings will mostly be reset (scanning data is maintained)

Change Log:

Zoom map overhaul:

  • Built using the new UI system
  • Map uses orthographic projection to minimize distortion near the center
    • Similar to the polar map projection
    • Can be centered at any location instead of just the poles
    • Up is always oriented north
  • Map controls for adjusting the map center
  • Selection menus for map type and resource selection (if more than one is loaded)
  • Option to display the altimetry map legend
  • Option to lock the map view to the current vessel
    • All map refreshes will re-center on the vessel
  • Three different zoom map size options
    • Full map with top and bottom control bars
    • Medium map with only the top control bar
    • Compact map with no control bars
    • Control map size with the button in the too right
  • Readout display only visible when mouse is hovering over the map

Stock waypoint generation:

  • Big map and zoom map can be used to create stock waypoints
  • Click the waypoint button in the bottom right of either map
    • Select a point on the map and left-click to assign waypoint location
    • Edit the waypoint name in the text input field (limited to 20 characters)
    • Click set to generate the waypoint

Narrow Band scanner resource requirement:

  • Fixed this requirement (which can be toggled in the resource page of the settings window)
    • Used to determine the availability of resource overlays on the zoom map 
    • Determines the accuracy resource readouts on the big map
  • When using stock scanning it will search for a vessel with a Resource scanning KerbNet module in orbit around the target planet
  • When using SCANsat resource scanning it will search for the SCANsat resource scanner module specific to the selected resource

Other updates and bug fixes:

  • Use dot style texture for big map grid overlays
  • Open zoom map by right-clicking on the big map
  • Implement all text input fields
    • Implement control locks when editing input fields
  • Faster map generation speed
    • Maps update twice per frame (generally the same as with the old UI)
    • Option in the settings window to limit to one update per frame
  • Fixed some floating point errors in map generation
  • Various minor fixes and additions to the UI
  • Fixed an error when the small map is opened in biome mode

 

New zoom map:

5oCPTcC.png

At low zoom levels the orthographic map projection is more obviously round; this projection ensures that the center of the map is relatively un-distorted.

The top bar has menu buttons to select the map type (terrain, slope, biome) and resource. The arrow buttons shift the map in any direction by about 2/3 of the current map size. The zoom buttons function the same as before; clicking on the map also functions the same: left-click to zoom out and recenter at the mouse location, right-click to zoom in, middle-click (or right-click + modifier key) to recenter without changing the zoom level.

In the title bar there is a button to recenter on the current vessel (and switch to its planet if another is being viewed). The lock button will lock the map to the current vessel, this disables the arrow buttons and makes all map refreshes recenter on the current vessel location. Clicking the title bar will refresh the map. The button in the top right is used to switch between window sizes.

Along the bottom are the map overlay options, along with the color toggle, terrain legend, and waypoint selector button. The flag, anomaly and waypoint icons are all combined into one function here.

All of the map options (type, resource selection, overlay options, color, size, vessel lock) are persistent and are specific to the zoom map.

 

The different map window size options:

TVUnLkq.png

 

oAHetp9.png?1

 

dHwR6Qp.png?1

The information bar for the current mouse position when hovering over the map is only visible if the mouse is actually over the map.

 

An example of waypoint selection on the big map:

iOV6e1G.png

Clicking on the waypoint button in the bottom right opens the waypoint selection bar on the bottom. When this is open you can left-click anywhere on the map to create a new waypoint (the waypoint being created here is directly over the anomaly near the left edge of the map). The names use the same random name generator as KerbNet, and can be edited in the text input field. Clicking set will generate the waypoint (which can be deleted by right clicking the waypoint itself in the map view), cancel will remove any temporary waypoints from the map if present and close the waypoint bar.

This will also be used for MechJeb integration in a future update, but that is disabled for now.

 

Edited by DMagic
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...