DracoL1ch, грубо говоря:
берется размер, по этому размеру читается вектор
"Выводилка текста" читает как раз тот самый вектор и мусор до нуля
Проверял память, действительно всё совпадает
Вот как в хексе, не смотри что это конец файла (такое бывает и у первого триггера)
Это не зависит от версии редактора, но пока что у меня в 1.31 наблюдается такое
Но и в 1.26 несколько раз видел
P.S. после //ok и //ko должен стоять '\0' и конечно же размер 5 вместо 4
Просто я вручную редактировал, а так, такое в быту не встречается
Нашел серьезный косяк в алгоритмах чтения war3map.wct
Тут просто без слов, откройте карту и проверьте оба триггера, запомните что там было написано
Закройте карту и откройте ещё раз (если не будет никаких изменений - то ещё раз закройте/откройте)
GetLocalPlayer, там будут проблемы с событиями (их же в кастом код не сконвертишь)
А так, конвертер можно настроить в обратную сторону, чтобы он отключал и помечал всё что есть только в JNGP
Надо содержимое TriggerData_JNGP_26.txt заменить на TriggerData.txt из 1.31 ("UI\TriggerData.txt") TriggerData.txt
PT153, в 1.31 зачем-то ввели эту штуку:
если триггер является комментарием, то он не содержит кода в .wct
(комментарий к триггеру, скрипт, триггер - всё это считается триггером, но с особыми флагами)
у всех остальных код присутствует, даже если это GUI (код конечно же будет пустым)
borissuworov, карты не расчитаны на открытие в игре
Их надо пересохранить в редакторе
10-20 КБ это нормально, если не ошибаюсь, конвертер не сжимает карту после конвертирования
Проверил карту, нормально конвертируется и открывается в игре
Надеюсь исходник не перепутан со сконвертированной картой?)
Т.к варкрафт не будет видеть исходник если он создавался в версии 1.31
ок, понял где ошибка
Попробую по версии редактора в war3map.w3i детектить сколько использовалось игроков, 12 или 24
Заодно исправлю ошибку если сконвертировать карту и снова открыть в 1.31 (типа нейтралы становятся бордовыми и фиолетовыми)
так, я чуть ошибся
содержимое TriggerData_JNGP_26.txt нужно поменять на содержимое TriggerData из 1.32 (CascView, папка UI)
а содержимое TriggerData_JNGP_31.txt поменять на TriggerData_JNGP_26.txt
Smart096, либо с потерями, либо ждать JNGP для 1.32
В теории конвертер можно легко обмануть
Поменять местами содержимое TriggerData_JNGP_26.txt и TriggerData_JNGP_31.txt
Все функции JNGP которые не поддерживаются - будут отключены и отображаться как "Ошибка"
Только не забудь потом обратно поменять местами, а то даунгрейд карт поломается)
я эту проблему уже решил)
Везде где только знаю, я уменьшаю номер игрока, к примеру 13 (бордовый) в 1 (красный)
Триггеры, юниты и т.д
Т.е по идее благоприятные условия чтобы карта открылась и сохранилась
Всё остальное, типа ручное указывае номера игрока, мультиборды на 24 игрока и т.д - это конечно же должен уже юзер сам исправлять
UPD:
остался по идее последний шаг
До этого я просто отключал несовместимые функции, но теперь оказалось что могут быть ещё несовместимые типы, параметры и т.д
Придется уже серьёзно написать код чтобы это лечить, заодно придется в один большой лог выводить всё что было удалено
Надо не забывать что в war3map.w3i лежит флаг который говорит игре/редактору что юзать
К примеру если карта сохранялась в JASS-моде, то нельзя будет вместо war3map.j подсунуть war3map.lua и наоборот
И после подмены скрипта важно не сохранять карту в редакторе - иначе всё сводится к бесполезности
нашли где офтопить(
я пока что пишу конвертирование триггеров, закончу в ближайшие несколько часов и напишу конвертирование данных о камерах
UPD:
окей не сегодня, конвертер триггеров готов, но там куча багов (а это надо на свежую голову чинить)
UPD:
дописал и довёл до рабочего состояния конвертер триггеров
ща отдохну и по быстрому надо написать конвертер камер + вывод и удаление несовместимых функций триггеров
UPD:
дописал конвертер камер, доработал/укомплектовал код и сделал его адекватным
думаю сегодня вечером уже закончу
ещё несколько дней наверное займет оформление графической оболочки
а там уже можно будет код в опенсорс на гитхаб залить
UPD:
всё отдебажил, всё в рабочем состоянии
осталось сделать "стресс-тест" и прочие проверки чтобы всё работало без ошибок конвертирования
думаю сегодня вечером уже опубликую
графическую оболочку пока что не хочется делать, т.к там свои тонкости и геморрой
главное программа в рабочем состоянии)))
с гитхабом тоже придется потянуть
UPD:
как обычно всплыла ещё проблема после тестов
war3mapUnits.doo если содержит индексы игрока больше 12 - то карта фаталит
так же с war3map.w3i и как я это прогадал...
в общем завтра окончательно допишу и опубликую
» WarCraft 3 / Глючит карта
» WarCraft 3 / Бета версия Warcraft III Reforged 1.32
Ред. Hodor
» WarCraft 3 / Формат карт Warcraft 3
берется размер, по этому размеру читается вектор
"Выводилка текста" читает как раз тот самый вектор и мусор до нуля
Проверял память, действительно всё совпадает
Это не зависит от версии редактора, но пока что у меня в 1.31 наблюдается такое
Но и в 1.26 несколько раз видел
P.S. после //ok и //ko должен стоять '\0' и конечно же размер 5 вместо 4
Просто я вручную редактировал, а так, такое в быту не встречается
» WarCraft 3 / Формат карт Warcraft 3
Тут просто без слов, откройте карту и проверьте оба триггера, запомните что там было написано
Закройте карту и откройте ещё раз (если не будет никаких изменений - то ещё раз закройте/откройте)
Ред. Hodor
» WarCraft 3 / Формат карт Warcraft 3
А так, конвертер можно настроить в обратную сторону, чтобы он отключал и помечал всё что есть только в JNGP
Надо содержимое TriggerData_JNGP_26.txt заменить на TriggerData.txt из 1.31 ("UI\TriggerData.txt")
TriggerData.txt
Ред. Hodor
» WarCraft 3 / Формат карт Warcraft 3
если триггер является комментарием, то он не содержит кода в .wct
(комментарий к триггеру, скрипт, триггер - всё это считается триггером, но с особыми флагами)
у всех остальных код присутствует, даже если это GUI (код конечно же будет пустым)
» WarCraft 3 / Бета версия Warcraft III Reforged 1.32
пардон, мясника
» WarCraft 3 / Конвертер карты в 1.26
Их надо пересохранить в редакторе
10-20 КБ это нормально, если не ошибаюсь, конвертер не сжимает карту после конвертирования
Проверил карту, нормально конвертируется и открывается в игре
Надеюсь исходник не перепутан со сконвертированной картой?)
Т.к варкрафт не будет видеть исходник если он создавался в версии 1.31
» WarCraft 3 / Бета версия Warcraft III Reforged 1.32
Скоро рефорж на птр будет?
» WarCraft 3 / Формат карт Warcraft 3
» WarCraft 3 / Формат карт Warcraft 3
» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua
И будет GUI в Lua
» WarCraft 3 / Как зациклить музыку на карте
И запускается через PlayMusic?
Ред. Hodor
» WarCraft 3 / Конвертер карты в 1.26
Попробую по версии редактора в war3map.w3i детектить сколько использовалось игроков, 12 или 24
Заодно исправлю ошибку если сконвертировать карту и снова открыть в 1.31 (типа нейтралы становятся бордовыми и фиолетовыми)
borissuworov, обновил
» WarCraft 3 / Открыть карту в редакторе рефорджа
содержимое TriggerData_JNGP_26.txt нужно поменять на содержимое TriggerData из 1.32 (CascView, папка UI)
а содержимое TriggerData_JNGP_31.txt поменять на TriggerData_JNGP_26.txt
или лучше просто скинь карту я сам это сделаю
» WarCraft 3 / Конвертер карты в 1.26
щас посмотрю
обновил
Ред. Hodor
» WarCraft 3 / Открыть карту в редакторе рефорджа
В теории конвертер можно легко обмануть
Поменять местами содержимое TriggerData_JNGP_26.txt и TriggerData_JNGP_31.txt
Все функции JNGP которые не поддерживаются - будут отключены и отображаться как "Ошибка"
Только не забудь потом обратно поменять местами, а то даунгрейд карт поломается)
Ред. Hodor
» WarCraft 3 / Не могу открыть карту в обычном редакторе.
» WarCraft 3 / Конвертер карты в 1.26
Везде где только знаю, я уменьшаю номер игрока, к примеру 13 (бордовый) в 1 (красный)
Триггеры, юниты и т.д
Т.е по идее благоприятные условия чтобы карта открылась и сохранилась
Всё остальное, типа ручное указывае номера игрока, мультиборды на 24 игрока и т.д - это конечно же должен уже юзер сам исправлять
» WarCraft 3 / Конвертер карты в 1.26
остался по идее последний шаг
До этого я просто отключал несовместимые функции, но теперь оказалось что могут быть ещё несовместимые типы, параметры и т.д
Придется уже серьёзно написать код чтобы это лечить, заодно придется в один большой лог выводить всё что было удалено
» WarCraft 3 / Не могу открыть карту в обычном редакторе.
» WarCraft 3 / подменить war3map.lua на свой кастомный
К примеру если карта сохранялась в JASS-моде, то нельзя будет вместо war3map.j подсунуть war3map.lua и наоборот
И после подмены скрипта важно не сохранять карту в редакторе - иначе всё сводится к бесполезности
» WarCraft 3 / Урон скилла множенный на стату
В текущей реализации урон нанесется ещё до того как молоток полетит
» WarCraft 3 / Конвертер карты в 1.26
я пока что пишу конвертирование триггеров, закончу в ближайшие несколько часов и напишу конвертирование данных о камерах
UPD:
окей не сегодня, конвертер триггеров готов, но там куча багов (а это надо на свежую голову чинить)
UPD:
дописал и довёл до рабочего состояния конвертер триггеров
ща отдохну и по быстрому надо написать конвертер камер + вывод и удаление несовместимых функций триггеров
UPD:
дописал конвертер камер, доработал/укомплектовал код и сделал его адекватным
думаю сегодня вечером уже закончу
ещё несколько дней наверное займет оформление графической оболочки
а там уже можно будет код в опенсорс на гитхаб залить
UPD:
всё отдебажил, всё в рабочем состоянии
осталось сделать "стресс-тест" и прочие проверки чтобы всё работало без ошибок конвертирования
думаю сегодня вечером уже опубликую
графическую оболочку пока что не хочется делать, т.к там свои тонкости и геморрой
главное программа в рабочем состоянии)))
с гитхабом тоже придется потянуть
UPD:
как обычно всплыла ещё проблема после тестов
war3mapUnits.doo если содержит индексы игрока больше 12 - то карта фаталит
так же с war3map.w3i
и как я это прогадал...
в общем завтра окончательно допишу и опубликую
» WarCraft 3 / Бета версия Warcraft III Reforged 1.32
Просто надо кое что проверить в редакторе