mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2026-10-05 08:51:44 +00:00
alternate SteamDeck help for some tour screens
This commit is contained in:
@@ -39,6 +39,7 @@ enum presmode {
|
|||||||
pmStartAll = 0,
|
pmStartAll = 0,
|
||||||
pmStart = 1, pmFrame = 2, pmStop = 3, pmKey = 4, pmRestart = 5,
|
pmStart = 1, pmFrame = 2, pmStop = 3, pmKey = 4, pmRestart = 5,
|
||||||
pmAfterFrame = 6, pmHelpEx = 7, pmKeyAlt = 8, pmKeyAlt2 = 9,
|
pmAfterFrame = 6, pmHelpEx = 7, pmKeyAlt = 8, pmKeyAlt2 = 9,
|
||||||
|
pmSlideHelp = 10,
|
||||||
pmGeometry = 11, pmGeometryReset = 13, pmGeometryStart = 15,
|
pmGeometry = 11, pmGeometryReset = 13, pmGeometryStart = 15,
|
||||||
pmGeometrySpecial = 16
|
pmGeometrySpecial = 16
|
||||||
};
|
};
|
||||||
@@ -224,6 +225,15 @@ string get_subname(const string& s, const string& folder) {
|
|||||||
return s.substr(isize(folder));
|
return s.substr(isize(folder));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EX void alt_deck_help(presmode mode, string s) {
|
||||||
|
if(mode == pmSlideHelp && dialog::display_keys == 3) {
|
||||||
|
string slidename = get_slidename(slides[currentslide].name);
|
||||||
|
help =
|
||||||
|
helptitle(XLAT(slidename), 0xFF8000) +
|
||||||
|
XLAT(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** \brief display the help text for the current slide if texts enabled */
|
/** \brief display the help text for the current slide if texts enabled */
|
||||||
EX void slidehelp() {
|
EX void slidehelp() {
|
||||||
if(!slides[currentslide].help[0]) return;
|
if(!slides[currentslide].help[0]) return;
|
||||||
@@ -245,6 +255,8 @@ EX void slidehelp() {
|
|||||||
"menu with other options.");
|
"menu with other options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
presentation(pmSlideHelp);
|
||||||
|
|
||||||
gotoHelp(help);
|
gotoHelp(help);
|
||||||
presentation(pmHelpEx);
|
presentation(pmHelpEx);
|
||||||
}
|
}
|
||||||
@@ -677,6 +689,10 @@ EX slide default_slides[] = {
|
|||||||
"wants -- for example, in this slide, you can press '5' to get "
|
"wants -- for example, in this slide, you can press '5' to get "
|
||||||
"lots of Ice Diamonds quickly.",
|
"lots of Ice Diamonds quickly.",
|
||||||
[] (presmode mode) {
|
[] (presmode mode) {
|
||||||
|
alt_deck_help(mode,
|
||||||
|
"The game starts in the Icy Lands. Collect the Ice Diamonds "
|
||||||
|
"After you collect many of them, monsters will start to pose a challenge. "
|
||||||
|
"If you are checkmated, the tour menu has some cheats.");
|
||||||
slidecommand = "gain Ice Diamonds";
|
slidecommand = "gain Ice Diamonds";
|
||||||
if(mode == 4)
|
if(mode == 4)
|
||||||
forCellEx(c2, cwt.at)
|
forCellEx(c2, cwt.at)
|
||||||
@@ -713,6 +729,9 @@ EX slide default_slides[] = {
|
|||||||
"the surface HyperRogue actually takes place on.",
|
"the surface HyperRogue actually takes place on.",
|
||||||
#endif
|
#endif
|
||||||
[] (presmode mode) {
|
[] (presmode mode) {
|
||||||
|
alt_deck_help(mode,
|
||||||
|
"The next slide will show a rendering of the surface HyperRogue "
|
||||||
|
"actually takes place on.");
|
||||||
#if CAP_RUG
|
#if CAP_RUG
|
||||||
if(mode == 1)
|
if(mode == 1)
|
||||||
rug::init();
|
rug::init();
|
||||||
@@ -756,6 +775,9 @@ EX slide default_slides[] = {
|
|||||||
"running away in a straight line. "
|
"running away in a straight line. "
|
||||||
"Press '2' to try the same in the Euclidean world -- it is impossible.",
|
"Press '2' to try the same in the Euclidean world -- it is impossible.",
|
||||||
[] (presmode mode) {
|
[] (presmode mode) {
|
||||||
|
alt_deck_help(mode,
|
||||||
|
"You are attacked by two monsters at once. How to solve this?\n\n"
|
||||||
|
"In the Euclidean hex grid it would not be possible! (Use the tour menu to switch to Euclidean to check.)");
|
||||||
setCanvas(mode, &ccolor::football);
|
setCanvas(mode, &ccolor::football);
|
||||||
if(mode == 5) {
|
if(mode == 5) {
|
||||||
cwt.at->move(0)->monst = moRunDog;
|
cwt.at->move(0)->monst = moRunDog;
|
||||||
@@ -838,6 +860,12 @@ EX slide default_slides[] = {
|
|||||||
"Press '5' to cheat by seeing the smaller circles too.\n\n"
|
"Press '5' to cheat by seeing the smaller circles too.\n\n"
|
||||||
"Note: Camelot and some other lands are unlocked earlier in the Tutorial than in a real game.",
|
"Note: Camelot and some other lands are unlocked earlier in the Tutorial than in a real game.",
|
||||||
[] (presmode mode) {
|
[] (presmode mode) {
|
||||||
|
alt_deck_help(mode,
|
||||||
|
"Circles are strange in hyperbolic geometry too. "
|
||||||
|
"Look for the Castle of Camelot in the Crossroads; "
|
||||||
|
"the Round Table inside is a circle of radius 28. "
|
||||||
|
"Finding its center is a difficult challenge."
|
||||||
|
);
|
||||||
slidecommand =
|
slidecommand =
|
||||||
camelotcheat ? XLAT("enable the Camelot cheat")
|
camelotcheat ? XLAT("enable the Camelot cheat")
|
||||||
: XLAT("disable the Camelot cheat");
|
: XLAT("disable the Camelot cheat");
|
||||||
@@ -1033,6 +1061,9 @@ EX slide default_slides[] = {
|
|||||||
"If you want, press '5' to see it rendered as a spiral, although it takes lots of time and "
|
"If you want, press '5' to see it rendered as a spiral, although it takes lots of time and "
|
||||||
"memory.",
|
"memory.",
|
||||||
[] (presmode mode) {
|
[] (presmode mode) {
|
||||||
|
alt_deck_help(mode,
|
||||||
|
"The band model. The hyperbolic analog of the Mercator projection of the sphere."
|
||||||
|
);
|
||||||
static int smart;
|
static int smart;
|
||||||
if(mode == 1) pmodel = mdBand, history::create_playerpath(), models::rotation = Id,
|
if(mode == 1) pmodel = mdBand, history::create_playerpath(), models::rotation = Id,
|
||||||
smart = vid.use_smart_range, vid.use_smart_range = 2;
|
smart = vid.use_smart_range, vid.use_smart_range = 2;
|
||||||
@@ -1088,6 +1119,9 @@ EX slide default_slides[] = {
|
|||||||
"Have fun exploring!\n\n"
|
"Have fun exploring!\n\n"
|
||||||
"Press '5' to leave the tour mode.",
|
"Press '5' to leave the tour mode.",
|
||||||
[] (presmode mode) {
|
[] (presmode mode) {
|
||||||
|
alt_deck_help(mode,
|
||||||
|
"This ends our tour. Have fun exploring the rest of HyperRogue world!"
|
||||||
|
);
|
||||||
slidecommand = XLAT("leave the tour mode");
|
slidecommand = XLAT("leave the tour mode");
|
||||||
if(mode == 4) restart_game(rg::tour);
|
if(mode == 4) restart_game(rg::tour);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user