# Xavier513

Members

29

20 Excellent

• Rank
Rocketeer

## Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

1. ## Time to talk about KSP 3

Congrats! Long live KSP! So, what would you like to see in KSP 3?

Awsome! Now the Duna polar area are not covered by icing sugar anymore

4. ## [WIP][1.7.3] Kift - Thrift plugin for KSP (v0.1.0-alpha.2, 2019-08-10)

FINALLY! World texture REVAMP! HOORAY!
6. ## What's the difference between Orbit.orbitalSpeed and Orbit.vel?

Hi, I'm working on a plugin, what's the difference between Orbit.orbitalSpeed and Orbit.vel? My guess is, they have different reference frames: Orbit.orbitalSpeed is relative to the celestial body's center of mass, and Orbit.vel is the velocity in world reference frame. Am I correct?
7. ## What is Vector3d.Exclude()?

@Shadowmage I think this is what "Exclude()" does: for example, Exclude(a, b) = b - Project(b, a)
8. ## What is Vector3d.Exclude()?

I find another "Exclude()" method at https://github.com/sldsmkd/vector3d/blob/master/Vector3d.cs#L325 public static Vector3d Exclude(Vector3d excludeThis, Vector3d fromThat) { return fromThat - Vector3d.Project(fromThat, excludeThis); } Is it the same with the one in KSP?
9. ## What is Vector3d.Exclude()?

Edit: OK, this should be the answer: https://github.com/sldsmkd/vector3d/blob/master/Vector3d.cs#L325 Please correct me if I'm wrong. ------------------------------------------------------------------------------ I understand vector calculations such as "Cross" and "Dot", but what does "Vector3d.Exclude()" means? public static Vector3d Exclude(Vector3d excludeThis, Vector3d fromThat); I'm trying to understand following code from KRPC : /// Returns the up vector for the reference frame in world coordinates. /// The direction in which the y-axis points. /// The vector is not normalized. Vector3d UpNotNormalized { get { switch (type) { ....... case ReferenceFrameType.VesselSurface: { var right = vessel.CoM - vessel.mainBody.position; return Vector3d.Exclude (right, ToNorthPole (vessel).normalized); } ...... } } } /// Vector from given vessel to north pole of body being orbited, in world space. static Vector3d ToNorthPole (global::Vessel vessel) { var parent = vessel.mainBody; return parent.position + ((Vector3d)parent.transform.up) * parent.Radius - (vessel.CoM); } It returns a vector in UP direction in "VesselSurface" reference frame, and I don't understand what "Exclude" means in math. Help please! Thanks!
10. ## The Future

My only wish currently is to upgrade to latest Unity version, and get rid of the old "outdated" .Net Framework 3.5 .
11. ## [SOLVED] How to get a list of CeletialBody?

Is there any method to get a list of CeletialBody in curent game universe? Or a list of CeletialBody names? I find a list at the bottom of file "setting.cfg", though. OK, I get it: FlightGlobals.Bodies
12. ## Upgrade NET Framework version

Thanks. Indeed, KRPC is a great mod, and I spent alomost a whole last week reading the source code(I'm totally new to C sharp and KSP plugin development), I learnt A LOT from @djungelorm's great work! But I prefer using existing RPC framework(for example, GRPC, Thrift), rather than building my own RPC framework. Good news! I find Thrift still supports .Net framework 3.5, and in fact I have already ran a "HelloWorld.exe" successfully. The bridge between local process and KSP is through! Now I can continue my development focusing on "bussiness logic".
13. ## Upgrade NET Framework version

It's understandable for not upgrading, but the world is changing fast, more and more third-party software never support .Net Framework 3.5, for example, GRPC requires .Net Framework 4.5+, and GRPC has no plan to support 3.5.(I'm planning to create a new plugin based on GRPC, but unfortunately, I find KSP requires .Net framework 3.5) I'm also a programmer, I believe "refactoring/rewriting of existing code" is an important part of a long-term software project such as KSP, the key is how to balance the effort between "refactoring/rewriting of existing code" and new feature development. Many times, I have seen a software finally corrupted and became so hard to maintain that it was replaced by a totally new software, at the cost of huge resources and time investment. Maybe for now, KSP hasn't reach the point that SQUAD has to upgrade .Net Framework, otherwise KSP is too painful to add new features for the dev, or too painful for the community to develop a new plugin/mod. But that day will finally come, as long as KSP is still alive, the later that day is, the more effort "refactoring/rewriting" KSP will require. I can see some signs already in recent years. Even Microsoftware won't end 3.5's life before 2028-10-10, depending on an "unofficially outdated" framework is not a good idea for me, especially when we are talking about KSP, which is still under development and "young". I bravely estimate that, in three years, KSP will upgrade .Net Framework, before SQUAD finds it's too late.
14. ## Failed to set "target framework" to .Net v3.5 in VS on Mac OS

OK, I decide to continue my journey on Windows, everything works smoothly there. Thanks for your replies! @steve_v @DMagic
15. ## Failed to set "target framework" to .Net v3.5 in VS on Mac OS

Hi, I'm a software engineer with 9 years experience on Java and 2 years on Golang. I have also been a KSP player for 4 years. Now I get some ideas and decide to go one step further. So I spent several days learning about C# basics and how to develop a KSP plugin. At first, I followed a tutorial, and succeeded to run a demo on Windows(had some trouble installing .NET 3.5 on Windows 10 though). Then I tried to do the same thing on my Mac. Unfortunately, I failed to set "target framework" to v3.5 in Visual Studio 2017. I imported UnityEngine.dll, UnityEngine.UI.dll, Assembly-Csharp.dll and Assembly-Csharp-firstpass.dll. ﻿But the IDE reports this error: "The type or namespace name 'MonoBehaviour' could not be found (are you missing a using directive or an assembly reference?)". The oldest version in the list is 4.5. I googled, read and tried many times, but none worked. At last, I found this page, I'm now doubting that whether it's possible to dev plugins on Mac OS at all? Environment: Mac OS Mojave v10.14.2 Mono 5.18.1 (versions older than 5.10 is not compatible with the OS) Visual Studio for Mac, Community, v7.8.3 Here're my questions: 1, What's the version of .Net framework supported by KSP currently? Is it still version 3.5? 2, How to set the target framework to v3.5 in VS on Mac OS? 3, Is there anybody developing plugins on Mac OS? Should I just give up and move to Windows? Thanks a lot!