diff --git a/config.cpp b/config.cpp index 1e9dcbd3..d2f89997 100644 --- a/config.cpp +++ b/config.cpp @@ -860,7 +860,7 @@ EX void initConfig() { addsaver(vid.desaturate, "desaturate", 0); param_enum(vid.stereo_mode, "stereo_mode", "stereo-mode", vid.stereo_mode) - ->editable({{"OFF", "no"}, {"anaglyph", ""}, {"side-by-side", ""} + ->editable({{"OFF", ""}, {"anaglyph", ""}, {"side-by-side", ""} #if CAP_ODS , {"ODS", ""} #endif @@ -1333,8 +1333,8 @@ EX void edit_sightrange() { dialog::editNumber(sightranges[geometry], 0, 2 * M_PI, 0.5, M_PI, XLAT("3D sight range"), XLAT( "Sight range for 3D geometries is specified in the absolute units. This value also affects the fog effect.\n\n" - "In spherical geometries, the sight range of 2? will let you see things behind you as if they were in front of you, " - "and the sight range of ? (or more) will let you see things on the antipodal point just as if they were close to you.\n\n" + "In spherical geometries, the sight range of 2π will let you see things behind you as if they were in front of you, " + "and the sight range of π (or more) will let you see things on the antipodal point just as if they were close to you.\n\n" "In hyperbolic geometries, the number of cells to render depends exponentially on the sight range. More cells to drawn " "reduces the performance.\n\n" "Sight range affects the gameplay, and monsters act iff they are visible. Monster generation takes this into account." @@ -1907,16 +1907,20 @@ EX void add_edit_fov(char key IS('f'), bool pop IS(false)) { ); dialog::bound_low(1e-8); dialog::bound_up(max_fov_angle() - 0.01); - dialog::extra_options = [] { + string quick = + XLAT( + "HyperRogue uses " + "a quick implementation, so parameter values too close to 1 may " + "be buggy (outside of raycasting); try e.g. 0.9 instead." + ); + dialog::extra_options = [quick] { dialog::addSelItem(XLAT("Panini projection"), fts(panini_alpha), 'P'); - dialog::add_action([] { + dialog::add_action([quick] { popScreen(); dialog::editNumber(panini_alpha, 0, 1, 0.1, 0, "Panini parameter", XLAT( "The Panini projection is an alternative perspective projection " - "which allows very wide field-of-view values. HyperRogue uses " - "a quick implementation, so parameter values too close to 1 may " - "be buggy (outside of raycasting); try e.g. 0.9 instead.") + "which allows very wide field-of-view values.\n\n") + quick ); #if CAP_GL dialog::reaction = reset_all_shaders; @@ -1926,14 +1930,12 @@ EX void add_edit_fov(char key IS('f'), bool pop IS(false)) { }; }); dialog::addSelItem(XLAT("spherical perspective projection"), fts(stereo_alpha), 'S'); - dialog::add_action([] { + dialog::add_action([quick] { popScreen(); dialog::editNumber(stereo_alpha, 0, 1, 0.1, 0, "spherical perspective parameter", XLAT( "Set to 1 to get stereographic projection, " - "which allows very wide field-of-view values. HyperRogue uses " - "a quick implementation, so parameter values too close to 1 may " - "be buggy (outside of raycasting); try e.g. 0.9 instead.") + "which allows very wide field-of-view values.\n\n") + quick ); #if CAP_GL dialog::reaction = reset_all_shaders; @@ -2112,7 +2114,7 @@ EX void show3D() { dialog::add_action(projectionDialog); } else if(!in_perspective()) - dialog::addSelItem(XLAT("Projection distance"), fts(pconf.alpha), 'p'); + dialog::addSelItem(XLAT("projection distance"), fts(pconf.alpha), 'p'); dialog::addBreak(50); add_edit(vid.wall_height); @@ -2783,7 +2785,7 @@ template void add_edit(T& val) { EX void find_setting() { gamescreen(1); - dialog::init(XLAT("find setting")); + dialog::init(XLAT("find a setting")); if(dialog::infix != "") mouseovers = dialog::infix; vector found; diff --git a/crystal.cpp b/crystal.cpp index b74cb466..d8c80a32 100644 --- a/crystal.cpp +++ b/crystal.cpp @@ -1429,7 +1429,7 @@ EX string compass_help() { string make_help() { return XLAT( - "This geometry essentially lets you play in a d-dimensional grid. Pick three " + "This space essentially lets you play in a d-dimensional grid. Pick three " "dimensions and '3D display' to see how it works -- we are essentially playing on a periodic surface in " "three dimensions, made of hexagons; each hexagon connects to six other hexagons, in each of the 6 " "possible directions. Normally, the game visualizes this from the point of view of a creature living inside " @@ -1439,7 +1439,7 @@ string make_help() { "the d-dimensional grid is a quotient of the hyperbolic plane). The same construction works in other dimensions. " "Half dimensions are interpreted in the following way: the extra dimension only has two 'levels', for example 2.5D " "has a top plane and a bottom plane.\n\n" - "You may also bitruncate this geometry -- which makes it work better with the rules of HyperRogue, but a bit harder to understand." + "You may also bitruncate this tessellation -- which makes it work better with the rules of HyperRogue, but a bit harder to understand." ); } diff --git a/menus.cpp b/menus.cpp index 8f628f66..0a9c9168 100644 --- a/menus.cpp +++ b/menus.cpp @@ -541,7 +541,7 @@ EX void mode_higlights() { gamescreen(3); dialog::init(XLAT("highlights & achievements")); - dialog::addBigItem(XLAT("Space Rocks"), 'r'); + dialog::addBigItem(XLATN("Space Rocks"), 'r'); dialog::add_action(dialog::add_confirmation([] { popScreenAll(); stop_game(); @@ -1130,7 +1130,7 @@ EX named_functionality get_o_key() { res.push_back(named_functionality(XLAT("experiment with geometry"), runGeometryExperiments)); if(tactic::on) - res.push_back(named_dialog(XLAT("Pure Tactics mode"), tactic::showMenu)); + res.push_back(named_dialog(XLAT("pure tactics mode"), tactic::showMenu)); if(yendor::on) res.push_back(named_dialog(XLAT("Yendor Challenge"), yendor::showMenu)); diff --git a/models.cpp b/models.cpp index 4adc4af0..9eb957fc 100644 --- a/models.cpp +++ b/models.cpp @@ -707,7 +707,7 @@ EX namespace models { dialog::addItem(XLAT("Gans model") + " " + XLAT("(zoomed out)"), '4'); dialog::add_action([] { if(rug::rugged) rug::close(); pconf.alpha = 999; pconf.scale = 499; pconf.xposition = pconf.yposition = 0; popScreen(); }); #if CAP_RUG - dialog::addItem(XLAT("Hypersian rug"), 'u'); + dialog::addItem(XLAT("Hypersian Rug"), 'u'); dialog::add_action([] { if(rug::rugged) pushScreen(rug::show); else { @@ -998,7 +998,7 @@ EX namespace models { param_f(p.aitoff_parameter, sp+"aitoff") -> editable(-1, 1, .1, "Aitoff parameter", - "The Aitoff projection is obtained by multiplying the longitude by 1/2, using azimuthal equidistant projection, and then multiplying X by 1/2. " + "The Aitoff projection is obtained by multiplying the longitude by 1/2, using azimuthal equidistant projection, and then dividing X by 1/2. " "Hammer projection is similar but equi-area projection is used instead. " "Here you can change this parameter.", 'b'); param_f(p.miller_parameter, sp+"miller"); diff --git a/raycaster.cpp b/raycaster.cpp index 17076e70..83b07f25 100644 --- a/raycaster.cpp +++ b/raycaster.cpp @@ -2148,7 +2148,7 @@ EX void configure() { }); } - dialog::addBoolItem(XLAT("volumetric raytracing"), volumetric::on, 'v'); + dialog::addBoolItem(XLAT("volumetric raycasting"), volumetric::on, 'v'); dialog::add_action_push(volumetric::menu); dialog::addSelItem(XLAT("iterations"), its(max_iter_current()), 's'); diff --git a/rug.cpp b/rug.cpp index ad10560d..80c99683 100644 --- a/rug.cpp +++ b/rug.cpp @@ -1737,7 +1737,7 @@ EX void select() { EX void rug_save(string fname) { fhstream f(fname, "wb"); if(!f.f) { - addMessage(XLAT("Failed to save rug to %1", fname)); + addMessage(XLAT("Failed to save embedding to %1", fname)); return; } f.write(f.vernum); @@ -1778,7 +1778,7 @@ EX void rug_load(string fname) { clear_model(); fhstream f(fname, "rb"); if(!f.f) { - addMessage(XLAT("Failed to load rug from %1", fname)); + addMessage(XLAT("Failed to load embedding from %1", fname)); return; } f.read(f.vernum);