Jump to content

Silly Question...


GrimT

Recommended Posts

So... this may be a silly question but how exactly are the .dll files opened to edit? I've opened them using notepad and I get the wingdings style font for garbled code. Essentially telling me "no no, not for you Sir". I know this will most likely cause some people to say "if you dont even know how to open it, you have no business being in there" which is most likely a very accurate statement, but modders / community members do post the code they use to fix issues on mods that have otherwise gone dead in the water/no longer supported. Sooo after my long-winded pointless rant, any response is appreciated. Thanks all!

Link to comment
Share on other sites

A dll file contains compile code. The human-readable source code is fed to the compiler that produces machine code, stored in the dll along with some metadata.

You can load a dll using some development tools, like MonoDevelop (which is free), but it can only show you the list of public members: you can't (*) retrieve the source code from a dll though, you will need the original source code if you want to edit it.

(*) well... usually, not legally.

Link to comment
Share on other sites

Every mod is required to also post the source code, the actual contents of the .DLL, which is what you can make changes to. You can decompile the .DLLs directly, but that is generally frowned upon and is actually illegal in some cases (pretty sure, definitely against the license of certain mods/against the KSP EULA). So, you should really only be looking at the source code that is publicly available.

Link to comment
Share on other sites

I appreciate the response guys. At this point my initial intent is to apply fixes to my own stuff that other more experienced modders (ie anyone who has opened a dll properly) have provided to mods that have either lost support or are actively being updated but current release with the fix has not been officially provided yet. I would eventually like to move toward being that guy that helps provide those tiny fixes. An end goal, to give a specific example, would be to help provide code for say KerbPaint that adds new parts, interstellar parts, procedural fairings, etc etc, essentially any parts I may use in my game or at the request of others, but I think that may border on some legal stuff in regards to ownership and what not. I suppose if I'm ever comfortable enough, I would eventually try to do a mod of my own but I have no intentions at this point of taking credit for anything more than "Hey, now you can paint this now, whereas before you could not". Anyway, I don't wish to step on toes, just help support the great community we have here.

Edited by GrimT
grammar
Link to comment
Share on other sites

Well, everybody has started somewhere :)

The very first thing you need to do is being comfortable at writing programs in C#. I personally haven't read it, but wikibooks has a book about C#. Let me repeat: this is a *fundamental* part if you intend to touch any plugin.

Once that you are comfortable with C#, you will want to take a close look at this thread: those examples are basically the skeleton of every plugin you see here on the forums (including and *especially* mine, I wouldn't have gone anywhere without Taranis).

At this point, it's time to learn how to work with git and github, since it's where most projects host their source. But you won't have to worry about this step for a while. Happy studying!

Link to comment
Share on other sites

Well, everybody has started somewhere :)

The very first thing you need to do is being comfortable at writing programs in C#. I personally haven't read it, but wikibooks has a book about C#. Let me repeat: this is a *fundamental* part if you intend to touch any plugin.

Once that you are comfortable with C#, you will want to take a close look at this thread: those examples are basically the skeleton of every plugin you see here on the forums (including and *especially* mine, I wouldn't have gone anywhere without Taranis).

At this point, it's time to learn how to work with git and github, since it's where most projects host their source. But you won't have to worry about this step for a while. Happy studying!

I know it will have nothing to do with this thread but... I HAD to share this personal anecdote(somehow related to your post):

It was back in the days I started to learn Python(the first language I ever learned.... and the only one for now :blush:).

First things first, in case you don't know it, you have to use "print(insert what you want to show here)" in python to make something appear on the screen.

(actually, it's not entirely true but when you start using python, that's the only thing you use).

When I was reading the tutorial, each time I was seeing something like "use the print function to show[whatever it was written in the tutorial]" I though: "Great! But I don't want my printer to waster paper for just a few words/numbers! How do I do to make something APEAR ON THE SCREEN!!!?": I was sure that the "print" function would literally print something using my printer.

Edited by goldenpeach
Link to comment
Share on other sites

Eheh :) one of my first GUI programs was a calculator for OGame, in VB. It had over 50 text fields and they were all referenced by name, each of them.

Even before, when I was still beginning with quick basic, I routinely mixed data with code and you had to recompile everything to change the output because I didn't know how to open files. :)

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