Language fixes

This commit is contained in:
Bigjango13 2024-06-30 00:27:10 +00:00
parent 7718fe5b12
commit 61a4b203b5

View File

@ -744,6 +744,52 @@ static std::string AppPlatform_linux_getDateString_injection(__attribute__((unus
template <typename... Args> template <typename... Args>
static void nop(__attribute__((unused)) Args... args) { static void nop(__attribute__((unused)) Args... args) {
} }
static GLfloat color[4] = {1.f, 0.f, 0.f, 1.f};
HOOK(glFogfv, void, (GLenum pname, const GLfloat *params)) {
if (pname == GL_FOG_COLOR) {
params = color;
}
ensure_glFogfv();
real_glFogfv(pname, params);
}
HOOK(glClearColor, void, (__attribute__((unused)) GLfloat red, __attribute__((unused)) GLfloat green, __attribute__((unused)) GLfloat blue, __attribute__((unused)) GLfloat alpha)) {
ensure_glClearColor();
real_glClearColor(color[0], color[1], color[2], color[3]);
}
static void Language_injection() {
// Fix language strings
I18n::_strings.insert(std::make_pair("tile.waterStill.name", "Still Water"));
I18n::_strings.insert(std::make_pair("tile.lavaStill.name", "Still Lava"));
I18n::_strings.insert(std::make_pair("tile.grassCarried.name", "Carried Grass"));
I18n::_strings.insert(std::make_pair("tile.leavesCarried.name", "Carried Leaves"));
I18n::_strings.insert(std::make_pair("tile.invBedrock.name", "Invisible Bedrock"));
// Missing language strings
I18n::_strings.insert(std::make_pair("item.camera.name", "Camera"));
I18n::_strings.insert(std::make_pair("item.seedsMelon.name", "Melon Seeds"));
I18n::_strings.insert(std::make_pair("tile.pumpkinStem.name", "Pumpkin Stem"));
I18n::_strings.insert(std::make_pair("tile.stoneSlab.name", "Double Stone Slab"));
}
Tile *Tile_init_invBedrock_injection(Tile *t) {
Tile *ret = Tile_init(t);
// Fix invisible bedrock's name
std::string invBedrock = "invBedrock";
t->vtable->setDescriptionId(t, &invBedrock);
return ret;
}
void copy_with_still(std::string *into, char *from) {
*into = from;
*into += "Still";
}
void copy_with_carried(std::string *into, char *from) {
*into = std::string(from);
*into += "Carried";
}
void init_misc() { void init_misc() {
// Remove Invalid Item Background (A Red Background That Appears For Items That Are Not Included In The gui_blocks Atlas) // Remove Invalid Item Background (A Red Background That Appears For Items That Are Not Included In The gui_blocks Atlas)
if (feature_has("Remove Invalid Item Background", server_disabled)) { if (feature_has("Remove Invalid Item Background", server_disabled)) {
@ -993,4 +1039,15 @@ void init_misc() {
overwrite_calls(Gui_onConfigChanged, nop<Gui_onConfigChanged_t, Gui *, Config *>); overwrite_calls(Gui_onConfigChanged, nop<Gui_onConfigChanged_t, Gui *, Config *>);
overwrite_calls(LevelRenderer_generateSky, nop<LevelRenderer_generateSky_t, LevelRenderer *>); overwrite_calls(LevelRenderer_generateSky, nop<LevelRenderer_generateSky_t, LevelRenderer *>);
} }
// Fix/update lang strings
misc_run_on_language_setup(Language_injection);
// Water/lava flowing lang
overwrite_call((void *) 0xc3b54, (void *) copy_with_still);
overwrite_call((void *) 0xc3c7c, (void *) copy_with_still);
// Carried tile lang
patch_address((void *) 0xc6674, (void *) "grassCarried");
patch_address((void *) 0xc6684, (void *) "leavesCarried");
// InvBedrock lang
overwrite_call((void *) 0xc5f04, (void *) Tile_init_invBedrock_injection);
} }