<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://lj.rossia.org/bots/  --><feed version='0.3' xmlns='http://purl.org/atom/ns#'>
<title mode='escaped'>scaven</title>
<tagline mode='escaped'>scaven</tagline>
<link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/' />
<modified>2009-11-22T21:14:17Z</modified><link rel='service.feed' type='application/x.atom+xml' title='scaven' href='http://lj.rossia.org/users/scaven/data/atom' />  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>установка Code::Blocks + MinGW (версия 20091122)</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:33104</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/33104.html' />
    <issued>2009-11-23T01:55:00</issued>
    <modified>2009-11-22T21:14:17Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>мини туториал о том как на текущий момент ставить более-менее последнюю связку Code::Blocks + MinGW, немного теории, изучения вопроса и вообще =)&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://wiki.codeblocks.org/index.php?title=MinGW_installation&quot;&gt;статья по установке мингв на кодблоксовской вики&lt;/a&gt;, на данный момент устаревшая..&lt;br /&gt;&lt;br /&gt;самый простой вариант - поставить тупо &lt;a href=&quot;http://downloads.sourceforge.net/codeblocks/codeblocks-8.02mingw-setup.exe&quot;&gt;последнюю stable версию code::blocks&lt;/a&gt;, которая содержит сразу установленную MinGW.. &lt;br /&gt;однако, эта версия аж 2006 года и там нет большой части вкусных штук, которые есть в современных релизах (Nightly Builds), старый gcc (3.4.5), но зато все работает =)&lt;br /&gt;&lt;br /&gt;ну, а если этого мало, то тут я описал примерные алгоритмы на текущий день:&lt;br /&gt;&lt;br /&gt;&lt;lj-cut&gt;&lt;br /&gt;&lt;br /&gt;////////////////////////////////////////&lt;wbr /&gt;&lt;br /&gt;// CODE::BLOCKS :&lt;br /&gt;////////////////////////////////////////&lt;wbr /&gt;&lt;br /&gt;Здесь довольно просто - заходим на форум в раздел &lt;a href=&quot;http://forums.codeblocks.org/index.php/board,20.0.html&quot;&gt;Nightly Builds&lt;/a&gt;, выбираем последнюю версию (тема с последней версией не обязательно на самом верху - иногда дискуссии по предыдущим версиям сами выбираются наверх), пробегаемся глазами по комментам, и если никто не описывал каких-то супербагов - думаю можно ставить&lt;br /&gt;&lt;br /&gt;на данный момент - &lt;a href=&quot;http://forums.codeblocks.org/index.php/topic,11504.0.html&quot;&gt;версия Nightly Build от 11 ноября 2009&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Что нужно сделать:&lt;br /&gt;1) скачать:&lt;br /&gt;&lt;a href=&quot;http://prdownload.berlios.de/codeblocks/CB_20091111_rev5911_win32.7z&quot;&gt;бинарники кодблокса&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://mmkider.googlepages.com/wxmsw28u_gcc_cb_wx2810.7z&quot;&gt;патченый wxWidget dll for Code::Blocks&lt;/a&gt;&lt;br /&gt;(патченый был найден в теме билда, на 2й странице&lt;br /&gt;в оригинале вроде должен быть краш при передвижении тулбара или типа того&lt;br /&gt;оригинал &lt;a href=&quot;http://prdownload.berlios.de/codeblocks/wxmsw28u_gcc_cb_wx2810.7z&quot;&gt;windows wxWidget dll for Code::Blocks&lt;/a&gt;)&lt;br /&gt;&lt;a href=&quot;http://prdownload.berlios.de/codeblocks/mingwm10_gcc421.7z&quot;&gt;dll от MinGW&lt;/a&gt; (если MinGW будет ставиться &quot;по полной&quot; - т.е. с прописыванием переменной PATH, то не нужен)&lt;br /&gt;&lt;br /&gt;2) распаковать все в одну папку =)&lt;br /&gt;&lt;br /&gt;////////////////////////////////////////&lt;wbr /&gt;&lt;br /&gt;// MinGW :&lt;br /&gt;////////////////////////////////////////&lt;wbr /&gt;&lt;br /&gt;&lt;small&gt;&lt;br /&gt;теории немного:&lt;br /&gt;1) вообще (видимо с относительно недавних пор) minGW состоит из следующих групп пакетов:&lt;br /&gt;MinGW (сам GCC компилер)&lt;br /&gt;MSYS (консольные Unix-like утилиты)&lt;br /&gt;msysDTK (MSYS Developer Tool Kit)&lt;br /&gt;mingwPORT (утилиты для портирования GNU софта для MinGW)&lt;br /&gt;&lt;br /&gt;2) если планируется использовать MinGW не только из под Code::Blocks, то после установки надо будет прописать в переменную PATH путь до папки bin. В этом случае MinGW нельзя ставить в папки, в названии которых есть пробелы (вообще рекомендуют ставить в корень, но я, например, как нормальный человек, ставлю в свою папку). Если хочется при этом собирать библиотеки, то видимо не обойтись без пакета MSYS (здесь не описывается)&lt;br /&gt;&lt;br /&gt;3) Я тут наткнулся на один баг (похоже все-таки баг, т.к. открыта тема в багтреке, но в интернете на эту тему почти ничего нет, видимо из-за специфики): &lt;br /&gt;версии gcc 3.4.5-20060117-2 и 3.4.5-20060117-3 а также последнюю из четвертой линейки - 4.4.0 кажется скомпилировали без поддержки iconv. &lt;a href=&quot;http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=2832453&amp;amp;group_id=2435&amp;amp;atid=102435&quot;&gt;Бага&lt;/a&gt; описана 5 августа и до сих пор открыта -_- (cc1.exe: error: no iconv implementation, cannot convert from UTF-8 to cp1252  libiconv is installed... but cc1.exe seems to contain no reference to libiconv-2.dll, either&lt;br /&gt;linked in... ...or loaded by name, at runtime...)&lt;br /&gt;Если есть необходимость использовать конвертацию исходников при компиляции (флаги типа -finput-charset=UTF-8 -fexec-charset=CP866), то лучше использовать предыдущие версии (я проверил - нормально работают 3.4.5-20060117-1 и 4.2.1-sjlj (4.3 не стал трогать т.к. альфа версия)), если нет - то думаю можно ставить последние =) (автоинсталлер качает 3.4.520060117-3, т.е. без поддержки iconv).&lt;br /&gt;Здесь опишу оба варианта&lt;br /&gt;&lt;br /&gt;4) Вообще, как я понял, более-менее современная версия описания процесса будет &lt;a href=&quot;http://www.mingw.org/wiki/Getting_Started&quot;&gt;здесь&lt;/a&gt;&lt;br /&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;//------------------&lt;br /&gt;способ 1 - &lt;a href=&quot;http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/&quot;&gt;Автоинсталлер:&lt;/a&gt;&lt;br /&gt;//------------------&lt;br /&gt;можно скачать автоинсталлер - он скачает пакеты которые нужны (и позволит выбрать некоторые лишние), есть возможность также сразу их проинсталлить. PATH переменные при этом НЕ устанавливаются.&lt;br /&gt;В данный момент считается устаревшим (&lt;a href=&quot;http://www.mingw.org/wiki/Getting_Started&quot;&gt;Note: The automated installer is now considered deprecated, and is currently unmaintained; it will not install GCC 4. You will get GCC 3 using this method.&lt;/a&gt;)&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW-5.1.6.exe/download&quot;&gt;скачать версия 5.1.6&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//------------------&lt;br /&gt;способ 2 - Вручную:&lt;br /&gt;//------------------&lt;br /&gt;&lt;br /&gt;Нужны следующие компоненты (в квадратных скобках - ссылка на папку, а всякие bin dll и т.д. - ссылки на сами файлы):&lt;br /&gt;&lt;br /&gt;1) [&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GNU%20Binutils/&quot;&gt;binutils&lt;/a&gt;]&lt;br /&gt;порт GNU binutils. здесь также находится асм и линкер.&lt;br /&gt;вообще, каррент версия 2.19, но автоинсталлер скачал 2.20, так что берем его &lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GNU%20Binutils/binutils-2.20-1-mingw32-bin.tar.gz/download&quot;&gt;скачать [bin] (10.7 мб)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2) [&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/MinGW%20Runtime/&quot;&gt;mingw-runtime&lt;/a&gt;]&lt;br /&gt;здесь находятся Сишные хедеры и библиотеки (msvcrt)&lt;br /&gt;каррент 3.16, нужны dev и dll оба&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/MinGW%20Runtime/mingwrt-3.16-mingw32-dev.tar.gz/download&quot;&gt;[dev] (549 кб)&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/MinGW%20Runtime/mingwrt-3.16-mingw32-dll.tar.gz/download&quot;&gt;[dll]  (6 кб)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3) [&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/MinGW%20API%20for%20MS-Windows/&quot;&gt;w32api&lt;/a&gt;]&lt;br /&gt;хедеры и библиотеки win32Api&lt;br /&gt;каррент 3.13 &lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/MinGW%20API%20for%20MS-Windows/w32api-3.13-mingw32-dev.tar.gz/download&quot;&gt;[src] (1.55 мб)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4) [&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GCC%20Version%204/&quot;&gt;gcc&lt;/a&gt;]&lt;br /&gt;Ну и само ядро gcc =)&lt;br /&gt;итак, 2 версии развития событий:&lt;br /&gt;&lt;br /&gt;ветка 4.4.0 (без поддержка iconv):&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gcc-core-4.4.0-mingw32-bin.tar.gz/download&quot;&gt;[gcc-core bin] (7.2 мб)&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gcc-core-4.4.0-mingw32-dll.tar.gz/download&quot;&gt;[gcc-core dll]  (53 кб)&lt;/a&gt;&lt;br /&gt;+ дополнительные библиотеки:&lt;br /&gt;[&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GCC%20Version%204/&quot;&gt;gmp mpfr pthreads&lt;/a&gt;]&lt;br /&gt;gmp &lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gmp-4.2.4-mingw32-dll.tar.gz/download&quot;&gt;[dll] (267 кб)&lt;/a&gt;&lt;br /&gt;mpfr &lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GCC%20Version%204/mpfr-2.4.1-mingw32-dll.tar.gz/download&quot;&gt;[dll] (136 кб)&lt;/a&gt;&lt;br /&gt;pthreads &lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GCC%20Version%204/pthreads-w32-2.8.0-mingw32-dll.tar.gz/download&quot;&gt;[dll] (16.9 кб)&lt;/a&gt;&lt;br /&gt;[&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/MinGW%20libiconv&quot;&gt;libiconv&lt;/a&gt;]&lt;br /&gt;думаю лучше взять версию 1.13 (на данный момент смысла мало, т.к. см. выше, но в будущем будет видимо обязательна и вообще just in case =])&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/MinGW%20libiconv/libiconv-1.13-mingw32-dll-2.tar.gz/download&quot;&gt;[dll] (768 кб)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ИЛИ ветка 4.2.1 (с поддержкой iconv):&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gcc-core-4.2.1-sjlj-2.tar.gz/download&quot;&gt;[gcc-core] (4.64 мб)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Дополнительно:&lt;br /&gt;&lt;br /&gt;1) [&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GCC%20Version%204/&quot;&gt;С++&lt;/a&gt;]&lt;br /&gt;Для ветки 4.4.0:&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gcc-c%2B%2B-4.4.0-mingw32-bin.tar.gz/download&quot;&gt;[bin] (9.21 мб)&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gcc-c%2B%2B-4.4.0-mingw32-dll.tar.gz/download&quot;&gt;[dll] (251 кб)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Для ветки 4.2.1:&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GCC%20Version%204/gcc-g%2B%2B-4.2.1-sjlj-2.tar.gz/download&quot;&gt;g++ (7.04 мб)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2) [&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger&quot;&gt;gdb&lt;/a&gt;]&lt;br /&gt;почему то нет в автоинсталлере даже как опции.. странные люди =)&lt;br /&gt;каррент релиз почемуто засиделся еще в 5.2.1 версии&lt;br /&gt;но, думаю стоит взять последнюю 7.0&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/gdb-7.0-2-mingw32-bin.tar.gz/download&quot;&gt; [bin] (2.85 мб)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3) [&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/MinGW%20make&quot;&gt;Make&lt;/a&gt;]&lt;br /&gt;для работы чисто с Code::Blocks не понадобится, но вдруг кому нужно будет =)&lt;br /&gt;(конкретно этот make из пакета MinGW (не MSYS), также как в автоинсталлере)&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/MinGW%20make/make-3.81-20090914-mingw32-bin.tar.gz/download&quot;&gt;[bin] (233 кб)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4) [&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/MinGW%20Utilities/mingw-utils/&quot;&gt;mingw-utils&lt;/a&gt;]&lt;br /&gt;раньше скачивал, пусть будет ссылка&lt;br /&gt;в основном утилиты по конвертации либ (a в dll например) и ресурсов&lt;br /&gt;версия 0.4&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/mingw/files/MinGW%20Utilities/mingw-utils-0.4-1-mingw32-bin.tar.lzma/download&quot;&gt;[bin] (257 кб)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Далее создаем папку, в моем случае D:\programs\mingw&lt;br /&gt;и распаковываем все основные архивы в ее корень&lt;br /&gt;в результате должно получиться чтото вроде &lt;img src=&quot;http://wiki.codeblocks.org/images/d/dc/Lay.png&quot;&gt;&lt;br /&gt;&lt;br /&gt;Для версии 4.2.1:&lt;br /&gt;после распаковки надо будет &lt;b&gt;зайти в папку bin и удалить у всех файлов окончания -sljl&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Необязательное:&lt;br /&gt;кто хочет использовать MinGW по максимуму - в переменную среды PATH прописать путь к папке bin&lt;br /&gt;н-р у меня D:\programs\mingw\bin;&lt;br /&gt;(Мой компьютер - Свойства - Дополнительно - Переменные среды - Системные переменные)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;////////////////////////////////////////&lt;wbr /&gt;&lt;br /&gt;// Настройка :&lt;br /&gt;////////////////////////////////////////&lt;wbr /&gt;&lt;br /&gt;Запускаем Code::Blocks&lt;br /&gt;&lt;br /&gt;выбираем как стандартный компилятор GNU GCC Compiler&lt;br /&gt;Заходим в меню Settings -&amp;gt; Compiler and Debugger&lt;br /&gt;вкладка  Toolchain executables - Compiler`s installation directory - прописываем путь к MinGW&lt;br /&gt;&lt;br /&gt;если вы не установили С++, то еще нужно заменить линкер ниже (Linker for dynamic libs) на mingw32-gcc.exe&lt;br /&gt;&lt;br /&gt;Для инфы - настройки Code::Blocks хранятся в C:\Documents and Settings\[your_user_name]\Application Data\codeblocks в файле default.conf. Если нужно сделать переносную версию, или 2 идешки с разными настройками - нужно вырезать файл из этой папки и положить его к экзешнику. Кодблокс сначала ищет файл по указаному пути, потом у себя в корне, и если не находит, то создает новый по указаному пути.&lt;br /&gt;&lt;br /&gt;вроде все =)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/33104.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/33104&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>правильный стиль написания ТУДУ</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:32912</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/32912.html' />
    <issued>2009-03-19T18:10:00</issued>
    <modified>2009-03-19T13:12:52Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <category term='workflow' />
    <content type='text/html' mode='escaped'>&lt;img src=&quot;http://i40.tinypic.com/153qibd.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;настоящий ниньзя всегда помнит истинную цель ^_^&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/32912.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/32912&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>для поддержки блога/ что хотелось бы написать:</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:32551</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/32551.html' />
    <issued>2009-01-16T17:59:00</issued>
    <modified>2009-01-16T13:02:35Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/32551.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/32551&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>Транзакт ЭсКуЭль квайри чемоданчик</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:32280</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/32280.html' />
    <issued>2008-12-10T15:16:00</issued>
    <modified>2008-12-10T10:17:15Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>придумал какоето время назад фразу&lt;br /&gt;&lt;br /&gt;&lt;code&gt;select * from [life]&lt;/code&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;code&gt;SELECT question FROM life, universe, everything WHERE answer=42&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;а вот это вообще молитва клериков баз данных))))&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;DELETE   sorrows FROM     life &lt;br /&gt;UPDATE   life   SET   failure_flag = &quot;NO&quot;  AND   success_flag = &quot;YES&quot;&lt;br /&gt;SELECT   happiness, prosperity FROM     life WHERE    year &amp;gt;=2008  &lt;br /&gt;INSERT INTO      life VALUES           (&quot;friends&quot;,&quot;dreams&quot;)  &lt;br /&gt;GRANT            smile TO all &lt;br /&gt;REVOKE           enmity  FROM all&lt;br /&gt;ALTER TABLE life add dreams CHAR (INFINITY)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/32280.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/32280&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>какая тема?</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:32122</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/32122.html' />
    <issued>2008-07-11T17:05:00</issued>
    <modified>2008-07-11T12:34:23Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>пятницо)&lt;br /&gt;turn on, tune up, drop out&lt;br /&gt;удовольствие, позитив, игра - главное&lt;br /&gt;все остальное нахуй)&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/32122.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/32122&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>+</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:31875</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/31875.html' />
    <issued>2008-07-10T00:23:00</issued>
    <modified>2008-07-09T18:25:52Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>посеял куда-то штуку рублей&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;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/31875.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/31875&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'></title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:31729</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/31729.html' />
    <created>2008-06-29T10:21:14Z</created>
    <issued>2008-06-29T16:32:00</issued>
    <modified>2008-06-29T10:21:39Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>внезапно &lt;br /&gt;&lt;br /&gt;отличие сознательного и бессознательного как бы напоминает отличие бинари и фаззи&lt;br /&gt;&lt;br /&gt;омфг! о_О О_о о_О&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/31729.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/31729&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>аб</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:31310</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/31310.html' />
    <issued>2008-06-21T15:08:00</issued>
    <modified>2008-06-21T08:56:40Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>а я права получил. открыл сразу АБ категории.&lt;br /&gt;на след. год куплю себе мотоцикл наверн. буду гонять на трасцендентных скоростях вхх ..&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/31310.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/31310&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>переходи на темную сторону и получишь бесплатную печеньку</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:31223</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/31223.html' />
    <issued>2008-05-29T16:20:00</issued>
    <modified>2008-05-29T10:21:50Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>&lt;img src=&quot;http://www.rogueego.com/youlaugh/2007-11/16-01.jpg&quot;&gt;&lt;br /&gt;&lt;br /&gt;заманчиво&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/31223.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/31223&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'></title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:30734</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/30734.html' />
    <issued>2008-01-10T16:32:00</issued>
    <modified>2008-01-10T11:21:45Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <category term='code' />
    <content type='text/html' mode='escaped'>в офисе жарко и душно а на улице холодно и -23&lt;br /&gt;жизнь как лихорадка, блин =)&lt;br /&gt;&lt;br /&gt;а вот скрипт для mssql, который вытаскивает из базы все таблицы, колонки и их описания и &lt;lj-cut&gt; выстраивает как текстовый фаел: (ващето написан спецом для query analyser, mssql 2000)&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;----------------------------------------&lt;wbr /&gt;&lt;br /&gt;-- listing of all tables/columns&lt;br /&gt;-- 	 copyleft 2007	scaven&lt;br /&gt;-- last modified: 20071112&lt;br /&gt;----------------------------------------&lt;wbr /&gt;&lt;br /&gt;&lt;br /&gt;DECLARE tables_cursor CURSOR&lt;br /&gt;	FOR&lt;br /&gt;	SELECT so.name, so.id FROM sysobjects so where so.type like &apos;U&apos; order by so.name&lt;br /&gt;&lt;br /&gt;DECLARE col_cursor CURSOR&lt;br /&gt;	FOR&lt;br /&gt;	SELECT sc.name, sc.id, sc.isnullable FROM syscolumns sc&lt;br /&gt;&lt;br /&gt;DECLARE @tablename sysname&lt;br /&gt;DECLARE @tableprevname sysname&lt;br /&gt;DECLARE @tableid int&lt;br /&gt;DECLARE @colname sysname&lt;br /&gt;DECLARE @colid int&lt;br /&gt;DECLARE @colisnullable int&lt;br /&gt;DECLARE @descr varchar(200)&lt;br /&gt;&lt;br /&gt;print &apos;---------&apos;&lt;br /&gt;print &apos;*********&apos;&lt;br /&gt;print &apos; TABLES  &apos;&lt;br /&gt;print &apos;*********&apos;&lt;br /&gt;print &apos;---------&apos;&lt;br /&gt;OPEN tables_cursor&lt;br /&gt;FETCH NEXT FROM tables_cursor INTO @tablename, @tableid&lt;br /&gt;WHILE @@FETCH_STATUS=0&lt;br /&gt;BEGIN&lt;br /&gt;	set @descr=CONVERT(varchar(200), (SELECT value FROM ::fn_listextendedproperty(&apos;MS_Descriptio&lt;wbr /&gt;n&apos;, &apos;user&apos;,&apos;dbo&apos;,&apos;table&apos;,@tablename,null, null)))&lt;br /&gt;	if @descr is not null and @descr not like &apos;&apos; set @descr=&apos;   - &apos;+@descr else set @descr=&apos; &apos;&lt;br /&gt;	print @tablename+@descr&lt;br /&gt;	FETCH NEXT FROM tables_cursor INTO @tablename, @tableid&lt;br /&gt;END&lt;br /&gt;CLOSE tables_cursor&lt;br /&gt;print &apos;&apos;&lt;br /&gt;print &apos;&apos;&lt;br /&gt;print &apos;---------&apos;&lt;br /&gt;print &apos;*********&apos;&lt;br /&gt;print &apos; COLUMNS &apos;&lt;br /&gt;print &apos;*********&apos;&lt;br /&gt;OPEN tables_cursor&lt;br /&gt;select @tableprevname=&apos;&apos;&lt;br /&gt;FETCH NEXT FROM tables_cursor INTO @tablename, @tableid&lt;br /&gt;WHILE @@FETCH_STATUS=0&lt;br /&gt;BEGIN&lt;br /&gt;	if &lt;br /&gt;		(right(@tablename, 6) like &apos;20__0_&apos; or right(@tablename, 6) like &apos;20__1_&apos;&lt;br /&gt;		or right(@tablename, 6) like &apos;0_20__&apos; or right(@tablename, 6) like &apos;1_20__&apos;)&lt;br /&gt;		and len(@tablename)=len(@tableprevname) &lt;br /&gt;		and left(@tablename, len(@tablename)-6) like left(@tablename, len(@tableprevname)-6)&lt;br /&gt;	begin&lt;br /&gt;		print @tablename+&apos; **log table**&apos;&lt;br /&gt;	end&lt;br /&gt;	else&lt;br /&gt;	begin&lt;br /&gt;		print &apos;---------&apos;&lt;br /&gt;		set @descr=CONVERT(varchar(200), (SELECT value FROM ::fn_listextendedproperty(&apos;MS_Descriptio&lt;wbr /&gt;n&apos;, &apos;user&apos;,&apos;dbo&apos;,&apos;table&apos;,@tablename,null, null)))&lt;br /&gt;		if @descr is not null and @descr not like &apos;&apos; set @descr=&apos;   - &apos;+@descr else set @descr=&apos; &apos;&lt;br /&gt;		print @tablename+@descr&lt;br /&gt;&lt;br /&gt;		open col_cursor&lt;br /&gt;		FETCH NEXT FROM col_cursor INTO @colname, @colid, @colisnullable&lt;br /&gt;		WHILE @@FETCH_STATUS=0&lt;br /&gt;		BEGIN&lt;br /&gt;			if @colid=@tableid begin&lt;br /&gt;				set @descr=CONVERT(varchar(200), (SELECT value FROM ::fn_listextendedproperty(&apos;MS_Descriptio&lt;wbr /&gt;n&apos;, &apos;user&apos;,&apos;dbo&apos;,&apos;table&apos;,@tablename,&apos;column&apos;&lt;wbr /&gt;, @colname)))&lt;br /&gt;				if @descr is not null and @descr not like &apos;&apos; set @descr=&apos;   - &apos;+@descr else set @descr=&apos; &apos;&lt;br /&gt;				print &apos;     &apos;+@colname+ case when @colisnullable=0 then &apos; *&apos;+@descr else @descr end&lt;br /&gt;			end&lt;br /&gt;			FETCH NEXT FROM col_cursor INTO @colname, @colid, @colisnullable&lt;br /&gt;		END&lt;br /&gt;		close col_cursor&lt;br /&gt;	end&lt;br /&gt;&lt;br /&gt;	set @tableprevname=@tablename&lt;br /&gt;	FETCH NEXT FROM tables_cursor INTO @tablename, @tableid&lt;br /&gt;END&lt;br /&gt;DEALLOCATE tables_cursor&lt;br /&gt;DEALLOCATE col_cursor&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;и дополнение - 30 топовых записей:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;DECLARE @ttid int&lt;br /&gt;DECLARE @ttpt int&lt;br /&gt;DECLARE @tttitle varchar(100)&lt;br /&gt;&lt;br /&gt;if exists(select * from sysobjects where name=&apos;&lt;/code&gt;[xXx Здесь название таблицы xXx]&lt;code&gt;&apos;)&lt;br /&gt;begin&lt;br /&gt;	print &apos;&apos;&lt;br /&gt;	print &apos;&apos;&lt;br /&gt;	print &apos;*********&apos;&lt;br /&gt;	print &apos;--------------&apos;&lt;br /&gt;	print &apos;&lt;/code&gt;[xXx Здесь название таблицы xXx]&lt;code&gt;: &apos;&lt;br /&gt;	print &apos;--------------&apos;&lt;br /&gt;	DECLARE t_cursor CURSOR&lt;br /&gt;		FOR&lt;br /&gt;		SELECT top 30 tt.id, tt.pt, tt.title FROM &lt;/code&gt;[xXx Здесь название таблицы xXx]&lt;code&gt; tt order by tt.id&lt;br /&gt;	OPEN t_cursor&lt;br /&gt;	FETCH NEXT FROM t_cursor INTO @ttid, @ttpt, @tttitle&lt;br /&gt;	WHILE @@FETCH_STATUS=0&lt;br /&gt;	BEGIN&lt;br /&gt;		print @tttitle&lt;br /&gt;		print &apos;  id=&apos;+convert(varchar, @ttid)+&apos; pt=&apos;+convert(varchar, @ttpt)&lt;br /&gt;		FETCH NEXT FROM t_cursor INTO @ttid, @ttpt, @tttitle&lt;br /&gt;	END&lt;br /&gt;	CLOSE t_cursor&lt;br /&gt;	DEALLOCATE t_cursor&lt;br /&gt;	select @ttid=count(*) from &lt;/code&gt;[xXx Здесь название таблицы xXx]&lt;code&gt;&lt;br /&gt;	if @ttid&amp;gt;30&lt;br /&gt;		print &apos;... (&apos;+convert(varchar, @ttid)+&apos; rows total)&apos; &lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/30734.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/30734&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>further the time</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:30474</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/30474.html' />
    <issued>2007-11-13T11:51:00</issued>
    <modified>2007-11-13T07:01:58Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>меня пожрало php и mssql (еще проклятый humans по которым нет нормального мануала)&lt;br /&gt;&lt;br /&gt;пхп такое -friendly что ваще&lt;br /&gt;все такое coder-friendly пре-friendly. а еще пхп injection-friendly, что делает его не очень friendly к coder, т.к. здесь нельзя просто раслабиться как в том же С и выйти в трансцендальное программирование, потому что каждый кусок нужно несколько раз повторно переваривать пытаясь найти способ его взломать.. &lt;br /&gt;(all-friendly называется толерантность и является бичем нашего времени, несмотря даже на логический парадокс невозможности его существования. дьявольская вещь точно)&lt;br /&gt;&lt;br /&gt;я так привык ко всяким &quot;удобностям&quot; типа пхпшной конкатенации строк, что я уже начал опасаться - не отвык ли я от С? Надо будет перевыкроить себе время чем-нить заняться..&lt;br /&gt;&lt;br /&gt;а amen похож на omen по написанию&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/30474.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/30474&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'></title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:30250</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/30250.html' />
    <issued>2007-09-20T10:59:00</issued>
    <modified>2007-09-20T05:00:12Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>работаю вот&lt;br /&gt;программером&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/30250.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/30250&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>альфа версия тактической части</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:29889</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/29889.html' />
    <created>2007-08-03T12:58:51Z</created>
    <issued>2007-08-03T18:38:00</issued>
    <modified>2007-08-03T20:56:10Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <category term='arhaika' />
    <category term='dev history' />
    <category term='skull armada' />
    <content type='text/html' mode='escaped'>&lt;a href=&quot;http://unchamps.nm.ru/scr/2007-07-09%2023-10-54-09%20SADawnDbgDemo.jpg&quot;&gt;&lt;img src=&quot;http://unchamps.nm.ru/scr/2007-07-09%2023-10-54-09%20SADawnDbgDemo.jpg&quot; align=&quot;center&quot; width=&quot;920&quot; height=&quot;690&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://unchamps.nm.ru/demoz/SADawnZDemo_T_01a.zip&quot;&gt;SADawnZDemo_T_01a.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;первая демка&lt;br /&gt;правила б надо объяснить но сейчас времени нету %)&lt;br /&gt;если кто наберет больше 350 очков - говорите как. очки идут за количество убитых врагов, выживших своих, и убитых врагов выжившими своими =). + за время (по ходам), и количество оставшихся магий (особенно файрболов)&lt;br /&gt;&lt;br /&gt;самые главные кнопки Tab + навести на юнита - посмотреть характеристики&lt;br /&gt;Z - магия, O - отдача приказов&lt;br /&gt;управлять напрямую можно только командиром (он выделен вначале белым лучом). Отдача приказов происходит так - сначала выбираете приказ, потом отряд которому этот приказ надо отдать.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/29889.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/29889&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>линуксоидные фундаменталисты взорвали серверную тракторного завода в месте с серверами фирмы майкрос</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:29498</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/29498.html' />
    <issued>2007-07-25T13:18:00</issued>
    <modified>2007-07-25T07:15:41Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <category term='potential temp' />
    <content type='text/html' mode='escaped'>&lt;a href=&quot;http://citkit.ru/articles/447/&quot;&gt;http://citkit.ru/articles/447/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/29498.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/29498&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>skull armada dev history - падение и взлет</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:29254</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/29254.html' />
    <created>2007-07-19T21:39:55Z</created>
    <issued>2007-07-20T03:24:00</issued>
    <modified>2007-07-21T07:48:44Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <category term='arhaika' />
    <category term='dev history' />
    <category term='skull armada' />
    <content type='text/html' mode='escaped'>&lt;img src=&quot;http://unchamps.nm.ru/scr/2007-05-20%2003-38-13-46%20SADawnDemo.jpg&quot;&gt;&lt;br /&gt;&lt;br /&gt;продолжу описывать историю разработки, что-ли.. когда-нить/кому-нить будет интересно.&lt;br /&gt;написать надо много, потому как за целый год =)&lt;br /&gt;&lt;br /&gt;но начну наверное с конца, как я обычно люблю, скажу что примерно должно получиться в итоге:&lt;br /&gt;Во первых, сама игра это смесь походовой стратегии и рпг. Игрок (в бою) управляет напрямую только одним или несколькими персонажами. Т.е. как в обычных рпг - можно их перемещать, кастовать всякие спелы, использовать предметы и т.д. Отличием от рпг будет то, что герой сможет таскать с собой армии (предположительно 100-500 юнитов). Юниты в армии будут объединяться в отряды, причем в один отряд можно будет закинуть совсем разношерстных юнитов (например отряд из 3-х юнитов - пехотинец, лучник и всадник. Хотя эффективность таких отрядов наверняка будет маленькой), главное, что юниты будут действовать синхронно во время хода отряда, и будут исполнять общий приказ. Например, оставаться на месте, стрелять (кто может) или ломиться вперед.&lt;br /&gt;Есть 2 варианта развития игры - один из них включает в себя второй. &lt;br /&gt;&lt;br /&gt;Первый вариант предусматривает большой рандомно генерируемый мир, активно живущий по своим законам (или хотя бы хорошо симулирующий =] как в серии замечательной космической стрелялки-стратегии X (последняя представительница - X-treat)). Территориально мир будет поделен на большие и не очень государства и &quot;нейтральные&quot; земли, социально - кроме королевств будут разные силы, типа орденов, кланов, гильдий и &quot;нейтральных&quot; наемных армий со своими генералами, которые за плату предлагают свои военные услуги. Главный герой будет как раз одним из таких наемников со своей армией.&lt;br /&gt;Впрочем, будет предусмотрен сценарий, в котором ГГ(главнй герой) будет начинать один, вместо армии имея кучу золота, которые можно будет потратить на наемников (в ближайшем логове наемников %]), отличных от тех, которые предлагаются в начале, или на покупку артефактов (хотя в бою в нашей игре все равно один в поле воин будет не очень силен.. вот 10 героев с разными магиями против 100-200 воинов - возможно =]) [Вообще баланс будет fuzzy насколько это возможно. Так у самого жалкого крестьянина с 5 жизнями 5 атакой и 5 повреждением будет шанс замочить рыцаря в сияющих доспехах с 50 жизнями.. очень маленький, конечно, но все таки.]&lt;br /&gt;Игра будет центрирована вокруг 1 героя, который будет главным, (абсолютная) смерть которого будет приводить к гейм оверу, независимо от того, есть еще подконтрольные герои или нет. + permadeath как в рогаликах, т.е. никаких сохраненок (кроме скаминга, и, может, такой.. э.. магии)&lt;br /&gt;&lt;br /&gt;..впрочем, расписывать диздок я здесь не собираюсь %)&lt;br /&gt;&lt;br /&gt;грубо говоря, это будет такая смесь kings bounty (только с рандомными картами и выбором за какого короля сражаться, или вообще &quot;грабить корованы&quot; за самого себя %]) и dominions серии. [Вы играли в dominions? Эту великолепную игру. Очень рекомендую. Последняя часть - Domionions 3: the Awakening. Не помню, пиарил я ее раньше или нет, но наверняка еще буду пиарить.] Это такая tbs, где вы выступаете в роли бога, и.. ..хотя я отвлекаюсь =). Так вот, те кто играли в доминионс могли бы намного проще &quot;войти&quot; в геймплей игры. [Я так понимаю, если кто-то до сюда дочитал, то может оказаться как-то заинтересован =)]&lt;br /&gt;&lt;br /&gt;Возвращаясь к варианту - я тут примерно подсчитал, что для полной реализации всех фишек игры, если все условия разработки останутся на том же уровне (т.е. без финансирования и работа не будет отнимать много времени), понадобится еще лет 10. шанс удачного завершения ~10% =), потому как меня эта игра уже заебет или в меня врежется метеорит. (астральный, в астрального меня).&lt;br /&gt;&lt;br /&gt;Поэтому, есть второй вариант, который можно было б завершить года за (N), может меньше. Этот вариант почти полностью входит в разработку первого варианта (т.е. по его завершению можно будет продолжить разрабатывать первый вариант). Игра будет представлять из себя череду боев с незначительным interaction на глобальной карте, которая сделает игру слегка нелинейной. Наподобии Warhammer: Dark Omen..&lt;br /&gt;&lt;br /&gt;&lt;lj-cut text=&quot;здесь дохренища текста, касательно истории разработки за последние полгода.. и еще пара скриншотов&quot;&gt;&lt;br /&gt;теперь немного истории разработки. &lt;a href=&quot;http://lj.rossia.org/users/scaven/14861.html&quot;&gt;Последний пост на эту тему&lt;/a&gt; был написан аж год назад =0. в нем я поведал о том, что сделал просчет-атаку-убийство-удаление юнитов. Дальше я собирался делать файрбол. На нем, собственно, тогда все и остановилось, причем так, что доделал я его буквально недавно. Хотя, конечно, сам он в этом не виноват, но все по порядку.&lt;br /&gt;&lt;br /&gt;в конце августа я то ли переустанавливал систему, то ли что-то запорол, вобщем, понял, что &lt;a href=&quot;http://lj.rossia.org/users/scaven/17548.html&quot;&gt;потерял диск со своей VS 6.0&lt;/a&gt;, на которой делал игру. На дворе был 2006, и пираты уже год как продавали VS.net 2005, а некрософт выпустила в мир споры своего free VS 2005 express. Найти версию студии 5летней давности было почти нереально. Я решил, что рано или поздно это должно было сдучиться, от прогресса не убежишь и все такое. В свою способность разобраться с другим компилятором или ИДЕ я не верил (хотя вообще-то, с ИДЕ - верил), а уж с обоими сразу - и подавно.&lt;br /&gt;короче, купил.&lt;br /&gt;сначала игра не компилилась, выдавая кучи ошибок. потом я долго плевался от студии, от манагедности, от ее жирности (блять, 2гб!!)), от того что эта сука ставит мне .нет фреймворк и сотен копий каких-то килобайтных повторяющихся манифестов... не знаю, как-то я это пережил и продолжил разработку. В принципе, ко всему привыкаешь. Единственная положитеьная черта визуал студии - дебаггер. С помощью него я нашел одну ошибку, которую так найти было б сложно.. хотя, с debug_new, с которым я недавно познакомился, может, и не так сложно =).&lt;br /&gt;так прошел месяц. В конце сентября меня стали атаковать баги: неожиданно я понял, что фпс игры упал на 20 (я как-то писал об этом). Начал судорожно искать причины. 10 фпс нашел, 10 - нет. Я продолжал искать, как вдруг, однажды, когда я попытался включить релиз-версию, у меня вылез месадж-бокс с надписью &quot;Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка приложения может решить данную проблему&quot;. Таких ерроров я раньше не видел ни разу, и мессаджбоксов таких в игру не вставлял, вирусы были явно не при делах, так как более старые (от 6-й студии) версии запускались нормально, а идею о переустановке своего собственного приложения я как-то не очень понимал. Дебаг версия, кстати, запускалась без проблем, только вместо 500-400кб весила 1.5метра %).&lt;br /&gt;Я сразу же понял, что во всем виноваты фашистско-индусские технологии некрософта: .нет, манифесты, сишарп и манагед =). Я только не мог понять, как эта зараза могла попасть в мою девственно чистую с++ среду? даже, почти что С среду..&lt;br /&gt;это был тяжелый удар.. несколько дней позже, по чьему-то совету на irc канале #gamedev `а, я разобрал файл .vcproj, пытаясь найти компонент, который есть в релиз версии и нет в дебаге. Через пару минут что-то там было найдено (щас смотрел - хз, филькина грамота какая-то. кажется это был EnableCOMDATFolding=&quot;2&quot; в свойствах линкера). &quot;Даже не знаю, что может делать компонент с таким дурацким названием =)&quot; - сказал мне чел, который мне помогал (у меня на имена всякие и ники плохая память), и предложил его просто вручную стереть из файла. Я согласился, но это было уже последней каплей в наших relations with microsoft visual studio 2005 .net.. Я не отрицаю, что я мог сам каким-то хреном врубить эту фигню, но ИМАО виновата все равно студия - думаю, не стоит давать программеру возможность врубать какую-то опцию, которая может сломать экзешник, когда он просто ищет способы сделать так, чтобы релиз версия весила не 400кб, а хотяб 200 =). Ну даже, допустим, опции должны много чего разрешать (совсем не по некрософтски), пусть даже какой-нить новичок может себе что-то запороть. Но не хотят же они мне таким образом сказать, что я новичок =)).. примерно так..&lt;br /&gt;я решил, что скал армаду, как проект, пока заморожу, до лучших времен, когда буду лучше знать С, опенгл (надо было все таки его разбирать =/) и другие компиляторы.. может даже под линукс буду делать. =).. а временно решил заняться (просто я не могу без дела какого-то сидеть).. впрочем я не решил сам чем заняться, потому, что на геймдев канале в то время как раз пошла лихорадка о &lt;a href=&quot;http://www.gamedev.ru/gamedesign/forum/?id=57067&quot;&gt;Dwarf Fortress&lt;/a&gt;. Не буду здесь много про него рассказывать - просто скажу, что это рогалик (аскии тайлы на директХ), с рандомным миром, очень большой детализацией, необычной системой боя (это вообще пиздец, никогда не забуду, как я один раз задушил кабана в степи, или один раз мы с пьяницами пошли на кладбище, так они сражались таким образом - выхватывали зомби, один хватал за одну руку, другой за другую, а третий мочалил беднягу кулаками по корпусу). Рогалик на стадии еще беты (был, во всяком случае тогда), но поиграть уже можно. Там еще есть другой режим (стратегия (аскии, кстати тоже, лол)) - крепость гномов, который почти полностью доделан, но это уже никак к посту не относится..    [..а еще какая там музыка, мм..]&lt;br /&gt;&lt;br /&gt;так вот, как раз тогда я впервые познакомился с рогаликами, как жанром (ах, если б я знал о таком жанре 10 лет назад, когда все только начиналось =/). Я начал активно изучать новую для себя тему. После дворф фортреса была мория, зангбанд, нетхак, омега, кровл, и может что-то еще..&lt;br /&gt;хотя кровла не было, это я уж слегка приврал =)), но все остальное - было. &lt;br /&gt;..Но, больше всего, был &lt;a href=&quot;http://adom.de/adom/download.php3&quot;&gt;ADOM&lt;/a&gt;. &lt;br /&gt;кто не знает что такое &lt;a href=&quot;http://adom.de/adom/download.php3&quot;&gt;адом&lt;/a&gt;, я скажу &lt;a href=&quot;http://adom.de/adom/download.php3&quot;&gt;адом&lt;/a&gt; - это пиздец. не такой пиздец, каким мог бы быть (и будет, скорее всего) дворф фортрес, и не такой шизофренический (в хорошем смысле слова, конечно) пиздец как нетхак, но все таки. Игры, которые могли бы затянуть настолько, что в них продолжаешь поигрывать по сей день, или которые оставили широкий след в памяти, можно пересчитать по пальцам. Сначала было немного сложно, конечно привыкать к буковкам на черном экране =), к управлению на 3 клавиатуры, и к тому чтобы играть на верхнем ряде цифр вместо нумпада (у ноутбуков нет нумпада). Потом были пара сотен загубленных персонажей и пару месяцев я вообще почти ничего не помню =)) =Р. Хаос вирма в огненной башне, я, кстати, так и не смог завалить, хотя ни монстры в библиотеке, ни король скелетов, ни стальные големы для меня не представляли опасности.. [shamed]&lt;br /&gt;&lt;br /&gt;Короче, уже через 3 дня после инциндента со 2005-й студией у меня уже &lt;a href=&quot;http://lj.rossia.org/users/scaven/18538.html&quot;&gt;появилось желание попробовать себя в рогалике&lt;/a&gt;. Тем более, я думал, что это все легко, непринужденно, и вообще все силы уходят только на интересность и разнообразие самой игры. о, наивный _я почти год назад_ =)). Я считал что за 2 недели уже смогу что-нить такое забацать играбельное..&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/18765.html&quot;&gt;дальше я около недели изучал все пути, по которым можно было бы делать рогалик&lt;/a&gt;. Главное, я хотел, чтобы он обязательно шел под дос (честно говоря, сейчас я уже хз зачем =]). Потом удивился, что в визуал студии, оказывается, отсутствует компиляция под дос (лол). Так уж получилось, что судьба сама подтолкнула меня к смене компилятора, поэтому с этой тз вся эта хрень с рогаликами была очень полезна (я уж не говорю о том, что можно было отвлечься от скал армады). К тому же в процессе работы над рогаликами я узнал очень много важного касательно работы с различными генерациями, и улучшил свой скил в С =).&lt;br /&gt;Так вот, насчет компилятора - был вариант с борландовским турбо С++, однако ж, слава богу, судьба спасла меня от него тем, что Томас Бискуп создал страницу с qhack, которая поведала мне о волшебном мире DJGPP и pdcurses =)). джгпп - это порт гцц под дос, если кто не знает. потом было долгое разбирательство, как с гцц, так и с досом. У джгпп есть собственный редактор, но он досовский 20х80 текстовый, типа у как у турбо С. С таким раскладом можно было тем же турбо С и пользоваться, поэтому стоял выход либо кодить в текстовом редакторе, потом хитрым бат файлом (лол, я еще тогда не знал про ограничение количества символов аргумента к файлу) все компилить, либо скачать какой-нить иде, не заточенный конкретно под что-то одно. Я выбрал code::blocks, скачал его в октябре, поставил и сразу понял - это - оно! до сих пор пользуюсь тем билдом, лень скачивать новые =)), хотя пора бы уже&lt;br /&gt;В то время я не знал, поставится ли джгпп под код блокс. Однако, код блокс оказалось довольно универсальным иде, так что я довольно легко их совместил (были пара затруднений, но ответы на них нашлись на форуме код блокса), используя шаблон минГВ.&lt;br /&gt;&lt;br /&gt;в манах от джгпп я прочитал о minGW - виндосовском порте гцц. Для эксперимента решил скачать и его, установил в код блокс, и решил на всякий случай проверить, сможет ли он скомпилировать skull armad`у, написанную на визуал с++ и для визуал с++. Я был уверен, что не сможет - что некрософт расставит в &quot;своей&quot; реализации с++ какие-нить &quot;послабления&quot;, которые, с одной стороны, облегчат кодинг, а с другой, сделают переход на другие компиляторы как можно более геморным.. Действительно, сначала пришлось исправлять большое количество мелочей, пока гцц не принял исходники (с, правда, парой десятков ворнингов =]]). Компилятор сдался, однако затем уже линкер стал жаловаться на библиотеку d3dx9.lib, которая входила в стандартную поставку DX_SDK, и походу была откомпилена конкретно под vc++, поэтому пришлось поставить d3dx9d.lib. Экзешник был создан, и я просто охренел от его размера - 100кб против ~400кб от визуал студии. Он, правда, потребовал d3dx9d.dll в свою очередь, так что запустить экзешник я еще не мог. Как ни странно, найти подходящуюю дллку с таким названием в стандартных поставках директХ не удалось, но я нашел похожий файл в игре Galactic Civilisations 2, вытащил его оттуда &lt;s&gt;причесал&lt;/s&gt;переименовал и всунул в рабочую папку. Игра запустилась, и показала тот же фпс и перфоманс =) (я боялся, что игра может замедлиться). Таким образом, с одной стороны, размер игры увеличился на 1.5мб (500кб в архиве), но с другой, учитывая, что с обновлениями придется слать только 100кб против 400 (уже, кстати, 183), получается, что эта дллка себя окупает с торицей за несколько &quot;патчей&quot; &amp;lt;=)..&lt;br /&gt;&lt;br /&gt;кстати, code::blocks занимает 30 метров, minGW - 80 метров, при этом выполняя ту же функцию (для меня, во всяком случае), что и визуал студия, занимающая в ~20 раз больше. К тому же они не устанавливают мне компонентов, которые не дают программе запускаться, и не ставят неизвестно чем забитый .нет фреймворк. А хваленый мсдн оказался вообще какой-то невменяемой хренью, из которой у меня ни разу не получилось вытянуть нормального ответа на свои запросы. Неудивительно, что у меня появилось желание от них избавиться =). Не буду рассказывать подробно, но.. короче пришлось переустанавливать систему =)) =Р..&lt;br /&gt;&lt;br /&gt;я опять решил продолжить делать skull armad`у, однако судьба распорядилась иначе. Через несколько компиляций и небольших исправлений, экзешник категорически перестал запускаться. Была явно какая-то проблема утечки памяти. Причем, дебаггер был абсолютно бесполезен, так как под дебаггером все запускалось отлично и без запинок =Ъ..&lt;br /&gt;Пришлось расставлять ловушки в виде мессадж боксов, чтобы найти хотя бы примерно место, где могла быть утечка (т.е. если до этого сообщения доходит, значит такое-то количество кода уже пройдено и там ошибки нет). Однако, ловушки не помогали - при попытке сжать тиски сверху и снизу (передвигая месаджбоксы), ошибка выпархивала как бабочка и перемещалась либо наверх, либо вниз по коду. По сообщениям от access violation тоже ничего не было понятно.&lt;br /&gt;Это был крах, настоящий и полный - у меня к тому времени не было опыта работы с такими багами, к тому же я находился в новой, почти не знакомой мне среде, и под новым, также неизведанным компилятором..&lt;br /&gt;Собственно, оправившись от шока (лол) нужно было решить что делать дальше. Все ошибки со скал армадой меня уже порядком подзаебали к тому времени, поэтому терпения и сил вступать в бой с неизвестным ликом не было. У меня была мысль, что дебаггер визуал студии поможет найти ошибку, но желания возвращаться к нему уже не было. К тому же, в какой-то мере это означало сдачу некрософту. =/&lt;br /&gt;&lt;br /&gt;Решив, что причиной последней ошибки была неопытность, как практическая, так и теоретическая в С++, я решил, что нужно каким-то образом развивать свои знания. Затем, я решил, что прежде чем изучать С++, неплохо бы сначала в совершенстве овладеть С. Осталось только найти подходящую платформу для &quot;изучения С&quot;. Долго искать не пришлось - это был рогалик под дос, к которому было уже все готово =))..&lt;br /&gt;В дальнейшем, думал я, после того, как я почувствую себя гуру с++, возьму исходники skull armada, и перепишу их все заново - и так я точно, учитывая какой я буду крутой кодер, смогу избежать той баги =). Причем перепишу все под опенГЛ, и все будет мультиплатформенным, а если ОпенАЛ (звуковая библиотека) пашет под дос, то еще и под него порт сделаю %)..&lt;br /&gt;[я еще до сих пор думаю, как было б неплохо перейти на опенГЛ.. но хз]&lt;br /&gt;&lt;br /&gt;собственно, потом пошла разработка рогалика. Сначала pdcurses, потом fov, потом pathfinding (был выдернут из skull armada), потом я понял, что досовские программы имеют ограничение на количество знаков, и что выдать компилятору в аргументах 12 файлов сразу не получится, и зачем нужен make..&lt;br /&gt;потом я разбирался с make (это был один из самых напряжных дней в моей жизни=]).. мне не хотелось создавать и менять makefile каждый раз для нового проекта (как будто у меня было бы куча проектов под дос =] омг) или добавления нового сорса или хедера, поэтому хотелось создать что-то универсальное. Через три дня у меня был 150-строчный makefile, написанный специально под код блокс, который позволял мне управлять код блоксом и джгпп так, словно проблем с большим количеством файлов не было, и все действия, как раньше, проводились через кнопки интерфейса. Единственный недостаток был в том, что при добавлении/удалении хедеров из сорсов приходилось делать ребилд вместо обычного билда.&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;разработку рогалика я описывать не буду - у меня было несколько постов на эту тему, к тому же я собираюсь еще вернуться к его разработке..&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;так прошел октябрь, декабрь, новый год =), январь, февраль, март, ап.. стоп.. март..&lt;br /&gt;&lt;br /&gt;В конце марта у меня уже был доделан лос, генерация подземелий, переход между этажами, может быть еще что-то. В то время я как раз занимался тем, что создавал себе небольшую дебаг-консольку, и сделал взаимодействие с картой в виде открывания дверей. Я уже 5 месяцев кодил на чистом С и уже четко знал где проходят различия между плюсами и чистым С и понял еще, что чистый С мне очень нравится (раньше я считал так - что это просто обрезанный С++, а, типа, если есть тоже самое, только больше, то зачем нужен С?), наверное даже больше чем С++.. к тому же я уже чувствовал себя крутым кодером С, а рогалик мне начинал надоедать. &lt;br /&gt;Мне пришла дерзкая идея попробовать реанимировать skull armada. В этот раз я решил попробовать другую тактику, до которой, почему-то, не додумался в прошлый раз. За день или два бага была локализована, всмысле конкретно строч&lt;s&gt;ки&lt;/s&gt;ек возникновения, и ликвидирована.. если честно, я до сих пор не могу понять, почему, и как оно происходило именно таким образом, и, наверное, даже не буду говорить в чем было дело.. Просто теперь я всегда пользуюсь snprintf() вместо sprintf(); =)&lt;br /&gt;&lt;br /&gt;Потом, я доделал файрбол, сделав ему передвижение по дуге (омфг физика и математика лол), потом сделал спец атаку у командира и начал работать над внешним видом. хотел уже тогда даже сделать небольшую демку.. но передумал, решил ввести более обширную магию и больше юзер-френдлиности %)&lt;br /&gt;&lt;br /&gt;вот как это к тому времени выглядело:&lt;br /&gt;&lt;img src=&quot;http://unchamps.nm.ru/scr/2007-04-17%2015-08-54-99%20SADawnDemo.jpg&quot;&gt;&lt;br /&gt;&lt;br /&gt;потом была кровавая борьба за фпс, мипмапы, разные приукрашательства, переработка системы частиц и их эмиттеров, много разных багов, статусы юнитов (отравлен, заморожен)..&lt;br /&gt;Потом я показывал демку некоторым друзьям. Никто из них не был просветлен доминионсами, а идеалом пошаговых стратегий (точнее, их боевых режимов) были heroes, age of wonders, disciples и т.д., где юнитов на поле было мало. Здесь же юниты стояли сгруппированные, как в RTS. Короче у многих первым движением было выделить драгом отряд, чтобы ткнуть им поскорее в противоположную сторону. &lt;br /&gt;[Стереотипность геймплея ведет к стереотипности &quot;играния&quot;, которая в свою очередь к стереотипности ожиданий, которая ведет к созданию игр со стереотипным геймплеем =////.. замкнутый круг мокретинго..]&lt;br /&gt;Вторая проблема была в том, что все пытались выделить юнитов по их изображению (механика игры такова, что выделять юнитов нужно кликая на квадрат поля под ними), а то, что при этом выделялся один из следующих за ним юнитов вводило их в некий когнитивный диссонанс. Пришлось натянуть мультитекстурой поверх на ландшафт &quot;сетку&quot; (сначала была шахматная сетка как на скриншоте на самом верху), и один квад, на который указывает курсор, &quot;подсвечивать&quot;. Однако, в толпе под ногами сложно было увидеть, на какого юнита указывает курсор. Пришлось также подсвечивать и юнита.&lt;br /&gt;&lt;br /&gt;Потом было решено, что неплохо бы еще и сделать так, чтобы интерфейс можно было убрать. Основной смысловой нагрузкой интерфейса являются 1) кнопки доступа ко всяким меню - для них будут шорткаты на клаве; 2) лог битвы - но и без него можно спокойно обойтись, либо он может обойтись без рамки; и, 3) главная функция была в том, чтобы показывать характеристики юнитов (к примеру, сколько осталось жизней). В то время я как раз занимался &quot;всплывающими подсказками&quot; - типа tooltips (как в разных приложениях, знаете, наведешь на какую-нить кнопку, подождешь чучуть и показывается такой небольшой прямоугольник с текстом, описывающий назаначение кнопки). В какой-то игре такие тултипы можно было вызывать сразу, наведя на элемент и нажав Tab. В игре я решил ввести такую же технологию с юнитами. Т.е. стало можно узнать характеристики юнита, наведя на него и нажав Tab, и интерфейс теперь по желанию можно убрать, вытянув еще ~10фпс %)&lt;br /&gt;&lt;br /&gt;а примерно так все сейчас выглядит, + &quot;tooltip&quot; юнита с его характеристиками:&lt;br /&gt;&lt;a href=&quot;http://unchamps.nm.ru/scr/2007-06-17%2015-35-44-87%20SADawnDemo.jpg&quot; title=&quot;кликабельно&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://unchamps.nm.ru/scr/2007-06-17%2015-35-44-87%20SADawnDemo.jpg&quot; width=&quot;800&quot; height=&quot;600&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; последний месяц я более плотно занимался GUI. Так, сделал, например, отдачу приказов отрядам и несколько разных магий. Большую часть, правда, провел занимаясь дебагом последствий магии =)).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Скоро в свой лытдыбр выложу ссылку на демку.. =)&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/29254.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/29254&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>wallpaper</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:29117</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/29117.html' />
    <created>2007-06-20T20:55:00Z</created>
    <issued>2007-06-21T02:57:00</issued>
    <modified>2007-06-20T20:57:14Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <category term='potential temp' />
    <content type='text/html' mode='escaped'>а я вот себе такую обою на рабочий стол сделал&lt;br /&gt;&lt;a href=&quot;http://i12.tinypic.com/4uyldnr.png&quot;&gt;&lt;img src=&quot;http://i12.tinypic.com/4uyldnr.png&quot; border=&quot;0&quot; alt=&quot;КЛИКАБЕЛЬНО! Image and video hosting by TinyPic&quot; width=&quot;640&quot; height=&quot;480&quot;&gt;&lt;/a&gt;&lt;br /&gt;(оригинал на &lt;a href=&quot;http://imgs.xkcd.com/comics&quot;&gt;http://imgs.xkcd.com/comics&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/29117.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/29117&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>испацтоликанакальйосиках</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:28672</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/28672.html' />
    <issued>2007-06-19T02:30:00</issued>
    <modified>2007-06-18T20:29:32Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <category term='potential temp' />
    <content type='text/html' mode='escaped'>ааааааа&lt;br /&gt;&lt;img src=&quot;http://imgs.xkcd.com/comics/tabletop_roleplaying.png&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/28672.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/28672&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>1 бесполезная мелочь на несколько жизней</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:28516</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/28516.html' />
    <issued>2007-05-15T03:41:00</issued>
    <modified>2007-05-14T21:52:16Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>основы божественности для начинающих&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;br /&gt;представь себе,&lt;br /&gt;&lt;br /&gt;что ты бог&lt;br /&gt;&lt;font face=&quot;Courier&quot;&gt;&lt;br /&gt;____.____&lt;br /&gt;___...___&lt;br /&gt;__.....__&lt;br /&gt;_....x.._&lt;br /&gt;.........&lt;br /&gt;&lt;/font&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;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;br /&gt;(конец)&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/28516.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/28516&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>myphotoz</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:28406</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/28406.html' />
    <issued>2007-05-10T14:51:00</issued>
    <modified>2007-05-10T08:56:59Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <category term='temp' />
    <content type='text/html' mode='escaped'>решил вот тут выложить свою фотку&lt;br /&gt;ну, чтобы хоть как-то девиртуализироваться&lt;br /&gt;&lt;img src=&quot;http://i4.tinypic.com/6fomejt.jpg&quot; border=&quot;0&quot; alt=&quot;Image and video hosting by TinyPic&quot;&gt;&lt;br /&gt;немного на себя не похож, правда&lt;br /&gt;неожиданно сфоткали, типа, рабочий процесс за своим ноутбуком&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/28406.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/28406&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'></title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:27951</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/27951.html' />
    <issued>2007-05-09T23:52:00</issued>
    <modified>2007-05-09T18:02:01Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>&lt;img src=&quot;http://i15.tinypic.com/6f4s0bb.jpg&quot; border=&quot;0&quot; alt=&quot;Image and video hosting by TinyPic&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/27951.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/27951&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>еще 10000 полезных мелочей на каждый день (итого 111000)</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:27807</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/27807.html' />
    <issued>2007-05-03T14:52:00</issued>
    <modified>2007-05-03T08:53:29Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>не все, что здесь написано - правда&lt;br /&gt;(обязательный эпиграф к каждой книге, &lt;br /&gt; считается самим собой разумеющимся, &lt;br /&gt; поэтому опускается.)&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/27807.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/27807&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>100000 полезных мелочей на каждый день</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:27463</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/27463.html' />
    <issued>2007-04-30T00:35:00</issued>
    <modified>2007-04-29T18:38:54Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>[я думаю, значит я существую]&lt;br /&gt;я действую, значит я живу&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/27463.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/27463&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>типо Fallout 3 делоют</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:27289</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/27289.html' />
    <issued>2007-04-24T15:36:00</issued>
    <modified>2007-04-24T09:57:45Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>&lt;img src=&quot;http://gameit.ru/img/2007/04/fallout_3_logo.jpg&quot; align=&quot;center&quot;&gt;&lt;br /&gt;&lt;a href=&quot;http://gameit.ru/2007/04/22/fallout_iii_its_official&quot;&gt;Fallout 3 - теперь официально!(gameit.ru)&lt;/a&gt;&lt;br /&gt;Делает ее, правда, уже не интерплей, а бетесда софтворкс, коей первые &lt;a href=&quot;http://gameit.ru/2007/04/17/fallout_mmog&quot;&gt;продали все права на вселенную и разработки по миру фолаута&lt;/a&gt;. Делаться он будет на этом кошмарном движке Обливиона (&lt;a href=&quot;http://www.gamedev.ru/community/gamedev_lecture/articles/?id=25&quot;&gt;небольшой разбор движка&lt;/a&gt;). Интересно, чем будет заниматься их мидлвеерный генератор деревьев в пустыне? =]).&lt;br /&gt;&lt;br /&gt;но хотелось бы остановиться немного на факте продажи =)&lt;br /&gt;&lt;br /&gt;1) как компания, (подарившая, буквально, нам) имеющая все права на фолаут могла оказаться в жопе?&lt;br /&gt;2) как можно было продать фолаут? оставим даже религиозный мотив богохульства произошедшего, а сконцентрируемся на том, насколько богатая тема для ее коммерческого имения во всех смыслах (если уж делать фолаут мморпг является первой национальной русской идеей +] (вторая идея - &lt;a href=&quot;http://www.bash.org.ru&quot;&gt;грабить корованы&lt;/a&gt;, если кто не знал))&lt;br /&gt;3) какими надо быть неудачниками, чтобы после продажи фолаута (за почти 6 миллионов баксов) так в жопе и остаться?&lt;br /&gt;&lt;br /&gt;ну.. вы же не ожидаете достойного продолжения, так ведь? Ж)&lt;br /&gt;&lt;br /&gt;п.с.1. кошмарность обливиона - мое имао, кто не согласен - тот дурак, а с дураками я не спорю =))&lt;br /&gt;п.с.2. на аг.ру нет ни рецензии ни оценки для второго фолаута %) (для первого есть).&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/27289.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/27289&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>1000 полезных фактов на каждый день</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:27092</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/27092.html' />
    <issued>2007-04-18T17:42:00</issued>
    <modified>2007-04-18T11:47:08Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <content type='text/html' mode='escaped'>..так вот,&lt;br /&gt;если дьявол создал тело человека, а бог - его душу,&lt;br /&gt;то дьявол был технарем, а бог - гуманитарием =))&lt;br /&gt;&lt;br /&gt;(кстати, экономист это техническое или гуманитарное образование? вышка у нас была, хотя я ее и не учил..)&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/27092.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/27092&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
  <entry xmlns="http://purl.org/atom/ns#">
    <title mode='escaped'>эйприлз фул</title>
    <id>urn:lj:lj.rossia.org:atom1:scaven:26783</id>
    <link rel='alternate' type='text/html' href='http://lj.rossia.org/users/scaven/26783.html' />
    <created>2007-04-09T10:39:34Z</created>
    <issued>2007-04-09T16:33:00</issued>
    <modified>2007-07-17T22:03:09Z</modified>
    <author>
      <name>scaven</name>
    </author>
    <category term='dev history' />
    <category term='skull armada' />
    <content type='text/html' mode='escaped'>что-то в последнее время становится все труднее ясно выражать свои мысли =)&lt;br /&gt;а еще я понял что мне нравятся квадратики..&lt;br /&gt;&lt;lj-cut&gt;&lt;br /&gt;&lt;img src=&quot;http://unchamps.nm.ru/scr/2007-04-06%2021-31-32-56%20SAPortProb.jpg&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;скоро, наверное, напишу большой пост про события последнего полгода&lt;br /&gt;&lt;br /&gt;еще куда-то делись все деньги и работа, вот ацтой.. походу придется устраиваться на какой-нить &quot;реальный&quot; заработок =Р&lt;br /&gt;кому-нить нужен экономический программист-переводчик, который ничего не умеет? =))&lt;br /&gt;&lt;br /&gt;П.с. ..за бешеные деньги?..&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/users/scaven/26783.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/scaven/26783&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</content>
  </entry>
</feed>
