Devlog #1: Began writing a program to convert Windows cursors into usable Mac cursors
Here we go. I’ve been quite irritated at the inability to find cursors that run with Mousecape, a program built to change your cursor for mac. Most are built for Windows, which is easier to put in custom cursors with. I believe this has been done by some other people; however they didn’t work… perhaps due to my human error, so I thought it would be a good idea just… to build it myself. End goal is to make a website or app of some sorts to make it really easy.
A lot of research was required to start this one off. I had to do some research into .inf files (these help download .cur & .ani files into Windows systems) and .cape files (which are how Mousecape cursors are stored).
Now, the difference between .cur files and normal .png files is that .cur files store an additional value (a hotspot value, which tells at what exact point the cursor can click? That’s the best explanation I have right now). And to get this value, you need to parse through the binary file of a .cur file to specific bytes. Through those specific bytes (stored as these funny little things called little-endian numbers (?)) we get our x and y value of the hotspot. With this predetermined value set by the author of the cursorpack, I can now place that directly into the .cape value. Less hassle for the user!
With all of that out of the way, let me succinctly write what I have accomplished here:
- Wrote a Python script to get the values of the cursor hotspot from a .cur value, by taking the byte data and converting them into integers.
Now, there was some struggle in getting .ani cursors (animated cursors!) to do the same thing (as you can see), and I haven’t exactly figured out what byte data things I need to do with that. (More research… I suppose :/) My next step tomorrow is to figure that out. Point is, that I got the .cur file to give me what I need. (I am quite aware of the rambling here, it is late and I will edit this log tomorrow.)
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.