This commit was done specially since it interfaces heavily with Lua.
First it was diffed out in a standard cuberite repo so we can tell what was changed,
and we apply this diff to a basic cuberite repo right before the commit was made.
I then promptly reverted lua changes that would conflict with applying
the patch. I also had to remove whole sections from the patchfile
afterwards but it was made easier having the actual repo with the
patches applied able to remake the diff as needed before i removed the
bigger sections.
Somehow it all worked out.
This new format aligns better with whats in place for this currently. My
IDE wants to auto sort it, mind as well but it needs a clang-format that
matches this. Was having issues for me with the old one.
I used the libpdw one since it works already for me and appears to
replace it nicely.
The code is implimented in this commit and is launchable with the BUILD_CLIENT compile option.
Everything should be launchable by running the one function within
src/nyqubel-client/client.hpp: start_nyqubel_client()
This adds a Macro which simply identifies the function and class name for error messages. Examples taken from the MojangAPI class [Choosen because I worked on that]
processing is done during compile time. Should be cross compatible
- Fixed Login Breaking bug
- Auth and MojangAPI now use UrlClient
- fixed bug in UrlClient where one letter was missing in the HTTP Header
- added function to verify Urls from config files and error handling on bad Urls in config for Auth
Replaced them with fmt::format calls, including changes to the format strings. Also changed the format strings to use FMT_STRING, so that the format is checked compile-time against the arguments.
Also fixed code-style violations already present in the code.
I simply ported a few core commands to C++, it was pretty easy once the
infastructure was setup. Since its already setup for lua, its very easy
to write C++ code that is just as good!
I plan on finishing the Core Commands then/after changing cuberite to
have its compatibility enforcers.
Since I ripped out lua, we still need commands for basic existance
within the cube world. I want to live comfortably so I setup the system
to be easily adaptable and added to to make more commands in the future.