Всех приветствую. Да, сам вопрос наполовину связан с игрой и наполовину с программированием. Попробовал сделать поддержку JNGP на патче 1.29. Удалось достичь сохранения всех классических его фич (поддержка cJass, vJass + их компиляторы). Все работает должным образом, но есть одно но: редактор все еще использует worldedit121.exe (то есть редактор при патче 1.21). Правил lua-файлы, да и просто подменял файлы, чтобы запустился редактор версии 1.29 (тестировал свою идею на версии 1.29.2), но при запуске происходит ошибка в файле wehack.dll ("Could not redirect CreateFileA").
Попробовал убрать этот dll-файл из директории JNGP - соответственно, запускается все правильно - редактор версии 1.29.2, но без фич JNGP. Даже попробовал его инжектить после загрузки нормального редактора, но все равно появляется ошибка, о которой было сказано выше, поэтому я решил править файл-исходник wehack.cpp (на скриншоте 4 строки решил внести под комментарий, дабы посмотреть, что из этого выйдет), но возникла главная проблема - скомпилировать все в dll.
Организовал проект в Visual Studio, поискал все необходимые файлы, необходимые для компиляции (указал на них ссылки в проекте, чтобы файлы правильно ссылались на них), но когда казалось бы решение нашлось - возникли ошибки такого плана. Связать их с чем-то у меня не получается (все необходимые файлы присутствуют - ссылки на них внизу, под вопросом). Был вариант, что это связано с объявлением каких-то глобальных переменных, но все же файлы присутствуют и связаны верно.
Если в файле wehack.cpp вверху убрать предскомпилированный заголовок #include "stdafx.h", то ошибки исчезают, но программа выбивает 1 ошибку (необходимо добавить этот заголовок в шапку). Попробовал его вовсе вставить в последнюю строчку, чтобы компилятор не жаловался - компиляция пошла, создался файл wehack.dll с ошибками и на порядок меньше, чем он должен бы быть - 34 кб, когда имеющийся в JNGP - 265 кб + при нем запускается обычный редактор.
Также в исходниках Grimoire есть "таинственный" файл Makefile, который должен по логике должен собрать проект при его запуске, но как его заставить это сделать - мне не известно (инструкции находятся в Makefile и SConstruct).
Хочу выслушать мнения программистов по данному поводу. Для картостроения поддержка JNGP на последних версиях игры была бы крайне важной.
Всем заранее спасибо.
sourceforge.net/p/w3grimoire/code/HEAD/tree/source - исходники Grimoire - оттуда брал файлы + исходники lua 5.1 (www.lua.org/ftp; исходники находятся в папке src).

В свойствах убери заголовочный файл и в линкере с настройками поиграй
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
13
ENAleksey, там нет cjass + поддержка кириллицы отсутствует (она при сохранении карты редактором просто коверкается).
13
Пушистый, для него можно свои плагины писать. Вот, например, плагин для WurstScript:
Вот немного информации о том, как делать плагины и как их подключить к редактору:
13
Пушистый, можно написать автору и попросить, чтобы он добавил поддержку юникода.
7
В свойствах убери заголовочный файл и в линкере с настройками поиграй
Принятый ответ
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.