<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
  <title>GameDev.ru — Разработка игр</title>
  <link>http://www.gamedev.ru/forum/</link>
  <description>GameDev.ru — Разработка игр</description>
  <language>ru</language>
  <generator>http://skif.qrim.ru/</generator>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/flame/forum/?id=131171</guid>
  <pubDate>Fri, 12 Mar 2010 06:09:43 GMT</pubDate>
  <title>Памагите!!!111 Или нужна очень простенькая программа. Вычесление X,Y пиксела.</title>
  <link>http://www.gamedev.ru/flame/forum/?id=131171</link>
  <description>Блин. Даже не знаю где тему создать.
&lt;br /&gt;Программистов знакомых нету.
&lt;p&gt;Нужно простая программа.&lt;/p&gt;
&lt;p&gt;Чтобы загрузив картинку, можно было приблизить (чтобы лучше разглядеть), поставить точку в нужном месте, и чтобы выдывались координаты этой точки X,Y (чтобы их можно было копи/паст).&lt;/p&gt;
&lt;p&gt;На дельфи наверняка такую программу, пару пустяков создать. Только к кому обратиться? Такая пустяшная программка.&lt;/p&gt;
&lt;p&gt;Просто очень нужно для проекта.&lt;/p&gt;
&lt;p&gt;Сейчас делаю это с помощью Фотошопа, а это очень нудно и долго(((
&lt;br /&gt;А объёма такой работы &amp;mdash; большой.&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/code/forum/?id=131170</guid>
  <pubDate>Fri, 12 Mar 2010 05:44:18 GMT</pubDate>
  <title>Отрисовка объекта сильно тормозит.</title>
  <link>http://www.gamedev.ru/code/forum/?id=131170</link>
  <description>Использую C# и OpenTK. При отображении модели, очень сильно нагружается процессор. При этом модель записывается в список отображения.
&lt;br /&gt;Вот способ вывода модели:
&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;div style=&quot;background: #f2f2f2; padding: 5px; margin: 4px;&quot;&gt;&lt;pre&gt; 
            GL.NewList&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;NumberOfList, ListMode.Compile&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
            {
                GL.Clear&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
                GL.Light&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;LightName.Light0, LightParameter.Position, lightPos1&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;

                &lt;span style=&quot;color: #0030fF; &quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;int&lt;/span&gt; i = &lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;; i &lt;span style=&quot;color: #a06000&quot;&gt;&amp;lt;&lt;/span&gt; glModel.NumberOfObjects; i++&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
                {

                    Object3D pObject = glModel.Objects&lt;span style=&quot;color: #a06000&quot;&gt;[&lt;/span&gt;i&lt;span style=&quot;color: #a06000&quot;&gt;]&lt;/span&gt;;
                    AnimateModel&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;glModel, pObject&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;

                    GL.Begin&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;BeginMode.Triangles&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
                    &lt;span style=&quot;color: #0030fF; &quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;int&lt;/span&gt; j = &lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;; j &lt;span style=&quot;color: #a06000&quot;&gt;&amp;lt;&lt;/span&gt; pObject.NumberOfFaces; j++&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
                    {
                        &lt;span style=&quot;color: #0030fF; &quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;int&lt;/span&gt; whichVertex = &lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;; whichVertex &lt;span style=&quot;color: #a06000&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #F04000; &quot;&gt;3&lt;/span&gt;; whichVertex++&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
                        {
                            GL.Normal3&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;pObject.FacesOfObject&lt;span style=&quot;color: #a06000&quot;&gt;[&lt;/span&gt;j&lt;span style=&quot;color: #a06000&quot;&gt;]&lt;/span&gt;.Normal&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;

                            &lt;span style=&quot;color: #0030fF; &quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;pObject.MaterialID &lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;= &lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
                            {
                                GL.Material&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;
                                    MaterialFace.FrontAndBack,
                                    MaterialParameter.Ambient,
                                    glModel.Materials&lt;span style=&quot;color: #a06000&quot;&gt;[&lt;/span&gt;pObject.MaterialID&lt;span style=&quot;color: #a06000&quot;&gt;]&lt;/span&gt;.AmbientColor&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
                                GL.Material&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;
                                   MaterialFace.FrontAndBack,
                                   MaterialParameter.Diffuse,
                                   glModel.Materials&lt;span style=&quot;color: #a06000&quot;&gt;[&lt;/span&gt;pObject.MaterialID&lt;span style=&quot;color: #a06000&quot;&gt;]&lt;/span&gt;.DiffuseColor&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
                                GL.Material&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;
                                   MaterialFace.FrontAndBack,
                                   MaterialParameter.Specular,
                                   glModel.Materials&lt;span style=&quot;color: #a06000&quot;&gt;[&lt;/span&gt;pObject.MaterialID&lt;span style=&quot;color: #a06000&quot;&gt;]&lt;/span&gt;.SpecularColor&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
                            }
                            GL.Vertex3&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;pObject.FacesOfObject&lt;span style=&quot;color: #a06000&quot;&gt;[&lt;/span&gt;j&lt;span style=&quot;color: #a06000&quot;&gt;]&lt;/span&gt;.Vertexes&lt;span style=&quot;color: #a06000&quot;&gt;[&lt;/span&gt;whichVertex&lt;span style=&quot;color: #a06000&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
                        }
                    }
                    GL.End&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;                    
                }
            }
            GL.EndList&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/job/forum/?id=131169</guid>
  <pubDate>Fri, 12 Mar 2010 05:36:18 GMT</pubDate>
  <title>Композитор.</title>
  <link>http://www.gamedev.ru/job/forum/?id=131169</link>
  <description>Создание саундтрека для игр
&lt;br /&gt;Рассмотрю любые предложения
&lt;br /&gt;Примеры работ
&lt;br /&gt;&lt;a href=&quot;http://www.realmusic.ru/ledanry/&quot;&gt;http://www.realmusic.ru/ledanry/&lt;/a&gt;
&lt;p&gt;ICQ - 482036289&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/flame/forum/?id=131168</guid>
  <pubDate>Fri, 12 Mar 2010 05:12:44 GMT</pubDate>
  <title>Сталин и дизельпанк</title>
  <link>http://www.gamedev.ru/flame/forum/?id=131168</link>
  <description>&lt;a href=&quot;http://www.apn.ru/publications/article22444.htm&quot;&gt;http://www.apn.ru/publications/article22444.htm&lt;/a&gt;
&lt;br /&gt;Додумаются же до такого.</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/code/forum/?id=131167</guid>
  <pubDate>Fri, 12 Mar 2010 00:49:52 GMT</pubDate>
  <title>2D через Direct3D</title>
  <link>http://www.gamedev.ru/code/forum/?id=131167</link>
  <description>До сих пор вырисовывал графику через FVF_XYZRHW, тобишь в экранных координатах без учета трансформаций, однако когда объектов стало много стало все подтормаживать из-за постоянного лока/анлока вертекс буфферов на отрисовке. Соответственно решил создавать эти буфферы без учета трансформаций и затем применять нужные трансформации при отрисовке. Однако немного непонятно как правильно отрисовывать 2д графику через 3д механизм. Я пока сделал так: настроил ортогональную матрицу проекции (указал разрешение экрана в 2 и 3 параметре), поставил камеру, но чтобы отрисовать объект в нижнем-левом углу(в начале координат) приходится рисовать объект в координатах x-screen_width/2, y-screen_height/2 из-за того что отсчет идет от центра экрана.. можно ли както сдвинуть отсчет в угол? (а вобще лучше сделать его как в 2д - тобишь с левого-верхнего угла). Вобще неплохо бы увидеть какой-нибудь нормальный пример с использованием 2д через директ3д (в книжках дают пример и сразу переходят на 3д графику, которая мне пока что не нужна)
&lt;br /&gt;И еще вопрос - повысится ли производительность если текстуры (или просто битмапы) выводить напрямую в surface бэкбуффера без использования вертексных буфферов, наложения текстур и прочего.. тобишь как в directdraw через blt, и если да то как это делается в direct3d? Просто большинство того чт оя вывожу не требует никаких преобразований и разумнее бы выводить напрямую на экран, единственный эффект который нужен - прозрачность (альфа тест)</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/code/forum/?id=131166</guid>
  <pubDate>Fri, 12 Mar 2010 00:25:48 GMT</pubDate>
  <title>.m3 File Format ( Star Craft 2 ).</title>
  <link>http://www.gamedev.ru/code/forum/?id=131166</link>
  <description>Хотелось бы поднять на моё мнение интересную тему, по загрузке и рендеру .m3 mehe&apos;й. Загрузить статику ( VertexBuffer (vertex, texcoord), IndexBuffer) уже вышло. Очень интересно узнать побольше о Blizzad нормалмапенге с одним green каналом ( как же им удалось зашить все в один канал то О_о), а так же про правильный парсинг&amp;nbsp; нормалей и тангентов из этого &amp;quot;чудесного&amp;quot; Blizzard формата... Возможно тут есть единомышленники ... </description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/flame/forum/?id=131165</guid>
  <pubDate>Thu, 11 Mar 2010 23:46:43 GMT</pubDate>
  <title>Литература по игровой архитектуре</title>
  <link>http://www.gamedev.ru/flame/forum/?id=131165</link>
  <description>Товарищи, помогите с выбором литературы, описывающей основы игровой архитектуры. Мне нужны базовые знания по проектированию игрового движка
&lt;br /&gt;(для конкретики допустим 2д аркады). Идеальным вариантом будет книга, в которой автор разрабатывает игровой движок (учитывая графическую, звукавую, сетевую состовлающие, а так же аи и взаимодействие с пользователем) на абстрактном язке (ну или любом ООЯП).
&lt;br /&gt;Уровень программирования средний\высокий. Язык английский\русский. Заранее огромное спасибо!</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/job/forum/?id=131164</guid>
  <pubDate>Thu, 11 Mar 2010 22:17:50 GMT</pubDate>
  <title>Геймдизайнер Минск</title>
  <link>http://www.gamedev.ru/job/forum/?id=131164</link>
  <description>Геймдизайнер из Минска ищет постоянную (и не только) работу.
&lt;p&gt;Образование - высшее техническое.
&lt;br /&gt;Опыт работы в сфере геймдева - 2 года.
&lt;br /&gt;До этого - 4 года настольных ролевых игр, как по системам, так и чисто словесных.&lt;/p&gt;
&lt;p&gt;Работал над браузерными ММО-проектами. (подробности в личку)&lt;/p&gt;
&lt;p&gt;Основная специальность - написание текстов, сюжетов, квестов, концепций. Так же имеется опыт левелдизайна. (подробнее опять таки в личку)&lt;/p&gt;
&lt;p&gt;Языки программирования:&amp;nbsp; ActionScreept 3.0 Flex&amp;nbsp; - 1 год&lt;/p&gt;
&lt;p&gt;Примеры работ высылаются по просьбе.&lt;/p&gt;
&lt;p&gt;E-mail - naem_server@bk.ru&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/code/forum/?id=131163</guid>
  <pubDate>Thu, 11 Mar 2010 22:02:39 GMT</pubDate>
  <title>Сортировки на рендер....</title>
  <link>http://www.gamedev.ru/code/forum/?id=131163</link>
  <description>Какие сортировки вы проводите для рендера и какая у них степень важности - к примеру
&lt;p&gt;Сортировка саб_ентититей по материалам
&lt;br /&gt;Сортировка материалов по пиксельным шейдерам&lt;/p&gt;
&lt;p&gt;потом рендер следует в таком порядке - выставляет материал &amp;quot;A&amp;quot; и рендерит все саб_ентити которые используют этот материал, потом материал &amp;quot;B&amp;quot; и по новой...&lt;/p&gt;
&lt;p&gt;Вообще на сколько они важны - все эти сортировки, и какие именно( по удалению от камеры, по мешам.... ) ?&lt;/p&gt;
&lt;p&gt;Так же интересно, если делать сортировку по удалению от камеры то возникает вопрос, что делать с сортировкой по материалам - она теряет свою актуальность ... ?&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/flame/forum/?id=131162</guid>
  <pubDate>Thu, 11 Mar 2010 21:47:42 GMT</pubDate>
  <title>Количество полигонов</title>
  <link>http://www.gamedev.ru/flame/forum/?id=131162</link>
  <description>Люди помогите с вопросом. Вобщем рисуем персонажа и задаемся вопросом &amp;quot;а сколько полигонов можно по максимуму?&amp;quot;.Конечно я понимаю что еще зависит от насыщенности сцены но может есть методы чтобы приблизительно просчитывать? к примеру я определил что 2000 полигонов на персонажа это много или мало? просто интересует возможность расчета.</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/code/forum/?id=131161</guid>
  <pubDate>Thu, 11 Mar 2010 20:53:45 GMT</pubDate>
  <title>MFC ListControl LVN_GETDISPINFO</title>
  <link>http://www.gamedev.ru/code/forum/?id=131161</link>
  <description>Есть ListControl который динамически отображает данные из массива с помощью LVN_GETDISPINFO. Как правильно удалить из него items выбранные с помощью multiselect? Или отключить на время генерацию события LVN_GETDISPINFO?
&lt;p&gt;Данная конструкция работает с обычным ListControl, а вот с динамическим не хочет т.к. после DeleteItem происходит LVN_GETDISPINFO&lt;/p&gt;
&lt;p&gt;&lt;div style=&quot;background: #f2f2f2; padding: 5px; margin: 4px;&quot;&gt;&lt;pre&gt;  POSITION pos;
  &lt;span style=&quot;color: #0030fF; &quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;pos = m_ListTags.GetFirstSelectedItemPosition&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
  {
    &lt;span style=&quot;color: #0030fF; &quot;&gt;int&lt;/span&gt; sel = m_ListTags.GetNextSelectedItem&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;pos&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
    CString name = m_ListTags.GetItemText&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;sel, &lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
    m_ListTags.DeleteItem&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;sel&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;

    std::string stlname = name;
    TagConfigMap::TagMap::iterator iter = mConfigMap-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;tags&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;find&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;stlname&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
    &lt;span style=&quot;color: #0030fF; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;iter != mConfigMap-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;tags&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;end&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
    {
      &lt;span style=&quot;color: #0030fF; &quot;&gt;delete&lt;/span&gt; iter-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;second;
      mConfigMap-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;tags&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;erase&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;iter&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
    }
  }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/code/forum/?id=131160</guid>
  <pubDate>Thu, 11 Mar 2010 20:39:30 GMT</pubDate>
  <title>Использование скриптов в MMORPG</title>
  <link>http://www.gamedev.ru/code/forum/?id=131160</link>
  <description>Здравствуйте,
&lt;p&gt;Зачем использовать скрипты в играх? Чтобы упростить себе жизнь?
&lt;br /&gt;Можно какую-то линку на эту тему: зачем, как и где использовать?&lt;/p&gt;
&lt;p&gt;Спасибо.&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/flame/forum/?id=131159</guid>
  <pubDate>Thu, 11 Mar 2010 20:38:20 GMT</pubDate>
  <title>Q-zar</title>
  <link>http://www.gamedev.ru/flame/forum/?id=131159</link>
  <description>&lt;a href=&quot;http://ru.wikipedia.org/wiki/Q-Zar&quot;&gt;Q-zar&lt;/a&gt;
&lt;p&gt;Вчера впервые играли в это :) &lt;/p&gt;
&lt;p&gt;Море эмоций, впечатлений.. Ни одна комп.стрелялка рядом не валялась.. &lt;/p&gt;
&lt;p&gt;Нас было 16 человек, 8х8, играли из института, группа на группу..
&lt;br /&gt;Причем среди ихней группы многие играли не первый раз, у нас все новички. &lt;/p&gt;
&lt;p&gt;В итоге Я на первом месте:) &lt;/p&gt;
&lt;p&gt;321 убийство, 250 смертей за час беготни :) &lt;/p&gt;
&lt;p&gt;Не думал даже что выдержу час носиться по двум этажам в темноте от чужих лазеров, 
&lt;br /&gt;и мочить толпы с распрыжки. Но оказалось все супер :)
&lt;br /&gt;И не думал что так легко на бегу целиться по небольшим в общем то датчикам на жилетах:)&lt;/p&gt;
&lt;p&gt;Всем советую! 
&lt;br /&gt;Интересно, кто-нибудь есть тут кто этим увлекается?:)&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/flame/forum/?id=131158</guid>
  <pubDate>Thu, 11 Mar 2010 19:58:19 GMT</pubDate>
  <title>Какое будущее десктоп игр?</title>
  <link>http://www.gamedev.ru/flame/forum/?id=131158</link>
  <description>Всем привет.
&lt;p&gt;Как возможно вы заметили все программы потихоньку переходят на веб (Флеш, флекс и т д.) Даже есть openGL для веба.
&lt;br /&gt;А какое будущее десктоп игр?&lt;/p&gt;
&lt;p&gt;Спасибо.&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/code/forum/?id=131157</guid>
  <pubDate>Thu, 11 Mar 2010 19:48:08 GMT</pubDate>
  <title>Помогите с функцией обработки сообщений от ОС</title>
  <link>http://www.gamedev.ru/code/forum/?id=131157</link>
  <description>&lt;b&gt;Всем доброго вечера!&lt;/b&gt;
&lt;p&gt;У меня такая проблема...есть класс &lt;b&gt;Application&lt;/b&gt;:
&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;div style=&quot;background: #f2f2f2; padding: 5px; margin: 4px;&quot;&gt;&lt;pre&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;#pragma&lt;/span&gt; once

&lt;span style=&quot;color: #0030fF; &quot;&gt;#include&lt;/span&gt; &lt;span style=&quot;color: #a06000&quot;&gt;&amp;lt;&lt;/span&gt;Windows.h&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;

&lt;span style=&quot;color: #0030fF; &quot;&gt;struct&lt;/span&gt; AppDesc
{
  &lt;span style=&quot;color: #0030fF; &quot;&gt;char&lt;/span&gt;* name;                  &lt;span style=&quot;color: #808080&quot;&gt;// Имя&lt;/span&gt;
  &lt;span style=&quot;color: #0030fF; &quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;int&lt;/span&gt; x;                &lt;span style=&quot;color: #808080&quot;&gt;// Положение по оси X&lt;/span&gt;
  &lt;span style=&quot;color: #0030fF; &quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;int&lt;/span&gt; y;                &lt;span style=&quot;color: #808080&quot;&gt;// Положение по оси Y&lt;/span&gt;
  &lt;span style=&quot;color: #0030fF; &quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;int&lt;/span&gt; width;              &lt;span style=&quot;color: #808080&quot;&gt;// Ширина&lt;/span&gt;
  &lt;span style=&quot;color: #0030fF; &quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;int&lt;/span&gt; height;            &lt;span style=&quot;color: #808080&quot;&gt;// Высота&lt;/span&gt;
  &lt;span style=&quot;color: #0030fF; &quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;int&lt;/span&gt; frequency;            &lt;span style=&quot;color: #808080&quot;&gt;// Частота обновления экрана&lt;/span&gt;
  &lt;span style=&quot;color: #0030fF; &quot;&gt;bool&lt;/span&gt; fullscreen;              &lt;span style=&quot;color: #808080&quot;&gt;// Полноэкранный режим&lt;/span&gt;
  &lt;span style=&quot;color: #0030fF; &quot;&gt;bool&lt;/span&gt; topwindow;                &lt;span style=&quot;color: #808080&quot;&gt;// Поверх всех окон&lt;/span&gt;
  HICON iconNormal;              &lt;span style=&quot;color: #808080&quot;&gt;// Нормальная иконка&lt;/span&gt;
  HICON iconSmall;              &lt;span style=&quot;color: #808080&quot;&gt;// Маленькая иконка&lt;/span&gt;
  HCURSOR cursor;                &lt;span style=&quot;color: #808080&quot;&gt;// Курсор&lt;/span&gt;
};

&lt;span style=&quot;color: #0030fF; &quot;&gt;class&lt;/span&gt; Application
{
  &lt;span style=&quot;color: #0030fF; &quot;&gt;private&lt;/span&gt;:
    &lt;span style=&quot;color: #0030fF; &quot;&gt;static&lt;/span&gt; Application* instance;      &lt;span style=&quot;color: #808080&quot;&gt;// Указатель на единственный экземпляр класса&lt;/span&gt;

    &lt;span style=&quot;color: #0030fF; &quot;&gt;char&lt;/span&gt;* errorDesc;            &lt;span style=&quot;color: #808080&quot;&gt;// Описание ошибки&lt;/span&gt;
    AppDesc appDesc;            &lt;span style=&quot;color: #808080&quot;&gt;// Описание приложения&lt;/span&gt;
    HINSTANCE appInstance;          &lt;span style=&quot;color: #808080&quot;&gt;// Указатель на экземпляр приложения&lt;/span&gt;
    HWND window;              &lt;span style=&quot;color: #808080&quot;&gt;// Указатель на окно&lt;/span&gt;

    Application&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;            &lt;span style=&quot;color: #808080&quot;&gt;// Конструктор&lt;/span&gt;
    ~Application&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;            &lt;span style=&quot;color: #808080&quot;&gt;// Деструктор&lt;/span&gt;

    &lt;span style=&quot;color: #0030fF; &quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;long&lt;/span&gt; _stdcall WinMessage&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;    &lt;span style=&quot;color: #808080&quot;&gt;// Функция обработки сообщений от операционной системы&lt;/span&gt;
                    HWND _window,
                    UINT _message,
                    WPARAM _wparam,
                    LPARAM _lparam&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;

  &lt;span style=&quot;color: #0030fF; &quot;&gt;public&lt;/span&gt;:
    &lt;span style=&quot;color: #0030fF; &quot;&gt;static&lt;/span&gt; Application* GetInstance&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;  &lt;span style=&quot;color: #808080&quot;&gt;// Получение указателя на единственный экземпляр класса&lt;/span&gt;

    &lt;span style=&quot;color: #0030fF; &quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;char&lt;/span&gt;* GetError&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;        &lt;span style=&quot;color: #808080&quot;&gt;// Получение описания ошибки&lt;/span&gt;

    &lt;span style=&quot;color: #0030fF; &quot;&gt;bool&lt;/span&gt; Create&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;              &lt;span style=&quot;color: #808080&quot;&gt;// Создание окна&lt;/span&gt;
          &lt;span style=&quot;color: #0030fF; &quot;&gt;const&lt;/span&gt; HINSTANCE _appInstance,
          &lt;span style=&quot;color: #0030fF; &quot;&gt;const&lt;/span&gt; AppDesc* _appDesc&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;

    &lt;span style=&quot;color: #0030fF; &quot;&gt;bool&lt;/span&gt; SetMode&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;const&lt;/span&gt; AppDesc* _appDesc&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;  &lt;span style=&quot;color: #808080&quot;&gt;// Установка режима&lt;/span&gt;
};&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;
&lt;p&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;div style=&quot;background: #f2f2f2; padding: 5px; margin: 4px;&quot;&gt;&lt;pre&gt;Application* Application::instance=&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;;      &lt;span style=&quot;color: #808080&quot;&gt;// Указатель на единственный экземпляр класса&lt;/span&gt;

&lt;span style=&quot;color: #808080&quot;&gt;// Конструктор&lt;/span&gt;
Application::Application&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
{
  errorDesc=&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;;
  ZeroMemory&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&amp;amp;appDesc,&lt;span style=&quot;color: #0030fF; &quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;AppDesc&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
  appInstance=&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;;
  window=&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;;
}

&lt;span style=&quot;color: #808080&quot;&gt;// Деструктор&lt;/span&gt;
Application::~Application&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
{
  &lt;span style=&quot;color: #0030fF; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;errorDesc!=&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
  {
    &lt;span style=&quot;color: #0030fF; &quot;&gt;delete&lt;/span&gt; errorDesc;
    errorDesc=&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;;
  }

  &lt;span style=&quot;color: #0030fF; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;appInstance!=&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
  {
    &lt;span style=&quot;color: #0030fF; &quot;&gt;delete&lt;/span&gt; appInstance;
    appInstance=&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;;
  }

  &lt;span style=&quot;color: #0030fF; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;window!=&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
  {
    &lt;span style=&quot;color: #0030fF; &quot;&gt;delete&lt;/span&gt; window;
    window=&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;;
  }
}

&lt;span style=&quot;color: #808080&quot;&gt;// Получение указателя на единственный экземпляр класса&lt;/span&gt;
Application* Application::GetInstance&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
{
  &lt;span style=&quot;color: #0030fF; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;!instance&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt; instance=&lt;span style=&quot;color: #0030fF; &quot;&gt;new&lt;/span&gt; Application&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;

  &lt;span style=&quot;color: #0030fF; &quot;&gt;return&lt;/span&gt; instance;
}

&lt;span style=&quot;color: #808080&quot;&gt;// Получение описания ошибки&lt;/span&gt;
&lt;span style=&quot;color: #0030fF; &quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;char&lt;/span&gt;* Application::GetError&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
{
  &lt;span style=&quot;color: #0030fF; &quot;&gt;return&lt;/span&gt; errorDesc;
}

&lt;span style=&quot;color: #808080&quot;&gt;// Функция обработки сообщений от операционной системы&lt;/span&gt;
&lt;span style=&quot;color: #0030fF; &quot;&gt;long&lt;/span&gt; _stdcall Application::WinMessage&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;
                    HWND _window,
                    UINT _message,
                    WPARAM _wparam,
                    LPARAM _lparam&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
{
  Application* app=Application::GetInstance&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
  AppDesc appDescTemp;

  &lt;span style=&quot;color: #0030fF; &quot;&gt;switch&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;_message&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
  {
    &lt;span style=&quot;color: #0030fF; &quot;&gt;case&lt;/span&gt; WM_KEYDOWN:

      ZeroMemory&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&amp;amp;appDescTemp,&lt;span style=&quot;color: #0030fF; &quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;AppDesc&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;

      appDescTemp.x      = &lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;;
      appDescTemp.y      = &lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;;
      appDescTemp.width    = &lt;span style=&quot;color: #F04000; &quot;&gt;800&lt;/span&gt;;
      appDescTemp.height    = &lt;span style=&quot;color: #F04000; &quot;&gt;600&lt;/span&gt;;
      appDescTemp.topwindow  = &lt;span style=&quot;color: #0030fF; &quot;&gt;false&lt;/span&gt;;

      app-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;SetMode&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&amp;amp;appDescTemp&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
      &lt;span style=&quot;color: #0030fF; &quot;&gt;break&lt;/span&gt;;

    &lt;span style=&quot;color: #0030fF; &quot;&gt;case&lt;/span&gt; WM_DESTROY:
      PostQuitMessage&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
      &lt;span style=&quot;color: #0030fF; &quot;&gt;break&lt;/span&gt;;

    &lt;span style=&quot;color: #0030fF; &quot;&gt;default&lt;/span&gt;:
      &lt;span style=&quot;color: #0030fF; &quot;&gt;return&lt;/span&gt; DefWindowProcA&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;_window,_message,_wparam,_lparam&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
  }

  &lt;span style=&quot;color: #0030fF; &quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;;
}

&lt;span style=&quot;color: #808080&quot;&gt;// Создание окна&lt;/span&gt;
&lt;span style=&quot;color: #0030fF; &quot;&gt;bool&lt;/span&gt; Application::Create&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;
              &lt;span style=&quot;color: #0030fF; &quot;&gt;const&lt;/span&gt; HINSTANCE _appInstance,
              &lt;span style=&quot;color: #0030fF; &quot;&gt;const&lt;/span&gt; AppDesc* _appDesc&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
{
  &lt;span style=&quot;color: #0030fF; &quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;int&lt;/span&gt; mode=WS_POPUP;
  &lt;span style=&quot;color: #0030fF; &quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;int&lt;/span&gt; modeEx=&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;;

  appDesc=*_appDesc;
  appInstance=_appInstance;

  WNDCLASSEXA wc;

  ZeroMemory&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&amp;amp;wc,&lt;span style=&quot;color: #0030fF; &quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;WNDCLASSEXA&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;

  wc.cbSize      = &lt;span style=&quot;color: #0030fF; &quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;WNDCLASSEXA&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
  wc.style      = CS_HREDRAW | CS_VREDRAW;
  wc.lpfnWndProc    = &lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;WNDPROC&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt; WinMessage;
  wc.hInstance    = appInstance;
  wc.hIcon      = appDesc.iconNormal;
  wc.hCursor      = appDesc.cursor;
  wc.hbrBackground  = CreateSolidBrush&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;RGB&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;,&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;,&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
  wc.lpszClassName  = appDesc.name;
  wc.hIconSm      = appDesc.iconSmall;

  &lt;span style=&quot;color: #0030fF; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;RegisterClassExA&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&amp;amp;wc&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;==&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
  {
    errorDesc=&lt;span style=&quot;color: #00808F&quot;&gt;&amp;quot;Не могу зарегистрировать класс окна!&amp;quot;&lt;/span&gt;;
    &lt;span style=&quot;color: #0030fF; &quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;true&lt;/span&gt;;
  }

  &lt;span style=&quot;color: #0030fF; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;!appDesc.fullscreen&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt; mode=WS_POPUP | WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU | WS_ICONIC;
  &lt;span style=&quot;color: #0030fF; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;appDesc.topwindow&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt; modeEx=WS_EX_TOPMOST;

  &lt;span style=&quot;color: #0030fF; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;window=CreateWindowExA&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;
    modeEx,
    appDesc.name,
    appDesc.name,
    mode,
    appDesc.x,appDesc.y,
    appDesc.width,appDesc.height,
    &lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;,&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;,
    appInstance,
    &lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;==&lt;span style=&quot;color: #F04000; &quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
  {
    errorDesc=&lt;span style=&quot;color: #00808F&quot;&gt;&amp;quot;Не могу создать окно!&amp;quot;&lt;/span&gt;;
    &lt;span style=&quot;color: #0030fF; &quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;true&lt;/span&gt;;
  }

  ShowWindow&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;window,SW_NORMAL&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
  UpdateWindow&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;window&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;

  &lt;span style=&quot;color: #0030fF; &quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;false&lt;/span&gt;;
};

&lt;span style=&quot;color: #808080&quot;&gt;// Установка режима&lt;/span&gt;
&lt;span style=&quot;color: #0030fF; &quot;&gt;bool&lt;/span&gt; Application::SetMode&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0030fF; &quot;&gt;const&lt;/span&gt; AppDesc* _appDesc&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
{
  appDesc.x=_appDesc-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;x;
  appDesc.y=_appDesc-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;y;
  appDesc.width=_appDesc-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;width;
  appDesc.height=_appDesc-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;height;
  appDesc.frequency=_appDesc-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;frequency;
  appDesc.fullscreen=_appDesc-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;fullscreen;
  appDesc.topwindow=_appDesc-&lt;span style=&quot;color: #a06000&quot;&gt;&amp;gt;&lt;/span&gt;topwindow;

  &lt;span style=&quot;color: #0030fF; &quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;appDesc.topwindow&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;
  {
    SetWindowPos&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;window,HWND_TOPMOST,appDesc.x,appDesc.y,appDesc.width,appDesc.height,SWP_SHOWWINDOW&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
  }
  &lt;span style=&quot;color: #0030fF; &quot;&gt;else&lt;/span&gt;
  {
    SetWindowPos&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;window,HWND_TOP,appDesc.x,appDesc.y,appDesc.width,appDesc.height,SWP_SHOWWINDOW&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
  }

  ShowWindow&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;window,SW_NORMAL&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;
  UpdateWindow&lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;window&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt;;

  &lt;span style=&quot;color: #0030fF; &quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0030fF; &quot;&gt;false&lt;/span&gt;;
}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;
&lt;p&gt;Так вот, функция обработки сообщений от операционной системы у меня является в классе статической. А если я её делаю обычной, то возникает ошибка. Ну как мне можно засунуть в:&lt;/p&gt;
&lt;p&gt;&lt;div style=&quot;background: #f2f2f2; padding: 5px; margin: 4px;&quot;&gt;&lt;pre&gt;wc.lpfnWndProc    = &lt;span style=&quot;color: #a06000&quot;&gt;(&lt;/span&gt;WNDPROC&lt;span style=&quot;color: #a06000&quot;&gt;)&lt;/span&gt; WinMessage;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Указатель на функцию этого же класса?&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/code/forum/?id=131156</guid>
  <pubDate>Thu, 11 Mar 2010 19:30:53 GMT</pubDate>
  <title>Математическая задача.</title>
  <link>http://www.gamedev.ru/code/forum/?id=131156</link>
  <description>Прошу помочь мне с небольшой математической задачей, возникшей при написании редактора.
&lt;p&gt;Что нам дано? Красный кубик, вытянутый красный цилиндр; синий кубик, вытянутый синий цилиндр. Необходимо провести из красного кубика в направлении синего кубика красный цилиндр; провести в направлении от синего кубика к красному кубику синий цилиндр. Цилиндры должны начинаться от края своего кубика! Цилиндр не касается угла кубика!&lt;/p&gt;
&lt;p&gt;Даны позиции кубиков, цилиндров, их углы поворота (! только углы - RollAngle, TurnAngle, PichAngle), ширина, высота кубиков и цилиндров. Кубики перемещать нельзя, цилинды, разумеется, можно. Всё.&lt;/p&gt;
&lt;p&gt;Заранее очень благодарен. Скромный скриншот, вот что должно примерно получиться: &lt;/p&gt;
&lt;p&gt;Давайте внесу ещё ясность. Красный кубик - RedCobe; синий - BlueCube; красный цилиндр RedСylinder; синий цилиндр - BlueCylinder. Получить позицию кубика так: RedCobe.Position.Z или RedCobe.Position.X; ширину - RedCobe.CubeWidth, высоты - RedCobe.height.&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/flame/forum/?id=131155</guid>
  <pubDate>Thu, 11 Mar 2010 19:15:21 GMT</pubDate>
  <title>Камера Defender C-011 не дружит с OpenCV</title>
  <link>http://www.gamedev.ru/flame/forum/?id=131155</link>
  <description>Примеры из &lt;a href=&quot;http://sourceforge.net/projects/opencvlibrary/&quot;&gt;OpenCV 2.0.0a&lt;/a&gt; не работают с камерой &lt;a href=&quot;http://defender.ru/products/multimedia/webcam/12350/&quot;&gt;Defender C-011&lt;/a&gt;. Камеры как будто нет в системе (т.е. вижу просто помехи). При этом в разных стандартных виндовых приложениях, в Скайпе камера работает.
&lt;br /&gt;Очевидно что какие-то проблемы с драйверами, но какие? Что не поддерживает этот девайс?
&lt;br /&gt;Те же самые примеры OpenCV прекрасно работают на ноуте с встроенной камерой.
&lt;br /&gt;&lt;b&gt;Правка#1&lt;/b&gt;:
&lt;br /&gt;После танцев с бубнов сэмплы OpenCV&amp;nbsp; стали демонстрировать видео поток от ТВ-тюнера :D
&lt;br /&gt;Демка facedetect отлично определяет лица в музыкальных клипах! :D
&lt;br /&gt;&lt;b&gt;Правка#2&lt;/b&gt;:
&lt;br /&gt;Разобрался, девайс нужно было использовать 1 а не 0 в вызове cvCaptureFromCAM() :D</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/projects/forum/?id=131154</guid>
  <pubDate>Thu, 11 Mar 2010 18:41:37 GMT</pubDate>
  <title>EVOLUTION (Эволюция:Каменный ВЕК. Соц. симулятор) - Приглашаем!</title>
  <link>http://www.gamedev.ru/projects/forum/?id=131154</link>
  <description>&lt;a href=&quot;http://s61.radikal.ru/i174/0912/82/ef2d2c92009f.png&quot;&gt;http://s61.radikal.ru/i174/0912/82/ef2d2c92009f.png&lt;/a&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Название: Evolution (Эволюция)
&lt;br /&gt;Жанр: 3D MMO TPRPG
&lt;br /&gt;API: DirectX + HLSL/Cg. На базе модифицированного графического движка OGRE
&lt;br /&gt;Скриптинг клиента - Python. Интерфейс : XML и HTML/Flash.
&lt;br /&gt;Сервер - JAVA, скриптинг - Python.
&lt;br /&gt;База данных - MySQL
&lt;br /&gt;Проект держится на энтузиазме, но это не значит, что он однодневка, все зависит от нас с вами, см ниже.
&lt;br /&gt;Дата начала работы: 1 ноября 2009 года
&lt;br /&gt;Дата релиза: не определена
&lt;br /&gt;Способ распространения/бизнес модель: Free to play(Без абонентской платы)
&lt;br /&gt;Целевая аудитория: Ориентировочный возрастной рейтинг 16+
&lt;br /&gt;Сайт проекта/команды: &lt;a href=&quot;http://serenityonline.ucoz.ru/&quot;&gt;http://serenityonline.ucoz.ru/&lt;/a&gt; (название будет сменено)
&lt;br /&gt;По вопросам присоединения к команде - подавать заявку на нашем форуме или соединение по контактам (внизу)&lt;/p&gt;
&lt;p&gt;USP :Наш проект называется &amp;quot;Эволюция&amp;quot; (рабочее название).
&lt;br /&gt;Это MMO TPRPG
&lt;br /&gt;Первый этап &amp;quot;Каменный век&amp;quot;
&lt;br /&gt;В игре присутствуют 3 племени (2 основных и 1 дополнительное)
&lt;br /&gt;Стиль игры RvRvR, внутри племен разрешено PVP (правда с последствиями) PVE представляет собой борьбу игроков с дикой природой. Банальных скучных квестов типа &amp;quot;принеси 10 шкур того-то&amp;quot; не будет. Животные в игре реально быстрые и смертельные, поэтому самому ходить по миру не рекомендуется.
&lt;br /&gt;Основная цель игры: завоевание и доминирование, посредством владения (в прямом смысле)как можно большего количества мест добычи ресурсов.
&lt;br /&gt;В нашей игре важен не отдельно взятый игрок, а общество. Если общество не старается на благо поселения, то оно будет слабым и не выдержит атак врага
&lt;br /&gt;Это игра c развитыми экномической и социальной системами с элементами стратегической игры.
&lt;br /&gt;Игроки в игре смогут заниматься абсолютно всем, и если захотят одновременно
&lt;br /&gt;Им не нужно будет создавать отдельных чаров , скажем для прокачки магии или боевых исскуств - один перс может быть и магом и воином и рабочим.
&lt;br /&gt;В игре нет классов и уровней развития.
&lt;br /&gt;Система прокачки достаточно уникальна
&lt;br /&gt;Игроки смогут создавать товары, получать за это з\п, покупать недвижимость для кланов в поселениях.
&lt;br /&gt;В игре будут доступны инструменты для построения структур внутренних обществ игроков в виде ранговой настраиваемой системы.
&lt;br /&gt;Всё товары в игре ломаются со временем, поэтому если новые товары не создаются, то племя становится слабым и не сможет защищать поселение от других.
&lt;br /&gt;-более 20 ремесел в игре.
&lt;br /&gt;-4 типа магий
&lt;br /&gt;-разнообразное необычное оружие тех времен
&lt;br /&gt;-большой колоритный мир дикой природы от джунглей до мерзлых гор, с большим количеством живности, как хищной , так и травоядной
&lt;br /&gt;-абсолютно новый тип построения и управления! иерархиями внутриигровых обществ
&lt;br /&gt;-возможность владения постройками
&lt;br /&gt;-абсолютно новая экономическая система, исключающая возможность спекуляций с товарами.
&lt;br /&gt;-возможность быть не только во главе племени, но и непосредственно влиять на его развитие.
&lt;br /&gt;-возможность управлять армиями живых игроков!!
&lt;br /&gt;-теперь вы можете нанять убийцу и отомстить обидчику, или вообще... нанять группу бандитов и ограбить караван конкурента.
&lt;br /&gt;-новая система взаимодействия и взаиморасчетов игроков с использованием ИИ, как посредника.&lt;/p&gt;
&lt;p&gt;Цели разработки:
&lt;br /&gt;- создание и запуск развлекательного онлайн сервиса
&lt;br /&gt;- создание сплочённого коллектива для дальнейшего развития сервиса в долгосрочной перспективе
&lt;br /&gt;- достижение коммерческого результата
&lt;br /&gt;- получение опыта всеми участниками проекта
&lt;br /&gt;- пополнение своих портфолио/резюме всеми участниками проекта&lt;/p&gt;
&lt;p&gt;На данный момент имеется в распоряжении:
&lt;br /&gt;- основа графического движка
&lt;br /&gt;- основа сетевого движка клиент/сервер (создание персонажа, подсоединение, инвентарь/параметры, чат, перемещение и взаимодействие с другими объектами итд.)&lt;/p&gt;
&lt;p&gt;На данный момент нам необходимы следующие позиции:&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;Программист C++ со знанимем движка OGRE&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Арт. - отдел:
&lt;br /&gt;Художники – Photoshop/Corel/Flash итд (на ваше личное усмотрение). – выработка стилистики, рисование скетчей, текстур, иконок, иллюстраций, элементов интерфейса, а также двухмерной анимации.&lt;/p&gt;
&lt;p&gt;Моделлеры (Аниматоры) – 3DMax/Maya/Blender/Motion builder итд (на ваше личное усмотрение). – разработка лоу/хайполи моделей и текстурных развёрток, работа со скелетной и морф анимацией.&lt;/p&gt;
&lt;p&gt;Дизайнер уровней (Маппер/Левел дизайнер) – Планирование и расстановка готового визуального/логического контента на виртуальном полигоне. Работа с рельефом.&lt;/p&gt;
&lt;p&gt;Сценаристы – Генерация текстового контента (сюжет, описания объектов, квесты и др.).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://img705.imageshack.us/img705/5787/adam02.jpg&quot;&gt;http://img705.imageshack.us/img705/5787/adam02.jpg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://img709.imageshack.us/img709/3728/medved.jpg&quot;&gt;http://img709.imageshack.us/img709/3728/medved.jpg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://img25.imageshack.us/img25/8869/111mx.jpg&quot;&gt;http://img25.imageshack.us/img25/8869/111mx.jpg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://st.free-lance.ru/projects/upload/f_4b97ed7840d7e.jpg&quot;&gt;http://st.free-lance.ru/projects/upload/f_4b97ed7840d7e.jpg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://img31.imageshack.us/img31/2342/66132127.jpg&quot;&gt;http://img31.imageshack.us/img31/2342/66132127.jpg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://st.free-lance.ru/projects/upload/f_4b97ed7838cc3.jpg&quot;&gt;http://st.free-lance.ru/projects/upload/f_4b97ed7838cc3.jpg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://st.free-lance.ru/projects/upload/f_4b97ed783619d.jpg&quot;&gt;http://st.free-lance.ru/projects/upload/f_4b97ed783619d.jpg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Модели пробные.Просто для показа, что наш проект не однодневка. :D&lt;/p&gt;
&lt;p&gt;Кандидатам писать в Skype:hr-apple ; fedotmaster&lt;/p&gt;
&lt;p&gt;Аська – 8392678 ; 575183195 
&lt;br /&gt;А так же по электронной почте: kirkenko@gmail.com &lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/code/forum/?id=131153</guid>
  <pubDate>Thu, 11 Mar 2010 18:37:01 GMT</pubDate>
  <title>Вопрос по GL3DObject и OpenGL_panel</title>
  <link>http://www.gamedev.ru/code/forum/?id=131153</link>
  <description>Здравствуйте!
&lt;br /&gt;С программированием столкнулся совсем недавно.Пытаюсь разобрать чужую программу.При запуске файла xxxxx.dpr сразу же выскакивают сообщения следующего рода &amp;quot;Class GL_panel not found и т. д...&amp;quot;
&lt;br /&gt;и &amp;quot;Class TGL3DObject not found и т. д...&amp;quot; Если эти ошибки проигнорировать, то какие то данные могут быть удалены и программа корректно работать не будет.
&lt;br /&gt;GL3DObject и OpenGL_panel указаны в разделе USES.
&lt;br /&gt;Правильно ли я определяю то,что не установлен какой то компонент, и delphi не понимает,откуда взялись GL3DObject и OpenGL_panel?
&lt;br /&gt;Очень прошу помочь тех, кто знает как выйти из этой ситуации.</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/code/forum/?id=131152</guid>
  <pubDate>Thu, 11 Mar 2010 18:29:23 GMT</pubDate>
  <title>nVidia tesselation sample - несколько вопросов</title>
  <link>http://www.gamedev.ru/code/forum/?id=131152</link>
  <description>Недавно скачал себе nVidia DirectX SDK 10.5. Начал приглядываться к примеру с использованием тесселяции, и решил написать свою версию этого сэмпла, с возможностью загрузить собственную модельку. Сразу смутил используемый в примере формат - .bzr. Гугол ничего не говорит про этот формат. Загрузчик в пример встроен, конечно, ну и я полез копаться, чем он отличается от других форматов моделей. Сразу бросилось в глаза, что в этом формате модели указывается количество патчей, и число патчей заносится в глобальную переменную, а потом модель по этим патчам лодится.
&lt;p&gt;Вопрос - как мне быть, если я хочу, допустим, загрузить модель в формате 3DS, OBJ, или любом другом? Лод, конечно можно убрать, а вместе с ним, и необходимость юзать число патчей, но в игре это было бы дико, на мой взгляд.&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/art/forum/?id=131151</guid>
  <pubDate>Thu, 11 Mar 2010 18:06:04 GMT</pubDate>
  <title>3D DevGame</title>
  <link>http://www.gamedev.ru/art/forum/?id=131151</link>
  <description>Начну с такого вот пистолета. Концепт не мой, я только моделил.
&lt;br /&gt;Пока только хай поли модель. Вскоре сниму нормалки, сделаю лоу поли версию и затекстурю. Следите за темой :)
&lt;p&gt;&lt;img src=&quot;http://img362.imageshack.us/img362/1906/92680450.jpg&quot; alt=&quot;Изображение&quot; /&gt;
&lt;br /&gt;&lt;img src=&quot;http://img718.imageshack.us/img718/6858/19681979.jpg&quot; alt=&quot;Изображение&quot; /&gt;&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/code/forum/?id=131150</guid>
  <pubDate>Thu, 11 Mar 2010 17:15:33 GMT</pubDate>
  <title>Обьединёние тайлов в тайлсеты (атласы)</title>
  <link>http://www.gamedev.ru/code/forum/?id=131150</link>
  <description>Кто-нибудь может подсказать софт для сабжа? Или может у кого-нибудь есть самописный? Сам пробовал реализовать на пхп, все работает но почему-то очень сильно сражает цвет , красный превращается чуть ли не в серый. Или может есть у кого пример скрипта для этого дела.&amp;nbsp; Вообщем Нужна помощь</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/code/forum/?id=131149</guid>
  <pubDate>Thu, 11 Mar 2010 17:13:22 GMT</pubDate>
  <title>Обьединёние тайлов в тайлсеты (атласы)</title>
  <link>http://www.gamedev.ru/code/forum/?id=131149</link>
  <description>Кто-нибудь может подсказать софт для сабжа? Или может у кого-нибудь есть самописный? Сам пробовал реализовать на пхп, все работает но почему-то очень сильно сражает цвет , красный превращается чуть ли не в серый. Нужна помощь. Или может есть у кого пример скрипта для этого дела. Нужна помощь</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/projects/forum/?id=131147</guid>
  <pubDate>Thu, 11 Mar 2010 16:59:35 GMT</pubDate>
  <title>Создание глобального мода &quot;Холодный рассвет&quot; для Majesty 2</title>
  <link>http://www.gamedev.ru/projects/forum/?id=131147</link>
  <description>Привет! Хочу рассказать об одном глобальном моде для игры Majesty 2 The Fantasy Kingdom Sim. Мод создается командой энтузиастов, фанатов серии Majesty. Основными направлениями мода являются:
&lt;p&gt;Изменение баланса в сторону усложнения игры.
&lt;br /&gt;Добавление новых классов гильдиевых и храмовых героев, среди которых стихийный маг огня и ассасин.
&lt;br /&gt;Новые заклинания.
&lt;br /&gt;Изменение интерфейса игры.
&lt;br /&gt;Добавление в игру новой кампании – &lt;b&gt;Холодный рассвет (Cold Sunrise)&lt;/b&gt;, состоящей минимум из шести миссий.
&lt;br /&gt;И многое другое!&lt;/p&gt;
&lt;p&gt;Для ускорения создания мода, а также улучшения его качества команде всегда требуются опытные мододелы, мододелы ветераны, мододелы мастера и даже мододелы грандмастера!&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Команде всегда нужны:&lt;/b&gt;
&lt;br /&gt;1) Креативные 3D моделлеры, умеющие работать в студии 3DS-MAX (8 и выше).
&lt;br /&gt;2) Текстурщики, хорошо знающие программу Photoshop, умеющих создавать хорошие текстуры для моделей.
&lt;br /&gt;3) Тестеры с хорошим интернетом, которые могут оперативно тестировать новые версии мода.
&lt;br /&gt;4) Просто фанаты игры, готовые поделиться своим мнением о моде и его общих изменениях, вносимых в игру.&lt;/p&gt;
&lt;p&gt;Запись в команду разработчиков производится здесь &lt;a href=&quot;http://fanfantasy.info/forum/index.php?/topic/32-nabor-komandi-razrabotchikov/&quot;&gt;http://fanfantasy.info/forum/index.php?/topic/32-nabor-komandi-razrabotchikov/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Общая тема для обсуждения мода, пожеланий и прочего здесь &lt;a href=&quot;http://fanfantasy.info/forum/index.php?/topic/61-obshee/&quot;&gt;http://fanfantasy.info/forum/index.php?/topic/61-obshee/&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Сайт FanFantasy &lt;a href=&quot;http://fanfantasy.info/&quot;&gt;http://fanfantasy.info/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Все вопросы относительно мода и этого объявления задаются на официальном форуме FanFantasy!&lt;/p&gt;
&lt;p&gt;Если вы любите вселенную Majesty, если вы хороший текстурщик, или 3D моделлер и готовы сделать хотя бы одну классную модель, или же вы просто фанат игры и хотите принять участие в тестировании мода &amp;quot;Холодный рассвет&amp;quot;, то команда FanFantasy всегда готова к сотрудничеству! &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ардания вас не забудет!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;В похожей теме требовались только 3D моделлеры, здесь больший выбор. :) Если это нарушает правила, тогда объедините эту тему с похожей.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</description>
</item>
<item>
  <guid isPermaLink="true">http://www.gamedev.ru/flame/forum/?id=131146</guid>
  <pubDate>Thu, 11 Mar 2010 16:55:57 GMT</pubDate>
  <title>Литературный клуб</title>
  <link>http://www.gamedev.ru/flame/forum/?id=131146</link>
  <description>Вроде бы такого еще не было. И имеется в виду не писательско-графоманский, а скорее читательский сектор. В общем, что прочитали из последнего, что читалось запоем?
&lt;p&gt;Вот, я недавно прочитал &amp;quot;Гиперион&amp;quot; Дэна Симмонса. Сам по себе вроде-бы ничего не несет, но интересен сам мир. У Шрайка есть какой-то свой стиль! Прикол с искривлением времени при полете, из-за которого один дед Консула старел за каждую ходку из стороны в сторону на пару лет, а бабушка Консула лет на 20.&lt;/p&gt;</description>
</item>
</channel>
</rss>
