Я давно пишу на cJass, оригинальный синтаксис мне не симпатичен, слишком длинные слова вместо скобок, ненужные префиксы типа call и local, словесные условия, всё это делает код громоздким и уродливым. Но мой проект которым я занимаюсь, ориентирован на то что он будет перенесен в wc3 reforged когда он выйдет.
Однако готов отказаться от него если это будет необходимо ради того, чтоб карта сохранила работоспособность.
Собственно интересно услышать ваше мнение.
  1. Как вы думаете, будет ли там нативная поддержка си-подобного синтаксиса? Если нет, то стоит ли ждать когда комьюнити запилит это в редактор?
  2. Если стоит уйти от cJass, как быть сотней тысяч строк кода написанных на нем? Как новая альтернатива, я знаю, на горизонте уже во всю сияет Lua. По сути неплохой вариант да и с радостью бы перешел на луa.
  3. Но как переписать код на луа как можно быстрее? Или если не получится, то как перевести cJass в vJass чтобы он работал в reforged?
Как самый последний вариант рассматриваю написание парсера языка, который будет конвертировать синтаксис. Но таким колдовством по возможности не хотелось бы заниматься.

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

Но как переписать код на луа как можно быстрее?
Можно достать из карты war3map.j и сконвертировать в lua. После доработки напильником вполне работоспособно))
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
5 лет назад
0
0
32
5 лет назад
0
Сначала нужно дождаться рефорджа, потом а вдруг заработает как есть? Если нет править, jass никто не отменял. Переписывать на луа если не будет 1 клик конверторов всю карту такое себе занятие, че вы там собрались выиграть если оно и так работает? ( в рефордже подымут вычислительную мощность у движки). Единсвенно но, если вы собрались переходить на рефордж - это мемхак, от него стоит отказатся, альтернатив многих его фишек близзарды пока не сделали, так что ждем и надеемся или делаем костылями.
0
16
5 лет назад
0
quq_CCCP:
Сначала нужно дождаться рефорджа, потом а вдруг заработает как есть? Если нет править, jass никто не отменял. Переписывать на луа если не будет 1 клик конверторов всю карту такое себе занятие, че вы там собрались выиграть если оно и так работает? ( в рефордже подымут вычислительную мощность у движки). Единсвенно но, если вы собрались переходить на рефордж - это мемхак, от него стоит отказатся, альтернатив многих его фишек близзарды пока не сделали, так что ждем и надеемся или делаем костылями.
Мемхак я не использую, я давно от этого отказался. Но все таки, как хотя бы в обычный jass перевести свой код из cjass? Может я к примеру хочу новые версии редакторов попробовать, но мою карту они собрать не сумеют...
0
29
5 лет назад
0
Но как переписать код на луа как можно быстрее?
Можно достать из карты war3map.j и сконвертировать в lua. После доработки напильником вполне работоспособно))
Принятый ответ
0
32
5 лет назад
0
Drulia_san, Эмм, работай с готовой картой, в новых редакторах пока ничего такого нет. Собрал карту и запустил на 1.31 (хотя возможна ваша карта и так не совместима). Потом об этом рано думать, нет никакой инфы про редактор рефорджа и его совместимость. Никто не видел редактор рефорджа!
Так что ждем, а там сделаешь на старом редакторе, запустишь в рефордже если близзарды нам такое дадут.
0
16
5 лет назад
0
quq_CCCP:
Drulia_san, Эмм, работай с готовой картой, в новых редакторах пока ничего такого нет. Собрал карту и запустил на 1.31 (хотя возможна ваша карта и так не совместима). Потом об этом рано думать, нет никакой инфы про редактор рефорджа и его совместимость. Никто не видел редактор рефорджа!
Так что ждем, а там сделаешь на старом редакторе, запустишь в рефордже если близзарды нам такое дадут.
В новых редакторах есть возможность вести свой проект как папку, а это меняет всё. Например, я смогу подключить к проекту git и удобно вести разработку кода, где по-файлово будет разложено всё содержимое каждого модуля с кодом моей карты.
0
29
5 лет назад
0
В новых редакторах есть возможность вести свой проект как папку, а это меняет всё.
Только в режиме папки, DISBTN не отображаются, так что пока не пофиксят, придётся по старинке.
0
28
5 лет назад
Отредактирован PT153
0
Например, я смогу подключить к проекту git и удобно вести разработку кода, где по-файлово будет разложено всё содержимое каждого модуля с кодом моей карты.
Это можно и сейчас делать. Всё равно при сохранении карты весь код пихается в один файл war3map.j или war3map.lua, который каждый раз создаётся заново.
0
32
5 лет назад
0
Drulia_san, это действительно так нужно?
И стандартные гуи папочки, триггеры, комментарии не дают сделать сортировку, потом кому оно усралось? Писали код абы как, лид бы работало, так и пишут, вы будите показывать ваши исходники проекта на телешоу?
0
28
5 лет назад
Отредактирован PT153
0
Только в режиме папки, DISBTN не отображаются, так что пока не пофиксят, придётся по старинке.
Не понял. Я знаю, что в при сохранении как папка при импорте слешы неправильные.
0
29
5 лет назад
0
Не понял. Я знаю, что в при таком охранении при импорте слешы неправильные.
А DISBTN ищутся по правильным, поэтому у импортных иконок будут зелёные квадраты.
0
28
5 лет назад
0
NazarPunk, ну так это в целом баг импорта.
0
24
5 лет назад
0
С переходом на луа есть нюансы. Да, можно достаточно легко конвертировать cjass в jass а jass в Lua. Но беда в том, что значительная часть старого кода станет ненужными костылями в новых реалиях и его, соответственно, всеравно придется переписывать заново в более правильном виде.
0
17
5 лет назад
Отредактирован GetLocalPlayer
0
  1. Как вы думаете, будет ли там нативная поддержка си-подобного синтаксиса? Если нет, то стоит ли ждать когда комьюнити запилит это в редактор?
Объективных причин для этого нет.
  1. Если стоит уйти от cJass, как быть сотней тысяч строк кода написанных на нем?
Продолжать писать на cJass. Ты должно быть понимал риски, которые брал на себя при использовании неподдерживаемого компилятора.
  1. Но как переписать код на луа как можно быстрее? Или если не получится, то как перевести cJass в vJass чтобы он работал в reforged?
Любая трансляция "в лоб" превратит код карты в неподдерживаемую кашу.
Опираться на vJass тоже не стоило бы. Я с большей готовностью поверю в вероятность будущего изъятия парсера vJass из оф. редактора.
0
32
5 лет назад
0
Ну есть надежда, мб найдут баг как с жасс машиной на луа и получат доступ к интерпритатору, как и IseFog. И тогда уже можно будет хоть С код писать для карты, остается только написать интерпретатор. Тоже самое можно сделать и с JASM машиной сейчас, т.к она работает на байткодах (аля ассемблер), поэтому её совершенно пофиг на чем написан код до интерпритации, ибо все упирается в интерпретатор, то что типа луа очень крут и все такое, ой а как с код и то что делается в движке вара, каллбеки на все события в игре только чего стоят, со всем этим может рабоать JASM машина...
Ну поживем - увидем.
2
24
5 лет назад
2
Ну есть надежда, мб найдут баг как с жасс машиной на луа и получат доступ к интерпритатору
А-ха-ха-ха-ха-ха-ха
0
29
5 лет назад
0
Ну есть надежда, мб найдут баг как с жасс машиной на луа и получат доступ к интерпритатору
И закроют следующим патчем))
2
24
5 лет назад
2
И закроют следующим патчем))
Причем не близы - близам надо будет только луа-машину обновить до версии где эту дыру закроют.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.