Kruptar 7
=========
Программа для извлечения, редактирования и вставки текстовых ресурсов.

Особенности
===========
Kruptar 7 позволяет извлекать и редактировать текстовые ресурсы практически
любого формата, в том числе и со словарными методами сжатия (DTE, MTE). 
Текст сжатый любым другим способом также может быть извлечён в понятный
и удобный для редактирования вид, но для этого потребуется написание
плагинов, что подразумевает владение языком программирования Object Pascal.
При извлечении, для удобства пользователя, можно создавать отдельные
группы текстовых блоков, каждая из которых может иметь совершенно
разный формат текста, разные таблицы, а также различные по формату пойнтеры,
что позволяет хранить весь необходимый текст в одном проекте.
Kruptar 7 обладает удобной средой редактирования: использование закладок,
наглядное представление текста, функциональный поиск, работа с кодировками
(например, SHIFT-JIS, UTF-16) и так далее. Всё это делает Kruptar намного более
функциональной заменой вашему текстовому редактору. Однако никто не запрещает
извлекать текст в простой текстовый файл - проект Kruptar 7 (*.kpx) ни что
иное, как простой ZIP-архив, в котором можно, кроме всего прочего, найти
таблицы (*.tbl) и те самые текстовые файлы (*.txt).
Kruptar 7 отличается великолепной работой с указателями. 
Разумеется, при обратной вставке текста, все пойнтеры автоматически
пересчитываются, а строки располагаются оптимально в отведённых им вами местах.
Нельзя не упомянуть о чрезвычайно гибкой системе, по которой Kruptar 7
обрабатывает указатели: учтены почти все их возможные вариации.
Вставка текста осуществляется нажатием одной кнопки, и происходит довольно
быстро (процесс постоянно оптимизируется от версии к версии), что позволяет
немедленно увидеть результат в изменяемом файле.
К сожалению, основным недостатком Kruptar 7 является отсутствие полной и
развернутой документации, однако несколько небольших документов всё же
существует.

Документация
============
"Kruptar для чайников" от Delex'а:
	http://www.magicteam.net/krupdoc.htm
"Написание плагинов для Kruptar 7" от Griever'а:
	http://www.magicteam.net/docs/kruptar/doc.htm

Обновления
==========
Последнюю версию программы вы всегда можете скачать на нашем сайте.
http://www.magicteam.net

Благодарности
=============
NADVooDoo, MoonLight, Virtual_Killer, Delex,
Griever, HoRRoR, Oraculum

История версий
==============
31.12.2010, v7.1.1.14:	- Добавлена поддержка пойнтеров в
			  формате SNES Lo-ROM (свойство ptSNESlorom).
			  Добавлена сортировка пойнтеров по
			  возрастанию и убыванию.
			  Изменено поведение ptSplittedPtrs:
			  если размер пойнтера - 2, то интервалом
			  отделяются младший и старший байты пойнтера;
			  если размер пойнтера - 3, то интервалом
			  отделяются младший word (2 байта) и
			  старший байт пойнтера;
			  если размер пойнтера - 4, то интервалом
			  отделаются младший word (2 байта) и
			  старший word пойнтера.
			  Значение ptInterval теперь может быть
			  отрицательным.

05.12.2009, v7.1.1.10:	- Добавлена возможность указывать
			  в элементах таблицы код разрыва
			  строки "\n". В извлечённом тексте
			  он будет выглядеть как полноценный
			  разрыв строки.
	
15.09.2009, v7.1.1.8:	- Исправлена вставка при pnFixed = True

06.08.2009, v7.1.1.7:	- Переработано меню и сделана
			  мультиязыковая поддержка.
			- Переписан код загрузки и
			  сохранения проектов,
			  остальной код оптимизирован.
			- Добавлена поддержка всех
			  возможных кодировок Windows.
			- Появилась возможность сохранить
			  и загрузить из файла или буфера
			  обмена все основные элементы
			  проекта.
			- В плагинах в функции "GetData" 
			  теперь можность использовать
			  массив "ROM".
			- Добавлено свойство ptNotInSource.
			  Если оно установлено в TRUE,
			  текст из исходного файла
			  не будет извлекаться.
		  	- Переименованы некоторые поля
		  	  в свойствах проекта:
		  	  kpInputRom -> kpSourceROM;
		  	  kpOutputRom -> kpDestinationROM;
		  	  kpCoding -> kpCodepage;
		  	  ptMotorola -> ptBIG_ENDIAN;
		  	  ptPunType -> ptSplittedPtrs;
		  	  ptAutoStart -> ptAutoReference;
		  	  ptSigned -> ptAutoPtrStart;
		  	  и так далее.
		  	- Добавлено два новых типа пойнтера:
		  	  1 signed и 2 signed.
		  	  То есть значения таких поинтеров могут
		  	  быть отрицательными.
		  	- Добавлена возможность сохранения
		  	  и загрузки текста с каждой вкладочки -
		  	  правая кнопка мыши вызывает меню.
		  	- Исправлено множество недочётов.
		  	
25.02.2009, v7.0.0.85:	- Добавлена поддержка запуска рома в эмуляторе.
			- Исправлена функция расширения рома.
			- Исправлена работа программы, когда
			  значение ptAlign больше единицы.			  
			- И несколько других исправлений.
			
19.06.2008, v7.0.0.78:	- Исправлено несколько недочётов.

17.06.2008, v7.0.0.77:  - В свойства списка пойнтеров добавлен
			  пункт ptSeekSame. Если он равен TRUE,
			  при пересчёте пойнтеров, одинаковые
			  строки будут вставляться в одно и
			  то же место (раньше эта опция всегда
			  была активна).
			- Исправлено несколько недочётов.

06.06.2008, v7.0.0.75:	- Добавлена поддержка вставки скрипта
			  с помощью командной строки:
			  kruptar7.exe -i projectname.kpx
			- Исправлен недочёт с появлением
			  окошка результата неудачной вставки
			  текста сразу из всех групп (функция Ctrl+F9).
			- Исправлена вставка текста без пойнтеров
			  при отключенной опции ptAutoStart.

09.04.2008, v7.0.0.62:	- Небольшое исправление.

09.04.2008, v7.0.0.61:	- В свойства проекта добавлен пункт "kpFlags" для
			  хранения различных флагов настроек.
			- Добавлен один флаг, равный 1, который устанавливает
			  первый в списке переносов таблицы код, как невидимый.
			**После сохранения проекта в текущей версии программы,
			  он становится недоступным для открытия в предыдущих
			  версиях.

19.03.2008, v7.0.0.59:	- Улучшена вставка текста, при использовании 
                          нескольких "Блоков для текста".
			- Если текст из какой-либо группы не умещается
			  в отведённое место в ROM'е, выводится список
			  таких групп с информацией о том, сколько байт
			  не вместилось.
			- Оптимизирована перекодировка из SHIFT-JIS в
			  UTF-16 и наоборот.
			- Под окошками с текстом перевода можно увидеть
			  размер перекодированной обратно по таблице строки.
			- Если возле пойнтера указано число, обозначающее
			  размер строки в байтах, то можно создать
			  переменную (пункт "Переменные" в меню списка
			  пойнтеров), и указать ей тип "String Size",
			  тогда эта переменная будет автоматически изменяться
			  при редактировании строки, и вставляться вместе
			  с пойнтером в ROM на нужное место.
			- Добавлен пункт меню "О программе".

18.03.2008, v7.0.0.32:	- Несколько исправлений.

11.10.2006, v7.0.0.0:	- Программа переписана с нуля.

31.10.2005, v6.0.6.1:	- Добавлен новый метод Ptr2Ptr (пойнтеры, указывающие
			  на пойнтеры, указывающие на текст).
			- Исправлены некоторые мелочи.

16.07.2005, v6.0.6.0:	- Исправлена вставка в ROM текста в кодировке UTF-16.

15.07.2005, v6.0.5.9:	- Добавлена поддержка UTF-16.

10.07.2005, v6.0.5.8:	- Исправлена ошибка в пересчёте пойнтеров с интервалом.
			- Теперь программа справляется с пойнтерами, сдвинутыми
			  на бит вправо (галочка "Shl 1").

10.06.2005, v6.0.5.7:	- Исправлена ошибка при использовании интервалов
			  в режиме "Без пойнтеров".
			- Добавлено отключение хекс-редактора.

29.05.2005, v6.0.5.6:	- Исправлен недочёт во время поиска.

29.05.2005, v6.0.5.5:	- Пойнтеры с интервалами.
			- Выбор символа переноса.

xx.05.2005, v6.0.5.0:	- Всё полностью переделано.

06.05.2005, v5.0.4.0:	- Немного изменена загрузка таблиц.

05.05.2005, v5.0.3.9:	- Добавлен метод хранения текста "Special":
			  Пойнтер(1)...Пойнтер(N)[#FFFF]Текст/(1)...Текст/(N)
			  Пойнтеры 2-х байтные формата Intel.
			- Добавлен тип "AutoStart":
			  "Первый пойнтер" записывается автоматически при
			  каждом добавлении таблицы.

03.04.2005, v5.0.3.7:	- Исправлен пересчёт пойнтеров с различной кратностью.

16.03.2005, v5.0.3.6:	- Добавлен новый пункт меню "Прогресс перевода",
			  в котором можно узнать сколько текста переведено,
			  и процент от общего количеста текстовых элементов.

28.01.2005, v5.0.3.5:	- Добавлена очистка блоков перед вставкой текста.

08.12.2004, v5.0.3.4:	- Добавлен новый тип пойнтера "PunType".
			  Этот тип отличается от других тем, что каждый пойнтер
			  разбит на X частей, где X - размерность пойнтера.
			  Допустим n - это количество пойнтеров в таблице,
			  а m - размерность пойнтера, тогда 
			  таблица будет устроена вот так:
			  X1_1, X1_2, X1_3, ..., X1_n
			  ...........................
			  Xm_1, Xm_2, Xm_3, ..., Xm_n
			  Такой тип используется в игре The Punisher (NES),
			  от того и название "PunType".

07.12.2004, v5.0.3.3:	- Добавлена новая функция в меню "Настройки".

25.11.2004, v5.0.3.2:	- Поддержка загрузки текста без использования таблиц.

17.11.2004, v5.0.3.1:	- Несколько исправлений.

16.11.2004, v5.0.3.0:	- Несколько исправлений.

14.11.2004, v5.0.2.9:	- Несколько исправлений.

11.11.2004, v5.0.2.8:	- Ускорена загрузка текста в кодировке SHIFT-JIS.

10.11.2004, v5.0.2.7:	- Теперь пересчитать пойнтеры, вставить текст и
			  запустить эмулятор можно одним нажатием клавиши F9.

09.11.2004, v5.0.2.6:	- Окончательно доделан запуск эмулятора.

08.11.2004, v5.0.2.5:	- Улучшен процесс пересчитывания пойнтеров.

07.11.2004, v5.0.2.4:	- Исправлен недочёт при запуске эмулятора.

05.11.2004, v5.0.2.3:	- Изменено расположение левого окошка для текста.

04.11.2004, v5.0.2.2:	- Добавлены детальное пересчитывание пойнтеров и
			  вставка текста.

03.11.2004, v5.0.2.1:	- Исправлены некоторые ошибки.

03.11.2004, v5.0.1.9:	- Исправлена ошибка при пересчёте в режиме
			  "Без пойнтеров".

02.11.2004, v5.0.1.8:	- Добавлена возможность импорта пойнтеров
			  из текстового файла.  
			  Формат:
			  <СМЕЩЕНИЕ>
			  ....
			  <СМЕЩЕНИЕ1>-<СМЕЩЕНИЕ2>
			  ....

02.11.2004, v5.0.1.7:	- Исправлена ошибка с именем файла при создании перевода.
			- Добавлены сообщения при загрузке таблиц и при
			  добавлении пойнтеров.

01.11.2004, v5.0.1.6:	- Весь текст загружается в один список.

01.11.2004, v5.0.1.5:	- Исправлена ошибка при загрузке перевода
			  с форматом текста "Длина + Текст".

01.11.2004, v5.0.1.4:	- Добавлена поддержка нескольких
			  символов окончания строки.
			  В таблице записывается так:
			  -----------
			   ends
			   sXX
			   ...
			   sXXXXXXXX
			  -----------
			  s - символ;
			  XX - hex-код.

30.10.2004, v5.0.1.3:	- Исправлена ошибка при вставке текста в ROM
			  с пойнтерами типа "signed".
			- Исправлена ошибка при удалении последнего
			  элемента из списка переводов.

29.10.2004, v5.0.1.2:	- Исправлена ошибка при загрузке перевода,
			  который появился в предыдущей версии.

29.10.2004, v5.0.1.1:	- Теперь при пересчитывании все одинаковые
			  строки записываются в один пойнтер.

29.10.2004, v5.0.1.0:	- Несколько исправлений.

29.10.2004, v5.0.0.9:	- Немного улучшен интерфейс.

29.10.2004, v5.0.0.8:	- Исправлен ещё один недочёт при поиске текста.

28.10.2004, v5.0.0.7:	- Теперь можно изменять шрифты.
			- Добавлен автоперенос при достижении
			  максимальной длины строки, которую можно
			  установить в окне "Настройки".
			- Исправлен недочёт при поиске текста.

26.10.2004, v5.0.0.6:	- Несколько исправлений.

25.10.2004, v5.0.0.5:	- Исправлены найденные ошибки при вставке
			  текста, а также недочёты в самом
			  процессе работы программы.

25.10.2004, v5.0.0.4:	- Убрано сообщение при загрузке программы.
			- Теперь можно устанавливать таблицы для каждой
			  страницы перевода.
			- Исправлены ошибки при вставке текста.

24.10.2004, v5.0.0.3:	- Исправлена ошибка при пересчёте пойнтеров.

24.10.2004, v5.0.0.2:	- Исправлена ошибка в режиме "Без пойнтеров" при
			  нулевой длине строки. Теперь текст вынимается
			  точно так, как написано ниже.

23.10.2004, v5.0.0.1:	- В этой версии тип пойнтеров разделён на:
			  1. Размер пойнтера (2, 3, 4)
			  2. Кратность пойнтера (1, 2, 4, 8)
			  3. Формат Motorola
			  4. Со знаком отрицания (signed)
			  5. Формат Game Boy Advance
			  6. Методы хранения текста
			- Есть также режим "Без пойнтеров".
			  При этом, если установить длину строки в 0,
			  текст будет выниматься одним потоком, а
			  символы, необозначенные в таблице, будут делить
			  текст на отдельные части.
			  Если обозначить "Места для переведённого текста",
			  текст будет выниматься одним потоком, а символ
			  окончания строки, "/", будет делить текст на
			  отдельные части.
			  Если же установить длину строки, текст будет
			  выниматься как массив из строк такой длины.
			- Оставлена поддержка старого формата RNM.

* История предыдущих версий полностью забыта, а самая первая была создана
  для перевода игры "Ranma 1/2: Treasure of The Red Cat Gang".

© Magic Team, Djinn, 2004-2011
http://www.magicteam.net
magicdjinn@narod.ru