Важная информация

User Tag List

Показано с 1 по 2 из 2

Тема: Модификация Unreal

  1. #1
    Member
    Регистрация
    27.01.2005
    Адрес
    С.-Петербург
    Сообщений
    93
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Модификация Unreal

    Захотелось получить установку точки останова в отладчике при помощи контекстного меню. Автора пинать не очень хотелось, так как проблема (вроде бы) несложная, и исходники, слава богу, присутствуют.
    Но сколько ни бился, ничего не получилось...
    Подскажите, кто в курсе!

    Заранее спасибо.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Veteran Аватар для SMT
    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от valker
    Захотелось получить установку точки останова в отладчике при помощи контекстного меню.
    Подскажите, кто в курсе!
    Код:
    void handle_mouse()
    {
       unsigned mx = ((mousepos & 0xFFFF)-temp.gx)/8,
                my = (((mousepos >> 16) & 0x7FFF)-temp.gy)/16;
       if (my >= trace_y && my < trace_y+trace_size && mx >= trace_x && mx < trace_x+32) {
          needclr++; activedbg = WNDTRACE;
          trace_curs = trpc[my - trace_y];
          if (mx - trace_x < cs[1][0]) trace_mode = 0;
          else if (mx - trace_x < cs[2][0]) trace_mode = 1;
          else trace_mode = 2;
       }
       if (my >= mem_y && my < mem_y+mem_size && mx >= mem_x && mx < mem_x+37) {
          needclr++; activedbg = WNDMEM;
          unsigned dx = mx-mem_x;
          if (mem_dump) {
             if (dx >= 5) mem_curs = mem_top + (dx-5) + (my-mem_y)*32;
          } else {
             unsigned mem_se = (dx-5)%3;
             if (dx >= 29) mem_curs = mem_top + (dx-29) + (my-mem_y)*8, mem_ascii=1;
             if (dx >= 5 && mem_se != 2 && dx < 29)
                mem_curs = mem_top + (dx-5)/3 + (my-mem_y)*8,
                mem_second = mem_se, mem_ascii=0;
          }
       }
       if (mx >= regs_x && my >= regs_y && mx < regs_x+32 && my < regs_y+4) {
          needclr++; activedbg = WNDREGS;
          for (unsigned i = 0; i < sizeof regs_layout / sizeof *regs_layout; i++) {
             unsigned delta = 1;
             if (regs_layout[i].width == 16) delta = 4;
             if (regs_layout[i].width == 8) delta = 2;
             if (my-regs_y == regs_layout[i].y && mx-regs_x-regs_layout[i].x < delta) regs_curs = i;
          }
       }
       if (mousepos & 0x80000000) { // right-click
          enum { IDM_BPX=1, IDM_SOME_OTHER };
          HMENU menu = CreatePopupMenu();
          if (activedbg == WNDTRACE) {
             AppendMenu(menu, MF_STRING, IDM_BPX, "breakpoint");
          } else {
             AppendMenu(menu, MF_STRING, 0, "I don't know");
             AppendMenu(menu, MF_STRING, 0, "what to place");
             AppendMenu(menu, MF_STRING, 0, "to menu, so");
             AppendMenu(menu, MF_STRING, 0, "No Stuff Here");
          }
          int cmd = TrackPopupMenu(menu, TPM_RETURNCMD | TPM_NONOTIFY | TPM_LEFTALIGN | TPM_TOPALIGN,
             (mousepos & 0xFFFF) + temp.client.left,
             ((mousepos>>16) & 0x7FFF) + temp.client.top, 0, wnd, 0);
          DestroyMenu(menu);
          if (cmd == IDM_BPX) cbpx();
          //if (cmd == IDM_SOME_OTHER) some_other();
          //needclr++;
       }
       mousepos = 0;
    }

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Новые возможности Unreal
    от razer в разделе Эмуляторы
    Ответов: 122
    Последнее: 26.02.2005, 02:05
  2. Подружить alasm4.47 и unreal 0.25 на предмет меток
    от lvd в разделе Программирование
    Ответов: 14
    Последнее: 26.01.2005, 07:33

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •