Jump to content

[0.90] Lazor System v35 (Dec 17)


Romfarer

Recommended Posts

I can't wait for the 1.0 release of this, again, mainly for the docking cam, but I can certainly understand the need for a break as I have worked as a tester before and damn the devs put in some seriously long hours. I don't know how their families can take it some times, but I understand that it has a lot to do with the love of their jobs. The wives become more of a mistress during crunch times. Come back soon Romfarer, your wife is getting bored and your mistress has seen you too much lately :P

Link to comment
Share on other sites

  • 2 weeks later...

I would guess Romfarer won't touch this until after v1.1. He's currently neck-deep in a complete UI overhaul for the game and I don't think Squad is going to bother leaving in anything for backwards UI compatibility so pretty much all mods that rely on a UI will break come v1.1, including this one - especially this one. So it makes sense to focus on his main job and wait until he can get it all working again under the new system.

Link to comment
Share on other sites

I would guess Romfarer won't touch this until after v1.1. He's currently neck-deep in a complete UI overhaul for the game and I don't think Squad is going to bother leaving in anything for backwards UI compatibility so pretty much all mods that rely on a UI will break come v1.1, including this one - especially this one. So it makes sense to focus on his main job and wait until he can get it all working again under the new system.

Which is yet another reason why I've shelved this game.

Link to comment
Share on other sites

I don't understand why another modder just doesn't get the source code from the zipfile and do an "unofficial" fix for it? I mean... it's open source, that's why it's there. I'd do it if I could code

The main problem that must be scaring everyone is that the source codes aren't on GitHub but in some bloody mess.

Despite I'm busy with my own two mods may be I'll try to recompile it but you should verify whether it is working yourself because of... ummm... stuff.

EDIT:

I would guess Romfarer won't touch this until after v1.1. He's currently neck-deep in a complete UI overhaul for the game and I don't think Squad is going to bother leaving in anything for backwards UI compatibility so pretty much all mods that rely on a UI will break come v1.1

Guess another modder's hell is coming. Christ... the pain would be much more tolerable if only we had some official modding documentation updated when they break everything...

Edited by Ser
Link to comment
Share on other sites

...

EDIT:

Guess another modder's hell is coming. Christ... the pain would be much more tolerable if only we had some official modding documentation updated when they break everything...

Forget modder's hell, how about just plain vanilla user's hell? It seems to me the only people not affected by the changes in the updates are those playing Sandbox - for them it's a matter of waiting on mods. I play a Science game, very few mods (Lazor, SCANsat, and Stock Bug Fixes, that's it), and nearly every update I find myself having to start all over again. Frankly, I'm getting tired of it.

Link to comment
Share on other sites

Got some bad news for you:

88x31.png

This work is licensed under a Creative Commons

Attribution-NonCommercial-NoDerivs 3.0 Unported License.

That means "NoDerivatives  If you remix, transform, or build upon the material, you may not distribute the modified material."

So if someone recompiles it and makes it available then he violates the license. Seems like Romfarer has made the mod impossible to support by anyone but himself.

But that doesn't mean you are not allowed to recompile and use it on your own.

Correct me if I have understood something wrong.

EDIT: The good news are that someone can still create his own black-and-white realistic docking camera mod some time later. Check the forums regularly, may be you'll be lucky.

Edited by Ser
Link to comment
Share on other sites

EDIT: The good news are that someone can still create his own black-and-white realistic docking camera mod some time later. Check the forums regularly, may be you'll be lucky.

Exactly. I don't see how the license can really stop anybody, no point supplying the source code if he's going to tack on the "no deriv" attribute to the CC license. A lot of modders have handed their works over to others for their continuing development

Link to comment
Share on other sites

Exactly. I don't see how the license can really stop anybody, no point supplying the source code if he's going to tack on the "no deriv" attribute to the CC license. A lot of modders have handed their works over to others for their continuing development

The CC BY-NC-ND license won't stop you from making derivatives for yourself, and that's one good case for sharing the code. Another important case is to allow independent checking, but that is of concern only to those who are security-minded (and will take too long to explain why open sourcecode and independent checking is important, especially for users who don't care about what they are installing on their 'puters). The license can't stop from making alternative add-ons, providing the same functionality in a different way (and here is a third good case for showing the sourcecode, it allows to verify any similar add-on isn't a derivative of this one).

The license effectively stops everybody from pirating this add-on, and you can be absolutely sure we will use everything in our arsenal should piracy be detected.

Now, hope this stops any further suggestion this add-on could be "taken care" in ways the author has not allowed, and bring back discussion on the add-on itself.

Link to comment
Share on other sites

No word on piracy. It's a shame to steal someone's work.

So if we want a docking cam we should either have Romfarer's permission or create a totally new docking camera mod. That's the point.

Link to comment
Share on other sites

  • 2 weeks later...

Since "NoDerivatives  If you remix, transform, or build upon the material, you may not distribute the modified material." doesn't restrict anyone from building for his own use,

for those who are so desperate at the mod, here's the common instruction on

!!!NOTE that despite you may be successful at recompiling there's a high chance that the result would appear a piece of crap based on a brilliant work. It may even function as intended but you don't know what bugs you have put into it. It may even corrupt your saves. SO DON'T SHARE THE RECOMPILED FILES WITH ANYONE! First, this may violate the original mod's license. Despite you have edited something it's still not yours. Second, people will have bugs with it (you may be sure, they will) and blame the original mod's developer for them, WHO ISN'T RESPONSIBLE AT ALL. Thus you'll hurt the developer's reputation. SO IF YOU LIKE THE MOD THAT MUCH, PLEASE, RESPECT ITS AUTHOR, HIS RIGHTS AND REPUTATION.

One more thing you should realize that even if you do everything right you will not necessarily have the working result in any particular case. If you still want to proceed, let's start.

First, read the mod's license and realize clearly if it allows you to do what you are going to. If it doesn't then stop reading and get the developer's permission.

If it does, in order to proceed you need to download and install

.Net Framework 4.0 (version matters) and SharpDevelop 5.0

Run SharpDevelop. Press Create a New Solution. In categories select C# (on top of the tree) and in the right part of the window choose "Class Library". In the templates select .Net Framework 4.0 (it should be there if you installed .Net Framework properly).

Enter the Name similar to dll's name you want to recompile. Choose any folder that is convenient to you.

Press "Create".

After that a view of the MyClass.cs file opens in front of you with the project's tree structure on the left. The topmost node of the tree is the solution. Below is the project you've created.

Expand the project by clicking [+]. You should see the default project's structure consisting of References, Properties and MyClass.cs.

Now open the Windows Explorer and go to a folder that you've specified when you created the solution. You should see a subfolder with the name of your project in it with subfolders bin, obj, Properties and MyClass.cs file.

Copy all the source files (*.cs) of the mod into this subfolder (place them where the MyClass.cs is).

Go to SharpDevelop. Select MyClass.cs in the tree on the left and delete it, you don't need it.

Right click on the project in the tree.

Choose "Add" -> Existing item. Than you should see the contents of the folder of your project with source files you've just copied there. Select all (Ctrl-A) and press "Open".

After that you should see all the source files added to the project's tree.

Now we need to add required libraries that are used by the mod. Then right click on References in the project tree and choose "Add reference". In the window choose the third tab ".NET Assembly Browser". Click "Browse". Navigate to KSP folder, \KSP_Data\Managed. Choose the following 4 files (they are enough for the most of mods): Assembly-CSharp.dll, Assembly-CSharp-firstpass.dll, UnityEngine.dll, UnityEngine.UI.dll and click "Open". Click "Ok" in the window. Now you should see the References expanded in the tree and containing those 4 files along with some others.

That's it. Everything we need to do now is compile the sources.

Tada! Press Alt-F8, wait while it builds and...........

You'll see some text in a window called "Output" in the lower part of the screen. It should say something like "Build started." and so on. Read through this. Ignore everything that starts with "Warning". If you see "Build finished successfully" in the end, you may skip a pair of paragraphs of this text.

Look for everything that's in blue and continues with "Error". Read the description of error.

If it says "'<something>' does not implement inherited abstract member...", it may be just the file that the developer have started to implement but not finished. You may try just to remove it. Find the file's name at the end of the blue text starting the line. Find it in the project tree and delete.

Press Alt-F8 again. After it builds you should see a new set of messages. Find an error again. Remember to ignore warnings or you'll mess something up. You should work with errors only. Below I'll describe some possible errors and what to do with them. In most cases you'll need to go to it's source by clicking the blue link starting the line. After that the cursor will be positioned in the source code exactly at the place you need to edit. After correcting an error try building the code again by pressing Alt-F8. You'll get a new set of messages. Proceed over again. You may meet one error several times.

Here go some of the error examples:

'Vessel' does not contain a definition for 'staticPressure' and no extension... - replace "staticPressure" with "staticPressurekPa" (without quotes)

'CelestialBody' does not contain a definition for 'maxAtmosphereAltitude'... - replace "maxAtmosphereAltitude" with "atmosphereDepth"

'CelestialBody' does not contain a definition for 'staticPressureASL'... - replace "staticPressureASL" with "atmospherePressureSeaLevel"

No overload for method 'getAtmDensity' takes 1 arguments... - this error is about the getAtmDensity needs more arguments than provided because the method was changed in a new KSP version. Let's see. The arguments needed are at least pressure and temperature. Most likely there's only pressure. For the temperature you may use "FlightGlobals.ship_temp", for example, or another temperature value if you know such. Of course you should study the context to use the right value but at least this is a some reasonable value.

What exactly to do with it: look at the getAtmDensity(.....) method carefully. You'll see its opening bracket "(". You need to find ITS corresponding closing bracket ")". Insert the following text JUST BEFORE the closing bracket: ", FlightGlobals.ship_temp" without quotes and don't forget the comma. So after that the method call should look like getAtmDensity(<whatever was here before>, FlightGlobals.ship_temp)

If you are sure that you have some coding skills, you may apply this to other methods that need to be corrected. Just start retyping the line that contains an error in a new line and after typing the "(" after method's name the possible parameters required for the method will be displayed. Where to get them? Try to search around in the nearby context: when you hover a mouse over some variable the tooltip telling its type will be displayed.

After you have corrected (the proper words would be "worked around") all errors and if after building by Alt-F8 you see "Build finished successfully" in the output, the work is done and you may test the mod with KSP.

Install the original mod as usually. Then go to its folder and find the dll file similar to that you've recompiled. Replace the original dll with your recompiled version. You can find it in the subfolder "bin\Debug" of the projects folder. If it's hard to find then search by file creation date, it should be equal to the time when you compiled.

After that launch KSP and try, but read the below note first.

!!!NOTE that despite you may be successful at recompiling there's a high chance that the result would appear a piece of crap based on a brilliant work. It may even function as intended but you don't know what bugs you have put into it. It may even corrupt your saves. SO DON'T SHARE THE RECOMPILED FILES WITH ANYONE! First, this may violate the original mod's license. Despite you have edited something it's still not yours. Second, people will have bugs with it (you may be sure, they will) and blame the original mod's developer for them, WHO ISN'T RESPONSIBLE AT ALL. Thus you'll hurt the developer's reputation. SO IF YOU LIKE THE MOD THAT MUCH, PLEASE, RESPECT ITS AUTHOR, HIS RIGHTS AND REPUTATION.

Please don't ask any questions on it here because this thread is not for it.

Should Romfarer complain about this even though it doesn't violate the license, contact me by any means and I'll remove the post.

P.S. hope I'm doing the right thing...

Edited by Ser
Link to comment
Share on other sites

I think, that moderators can notify Romfarer, that players still interested in his mod, so he can change license to less restrictive, because he don't plan to update this mod, or so I heard.

Link to comment
Share on other sites

Thanks, tg626, you saved me from doing it myself. I think you need to find out how to apply b/w filter to your camera with noise and some misterious digits for realistic look :) and no doubt it'll be a popular mod.

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