2021-06-28 20:00:52 +00:00
|
|
|
#include <libreborn/libreborn.h>
|
2021-09-12 03:18:12 +00:00
|
|
|
#include <symbols/minecraft.h>
|
2021-06-28 20:00:52 +00:00
|
|
|
|
2022-06-25 21:30:08 +00:00
|
|
|
#include <mods/version/version.h>
|
|
|
|
#include <mods/init/init.h>
|
2021-06-28 20:00:52 +00:00
|
|
|
|
|
|
|
// Get New Version
|
|
|
|
char *version_get() {
|
|
|
|
static char *version = NULL;
|
|
|
|
// Load
|
|
|
|
if (version == NULL) {
|
2022-06-10 01:31:40 +00:00
|
|
|
safe_asprintf(&version, "%s / Reborn v" MCPI_VERSION, *minecraft_pi_version);
|
2021-06-28 20:00:52 +00:00
|
|
|
}
|
|
|
|
// 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 const& version_suffix) {
|
|
|
|
// Set Version
|
|
|
|
return version_get();
|
|
|
|
}
|
|
|
|
|
|
|
|
// Init
|
|
|
|
void init_version() {
|
|
|
|
// Touch GUI
|
|
|
|
overwrite((void *) Common_getGameVersionString, (void *) Common_getGameVersionString_injection);
|
|
|
|
// Normal GUI
|
|
|
|
patch_address((void *) minecraft_pi_version, version_get());
|
2021-11-14 04:29:48 +00:00
|
|
|
|
|
|
|
// Log
|
|
|
|
INFO("Starting Minecraft: Pi Edition (%s)", version_get());
|
2021-06-28 20:00:52 +00:00
|
|
|
}
|