mirror of
				https://github.com/Zelda64Recomp/Zelda64Recomp.git
				synced 2025-10-30 08:03:03 +00:00 
			
		
		
		
	Parse version number from a string and provide it to the runtime
This commit is contained in:
		
							parent
							
								
									a9bb035c0b
								
							
						
					
					
						commit
						f4e8884de6
					
				
					 4 changed files with 15 additions and 4 deletions
				
			
		|  | @ -58,7 +58,7 @@ | |||
| 					</div> | ||||
| 				</div> | ||||
| 				<div class="bottom-left"> | ||||
| 					<label>{{version_number}}</label> | ||||
| 					<label>v{{version_number}}</label> | ||||
| 				</div> | ||||
| 			</div> | ||||
| 		</div> | ||||
|  |  | |||
|  | @ -1 +1 @@ | |||
| Subproject commit 5699906f34fcc82905303092d081ad92aa74f926 | ||||
| Subproject commit 09f5759d3a68437d407d54922e3fddf0c52f4dad | ||||
|  | @ -37,6 +37,8 @@ | |||
| 
 | ||||
| #include "../../lib/rt64/src/contrib/stb/stb_image.h" | ||||
| 
 | ||||
| const std::string version_string = "1.2.0-dev"; | ||||
| 
 | ||||
| template<typename... Ts> | ||||
| void exit_error(const char* str, Ts ...args) { | ||||
|     // TODO pop up an error
 | ||||
|  | @ -527,6 +529,12 @@ void release_preload(PreloadContext& context) { | |||
| #endif | ||||
| 
 | ||||
| int main(int argc, char** argv) { | ||||
|     recomp::Version project_version{}; | ||||
|     if (!recomp::Version::from_string(version_string, project_version)) { | ||||
|         ultramodern::error_handling::message_box(("Invalid version string: " + version_string).c_str()); | ||||
|         return EXIT_FAILURE; | ||||
|     } | ||||
| 
 | ||||
|     // Map this executable into memory and lock it, which should keep it in physical memory. This ensures
 | ||||
|     // that there are no stutters from the OS having to load new pages of the executable whenever a new code page is run.
 | ||||
|     PreloadContext preload_context; | ||||
|  | @ -625,6 +633,7 @@ int main(int argc, char** argv) { | |||
| 
 | ||||
|     recomp::start( | ||||
|         64 * 1024 * 1024, // 64MB to have plenty of room for loading mods
 | ||||
|         project_version, | ||||
|         {}, | ||||
|         rsp_callbacks, | ||||
|         renderer_callbacks, | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
| #include "nfd.h" | ||||
| #include <filesystem> | ||||
| 
 | ||||
| std::string version_number = "v1.1.1"; | ||||
| static std::string version_string; | ||||
| 
 | ||||
| Rml::DataModelHandle model_handle; | ||||
| bool mm_rom_valid = false; | ||||
|  | @ -103,7 +103,9 @@ public: | |||
| 		Rml::DataModelConstructor constructor = context->CreateDataModel("launcher_model"); | ||||
| 
 | ||||
| 		constructor.Bind("mm_rom_valid", &mm_rom_valid); | ||||
| 		constructor.Bind("version_number", &version_number); | ||||
| 
 | ||||
| 		version_string = recomp::get_project_version().to_string(); | ||||
| 		constructor.Bind("version_number", &version_string); | ||||
| 
 | ||||
| 		model_handle = constructor.GetModelHandle(); | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Mr-Wiseguy
						Mr-Wiseguy