Exemple #1
0
int main(int argc, char *argv[])
{
	int os = 0;
	int err = 0;
	int java = 0;
	printf("Verifying the loader is in the same directory as minecraft.jar..\n");
	if (VerifyFileExists("minecraft.jar") != 1)
	{
		printf("Unable to detect minecraft.jar. Please put the loader into the minecraft folder and re-run the loader\n");
		err = 1;
	}
	else
	{
		printf("Attempting to detect which architexture is available..\n");
		os = GetOSType();
		printf("Attempting to detect which java version is available..\n");
		java = GetJavaTypeAndPath(os);
		printf("Attempting to launch Minecraft..\n");
		err = Launch(os, java);
	}
#ifdef _DEBUG
	getchar();
#else
	if (err != 0)
	{
		//We'll break if we get an error
		printf("Please press enter to exit\n");
		getchar();
	}
#endif
	return 0;
}
bool FAssetTypeActions_CSVAssetBase::CanExecuteFindExcelFileInExplorer(TArray<FString> Filenames, TArray<FString> OverrideExtensions) const
{
	// Verify that extensions were provided
	if (OverrideExtensions.Num() == 0)
	{
		return false;
	}

	// Verify that the file exists with any of the given extensions
	for (TArray<FString>::TConstIterator FilenameIter(Filenames); FilenameIter; ++FilenameIter)
	{
		const FString CSVFilename = FPaths::ConvertRelativePathToFull(*FilenameIter);
		const FString RootPath = FPaths::GetPath(CSVFilename);
		const FString BaseFilename = FPaths::GetBaseFilename(CSVFilename, true);

		for (TArray<FString>::TConstIterator ExtensionItr(OverrideExtensions); ExtensionItr; ++ExtensionItr)
		{
			const FString FilenameWithExtension(FString::Printf(TEXT("%s/%s%s"), *RootPath, *BaseFilename, **ExtensionItr));
			if (VerifyFileExists(FilenameWithExtension))
			{
				return true;
			}
		}
	}

	return false;
}
void FAssetTypeActions_CSVAssetBase::ExecuteFindExcelFileInExplorer(TArray<FString> Filenames, TArray<FString> OverrideExtensions)
{
	for (TArray<FString>::TConstIterator FilenameIter(Filenames); FilenameIter; ++FilenameIter)
	{
		const FString CSVFilename = FPaths::ConvertRelativePathToFull(*FilenameIter);
		const FString RootPath = FPaths::GetPath(CSVFilename);
		const FString BaseFilename = FPaths::GetBaseFilename(CSVFilename, true);
		
		for (TArray<FString>::TConstIterator ExtensionItr(OverrideExtensions); ExtensionItr; ++ExtensionItr)
		{
			const FString FilenameWithExtension(FString::Printf(TEXT("%s/%s%s"), *RootPath, *BaseFilename, **ExtensionItr));
			if (VerifyFileExists(FilenameWithExtension))
			{
				FPlatformProcess::LaunchFileInDefaultExternalApplication(*FilenameWithExtension, NULL, ELaunchVerb::Edit);
				break;
			}
		}
	}
}
Exemple #4
0
int GetJavaTypeAndPath(int arch)
{
	//Return 86 or 64 depending on which java is avialable. 0 means it isn't available. Also, set the reg key
	char buffer[20];
	HKEY key;
	char base[] = "SOFTWARE\\JavaSoft\\Java Runtime Environment";
	char regKeyPath[150];
	long tmp = 0;
	int type = 0;
	DWORD shit = 20;
	if (arch == 64)
	{
		//Not a cure-all, but it seems if its in SysWow64, then its 64 bit available
		if (VerifyFileExists("C:\\Windows\\Syswow64\\javaw.exe")) { type = 64;}	
	}
	pathLen = 257;
	ZeroMemory(buffer, 20);
	//Now lets get the folder path, since launching from Windows\SysWow64\javaw.exe doesn't allow us to run in 64-bit mode
	//We'll also try to verify if we can run in 64 bit mode by seeing if its in Program Files (x86) on a 64-bit machine
	strcpy(regKeyPath, base);
	tmp = RegOpenKeyEx(HKEY_LOCAL_MACHINE, base,0, KEY_READ | KEY_WOW64_64KEY ,&key);
	if (tmp != ERROR_SUCCESS)
		{ return 0;}
	tmp = RegGetValue(key, NULL,"CurrentVersion", RRF_RT_REG_SZ, NULL, (PVOID)&buffer, &shit);
	if (tmp != ERROR_SUCCESS)
		{ return 0;}
	strcat(regKeyPath, "\\");
	strcat(regKeyPath, buffer);
	tmp = RegOpenKeyEx(HKEY_LOCAL_MACHINE, regKeyPath,0, KEY_READ | KEY_WOW64_64KEY ,&key);
	if (tmp != ERROR_SUCCESS)
		{ return 0;}
	tmp = RegGetValue(key, NULL,"JavaHome", RRF_RT_REG_SZ, NULL, (PVOID)&javaBinPath, &pathLen);
	if (tmp != ERROR_SUCCESS)
		{ return 0;}
	//Append the exe
	strcat(javaBinPath, "\\bin\\javaw.exe");
	if (arch != 64) { arch = 86;} 
	return arch;
}