Всех приветствую. Да, сам вопрос наполовину связан с игрой и наполовину с программированием. Попробовал сделать поддержку 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).

Принятый ответ

В свойствах убери заголовочный файл и в линкере с настройками поиграй
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
32
6 лет назад
Отредактирован quq_CCCP
2
У нас только вроде Hanabishi занимался редактором, у него распроси.
Ну и раз уж ты взялся править JNGP добавил бы для текущего патча плюшек, к примеру доп возможности для создания объектов (создать N обьектов одного типа), в Редактор Триггеров добавить как в Jass Craft меню заготовок под триггеры, болекспры, группы, когда ты вводишь названия и на jass генерируются код триггера, инит функция, условие и действие (пустые), пустой болекспр, функция for group со спец глобалками, это было бы рили удобно, шаблоны для разного рода однотипных кусков кода.
В РО так и нельзя манипулировать пачками обьектов, нельзя выделить и поменять имя 10 юнитам, или способностям. Да и не мешало бы сделать ускорение работы РО с тучей обьектов, сейчас уже нет юзеров с 1 ядерным процом и гигом оперативы - можно немного поднять лимиты.
0
13
6 лет назад
0
Всё же уже сделано, зачем ещё один редактор делать?
0
13
6 лет назад
0
ENAleksey, там нет cjass + поддержка кириллицы отсутствует (она при сохранении карты редактором просто коверкается).
0
13
6 лет назад
0
Пушистый, для него можно свои плагины писать. Вот, например, плагин для WurstScript:
Вот немного информации о том, как делать плагины и как их подключить к редактору:
0
13
6 лет назад
0
ENAleksey, а что делать с кириллицей?
0
13
6 лет назад
0
Пушистый, можно написать автору и попросить, чтобы он добавил поддержку юникода.
0
7
6 лет назад
0
В свойствах убери заголовочный файл и в линкере с настройками поиграй
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.