mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-31 05:52:59 +00:00 
			
		
		
		
	improved texts, appro overview changed in some cases, 'x'pansion moved to geom sel
This commit is contained in:
		| @@ -276,7 +276,7 @@ const char *blizzarddesc = | ||||
|  | ||||
| const char *crystaldesc =  | ||||
|   "Yes, this is definitely a crystal. A very regular crystalline structure.\n\n" | ||||
|   "This land has been designed to test various geometries, and it does not appear during a normal gameplay."; | ||||
|   "This land has been designed as a tool to play with various geometries, and it does not appear during a normal gameplay."; | ||||
|  | ||||
| const char *NODESC = "No description yet."; | ||||
| const char *NODESCYET = "No description yet."; | ||||
|   | ||||
| @@ -215,6 +215,7 @@ int main() { | ||||
|   plural.insert("Kraken Depths"); | ||||
|   allchars.insert("ᵈ"); | ||||
|   allchars.insert("δ"); | ||||
|   allchars.insert("∞"); | ||||
|    | ||||
|   langPL(); langCZ(); langRU(); | ||||
|   langTR(); langDE(); langPT(); | ||||
|   | ||||
							
								
								
									
										115
									
								
								language-pl.cpp
									
									
									
									
									
								
							
							
						
						
									
										115
									
								
								language-pl.cpp
									
									
									
									
									
								
							| @@ -6167,8 +6167,123 @@ S("When your plan has clearly failed, it is better to abandon it and go to a saf | ||||
|  | ||||
| S("The Hunting Dogs give up.", "Myśliwskie psy się poddały."); | ||||
|  | ||||
| // missing from previous versions: | ||||
|  | ||||
| S("\n\nThis orb also allows you to collect items encased in ice.", | ||||
|   "\n\nTa sfera pozwala Ci również zbierać rzeczy zamrożone w lodowej ścianie.") | ||||
|  | ||||
| // vampire attack | ||||
| S("%The1 drains your powers!", "%The1 wysysa Twoje moce!") | ||||
|  | ||||
| // additions | ||||
| S(" This tutorial will not advance on its own -- you have to press Enter (not while reading help text).",  | ||||
|   " Ten podręcznik nie idzie do przodu sam z siebie -- musisz nacisnąć Enter (nie podczas czytania tekstu pomocy)." | ||||
|   ) | ||||
|  | ||||
| S("Hint: hold Alt to highlights enemies and other important features.", | ||||
|   "Wskazówka: trzymaj Alt by podświetlać przeciwników i inne istotne elementy.") | ||||
|  | ||||
| // Crystal World | ||||
| N("Crystal World", GEN_O, "Kryształowy Świat", "Kryształowe Światy", "Kryształowy Świat", "w Kryształowym Świecie") | ||||
| N("Glowing Crystal", GEN_O, "Świecący Kryształ", "Świecące Kryształy", "Świecący Kryształ", "Świecącym Kryształem") | ||||
|  | ||||
| S("Yes, this is definitely a crystal. A very regular crystalline structure.\n\n" | ||||
|   "This land has been designed as a tool to play with various geometries, and it does not appear during a normal gameplay.", | ||||
|    | ||||
|   "Tak, to na pewno kryształ. Bardzo regularna struktura krystaliczna.\n\n" | ||||
|   "Ta kraina została zaprojektowana do zabawy różnymi geometriami, i nie pojawia się podczas normalnej gry.") | ||||
|  | ||||
| S("You cannot move there!", "Nie możesz tam iść!"); | ||||
|  | ||||
| // geometry stuff | ||||
|  | ||||
| S("experiment with geometry", "eksperymenty z geometrią") | ||||
|  | ||||
| S( | ||||
|   "If you want to know how much the gameplay is affected by the " | ||||
|   "hyperbolic geometry in HyperRogue, this mode is for you!\n\n" | ||||
|    | ||||
|   "You can try many different geometries here. We start by gluing " | ||||
|   "n-gons in such a way that k of them meet in every vertex. " | ||||
|   "Depending on n and k, this either folds into a sphere, unfolds into a plane, " | ||||
|   "or requires a hyperbolic space. The result may be then 'truncated' by " | ||||
|   "replacing each vertex by a 2k-gon. Furthermore, you can play " | ||||
|   "with quotient geometries. For example, the elliptic geometry is " | ||||
|   "obtained from the sphere by making the antipodes be the same point, " | ||||
|   "so you return to the same spot (but as a mirror image) after going there. " | ||||
|   "Have fun experimenting! " | ||||
|   "Achievements and leaderboards do not work in geometry experiments, " | ||||
|   "except some specific ones.\n\n" | ||||
|   "In standard geometry (truncated or not), you can play the full game, but in other geometries " | ||||
|   "you select a particular land. Lands are unlocked by visiting them in this " | ||||
|   "session, or permanently by collecting 25 treasure. Try Crossroads in Euclidean " | ||||
|   "or chaos mode in non-standard non-quotient hyperbolic to visit many lands. " | ||||
|   "Highlights:\n" | ||||
|   "* Crystal World and Warped Coast can be understood as extra geometries.\n" | ||||
|   "* Halloween is specially designed for spherical geometry.\n" | ||||
|   "* To see the difference, try Hunting Grounds in Euclidean -- it is impossible.\n", | ||||
|    | ||||
|   "Chcesz wiedzieć, jak geometria wpływa na grę HyperRogue? Ten tryb jest dla Ciebie!\n\n" | ||||
|   "Możesz tu wypróbować wiele różnych geometrii. Zaczynamy od sklejania n-kątów tak, " | ||||
|   "by k z nich spotykało się w 1 wierzchołku. Zależnie od n i k, to się zwija w kulkę, " | ||||
|   "rozwija w płaszczyznę, albo wymaga przestrzeni hiperbolicznej. Wynik może być " | ||||
|   "następnie 'przycięty' poprzez zastąpienie każdego wierzchołka 2k-kątem. Można " | ||||
|   "też eksperymentować z przestrzeniami ilorazowymi. Na przykład, geometria eliptyczna " | ||||
|   "jest otrzymana w ten sposób, że antypody traktujemy jako ten sam punkt, także " | ||||
|   "po przejściu na antypody wracasz w to samo miejsce (ale odbit%y0 lustrzanie). " | ||||
|   "Miłej zabawy! Osiągnięcia nie działają w eksperymentach geometrycznych, oprócz " | ||||
|   "niektórych specjalnych.\n\n" | ||||
|   "W standardowej geometrii (przyciętej lub nie) grasz całą grę, w innych geometriach " | ||||
|   "wybierasz krainę. Krainy są odblokowane poprzez odwiedzenie ich w tej sesji, lub " | ||||
|   "permanentnie przez zebranie 25 skarbów. By odwiedzić wiele krain, wypróbuj " | ||||
|   "Skrzyżowanie w geometrii euklidesowej, lub Chaos w niestandardowej nieilorazowej " | ||||
|   "geometrii.\n" | ||||
|   "Godne uwagi:\n" | ||||
|   "* Kryształowy Świat i Zakrzywiony Brzeg to w pewnym sensie dodatkowe geometrie.\n" | ||||
|   "* Halloween to kraina zaprojektowana dla geometrii sferycznej.\n" | ||||
|   "* Wypróbuj Krainę Wiecznych Łowów w geometrii euklidesowej -- staje się " | ||||
|   "niemożliwa do przejścia."   | ||||
|   ) | ||||
|  | ||||
| // new geometries available: | ||||
| S("standard", "standard") // renamed from 'hyperbolic' | ||||
|  | ||||
| S("octagons", "ośmiokąty") | ||||
| S("four pentagons", "cztery pięciokąty") | ||||
| S("four hexagons", "cztery sześciokąty") | ||||
| S("four heptagons", "cztery siedmiokąty") | ||||
| S("cube", "sześcian") | ||||
| S("tetrahedron (buggy)", "czworościan (bugi)") | ||||
| S("tetrahedron", "czworościan") // in case if it gets better | ||||
|  | ||||
| S("land", "kraina") | ||||
| S("truncated", "przycięte") | ||||
| S("does not matter", "bez znaczenia") | ||||
| S("sides per face", "boki ścian") | ||||
| S("faces per vertex", "wierzchołki") | ||||
| S("none", "brak") | ||||
| S("zebra", "zebra") | ||||
| S("field", "ciało") | ||||
| S("quotient space", "przestrzeń ilorazowa") | ||||
| S("size of the world", "wielkość świata") | ||||
| S("flat", "płaska") | ||||
|  | ||||
| // truncated or not truncated | ||||
| S(" (t)", " (p)") | ||||
| S(" (n)", " (n)") | ||||
|  | ||||
| S("(locked)", "(blok)") | ||||
|  | ||||
| S("stereographic/orthogonal", "rzut stereo/orto") | ||||
| S("Poincaré/Klein", "Poincaré/Klein") | ||||
|    | ||||
| // Paper Model Creator | ||||
| S("Useless in Euclidean geometry.", "Bezużyteczne w geometrii euklidesowej."); | ||||
| S("Not implemented for spherical geometry. Please tell me if you really want this.", | ||||
|   "Nie zaimplementowane dla geometrii sferycznej. Jeśli bardzo tego chcesz, powiedz.") | ||||
|  | ||||
| // Hypersian Rug | ||||
| S("This makes sense only in hyperbolic geometry.", "To ma sens tylko w geometrii hiperbolicznej.") | ||||
|  | ||||
| #undef Orb | ||||
|  | ||||
|   | ||||
							
								
								
									
										46
									
								
								menus.cpp
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								menus.cpp
									
									
									
									
									
								
							| @@ -347,7 +347,7 @@ void showDisplayMode() { | ||||
|   dialog::addBoolItem(XLAT("paper model creator"), (false), 'n'); | ||||
| #endif | ||||
|   dialog::addBoolItem(XLAT("conformal/history mode"), (conformal::on), 'a'); | ||||
|   dialog::addBoolItem(XLAT("expansion"), viewdists, 'x'); | ||||
| //  dialog::addBoolItem(XLAT("expansion"), viewdists, 'x'); | ||||
|    | ||||
|   showAllConfig(); | ||||
|   dialog::display(); | ||||
| @@ -613,7 +613,7 @@ string euchelp = | ||||
|   "except some specific ones.\n\n" | ||||
|   "In standard geometry (truncated or not), you can play the full game, but in other geometries " | ||||
|   "you select a particular land. Lands are unlocked by visiting them in this " | ||||
|   "game, or permanently by collecting 25 treasure. Try Crossroads in Euclidean " | ||||
|   "session, or permanently by collecting 25 treasure. Try Crossroads in Euclidean " | ||||
|   "or chaos mode in non-standard non-quotient hyperbolic to visit many lands. " | ||||
|   "Highlights:\n" | ||||
|   "* Crystal World and Warped Coast can be understood as extra geometries.\n" | ||||
| @@ -659,9 +659,9 @@ void showEuclideanMenu() { | ||||
|     dialog::addBreak(50); | ||||
|    | ||||
|     if(ts == 6 && tv == 3) | ||||
|       dialog::addSelItem("truncated", "does not matter", 't'); | ||||
|       dialog::addSelItem(XLAT("truncated"), XLAT("does not matter"), 't'); | ||||
|     else | ||||
|       dialog::addBoolItem("truncated", !nontruncated, 't'); | ||||
|       dialog::addBoolItem(XLAT("truncated"), !nontruncated, 't'); | ||||
|    | ||||
|     dialog::addBreak(50); | ||||
|    | ||||
| @@ -673,8 +673,8 @@ void showEuclideanMenu() { | ||||
|       if(!nontruncated) worldsize = ((ts+tv)*worldsize) / tv; | ||||
|       } | ||||
|    | ||||
|     dialog::addSelItem("sides per face", its(ts), 0); | ||||
|     dialog::addSelItem("faces per vertex", its(tv), 0); | ||||
|     dialog::addSelItem(XLAT("sides per face"), its(ts), 0); | ||||
|     dialog::addSelItem(XLAT("faces per vertex"), its(tv), 0); | ||||
|    | ||||
|     string qstring = "none"; | ||||
|     if(tq & qZEBRA) qstring = "zebra"; | ||||
| @@ -685,26 +685,25 @@ void showEuclideanMenu() { | ||||
|    | ||||
|     else if(tq & qTORUS) qstring = "torus"; | ||||
|    | ||||
|     dialog::addSelItem("quotient space", qstring, 0); | ||||
|     dialog::addSelItem(XLAT("quotient space"), XLAT(qstring), 0); | ||||
|    | ||||
|     dialog::addSelItem("size of the world",  | ||||
|       XLAT( | ||||
|         worldsize == 0 ? "infinite" :  | ||||
|         worldsize > 0 ? "finite (%1)" : | ||||
|         "exponentially infinite (%1)", its(worldsize)), | ||||
|       0); | ||||
|     dialog::addSelItem(XLAT("size of the world"),  | ||||
|       worldsize < 0 ? "exp(∞)*" + (nom%denom ? its(nom)+"/"+its(-denom) : its(-worldsize)):  | ||||
|       worldsize == 0 ? "∞" : | ||||
|       its(worldsize), | ||||
|       '3'); | ||||
|      | ||||
|     switch(ginf[geometry].cclass) { | ||||
|       case 0: | ||||
|         dialog::addSelItem("curvature", curvenames[getDistLimit()], 0); | ||||
|         dialog::addSelItem(XLAT("Curvature"), XLAT("hyperbolic"), 0); | ||||
|         break; | ||||
|        | ||||
|       case 1:  | ||||
|         dialog::addSelItem("curvature", "flat", 0); | ||||
|         dialog::addSelItem(XLAT("Curvature"), XLAT("flat"), 0); | ||||
|         break; | ||||
|        | ||||
|       case 2: | ||||
|         dialog::addSelItem("curvature", "spherical", 0); | ||||
|         dialog::addSelItem(XLAT("Curvature"), XLAT("spherical"), 0); | ||||
|         break; | ||||
|       } | ||||
|      | ||||
| @@ -713,7 +712,7 @@ void showEuclideanMenu() { | ||||
|     else | ||||
|       dialog::addBoolItem(XLAT("Poincaré/Klein"), vid.alpha>.5, '1'); | ||||
|     dialog::addItem(XLAT("help"), SDLK_F1);   | ||||
|     dialog::addItem(XLAT("done"), '0');   | ||||
|     dialog::addItem(XLAT("back"), '0');   | ||||
|     dialog::display(); | ||||
|    | ||||
|     keyhandler = [] (int sym, int uni) { | ||||
| @@ -730,6 +729,7 @@ void showEuclideanMenu() { | ||||
|           } | ||||
|         } | ||||
|       else if(uni == '2' || sym == SDLK_F1) gotoHelp(euchelp); | ||||
|       else if(uni == '3') { viewdists = !viewdists; if(viewdists) popScreenAll(); } | ||||
|       else if(uni == '1' && !euclid) { | ||||
|         if(sphere) { | ||||
|           if(vid.alpha < 10) { vid.alpha = 999; vid.scale = 998; } | ||||
| @@ -747,10 +747,10 @@ void showEuclideanMenu() { | ||||
|       }; | ||||
|     } | ||||
|   else { | ||||
|     dialog::init(XLAT("use this where?")); | ||||
|     dialog::init(XLAT("experiment with geometry")); | ||||
|     string truncatenames[2] = {" (t)", " (n)"}; | ||||
|    | ||||
|     dialog::addSelItem(XLAT("geometry"), XLAT(ginf[geometry].name) + truncatenames[nontruncated], '5'); | ||||
|     dialog::addSelItem(XLAT("geometry"), XLAT(ginf[geometry].name) + XLAT(truncatenames[nontruncated]), '5'); | ||||
|     dialog::addBreak(50); | ||||
|      | ||||
|     for(int i=0; i<euperpage; i++) { | ||||
| @@ -772,7 +772,7 @@ void showEuclideanMenu() { | ||||
|     dialog::addItem(XLAT("next page"), '-'); | ||||
|      | ||||
|     dialog::addItem(XLAT("help"), SDLK_F1);   | ||||
|     dialog::addItem(XLAT("done"), '0'); | ||||
|     dialog::addItem(XLAT("back"), '0'); | ||||
|     dialog::display(); | ||||
|    | ||||
|     vid.fsize = s; | ||||
| @@ -954,13 +954,15 @@ void showStartMenu() { | ||||
|  | ||||
| void setAppropriateOverview() { | ||||
|   clearMessages(); | ||||
|   if(tactic::on) | ||||
|   if(viewdists) | ||||
|     runGeometryExperiments(); | ||||
|   else if(tactic::on) | ||||
|     pushScreen(tactic::showMenu); | ||||
|   else if(yendor::on) | ||||
|     pushScreen(yendor::showMenu); | ||||
|   else if(peace::on) | ||||
|     pushScreen(peace::showMenu); | ||||
|   else if(geometry != gNormal) { | ||||
|   else if(geometry != gNormal && !chaosmode && !(geometry == gEuclid && isCrossroads(specialland))) { | ||||
|     runGeometryExperiments(); | ||||
|     } | ||||
|   else { | ||||
|   | ||||
| @@ -709,7 +709,7 @@ namespace netgen { | ||||
|     if(euclid)  | ||||
|       addMessage("Useless in Euclidean geometry."); | ||||
|     else if(sphere) | ||||
|       addMessage("Not implemented for spherical geometry."); | ||||
|       addMessage("Not implemented for spherical geometry. Please tell me if you really want this."); | ||||
|     else | ||||
|       pushScreen(show); | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue