<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BlackCat</title>
	<atom:link href="http://blackcats.su/feed/" rel="self" type="application/rss+xml" />
	<link>http://blackcats.su</link>
	<description>Студия модификаций и переводов мобильных игр и приложений</description>
	<lastBuildDate>Thu, 03 May 2012 16:32:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Ancient Empires II RM &#8212; Форматы файлов игры</title>
		<link>http://blackcats.su/ancient-empires-ii-revolution-mod-format-failov-igry/</link>
		<comments>http://blackcats.su/ancient-empires-ii-revolution-mod-format-failov-igry/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 08:48:40 +0000</pubDate>
		<dc:creator>FleXoR</dc:creator>
				<category><![CDATA[Java-проекты]]></category>
		<category><![CDATA[Проекты других авторов]]></category>
		<category><![CDATA[AEII]]></category>

		<guid isPermaLink="false">http://blackcats.su/?p=758</guid>
		<description><![CDATA[<p>Ancient Empires II Revolution Mod &#8212; масштабная модификация игры Ancient Empires II, ориентированная в основном на режим свободной схватки (skirmish). В игру добавлена возможность импорта и экспорта карт из файловой системы телефона и обратно, встроенный редактор карт, устранено ограничение в 30 зданий на карту, расширен выбор настроек начальных денег и ограничения количества юнитов, количество слотов [...]]]></description>
			<content:encoded><![CDATA[<p>Ancient Empires II Revolution Mod &#8212; масштабная модификация игры Ancient Empires II, ориентированная в основном на режим свободной схватки (skirmish). В игру добавлена возможность импорта и экспорта карт из файловой системы телефона и обратно, встроенный редактор карт, устранено ограничение в 30 зданий на карту, расширен выбор настроек начальных денег и ограничения количества юнитов, количество слотов для сохранений увеличено до 10&#8230; и это еще не предел. В будущем планируется реализация игры по Bluetooth, так что следите за обновлениями.</p>
<p><strong>Официальная страничка модификации:</strong> <a href="http://projectd8.org/Programs/Java/AncientEmpiresIIRM">http://projectd8.org/Programs/Java/AncientEmpiresIIRM</a></p>
<p><strong>Автор модификации:</strong> SilentKnight</p>
<p><span id="more-758"></span></p>
<h3><span style="text-decoration: underline;">Типы данных</span></h3>
<p>Все данные хранятся в формате Big Endian, он же Network Order. Это значит, что в многобайтовых типах данных байты хранятся в порядке от старшего к младшему.</p>
<p>Ниже перечислены обозначения типов данных, используемые на этой странице (в скобках указаны методы классов DataInputStream и DataOutputStream, используемые соответственно для чтения и записи таких данных)</p>
<ul>
<li>byte &#8212; целое число размером 8 бит со знаком (readByte, writeByte)</li>
<li>short &#8212; целое число размером 16 бит со знаком (readShort, writeShort)</li>
<li>int &#8212; целое число размером 32 бит со знаком (readInt, writeInt)</li>
</ul>
<h3><span style="text-decoration: underline;">О переводе файлов игры в текстовый формат</span></h3>
<p>Начиная с AEIIRM v2.3 некоторые файлы игры были переведены из бинарного формата в текстовый для упрощения редактирования. Тем не менее в игре по прежнему можно использовать бинарные версии файлов, при необходимости переименовав их. Ниже приведена таблица, устанавливающая соответствие между оригинальными именами файлов и их новыми текстовыми аналогами.</p>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tbody>
<tr>
<td><strong>Оригинальный бинарный файл</strong></td>
<td><strong>Текстовый аналог </strong></td>
<td><strong>Бинарный файл, оставленный для совместимости</strong></td>
<td><strong>Краткое описание файла </strong></td>
</tr>
<tr>
<td>*.sprite</td>
<td>*.sprite</td>
<td>*.sprbin</td>
<td>Описание графики игры, в том числе анимированной</td>
</tr>
<tr>
<td>tiles0.prop</td>
<td>tiles0.prop</td>
<td>tiles0.bin</td>
<td>Описание свойств текстур, используемых на картах</td>
</tr>
<tr>
<td>units.bin</td>
<td>*.unit</td>
<td>units.bin</td>
<td>Описание свойств юнитов</td>
</tr>
</tbody>
</table>
<p>Все текстовые файлы имеют общий формат:</p>
<p>ИмяСвойства &lt;значение1&gt; [значение2 [значение3 [...]]]</p>
<p>Файлы не чувствительны к регистру и могут содержать произвольное форматирование с использованием пробелов, табуляций и пустых строк. Также файлы могут содержать комментарии, начинающиеся символом &#8216;;&#8217;.</p>
<p>Набор и порядок следования свойств в общем случае может быть произвольным, однако некоторые свойства невозможно обработать, если предварительно не были ни разу указаны значения некоторых других свойств. Наличие такого рода ограничений отдельно отмечено в подробных описаниях файлов.</p>
<h3><span style="text-decoration: underline;">Файлы *.sprbin (бывшие *.sprite)</span></h3>
<p>В этих файлах хранятся описания графики игры, в том числе параметры анимации.</p>
<p>Файлы *.sprite используются совместно с одним или несколькими файлами *.png, в зависимости от способа хранения набора кадров. Если все кадры хранятся в одном изображении, файл *.png должен иметь точно такое же имя, как и файл *.sprite. Если же кадры представлены отдельными изображениями, их имена должны иметь вид &#171;имя файла *.sprite&#187; + &#171;_&#187; + &#171;номер кадра&#187;, при этом номера кадров начинаются с 0 и номера меньше 10 дополняются спереди дополнительным нулем. При одновременном наличии кадров в обоих представлениях игра будет использовать кадры из сводного изображения.</p>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tbody>
<tr>
<td colspan="4"><strong>Параметр</strong></td>
<td colspan="4"><strong>Тип данных</strong></td>
</tr>
<tr>
<td colspan="4">Количество кадров</td>
<td colspan="4">byte</td>
</tr>
<tr>
<td colspan="4">Ширина кадра</td>
<td colspan="4">byte</td>
</tr>
<tr>
<td colspan="4">Высота кадра</td>
<td colspan="4">byte</td>
</tr>
<tr>
<td rowspan="2">* Определения кадров</td>
<td colspan="3">Номер кадра на исходном изображении</td>
<td rowspan="2" colspan="2">* по паре значений для каждого кадра</td>
<td colspan="2">byte</td>
</tr>
<tr>
<td colspan="3">Режим преобразования</td>
<td colspan="2">byte</td>
</tr>
<tr>
<td colspan="4">Режим привязки</td>
<td colspan="4">byte</td>
</tr>
<tr>
<td colspan="4">Количество кадровых последовательностей</td>
<td colspan="4">byte</td>
</tr>
<tr>
<td rowspan="3">Опциональный блок</td>
<td colspan="3">Задержка смены кадров</td>
<td rowspan="3">блок присутствует только если количество кадровых последовательностей больше 0</td>
<td colspan="3">byte</td>
</tr>
<tr>
<td rowspan="2">* Кадровые последовательности</td>
<td colspan="2">Количество кадров в последовательности</td>
<td rowspan="2">* по блоку данных для каждой последовательности</td>
<td colspan="2">byte</td>
</tr>
<tr>
<td>* Набор кадров</td>
<td>Номер кадра</td>
<td>* по значению для каждого кадра</td>
<td>byte</td>
</tr>
<tr>
<td rowspan="2">* Смещения кадров</td>
<td colspan="3">Смещение по горизонтали</td>
<td rowspan="2">* по паре значений для каждого кадра; блок завершается досрочно, если смещение равно -1</td>
<td colspan="3">byte</td>
</tr>
<tr>
<td colspan="3">Смещение по вертикали</td>
<td colspan="3">byte</td>
</tr>
</tbody>
</table>
<p>Возможны следующие режимы преобразования кадров (повороты производятся по часовой стрелке, отражение производится относительно вертикальной оси):</p>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tbody>
<tr>
<td><strong>Режим преобразования</strong></td>
<td><strong>Описание</strong></td>
</tr>
<tr>
<td>0</td>
<td>Преобразование отсутствует</td>
</tr>
<tr>
<td>1</td>
<td>Зеркальное отражение</td>
</tr>
<tr>
<td>2</td>
<td>Зеркальное отражение и поворот на 180 градусов</td>
</tr>
<tr>
<td>4</td>
<td>Поворот на 270 градусов</td>
</tr>
<tr>
<td>8</td>
<td>Поворот на 180 градусов</td>
</tr>
<tr>
<td>16</td>
<td>Поворот на 90 градусов</td>
</tr>
</tbody>
</table>
<p>Режим привязки задается в виде битовой карты, где биты имеют следующие значения:</p>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tbody>
<tr>
<td><strong>Бит привязки</strong></td>
<td><strong>Описание</strong></td>
</tr>
<tr>
<td>0</td>
<td>Центровка по горизонтали</td>
</tr>
<tr>
<td>1</td>
<td>Центровка по вертикали</td>
</tr>
<tr>
<td>2</td>
<td>Привязка по левому краю</td>
</tr>
<tr>
<td>3</td>
<td>Привязка по правому краю</td>
</tr>
<tr>
<td>4</td>
<td>Привязка по верхнему краю</td>
</tr>
<tr>
<td>5</td>
<td>Привязка по нижнему краю</td>
</tr>
</tbody>
</table>
<p>Так, например, режим привязки 20 (dec) = 10100 (bin) = привязка по левому верхнему углу, 3 (dec) = 11 (bin) = центровка по вертикали и горизонтали.</p>
<h3><span style="text-decoration: underline;">Файлы *.sprite</span></h3>
<p>Файл может содержать следующие свойства:</p>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tbody>
<tr>
<td><strong>Свойство</strong></td>
<td><strong>Значения</strong></td>
<td><strong>Расположение в файле </strong></td>
<td><strong>Описание</strong></td>
</tr>
<tr>
<td>FrameCount</td>
<td>число кадров</td>
<td>Обязательно, перед FrameDef</td>
<td>Количество кадров в конечном спрайте</td>
</tr>
<tr>
<td>FrameWidth</td>
<td>ширина кадра</td>
<td>Обязательно</td>
<td>Горизонтальный размер (кадра) спрайта</td>
</tr>
<tr>
<td>FrameHeight</td>
<td>высота кадра</td>
<td>Обязательно</td>
<td>Вертикальный размер (кадра) спрайта</td>
</tr>
<tr>
<td>FrameDef</td>
<td>номер конечного кадра, номер исходного кадра, преобразование</td>
<td>Обязательно, должен быть определен каждый кадр</td>
<td>Соответствие между кадрами на исходном изображении и кадрами конечного спрайта</td>
</tr>
<tr>
<td>Align</td>
<td>режим привязки</td>
<td>Не обязательно</td>
<td>Режим привязки кадров</td>
</tr>
<tr>
<td>FrameSeqCount</td>
<td>число кадровых последовательностей</td>
<td>Не обязательно, перед FrameSeq</td>
<td>Количество кадровых последовательностей</td>
</tr>
<tr>
<td>FrameDelay</td>
<td>задержка смены кадров</td>
<td>Не обязательно</td>
<td>Задержка смены кадров спрайта</td>
</tr>
<tr>
<td>FrameSeq</td>
<td>номер кадровой последовательности, число кадров в последовательности, номер кадра 1, номер кадра 2, &#8230;, номер кадра n</td>
<td>Не обязательно, должна быть определена каждая последовательность</td>
<td>Кадровые последовательности спрайта</td>
</tr>
<tr>
<td>Translate</td>
<td>номер кадра, смещение по горизонтали, смещение по вертикали</td>
<td>Не обязательно</td>
<td>Смещение отдельных кадров в конечном спрайте</td>
</tr>
</tbody>
</table>
<p>Режимы преобразования и привязки аналогичны таковым для бинарной версии файла и описаны выше.</p>
<h3><span style="text-decoration: underline;">Файл tiles0.bin (бывший tiles0.prop)</span></h3>
<p>Этот файл содержит типы тайлов, используемых при построении карт.</p>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tbody>
<tr>
<td colspan="2"><strong>Параметр</strong></td>
<td colspan="2"><strong>Тип данных</strong></td>
</tr>
<tr>
<td colspan="2">Количество тайлов</td>
<td colspan="2">short</td>
</tr>
<tr>
<td colspan="2">Не используется</td>
<td colspan="2">short</td>
</tr>
<tr>
<td>* Типы тайлов</td>
<td>Номер типа</td>
<td>* по значению для каждого тайла</td>
<td>byte</td>
</tr>
</tbody>
</table>
<p>Значения типов:</p>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tbody>
<tr>
<td><strong>Номер типа</strong></td>
<td><strong>Описание</strong></td>
</tr>
<tr>
<td>0</td>
<td>Дорога</td>
</tr>
<tr>
<td>1</td>
<td>Равнина</td>
</tr>
<tr>
<td>2</td>
<td>Лес</td>
</tr>
<tr>
<td>3</td>
<td>Холмы</td>
</tr>
<tr>
<td>4</td>
<td>Горы</td>
</tr>
<tr>
<td>5</td>
<td>Вода</td>
</tr>
<tr>
<td>6</td>
<td>Мост</td>
</tr>
<tr>
<td>7</td>
<td>Крепость</td>
</tr>
<tr>
<td>8</td>
<td>Дом</td>
</tr>
<tr>
<td>9</td>
<td>Замок</td>
</tr>
</tbody>
</table>
<h3><span style="text-decoration: underline;">Файл tiles0.prop</span></h3>
<p>Файл может содержать следующие свойства:</p>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tbody>
<tr>
<td><strong>Свойство</strong></td>
<td><strong>Значения</strong></td>
<td><strong>Расположение в файле</strong></td>
<td><strong>Описание</strong></td>
</tr>
<tr>
<td>TypeCount</td>
<td>число типов тайлов</td>
<td>Обязательно, перед TypeDef</td>
<td>Количество типов тайлов, используемых на картах</td>
</tr>
<tr>
<td>TypeDef</td>
<td>номер типа, проходимость, бонус защиты</td>
<td>Обязательно, перед TileDef, должен быть определен каждый тип</td>
<td>Проходимость (число шагов, необходимых, чтобы встать на тайл данного типа) и бонус защиты для данного типа тайла</td>
</tr>
<tr>
<td>TileCount</td>
<td>число тайлов</td>
<td>Обязательно, перед TileDef</td>
<td>Количество тайлов, используемых на картах</td>
</tr>
<tr>
<td>TileDef</td>
<td>номер тайла, номер типа тайла</td>
<td>Обязательно, должен быть определен каждый тайл</td>
<td>Соответствие тайлов их типам</td>
</tr>
</tbody>
</table>
<p>Первые 10 типов тайлов аналогичны таковым для бинарной версии файла и описаны выше.</p>
<h3><span style="text-decoration: underline;">Файл units.bin</span></h3>
<p>В этом файле задаются свойства юнитов, такие как атака, защита, радиус перемещения и т.д.</p>
<p>Файл содержит 12 однотипных структур (по числу юнитов в игре), имеющих следующий формат:</p>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tbody>
<tr>
<td colspan="2"><strong>Параметр</strong></td>
<td colspan="2"><strong>Тип данных </strong></td>
</tr>
<tr>
<td colspan="2">Радиус перемещения</td>
<td colspan="2">byte</td>
</tr>
<tr>
<td colspan="2">Минимальная атака</td>
<td colspan="2">byte</td>
</tr>
<tr>
<td colspan="2">Максимальная атака</td>
<td colspan="2">byte</td>
</tr>
<tr>
<td colspan="2">Защита</td>
<td colspan="2">byte</td>
</tr>
<tr>
<td colspan="2">Максимальное расстояние атаки</td>
<td colspan="2">byte</td>
</tr>
<tr>
<td colspan="2">Минимальное расстояние атаки</td>
<td colspan="2">byte</td>
</tr>
<tr>
<td colspan="2">Цена</td>
<td colspan="2">short</td>
</tr>
<tr>
<td colspan="2">Количество юнитов в группе</td>
<td colspan="2">byte</td>
</tr>
<tr>
<td rowspan="2">* Позиции юнитов в группе</td>
<td>Координата X</td>
<td rowspan="2">* по паре значений для каждого юнита в группе</td>
<td>byte</td>
</tr>
<tr>
<td>Координата Y</td>
<td>byte</td>
</tr>
<tr>
<td colspan="2">Количество свойств</td>
<td colspan="2">byte</td>
</tr>
<tr>
<td>* Свойства</td>
<td>Номер свойства</td>
<td>* по значению для каждого свойства</td>
<td>byte</td>
</tr>
</tbody>
</table>
<p>Свойства юнитов:</p>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tbody>
<tr>
<td><strong>Номер свойства</strong></td>
<td><strong>Описание</strong></td>
</tr>
<tr>
<td>0</td>
<td>юнит &#8212; скелет и не может быть воскрешен</td>
</tr>
<tr>
<td>1</td>
<td>юнит получает бонусы к атаке и защите на воде</td>
</tr>
<tr>
<td>2</td>
<td>не используется</td>
</tr>
<tr>
<td>3</td>
<td>юнит может захватывать дома</td>
</tr>
<tr>
<td>4</td>
<td>юнит может захватывать замки</td>
</tr>
<tr>
<td>5</td>
<td>юнит может воскрешать убитых юнитов в скелеты</td>
</tr>
<tr>
<td>6</td>
<td>юнит получает бонусы к атаке против скелетов</td>
</tr>
<tr>
<td>7</td>
<td>юнит ядовит</td>
</tr>
<tr>
<td>8</td>
<td>юнит излучает ауру</td>
</tr>
<tr>
<td>9</td>
<td>за один ход юнит не может одновременно перемещаться и атаковать</td>
</tr>
</tbody>
</table>
<h3><span style="text-decoration: underline;">Файлы *.unit</span></h3>
<p>Файл может содержать следующие свойства:</p>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tbody>
<tr>
<td><strong>Свойство</strong></td>
<td><strong>Значения</strong></td>
<td><strong>Расположение в файле</strong></td>
<td><strong>Описание</strong></td>
</tr>
<tr>
<td>MoveRange</td>
<td>радиус перемещения</td>
<td>Обязательно</td>
<td>Радиус перемещения юнита</td>
</tr>
<tr>
<td>Attack</td>
<td>минимальная атака, максимальная атака</td>
<td>Обязательно</td>
<td>Характеристики атаки юнита</td>
</tr>
<tr>
<td>Defence</td>
<td>защита</td>
<td>Обязательно</td>
<td>Характеристики защиты юнита</td>
</tr>
<tr>
<td>AttackRange</td>
<td>максимальное расстояние атаки, минимальное расстояние атаки</td>
<td>Обязательно</td>
<td>Расстояние атаки юнита</td>
</tr>
<tr>
<td>Cost</td>
<td>цена юнита</td>
<td>Обязательно</td>
<td>Цена юнита</td>
</tr>
<tr>
<td>CharCount</td>
<td>число юнитов в группе</td>
<td>Обязательно, перед CharPos</td>
<td>Максимальное число юнитов в группе при отображении анимации боя</td>
</tr>
<tr>
<td>CharPos</td>
<td>номер юнита в группе, координата X, координата Y</td>
<td>Обязательно, должен быть определен каждый юнит в группе</td>
<td>Позиция юнита на экране при отображении анимации боя</td>
</tr>
<tr>
<td>HasProperty</td>
<td>номер свойства</td>
<td>Не обязательно</td>
<td>Обладание юнитом указанным свойством</td>
</tr>
</tbody>
</table>
<p>Номера свойств аналогичны таковым для бинарной версии файла и описаны выше.</p>
<h3><span style="text-decoration: underline;">Изменение цвета зданий и юнитов</span></h3>
<p>Картинки зданий и юнитов хранятся в формате PNG с палитрой, и изменение цвета реализовано через замену значений цветов в палитре. Поэтому при редактировании для того, чтобы эти картинки в игре изменялись под цвет игрока, нужно использовать <em>в том числе</em> цвета из одной из колонок в таблице ниже (обычно из синей колонки). Эти цвета при необходимости заменяются игрой на цвета той же строки в другой колонке, остальные цвета остаются без изменений. Сохранять картинки следует в формате PNG <em>с палитрой</em>.</p>
<p>Таблица замены цветов (числа соответствуют значениям красного, зеленого и синего для данного цвета):</p>
<table width="100%" border="2" cellspacing="1" cellpadding="5">
<tbody>
<tr>
<td><strong>Синий</strong></td>
<td><strong>Красный</strong></td>
<td><strong>Зеленый</strong></td>
<td><strong>Черный</strong></td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#96d9f4">
<tbody>
<tr>
<td><span style="color: #ffffff;">150, 217, 244</span></td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#f49e9c">
<tbody>
<tr>
<td><span style="color: #ffffff;">244, 158, 156</span></td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#abed5a">
<tbody>
<tr>
<td><span style="color: #ffffff;">171, 237, 90</span></td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#007696">
<tbody>
<tr>
<td><span style="color: #ffffff;">0, 118, 150</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#4195e9">
<tbody>
<tr>
<td><span style="color: #ffffff;">65, 149, 233</span></td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#db2471">
<tbody>
<tr>
<td><span style="color: #ffffff;">219, 36, 113</span></td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#63be25">
<tbody>
<tr>
<td><span style="color: #ffffff;">99, 190, 37</span></td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#004172">
<tbody>
<tr>
<td><span style="color: #ffffff;">0, 65, 114</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#0064c6">
<tbody>
<tr>
<td><span style="color: #ffffff;">0, 100, 198</span></td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#a10070">
<tbody>
<tr>
<td><span style="color: #ffffff;">161, 0, 112</span></td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#009937">
<tbody>
<tr>
<td><span style="color: #ffffff;">0, 153, 55</span></td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#002b4b">
<tbody>
<tr>
<td><span style="color: #ffffff;">0, 43, 75</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#0c3570">
<tbody>
<tr>
<td><span style="color: #ffffff;">12, 53, 112</span></td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#5f0578">
<tbody>
<tr>
<td><span style="color: #ffffff;">95, 5, 120</span></td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#005552">
<tbody>
<tr>
<td><span style="color: #ffffff;">0, 85, 82</span></td>
</tr>
</tbody>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#001630">
<tbody>
<tr>
<td><span style="color: #ffffff;">0, 22, 48</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blackcats.su/ancient-empires-ii-revolution-mod-format-failov-igry/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Делаем aNMWPR не beta</title>
		<link>http://blackcats.su/delaem-anmwpr-ne-beta/</link>
		<comments>http://blackcats.su/delaem-anmwpr-ne-beta/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 06:41:57 +0000</pubDate>
		<dc:creator>FleXoR</dc:creator>
				<category><![CDATA[FAQи и Мануалы]]></category>
		<category><![CDATA[Энциклопедия]]></category>
		<category><![CDATA[kiriman]]></category>

		<guid isPermaLink="false">http://blackcats.su/?p=752</guid>
		<description><![CDATA[<p>Автор статьи: kiriman</p> <p>Самые известные из них XOR и вычитание числа с кода символа.</p> <p>Второй был замечен мной в aNMPWR 2.0 beta by annimon в те времена, когда я еще осваивал Mobile Basic и не знал java 2 me.</p> <p>Само приложение &#8212; движок для журналов, был тогда весьма востребован, но автор сделал его платным 19.03.2010, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Автор статьи</strong>: kiriman</p>
<p>Самые известные из них XOR и вычитание числа с кода символа.</p>
<p>Второй был замечен мной в aNMPWR 2.0 beta by annimon в те времена, когда я еще осваивал Mobile Basic и не знал java 2 me.</p>
<p>Само приложение &#8212; движок для журналов, был тогда весьма востребован, но автор сделал его платным 19.03.2010, что привело пользователей к новым более функциональным бесплатным аналогам. Проект забросили.</p>
<p>Прошло 2 года&#8230;</p>
<p>Я стал шарить в яве. Разработчик движка намного усилил защиту, продал несколько копий. Но та лакомая бетка спокойно лежала на просторах интернета.. пока за нее не взялся kiriman <img src='http://blackcats.su/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div>Бета-тестирование(англ. beta testing) &#8212; интенсивное использование почти готовой версии продукта(как правило, программного или аппаратного обеспечения) с целью выявления максимального числа ошибок в его работе для их последующего устранения перед окончательным выходом(релизом) продукта.</div>
<p>Знаете, если бы я захотел &#8212; давно бы написал декодер текстов, меня остановило ограничение на кол-во запусков мидлета, что протеворечит определению выше, хех</p>
<p>Разбираемся!</p>
<p>Достаем из архива(*.jar = *.zip) папки xml и txt</p>
<p>1. Настройки журнала</p>
<p>2. Статьи</p>
<p>Открываем FAQ.txt, заранее известно &#8212; кодировка win 1251</p>
<p>В запущенном приложении в факе первый символ &#171;F&#187;, а в нашем файле &#171;?&#187;. Невооруженным глазом видно, одинаковые буквы заменены одним и тем же. Либо юзается таблица, либо прибавление/вычитание числа с кода символа. Проверим:</p>
<p>F &#8212; 70</p>
<p>? &#8212; 63</p>
<p>70 &#8212; 63 = 7</p>
<p>Таким образом смотрим 2ую, 3юю и т.д. букву, все сходится, для шифрования используется вычитание 7.</p>
<p>Теперь легко можно убрать его.</p>
<p>Думаю на данном этапе вы напишите декодер сами.</p>
<p>Переводим файлы в нормальный вид.</p>
<p>Окей, надо заставить читать anmpwr это дело.</p>
<p>Декомпилируем классы, ищем число 7. Находим в a.a.a.class, j.class, b.class, i.class</p>
<p>Скачиваем любой редактор байт-кода. Открываем их. Заменяем a.a.a.a = 7 на a.a.a.a = 0</p>
<p>Т.е bipush 7 на 0</p>
<p>Лучше, конечно, исправить:</p>
<p>Чтение байта + 7 на Чтение байта, но я не хотел заморачиваться, поскорей бы  закончить работу)</p>
<p><img src="http://2.bp.blogspot.com/-LQkBPuG_kkc/TyTaCiQkHQI/AAAAAAAAAA8/c4zC7C51hcM/s320/1.png" alt="" width="206" height="320" border="0" /></p>
<p>ByteCodeEditor.jar, a.class</p>
<p>А сейчас приступим к убийству.. ограничения</p>
<p>Открыв класс Main в декомпиляторе, видим:</p>
<p><code>public void startApp()</code></p>
<p>{</p>
<p>k.b();</p>
<p>if (k.a &gt;= a.a.a.a)</p>
<p>destroyApp(true);</p>
<p>this.cnv = new d();</p>
<p>this.cnv.setFullScreenMode(true);</p>
<p>if ((Main.name = a.a(getClass().getResourceAsStream(&#171;/xml/name.ini&#187;))) == null)</p>
<p>name = &#171;Default&#187;;</p>
<p>a.a(&#171;/xml/skin.ini&#187;);</p>
<p>this.dsp = Display.getDisplay(this);</p>
<p>this.dsp.setCurrent(this.cnv);</p>
<p>}</p>
<p>Опачки! Первая проверка! destroyApp(true); &#8212; метод для выхода из приложения, а переменная a.a.a.a(Где-то мы видели?))) юзается как максимальное кол-во запусков.</p>
<p>Хм, но она стала равна 0, следовательно надо снести это условие к чертям, т.е.</p>
<p><code>k.b();</code></p>
<p>this.cnv = new d();</p>
<p>this.cnv.setFullScreenMode(true);  &#8230;.</p>
<div class="wp-caption alignleft" style="width: 216px"><img style="border: 0pt none;" src="http://1.bp.blogspot.com/-8olCiwE1I64/TyTidicFkgI/AAAAAAAAABE/DMBXgZxrRi4/s320/2.png" alt="" width="206" height="320" border="0" /><p class="wp-caption-text">ДО</p></div>
<div class="wp-caption alignleft" style="width: 216px"><img style="border: 0pt none;" src="http://1.bp.blogspot.com/-oneuvKmRMLo/TyTji78SHiI/AAAAAAAAABM/nWqtshiKVz0/s320/3.png" alt="" width="206" height="320" border="0" /><p class="wp-caption-text">ПОСЛЕ</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Преверефицируем, пробуем запустить.. не помогло(</p>
<p>destroy вызывается еще в классах j, h. Нас интересуют условия с a.a.a.a.</p>
<p>j.class, здесь поступаем также как и с прошлым классом</p>
<p><code>Main.midlet.destroyApp(true);</code></p>
<p>h.class</p>
<p><code>public final void run()</code></p>
<p>{</p>
<p>while (true)</p>
<p>{</p>
<p>if (this.jdField_c_of_type_Boolean)</p>
<p>{</p>
<p>if (this.k &gt; -(this.j &#8212; this.f))</p>
<p>this.k -= 2;</p>
<p>else</p>
<p>this.jdField_c_of_type_Boolean = (!this.jdField_c_of_type_Boolean);</p>
<p>}</p>
<p>else if (this.k &lt; 0)</p>
<p>{</p>
<p>this.k += 2;</p>
<p>if (k.a &gt;= a.a.a.a)</p>
<p>Main.midlet.destroyApp(true);</p>
<p>}</p>
<p>else</p>
<p>{</p>
<p>this.jdField_c_of_type_Boolean = (!this.jdField_c_of_type_Boolean);</p>
<p>}</p>
<p>try</p>
<p>{</p>
<p>Thread.sleep(100L);</p>
<p>}</p>
<p>catch (Exception localException)</p>
<p>{</p>
<p>}</p>
<p>repaint();</p>
<p>}</p>
<p>}</p>
<p>С такой конструкции я не смог вырезать нужное, знания асмы слабы, делаю все наугад, почти <img src='http://blackcats.su/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Поэтому, изменил логику условия</p>
<p><code>if (k.a != k.a)</code></p>
<p>Main.midlet.destroyApp(true);</p>
<div class="wp-caption alignleft" style="width: 216px"><img style="border: 0pt none;" src="http://4.bp.blogspot.com/-nQtlhRRFTlI/TyT6pM9F03I/AAAAAAAAABk/DmZUhMv0xV4/s1600/4.png" alt="" width="206" height="320" border="0" /><p class="wp-caption-text">ДО</p></div>
<div class="wp-caption alignleft" style="width: 216px"><img style="border: 0pt none;" src="http://4.bp.blogspot.com/-Dy8k3Eb0LDw/TyT6ql82p7I/AAAAAAAAABs/lzot5iC0y7k/s1600/5.png" alt="" width="206" height="320" border="0" /><p class="wp-caption-text">ПОСЛЕ</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Осталось преверефицировать и собрать! Но я сделал уже все за вас, качайте:</p>
<p><a href="http://upwap.ru/1991218" target="_blank">aNMPWR 2.0 no BETA</a> - Полностью рабочая версия</p>
<p>З.Ы. Скриншоты мобильного редактора байт-кода представлены для уменьшения веса страницы, на ПК есть JavaByte.exe</p>
<p>Оригинал взят с <a href="http://kiriman808.blogspot.com/2012/01/anmwpr-20-no-beta.html">http://kiriman808.blogspot.com/2012/01/anmwpr-20-no-beta.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blackcats.su/delaem-anmwpr-ne-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Видеоурок по работе с редактором Real Football 2012 (J2ME)</title>
		<link>http://blackcats.su/video-urok-po-rabote-s-redaktorom-rf-2012/</link>
		<comments>http://blackcats.su/video-urok-po-rabote-s-redaktorom-rf-2012/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 22:01:47 +0000</pubDate>
		<dc:creator>FleXoR</dc:creator>
				<category><![CDATA[FAQи и Мануалы]]></category>
		<category><![CDATA[Энциклопедия]]></category>

		<guid isPermaLink="false">http://blackcats.su/?p=748</guid>
		<description><![CDATA[<p></p> <p>Сам редактор расположен здесь</p> ]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.youtube.com/embed/A6hTm0io5Jk" frameborder="0" width="560" height="315"></iframe></p>
<p>Сам редактор расположен <a href="http://blackcats.su/web/viewtopic.php?f=41&amp;t=3513">здесь</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blackcats.su/video-urok-po-rabote-s-redaktorom-rf-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PES 2011 Android-версия &#8212; Реальные названия и имена</title>
		<link>http://blackcats.su/pes-2011-android-versiya-realnye-imena/</link>
		<comments>http://blackcats.su/pes-2011-android-versiya-realnye-imena/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 10:48:40 +0000</pubDate>
		<dc:creator>FleXoR</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[mod]]></category>
		<category><![CDATA[PES]]></category>

		<guid isPermaLink="false">http://blackcats.su/?p=723</guid>
		<description><![CDATA[<p>Моддингом занимаются не только у нас ) Хочу представить вам творение модмейкера из Братиславы &#8212; hangy18</p> <p>Пот утверждению автора он изменил все имена игроков,  а также названия команд и соревнований на правильные. Предлагаю вам оценить его труд.</p> <p>Скачать</p> <p>Файл из архива распаковать, переименовать в main.db и поместить в /sdcard/Android/com.konami.pes2011/files/database</p> <p>Cкриншоты</p> ]]></description>
			<content:encoded><![CDATA[<p>Моддингом занимаются не только у нас ) Хочу представить вам творение модмейкера из Братиславы &#8212; <strong>hangy18</strong></p>
<p>Пот утверждению автора он изменил все имена игроков,  а также названия команд и соревнований на правильные. Предлагаю вам оценить его труд.</p>
<p><a title="Скачать кэш" href="http://narod.ru/disk/38157930001/main.zip.html">Скачать</a></p>
<p>Файл из архива распаковать, переименовать в main.db и поместить в /sdcard/Android/com.konami.pes2011/files/database</p>
<p><a href="https://picasaweb.google.com/116871516560887800016/Android">Cкриншоты</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blackcats.su/pes-2011-android-versiya-realnye-imena/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PES 2011 RFPL RUS</title>
		<link>http://blackcats.su/pes-2011-rfpl-rus/</link>
		<comments>http://blackcats.su/pes-2011-rfpl-rus/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 18:09:54 +0000</pubDate>
		<dc:creator>FleXoR</dc:creator>
				<category><![CDATA[Java-проекты]]></category>
		<category><![CDATA[Проекты других авторов]]></category>
		<category><![CDATA[mod]]></category>
		<category><![CDATA[PES]]></category>
		<category><![CDATA[Tommy_M]]></category>

		<guid isPermaLink="false">http://blackcats.su/?p=718</guid>
		<description><![CDATA[<p>Автор мода: Tommy_M</p> <p> Вот и вышел долгожданный мод&#8230; Настолько долгожданный, что большинство тех кто его ждали уже приобрели новые смартфоны да и попросту на него забили после постоянных переносов даты выхода и решили что он вообще никогда не выйдет. Или это всё фейк и скрины нарисованы в фотошопе, были и такие кадры. Разработка началась [...]]]></description>
			<content:encoded><![CDATA[<p>Автор мода: <strong>Tommy_M</strong></p>
<p><img src="http://ae-mods.ru/screens/splash_240x320.png" alt="" border="0" /><br />
Вот и вышел долгожданный мод&#8230; Настолько долгожданный, что большинство тех кто его ждали уже приобрели новые смартфоны да и попросту на него забили после постоянных переносов даты выхода и решили что он вообще никогда не выйдет. Или это всё фейк и скрины нарисованы в фотошопе, были и такие кадры.<br />
Разработка началась почти сразу после выхода <a class="link" href="http://ae-mods.ru/load/mob/mods_by_tommy_m/pes_2010_rfpl_111/4-1-0-75" rel="nofollow" target="_blank">PES 2010 RFPL v1.1.1 by Tommy_M</a>, который вышел кстати говоря 15.05.2010. Всё лето 2010 я с красными глазами переводил все версии PES 2010, делал не тяп ляп, а чтобы всё было шикарно. Результаты работы можно увидеть <a class="link" href="http://ae-mods.ru/load/mob/pes_mods/pes_2010_rus/11-1-0-98" rel="nofollow" target="_blank">здесь</a>. Сделал перевод и стал ждать закрытия трансферного окна. Ждал, началась учёба и внезапно xD пропало желание всё делать, далее поменял телефон на сенсорный, а там как известно PES уныл и неиграбелен, ну и мод впал в анабиоз. Затем уже вышел вполне зачётный Марселевский <a class="link" href="http://ae-mods.ru/load/mob/pes_mods/pes_2010_rus_by_marsel/11-1-0-302" rel="nofollow" target="_blank">РФПЛ с переводом</a>, ну и мод вообще перестал разрабатываться.<br />
Когда внезапно-таки появился <a class="link" href="http://ae-mods.ru/load/mob/java_games/pes_2011_mobile/6-1-0-336" rel="nofollow" target="_blank">PES 2011</a> я принял решение не бросать начатое дело и довести его до конца. Был полностью адаптирован перевод и заметно подросший скилл редактирования классов позволил улучшить игру, о чём я радостно уведомил в анонсах <a class="link" href="http://ae-mods.ru/news/pes_2011_rfpl_rus_anons/2011-02-10-65" rel="nofollow" target="_blank">№1</a> и <a class="link" href="http://ae-mods.ru/news/pes_2011_rfpl_rus_anons_chast_2/2011-04-05-104" rel="nofollow" target="_blank">№2</a>. Планировалось что составами займётся Марсель. Когда они были почти готовы согрел винт. После закрытия трансф. окна работа была начата заново, тоже почти всё было готово, но после некоторых событий он на это дело забил и просьбы дать мне допилить почти готовые составы были отвергнуты. Хз, такова легенда.<br />
Вот такой вот долгострой получился, прям S.T.A.L.K.E.R мобильного моддинга, ага.<br />
Теперь я выкладываю сиё творение дабы хоть как-то оправдать надежды тех кто этот мод таки ждал, да и может найдётся человек который сделает свежие составы. Остальное как я считаю сделано на уровне и куча классовых изменений дадут игре вторую жизнь, вернув её на телефоны многих.</p>
<p><span style="font-size: 9pt;">Итак, изменения:<br />
- Полный качественный перевод на русский язык (кроме названий клубов и игроков)<br />
- Составы, формы, участники лиг на сезон 2010/2011 (у некоторых клубов составы не правильные) <img src="http://ae-mods.ru/sm/st/sad.gif" alt="" align="absmiddle" border="0" /><br />
- Расположения клубов в лиге по результатам сезона<br />
- Все названия клубов написаны по центру без сокращений и пробелов<br />
- Быстрая загрузка игры как в PES 2010, без кучи всяких логотипов<br />
- Шкала удара как ПК версии игры<br />
- Увеличенные изображения стадионов, лиг, клубов в хорошем качестве<br />
- Появились изображения стадионов в версии на экран 128х160<br />
- Новый ТВ-попас как в ПК версии<br />
- Убраны надписи вверху экрана<br />
- Надпись ЗВУК шрифтом как в ПК версии после запуска<br />
- Исправлены баги невключения/неустановки игры на Нокиях<br />
- Лого кубка РФПЛ<br />
- Изменено довольно много остальной графики</span></p>
<p><span style="font-size: 11pt;">Скачать:<br />
<span class="UhideBlock"><a class="link" href="http://ae-mods.ru/mods/PES_2011_RFPL_640x360.jar" rel="nofollow" target="_blank"><img src="http://ae-mods.ru/images/rnd_old.png" alt="" align="absmiddle" border="0" /> 640&#215;360 RUS [1,1 Мб] </a><br />
<a class="link" href="http://ae-mods.ru/mods/PES_2011_RFPL_240x320.jar" rel="nofollow" target="_blank"><img src="http://ae-mods.ru/images/rnd_old.png" alt="" align="absmiddle" border="0" /> 240&#215;320 RUS [788 Кб] </a><br />
<a class="link" href="http://ae-mods.ru/mods/PES_2011_RFPL_176x220.jar" rel="nofollow" target="_blank"><img src="http://ae-mods.ru/images/rnd_old.png" alt="" align="absmiddle" border="0" /> 176&#215;220 RUS [600 Кб] </a><br />
<a class="link" href="http://ae-mods.ru/mods/PES_2011_RFPL_128x160.jar" rel="nofollow" target="_blank"><img src="http://ae-mods.ru/images/rnd_old.png" alt="" align="absmiddle" border="0" /> 128&#215;160 RUS [452 Кб] </a></span></span></p>
<p>Взято с <a title="AE-mods.ru" href="http://ae-mods.ru/load/mob/mods_by_tommy_m/pes_2011_rfpl_rus/4-1-0-1542" target="_blank">AE-mods.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blackcats.su/pes-2011-rfpl-rus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Редактор Real Football 2012</title>
		<link>http://blackcats.su/editor-real-football-2012/</link>
		<comments>http://blackcats.su/editor-real-football-2012/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 19:18:06 +0000</pubDate>
		<dc:creator>FleXoR</dc:creator>
				<category><![CDATA[Софт для модификаций и переводов]]></category>
		<category><![CDATA[Real Football]]></category>
		<category><![CDATA[Редактор]]></category>

		<guid isPermaLink="false">http://blackcats.su/?p=711</guid>
		<description><![CDATA[<p>Состав редактора. Редактор состоит из 6 листов в книге формата Excel. Лист 1: Com &#8212; редактор команд. Редактировать команды ТОЛЬКО на этом листе. Лист 2: CodeCom &#8212; лист с информацией о команде в виде, понятном игре. НЕ МЕНЯТЬ! Лист 3: Pl &#8212; редактор игроков. Редактировать игроков ТОЛЬКО на этом листе. Лист 4: CodePl &#8212; соответственно, [...]]]></description>
			<content:encoded><![CDATA[<p>Состав редактора.<br />
Редактор состоит из 6 листов в книге формата Excel.<br />
Лист 1: Com &#8212; редактор команд. Редактировать команды ТОЛЬКО на этом листе.<br />
Лист 2: CodeCom &#8212; лист с информацией о команде в виде, понятном игре. НЕ МЕНЯТЬ!<br />
Лист 3: Pl &#8212; редактор игроков. Редактировать игроков ТОЛЬКО на этом листе.<br />
Лист 4: CodePl &#8212; соответственно, кодированная информация об игроке. И тоже НЕ МЕНЯТЬ!<br />
Лист 5: ForCopyPl: Лист с готовой для копирования информацией об игроке.<br />
Лист 6: ForCopyCom: Лист с готовой для копирования информацией о команде.<br />
Как с ним работать.<br />
<span id="more-711"></span><br />
Собственно, на листах 1 и 3 мы будем редактировать составы и команды, а с двух последних копировать информацию.<br />
Внизу сообщения лежит демо-версия, показывающая возможности редактора, из неё необходимо взять файл d для редактирования, но для искушенных расскажу, какие в него внесены изменения. В начале нашего файла d идут два байта, которые отвечают за общее количество игроков, у нас это 18E3, или в десятичной системе &#8212; 6371 &#8212; это общее количество игроков. Хочу заметить, что игроки для клуба и сборной разные. Далее, начиная с оффсета 0002 и до 0116 идет массив со значениями 00 и 01. В нашем случае, все значения 00, что позволяет отображать все фамилии игроков во всех командах, вне зависимости от лицензии.<br />
С оффсета 0117 по 0E12 расположены характеристики команд. Всего 277 команд по 12 байт. Для того, чтобы скопировать новые параметры команд из редактора, нам нужно сделать несколько шагов. По началу, они покажутся немного сложными, но привыкнуть можно. В редакторе открываем лист ForCopyCom и выделяем ячейки с B2 по B278. Копируем их. Далее, создаем в винхексе новый файл из 1 байта и вставляем наши скопированные данные. Программа задаст нам вопрос, в каком формате мы хотим вставить наши данные. Необходимо выбрать пункт ASCII Hex (он находится в самом низу списка). Удаляем из начала наш первый байт (который создался при создании нового файла), для того, чтобы наш размер блока с характеристиками совпадал с игровым. Для чего такое нужно? При копировании напрямую из экселя в файл d возможна некорректная вставка данных, что приводит к сбою формата, поэтому необходимо сначала копировать в новый файл, обрабатывать его, а уже с него копировать в наш файл d.<br />
Следующим идёт блок с характеристиками игроков. Характеристики нужно копировать листа ForCopyPl по аналогии с характеристиками команд: сначала в новый файл в винхексе, а из него уже в файл d. Копировать необходимо с ячейки B2 по B6372. Вставляем также в формате ASCII Hex. Из начала опять же стираем созданный программой нулевой байт, после чего копируем эти данные и вставляем их в файл d. Блок характеристик игроков расположен с оффсета 0E12 по 016A7C. Внимательно следите за размерами копируемых блоков, если они больше или меньше указанных, то игра работать не будет.<br />
Переходим к именам и названиям команд. В принципе, самое простое, однако, есть свои подводные камни. Начинается этот блок с оффсета 016A7D. Первыми идут названия команд. Копируем их с листа ForCopyCom, начиная с ячейки A2 по A278. Вставляем их в опять-таки новый файл в винхексе, но в этот раз в формате ANSI-ASCII. Как видим, названия отделены друг от друга специальными байтами. Для того, чтобы эти разделители удалить, мы в винхексе открываем диалоговое окошко &#8212; заменить HEX-значения, где указываем в поле Искать 0D0A, а в поле Заменить оставляем пустое место. В итоге, после замены всех значений, у нас останется практически готовый для копирования файл, но ещё опять нужно удалить начальный байт, плюс лично я с конца файла вручную удалял ещё байт 00.<br />
И последним идет блок имен игроков. Его копируем с листа ForCopyPl с ячеек A2 по A6372. Также, как и в предыдущем абзаце, обрабатываем его.Но тут есть важное замечание: после последнего байта последнего имени добавляется блок с какими-то данными, его просто стираем и не обращаем на него никакого внимания, после чего копируем данные и вставляем их после названий команд.<br />
Вуаля, если сделали всё правильно &#8212; должно работать.<br />
<a title="Редактор Real Football 2012" href="http://blackcats.su/wp-content/uploads/2011/12/rf_editor_2012.zip">Редактор Real Football 2012</a><br />
<br />
<a href="http://blackcats.su/web/viewtopic.php?f=41&#038;t=3513" title="Подробнее на форуме"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blackcats.su/editor-real-football-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Полный F.A.Q. по модификации Real Football 2012</title>
		<link>http://blackcats.su/polnyi-f-a-q-po-modifikacii-real-football-2012/</link>
		<comments>http://blackcats.su/polnyi-f-a-q-po-modifikacii-real-football-2012/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 07:49:38 +0000</pubDate>
		<dc:creator>FleXoR</dc:creator>
				<category><![CDATA[FAQи и Мануалы]]></category>
		<category><![CDATA[Энциклопедия]]></category>

		<guid isPermaLink="false">http://blackcats.su/?p=707</guid>
		<description><![CDATA[<p>Johnler06 целиком расшифровал &#171;начинку&#187; файла d, как по части команды, так и по части игрока.</p> <p>Ознакомиться с расшифровкой данных можно на форуме.</p> ]]></description>
			<content:encoded><![CDATA[<p><strong>Johnler06 </strong>целиком расшифровал &#171;начинку&#187; файла d, как по части команды, так и по части игрока.</p>
<p>Ознакомиться с расшифровкой данных можно <a href="http://blackcats.su/web/viewtopic.php?f=53&amp;t=3497">на форуме</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blackcats.su/polnyi-f-a-q-po-modifikacii-real-football-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AOWDecode_i0</title>
		<link>http://blackcats.su/aowdecode_i0/</link>
		<comments>http://blackcats.su/aowdecode_i0/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 11:48:10 +0000</pubDate>
		<dc:creator>FleXoR</dc:creator>
				<category><![CDATA[Софт для модификаций и переводов]]></category>

		<guid isPermaLink="false">http://blackcats.su/?p=672</guid>
		<description><![CDATA[<p>Программа для изменения графики из пак файла игры AOW &#38; AOW2</p> <p>Далее</p> ]]></description>
			<content:encoded><![CDATA[<p>Программа для изменения графики из пак файла игры AOW &amp; AOW2</p>
<p><a href="http://blackcats.su/web/viewtopic.php?f=41&amp;t=3493">Далее</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blackcats.su/aowdecode_i0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>N.O.V.A. The Beginning</title>
		<link>http://blackcats.su/n-o-v-a-the-beginning/</link>
		<comments>http://blackcats.su/n-o-v-a-the-beginning/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 17:00:47 +0000</pubDate>
		<dc:creator>FleXoR</dc:creator>
				<category><![CDATA[Java-проекты]]></category>
		<category><![CDATA[Проекты других авторов]]></category>

		<guid isPermaLink="false">http://blackcats.su/?p=664</guid>
		<description><![CDATA[<p>Жизнь идёт своим чередом. Наука, спорт, культура. Однако один австралиец, далёкий от всего этого, сделал открытие, которое изменило все наши понятия и теории &#8212; антигравитация, а точнее, антигравитационное вещество, найденное в гидросфере Земли. Однако ничто не могло сравниться с нарастающей опасностью с этим открытием. Земля влилась в Аккилианский Союз, мощнейшую планетную федерацию.</p> <p>Однако тут пришла [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="margin: 10px;" title="N.O.V.A. The Beginning" src="http://ae-site.my1.ru/_fr/3/3985130.png" alt="" width="294" height="424" />Жизнь идёт своим чередом. Наука, спорт, культура. Однако один австралиец, далёкий от всего этого, сделал открытие, которое изменило все наши понятия и теории &#8212; антигравитация, а точнее, антигравитационное вещество, найденное в гидросфере Земли. Однако ничто не могло сравниться с нарастающей опасностью с этим открытием. Земля влилась в Аккилианский Союз, мощнейшую планетную федерацию.</p>
<p>Однако тут пришла беда. Страшная и ужасная. Армия планеты Чханкоггн (человек не способен правильно произнести название, и записать тоже) и Тсеяр Кна (Федерация западной планеты) поставили перед собой цель уничтожить АС (Аккилианский Союз) и Земля оказалось в прямой опасности.</p>
<p><a href="http://blackcats.su/web/viewtopic.php?f=24&amp;t=3486">Подробнее на форуме</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blackcats.su/n-o-v-a-the-beginning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Футбольный менеджер сайта &#8212; организация турнира</title>
		<link>http://blackcats.su/soccer-manager/</link>
		<comments>http://blackcats.su/soccer-manager/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 05:13:51 +0000</pubDate>
		<dc:creator>FleXoR</dc:creator>
				<category><![CDATA[О сайте]]></category>

		<guid isPermaLink="false">http://blackcats.su/?p=660</guid>
		<description><![CDATA[<p>Приглашаю всех принять в тестировании организации оффлайн футбольного менеджера сайта.</p> <p>Подробнее на форуме</p> ]]></description>
			<content:encoded><![CDATA[<p>Приглашаю всех принять в тестировании организации оффлайн футбольного менеджера сайта.</p>
<p><a href="http://blackcats.su/web/viewtopic.php?f=61&amp;t=3491">Подробнее на форуме</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blackcats.su/soccer-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

