Бодрич писал(а):
Цитата:
Разумеется нет, иначе я его использовал бы.
А возможно такого движка не существует, и существовать не может ?:)
Если бы у бабушки были яйца - это был бы дедушка.
Бодрич писал(а):
C# движетца очень огромными шагами вперед. Возможно, через 6-7 лет шарп будет иметь совершенно другой вид, а у мада будет старый вид
Возможно. Однако он будет отставать на 1 поколение, а не на три.
Вас послушать, так палка копалка ничем не хуже мушкета. Зачем что-то делать ? Сидишь в пещере и не отсвечиваешь.
Сюрприз в том, что срок проекта в 10+ лет - это очень большой срок. Если выгода будет больше гемора через 6-7 лет придется
еще раз всё переписать
. Да.
Бодрич писал(а):
Цитата:
И это не пустые слова. Это реальность.
А можно конкретики ?:) Где, что и зачем хотите изменить. Желательно с примерами кода
Или же вы хотите саму структуру мада изменить ?
Структуру кода
. Везде и всё.
Вы чего от меня хотите-то ?
Посмотрел... они привернули буст - это уже неплохо. Но честно говоря на сегодня уже "ахтунг**3".
Я открывал файлы подряд... для fast look.
Я не хочу видеть в коде такого
1. #define SIELENCE ("Вы немы, как рыба об лед.\r\n")
2. Такого я тоже не хочу видеть никогда
ACMD(do_say)
{
skip_spaces(&argument);
CHAR_DATA *to;
if (AFF_FLAGGED(ch, AFF_SIELENCE))
{
send_to_char(SIELENCE, ch);
return;
}
...
ACMD(do_gsay)
{
CHAR_DATA *k;
struct follow_type *f;
if (AFF_FLAGGED(ch, AFF_SIELENCE))
{
send_to_char(SIELENCE, ch);
return;
}
3. Скажите, если всего один файл с содержимым игроков будет иметь длину 0 - мад загрузится ?
4. /* This file create ADAMANT MUD ETITOR ? */
if (strcmp(line, "#ADAMANT") == 0)
5. К сожалению судя по тому, что я вижу, дальше dg_scripts дело не продвинулось. Печально это.
6. За подобное меня уволили бы одним днём
#define NEWCREATE(result, constructor) do {\
if (!((result) = new(std::nothrow) constructor)) \
{ perror("SYSERR: new operator failure"); abort(); } } while(0)
за такое конечно тоже. Но раньше так писали. Тому был миллион причин.
#define IS_DARK(room) ((world[room]->gdark > world[room]->glight) || \
(!(world[room]->gdark < world[room]->glight) && \
!(world[room]->light+world[room]->fires) && \
!ROOM_AFFECTED(room, AFF_ROOM_LIGHT) && \
(ROOM_FLAGGED(room, ROOM_DARK) || \
(SECT(room) != SECT_INSIDE && \
SECT(room) != SECT_CITY && \
( weather_info.sunlight == SUN_SET || \
(weather_info.sunlight == SUN_DARK && \
!IS_MOONLIGHT(room)) )) ) ) )
***********************
В целом чуть облагороженный циркуль. Беглый просмотр указывает на то, что многие очевидные вещи исправлены.
И это хорошо. Но общая архитектура осталась той-же. И мягко говоря "не слишком удачной".
Это бесспорно не велосипед. Это... мопед. Причем очень причудливый мопед. Мопед с гамаком и лыжами.
Но местами, проведена большая работа, спору нет.
Но это всё тот-же plain C и все тот-же "процедурный подход".
Он собирается и работает под 64бит
?