Crafting compass

Featured Post

I can't resist. AllinOne beta test.

Not doing a long in-depth write up for this, you guys know how to make my programs work by now. https://mega.nz/file/vKYTxADS#pnrDHaW_V9U9Sj...

Thursday, June 11, 2026

My Coding Journey

As a young boy I was always interested in computers, the idea of code even though I had no idea what it really meant, video games, the ability to read/write video games data with a .exe always intrigued me

Lets go back to 10th grade sophomore year in high school 2008.
I took a webpage design class, prior to this I had a small amount of html knowledge from myspace; at this point I had some experience with downloading old or broken ffxi programs like exiled, iocaine, MrArgus, MtWildRabbit, Clipper, and several others programs that I can't remember the names to because it's been 18+ years.
Really the only fixing I ever did was updating older fface.dll files with the newer version and think to myself "wow, I did it, I fixed the program!" or maybe a missing .xml in the folder. Really even learning I needed to extract all the files from the .rar
but as far as the class go we had some projects in Dreamweaver(to build the websites) Flash(to make assets) and probably a few I was missing
in 2008 I was a complete noob but I was trying

1 year later - 2009
Now I am in a computer application class and we are working on Adobe Flash my project is taking a lowrider car and giving it movement via left and right arrows, up arrow works the hydraulics, and some other functions like l would turn the headlights on. This was only possible by editing the code for the project. Which got me thinking, I am coding, I'm not using a code I build from the ground up, I'm editing a code flash made for me but this is so close I think I can do it
I go home and start researching programming languages. I find some graphs that show things like difficult to learn, which languages will be easier to learn after you learn, a rating on how usable the code would really be for build applications.
I decided on python and today I couldn't be happier with the choice all along the journey I think I made the right choice
Python was the language to start learning languages off of.
I write a horoscope sign cmd prompt script  you type in your birthday in almost in format, the script tells you your sign and pros or cons or history about your sign but not a daily read just things that are so to speak "set in stone" I knew I would have too tough of a time making something that updated daily
But a horoscope sign facts/identification it was.


2010-2012ish
relatively slow on coding. I wanted to learn more and write more my biggest goal was finally learning to make gui and have the gui interact with pol.exe

2012 or 2013(can't remember exactly)
My horoscope program was simple just a sequence of if then if this is input then show this message
I had been heavily crafting and every time before I crafted I would look up a crafting compass picture on google look for the one picture I liked to use then change my direction based on the picture
which got me thinking, I can just edit my horoscope sign script and create a crafting compass.py
that worked on great. So now instead of searching the picture on google I could now run my .py type the crystal and viola
Uploaded the script to upbe4t.com using a service I found online to embed .py scripts named trinket and history was made

2013
Upbe4t.com launches
Had a previous blog to keep progress of my relic weapon journey but Upbe4t.com replaced that and was the new main hub for everything I created.

2014-2023
VERY slow progress and the biggest advancement was now the average pc user had access to AI like Gemini
basically nothing got made in 10 years-
a few more .py scripts like activity suggestion app, and a escutcheon .txt script. Still no applications

2024
I finally create my first GUI in vs code thanks to Gemini and what this does is bring ffxi to the front then type in game a command like /dig or /fish - just simple commands
major breakthrough to finally be able to interact with the ffxi window
but that wasn't enough I wanted to read/write not just bring to front and typewrite commands

2025
C# was still out of reach but by this point I had been working with Python off and on for 16 years. So I took all the information about eliteapi.dll from elite mmo network, found the API docs wiki. And with complete uncertainty I set out to make the C# api dll work with python
The first hurdle was just finding out if python could run functions from eliteapi.dll so I asked gemini and it led my to ctypes
the next hurdle was taking what the wiki showed for a function and make that work.
I started out with GetRawVanaTime I think which looks like this:
ELITEAPI_API unsigned long __stdcall GetRawVanaTime(void* apiObject);
that meant literally nothing to me but I knew it was telling me everything I needed to know
I kept trying that function and a few other functions like:
ELITEAPI_API int __stdcall GetPlayerServerId(void* apiObject);
VanaTime was a little complicated because it was the raw data of the time
Server ID was a little more simple because since it would just return a 2 digit string

After about 3 to 4 months of working with gemini night after night from about 10pm to 5am and create test.py after test.py I was finally able to make a function run

Point to the path of the api.dll
Set up the functions with stdcall and int or whatever they needed
Initialize the ffxi process
find the ffxi character index
run the function
read the results in vs code terminal

super simple now that i've worked with it for a couple years but man getting all that to work the first time was like evolving
then it was taking the gui barebones I had built and connecting that with the working code to call a function
once that was complete and I had a gui I could press a button and see the result I was off to the races
I could finally read/write to ffxi with an external program a .exe with a gui  something I had wanted for nearly 2 decades at this point

I write a few simple programs then I go all out and write crafter/all in one my first big project
3,500 lines of code later.. it is impossible to edit or fix in any way. It works, but trying to upgrade the code is impossible. You can't past a 3,500 line code in gemini it crashes the tab. you can try to copy and paste the section you want to edit, but odds are that'll break other sections of the code.
It really was sad when I had to quit making changes.
right before the .py was too big to edit I implemented product keys and I did all the backend work to make product keys purchase only. That was fun learning that. But right before I made that change I had it dawn on me, any program that uses elitemmo network's eliteapi.dll has to be free, it cannot be gated behind a paywall so I had to remove the gate which was fine I doubted anyone would pay for my program and I had always released everything I wrote prior for free so it was perfectly fine

2026-
Really hit a dead-end in ideas for .py, was seeing all the short comings of .py and decided to finally try my best at learning C#
I wrote a mob timer in .py that could watch for a spawn, a death, then set a timer connected to an alarm when respawn was ready then I had gemini convert the .py to a c#
still no idea how c# really works
very complicated to begin with
wrote a chatsender just a simple window with an input to send messages to the pol process

Then it was time to do a deep dive
started my c# all in one
made all the windows their own .cs file so it'll never be too big or too spaghetti
working with gemini the entire time
now the all in one has all the barebones needed
the future of the program is just implementing better cleaner code to accomplish said task
get the lines as low as possible while maintaining integrity


Nearly a 20 year journey and I can finally write c# ffxi .exe programs
All self taught if you can even call it that while using gemini
so much respect for the programmer that came before me, being self taught before AI is such a flex

Well just a quick write up of my journey, I'll probably turn this post into a page later on.

thank you for reading
-upbeat

No comments:

Post a Comment