rextable Posted October 7, 2021 Share Posted October 7, 2021 (edited) DELETED Edited October 9, 2021 by rextable social welfare :-) Quote Link to comment Share on other sites More sharing options...
Lisias Posted October 8, 2021 Author Share Posted October 8, 2021 (edited) ANNOUNCE Release 2.1.1.5 is available for downloading, with the following changes: Über refactoring Creating a shareable MeshEngine Decoupling PartModule details from the Engine Now it can be extended by creating new DLLs, instead of recompiling the thing! Adding (preliminary) support for ReStock To tell you the true, just a more thoughtfully implementation of Stock MODEL sections. Significant performance enhancements and CPU savings New Render Mode to allow smooth transitions at the cost of memory. Vessels are not removed from the cache, unless destroyed May use a lot of memory! Option to show the names of all visible bodies Use <ALT> while RightClicking the mouse. Guys, this is the real deal - all the work on the Experimental releases (more some late minute fixes and adjustments) are consolidated on a formal Release! (this is also the last time I use the SpySat to take the pictures - I'm learning my way on Cameras, next release I will use something else!! And a screenshot using the hint from @rextable: See OP for the links. — — — — — This Release will be published using the following Schedule: GitHub. Right Now. CurseForge. Right Now. SpaceDock. (By Saturday, probably, as I need to push some changes on NetKan) The rationale is that Real Life bitten me this week (again!), and I ended up pushing ahead some tasks (as CKAN) Edited October 8, 2021 by Lisias Distribution Channels updated. Quote Link to comment Share on other sites More sharing options...
Krazy1 Posted October 9, 2021 Share Posted October 9, 2021 On 10/7/2021 at 6:20 PM, Lisias said: Option to show the names of all visible bodies haha do you know how many times I hovered the mouse all over the sky saying "is that Minmus? nope. Uh... this one? no..." And then I'd hover somewhere random over the ground and see "Eeloo". But personally I'd rather turn off the name-on-mouse-over but have the <ALT>+RMB name toggle still active. Right now the mouse over has to be on for the <ALT>+RMB name toggle to work. This would avoid having names pop up over planets or ships. (I was going to request a click-through blocker, but with independent control of these, I personally wouldn't use the mouse-over.) There's a problem with it too. It's showing the <ALT>+RMB names at 2 places in the sky 180 degrees apart. One place is correct, one place is phantom. Quote Link to comment Share on other sites More sharing options...
Lisias Posted October 9, 2021 Author Share Posted October 9, 2021 8 hours ago, Krazy1 said: haha do you know how many times I hovered the mouse all over the sky saying "is that Minmus? nope. Uh... this one? no..." And then I'd hover somewhere random over the ground and see "Eeloo". But personally I'd rather turn off the name-on-mouse-over but have the <ALT>+RMB name toggle still active. Right now the mouse over has to be on for the <ALT>+RMB name toggle to work. This would avoid having names pop up over planets or ships. (I was going to request a click-through blocker, but with independent control of these, I personally wouldn't use the mouse-over.) Hummm… Didn't thought of that. I need to fire a raycast from the camera to the body, and suppress the labelling if there's anything between... https://github.com/net-lisias-ksp/DistantObject/issues/9 https://github.com/net-lisias-ksp/DistantObject/issues/10 8 hours ago, Krazy1 said: There's a problem with it too. It's showing the <ALT>+RMB names at 2 places in the sky 180 degrees apart. One place is correct, one place is phantom. Ouch! I missed that too!! https://github.com/net-lisias-ksp/DistantObject/issues/8 Cheers! Quote Link to comment Share on other sites More sharing options...
Lisias Posted October 9, 2021 Author Share Posted October 9, 2021 On 10/7/2021 at 8:30 AM, rextable said: DELETED Well, so I believe that fellow Kerbonaut is not going to help. The link you provided on the earlier post provides a "skin" to be used on a spherical mesh. But the SkyBox is made with 6 flats surfaces, forming a cube (since the name, SkyBox). This is going to need some serious math, as we will need to transform each pixel from a spherical coordinate into a flat one. Or, simplifying things, we need to "render" the sphere with the universe's skin and then render 6 projections using raycast, each projection being one if the sides if the cube used by the SkyBox. It's like a raytracing rendered photo, but the raycast is fired from inside the sphere to the pixel of interest, instead from the pixel into INF of its normal. This problem was already solved uncountable times, including by me 20 years ago when I studied raytrace and radiosity (when this thing was still a novelty). Problem is… It was 20 years ago, I don't remember a thing!!! Let's keep this cooking on vapour some time, this is getting interesting... Quote Link to comment Share on other sites More sharing options...
Daniel Prates Posted October 10, 2021 Share Posted October 10, 2021 On 10/7/2021 at 10:20 PM, Lisias said: What the what? Lisias from what height... or aLtItUdE rather... were these pictures taken from? Quote Link to comment Share on other sites More sharing options...
Lisias Posted October 10, 2021 Author Share Posted October 10, 2021 (edited) 5 hours ago, Daniel Prates said: What the what? Lisias from what height... or aLtItUdE rather... were these pictures taken from? From L.K.O.! It's a "Spy Sat" using Tarsier's telescopes! Use Haystack to select a target, Set Control from Here on the telescope (so it will pinpoint the target as one would expect) and use the SAS! Edited October 10, 2021 by Lisias tyops. as usulla. Quote Link to comment Share on other sites More sharing options...
rextable Posted October 10, 2021 Share Posted October 10, 2021 18 hours ago, Lisias said: Well, so I believe that fellow Kerbonaut is not going to help. Nope. 18 hours ago, Lisias said: Well, so I believe that fellow Kerbonaut is not going to help. The link you provided on the earlier post provides a "skin" to be used on a spherical mesh. But the SkyBox is made with 6 flats surfaces, forming a cube (since the name, SkyBox). This is going to need some serious math, as we will need to transform each pixel from a spherical coordinate into a flat one. Or, simplifying things, we need to "render" the sphere with the universe's skin and then render 6 projections using raycast, each projection being one if the sides if the cube used by the SkyBox. It's like a raytracing rendered photo, but the raycast is fired from inside the sphere to the pixel of interest, instead from the pixel into INF of its normal. This problem was already solved uncountable times, including by me 20 years ago when I studied raytrace and radiosity (when this thing was still a novelty). Problem is… It was 20 years ago, I don't remember a thing!!! Let's keep this cooking on vapour some time, this is getting interesting... ...erm... I think your problem has just been solved for you - check your PMs Quote Link to comment Share on other sites More sharing options...
Krazy1 Posted October 11, 2021 Share Posted October 11, 2021 I like the improved skybox dimming... at least it seems like the planets and brighter stars don't dim as much as the skybox when panning the view. But you were talkin about more improvements. Was it changed already or am I krazy? I had the game hang when trying to recover a ship after splashing down. I didn't see anything obvious in the logs and now I overwrote them-oops. I relaunched and then recovered it normally. I'm only mentioning it in case a trend develops... last thing I did was update this mod version. \o/ For github issue 2, I also showed a pic of Jool showing through the sun. Not sure if you missed that or figured addressing the atmosphere would also fix that. Quote Link to comment Share on other sites More sharing options...
Lisias Posted October 11, 2021 Author Share Posted October 11, 2021 (edited) On 10/11/2021 at 12:16 AM, Krazy1 said: I like the improved skybox dimming... at least it seems like the planets and brighter stars don't dim as much as the skybox when panning the view. But you were talkin about more improvements. Was it changed already or am I krazy? I didn't changed the visual effects itself, but I found some performances improvement opportunities on the code, and explored them. With a bit less of load on the CPU side, perhaps the blinking became slightly "blinkier" perhaps? On 10/11/2021 at 12:16 AM, Krazy1 said: I had the game hang when trying to recover a ship after splashing down. I didn't see anything obvious in the logs and now I overwrote them-oops. I relaunched and then recovered it normally. I'm only mentioning it in case a trend develops... last thing I did was update this mod version. \o/ Humm... I will give this a try - you are running KSP1.12, right? (I need to ask, this thing run down to 1.4.5 at least! ) The only part of the code that could be involved on the mess is the VesselDraw, that needs to keep track of every living vessel in the viable zone (750 km on default). So I hooked into the GameEvents to be aware when a craft is destroyed and when it's changed. What you describes implies on a GameEvents frenzy, with a craft being destroyed and many new ones (the surviving root part and attachments, and the debris) being created. This would surely fire a MeshEngine creation fest if you aren using DrawVessel with anything other than Target Only... But, yet, this was a use case I tested.... Perhaps I need to try a more robust test session.... let's see what happens... — POST EDIT -- I ran a test. TL;DR: nothing obvious on DOE, it may be something else, perhaps being triggered by DOE... Note the debris! --------------------- On 10/11/2021 at 12:16 AM, Krazy1 said: For github issue 2, I also showed a pic of Jool showing through the sun. Not sure if you missed that or figured addressing the atmosphere would also fix that. The problem is that the atmosphere is drawn before all planets, not before its planet. And the flares are drawn after the planets (for obvious reasons). So a simple solution for this is out of question. I'm cooking a stunt to kinda brute force my way into this problem: I will try setting the transparency of the flate as a function of how 'buried' it is on the atmosphere. I would love to raycast my way out of the problem, but I doubt the atmosphere has a collider So I will need to check the radial of the flare related to the camera, check the radial of the atmosphere, and check if they merged. Not sure how smart is this solution, but it's what I managed to think about for now. Edited October 12, 2021 by Lisias I ran a test Quote Link to comment Share on other sites More sharing options...
Krazy1 Posted October 11, 2021 Share Posted October 11, 2021 1 hour ago, Lisias said: KSP1.12, right? Yes. Thanks for testing! Atmosphere... transparency... raycast... OK but I'm not sure if I got the idea to you There are 2 issues: Planets showing through the atmosphere (you're thinking about that) Planets show directly though the sun. Like this Github issue #2 does not mention this. I'm not sure if these would need different solutions. I think the sun has an atmosphere...? so same solution maybe? Quote Link to comment Share on other sites More sharing options...
Lisias Posted October 11, 2021 Author Share Posted October 11, 2021 9 minutes ago, Krazy1 said: I'm not sure if these would need different solutions. I think the sun has an atmosphere...? so same solution maybe? Yep, it's (more or less) the same problem. There's no (apparent) difference form the code point of view between a planet's atmosphere and a star's heliosphere (and sunglare), it's essentially something being drawn before the body it belongs (or over it, as it appears to be the case of the Sun). The atmosphere, for sure, it's not a sphere englobing the planet (as it is on real life), but a circle with a fancy paintjob being drawn before the planet is rendered over it (yeah, KSP is cheating!). Quote Link to comment Share on other sites More sharing options...
Krazy1 Posted October 12, 2021 Share Posted October 12, 2021 (edited) Just FYI, I saw some errors in my log. I only looked because I was getting EXC spam on something else (ModuleDockingNode. I believe they're unrelated). This was during rendezvous and docking. KSP log Spoiler [LOG 13:49:42.619] Camera Mode: AUTO [LOG 13:49:42.621] [ApplicationLauncher] SetVisible: [LOG 13:49:42.624] ScaleModList: listSize 533 maxListSize 529 [LOG 13:49:42.624] ScaleModList: listSize 492 maxListSize 497 [LOG 13:49:42.624] ScaleModList: listSize 533 maxListSize 529 [LOG 13:49:42.625] ScaleModList: listSize 574 maxListSize 497 [LOG 13:49:58.862] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.878] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.878] [DistantObject] ERROR: Tried to draw part solarPanels5 within rendering distance of active vessel! at error:0 [LOG 13:49:58.896] [DistantObject] ERROR: Tried to draw part trussPiece1x within rendering distance of active vessel! at error:0 [LOG 13:49:58.896] [DistantObject] ERROR: Tried to draw part parachuteLarge within rendering distance of active vessel! at error:0 [LOG 13:49:58.896] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.896] [DistantObject] ERROR: Tried to draw part structuralWing3 within rendering distance of active vessel! at error:0 [LOG 13:49:58.896] [DistantObject] ERROR: Tried to draw part structuralWing4 within rendering distance of active vessel! at error:0 [LOG 13:49:58.896] [DistantObject] ERROR: Tried to draw part solarPanels5 within rendering distance of active vessel! at error:0 [LOG 13:49:58.907] [DistantObject] ERROR: Tried to draw part trussPiece1x within rendering distance of active vessel! at error:0 [LOG 13:49:58.907] [DistantObject] ERROR: Tried to draw part parachuteLarge within rendering distance of active vessel! at error:0 [LOG 13:49:58.908] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.908] [DistantObject] ERROR: Tried to draw part structuralWing3 within rendering distance of active vessel! at error:0 [LOG 13:49:58.908] [DistantObject] ERROR: Tried to draw part structuralWing4 within rendering distance of active vessel! at error:0 [LOG 13:49:58.908] [DistantObject] ERROR: Tried to draw part solarPanels5 within rendering distance of active vessel! at error:0 [LOG 13:49:58.931] [DistantObject] ERROR: Tried to draw part trussPiece1x within rendering distance of active vessel! at error:0 [LOG 13:49:58.931] [DistantObject] ERROR: Tried to draw part parachuteLarge within rendering distance of active vessel! at error:0 [LOG 13:49:58.931] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.931] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.931] [DistantObject] ERROR: Tried to draw part structuralWing3 within rendering distance of active vessel! at error:0 [LOG 13:49:58.931] [DistantObject] ERROR: Tried to draw part structuralWing4 within rendering distance of active vessel! at error:0 [LOG 13:49:58.931] [DistantObject] ERROR: Tried to draw part solarPanels5 within rendering distance of active vessel! at error:0 [LOG 13:49:58.948] [DistantObject] ERROR: Tried to draw part ConformalStorageUnit within rendering distance of active vessel! at error:0 [LOG 13:49:58.948] [DistantObject] ERROR: Tried to draw part parachuteLarge within rendering distance of active vessel! at error:0 [LOG 13:49:58.948] [DistantObject] ERROR: Tried to draw part radialDrogue within rendering distance of active vessel! at error:0 [LOG 13:49:58.949] [DistantObject] ERROR: Tried to draw part trussPiece1x within rendering distance of active vessel! at error:0 [LOG 13:49:58.949] [DistantObject] ERROR: Tried to draw part parachuteLarge within rendering distance of active vessel! at error:0 [LOG 13:49:58.949] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.949] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.949] [DistantObject] ERROR: Tried to draw part structuralWing3 within rendering distance of active vessel! at error:0 [LOG 13:49:58.949] [DistantObject] ERROR: Tried to draw part structuralWing4 within rendering distance of active vessel! at error:0 [LOG 13:49:58.949] [DistantObject] ERROR: Tried to draw part solarPanels5 within rendering distance of active vessel! at error:0 [LOG 13:49:58.949] [DistantObject] ERROR: Tried to draw part longAntenna within rendering distance of active vessel! at error:0 [LOG 13:49:58.965] [DistantObject] ERROR: Tried to draw part ConformalStorageUnit within rendering distance of active vessel! at error:0 [LOG 13:49:58.965] [DistantObject] ERROR: Tried to draw part parachuteLarge within rendering distance of active vessel! at error:0 [LOG 13:49:58.965] [DistantObject] ERROR: Tried to draw part radialDrogue within rendering distance of active vessel! at error:0 [LOG 13:49:58.965] [DistantObject] ERROR: Tried to draw part trussPiece1x within rendering distance of active vessel! at error:0 [LOG 13:49:58.965] [DistantObject] ERROR: Tried to draw part parachuteLarge within rendering distance of active vessel! at error:0 [LOG 13:49:58.965] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.965] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.965] [DistantObject] ERROR: Tried to draw part structuralWing3 within rendering distance of active vessel! at error:0 [LOG 13:49:58.966] [DistantObject] ERROR: Tried to draw part structuralWing4 within rendering distance of active vessel! at error:0 [LOG 13:49:58.966] [DistantObject] ERROR: Tried to draw part solarPanels5 within rendering distance of active vessel! at error:0 [LOG 13:49:58.966] [DistantObject] ERROR: Tried to draw part longAntenna within rendering distance of active vessel! at error:0 [LOG 13:49:58.966] [DistantObject] ERROR: Tried to draw part microEngine.v2 within rendering distance of active vessel! at error:0 [LOG 13:49:58.966] [DistantObject] ERROR: Tried to draw part ReleaseValve within rendering distance of active vessel! at error:0 [LOG 13:49:58.966] [DistantObject] ERROR: Tried to draw part batteryPack within rendering distance of active vessel! at error:0 [LOG 13:49:58.966] [DistantObject] ERROR: Tried to draw part batteryPack within rendering distance of active vessel! at error:0 [LOG 13:49:58.966] [DistantObject] ERROR: Tried to draw part batteryPack within rendering distance of active vessel! at error:0 [LOG 13:49:58.982] [DistantObject] ERROR: Tried to draw part ServiceBay.250.v2 within rendering distance of active vessel! at error:0 [LOG 13:49:58.982] [DistantObject] ERROR: Tried to draw part LargeTank within rendering distance of active vessel! at error:0 [LOG 13:49:58.982] [DistantObject] ERROR: Tried to draw part InflatableHeatShield within rendering distance of active vessel! at error:0 [LOG 13:49:58.982] [DistantObject] ERROR: Tried to draw part ConformalStorageUnit within rendering distance of active vessel! at error:0 [LOG 13:49:58.982] [DistantObject] ERROR: Tried to draw part parachuteLarge within rendering distance of active vessel! at error:0 [LOG 13:49:58.982] [DistantObject] ERROR: Tried to draw part radialDrogue within rendering distance of active vessel! at error:0 [LOG 13:49:58.982] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.982] [DistantObject] ERROR: Tried to draw part structuralWing3 within rendering distance of active vessel! at error:0 [LOG 13:49:58.982] [DistantObject] ERROR: Tried to draw part structuralWing4 within rendering distance of active vessel! at error:0 [LOG 13:49:58.982] [DistantObject] ERROR: Tried to draw part solarPanels5 within rendering distance of active vessel! at error:0 [LOG 13:49:58.982] [DistantObject] ERROR: Tried to draw part trussPiece1x within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part parachuteLarge within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part structuralWing3 within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part structuralWing4 within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part trussPiece1x within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part parachuteLarge within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part hinge.03.s within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part structuralWing3 within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part structuralWing4 within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part solarPanels5 within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part longAntenna within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part microEngine.v2 within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part ReleaseValve within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part advSasModule within rendering distance of active vessel! at error:0 [LOG 13:49:58.983] [DistantObject] ERROR: Tried to draw part batteryPack within rendering distance of active vessel! at error:0 [LOG 13:49:58.984] [DistantObject] ERROR: Tried to draw part batteryPack within rendering distance of active vessel! at error:0 [LOG 13:49:58.984] [DistantObject] ERROR: Tried to draw part batteryPack within rendering distance of active vessel! at error:0 [LOG 13:49:58.984] [DistantObject] ERROR: Tried to draw part batteryPack within rendering distance of active vessel! at error:0 [LOG 13:49:58.984] [DistantObject] ERROR: Tried to draw part batteryPack within rendering distance of active vessel! at error:0 [LOG 13:49:58.984] [DistantObject] ERROR: Tried to draw part probeStackSmall within rendering distance of active vessel! at error:0 [LOG 13:49:58.984] [DistantObject] ERROR: Tried to draw part miniFuelTank within rendering distance of active vessel! at error:0 [LOG 13:49:58.984] [DistantObject] ERROR: Tried to draw part dockingPortLarge within rendering distance of active vessel! at error:0 [LOG 13:49:59.093] [Rendezvous]: Now tracking Mun 2400 ore return vs. Minmus ISRU lander [LOG 13:49:59.093] [Rendezvous]: Tracking Mun 2400 ore return vs. Minmus ISRU lander ended. [LOG 13:49:59.229] [FlightIntegrator]: Reloaded drag cube for zeroed cube root part ServiceBay.250.v2 (Mun 2400 ore return) on vessel Mun 2400 ore return [LOG 13:49:59.229] [FlightIntegrator]: Vessel Mun 2400 ore return has been unloaded 45775.3234253386, applying analytic temperature 219.902520607787 [LOG 13:50:08.325] Flight State Captured Edited October 12, 2021 by Krazy1 hide log... didn't collapse Quote Link to comment Share on other sites More sharing options...
Lisias Posted October 12, 2021 Author Share Posted October 12, 2021 (edited) 5 hours ago, Krazy1 said: Just FYI, I saw some errors in my log. I only looked because I was getting EXC spam on something else (ModuleDockingNode. I believe they're unrelated). This was during rendezvous and docking. KSP log Interesting… At first, I though I had forgot to check the viable zone of the craft before drawing it, but I just confirmed on the source that I'm checking it, I'm checking against Vessel.load before attempt to draw it. So my best guess to this point is that you found a borderline situation: the craft entered into Physics Range in the exact same moment DOE checked if it was loaded or not, and we got a race condition. (hummmm) Yeah, I think I need to put something on the FixedUpdated handler. One of the speed ups I made was to remove the mesh building phase from the FixedUpdate (as it was before), and besides this handler is called fewer times then Update, it is called from the hottest code on the Game, the Physics Engine. But now I realised that there was a reason for using the FixedUpdated. I will need to rework a bit this thing - shoving everything on FixedUpdate is not an option, I will not put render time code on the Physics Engine loop. In the mean time, you can ignore this. Other than spamming the KSP.log now and then, nothing serious happens as the drawing code aborts the execution on this situation. https://github.com/net-lisias-ksp/DistantObject/issues/12 Edited October 12, 2021 by Lisias Better phrasing Quote Link to comment Share on other sites More sharing options...
Lisias Posted October 13, 2021 Author Share Posted October 13, 2021 NOTAM KSP 1.3.x Informal Compatibility!! By an incredible lucky strike, a small update on the KSPe.Light.DOE.dll ended up allowing DOE/L to run on KSP 1.3.1!! Be warned that this is an INFORMAL compatibility. No troughful tests were made (yet), so try it at your own risk. Download the KSPe.Light.DOE.zip file, unzip the dll and replace the old one in GameData/DistantObject/Plugins. Available on GitHub only. Quote Link to comment Share on other sites More sharing options...
darthgently Posted October 18, 2021 Share Posted October 18, 2021 (edited) Quick FYI, if I have "vessel rendering" on I get a lot of log spam about null objects. Which isn't a big deal for me as I prefer to have it off anyway. But what surprised me is that I was getting these errors, and lag, while in the editor and I couldn't understand why distant object would care or be running while I was in the editor. Edited October 18, 2021 by darthgently msg doubled for some reason, fixed, clarified Quote Link to comment Share on other sites More sharing options...
Lisias Posted October 18, 2021 Author Share Posted October 18, 2021 (edited) On 10/18/2021 at 5:24 AM, darthgently said: Quick FYI, if I have "vessel rendering" on I get a lot of log spam about null objects. Which isn't a big deal for me as I prefer to have it off anyway. But what surprised me is that I was getting these errors, and lag, while in the editor and I couldn't understand why distant object would care or be running while I was in the editor. It should not…. Please send me your KSP.log so I can check where the bork is happening. I'm surely misconfigured some KSPAddOn attribute! POST EDIT Don't bother, I found it already. I completely missed that! POST POST EDIT There was another issue hidden on the thing: when you click on the "Apply" from the Settings Menu, a function called "Commit" is called to, well.. , commit the changes on the running Module so you don't have to switch scenes to get the setting applied. But I forgot to check if the Module is meant to work on the current Scene on two use cases (I handled it correctly on a third, so I think I was interrupted by some R.L. issue and ending up thinking I had concluded the job after), so the after math was that VesselDraw was being activated no matter the current scene by that click. This may also explain the problem detected by @Krazy1 - if VesselDraw is already active when entering the Flight Scene, there's a very good chance that a unloaded vessel ends being the current vessel without VesselDraw getting the chance to check it - ending up with the MeshEngine trying to draw the meshes over an active one (a mishap that the original programmer surely ended up doing otherwise he wouldn't had wrote the code - and now I'm pretty glad he did!). Well, I'm finishing the tests and I think I will release the fix in the next couple hours. [ha… :P] POST POST POST EDIT This is extremely frustrating. The latest ReStock, somehow, added something to the mess that is fooling DOE on think that some parts that should not be rendered, should be. [LOG 17:35:35.348] [DistantObject] WARNING: Failed to load model Squad/Parts/Utility/launchClamp1/model for part launchClamp1 from vessel Tower Of Doom! Vessel will not be rendered as expected! I will release what I have ready as it fixes some problems being reported, and I will let ReStock for another day - there's so much I can do at once on working days. I probably will add a new "Engine' just for ReStock, and I will deliver the DLL stand alone for beta-testers. It's not fair to non ReStock users delaying the development cycle due ReStock... Edited October 21, 2021 by Lisias frustration. Also with my grammars. Quote Link to comment Share on other sites More sharing options...
darthgently Posted October 19, 2021 Share Posted October 19, 2021 For the record, this is my favorite mod. There are others that I really couldn't play without, and I could play without this one, but this one is the most aesthetically pleasing. Even more the EVE. I really like when I capture into Minmus orbit and I can see glints of dozens of other craft in orbit there; tankers, relays, and craft waiting to depart to other planets. It really adds a lot to the game for the mere price of a few pixels on the screen. And seeing the inner planets from the Jool system is pretty cool also Quote Link to comment Share on other sites More sharing options...
Lisias Posted October 20, 2021 Author Share Posted October 20, 2021 (edited) ANNOUNCE Release 2.1.1.6 is available for downloading, with the following changes: Some brain-farts of mine on handling Scene switch were fixed Thanks for the report, @darthgently! And for the one from @Krazy1too! While fixing the previous, I detected what could be happening on this one and (hopefully) fixed it. Testings down to KSP 1.3.1 suggests it works on these, but "Development" was done on KSP 1.4.1 and 1.4.3, and then tested against 1.7.3 and 1.12.2 and no problems (others than my own ones) were found! #HURRAY!! KSP 1.3.1 appears to work, but I didn't "certified" it yet. Try at your own risk On the bottom line, the thing runs downto 1.3.1, but I'm not confident enough yet. I essentially remade VesselDraw this time, as the previous coding style was becoming hard to "escalate" (how is the exactly term in EN-US?). This fixed a bunch of issues by itself, as they were originate by my attempt to prevent doing exactly that (if it's working, don't fix it! It only happened that it was not working as I needed, so now I fixed it). I think it will work fine on KSP 1.3.1, I surely did some test runs on it. But not close from the scrutiny I'm doing on KSP 1.4x to 1.12.2 (1.4.3, 1.4.5, 1.7.3, 1.8.1 and 1..12.2 - as experience tells me that if the damned thing works on these ones, it almost surely with work on the others too! KSP 1.5.1 and 1.6.1 passed the smoke tests at least, I ran out of time to keep testing the Unity 2019 series, except by 1.12.2, of course). As I said before, it was by plain luck I didn't used anything not available (and working) on KSP 1.3.1, so we still may get strike by something. So I prefer to deferrer an official statement for the WeekEnd, when I will have time to play with the thing. No screenshots this time, I'm in hurry. See OP for the links. — — — — — This Release will be published using the following Schedule: GitHub. Right Now. CurseForge. Right Now. SpaceDock. Right Now. The rationale is to gradually deploy the thing in order to cope with eventual mishaps before it reaches too much people. Edited October 30, 2021 by Lisias All distribution channels are up to date. Quote Link to comment Share on other sites More sharing options...
Grimmas Posted October 20, 2021 Share Posted October 20, 2021 15 hours ago, Lisias said: I essentially remade VesselDraw this time, as the previous coding style was becoming hard to "escalate" (how is the exactly term in EN-US?). This fixed a some issues by itself, as they were originate by my attempt to prevent doing exactly that (if it's working, don't fix it! It only happened that it was not working as I needed, so now I fixed it). Depends on what you mean. Maintain? Understand? Read? Refactor? Quote Link to comment Share on other sites More sharing options...
RyanRising Posted October 21, 2021 Share Posted October 21, 2021 Expand, perhaps? Quote Link to comment Share on other sites More sharing options...
Lisias Posted October 21, 2021 Author Share Posted October 21, 2021 (edited) 6 hours ago, Grimmas said: Depends on what you mean. Maintain? Understand? Read? Refactor? In PT-BR, when we say "Essa ferramenta não escala…", we are meaning that the tool works on small jobs but as the load increases, the tool can't withhold the load under a vertical landscape neither allows being used on many appliances on a horizontal landscape. When the tool does it fine (i.e., can withhold loads on vertical, and/or allow easy deployment on many appliances on an easy maintainable way, we say "A ferramenta escala bem!". It's a concept that involves all what you said and a bit more. 1 hour ago, RyanRising said: Expand, perhaps? It's the near concept that came to my mind now. Cheers! Edited October 21, 2021 by Lisias Better phrasing. Good thing I'm a programmer and not a novelist!!! Quote Link to comment Share on other sites More sharing options...
Grimmas Posted October 21, 2021 Share Posted October 21, 2021 So it was actually about scalability The terms in English are "scale up" for vertical and "scale out" for horizontal. Though this is somewhat less programming talk and more distributed computing talk. Quote Link to comment Share on other sites More sharing options...
Lisias Posted October 21, 2021 Author Share Posted October 21, 2021 4 hours ago, Grimmas said: So it was actually about scalability The terms in English are "scale up" for vertical and "scale out" for horizontal. Though this is somewhat less programming talk and more distributed computing talk. Yeah! Thanks! About distributed computing… Believe me, game programming ends up using a lot of these concepts. We have a physics engine that conceptually (i.e., we pretend it does! ) works in parallel with the Game Modules (PartModules, VesselModules, etc), and all of that (also conceptually) works in parallel with the GPU. Unity ends up squashing everything on a sequential process - but since there're some parallelism on the thing it worths the effort to pretend everything is parallel and code this way. If you manage to grab one of that older "Many Core" processor cards, there're some pretty interesting things to explore! Quote Link to comment Share on other sites More sharing options...
darthgently Posted October 26, 2021 Share Posted October 26, 2021 (edited) On 10/21/2021 at 4:16 AM, Lisias said: Yeah! Thanks! About distributed computing… Believe me, game programming ends up using a lot of these concepts. We have a physics engine that conceptually (i.e., we pretend it does! ) works in parallel with the Game Modules (PartModules, VesselModules, etc), and all of that (also conceptually) works in parallel with the GPU. Unity ends up squashing everything on a sequential process - but since there're some parallelism on the thing it worths the effort to pretend everything is parallel and code this way. If you manage to grab one of that older "Many Core" processor cards, there're some pretty interesting things to explore! Given even the lastest consoles have multiple cores it is way overdue for games to make use of them. A lot of KSP involves switching between craft, and then back again. It would be great if the most recent flight scene were somehow kept alive on another core so that switching back would be nearly instantaneous, along with the Tracking Center being constantly alive on its own core. Background Resource processing could also be running constantly. I think the PS5 and next (or current?) XBox have 8 cores. The limiting factor would likely be RAM Edited October 26, 2021 by darthgently Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.