mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-27 14:37:16 +00:00
fixed the descriptions in the stereo vision config; added some previously untranslated texts
This commit is contained in:
parent
f436a2bc53
commit
e77a126c81
43
config.cpp
43
config.cpp
@ -851,7 +851,7 @@ void showBasicConfig() {
|
|||||||
dialog::addBoolItem(XLAT("quick mouse"), vid.quickmouse, 'M');
|
dialog::addBoolItem(XLAT("quick mouse"), vid.quickmouse, 'M');
|
||||||
#endif
|
#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)
|
if(CAP_SHMUP && !ISMOBILE)
|
||||||
dialog::addSelItem(XLAT("configure keys/joysticks"), "", 'p');
|
dialog::addSelItem(XLAT("configure keys/joysticks"), "", 'p');
|
||||||
@ -1058,15 +1058,15 @@ string explain3D(ld *param) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void showStereo() {
|
void showStereo() {
|
||||||
cmode = sm::SIDE | sm::A3 | sm::MAYDARK;
|
cmode = sm::SIDE | sm::MAYDARK;
|
||||||
gamescreen(0);
|
gamescreen(0);
|
||||||
using namespace geom3;
|
using namespace geom3;
|
||||||
dialog::init(XLAT("stereo vision config"));
|
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("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) {
|
switch(stereo::mode) {
|
||||||
case stereo::sAnaglyph:
|
case stereo::sAnaglyph:
|
||||||
@ -1082,36 +1082,49 @@ void showStereo() {
|
|||||||
|
|
||||||
dialog::addSelItem(XLAT("field of view"), fts(stereo::fov) + "°", 'f');
|
dialog::addSelItem(XLAT("field of view"), fts(stereo::fov) + "°", 'f');
|
||||||
|
|
||||||
dialog::addItem(XLAT("exit stereo configuration"), 'v');
|
dialog::addItem(XLAT("back"), 'v');
|
||||||
dialog::display();
|
dialog::display();
|
||||||
|
|
||||||
keyhandler = [] (int sym, int uni) {
|
keyhandler = [] (int sym, int uni) {
|
||||||
using namespace geom3;
|
using namespace geom3;
|
||||||
dialog::handleNavigation(sym, uni);
|
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')
|
if(uni == 'm')
|
||||||
{ stereo::mode = stereo::eStereo((1 + stereo::mode) % 3); return; }
|
{ stereo::mode = stereo::eStereo((1 + stereo::mode) % 3); return; }
|
||||||
|
|
||||||
else if(uni == 'e')
|
else if(uni == 'e')
|
||||||
dialog::editNumber(stereo::ipd, -10, 10, 0.01, 0, XLAT("interpupilar distance"),
|
dialog::editNumber(stereo::ipd, -10, 10, 0.01, 0, XLAT("pupillary distance"),
|
||||||
XLAT("Watch the Minkowski hyperboloid or the hypersian rug mode with the "
|
help3 +
|
||||||
"red/cyan 3D glasses."));
|
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)
|
else if(uni == 'd' && stereo::mode == stereo::sAnaglyph)
|
||||||
dialog::editNumber(stereo::anaglyph_eyewidth, -1, 1, 0.01, 0, XLAT("distance between images"),
|
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 "
|
help3 +
|
||||||
"red/cyan 3D glasses."));
|
XLAT("The distance between your eyes. 1 is the width of the screen."));
|
||||||
|
|
||||||
else if(uni == 'd' && stereo::mode == stereo::sLR)
|
else if(uni == 'd' && stereo::mode == stereo::sLR)
|
||||||
dialog::editNumber(stereo::lr_eyewidth, -1, 1, 0.01, 0, XLAT("distance between images"),
|
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 "
|
help3 +
|
||||||
"red/cyan 3D glasses."));
|
XLAT("The distance between your eyes. 1 is the width of the screen."));
|
||||||
|
|
||||||
else if(uni == 'f')
|
else if(uni == 'f')
|
||||||
dialog::editNumber(stereo::fov, 1, 170, 1, 45, "field of view",
|
dialog::editNumber(stereo::fov, 1, 170, 1, 45, "field of view",
|
||||||
"Horizontal field of view, in the perspective projection. "
|
help3 + XLAT(
|
||||||
"In the orthogonal projection this just controls the scale."
|
"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();
|
else if(doexiton(sym, uni)) popScreen();
|
||||||
};
|
};
|
||||||
|
@ -673,12 +673,12 @@ namespace dialog {
|
|||||||
addSlider(ne.scale(ne.vmin), ne.scale(*ne.editwhat), ne.scale(ne.vmax), 500);
|
addSlider(ne.scale(ne.vmin), ne.scale(*ne.editwhat), ne.scale(ne.vmax), 500);
|
||||||
addBreak(100);
|
addBreak(100);
|
||||||
#if ISMOBILE==0
|
#if ISMOBILE==0
|
||||||
addHelp("You can scroll with arrow keys -- Ctrl to fine-tune");
|
addHelp(XLAT("You can scroll with arrow keys -- Ctrl to fine-tune"));
|
||||||
addBreak(100);
|
addBreak(100);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
addItem("return", ' ');
|
addItem(XLAT("return"), ' ');
|
||||||
addSelItem("default value", disp(ne.dft), SDLK_HOME);
|
addSelItem(XLAT("default value"), disp(ne.dft), SDLK_HOME);
|
||||||
|
|
||||||
addBreak(100);
|
addBreak(100);
|
||||||
|
|
||||||
|
@ -6649,14 +6649,78 @@ S("level to save:", "mapa do zapisu:")
|
|||||||
S("pics to load:", "obrazki do wczytania:")
|
S("pics to load:", "obrazki do wczytania:")
|
||||||
S("level to load:", "mapa do wczytania:")
|
S("level to load:", "mapa do wczytania:")
|
||||||
|
|
||||||
S("remove faraway cells from memory", "usuwaj odległe pola z pamięci")
|
// new option
|
||||||
|
S("forget faraway cells", "zapominaj odległe pola")
|
||||||
N("Lost Memory", GEN_F, "Utracona Pamięć", "Utracone Pamięci", "Utraconą Pamięć", "w Utraconej Pamięci")
|
N("Lost Memory", GEN_F, "Utracona Pamięć", "Utracone Pamięci", "Utraconą Pamięć", "w Utraconej Pamięci")
|
||||||
S( "Because of the properties of hyperbolic geometry, it is extremely unlikely to randomly "
|
S( "Because of the properties of hyperbolic geometry, it is extremely unlikely to randomly "
|
||||||
"get back to a faraway place you have been to. However, you have managed to get there "
|
"get back to a faraway place you have been to. However, you have managed to get there "
|
||||||
"somehow. In the meantime, its memory has been cleared, since the 'remove faraway cells from the memory'"
|
"somehow. In the meantime, its memory has been cleared, since the 'forget faraway cells'"
|
||||||
" option was on.",
|
" option was on.",
|
||||||
|
|
||||||
"Ze względu na właściwości geometrii hiperbolicznej praktycznie niemożliwe jest, by "
|
"Ze względu na właściwości geometrii hiperbolicznej praktycznie niemożliwe jest, by "
|
||||||
"przypadkowo wrócić do odległego miejsca, w którym się było wcześniej. Ale jakoś Ci się to udało... "
|
"przypadkowo wrócić do odległego miejsca, w którym się było wcześniej. Ale jakoś Ci się to udało... "
|
||||||
"W międzyczasie pamięć została wyczyczona, ze względu na włączoną opcję 'usuwaj odległe pola z pamięci'.'"
|
"W międzyczasie pamięć została wyczyczona, ze względu na włączoną opcję 'zapominaj odległe pola'.'"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// shmup
|
||||||
|
N("Blueball", GEN_F, "Niebieska kula", "Niebieske kule", "Niebieską kulę", "Niebieską kulą")
|
||||||
|
S("A powerful missile from a Blue Raider.", "Potężny pocisk Niebieskiego Jeźdźca.")
|
||||||
|
|
||||||
|
// missing
|
||||||
|
S(" fps: ", " fps: ")
|
||||||
|
S("default value", "domyślna wartość")
|
||||||
|
S("You can scroll with arrow keys -- Ctrl to fine-tune", "Przewijaj strzałkami -- Ctrl by dostroić")
|
||||||
|
S("font scale", "rozmiar czcionki")
|
||||||
|
S("background particle effects", "cząsteczki w tle")
|
||||||
|
|
||||||
|
// not yet translated for Hypersian Rug mode
|
||||||
|
S("orthogonal", "ortogonalny")
|
||||||
|
S("perspective", "perspektywa")
|
||||||
|
S("model scale factor", "współczynnik skali modelu")
|
||||||
|
|
||||||
|
// stereo vision config
|
||||||
|
S("stereo vision config", "konfiguracja trybu stereo")
|
||||||
|
|
||||||
|
S("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.",
|
||||||
|
"Ten tryb pozwala oglądać świat HyperRogue w trzech wymiarach. "
|
||||||
|
"Najlepiej używać w trybie Hiperskiego Dywanu. Używane w modelu dysku "
|
||||||
|
"pozwala patrzeć na hiperboloidę Minkowskiego (co oznacza, że głębokość "
|
||||||
|
"terenu jest odwrócona). Działa też w innych modelach niż dysk, z trybu "
|
||||||
|
"konforemnego."
|
||||||
|
)
|
||||||
|
|
||||||
|
S("Currently, red-cyan anaglyph glasses and mobile VR googles are supported.",
|
||||||
|
"Obecnie działa z czerwono-turkusowymi okularami i goglami VR do telefonów.")
|
||||||
|
|
||||||
|
S("stereo mode", "tryb stereo")
|
||||||
|
S("anaglyph", "anaglif")
|
||||||
|
S("side-by-side", "stereopara")
|
||||||
|
|
||||||
|
S("pupillary distance", "odległość źrenic")
|
||||||
|
S("The distance between your eyes in the represented 3D object. This is given in absolute units.",
|
||||||
|
"Odległość między oczami w reprezentowanym obiekcie 3D. Podana w jednostkach absolutnych.")
|
||||||
|
|
||||||
|
S("distance between images", "odległość między obrazami")
|
||||||
|
S("The distance between your eyes. 1 is the width of the screen.",
|
||||||
|
"Odległość między oczami. 1 to szerokość ekranu.")
|
||||||
|
|
||||||
|
// field of view
|
||||||
|
S("Horizontal field of view, in angles. "
|
||||||
|
"This affects the Hypersian Rug mode (even when stereo is OFF) "
|
||||||
|
"and non-disk models.",
|
||||||
|
"Szerokość pola widzenia, w stopniach. "
|
||||||
|
"Ma wpływ na tryb Hiperskiego Dywanu (nawet gdy stereo jest wyłączone) "
|
||||||
|
"i modele inne niż dysk.")
|
||||||
|
|
||||||
|
// more magic configuration
|
||||||
|
S("affect model central point", "punkt centralny")
|
||||||
|
S("affect texture position X", "położenie tekstury X")
|
||||||
|
S("affect texture position Y", "położenie tekstury Y")
|
||||||
|
|
||||||
|
S("select master cells", "wybierz główne pola")
|
||||||
|
S("select master triangles", "wybierz główne trójkąty")
|
||||||
|
S("fine tune vertices", "dostrajanie wierzchołków")
|
||||||
|
36
rug.cpp
36
rug.cpp
@ -1576,36 +1576,30 @@ void show() {
|
|||||||
if(rug::rugged) rug::close();
|
if(rug::rugged) rug::close();
|
||||||
else rug::init();
|
else rug::init();
|
||||||
}
|
}
|
||||||
#if CAP_ODS
|
|
||||||
else if(uni == 'I')
|
|
||||||
dialog::editNumber(ipd, 0, 1, .002, .05, "interpupilar distance",
|
|
||||||
"Used in the ODS projection."
|
|
||||||
);
|
|
||||||
#endif
|
|
||||||
else if(uni == 'R')
|
else if(uni == 'R')
|
||||||
dialog::editNumber(finger_range, 0, 1, .01, .1, "finger range",
|
dialog::editNumber(finger_range, 0, 1, .01, .1, XLAT("finger range"),
|
||||||
"Press 1 to enable the finger mode."
|
XLAT("Press 1 to enable the finger mode.")
|
||||||
);
|
);
|
||||||
else if(uni == 'F')
|
else if(uni == 'F')
|
||||||
dialog::editNumber(finger_force, 0, 1, .01, .1, "finger force",
|
dialog::editNumber(finger_force, 0, 1, .01, .1, XLAT("finger force"),
|
||||||
"Press 1 to enable the finger force."
|
XLAT("Press 1 to enable the finger force.")
|
||||||
);
|
);
|
||||||
else if(uni == 'o' && !rug::rugged)
|
else if(uni == 'o' && !rug::rugged)
|
||||||
renderonce = !renderonce;
|
renderonce = !renderonce;
|
||||||
else if(uni == 'v') {
|
else if(uni == 'v') {
|
||||||
dialog::editNumber(vertex_limit, 0, 50000, 500, 3000, "vertex limit",
|
dialog::editNumber(vertex_limit, 0, 50000, 500, 3000, ("vertex limit"),
|
||||||
"The more vertices, the more accurate the Hypersian Rug model is. "
|
XLAT("The more vertices, the more accurate the Hypersian Rug model is. "
|
||||||
"However, a number too high might make the model slow to compute and render."
|
"However, a number too high might make the model slow to compute and render.")
|
||||||
);
|
);
|
||||||
dialog::reaction = [] () { err_zero_current = err_zero; };
|
dialog::reaction = [] () { err_zero_current = err_zero; };
|
||||||
}
|
}
|
||||||
else if(uni == 'r')
|
else if(uni == 'r')
|
||||||
addMessage(XLAT("This just shows the 'z' coordinate of the selected point."));
|
addMessage(XLAT("This just shows the 'z' coordinate of the selected point."));
|
||||||
else if(uni == 'm') {
|
else if(uni == 'm') {
|
||||||
dialog::editNumber(modelscale, 0.1, 10, rugged ? .001 : .1, 1, "model scale factor",
|
dialog::editNumber(modelscale, 0.1, 10, rugged ? .001 : .1, 1, XLAT("model scale factor"),
|
||||||
"This is relevant when the native geometry is not Euclidean. "
|
XLAT("This is relevant when the native geometry is not Euclidean. "
|
||||||
"For example, if the native geometry is spherical, and scale < 1, a 2d sphere will be rendered as a subsphere; "
|
"For example, if the native geometry is spherical, and scale < 1, a 2d sphere will be rendered as a subsphere; "
|
||||||
"if the native geometry is hyperbolic, and scale > 1, a hyperbolic plane will be rendered as an equidistant surface. "
|
"if the native geometry is hyperbolic, and scale > 1, a hyperbolic plane will be rendered as an equidistant surface. ")
|
||||||
);
|
);
|
||||||
dialog::scaleLog();
|
dialog::scaleLog();
|
||||||
if(rug::rugged) {
|
if(rug::rugged) {
|
||||||
@ -1631,13 +1625,13 @@ void show() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(uni == 'd')
|
else if(uni == 'd')
|
||||||
dialog::editNumber(model_distance, -10, 10, .1, 1, "model distance",
|
dialog::editNumber(model_distance, -10, 10, .1, 1, XLAT("model distance"),
|
||||||
"In the perspective projection, this sets the distance from the camera to the center of the model. "
|
XLAT("In the perspective projection, this sets the distance from the camera to the center of the model. "
|
||||||
"In the orthogonal projection this just controls the scale."
|
"In the orthogonal projection this just controls the scale.")
|
||||||
);
|
);
|
||||||
else if(uni == 'e') {
|
else if(uni == 'e') {
|
||||||
dialog::editNumber(err_zero, 1e-9, 1, .1, 1e-3, "maximum error",
|
dialog::editNumber(err_zero, 1e-9, 1, .1, 1e-3, XLAT("maximum error"),
|
||||||
"New points are added when the current error in the model is smaller than this value."
|
XLAT("New points are added when the current error in the model is smaller than this value.")
|
||||||
);
|
);
|
||||||
dialog::scaleLog();
|
dialog::scaleLog();
|
||||||
dialog::reaction = [] () { err_zero_current = err_zero; };
|
dialog::reaction = [] () { err_zero_current = err_zero; };
|
||||||
|
Loading…
Reference in New Issue
Block a user