Jump to content

[1.0.x] MouseCursorChanger 1.2 - Apollo Edition � Add your own custom cursors easily [WIP]


simon56modder

Recommended Posts

MouseCursorChanger is a plugin that allows customizing the game mouse cursor easily.

Thanks to

Dungchunker for his Apollo cursor !

KSP versions compatibility :

Older ? - 1.0 ✆- 1.0.1 ✆- 1.0.2 ✆- 1.0.3 ✆- 1.0.4 âœâ€

Current Features

  • Create your own cursor using PNG format: You can create your own cursor by creating a PNG file and saving it in the game folder
  • Create 4 different cursors and use them
  • Name your cursor: Add a name to your cursor for easy selecting
  • Hotspot system : set the coordinates of your PNG file you want to define as the hotspot of your cursor
  • Set a different cursor on left or right click
  • Choose between your 4 cursors using a window that can be opened ingame by pressing Alt + M
  • Use built-in cursors included in the mod
  • Disable cursor customization to use the default Windows/Mac/Linux cursor.

Planned Features

  • Add more cursors
  • Easiest way for other modders to use MouseCursorChanger in their own plugins

VMn8aKR.jpg


How to create your cursor

First, download the MouseCursorChanger plugin with the link below. Then, open the .zip file and extract the content in your KSP game directory. Make sure you merge folders.

Create your picture

Using a picture editing software like Photoshop or, create your cursor image or download a cursor. Save it where you want in the KSP directory, but ONLY in the KSP directory, not out of it. This is important. It is recommended that your cursor image is not larger than 40 pixels width and height.

Set it as a cursor

Then go back in the KSP Directory, go in this folder : GameData/MouseCursorChanger, and open the configuration.cfg file. Here you'll see code stuff. That's easy to understand, don't worry. So, choose the number you want your new cursor to have, and go to the corresponding CursorX section. In this example, I want to set the second cursor up, so I go to the Cursor2 section.


MOUSECURSORCHANGER
{
Cursor1
{
name =
path =
hotspot
{
x = 0
y = 0
}
}
[SIZE=3][B]Cursor2[/B][/SIZE]
{
name =
path =
hotspot
{
x = 0
y = 0
}
}

MORE STUFF .....
}

Then fill this section. The name value is basically...the name of your cursor. The path value is where your cursor image file is in the KSP directory. The hotspot section contains data about where the real clicking point of your mouse of your cursor is in your file. The most of editing softwares have a coordinates system, that means you can get the position of a pixel in a file. With that, fill x and y coordinates. If your editing software hasn't coordinates system or if you don't understand it, count the amount of pixel from the left edge of the image to the hotspot point : that is the x value, and the y value is the amount of pixels from the top edge of the image to the hotspot point. If you didn't understand anything, set x and y to 0.

[SIZE=4][SIZE=2][SIZE=3]   Cursor2[/SIZE]
{
name = example
path = GameData/example.png
hotspot
{
x = 6
y = 1
}
}
[/SIZE][/SIZE]

Then, you can also add a different cursor on right and left click. To do that, include a new section named 'customOnClick' like this :

[SIZE=4][SIZE=2][SIZE=3][SIZE=2]
[/SIZE]Cursor2[/SIZE]
{
name = example
path = GameData/example.png
hotspot
{
x = 6
y = 1
}
[SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2] customOnClick
{
pathLMB = GameData/exampleLeftClick.png
[SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2] pathRMB = GameData/exampleRightClick.png[/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE]
[/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2] }[/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE]
}[/SIZE][/SIZE]

pathLMB is for left click, pathRMB is for right click.

You can also add specific hotspot for left and right click like this:

[SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=3]Cursor2[/SIZE]
{
name = example
path = GameData/example.png
hotspot
{
x = 6
y = 1
}
[SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2] customOnClick
{
pathLMB = GameData/exampleLeftClick.png
hotspotLMB
{
x = 14
y = 14
}
[SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2] pathRMB = GameData/exampleRightClick.png
[SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2]hotspotRMB[/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2]
{
x = 10
y = 27
}[/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE]
[/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2][SIZE=4][SIZE=2] }[/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE]
}
[/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE]

You can add only one of these hotspotLMB/hotspotRMB sections if needed.

Launch the game and choose the right cursor

The last step is to use this cursor. Launch the game, and press Alt + M. The MouseCursorChanger window will appear. Choose your cursor, and enjoy having your own ! :)


License

GNU LESSER GENERAL PUBLIC LICENSE

Version 3, 29 June 2007

Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies

of this license document, but changing it is not allowed.

This version of the GNU Lesser General Public License incorporates

the terms and conditions of version 3 of the GNU General Public

License, supplemented by the additional permissions listed below.

0. Additional Definitions.

As used herein, "this License" refers to version 3 of the GNU Lesser

General Public License, and the "GNU GPL" refers to version 3 of the GNU

General Public License.

"The Library" refers to a covered work governed by this License,

other than an Application or a Combined Work as defined below.

An "Application" is any work that makes use of an interface provided

by the Library, but which is not otherwise based on the Library.

Defining a subclass of a class defined by the Library is deemed a mode

of using an interface provided by the Library.

A "Combined Work" is a work produced by combining or linking an

Application with the Library. The particular version of the Library

with which the Combined Work was made is also called the "Linked

Version".

The "Minimal Corresponding Source" for a Combined Work means the

Corresponding Source for the Combined Work, excluding any source code

for portions of the Combined Work that, considered in isolation, are

based on the Application, and not on the Linked Version.

The "Corresponding Application Code" for a Combined Work means the

object code and/or source code for the Application, including any data

and utility programs needed for reproducing the Combined Work from the

Application, but excluding the System Libraries of the Combined Work.

1. Exception to Section 3 of the GNU GPL.

You may convey a covered work under sections 3 and 4 of this License

without being bound by section 3 of the GNU GPL.

2. Conveying Modified Versions.

If you modify a copy of the Library, and, in your modifications, a

facility refers to a function or data to be supplied by an Application

that uses the facility (other than as an argument passed when the

facility is invoked), then you may convey a copy of the modified

version:

a) under this License, provided that you make a good faith effort to

ensure that, in the event an Application does not supply the

function or data, the facility still operates, and performs

whatever part of its purpose remains meaningful, or

B) under the GNU GPL, with none of the additional permissions of

this License applicable to that copy.

3. Object Code Incorporating Material from Library Header Files.

The object code form of an Application may incorporate material from

a header file that is part of the Library. You may convey such object

code under terms of your choice, provided that, if the incorporated

material is not limited to numerical parameters, data structure

layouts and accessors, or small macros, inline functions and templates

(ten or fewer lines in length), you do both of the following:

a) Give prominent notice with each copy of the object code that the

Library is used in it and that the Library and its use are

covered by this License.

B) Accompany the object code with a copy of the GNU GPL and this license

document.

4. Combined Works.

You may convey a Combined Work under terms of your choice that,

taken together, effectively do not restrict modification of the

portions of the Library contained in the Combined Work and reverse

engineering for debugging such modifications, if you also do each of

the following:

a) Give prominent notice with each copy of the Combined Work that

the Library is used in it and that the Library and its use are

covered by this License.

B) Accompany the Combined Work with a copy of the GNU GPL and this license

document.

c) For a Combined Work that displays copyright notices during

execution, include the copyright notice for the Library among

these notices, as well as a reference directing the user to the

copies of the GNU GPL and this license document.

d) Do one of the following:

0) Convey the Minimal Corresponding Source under the terms of this

License, and the Corresponding Application Code in a form

suitable for, and under terms that permit, the user to

recombine or relink the Application with a modified version of

the Linked Version to produce a modified Combined Work, in the

manner specified by section 6 of the GNU GPL for conveying

Corresponding Source.

1) Use a suitable shared library mechanism for linking with the

Library. A suitable mechanism is one that (a) uses at run time

a copy of the Library already present on the user's computer

system, and (B) will operate properly with a modified version

of the Library that is interface-compatible with the Linked

Version.

e) Provide Installation Information, but only if you would otherwise

be required to provide such information under section 6 of the

GNU GPL, and only to the extent that such information is

necessary to install and execute a modified version of the

Combined Work produced by recombining or relinking the

Application with a modified version of the Linked Version. (If

you use option 4d0, the Installation Information must accompany

the Minimal Corresponding Source and Corresponding Application

Code. If you use option 4d1, you must provide the Installation

Information in the manner specified by section 6 of the GNU GPL

for conveying Corresponding Source.)

5. Combined Libraries.

You may place library facilities that are a work based on the

Library side by side in a single library together with other library

facilities that are not Applications and are not covered by this

License, and convey such a combined library under terms of your

choice, if you do both of the following:

a) Accompany the combined library with a copy of the same work based

on the Library, uncombined with any other library facilities,

conveyed under the terms of this License.

B) Give prominent notice with the combined library that part of it

is a work based on the Library, and explaining where to find the

accompanying uncombined form of the same work.

6. Revised Versions of the GNU Lesser General Public License.

The Free Software Foundation may publish revised and/or new versions

of the GNU Lesser General Public License from time to time. Such new

versions will be similar in spirit to the present version, but may

differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the

Library as you received it specifies that a certain numbered version

of the GNU Lesser General Public License "or any later version"

applies to it, you have the option of following the terms and

conditions either of that published version or of any later version

published by the Free Software Foundation. If the Library as you

received it does not specify a version number of the GNU Lesser

General Public License, you may choose any version of the GNU Lesser

General Public License ever published by the Free Software Foundation.

If the Library as you received it specifies that a proxy can decide

whether future versions of the GNU Lesser General Public License shall

apply, that proxy's public statement of acceptance of any version is

permanent authorization for you to choose that version for the

Library.


btn_donate_LG.gif you can consider a little donation :)

€EUR - $USD

pay with langfr-50px-PayPal.svg.png


Download from 75px-Curse%2C_Inc_Logo.png

Source code included


Changelog


*Completely modified GUI
*bigger window
*cursor preview on the button instead of its name only
*not-clickable red cross if the cursor is not found
*cursor name below the button
*Added 'Built-in' cursors section
*Added 'Help for cursor creation' button that redirects to the forum thread
*Added advanced options panel
*Different cursor on right and left click now possible
*Added 'Apollo' built-in cursor by Dungchunker
*Added option 'Show settings UI on start'
*Added lots of debug informations

v1.1 - Danny Edition ===
*Added Danny2462's custom cursor
*Slightly modified GUI
*Added seperate config file for built-in cursors

v1.0 ===
* Intial Release
v1.2 ===

Edited by simon56modder
v1.2 - Apollo Edition, + thanks to Dungchunker
Link to comment
Share on other sites

Just put his cursor as one of the built-in ones, he'll be even happier. Also, is he even on the forums?

He has an account, but activity is about nil, so I think I have to answer no to that. Best way is poke him a message on youtube methinks.

Link to comment
Share on other sites

  • 5 months later...
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...