mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-08-06 05:43:56 +00:00
improved 3D settings: more adapted help text, added eye editing
This commit is contained in:
parent
d864c8cc1e
commit
d235540647
56
config.cpp
56
config.cpp
@ -1423,29 +1423,57 @@ void show3D() {
|
|||||||
vid.tc_depth = ticks,
|
vid.tc_depth = ticks,
|
||||||
dialog::editNumber(vid.depth, 0, 5, .1, 1, XLAT("Ground level below the plane"), ""),
|
dialog::editNumber(vid.depth, 0, 5, .1, 1, XLAT("Ground level below the plane"), ""),
|
||||||
dialog::extra_options = [] {
|
dialog::extra_options = [] {
|
||||||
dialog::addHelp(XLAT(
|
help = XLAT(
|
||||||
"Ground level is actually an equidistant surface, "
|
"Ground level is actually an equidistant surface, "
|
||||||
"%1 absolute units below the plane P. "
|
"%1 absolute units below the plane P. "
|
||||||
"Theoretically, this value affects the world -- "
|
"Theoretically, this value affects the world -- "
|
||||||
"for example, eagles could fly %2 times faster by "
|
"for example, eagles could fly %2 times faster by "
|
||||||
"flying above the ground level, on the plane P -- "
|
"flying above the ground level, on the plane P -- "
|
||||||
"but the actual game mechanics are not affected. "
|
"but the actual game mechanics are not affected. ", fts(vid.depth), fts(cosh(vid.depth)));
|
||||||
"(Distances reported by the vector graphics editor "
|
if(GDIM == 2)
|
||||||
"are not about points on the ground level, but "
|
help += XLAT(
|
||||||
"about the matching points on the plane P -- "
|
"(Distances reported by the vector graphics editor "
|
||||||
"divide them by the factor above to get actual "
|
"are not about points on the ground level, but "
|
||||||
"distances.)"
|
"about the matching points on the plane P -- "
|
||||||
|
"divide them by the factor above to get actual "
|
||||||
,
|
"distances.)"
|
||||||
fts(vid.depth), fts(cosh(vid.depth))));
|
);
|
||||||
// mention absolute units
|
if(GDIM == 3 && pmodel == mdPerspective && !euclid) {
|
||||||
};
|
ld current_camera_level = hdist0(tC0(radar_transform));
|
||||||
else if(uni == 'a' && WDIM == 2)
|
help += "\n\n";
|
||||||
|
if(abs(current_camera_level) < 1e-6)
|
||||||
|
help += XLAT(
|
||||||
|
"The camera is currently exactly on the plane P. "
|
||||||
|
"The horizon is seen as a straight line."
|
||||||
|
);
|
||||||
|
else help += XLAT(
|
||||||
|
"The camera is currently %1 units above the plane P. "
|
||||||
|
"This makes you see the floor level as in general perspective projection "
|
||||||
|
"with parameter %2.", fts(current_camera_level), fts(tan_auto(vid.depth) / tan_auto(current_camera_level)));
|
||||||
|
}
|
||||||
|
dialog::addHelp(help);
|
||||||
|
};
|
||||||
|
else if(uni == 'E' && WDIM == 2 && GDIM == 3)
|
||||||
|
vid.tc_depth = ticks,
|
||||||
|
dialog::editNumber(vid.eye, -5, 5, .1, 0, XLAT("eye level"), ""),
|
||||||
|
dialog::dialogflags |= sm::CENTER,
|
||||||
|
dialog::extra_options = [] {
|
||||||
|
|
||||||
|
dialog::addHelp(XLAT("In the FPP mode, the camera will be set at this altitude (before applying shifts)."));
|
||||||
|
|
||||||
|
dialog::addBoolItem(XLAT("auto-adjust to eyes on the player model"), vid.auto_eye, 'O');
|
||||||
|
dialog::reaction = [] { vid.auto_eye = false; };
|
||||||
|
dialog::add_action([] () {
|
||||||
|
vid.auto_eye = !vid.auto_eye;
|
||||||
|
geom3::do_auto_eye();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
else if(uni == 'p' && WDIM == 2)
|
||||||
projectionDialog();
|
projectionDialog();
|
||||||
else if(uni == 'w' && WDIM == 2) {
|
else if(uni == 'w' && WDIM == 2) {
|
||||||
dialog::editNumber(vid.wall_height, 0, 1, .1, .3, XLAT("Height of walls"), "");
|
dialog::editNumber(vid.wall_height, 0, 1, .1, .3, XLAT("Height of walls"), "");
|
||||||
dialog::extra_options = [] () {
|
dialog::extra_options = [] () {
|
||||||
dialog::addHelp(XLAT(
|
dialog::addHelp(GDIM == 3 ? "" : XLAT(
|
||||||
"The height of walls, in absolute units. For the current values of g and c, "
|
"The height of walls, in absolute units. For the current values of g and c, "
|
||||||
"wall height of %1 absolute units corresponds to projection value of %2.",
|
"wall height of %1 absolute units corresponds to projection value of %2.",
|
||||||
fts(actual_wall_height()), fts(factor_to_projection(cgi.WALL))));
|
fts(actual_wall_height()), fts(factor_to_projection(cgi.WALL))));
|
||||||
|
2
hyper.h
2
hyper.h
@ -3559,7 +3559,7 @@ inline hyperpoint tC0(const transmatrix &T) {
|
|||||||
transmatrix actualV(const heptspin& hs, const transmatrix& V);
|
transmatrix actualV(const heptspin& hs, const transmatrix& V);
|
||||||
transmatrix cview();
|
transmatrix cview();
|
||||||
bool isWall3(cell *c, color_t& wcol);
|
bool isWall3(cell *c, color_t& wcol);
|
||||||
extern transmatrix actual_view_transform;
|
extern transmatrix actual_view_transform, radar_transform;
|
||||||
ld wall_radar(cell *c, transmatrix T);
|
ld wall_radar(cell *c, transmatrix T);
|
||||||
|
|
||||||
extern string bitruncnames[5];
|
extern string bitruncnames[5];
|
||||||
|
@ -4575,17 +4575,21 @@ S("Ground level is actually an equidistant surface, "
|
|||||||
"Theoretically, this value affects the world -- "
|
"Theoretically, this value affects the world -- "
|
||||||
"for example, eagles could fly %2 times faster by "
|
"for example, eagles could fly %2 times faster by "
|
||||||
"flying above the ground level, on the plane P -- "
|
"flying above the ground level, on the plane P -- "
|
||||||
"but the actual game mechanics are not affected. "
|
"but the actual game mechanics are not affected. ",
|
||||||
|
|
||||||
|
"Úroveň země je ve skutečnosti ekvidistantní plocha, která se nachází %1 absolutních "
|
||||||
|
"jednotek pod rovinou P. Tato hodnota teoreticky ovlivňuje svět -- orli by například "
|
||||||
|
"mohli létat %2-krát rychleji, kdyby létali nad úrovní země v rovině P -- ale herní "
|
||||||
|
"mechaniky jako takové tím ovlivněny nejsou. ")
|
||||||
|
|
||||||
|
S(
|
||||||
"(Distances reported by the vector graphics editor "
|
"(Distances reported by the vector graphics editor "
|
||||||
"are not about points on the ground level, but "
|
"are not about points on the ground level, but "
|
||||||
"about the matching points on the plane P -- "
|
"about the matching points on the plane P -- "
|
||||||
"divide them by the factor above to get actual "
|
"divide them by the factor above to get actual "
|
||||||
"distances.",
|
"distances.",
|
||||||
|
|
||||||
"Úroveň země je ve skutečnosti ekvidistantní plocha, která se nachází %1 absolutních "
|
"(Vzdálenosti v editoru vektorové "
|
||||||
"jednotek pod rovinou P. Tato hodnota teoreticky ovlivňuje svět -- orli by například "
|
|
||||||
"mohli létat %2-krát rychleji, kdyby létali nad úrovní země v rovině P -- ale herní "
|
|
||||||
"mechaniky jako takové tím ovlivněny nejsou. (Vzdálenosti v editoru vektorové "
|
|
||||||
"grafiky nejsou vzdálenosti bodů na úrovni země, ale odpovídajících bodů v rovině "
|
"grafiky nejsou vzdálenosti bodů na úrovni země, ale odpovídajících bodů v rovině "
|
||||||
"P -- skutečné vzdálenosti získáte jejich vydělením výše zmíněným faktorem.")
|
"P -- skutečné vzdálenosti získáte jejich vydělením výše zmíněným faktorem.")
|
||||||
|
|
||||||
|
@ -4488,18 +4488,21 @@ S("Ground level is actually an equidistant surface, "
|
|||||||
"Theoretically, this value affects the world -- "
|
"Theoretically, this value affects the world -- "
|
||||||
"for example, eagles could fly %2 times faster by "
|
"for example, eagles could fly %2 times faster by "
|
||||||
"flying above the ground level, on the plane P -- "
|
"flying above the ground level, on the plane P -- "
|
||||||
"but the actual game mechanics are not affected. "
|
"but the actual game mechanics are not affected. ",
|
||||||
"(Distances reported by the vector graphics editor "
|
|
||||||
|
"Poziom podłoża jest w rzeczywistości ekwidystantną powierzchnią "
|
||||||
|
"%1 jednostek pod płaszczyzną P. Teoretycznie, ta wartość "
|
||||||
|
"wpływa na świat -- przykładowo, orły mogłyby latać %2 razy "
|
||||||
|
"szybciej, latając powyżej poziomu podłoża na wysokości płaszczyzny "
|
||||||
|
"P -- ale nie wpływa to na mechanikę gry w żaden sposób. ")
|
||||||
|
|
||||||
|
|
||||||
|
S("(Distances reported by the vector graphics editor "
|
||||||
"are not about points on the ground level, but "
|
"are not about points on the ground level, but "
|
||||||
"about the matching points on the plane P -- "
|
"about the matching points on the plane P -- "
|
||||||
"divide them by the factor above to get actual "
|
"divide them by the factor above to get actual "
|
||||||
"distances.",
|
"distances.",
|
||||||
|
|
||||||
"Poziom podłoża jest w rzeczywistości ekwidystantną powierzchnią "
|
|
||||||
"%1 jednostek pod płaszczyzną P. Teoretycznie, ta wartość "
|
|
||||||
"wpływa na świat -- przykładowo, orły mogłyby latać %2 razy "
|
|
||||||
"szybciej, latając powyżej poziomu podłoża na wysokości płaszczyzny "
|
|
||||||
"P -- ale nie wpływa to na mechanikę gry w żaden sposób. "
|
|
||||||
"(Odległości wyświetlane przez edytor grafiki "
|
"(Odległości wyświetlane przez edytor grafiki "
|
||||||
"dotyczą odległości między odpowiednimi punktami na płaszczyźnie P.")
|
"dotyczą odległości między odpowiednimi punktami na płaszczyźnie P.")
|
||||||
|
|
||||||
|
@ -4664,18 +4664,20 @@ S("Ground level is actually an equidistant surface, "
|
|||||||
"Theoretically, this value affects the world -- "
|
"Theoretically, this value affects the world -- "
|
||||||
"for example, eagles could fly %2 times faster by "
|
"for example, eagles could fly %2 times faster by "
|
||||||
"flying above the ground level, on the plane P -- "
|
"flying above the ground level, on the plane P -- "
|
||||||
"but the actual game mechanics are not affected. "
|
"but the actual game mechanics are not affected. ",
|
||||||
"(Distances reported by the vector graphics editor "
|
|
||||||
|
"Поверхность земли является эквидистантой на глубине "
|
||||||
|
"%1 единицу ниже плоскости P. Теоретически, это значение "
|
||||||
|
"могло бы влиять на мир. Например, орлы могли бы летать в %2 раз "
|
||||||
|
"быстрее, летая над уровнем земли, на плоскости "
|
||||||
|
"P -- но механика игры не меняется. ")
|
||||||
|
|
||||||
|
S("(Distances reported by the vector graphics editor "
|
||||||
"are not about points on the ground level, but "
|
"are not about points on the ground level, but "
|
||||||
"about the matching points on the plane P -- "
|
"about the matching points on the plane P -- "
|
||||||
"divide them by the factor above to get actual "
|
"divide them by the factor above to get actual "
|
||||||
"distances.",
|
"distances.",
|
||||||
|
|
||||||
"Поверхность земли является эквидистантой на глубине "
|
|
||||||
"%1 единицу ниже плоскости P. Теоретически, это значение "
|
|
||||||
"могло бы влиять на мир. Например, орлы могли бы летать в %2 раз "
|
|
||||||
"быстрее, летая над уровнем земли, на плоскости "
|
|
||||||
"P -- но механика игры не меняется. "
|
|
||||||
"(Расстояния в редакторе векторной графики относятся"
|
"(Расстояния в редакторе векторной графики относятся"
|
||||||
"не к точкам на поверхности, а к их проекциям на плоскость P.)")
|
"не к точкам на поверхности, а к их проекциям на плоскость P.)")
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user