minecraft-pi-reborn/mods/src/version/version.cpp
TheBrokenRail a305cf9e38
All checks were successful
CI / Build (AMD64, Server) (push) Successful in 12m33s
CI / Build (AMD64, Client) (push) Successful in 12m58s
CI / Build (ARM64, Server) (push) Successful in 12m56s
CI / Build (ARM64, Client) (push) Successful in 13m35s
CI / Build (ARMHF, Server) (push) Successful in 8m51s
CI / Build (ARMHF, Client) (push) Successful in 12m9s
CI / Test (Client) (push) Successful in 15m39s
CI / Test (Server) (push) Successful in 13m16s
CI / Release (push) Has been skipped
CI / Build Example Mods (push) Successful in 7m43s
More Changes!
2024-05-04 20:46:15 -04:00

38 lines
989 B
C++

#include <libreborn/libreborn.h>
#include <symbols/minecraft.h>
#include <mods/version/version.h>
#include <mods/init/init.h>
// Get New Version
char *version_get() {
static char *version = nullptr;
// Load
if (version == nullptr) {
safe_asprintf(&version, "%s / Reborn v%s", Strings_minecraft_pi_version, reborn_get_version());
}
// Return
return version;
}
// Free
__attribute__((destructor)) static void _free_version() {
free(version_get());
}
// Injection For Touch GUI Version
static std::string Common_getGameVersionString_injection(__attribute__((unused)) std::string *version_suffix) {
// Set Version
return version_get();
}
// Init
void init_version() {
// Touch GUI
overwrite(Common_getGameVersionString, Common_getGameVersionString_injection);
// Normal GUI
patch_address((void *) Strings_minecraft_pi_version_pointer, version_get());
// Log
INFO("Starting Minecraft: Pi Edition (%s)", version_get());
}