Jump to content

Recommended Posts

4 hours ago, The White Guardian said:

I'm also going to try to reduce the GUI hotkey from a necessity to an option with the inclusion of a button in KSP's main GUI that can open and close the UI.

Consider using the ToolbatController for this.  Easier to use and gives the player the ability to put the button on the BlizzyToolbar, if thats installed

Edited by linuxgurugamer
Link to comment
Share on other sites

5 hours ago, The White Guardian said:

I must admit I was having the perhaps fallacious mindset that my mods didn't matter

Wow... what? This mod is huge. I came back for the first time since 1.5 recently, and this is the first visual mod I was checking back with.

Let me give you a small thought to consider if I may: this mod is not a "gameplay" mod, it's not one with which users "interact" a lot, either it looks nice or it doesn't. Having over 30 pages of replies in a mod thread is huge by itself I think, but given that thought, it's even huge-er. Speaking for myself, I'd love to contribute something, but I think it's limited to testing if the mod works or doesn't after an update (which I will happily test again soon). So yeah, big thanks to you and Clusta

Link to comment
Share on other sites

@The White Guardian - PR done. As for IVA - now profile works in the internal pod view (switches, panels, indicators, screens, etc. - now it's all subjects to post-processing). As a bonus, views though windows are shown using flight profile ;) Maybe it's unnecessary - it's up to you.

And the main fix - the profile switch between scenes like Tracking Station <-> Flight/IVA/EVA/Map - effects from one scene were sometimes applied with effects from another.

Anyway, I'm here if you need any assistance :) BTW, the Unity PP Stack v2 is far ahead of v1 and it supports a lot of very nice features available in Unity engine used in KSP 1.8.0.

Link to comment
Share on other sites

@The White Guardian, glad to see you again on your topic !

I've recently tested KS3P during your absence with the clusta's patches. I was a user of Reshade there's a long ago and I was leave it because there was some troubles (that your mod don't have).
I think your mod is a musthave !

One regret: Not finding it sooner.

Link to comment
Share on other sites

6 hours ago, linuxgurugamer said:

Consider using the ToolbatController for this.  Easier to use and gives the player the ability to put the button on the BlizzyToolbar, if thats installed

The Toolbat, eh? So... if the mod misbehaves, just beat it into submission with your trusty toolbat? I like it...

Link to comment
Share on other sites

Hey @clusta.

I'm having some trouble with the .cfg you included on the patch:

I have my own config right? Ok, so everytime i start the game yours starts to load and i can't load mine's. I tried deleting it, making a new one, but it keeps loading yours.

How can i fix this? Thanks in advance, this mod is great!!

Link to comment
Share on other sites

1 hour ago, Munarmunar said:

I'm having some trouble with the .cfg you included on the patch:

I have my own config right? Ok, so everytime i start the game yours starts to load and i can't load mine's. I tried deleting it, making a new one, but it keeps loading yours.

Hi!

Just follow the rule - one config per scene. Just replace mine config with yours. That's the way it's working for now. Configs management system is incomplete, had a plans to complete it. Now the only thing I can do is waiting what @The White Guardian will do about it ;)

Link to comment
Share on other sites

3 minutes ago, clusta said:

Hi!

Just follow the rule - one config per scene. Just replace mine config with yours. That's the way it's working for now. Configs management system is incomplete, had a plans to complete it. Now the only thing I can do is waiting what @The White Guardian will do about it ;)

You could contact @The White Guardian And see if he would be agreeable to you contributing that

Link to comment
Share on other sites

So I have just come back to this mod and am using it in my 1.7.3 play through with the JNSQ planet pack.  I like how you can adjust the settings in game but I am overwhelmed with the options and have very little idea as to what I am actually changing.  Does anyone have any configs that they are happy with that don't mind sharing?

 

Edited by Galland1998
Link to comment
Share on other sites

41 minutes ago, Galland1998 said:

So I have just come back to this mod and am using it in my 1.7.3 play through with the JNSQ planet pack.  I like how you can adjust the settings in game but I am overwhelmed with the options and have very little idea as to what I am actually changing.  Does anyone have any configs that they are happy with that don't mind sharing?

 

I've been documenting my set up here. Very WIP (but it is for JNSQ). Some people might find it a bit too bright. Am working on a more neutral profile though.

 

Link to comment
Share on other sites

Thanks for the help.  I am running JNSQ as well.  I had the base download and the Clusta patch as well.  Generally the Clusta patch had pretty good results until I tried to land a craft near the desert launch site and was nearly blinded by how bright and washed out the desert scene was.

 

 

Link to comment
Share on other sites

6 minutes ago, Galland1998 said:

Thanks for the help.  I am running JNSQ as well.  I had the base download and the Clusta patch as well.  Generally the Clusta patch had pretty good results until I tried to land a craft near the desert launch site and was nearly blinded by how bright and washed out the desert scene was.

 

 

My settings are quite bright as well. Generally I find a brighter look more appealing for spacecraft. But with my settings its easy to adjust the exposure by going to ColorGrading_>ToneMapping-> and changing the "Black In" value a bit higher. I keep a default on 0.03ish bit when Im somewhere too bright, I adjust up to around 0.08. I dont mind doing this from situation to situation (as a hobbyist photographer, I expect to adjust exposure lol).

But if you like my profile, you can adjust black-in to a happy medium you like and save that.

Edited by Zorg
Link to comment
Share on other sites

Hi there, I'm not sure if this has been addressed before. There are a couple of these Exceptions as I continue through a typical session. It happens pretty consistently, it seems to happen mostly during Flight.

The first Exception is this one (line 1068):

[EXC 13:59:06.719] IndexOutOfRangeException: Array index is out of range.
	KSP_PostProcessing.KS3PUtil.GetBounds (UnityEngine.AnimationCurve curve)
	KSP_PostProcessing.Parsers.Parser`1[T].ParseCurve (.ConfigNode node)
	KSP_PostProcessing.Parsers.Parser`1[T].TryParseCurve (.ConfigNode node, KSP_PostProcessing.ColorGradingCurve& curve)
	KSP_PostProcessing.Parsers.ColorGradingParser.ParseCurves (.ConfigNode node)
	KSP_PostProcessing.Parsers.ColorGradingParser.Parse (.ConfigNode node)
	KSP_PostProcessing.Profile..ctor (.ConfigNode node)
	KSP_PostProcessing.Profile.op_Implicit (.ConfigNode node)
	KSP_PostProcessing.KS3P.Start ()

This appears to be what was referenced back in August 2019 (a few pages back): 

On 8/25/2019 at 4:30 AM, The White Guardian said:

This is exactly what I was looking for: KS3P has an uncaught exception. Consequently KS3P's setup routine cannot finish execution and thus disables itself, hence why the GUI is unresponsive. I'll look into this immediately.

Which seems like it was addressed in a previous build? @The White Guardian can you confirm, should I still be seeing this Exception? Or maybe, I don't have something set up properly? Maybe also @clusta, you have some insight into what this is?

So then after that Exception, I get these (quite numerous) Exceptions in my log:

[EXC 14:53:44.486] ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
	System.Collections.Generic.List`1[KSP_PostProcessing.Profile].get_Item (Int32 index)
	KSP_PostProcessing.KS3P.Register (KSP_PostProcessing.PostProcessingBehaviour target, Scene targetScene)
	KSP_PostProcessing.Operators.PostProcessingOperator.Patch (Boolean scaled, Scene target)
	KSP_PostProcessing.Operators.MainMenuOperator.Start ()

Some context:

  • Seems like I've been using KS3P forever, but only I'm only back at KSP in the last month or so ... I never noticed this before on my 1.7.0 install
  • Now I'm running on a 1.7.3 clean install with all relevant updated mods also freshly installed, then I brought in my previous Career game, and have progressed considerably

Here's the most recent log with this issue: KSP Log 102919 T1454

And finally, here's my mod list for reference:

Spoiler

Flight Manager for Reusable Stages (FMRS) Continued (FMRSContinued 1.2.8.1)
[x] Science! Continued (xScienceContinued 5.22)
Action Groups Extended (AGExt 1:2.3.5)
Airplane Plus (AirplanePlus 26.1)
Astronomer's Visual Pack (AstronomersVisualPack 2:3.8.3.0)
Astronomer's Visual Pack-4k Textures (AVP-4kTextures v1.9)
Automated Screenshots & Saves (AutomatedScreenshots 0.8.4.4)
B9 Part Switch (B9PartSwitch v2.11.1)
BetterCrewAssignment (BetterCrewAssignment 1.3.2)
BetterTimeWarpContinued (BetterTimeWarpCont 2.3.11.4)
ClickThrough Blocker (ClickThroughBlocker 0.1.7.2)
CollisionFX-Updated (CollisionFXUpdated 0.8.3.1.1)
CommNet Constellation (CommNetConstellation 1.4)
Community Category Kit (CommunityCategoryKit 4.3.0.0)
Community Resource Pack (CommunityResourcePack 1.2.0.0)
Community Tech Tree (CommunityTechTree 1:3.3.7)
Community Terrain Texture Pack (CommunityTerrainTexturePack 1:1.0.4)
Community Trait Icons (CommunityTraitIcons v1.1.1)
Contract Configurator (ContractConfigurator 1.27.1)
Contract Pack: Bases and Stations Reborn (ContractConfigurator-KerbinSpaceStation 2:3.7.1.5)
Contract Pack: Kerbal Academy (ContractConfigurator-KerbalAcademy 1.1.10)
Contract Pack: Tourism Plus (ContractConfigurator-Tourism 1.5.2)
Contract Parser (ContractParser 8.0)
Contracts Window + (ContractsWindowPlus 9.3)
Craft Manager (CraftManager 1.1.5)
Cryo Tanks (CryoTanks 1.3.0)
Cryo Tanks Core (CryoTanks-Core 1.3.0)
Custom Barn Kit (CustomBarnKit 1.1.19.0)
Decoupler Shroud (DecouplerShroud 0.7.1)
Deflatable Heat Shield (DeflatableHeatShield 0.0.3)
Deployable Engines Plugin (DeployableEngines 1.1.0)
Distant Object Enhancement (DistantObject v1.9.1.1)
Distant Object Enhancement default config (DistantObject-default v1.9.1.1)
DMagic Orbital Science (DMagicOrbitalScience 1.4.2)
Docking Port Alignment Indicator (DockingPortAlignmentIndicator 6.8.3)
Draggable Altimeter (DraggableAltimeter v1.0.1)
Draggable Navball (DraggableNavball v1.0.1)
Dynamic Battery Storage (DynamicBatteryStorage 2:2.0.6.0)
Easy Vessel Switch (EVS) (EasyVesselSwitch 1.11)
Editor Extensions Redux (EditorExtensionsRedux 3.3.22)
Engine Lighting (EngineLighting 1.5.1)
Environmental Visual Enhancements (EnvironmentalVisualEnhancements 2:EVE-1.7.3-0)
Feline Utility Rovers (FelineUtilityRovers 1.2.10)
Firespitter Core (FirespitterCore v7.13.0)
Firespitter Resources config (FirespitterResourcesConfig v7.13.0)
Hangar Extender (HangerExtenderExtended 3.5.5)
Heat Control (HeatControl 0.4.12)
Hide Empty Tech Tree Nodes (HideEmptyTechNodes 1.1.1)
HyperEdit (HyperEdit 1.5.8.0)
Interstellar Fuel Switch (InterstellarFuelSwitch 3.11.0.4)
Interstellar Fuel Switch Core (InterstellarFuelSwitch-Core 3.11.0.4)
Keep It Straight (KeepItStraight 1.0.7)
Kerbal Alarm Clock (KerbalAlarmClock v3.11.0.0)
Kerbal Atomics (KerbalAtomics 1:1.0.5)
Kerbal Engineer Redux (KerbalEngineerRedux 1.1.6.0)
Kerbal Improved Save System (KerbalImprovedSaveSystem v2.4.0)
Kerbal Joint Reinforcement Continued (KerbalJointReinforcementContinued v3.5.0)
Kerbal Planetary Base Systems (KerbalPlanetaryBaseSystems v1.6.9)
Konstruction (Konstruction 1.2.0.0)
Kopernicus Planetary System Modifier (Kopernicus 2:release-1.7.3-2)
KS3P (KS3P V6.1)
KSP AVC (KSP-AVC 1.3.1)
KXAPI (KXAPI 1.1.0)
MagiCore (MagiCore 1.3.1.7)
Making Less History (MakingLessHistory 1.0)
MechJeb 2 (MechJeb2 2.8.4.0)
MechJeb and Engineer for all! (MechJebForAll 1.3.0.6)
MemGraph (MemGraph 1:1.1.3)
Mini Airbrakes (MiniAirbrakes 1.1)
Mk2 Stockalike Expansion (Mk2Expansion 2:1.8.6)
Mk3 Stockalike Expansion (Mk3Expansion 1.4.8)
ModularFlightIntegrator (ModularFlightIntegrator 1.2.6.0)
Module Manager (ModuleManager 4.0.3)
MSP-3000 Material Science Pod (MSP3000 v1.1)
NavHud (NavHudRenewed 1.3.7)
Near Future Construction (NearFutureConstruction 1.1.4)
Near Future Electrical (NearFutureElectrical 1.0.3)
Near Future Electrical Core (NearFutureElectrical-Core 1.0.3)
Near Future IVA Props (NearFutureProps 1:0.5.1)
Near Future Launch Vehicles (NearFutureLaunchVehicles 1.2.3)
Near Future Propulsion (NearFuturePropulsion 1.1.1)
Near Future Solar (NearFutureSolar 1.0.5)
Near Future Solar Core (NearFutureSolar-Core 1.0.5)
Near Future Spacecraft (NearFutureSpacecraft 1.2.4)
Outer Planets Mod (OuterPlanetsMod 2:2.2.5)
Patch Manager (PatchManager 0.0.16.4)
PersistentRotation (PersistentRotation 1.8.5)
PlanetShine (PlanetShine 0.2.6.1)
PlanetShine - Default configuration (PlanetShine-Config-Default 0.2.6.1)
Portrait Stats (PortraitStats 17.0)
Precise Node (PreciseNode 1.2.10.3)
Progress Parser (ProgressParser 10.0)
RasterPropMonitor (RasterPropMonitor 1:v0.30.6)
RasterPropMonitor Core (RasterPropMonitor-Core 1:v0.30.6)
RCS Build Aid Continued (RCSBuildAidCont 1:0.9.8)
Realistic Atmospheres (RealisticAtmospheres 1.3.1)
RecoveryController (RecoveryController 0.0.3.8)
Reentry Particle Effect (ReentryParticleEffect 1.4)
ReStock (ReStock 0.1.4)
ReStock+ (ReStockPlus 0.1.4)
Retractable Lifting Surface Module (RetractableLiftingSurface 0.1.6)
scatterer (Scatterer 2:v0.0540)
scatterer - default config (Scatterer-config 2:v0.0540)
scatterer - sunflare (Scatterer-sunflare 2:v0.0540)
SimpleConstruction (SimpleConstruction 1:3.4.6)
SpaceY Expanded (SpaceY-Expanded 1.4)
SpaceY Heavy Lifters (SpaceY-Lifters 1.17.2)
Stockalike Mining Extension (StockalikeMiningExtension 0.99.3)
Stockalike Station Parts Expansion Redux (StationPartsExpansionRedux 1.2.1)
SXTContinued (SXTContinued 1:0.3.28.2)
TAC Fuel Balancer (TacFuelBalancer v2.21.4.1)
TextureReplacer (TextureReplacer v3.7)
The Janitor's Closet (JanitorsCloset 0.3.6.1)
Toolbar (Toolbar 1:1.7.22.2)
Toolbar Controller (ToolbarController 1:0.1.8.2)
Tracking Station Evolved (TrackingStationEvolved 4.1)
Trajectories (Trajectories v2.2.3)
Transfer Window Planner (TransferWindowPlanner v1.7.2.0)
TriggerAu Flags (TriggerAu-Flags v2.9.3.0)
TRP-Hire (TRPHire 0.6.9.4)
TweakScale - Rescale Everything! (TweakScale v2.4.3.7)
Universal Storage II (UniversalStorage2 1.7.0.10)
USI Tools (USITools 1.2.0.0)
WorldStabilizer (WorldStabilizer 0.9.5)

 

Edited by scottadges
Link to comment
Share on other sites

2 hours ago, clusta said:

So what do you expect?

Sorry, I don't follow. I was pointing out the Exceptions I'm seeing in my game, providing error log code, and a KSP log to see if there are any resolutions and/or help inform others if they are having this problem.

Yes, I'm running KS3P v6.1 which is the latest version on CKAN.

Edited by scottadges
Link to comment
Share on other sites

16 minutes ago, scottadges said:

Sorry, I don't follow. I was pointing out the Exceptions I'm seeing in my game, providing error log code, and a KSP log to see if there are any resolutions and/or help inform others if they are having this problem.

Yes, I'm running KS3P v6.1 which is the latest version on CKAN.

The 6.1 version have those bugs. Also KSP 1.7.3 is not fully supported by this version. You have 2 options: use unofficial fixed version from https://github.com/c1usta/KS3P/releases or wait for @The White Guardian update his repository.

Link to comment
Share on other sites

6 hours ago, clusta said:

The 6.1 version have those bugs. Also KSP 1.7.3 is not fully supported by this version. You have 2 options: use unofficial fixed version from https://github.com/c1usta/KS3P/releases or wait for @The White Guardian update his repository.

Thanks for clarifying and I appreciate your comments. I'll take a look at the fix you linked to on GitHub. Looking forward to any updates from White Guardian. Thanks!

Link to comment
Share on other sites

I have very, VERY exciting news. With KSP 1.8, KSP now uses Unity 2019, which means that it is now compatible with the second edition of the post-processing stack. This really couldn't have come at a better time since I'd been planning to move KS3P closer to the approach taken by the second edition of the post-processing stack.

Allow me to elaborate. With the second edition of the post-processing stack, all I now need do is create a gameobject carrying a "post-processing volume" component. I can set this component's effective range to be unlimited with a single button press, effectively skipping any range check entirely. Next one adds a "post-processing layer" component to any affected camera, set the component's layer to match the volume's layer, and hey presto. Besides supporting a "regular" profile format (IE a scriptable object that is then assigned to the appropriate camera) it will also become possible to add scene-specific modifications upon a base profile. So instead of creating a unique profile for every scene, one can now make but a handful of more generic profiles and apply some small, scene-specific changes in a separate config node.

I'm also going to work on getting a fully custom UI ready and working, using Unity's default UI rendering system rather than the popup-menu system KS3P currently uses. This should make KS3P's GUI prettier, faster, simpeler and more flexible as it will now adjust to the screen settings of the user machine instead of expecting a 1920x1080 monitor 100% of the time.

This will also allow me to create more advanced UI tools such as trackballs and color pickers, and move rendering a color preview closer to the GPU rather than creating and updating an entire texture on the CPU.

All in all, although it'll take me some time to complete, the next release of KS3P will be faster, more simple, more performant, with better effects and with more versatility. As an example, this change will add the support of Subpixel Morphological Anti-Aliasing as an option, besides the already available Fast-Approximate and Temporal AA-solutions. Next I'm working towards KS3P being able to load custom post-processing effects, both correctly loading and invoking a custom shader and indexing a custom GUI to modify it.

Link to comment
Share on other sites

14 hours ago, The White Guardian said:

This will also allow me to create more advanced UI tools such as trackballs and color pickers, and move rendering a color preview closer to the GPU rather than creating and updating an entire texture on the CPU.

Very exciting stuff! More advanced GUI tools such as trackballs (and curves too maybe?) sound amazing! 

Link to comment
Share on other sites

On 10/31/2019 at 8:33 PM, The White Guardian said:

All in all, although it'll take me some time to complete, the next release of KS3P will be faster, more simple, more performant

I thought KS3P already had a low performance footprint already? :huh: <- This emoji looks grumpier then I intended the question. Just being curious :D

Edited by avalancha
Link to comment
Share on other sites

35 minutes ago, avalancha said:

I thought KS3P already had a low performance footprint already? :huh: <- This emoji looks grumpier then I intended the question. Just being curious :D

This is correct, though there is no such thing as perfection in programming. The second edition of the post-processing stack is somehow even faster than the original and more flexible.

Another large performance boost will be the GUI, which currently uses a c#-based GUI generation solution that rebuilds the GUI every frame, and is meant mainly for creating debugging interfaces and not for finished products. Moving to Unity's main solution for UI systems (IE canvas layers and 2D graphics) is more memory-persistent, requires less setup, and is much closer to the GPU in terms of processing. Since I can build the GUI in the editor using many custom scripts, this also means that I can much more easily design interfaces for communicating with, for example, color wheels. While I can now focus solely on the draggable handle and let any relevant graphics update their status in a subsequent update-loop, previously I would've had to create the entire GUI in code, which means that I'd have to guesstimate positions and generally spend an awful amount of time testing. Thus this new GUI-approach makes both development and execution faster, and also generates less garbage as the GUI will now have a persistent memory address.

This last thing is particularly important: any object in C# deriving from the class-type is created on the heap, and unless you give it explicit memory management, losing all references to a heap memory item will not automatically free up that memory. As far as both the OS and Unity are concerned, that part of the RAM memory is still occupied. So when KSP tries to store another thing in memory that is, say, 1 MB in size, it might be that there is, say, over 5 MB of memory available, though distributed in portions of free memory no larger than 0.5MB. In this case the memory allocation fails, and the garbage collector kicks in. The garbage collector sweeps through all RAM memory occupied by KSP, looking for any object that is no longer referenced by KSP and thus can no longer be retrieved by the program. Such data is called "out of scope" and only serves to pollute memory at that point since the program can no longer use it. The garbage collector scrubs the memory wherever possible by removing all 'out of scope' data, and then Unity tries again to place the 1 MB object. If this once again fails, Unity will double the amount of memory that KSP has available.

This can actually cause a crash on 32 bit machines which have a maximum memory quota for any given program, and the OS will terminate any program exceeding its memory size. This is also true for 64-bit machines, but the RAM-quota on 64 bits is so absurdly high that it is essentially unreachable. Anyhow, this heap memory expansion also cannot be completed instantly.

Consequently poor memory management can lead to the infamous lag spike, which is something I strife to avoid at all costs. Consequently I'm thrilled to be able to use Unity's main GUI solution as it is better in literally every respect.

TL;DR:
New GUI solution: premium-quality well-decorated cake
Old GUI solution: moldy bagel that is starting to grow a beard

New GUI solution: Fomula 1 racecar
Old GUI solution: Flintstone mobile

New GUI solution: Jeb approves
Old GUI solution: Jeb screams

New GUI solution: The Outer Worlds
Old GUI solution: Fallout 76

New GUI solution: Beethoven
Old GUI solution: TF2 frying pan

New GUI solution: RTX 2080 Ti
Old GUI solution: Lil' Timmy with a crayon

New GUI solution: :D
Old GUI solution: https://youtu.be/2Oa2XK_5jBg?t=610

 

Edited by The White Guardian
Link to comment
Share on other sites

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...