1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-11-23 08:54:48 +00:00

fixed the descriptions in the stereo vision config; added some previously untranslated texts

This commit is contained in:
Zeno Rogue
2018-02-13 13:37:20 +01:00
parent f436a2bc53
commit e77a126c81
4 changed files with 113 additions and 42 deletions

View File

@@ -851,7 +851,7 @@ void showBasicConfig() {
dialog::addBoolItem(XLAT("quick mouse"), vid.quickmouse, 'M');
#endif
dialog::addBoolItem(XLAT("remove faraway cells from memory"), memory_saving_mode, 'y');
dialog::addBoolItem(XLAT("forget faraway cells"), memory_saving_mode, 'y');
if(CAP_SHMUP && !ISMOBILE)
dialog::addSelItem(XLAT("configure keys/joysticks"), "", 'p');
@@ -1058,15 +1058,15 @@ string explain3D(ld *param) {
}
void showStereo() {
cmode = sm::SIDE | sm::A3 | sm::MAYDARK;
cmode = sm::SIDE | sm::MAYDARK;
gamescreen(0);
using namespace geom3;
dialog::init(XLAT("stereo vision config"));
string modenames[4] = { "OFF", "anaglyph", "stereo", "ODS" };
string modenames[4] = { "OFF", "anaglyph", "side-by-side", "ODS" };
dialog::addSelItem(XLAT("stereo mode"), XLAT(modenames[stereo::mode]), 'm');
dialog::addSelItem(XLAT("interpupilar distance"), fts3(stereo::ipd), 'e');
dialog::addSelItem(XLAT("pupillary distance"), fts3(stereo::ipd), 'e');
switch(stereo::mode) {
case stereo::sAnaglyph:
@@ -1082,36 +1082,49 @@ void showStereo() {
dialog::addSelItem(XLAT("field of view"), fts(stereo::fov) + "°", 'f');
dialog::addItem(XLAT("exit stereo configuration"), 'v');
dialog::addItem(XLAT("back"), 'v');
dialog::display();
keyhandler = [] (int sym, int uni) {
using namespace geom3;
dialog::handleNavigation(sym, uni);
string help3 = XLAT(
"This allows you to view the world of HyperRogue in three dimensions. "
"Best used with the Hypersian Rug mode. When used in the disk model, "
"this lets you look at the Minkowski hyperboloid (which means the "
"depth of terrain features is actually reversed). It also works with non-disk models, "
"from the conformal menu."
) + " " + XLAT(
"Currently, red-cyan anaglyph glasses and mobile VR googles are supported."
) + "\n\n";
if(uni == 'm')
{ stereo::mode = stereo::eStereo((1 + stereo::mode) % 3); return; }
else if(uni == 'e')
dialog::editNumber(stereo::ipd, -10, 10, 0.01, 0, XLAT("interpupilar distance"),
XLAT("Watch the Minkowski hyperboloid or the hypersian rug mode with the "
"red/cyan 3D glasses."));
dialog::editNumber(stereo::ipd, -10, 10, 0.01, 0, XLAT("pupillary distance"),
help3 +
XLAT("The distance between your eyes in the represented 3D object. This is given in absolute units.")
);
else if(uni == 'd' && stereo::mode == stereo::sAnaglyph)
dialog::editNumber(stereo::anaglyph_eyewidth, -1, 1, 0.01, 0, XLAT("distance between images"),
XLAT("Watch the Minkowski hyperboloid or the hypersian rug mode with the "
"red/cyan 3D glasses."));
help3 +
XLAT("The distance between your eyes. 1 is the width of the screen."));
else if(uni == 'd' && stereo::mode == stereo::sLR)
dialog::editNumber(stereo::lr_eyewidth, -1, 1, 0.01, 0, XLAT("distance between images"),
XLAT("Watch the Minkowski hyperboloid or the hypersian rug mode with the "
"red/cyan 3D glasses."));
help3 +
XLAT("The distance between your eyes. 1 is the width of the screen."));
else if(uni == 'f')
dialog::editNumber(stereo::fov, 1, 170, 1, 45, "field of view",
"Horizontal field of view, in the perspective projection. "
"In the orthogonal projection this just controls the scale."
);
help3 + XLAT(
"Horizontal field of view, in angles. "
"This affects the Hypersian Rug mode (even when stereo is OFF) "
"and non-disk models.")
);
else if(doexiton(sym, uni)) popScreen();
};