Дядя Миша писал: Ну разве что ограниченной поддержкой настоящих указателей.
Ну, как бы в QuakeC в принципе все - указатели, там нет как раз тривиальных переменных. Но это я так, придираюсь к словам.
Цитата:
основные энтити один фиг останутся в дллке, а если что-то не будет найдено, то возъмется из progs.dat.
О том и речь: пусть жадный разработчик закрытого мода выкладывает описание функций, которые можно дергать из прогса, а любители пододелывать этим будут пользоваться.
Дядя Миша писал:
сделать можно, но исключительно как некий энтмод для конкретной карты. Т.е. основные энтити один фиг останутся в дллке, а если что-то не будет найдено, то возъмется из progs.dat.
Правда при такой системе не вполне ясно как использовать все плюшки. предоставляемые server.dll - ну тот же Movewith к примеру.
Можно конечно movewith вынести в движок, но тогда народ будет страдать, что вся физика в движке закрыта.
Хм, что-то во многих модах для хл я не видел ничего нового кроме пушек и монстров. В чём проблема? В большинстве случаев автор карты/мода добавляет ствол/персонажа/предмет(item) Так что можно всякие такие плюшки вынести в движок.
Добавлено 11-09-2009 в 11:45:
Использование VM облегчит жизнь мапперам. Если уж они захотят воткнуть нового монстра, то им не нужно будет качать Visual Studio, чтобы компилировать дллки. Если мне не изменяет память, в комплекте с Ксашем идёт компилятор виртуальной машины?
З.Ы. Но в общем-то какой-то винегрет получается. Я считаю что VM нужно оставить, как я уже выше писал, для мапперов. И ещё сделать, чтобы энтитя, находящаяся в VM могла делать, так сказать override энтити с тем же названием, но находящейся в дллке.
Ну, как бы в QuakeC в принципе все - указатели, там нет как раз тривиальных переменных. Но это я так, придираюсь к словам.
Ну глупости как раз-таки говоришь. В куси нету указателей по определению. Фейковые указатели содержат в себе номер энити в массиве, а вовсе не адрес на память. Остальная хрень вообще читается как обычные переменные.
Цитата:
Если мне не изменяет память, в комплекте с Ксашем идёт компилятор виртуальной машины?
Идет. Даже позволяет ребилдить из игровой консоли.
Цитата:
Я считаю что VM нужно оставить, как я уже выше писал, для мапперов.
Прекрасно, а теперь кратенько - про техническую реализацию
Как ты себе это представляешь. В тонкости углублятся не надо, да я и не уверен, что ты их знаешь, но общую картинку набросай.
Дядя Миша, там как раз все переменные - это адреса данных в памяти. Попробуй-ка через centrprint вывести в кваке пару ftos'ов - у тебя будет последний оба раза, евпочя.
Цитата:
Как ты себе это представляешь.
Сделать экспортированные ai-функции из серверной dll, которые можно дергать из прогса. Ну и движковые функции, само-собой.
Попробуй-ка через centrprint вывести в кваке пару ftos'ов - у тебя будет последний оба раза, евпочя.
У кваки очень глючный SetEngineString, у него нет буффера на временные строки. В ксаше я не смогу добится этого эффекта, т.к. исправил баг.
а что такое ЕВПОЧЯ, я вообще не знаю, но вполне допускаю, что это достойный человек.
Цитата:
Сделать экспортированные ai-функции из серверной dll, которые можно дергать из прогса. Ну и движковые функции, само-собой.
Очень хреновая придумка, честно говоря.
С движковыми функциями, то все более или менее понятно. а вот серверные... Ну и что оттуда дергать и, самое главное - они будут принаджлежать уже какому-то классу, а VM не предполагает иметь в буллетинах подобные функции. Если же дергать нечто из utils.cpp -тогда смысл есть, но опять же - средства движка позволяют написать свой util.cpp прямо внутри виртуальной машины.
Нет, ты мне скажи что именно надо экспортировать из сервера в VM ?