Giter Site home page Giter Site logo

ger-space / kerbal-konstructs Goto Github PK

View Code? Open in Web Editor NEW
27.0 27.0 26.0 49.71 MB

KSP Mod: Kerbal Konstrucs

Home Page: https://forum.kerbalspaceprogram.com/index.php?/topic/151818-145-131-122-kerbal-konstructs-1452-12082018/&

C# 97.00% Shell 0.06% ShaderLab 1.48% HLSL 0.75% Makefile 0.71%

kerbal-konstructs's People

Contributors

alphaash avatar ger-space avatar li0n-0 avatar reesewilson avatar taniwha avatar whale2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kerbal-konstructs's Issues

High Memory Usage of MapIcon Drawing of GroundStations

We currently gererate over 14MB/s of garbage for drawing the mapicons of groundstations. This is higher than anything else.

  1. Cache the search results for GroundStations and Launchsites when "MapIconDraw.Open" is called. (override .Open())

  2. De-Linq the foreach loop und draw groundstations

Crew dies when recovered from purchased KK facilities

I think I found a bug in career mode. Whenever I tried to recover a vessel from any purchased KK facility (in my case i tried with Lodnie Isles and Polar Research Center from the KerbinSide package) the crew are not recovered and the parts refund is 0, not matter the facility has a recovery factor. The worse part is when I tried to launch another mission I noticed that the crew status is missing in action! I have checked and I'm pretty sure it is related to the recovery method used in Kerbal Konstruct.

kerbal space program 11 15 2016 - 13 53 34 07
kerbal space program 11 15 2016 - 13 54 42 08
kerbal space program 11 15 2016 - 13 56 18 10

Add hidden flag to Launchsites

Objects can be made to show up if I add them to body.surfaceobjects.

  1. disable mapview, when not open

  2. does not show up in LS selector, when not open.

  3. extend the launchsite editor

Cache Facilities in BaseBossFlight

the show open facilities is the same problem as in drawing GroundStations.

  1. The cahing can be done when "bShowFacilities" is set to true.
  2. set bShowFacilities to false, when "this.Close()" is called.
  3. de-linq the facilities listing.

KK not working with RSS on 1.2.2

There was a bug back in December that is reported as fixed but here is a report on an issue I found yesterday:

I have a clean install of 1.2.2. I installed RealSolarSystem via CKAN (so it gets the dependencies) and manually installed the latest KK and KSC Floodlights. They do not appear. When I attempt to use Ctrl-K in the launch view (trying to find them to re position them), nothing appears. The mod window itself on the main screen does come up, but Ctrl-K does not work there either.

I removed the RSS directories and dependencies without changing anything else and KK works fine. I can go to the launch view and hit Ctrl-K and am able to move the Floodlight towers around.

So the only thing in place causing the failure is the core RSS needs which includes:
Real Solar System 12.0.0
Module Manager 2.7.6
Kopernicus 1.2.2-5
Modular Flight Integrator 1.2.4.0
Textures (8192 size)

No other mods installed.

[StaticModule] Audio support

Add an module to an static model, which can play an sound:

features:
audioclip = string
loop = yes | no
min distance= float (as per unity audisource)
max distance = float (as per unity audisource)
volume = float

Use unity 5.4 std shader for new Statics

As my replacement project for all Kerbin-Side statics I want a to use Substance Painter for texturing and I want more maps (glossiness and emissive at the same time) supported.

I need to change the shader at object load and set the missing texture maps the same time.

All needs to be controlled by a new model-config like "useUnityShader = true"

Some links, so I don't forget where to look for
http://answers.unity3d.com/questions/368303/changing-shaders-of-a-gameobject-via-script-1.html
http://answers.unity3d.com/questions/845757/what-are-the-property-names-in-the-new-unity-5-sta.html

Refractor Window Rendering

Implement a central window Renderer and remove the old spagetti code from OnGUI

This is partial done.

Some bases are right next to each other

Some bases are next to each other instead of being a single base, e.g., bio-dome and research stations at north pole. They can share facilities and need to be bought separately. It's weird considering it's impossible to create a new base within 100km of another.

Saving model settings and static instane settings is broken

  1. The static instances don't save thier originating .cfg file in thier class.
  2. The Instance save function calls the model save function, which is even worse.
  3. the model save function searches all cloned instances and saves them in the models configfile.

Fixes:
1.1 give configurl object to spawnInstances function and extract configpath
1.2 extend the StaticObject Class with cfgfile attribute
1.3 fill the cfgfile attribute in spawnInstances

3.1 When doing a single modelsave, load the old instance configuration in an array and save only these.

2.1 create an own save function which scans the Static Database for all instances for thier origin and group them there.
2.2 save new objects without old cfg to group-modelcfg-clone.cfg with pointername in the KK-exportdir, or try to find an cfg-file with same group and model (best)

Make all objects in a Group visiable at once.

This should fix the kosmodrome ground vanishing sortly after launch.

This could also reduce the load at updatedb(), when a goup is in range.

  1. filter out the highest group visibility
  2. set the group center so a artificial meridian vector

formular to test:
N= objects in group
centerpos = oldcenterpos* (n/(n+1)) + newpos/(n+1)

  1. Use a sane minimal visibility Range.

add Group editor

With an object to respawn any defined group of config objects as an new one with the kerbin-default sphere spreading.

Duplicate facilities in manager

Very often the same facilities appear twice on the list of operational facilities. However, correct facility is shown/updated when opening it, so it's not game-breaking, just confusing.

Add PQSMod_MapDecalTangent support

This could be used at a prototype for a new config mechanism, which stores the attribute-types dynamic at startup in a dictionary.

  1. Implement new ModDecal Class
  2. add the config loader and filter out the decals
  3. Create decal editor window
  4. add decals to static editor selection

[StaticModule] Shader/Maps

A static Module which allows to replace textures and shaders of a static, as the std KSP shaders are limited to three maps only.

Add RemoteTech & CommNet support

The Groundstations could be used as RemoteTech&CommNet groundstations.

perhaps also with a limited range around bases (60 km for runnway and 30 for pads)

Let PQSCity.Lodrange controller handle the visiblility

The whole StaticObject.SetActive (updateCache etc) stuff might be overkill and could be removed, if the PQSController is able to set the visiblility of the Object.

We only need to trigger the updateTexture calls (which might be done somewhere else)

VesselRecoveryFix killed StageRecovery

the easy fix of not setting "SpaceCenter.instance" could have broken the StageRecovery addon,

SR uses SpaceCenter.instance, to get the distance to the KSC, so it should now allways use the nearest one provided by KK

Either:

  • Fix the setting the custom spacecenters.
  • Create own functions for SR and put them in a addon folder
  • Hack the recovery function, so Spacecenter is not then when Scene=flight

Migrate to PQSCity2

that way mods could be setup with lat,lon and altitude instead of some strange vectors.

Needed Changes:

  1. Support of double values as config parameters.
    1.1 Rewrite the Configuration Management
    1.1.1 Write a migration function
    1.1.2 fix the Object Instance loader logic
    1.1.3 check for all other references

  2. add the new loader logic and print out a warning, when only the old one can be used.

  3. Migrate the KerbinSide packages.

StaticObjectUpdate is called twice as often as the Update method

In KK 1.2.0.1 with KSP 1.3.1 StaticObjectUpdate is called twice as often as the Update method. (same with KK 1.2.0.0 and KSP 1.3.0)


One "Debug.Log" for Update and one for StaticObjectUpdate.

#53 is related, I made it so StaticModule can stop their logic while StaticObjectUpdate act crazy. Didn't understand it was a bug at the time.

Report originally made here

Office funds generation too fast when focused

When the window with office building is open the funds generate insanely fast, regardless of time acceleration (around 10000 funds/second when fully staffed, or a few thousand/second with a few kerbals). This makes it impossible to use offices in a non-cheaty way.

Fix RSS compatibility

Looks like RSS breaks the KK loader and other stuff, which thinks we are on Kerbin.

StaticObject enhancements

Replace all calls of SetActiveRecursively with SetActive and check there the .isActive flag to match new-State.

remove all Instances of SetActive* calls from StaticGroup and use the ones from StaticObject.

Intruduce Patch System

provide an patch loader for orphaned mods. That way unusable configurations can be overwritten by patches, without modifying license protected packages.

Rewrite MapIconManager

this can be made a Monobehaviour just like in RemoteTech source.

Also add body<CelestialBody> to the LaunchSite structure and use this in the drawing loop.
move variable declarations out of the loop, to reduce garbage collection

public void OnGUI() { if (Event.current.type == EventType.Repaint && MapView.MapIsEnabled)

Make all variables local to the class. no more external show_something stuff.

KSC doesn't show up as selectable icon in the mapview

the Code is partial implemented, but cannot be used because the KSC has no PQSController setup or something like that. The Launchpad and Runway where allways throwing errors in MapView and are now filtered out for that reason.

Things ToDo:

Make the field body Type:CelestialBody available in the Launchsite structure.
Use the launchsite structure array and the geoposition for the MapIcon drawings.

Files affected: LaunchSiteManager and MapIconManager

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.