|
Программистам, которые хотят что-то сделать для этой игры:
Если кратко для тех, кто в теме, то текущая версия кода лежит тут:
CVSROOT=:pserver:coder@mud.ru:/mud, репозитарий mud, пароль coder
Патчи на данный момент можно слать мне - bylins[@]gmail.com
Если от локалки требуется стабильная работа, то собирать лучше на gcc 3.x и выше.
Версия для сборки под msvs 2003-2008:
- Качаем http://www.mud.ru/files/local_mud.zip,
распаковываем.
- В студии идем в Tools->Options->Projects->VC++ Directories->Include files и добавляем
туда путь до ...\local_mud\.
- Создаем чистый проект, идем в Project->Add existing Item и добавляем все файлы из
...\local_mud\src\.
- В Project->Properties->General выставляем Output Directory в ...\local_mud\bin.
- После чего жмем Build->Build Solution и все должно собраться. Идем в local_mud\bin запускаем и радуемся жизни.
- Для обновления кода качаем TortoiseCVS (описание и ссылка в конце), после чего просто тыкаем в проводнике на папочку
local_mud/src правой кнопкой, жмем на обновление и вписываем пароль coder.
Кому надо минимально необходимые файлы из boost'а отдельно - качаем http://www.mud.ru/files/boost.zip.
В случае с msvs надо указывать путь до каталога, в который вы распаковали этот архив. Т.е. чтобы после него еще было /boost/...
Под cygwin просто закидываете этот каталог в usr/include. Весь boost можно выкачать с его официального сайта http://boost.org, архивом с сайта или через
cvs. После скачивания вас интересует каталог boost/boost. Собирать его не обязательно, былинам хватает просто хедеров.
Вариант под cygwin более мутный, зато приближенный к реалиям на сервере.
- Идем на www.cygwin.com качаем и запускаем
http://www.cygwin.com/setup.exe
Добираемся до списка доступных пакетов, идем в категорию Devel и там отмечаем:
boost-devel
cvs
gcc
make
+ все, что там было отмечено по умолчанию и отметилось при выборе этих пакетов, качаем, ставим.
- После установки идем в cygwin\usr\include\boost-1_33_1\boost\ (или какая будет текущая версия).
Вот все, что там лежит, переносим в cygwin\usr\include\boost\ (т.е. \boost-1_33_1\ в пути тут лишнее)
- Запускаем cygwin, далее в командной строке пишем дословно:
export CVSROOT=:pserver:coder@mud.ru:/mud
если вы сидите через прокси-сервер, то строка будет выглядеть так:
export CVSROOT=":pserver;proxy=адрес-прокси;proxyport=порт:coder@mud.ru:/mud"
далее cvs login
пишем пароль: coder
(ввод пароля не показывается, пишем вслепую и жмем enter)
cvs -z9 checkout mud
После чего у вас должна создаться директория mud в которой будет последний код (mud\src).
Для обновления кода в будущем всего этого повторять не надо, достаточно будет запустить cygwin,
зайти в эту директорию mud (cd mud) и набрать cvs update.
Физически все это будет лежать в ..\cygwin\home\ваше-имя\mud\
- После того, как все скачалось идем на www.mud.ru в раздел файлы и качаем движок былин
(в данный момент http://www.mud.ru/files/bruseng20.exe).
Создаем директорию например local, в ней содаем bin и src. Распаковываем движок былин в local/bin/.
Копируем в local/src сорцы из /mud/src, которые скачались через cvs. Т.е. локалка будет иметь вид:
local
|-/src
|-/bin
|-/lib
|-/log
Находясь в cygwin'е заходим в src (что-то вроде "cd local/src"), пишем make test и радуемся,
если все собирается без приключений. После этого заходим в bin и запускаем circle.exe - это оно и есть,
4000 порт ждет вас. Сама оболочка cygwin для запуска приложений не нужна, пропишите у себя в autoexec.bat
что-то вроде "path=c:\cygwin\bin" или где там у вас этот самый bin расположился и можете обновлять/собирать
и запускать мад из оболочек вроде Far или любой другой командной строки винды.
Знач мысли о славе и как быть на данный момент такие:
- Если вы за свои труды сильно хотите славы, то предварительно нужно с кем-то из 34х о ней договориться.
В принципе выдать славу за код может любой 34й бог, но чтобы поменьше стучаться в закрытые двери, рекомендую
ломиться к свентовиту или переплуту. С заданиями (если вы не знаете чем заняться) на данный момент таже история,
т.е. какого-то единого и обновляемого баг-трекинга нет, т.к. вести его всем лень.
- Если вы хотите что-то переделать/сделать в плане чисто технической части мада, т.е. переписать
какой-то явно идиотский кусок кода или поправить явно неправильный код, т.е. ваш патч не меняет
функционал игры (рефакторинг) или просто фиксит явный баг - можете ваять и засылать без всяких предварительных
согласований с кем-либо, такие патчи накатываются без проблем.
- Если вы хотите переделать/сделать что-то в плане игровой части, то перед этим будет разумно
поинтересоваться у власть имущих, а нужно ли оно и пойдет ли оно в код, если вы это сделаете.
- На данный момент патчи можно слать на bylins[@]gmail.com, к этому неплохо бы сразу писать icq или
что-нить подобное для связи, потому что переписываться email'ом, если мне что-то
надо будет уточнить по вашему коду - влом. Плюс если уж мы начнем общаться - то я всегда готов обсудить какие-то мутные
места в коде или подумать над проблемой, если она того стоит (а не потому, что вам просто влом
разбираться или вы не знаете с++).
- Если вы правите код на более-менее регулярной основе и я вижу, что вы шарите, то без проблем дам вам
права на запись в cvs, тут собственно нет ничего такого, я не жадный и всеравно на живой мад код попадет
только после его ручного накатывания на сервере из cvs'а, поэтому в случае, если у вас есть права на
запись - вы заливаете свои изменения, описываете их в changelog'е и пинаете меня, чтобы я глянул и залил
на рабочий мад.
- Задания и славу за код я не выдаю, эти вопросы решайте с богами, я только могу просмотреть/накатить
на рабочий мад ваш код и решить все связанные с этим процессом вопросы.
Про код, сами патчи и вообще:
- Вобщем принятое здесь оформление кода можно и так посмотреть, свой код надо оформлять так же в
плане отступов, табуляции, расположения скобок и т.п. вещей.
- Комментарии ДОЛЖНЫ БЫТЬ. Как минимум на каждую функцию и поле в структурах/классах, объясняющие
их смысл. В случае наличия у функций нетривиальных входных параметров или возвращаемого значения
это все тоже надо описывать. Любой мутный код вроде формул - аналогично. Вобщем тут лучше перебдеть,
чем недобдеть, кодеры тут сильно разной квалификации + вникают в код все на разном уровне и большая
часть проблем идет от того, что всем влом разбираться в чужом коде, поэтому если вам есть что сказать
к своему коду - скажите, сэкономьте время и нервы другим, а может и себе самому в последствии.
И комментируйте на русском пожалуйста.
- Помимо комментариев в коде к патчу нужно кратенькое описание сделанного вообще + если вам есть, что
сказать остальным кодерам по этому патчу, для экономии времени на вникание в суть кода и чтобы быть в курсе,
что там вообще в коде делается. Писать это дело следует в файл changelog'а и включать это в итоговый патч.
- Сам патч делается или командой diff, или вы пользуетесь средствами cvs.
Перед тем, как делать патч - вы обязательно обновляете код из cvs'a и устраняете все конфликты,
выковыривать ваши изменения из патча для кода полу годовой давности никто не будет.
В случае diff:
diff -u файл1 файл2 >файл-патча.patch
аналогично можно сравнить директории целиком
diff -u директория1 директория2 >файл-патча.patch
- Более удобный способ работы со всей этой темой - поставить себе что-то вроде TortoiseCVS.
Идем на http://www.tortoisecvs.org/download.shtml
и качаем клиента. Программа виндовая, все там интуитивно легко и ясно, настроек минимум. Может работать
с тем, что вы создали при помощи cvs'а из cygwin'а, поэтому поставить в любому случае будет не лишним.
Работает через просмотр каталогов в винде, добавляет свои иконки к файлам + свою менюшку по правой кнопке,
в которой помимо всего прочего есть и пункт создания патча. Т.е. меняете код, тыкаете создать патч, она
лезет на сервер, сравнивает ваш и наш код и выдает вам готовый патч со всеми изменениями, который вы и засылаете.
Update: Было выяснено, что он траф не жмет почему-то при работе с нашим cvs. Так что если кол-во трафика для
вас актуально - пользуйтесь cvs'ом из cygwin (или расскажите как это поправить, если в курсе).
- Чем редактировать: с редактированием кода в обычных виндовых ide вроде студии есть некоторые проблемы,
т.к. кодировка в коде koi8r, а перекодировка есть далеко не везде. Варианты тут в принципе есть, и ручками
перекодировать, и шрифты с koi8 подсунуть винде, но грамотнее всего найти и освоить редактор, который уже
понимает разные кодировки, можно писать в Far'е или других редакторах с подсветкой синтаксиса, в принципе
многим этого хватает для счастья. Лично я рекомендую open-source редактор под разные платформы CodeBlocks.
Взять можно тут http://codeblocks.org, помимо релиза у них на форуме в
разделе еженощных билдов можно скачать самый последний билд, какой там будет. Билды вполне стабильные,
сильно париться из-за этого не стоит. Ну и потом время от времени туда наведываться за новыми версиями,
обновляется по мелочи довольно регулярно.
Кродо
|