Добавлен  Пушистый 
                            
                            
                            
                            
                            
                            
                        
                        
                    Всех приветствую. Да, сам вопрос наполовину связан с игрой и наполовину с программированием. Попробовал сделать поддержку 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.
Попробовал убрать этот 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). | 
Принятый ответ
В свойствах убери заголовочный файл и в линкере с настройками поиграй
    
        
            
                `
            
            
                
        
    
    ОЖИДАНИЕ РЕКЛАМЫ...
            
                Показан только небольшой набор комментариев вокруг указанного.
                
                    Перейти к актуальным.
                
            
        
        
        
            
            0
        
    
 Показать
    
                    
                    
                    
                    
                    
                       ENAleksey
                    
                    
                    
                    
                        7 лет
                        
                    
                    
                
                
        
            
            0
        
    
 Показать
                Всё же уже сделано, зачем ещё один редактор делать?
https://www.hiveworkshop.com/threads/sharpcraft-world-editor-ext...
        
            
            0
        
    
 Показать
    
                    
                    
                    
                    
                    
                       Пушистый
                    
                    
                    
                    
                        7 лет
                        
                    
                    
                
                
        
            
            0
        
    
 Показать
                 ENAleksey, там нет cjass + поддержка кириллицы отсутствует (она при сохранении карты редактором просто коверкается).
        
            
            0
        
    
 Показать
    
                    
                    
                    
                    
                    
                       ENAleksey
                    
                    
                    
                    
                        7 лет
                        
                    
                    
                
                
        
            
            0
        
    
 Показать
                 Пушистый, для него можно свои плагины писать. Вот, например, плагин для WurstScript:
https://gitlab.com/sharpcraft/MindWorX.Plugins/blob/dev_war3game...
Вот немного информации о том, как делать плагины и как их подключить к редактору:
https://www.hiveworkshop.com/threads/converting-old-plugin.29525...
        
            
            0
        
    
 Показать
    
                    
                    
                    
                    
                    
                       Пушистый
                    
                    
                    
                    
                        7 лет
                        
                    
                    
                
                
        
            
            0
        
    
 Показать
                 ENAleksey, а что делать с кириллицей?
        
            
            0
        
    
 Показать
    
                    
                    
                    
                    
                    
                       ENAleksey
                    
                    
                    
                    
                        7 лет
                        
                    
                    
                
                
        
            
            0
        
    
 Показать
                 Пушистый, можно написать автору и попросить, чтобы он добавил поддержку юникода.
        
            
            0
        
    
 Показать
    
                    
                    
                    
                    
                    
                       Tapper
                    
                    
                    
                    
                        7 лет
                        
                    
                    
                
                
        
            
            0
        
    
 Показать
                
    
         Принятый ответ
        
    
В свойствах убери заголовочный файл и в линкере с настройками поиграй
                Показан только небольшой набор комментариев вокруг указанного.
                
                    Перейти к актуальным.
                
            
        
        
            
        
    
                    
                        Чтобы оставить комментарий, пожалуйста, войдите на сайт.
                    
                
             
                        
                        
                    
 WC3
                                WC3
                            



 
                    
                


 
                        
                    