mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-31 05:52:59 +00:00 
			
		
		
		
	tour:: allow help extensions, and slide_url command
This commit is contained in:
		
							
								
								
									
										13
									
								
								tour.cpp
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								tour.cpp
									
									
									
									
									
								
							| @@ -35,7 +35,7 @@ EX int currentslide; | |||||||
| enum presmode {  | 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, |   pmAfterFrame = 6, pmHelpEx = 7, | ||||||
|   pmGeometry = 11, pmGeometryReset = 13, pmGeometryStart = 15, |   pmGeometry = 11, pmGeometryReset = 13, pmGeometryStart = 15, | ||||||
|   pmGeometrySpecial = 16 |   pmGeometrySpecial = 16 | ||||||
|   }; |   }; | ||||||
| @@ -96,6 +96,13 @@ EX void slide_restore_all() { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | EX void slide_url(presmode mode, char key, string text, string url) { | ||||||
|  |   if(mode == pmHelpEx) | ||||||
|  |     help_extensions.push_back(help_extension{key, text, [url] () {  | ||||||
|  |       open_url(url); | ||||||
|  |       }}); | ||||||
|  |   } | ||||||
|  |  | ||||||
| /** \brief an auxiliary function to enable a visualization in the Canvas land */ | /** \brief an auxiliary function to enable a visualization in the Canvas land */ | ||||||
| EX void setCanvas(presmode mode, char canv) { | EX void setCanvas(presmode mode, char canv) { | ||||||
|   if(mode == pmStart) { |   if(mode == pmStart) { | ||||||
| @@ -177,12 +184,14 @@ string get_subname(const string& s, const string& folder) { | |||||||
|  |  | ||||||
| /** \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(texts && slides[currentslide].help[0]) |   if(texts && slides[currentslide].help[0]) { | ||||||
|     gotoHelp( |     gotoHelp( | ||||||
|       help =  |       help =  | ||||||
|         helptitle(XLAT(get_slidename(slides[currentslide].name)), 0xFF8000) +  |         helptitle(XLAT(get_slidename(slides[currentslide].name)), 0xFF8000) +  | ||||||
|         XLAT(slides[currentslide].help) |         XLAT(slides[currentslide].help) | ||||||
|       ); |       ); | ||||||
|  |     presentation(pmHelpEx); | ||||||
|  |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
| /** \brief return from a subgame launched while in presentation */ | /** \brief return from a subgame launched while in presentation */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue