public bool Load(string fileName)
{
eventListener.ShowStatus("Loading source program.");
byte[] image = loader.LoadImageBytes(fileName, 0);
var projectLoader = new ProjectLoader(this.services, loader, eventListener);
projectLoader.ProgramLoaded += (s, e) => { RunScriptOnProgramImage(e.Program, e.Program.User.OnLoadedScript); };
Project = projectLoader.LoadProject(fileName, image);
bool isProject;
if (Project != null)
{
isProject = true;
}
else
{
var program = loader.LoadExecutable(fileName, image, null);
Project = CreateDefaultProject(fileName, program);
Project.LoadedMetadata = program.Platform.CreateMetadata();
program.EnvironmentMetadata = Project.LoadedMetadata;
isProject = false;
}
BuildImageMaps();
eventListener.ShowStatus("Source program loaded.");
return isProject;
}