private void DebuggerService_MachineCreated(object sender, MachineCreatedEventArgs e) { for (int i = 0; i < 240; i++) { globals[i].Visible = true; } Update(storyOpened: true); }
private void DebuggerService_MachineCreated(object sender, MachineCreatedEventArgs e) { mainWindow = windowManager.Open(ZWindowType.TextBuffer); windowContainer.Children.Add(mainWindow); upperWindow = windowManager.Open(ZWindowType.TextGrid, mainWindow, ZWindowPosition.Above, ZWindowSizeType.Fixed, 0); windowManager.Activate(mainWindow); debuggerService.Machine.RegisterScreen(this); debuggerService.Machine.RegisterSoundEngine(this); }
private void DebuggerService_MachineCreated(object sender, MachineCreatedEventArgs e) { mainWindow = windowManager.Open(ZWindowType.TextBuffer); windowContainer.Children.Add(mainWindow); upperWindow = windowManager.Open(ZWindowType.TextGrid, mainWindow, ZWindowPosition.Above, ZWindowSizeType.Fixed, 0); windowManager.Activate(mainWindow); debuggerService.Machine.RegisterScreen(this); debuggerService.Machine.RegisterSoundEngine(this); // Listen to SizeChanged events for updating the screen size. // Otherwise, the size of the output window at load time determines the registered size mainWindow.SizeChanged += OutputViewModel_SizeChanged; }
private void DebuggerService_MachineCreated(object sender, MachineCreatedEventArgs e) { // TODO: Why is this code required to be done twice, just like in the ViewModel? foreach (var currentRoutine in this.routineService.RoutineTable) { int[] newLabels = ReadLabels(currentRoutine.Instructions.ToArray(), currentRoutine.Address, currentRoutine.Length); for (int i = 0; i < newLabels.Length; i++) { int currentLabel = newLabels[i]; // We set the labels to start at 1 to be consistent with TXD output SetLabel(currentLabel, i + 1); } } this.routineService.RoutineTable.RoutineAdded += RoutineTable_RoutineAdded; }
private void DebuggerService_MachineCreated(object sender, MachineCreatedEventArgs e) { Update(); }
private void DebuggerService_MachineCreated(object sender, MachineCreatedEventArgs e) { debuggerService.StateChanged += DebuggerService_StateChanged; debuggerService.Machine.RegisterMessageLog(this); }
private void DebuggerService_MachineCreated(object sender, MachineCreatedEventArgs e) { Update(); PropertyChanged("HasStory"); }
private void DebuggerService_MachineCreated(object sender, MachineCreatedEventArgs e) { var reader = new MemoryReader(storyService.Story.Memory, 0); DisassemblyLineViewModel ipLine; lines.BeginBulkOperation(); try { var routineTable = routineService.RoutineTable; for (int rIndex = 0; rIndex < routineTable.Count; rIndex++) { var routine = routineTable[rIndex]; if (rIndex > 0) { var lastRoutine = routineTable[rIndex - 1]; if (lastRoutine.Address + lastRoutine.Length < routine.Address) { var addressGapLine = new DisassemblyAddressGapLineViewModel(lastRoutine, routine) { ShowBlankBefore = true }; lines.Add(addressGapLine); } } var routineHeaderLine = new DisassemblyRoutineHeaderLineViewModel(routine) { ShowBlankBefore = rIndex > 0, ShowBlankAfter = true }; routineAddressAndIndexList.Add(new AddressAndIndex(routineHeaderLine.Address, lines.Count)); lines.Add(routineHeaderLine); addressToLineMap.Add(routine.Address, routineHeaderLine); var instructions = routine.Instructions; var lastIndex = instructions.Length - 1; for (int i = 0; i <= lastIndex; i++) { var instruction = instructions[i]; var instructionLine = new DisassemblyInstructionLineViewModel(instruction, i == lastIndex); if (breakpointService.Exists(instruction.Address)) { instructionLine.HasBreakpoint = true; } lines.Add(instructionLine); addressToLineMap.Add(instruction.Address, instructionLine); } } ipLine = GetLineByAddress(debuggerService.Machine.PC); ipLine.HasIP = true; } finally { lines.EndBulkOperation(); } BringLineIntoView(ipLine); routineService.RoutineTable.RoutineAdded += RoutineTable_RoutineAdded; }