[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Cheburator900, lCanekl  
TriOp » #System Shock 2 » Всё о System Shock 2 » DromEd/ShockEd » Хуки для DromEd (edshell)
Хуки для DromEd (edshell)
StaticZДата: Воскресенье, 02.03.2014, 04:04 | Сообщение # 1
Рядовой
Группа: Насекомое
Сообщений: 1965
Статус: Оффлайн
Кто работал или пытался работать с редактором первым делом сетуют на то, что окно редактора нельзя развернуть на полное окно. Однако сейчас конфигурации с 2мя мониторами давно уже не роскошь, и если вынести панель инструментов на другой монитор, то можно спокойно запустить редактор в родном для монитора разрешении, а на другой поместить консольку МОНО. Все бы было идеально, только вот добавленное в ND главное меню не влезает, что сильно портит удовольствие от жизни. Вот если бы перенести ее в МОНО.... Это было бы не сложно, если бы были исходники, но поскольку их нет, пришлось изворачиваться через хуки, ну и попутно сделать простенький инжектор кода. К сожалению, все оказалось еще сложнее, т.к. хоть перенести меню в консольное окно не сложно, но вот перехватывать сообщения не возможно, пришлось его рисовать на другом окне, из-за чего на данный момент немного тупит перерисовка окна, хотя в целом все получилось и работает (скрин с двух мониторов разного разрешения, так что не смущайтесь черной полосы сверху):

Установка не сложна, распаковываем архив в папку с редактором, и добавляем его конфиги в lg.ini:

Код

[EdShell]; Относительный путь к установленной игре System Shock 2
edDirPath=".\"

; Имя исполняемого файла в директории $edDirPath$, для запуска.
edAppMame="ShockEd.exe"

; Тип используемого загрузчика PE (0 - системный, 1 - собственный)
; Рекомендуемое значение 1, но в случае экзистенциальных проблем с      
; запуском его смена может решить проблемы. Однако при этом процесс      
; шела будет просто запускать новый процесс mcappname (ShockEd.exe).
UsePELoad=0

; Режим отладки и отображение консоли EdShell (по умолчанию: 0).
DebugMode=0

; В случае если активно и активна консоль MONO позволяет перенести меню из окна
; приложения в окно консоли, что позволит использовать родное расширение монитора
; для работы (при этом рекомендуется задать [WinShell]NoBorder=1).
MoveMenu=1


Ну а дальше остается запускать редактор через инжектор edshell.exe

PS UsePELoad - это мой самописнный инжектор из другого проекта, из-за путаницы с адресацией он пока не работает, может потом починю...
Прикрепления: edshell.zip (168.0 Kb)


Сообщение отредактировал StaticZ - Воскресенье, 02.03.2014, 12:46
 
TolanujiДата: Воскресенье, 04.06.2023, 19:23 | Сообщение # 2
Подполковник
Группа: UNN
Сообщений: 120
Статус: Оффлайн
Бесценно
 
KizeldurДата: Вторник, 02.01.2024, 23:00 | Сообщение # 3
Рядовой
Группа: Насекомое
Сообщений: 2
Статус: Оффлайн
qwe
 
TriOp » #System Shock 2 » Всё о System Shock 2 » DromEd/ShockEd » Хуки для DromEd (edshell)
  • Страница 1 из 1
  • 1
Поиск:
Новый ответ
Имя:
Текст сообщения:
Опции сообщения:
Код безопасности:

Хостинг от uCoz

Рейтинг@Mail.ru