Quote:А это, по идее, никакой язык не позволит, т.к. смещение будет относительным и при загрузке dll по другому адресу "поплывет".
Действительно, как я сам об этом не подумал..
Просто мне хотелось для начала перенести в длл все в точности как у меня было в экзешнике, чтобы было минимум работы и чтобы максимально быстро получить рабочий вариант длл, а потом уже овысокоуровнить всё постепенно. Ну и я в процессе предыдущей работы привык к максимально короткому и эффективному коду и теперь мне все что выдает компилятор vc++ кажется громоздким.
У меня тут еще проблема одна была с внедрением своего высокоуровневого кода в героев, оказывается у меня в настройках проекта все функции по умолчанию были __cdecl (а все геройские то __stdcall), а я этого не знал, не знал вообще что значат эти __cdecl, __stdcall но все же сделал рабочий длл. Теперь придется переделывать, чтобы ничего не было через Ж.
Кстати, как быть с геройискими функциями, у которых один аргумент передается в регистре ecx. Я ж не могу объявить функцию с есх аргументом, да? Тоесть при вызове такой функции из не асм кода все равно предется MOVать в ЕСХ аргумент?
И вот еще вопрос.
Мой патчер из bmp кусочков склеивал картинку под нужное разрешение, и сохранял ее в формате Zsoft PCX в папке Дата. А теперь при переходе на Длл смысла сохранять картинку в файл нет. Нужно чтобы ее клеила Длл и конвертила в формат загруженного героями PCX. В этом формате я вроде бы разобрался, у него вроде как палитра записана 16-ти битными цветами, кто знает какой там формат цвета - 565, 4444 или че другое?