bool
CPrjDef::
Load(const char *name)
{
  char *line = lineBuffer;
  FILE *prjFile = fopen(name, "rt");
  if (!prjFile)
  {
    Warning("CPrjDef::Load", "Unable to open file <%s>. Using the default directory structure", name);
    // set the defaults - assuming that we are running from models directory
    acsInstallPath = "..";
    interfacePath = ".";
    projectName = "";
    SetProjectPath(this, "..\\runtime");
    return false;
  }

  while(fgets(line, BUFLEN, prjFile))
  {
    if (line[0] == '#') continue;
    if (strlen(line) == 0) continue;
    ParseLine(line);
  }
  fclose(prjFile);
  return true;
}
void SProjectPicker::HandleProjectMenuEntryClicked(FString ProjectPath)
{
	if (ProjectPath.IsEmpty())
	{
		FString DefaultPath = FPaths::RootDir();

		TSharedPtr<SWindow> ParentWindow = FSlateApplication::Get().FindWidgetWindow(AsShared());
		void* ParentWindowHandle = (ParentWindow.IsValid() && ParentWindow->GetNativeWindow().IsValid()) ? ParentWindow->GetNativeWindow()->GetOSWindowHandle() : nullptr;

		TArray<FString> OutFiles;
		if (FDesktopPlatformModule::Get()->OpenFileDialog(ParentWindowHandle, LOCTEXT("SelectProjectDialogTitle", "Select a project").ToString(), DefaultPath, TEXT(""), TEXT("Project files (*.uproject)|*.uproject"), EFileDialogFlags::None, OutFiles))
		{
			SetProjectPath(OutFiles[0]);
		}
	}
	else
	{
		SetProjectPath(ProjectPath);
	}
}