mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-01-11 09:50:34 +00:00
Texts written/translated for 10.3
This commit is contained in:
parent
495dbba809
commit
6479ddb73d
49
classes.cpp
49
classes.cpp
@ -399,6 +399,15 @@ const char *thumpdesc = "A device that attracts sandworms and other enemies. You
|
||||
|
||||
const char *twdesc = "This structure will disappear after some time.";
|
||||
|
||||
const char *jellydesc =
|
||||
"Some of the Slime Beasts have decided to revolt against the color changing rules in the "
|
||||
"Alchemist Lab, change their shape and consistency, and create their own Kingdom.\n\n"
|
||||
"Jellies switch between being a wall and being a monster after every treasure you pick.";
|
||||
|
||||
const char *ruindesc =
|
||||
"Once a beautiful city... but now overrun by the mighty Raiders of unknown origin.\n\n"
|
||||
"Raiders cannot be harmed with mundane weapons, but each color has its movement restrictions.";
|
||||
|
||||
monstertype minf[motypes] = {
|
||||
{ 0, 0, "no monster" , NULL},
|
||||
{ 'Y', 0x4040FF, "Yeti" ,
|
||||
@ -759,13 +768,14 @@ monstertype minf[motypes] = {
|
||||
"When your plan has clearly failed, it is better to abandon it and go to a safe place, to have a chance of succeeding next time. This dog clearly knows this."},
|
||||
{ 'B', 0xC00000, "North Pole", NODESCYET},
|
||||
{ 'B', 0x0000C0, "South Pole", NODESCYET},
|
||||
{ 'P', 0xC03000, "Red Raider", NODESCYET},
|
||||
{ 'H', 0xC0C0C0, "Gray Raider", NODESCYET},
|
||||
{ 'A', 0x80B080, "Green Raider", NODESCYET},
|
||||
{ 'M', 0x904000, "Brown Raider", NODESCYET},
|
||||
{ 'C', 0x0060E0, "Blue Raider", NODESCYET},
|
||||
{ '@', 0xC00000, "Red Jelly", NODESCYET},
|
||||
{ '@', 0x0000C0, "Blue Jelly", NODESCYET},
|
||||
{ 'P', 0xC03000, "Red Raider", "Red Raiders travel in pairs. They are able to destroy walls on their way."},
|
||||
{ 'H', 0xC0C0C0, "Gray Raider", "Gray Raiders never step on gray cells."},
|
||||
{ 'A', 0x80B080, "Green Raider", "Green Raiders never step from one green cell to another."},
|
||||
{ 'M', 0x904000, "Brown Raider", "Brown Raiders never move adjacent to an item."},
|
||||
{ 'C', 0x0060E0, "Blue Raider", "Blue Raiders have a powerful attack which takes two turns to complete, and also makes the Blue Raider stunned "
|
||||
"for a long time. This attack can destroy other Raiders if it hits them."},
|
||||
{ '@', 0xC00000, "Red Jelly", jellydesc},
|
||||
{ '@', 0x0000C0, "Blue Jelly", jellydesc},
|
||||
|
||||
// shmup specials
|
||||
{ '@', 0xC0C0C0, "Rogue", "In the Shoot'em Up mode, you are armed with thrown Knives."},
|
||||
@ -1211,15 +1221,18 @@ itemtype iinf[ittypes] = {
|
||||
"This ranged Orb will transform the target monster into one without any special powers. It also stuns them for one turn. "
|
||||
"Does not affect multi-tile monsters."},
|
||||
{ '!', 0x80FF00, "Glowing Crystal", crystaldesc},
|
||||
{ '!', 0x80FF80, "Snake Oil", NODESCYET},
|
||||
{ '!', 0x80FF80, "Snake Oil", "Made of actual snakes!"},
|
||||
{ '!', 0x80FF80, "Sea Glass", NODESCYET},
|
||||
{ '*', 0xBBCC99, "Chrysoberyl", NODESCYET},
|
||||
{ '*', 0xBBCC99, "Chrysoberyl", "Fragment of the past glory."},
|
||||
// { '*', 0xD0D8ED, "Chalcedony", NODESCYET},
|
||||
{ '*', 0x80FF80, "Monopole", NODESCYET},
|
||||
{ '!', 0xFF00FF, "Tasty Jelly", NODESCYET},
|
||||
{ 'o', 0x80FF80, "Orb of Phasing", NODESCYET},
|
||||
{ '!', 0xFF00FF, "Tasty Jelly", "A tasty byproduct of the Jelly Revolution."},
|
||||
{ 'o', 0x80FF80, "Orb of Phasing",
|
||||
"This orb lets you pass through walls (one cell wide), and also through as long as they will not attack you in transit."},
|
||||
{ 'o', 0xFFFF80, "Orb of Magnetism", NODESCYET},
|
||||
{ 'o', 0x202020, "Orb of Slaying", NODESCYET},
|
||||
{ 'o', 0x202020, "Orb of Slaying",
|
||||
"This Orb lets you defeat Raiders and other tough single-cell monsters in melee."
|
||||
},
|
||||
// { '*', 0x26619C, "Lapis Lazuli", NODESCYET},
|
||||
};
|
||||
|
||||
@ -1400,7 +1413,7 @@ walltype winf[walltypes] = {
|
||||
{ '&', 0xD00000, "lava", lavadesc},
|
||||
{ '=', 0x804000, "dock", "A dock."},
|
||||
{ '^', 0xFF8000, "burning dock", "A burning dock."},
|
||||
{ '#', 0xE04030, "ruin wall", "A ruin wall."},
|
||||
{ '#', 0xE04030, "ruin wall", ruindesc},
|
||||
};
|
||||
|
||||
// --- land types ---
|
||||
@ -1588,9 +1601,9 @@ const landtype linf[landtypes] = {
|
||||
{ 0x80FF00, "Crystal World", crystaldesc},
|
||||
{ 0x306030, "Snake Nest", NODESCYET},
|
||||
{ 0x80FF00, "Docks", NODESCYET},
|
||||
{ 0x306030, "Ruined City", NODESCYET},
|
||||
{ 0x306030, "Ruined City", ruindesc},
|
||||
{ 0x306030, "Magnetosphere", NODESCYET},
|
||||
{ 0x306030, "Jelly Kingdom", NODESCYET},
|
||||
{ 0x306030, "Jelly Kingdom", jellydesc},
|
||||
};
|
||||
|
||||
struct landtacinfo { eLand l; int tries, multiplier; };
|
||||
@ -1601,11 +1614,11 @@ vector<landtacinfo> land_tac = {
|
||||
{laMotion, 10, 1}, {laCaves, 10, 1}, {laAlchemist, 10, 1},
|
||||
{laJungle, 10, 1}, {laMirror, 10, 1}, {laZebra, 10, 1}, {laPalace, 10, 1},
|
||||
{laOcean, 10, 1}, {laLivefjord, 10, 1}, {laWarpCoast, 10, 1}, {laRlyeh, 10, 1}, {laHell, 10, 1},
|
||||
{laDryForest, 10, 1}, {laWineyard, 10, 1}, {laReptile, 10, 1},
|
||||
{laDryForest, 10, 1}, {laWineyard, 10, 1}, {laSwitch, 10, 1}, {laReptile, 10, 1},
|
||||
{laDeadCaves, 10, 1}, {laGraveyard, 10, 1},
|
||||
{laHaunted, 10, 1},
|
||||
{laIvoryTower, 10, 1}, {laEndorian, 10, 1}, {laMountain, 5, 2}, {laDungeon, 5, 2},
|
||||
{laEmerald, 10, 1},
|
||||
{laRuins, 10, 1}, {laEmerald, 10, 1},
|
||||
{laCocytus, 10, 1},
|
||||
|
||||
{laCaribbean, 5, 2}, {laWhirlpool, 5, 2}, {laKraken, 5, 2},
|
||||
@ -1631,7 +1644,7 @@ vector<landtacinfo> land_tac = {
|
||||
vector<eLand> randlands = {
|
||||
laIce, laDesert, laCaves, laAlchemist, laGraveyard, laPower, laLivefjord, laZebra,
|
||||
laRlyeh, laDryForest, laEmerald, laWineyard, laDeadCaves, laRedRock,
|
||||
laOvergrown, laWildWest, laWarpCoast
|
||||
laOvergrown, laWildWest, laWarpCoast, laRuins
|
||||
};
|
||||
|
||||
geometryinfo ginf[gGUARD] = {
|
||||
|
4
help.cpp
4
help.cpp
@ -448,7 +448,7 @@ string generateHelpForLand(eLand l) {
|
||||
|
||||
if(l == laMirror || l == laMinefield || l == laPalace ||
|
||||
l == laOcean || l == laLivefjord || l == laZebra || l == laWarpCoast || l == laWarpSea ||
|
||||
l == laReptile || l == laIvoryTower)
|
||||
l == laReptile || l == laIvoryTower || l == laSwitch)
|
||||
TREQ(R30)
|
||||
|
||||
if(l == laPower && inv::on)
|
||||
@ -481,6 +481,8 @@ string generateHelpForLand(eLand l) {
|
||||
|
||||
if(l == laReptile) TREQ2(U10, itElixir)
|
||||
if(l == laVolcano) TREQ2(U10, itElixir)
|
||||
if(l == laSwitch) TREQ2(U10, itElixir)
|
||||
|
||||
if(l == laEndorian) TREQ2(U10, itIvory)
|
||||
if(l == laKraken) TREQ2(U10, itFjord)
|
||||
if(l == laBurial) TREQ2(U10, itKraken)
|
||||
|
@ -549,7 +549,7 @@ bool landUnlocked(eLand l) {
|
||||
return gold() >= R90;
|
||||
|
||||
case laSwitch:
|
||||
return gold() >= R90;
|
||||
return gold() >= R30 && items[itElixir] >= U10;
|
||||
|
||||
case laRuins:
|
||||
return kills[moSkeleton];
|
||||
@ -958,7 +958,7 @@ eLand getNewLand(eLand old) {
|
||||
vector<eLand> land_over = {
|
||||
laIce, laCaves, laDesert, laHunting, laMotion, laJungle, laAlchemist,
|
||||
laCrossroads,
|
||||
laMirror, laMinefield, laPalace, laPrincessQuest, laZebra, laReptile,
|
||||
laMirror, laMinefield, laPalace, laPrincessQuest, laZebra, laSwitch, laReptile,
|
||||
laOcean, laWarpCoast, laLivefjord, laKraken, laCaribbean, laWhirlpool, laRlyeh, laTemple,
|
||||
laIvoryTower, laEndorian, laDungeon, laMountain,
|
||||
laCrossroads2,
|
||||
@ -967,13 +967,13 @@ vector<eLand> land_over = {
|
||||
laDragon, laTortoise,
|
||||
laOvergrown, laClearing, laStorms, laBurial, laWhirlwind,
|
||||
laBlizzard,
|
||||
laEmerald, laCamelot,
|
||||
laRuins, laEmerald, laCamelot,
|
||||
laPrairie, laBull, laTerracotta, laRose,
|
||||
laElementalWall, laTrollheim,
|
||||
laHell, laCrossroads3, laCocytus, laPower, laCrossroads4,
|
||||
laCrossroads5,
|
||||
// EXTRA
|
||||
laWildWest, laHalloween, laDual, laSnakeNest, laDocks, laRuins, laSwitch, laMagnetic, laCA
|
||||
laWildWest, laHalloween, laDual, laSnakeNest, laDocks, laMagnetic, laCA
|
||||
};
|
||||
|
||||
vector<eLand> landlist;
|
||||
|
296
language-pl.cpp
296
language-pl.cpp
@ -6282,14 +6282,304 @@ 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.")
|
||||
|
||||
#undef Orb
|
||||
|
||||
// Hypersian Rug
|
||||
// Hypersian Rug (NOT USED ANYMORE)
|
||||
// S("This makes sense only in hyperbolic or Torus geometry.", "To ma sens tylko w geometrii hiperbolicznej i na torusie.")
|
||||
|
||||
// === 10.3 ===
|
||||
// ============
|
||||
|
||||
// Missing/minor updated texts
|
||||
//-----------------------------
|
||||
|
||||
// file selection dialog
|
||||
S("Enter = choose", "Enter = wybierz")
|
||||
S("Esc = cancel", "Esc = anuluj")
|
||||
S("hyperbolic", "hiperboliczna")
|
||||
|
||||
// for the map editor
|
||||
N("Dragon Head", GEN_F, "Głowa Smoka", "Głowy Smoka", "Głowę Smoka", "Głową Smoka")
|
||||
|
||||
S("score: %1", "wynik: %1")
|
||||
S("kills: %1", "zabicia: %1")
|
||||
|
||||
// advanced config of quotient geometry
|
||||
//--------------------------------------
|
||||
|
||||
S(
|
||||
"This geometry is obtained by applying the same 'generators' which "
|
||||
"lead to creating the given basic hyperbolic geometry, "
|
||||
"but using a fixed finite field instead of the field of reals. "
|
||||
"It can be also interpreted as a quotient of the given basic geometry. "
|
||||
"Warning: field patterns based on large primes might generate for a long time.",
|
||||
|
||||
"Ta geometria powstaje przez użycie tych samych 'generatorów', "
|
||||
"których używamy do uzyskania zadanej podstawowej geometrii hiperbolicznej, "
|
||||
"ale w pewnym ciele skończonym zamiast ciała liczb rzczywistych. "
|
||||
"Można ją zrozumieć jako przestrzeń ilorazową zadanej geometrii. "
|
||||
"Uwaga: generowanie tego typu geometrii opartej na dużej liczbie pierwszej może "
|
||||
"zająć dużo czasu!")
|
||||
|
||||
S("find the next prime", "znajdź następną liczbę pierwszą")
|
||||
S("activate", "uruchom")
|
||||
S("order %1%2 (non-chamfered cells: %3)", "rząd %1%2 (nieprzyciętych pól: %3)")
|
||||
|
||||
// Torus/Klein bottle, Euclidean Squares, and their advanced configuration
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
S("square grid", "siatka kwadratowa")
|
||||
|
||||
S("torus/Klein bottle", "torus/butelka Kleina")
|
||||
S("mode", "tryb")
|
||||
|
||||
S("single row (hex)", "jeden rząd (heksy)")
|
||||
S("single row (squares)", "jeden rząd (kwadraty)")
|
||||
S("parallelogram (hex)", "równoległobok (heksy)")
|
||||
S("rectangle (squares)", "prostokąt (kwadraty)")
|
||||
S("rectangle (hex)", "prostokąt (heksy)")
|
||||
S("Klein bottle (squares)", "butelka Kleina (kwadraty)")
|
||||
S("Klein bottle (hex)", "butelka Kleina (heksy)")
|
||||
|
||||
S("this mode has bad patterns", "nieprawidłowe wzorki dla tego trybu")
|
||||
S("incompatible with chamfering", "niekompatybilne z przycinaniem")
|
||||
S("best if %1 is divisible by %2", "najlepiej gdy %1 jest podzielne przez %2")
|
||||
|
||||
S("number of cells (n)", "liczba pól (n)")
|
||||
S("cell bottom-right from 0 (d)", "pole w dół i na prawo od 0 (d)")
|
||||
S("cell below 0 (d)", "pole pod 0 (d)")
|
||||
S("width (x)", "szerokość (x)")
|
||||
S("height (y)", "wysokość (y)")
|
||||
|
||||
// upgraded Hypersian Rug mode
|
||||
//-----------------------------
|
||||
|
||||
S("In the perspective projection, you can use arrows to rotate the camera, Page Up/Down to go forward/backward, Shift+arrows to strafe, and Ctrl+arrows to rotate the model.",
|
||||
"W trybie perspektywy możesz używać strzałek by obracać kamerą, Page Up/Down by iść do przodu/w tył, Shift+strzałek by chodzić na boki, Ctrl+strzałek by obracać model.")
|
||||
|
||||
S("Note: this mode is based on what you see on the screen -- but re-rendered in another way. "
|
||||
"If not everything is shown on the screen (e.g., too zoomed in), the results will be incorrect "
|
||||
"(though possibly interesting). "
|
||||
"Use a different projection to fix this.",
|
||||
|
||||
"Uwaga: ten tryb jest oparty na tym, co widzisz na ekranie -- tylko inaczej przedstawionym. "
|
||||
"Jeśli nie wszystko jest na ekranie (np. za mocno zbliżenie), wyniki będą nieprawidłowe, "
|
||||
"choć być może interesujące. Użyj innego rzutu, by to naprawić.")
|
||||
|
||||
S("vertex limit", "ograniczenie na liczbę wierzchołków")
|
||||
S("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.",
|
||||
"Im więcej wierzchołków, tym dokładniejszy model, "
|
||||
"ale za duża liczba może spowodować, że model się będzie wolno liczył i rysował.")
|
||||
|
||||
S("model distance", "odległość od modelu")
|
||||
S("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.",
|
||||
|
||||
"W perspektywie ten parametr ustawia odległość od kamery do centrum modelu. "
|
||||
"W rzucie ortogonalnym zmienia skalę.")
|
||||
|
||||
S("maximum error", "maksymalny błąd")
|
||||
S("New points are added when the current error in the model is smaller than this value.",
|
||||
"Nowe punkty są dodawane, gdy obecny błąd jest mniejszy niż ta wartość.")
|
||||
|
||||
S("field of view", "pole widzenia")
|
||||
S("Horizontal field of view, in the perspective projection. "
|
||||
"In the orthogonal projection this just controls the scale.",
|
||||
"Poziome pole widzenia, w rzucie perspektywicznym. "
|
||||
"W rzucie ortogonalnym zmienia skalę.")
|
||||
|
||||
S("native geometry", "rodzima geometria")
|
||||
S("scale model", "skala modelu")
|
||||
S("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; "
|
||||
"if the native geometry is hyperbolic, and scale > 1, a hyperbolic plane will be rendered as an equidistant surface. ",
|
||||
|
||||
"To ma znaczenie gdy rodzima geometria nie jest euklidesowa. "
|
||||
"Przykładowo, dla rodzimej geometrii sferycznej i skali < 1 2-sfera będzie modelowana jako podsfera; "
|
||||
"w rodzimej geometrii hiperbolicznej dla skali > 1 płaszczyzna hiperboliczna będzie modelowana jako powietrzchnia ekwidystantna.")
|
||||
|
||||
S("This just shows the 'z' coordinate of the selected point.",
|
||||
"To jedynie pokazuje współrzędną 'z' wybranego punktu.")
|
||||
|
||||
S("radar", "radar")
|
||||
S("model iterations", "iteracje modelu")
|
||||
S("keep shape", "trzymaj kształt")
|
||||
|
||||
// texture mode
|
||||
//--------------
|
||||
|
||||
S("texture mode", "tryb tekstury")
|
||||
|
||||
S(
|
||||
"This mode lets you to change the floor tesselation easily -- "
|
||||
"select 'paint a new texture' and draw like in a Paint program. "
|
||||
"The obtained pattern can then be easily changed to another geometry, "
|
||||
"or saved.\n\n"
|
||||
"Instead of drawing, it is also possible to use an arbitrary image "
|
||||
"as a texture. "
|
||||
"Works best with spherical/Euclidean/hyperbolic tesselations "
|
||||
"(e.g., a photo of a soccerball, or one of the tesselations by M. C. "
|
||||
"Escher), but it can be also used on arbitrary photos to make them periodic "
|
||||
"(these probably work best with the 'large picture' setting in geometry selection). "
|
||||
"Again, tesselations can have their geometry changed.\n\n",
|
||||
|
||||
"Ten tryb pozwala Ci łatwo zmienić teselację powierzchni -- "
|
||||
"wybierz 'namaluj nową teksturę' i rysuj jak w programie typu Paint. "
|
||||
"Otrzymany wzorek może być następnie przekształcony do innej geometrii "
|
||||
"lub zapisany.\n\n"
|
||||
"Zamiast rysowania jest też możliwe użycie dowolnego obrazka. "
|
||||
"Działa najlepiej z parkietażami (np. zdjęcie piłki nożnej, albo "
|
||||
"parkietaże M. C. Eschera), ale można też tego użyć na dowolnych zdjęciach, "
|
||||
"by uzyskać ich okresową wersję (zazwyczaj najlepiej działają 'duże obrazki' "
|
||||
"w wyborze geometrii). Tu również możemy przekształcić parkietaż do "
|
||||
"innej geometrii.\n\n")
|
||||
|
||||
S("texture mode (off)", "tryb tekstury (wyłączony)")
|
||||
S("select geometry/pattern", "wybierz geometrię/wzór")
|
||||
S("reactivate the texture", "reaktywuj teksturę")
|
||||
S("open PNG as texture", "otwórz PNG jako teksturę")
|
||||
S("load texture config", "ładuj konfigurację tekstury")
|
||||
S("warning: unable to find the center", "ostrzeżenie: nie udało się znaleźć centrum")
|
||||
S("texture size", "rozmiar tekstury")
|
||||
S("paint a new texture", "namaluj nową teksturę")
|
||||
S("precision", "precyzja")
|
||||
|
||||
S("texture mode (overlay)", "tryb tekstury (nałożenie)")
|
||||
S("select the texture's pattern", "wybierz wzorek tekstury")
|
||||
S("enable the texture", "uruchom teksturę")
|
||||
S("cancel the texture", "anuluj teksturę")
|
||||
S("move the model", "przesuń model")
|
||||
S("move the texture", "przesuń teksturę")
|
||||
S("zoom/scale the texture", "obróć/zmień rozmiar tekstury")
|
||||
S("zoom/scale the model", "obróć/zmień rozmiar modelu")
|
||||
S("projection", "rzut")
|
||||
S("affine transformations", "przekszt. afiniczne")
|
||||
S("magic", "magia")
|
||||
|
||||
S("grid color (master)", "kolor siatki (główny)")
|
||||
S("grid color (copy)", "kolor siatki (kopia)")
|
||||
S("save the raw texture", "zapisz surową teksturę")
|
||||
S("Saved the raw texture to %1", "Zapisano surową teksturę do %1")
|
||||
|
||||
S("texture auto-adjustment", "auto-ustawianie tekstury")
|
||||
S("drag from the model to the texture", "przeciągaj z modelu na teksturę")
|
||||
S("affect model scale", "skala modelu")
|
||||
S("affect model projection", "projekcja")
|
||||
S("affect model rotation", "obrót modelu")
|
||||
S("affect model position", "pozycja modelu")
|
||||
S("affect texture slanting", "przechylenie tekstury")
|
||||
S("affect texture stretching", "rozciągnięcie tekstury")
|
||||
S("delete markers", "usuń markery")
|
||||
S("perform auto-adjustment", "wykonaj auto-ustawianie")
|
||||
|
||||
S("texture mode (active)", "tryb tekstury (aktywny)")
|
||||
S("deactivate the texture", "wyłącz teksturę")
|
||||
S("back to overlay mode", "wróć do trybu nałożenia")
|
||||
S("change the geometry", "zmień geometrię")
|
||||
S("grid color", "kolor siatki")
|
||||
S("mesh color", "kolor siateczki")
|
||||
S("color alpha", "współczynnik koloru")
|
||||
S("The higher the value, the less important the color of underlying terrain is.",
|
||||
"Im wyższa wartość, tym mniej istotny kolor podłoża.")
|
||||
S("edit the texture", "edytuj teksturę")
|
||||
S("save the full texture image", "zapisz pełną teksturę")
|
||||
S("Saving full texture to %1...", "Zapis pełnej tekstury do %1...")
|
||||
S("save texture config", "zapisz konfigurację tekstury")
|
||||
|
||||
S("football", "piłka nożna")
|
||||
S("three colors", "trzy kolory")
|
||||
S("chessboard", "szachownica")
|
||||
S("single type", "pojedynczy typ")
|
||||
S("large picture", "duży obrazek")
|
||||
S("periodic patterns", "okresowe wzorki")
|
||||
S("more tuning", "dostrajanie")
|
||||
|
||||
S("Docks pattern", "wzorek Doków")
|
||||
|
||||
// Docks
|
||||
//-------
|
||||
|
||||
N("Docks", GEN_O, "Dok", "Doki", "Dok", "w Doku")
|
||||
N("dock", GEN_O, "dok", "doki", "dok", "dokiem")
|
||||
S("A dock.", "Dok.")
|
||||
N("burning dock", GEN_O, "płonący dok", "płonące doki", "płonący dok", "płonącym dokiem")
|
||||
S("A burning dock.", "Płonący dok.")
|
||||
|
||||
N("Sea Glass", GEN_N, "Morskie Szkło", "Morskie Szkła", "Morskie Szkło", "Morskim Szkłem")
|
||||
|
||||
// Snake Nest
|
||||
|
||||
N("Snake Nest", GEN_N, "Gniazdo Węży", "Gniazda Węży", "Gniazdo Węży", "w Gnieździe Węży")
|
||||
|
||||
N("Snake Oil", GEN_O, "Wężowy Olej", "Wężowe Oleje", "Wężowy Olej", "Wężowym Olejem")
|
||||
|
||||
S("Made of actual snakes!", "Zrobiony z prawdziwych węży!")
|
||||
|
||||
// Ruined City
|
||||
|
||||
N("Ruined City", GEN_N, "Zrujnowane Miasto", "Zrujnowane Miasta", "Zrujnowane Miasto", "w Zrujnowanym Mieście")
|
||||
|
||||
S("Once a beautiful city... but now overrun by the mighty Raiders of unknown origin.\n\n"
|
||||
"Raiders cannot be harmed with mundane weapons, but each color has its movement restrictions.",
|
||||
|
||||
"Niegdyś piękne miasto... ale obecnie zrujnowane przez potężnych Najeźdźców nieznanego pochodzenia.\n\n"
|
||||
"Najeźdźców nie można zranić zwykłą bronią, ale każdy kolor ma pewne ograniczenie ruchu.")
|
||||
|
||||
N("Chrysoberyl", GEN_O, "Chryzoberyl", "Chryzoberyle", "Chryzoberyl", "Chryzoberylem")
|
||||
S("Fragment of the past glory.", "Fragment dawnej chwały.")
|
||||
|
||||
N("Red Raider", GEN_M, "Czerwony Najeźdźca", "Czerwoni Najeźdźcy", "Czerwonego Najeźdźcę", "Czerwonym Najeźdźcą")
|
||||
S("Red Raiders travel in pairs. They are able to destroy walls on their way.",
|
||||
"Czerwoni Najeźdźcy podróżują parami. Mogą niszczyć ściany na swojej drodze.")
|
||||
|
||||
N("Gray Raider", GEN_M, "Szary Najeźdźca", "Szarzy Najeźdźcy", "Szarego Najeźdźcę", "Szarym Najeźdźcą")
|
||||
S("Gray Raiders never step on gray cells.",
|
||||
"Szarzy Najeźdźcy nie stają na szarych polach.")
|
||||
|
||||
N("Green Raider", GEN_M, "Zielony Najeźdźca", "Zieloni Najeźdźcy", "Zielonego Najeźdźcę", "Zielonym Najeźdźcą")
|
||||
S("Green Raiders never step from one green cell to another.",
|
||||
"Zieloni Najeźdźcy nie przechodzą z jednego zielonego pola na drugie.")
|
||||
|
||||
N("Brown Raider", GEN_M, "Brązowy Najeźdźca", "Brązowi Najeźdźcy", "Brązowego Najeźdźcę", "Brązowym Najeźdźcą")
|
||||
S("Brown Raiders never move adjacent to an item.",
|
||||
"Brązowi Najeźdźcy nie przechodzą koło przedmiotów.")
|
||||
|
||||
|
||||
N("Blue Raider", GEN_M, "Niebieski Najeźdźca", "Niebiescy Najeźdźcy", "Niebieskiego Najeźdźcę", "Niebieskim Najeźdźcą")
|
||||
S("Blue Raiders have a powerful attack which takes two turns to complete, and also makes the Blue Raider stunned "
|
||||
"for a long time. This attack can destroy other Raiders if it hits them.",
|
||||
"Niebiescy Najeźdźcy mają potężny atak, który trwa dwie kolejki, i powoduje, że Niebieski Najeźdźca jest "
|
||||
"ogłoszony przez dłuższy czas. Ten atak jest w stanie zniszczyć innych Najeźdźców, gdy ich trafi."
|
||||
)
|
||||
|
||||
Orb("Slaying", "Pogromu")
|
||||
|
||||
S("This Orb lets you defeat Raiders and other tough single-cell monsters in melee.",
|
||||
"Ta Sfera pozwala Ci pokonywać Najeźdźców i inne potężne jednopolowe potwory w walce wręcz.")
|
||||
|
||||
// Jelly Kingdom
|
||||
|
||||
N("Jelly Kingdom", GEN_N, "Królestwo Galarety", "Królestwa Galarety", "Królestwo Galarety", "w Królestwie Galarety")
|
||||
|
||||
S("Some of the Slime Beasts have decided to revolt against the color changing rules in the "
|
||||
"Alchemist Lab, change their shape and consistency, and create their own Kingdom.\n\n"
|
||||
"Jellies switch between being a wall and being a monster after every treasure you pick.",
|
||||
|
||||
"Część Mazistych Stworów z Laboratorium postanowiło zbuntować się przeciwko regułom zmiany koloru w "
|
||||
"Laboratorium, zmienić kształt i konsystencję, i stworzyć własne Królestwo.\n\n"
|
||||
"Galareta zmienia swój stan z potwora na ścianę i odwrotnie z każdym zebranym skarbem."
|
||||
)
|
||||
|
||||
N("Red Jelly", GEN_F, "Czerwona Galareta", "Czerwone Galarety", "Czerwoną Galaretę", "Czerwoną Galaretą")
|
||||
N("Blue Jelly", GEN_F, "Niebieska Galareta", "Niebieskie Galarety", "Niebieską Galaretę", "Niebieską Galaretą")
|
||||
|
||||
N("Tasty Jelly", GEN_F, "Pyszna Galaretka", "Pyszne Galaretki", "Pyszną Galaretkę", "Pyszną Galaretą")
|
||||
S("A tasty byproduct of the Jelly Revolution.",
|
||||
"Pyszny produkt uboczny Galaretowej Rewolucji.")
|
||||
|
||||
Orb("Phasing", "Fazy")
|
||||
S("This orb lets you pass through walls (one cell wide), and also through as long as they will not attack you in transit.",
|
||||
"Ta Sfera pozwala Ci przechodzić przez ściany (o szerokości jednego pola), a także przez potwory, o ile "
|
||||
"nie zaatakują one w trakcie ruchu.")
|
||||
|
||||
#undef Orb
|
||||
|
||||
|
@ -1274,6 +1274,9 @@ namespace patterns {
|
||||
dialog::addBoolItem(XLAT("football pattern"), subpattern_flags & SPF_FOOTBALL, '*');
|
||||
}
|
||||
|
||||
if(a38 && whichPattern == PAT_COLORING)
|
||||
dialog::addBoolItem(XLAT("Docks pattern"), subpattern_flags & SPF_DOCKS, '@');
|
||||
|
||||
dialog::addBoolItem(XLAT("display pattern codes (full)"), displaycodes, 'd');
|
||||
|
||||
dialog::addBoolItem(XLAT("display only hexagons"), (whichShape == '6'), '6');
|
||||
@ -1417,6 +1420,7 @@ namespace patterns {
|
||||
{g46, true, PAT_COLORING, SPF_SYM0123 | SPF_CHANGEROT},
|
||||
{g45, true, PAT_ZEBRA, SPF_SYM0123 | SPF_ROT},
|
||||
{g47, true, PAT_ZEBRA, SPF_SYM0123 | SPF_ROT},
|
||||
{gOctagon, true, PAT_COLORING, SPF_DOCKS},
|
||||
}}
|
||||
};
|
||||
|
||||
@ -1443,6 +1447,7 @@ namespace patterns {
|
||||
string s = XLAT(ginf[g.geo].name);
|
||||
s += chamfernames[g.nonchamf];
|
||||
if(g.subpattern_flags & SPF_ALTERNATE) s += " (alt)";
|
||||
if(g.subpattern_flags & SPF_DOCKS) s += " (Docks)";
|
||||
if(cgroup == cpZebra) {
|
||||
if(g.whichPattern == PAT_PALACE) s += " (Palace)";
|
||||
else if(g.whichPattern == PAT_EMERALD) s += " (Emerald)";
|
||||
|
6
rug.cpp
6
rug.cpp
@ -1410,7 +1410,7 @@ void show() {
|
||||
else
|
||||
dialog::addSelItem(XLAT("radar"), radar_distance == RADAR_INF ? "∞" : fts4(radar_distance), 'r');
|
||||
if(!rug::rugged)
|
||||
dialog::addSelItem(XLAT("scale model"), fts(modelscale), 'm');
|
||||
dialog::addSelItem(XLAT("model scale factor"), fts(modelscale), 'm');
|
||||
else
|
||||
dialog::addSelItem(XLAT("model iterations"), its(queueiter), 0);
|
||||
dialog::addSelItem(XLAT("field of view"), fts(fov) + "°", 'f');
|
||||
@ -1451,7 +1451,7 @@ void show() {
|
||||
else if(uni == 'v') {
|
||||
dialog::editNumber(vertex_limit, 0, 50000, 500, 3000, "vertex limit",
|
||||
"The more vertices, the more accurate the Hypersian Rug model is. "
|
||||
"However, 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; };
|
||||
}
|
||||
@ -1459,7 +1459,7 @@ void show() {
|
||||
addMessage(XLAT("This just shows the 'z' coordinate of the selected point."));
|
||||
else if(uni == 'm') {
|
||||
dialog::editNumber(modelscale, 0.1, 10, .1, 1, "model scale factor",
|
||||
"This is relevant when the native geometry is not hyperbolic. "
|
||||
"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; "
|
||||
"if the native geometry is hyperbolic, and scale > 1, a hyperbolic plane will be rendered as an equidistant surface. "
|
||||
);
|
||||
|
18
textures.cpp
18
textures.cpp
@ -904,7 +904,7 @@ void showMenu() {
|
||||
dialog::addSelItem(XLAT("color alpha"), its(color_alpha), 'c');
|
||||
dialog::addItem(XLAT("edit the texture"), 'e');
|
||||
dialog::addItem(XLAT("save the full texture image"), 'S');
|
||||
dialog::addItem(XLAT("save the texture config"), 's');
|
||||
dialog::addItem(XLAT("save texture config"), 's');
|
||||
}
|
||||
|
||||
dialog::addItem(XLAT("help"), SDLK_F1);
|
||||
@ -937,13 +937,13 @@ void showMenu() {
|
||||
pushScreen(showMagicMenu);
|
||||
|
||||
else if(uni == 's' && tstate == tsActive)
|
||||
dialog::openFileDialog(configname, XLAT("texture config to save:"), ".txc",
|
||||
dialog::openFileDialog(configname, XLAT("save texture config"), ".txc",
|
||||
[] () {
|
||||
return save_textureconfig();
|
||||
});
|
||||
|
||||
else if(uni == 'l' && tstate == tsOff)
|
||||
dialog::openFileDialog(configname, XLAT("texture config to load:"), ".txc",
|
||||
dialog::openFileDialog(configname, XLAT("load texture config"), ".txc",
|
||||
[] () {
|
||||
return load_textureconfig();
|
||||
});
|
||||
@ -952,7 +952,7 @@ void showMenu() {
|
||||
patterns::pushChangeablePatterns();
|
||||
|
||||
else if(uni == 'o' && tstate == tsOff)
|
||||
dialog::openFileDialog(texturename, XLAT("texture to load:"), ".png",
|
||||
dialog::openFileDialog(texturename, XLAT("open PNG as texture"), ".png",
|
||||
[] () {
|
||||
if(readtexture() && loadTextureGL()) {
|
||||
if(tstate_max == tsOff) tstate_max = tsAdjusting;
|
||||
@ -1023,9 +1023,15 @@ void showMenu() {
|
||||
dialog::reaction = perform_mapping;
|
||||
}
|
||||
else if(uni == 'S' && tstate == tsAdjusting)
|
||||
saveRawTexture();
|
||||
dialog::openFileDialog(texturename, XLAT("save the raw texture"), ".png",
|
||||
[] () {
|
||||
saveRawTexture(); return true;
|
||||
});
|
||||
else if(uni == 'S' && tstate == tsActive)
|
||||
saveFullTexture();
|
||||
dialog::openFileDialog(texturename, XLAT("save the full texture image"), ".png",
|
||||
[] () {
|
||||
saveFullTexture(); return true;
|
||||
});
|
||||
else if(uni == SDLK_F1)
|
||||
gotoHelp(texturehelp);
|
||||
else if(doexiton(sym, uni))
|
||||
|
Loading…
Reference in New Issue
Block a user