Важная информация

User Tag List

Показано с 1 по 10 из 10

Тема: Утилита для подготовки текстов

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,260
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    85
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Утилита для подготовки текстов

    Благодаря теме http://zx.pk.ru/showthread.php?t=8534 и товарищу axor'у написал одну утилитку подготовки текстов для программ.

    Возможности:
    - макроподстановки (в том числе и рекурсивные)
    - выборка по ключам (для огранизации переводов)
    - автоматическая токенизация (для уменьшения размера текста)
    - экспорт в ассемблерный файл

    Вкратце, на примере, как можно применять.

    Предположим, пишем мы игру про Диззи и хотим автоматизировать работу с текстами. Пишем следующий текстовик:

    # имена главных персонажей
    = HERO1
    en> "Dizzy"
    ru> "Диззи"

    = HERO2
    en> "Daisy"
    ru> "Дейзи"

    # места действия
    < PLACE_WORLD
    en> HERO1 "'s World"
    ru> "Мир " HERO1

    < PLACE_HOME
    en> HERO1 " and " HERO2 "'s home. "
    ru> "Дом " HERO2 " и " HERO2 ". "
    en> "Welcome!"
    ru> "Добро пожаловать!"

    # локация
    < START_SCREEN
    > PLACE_HOME
    Как видно, синтаксис очень простой. За символами = и < начинается имя макроса (вид символа определяет дальнейший тип макроса- локальный или глобальный). После опционального ключа и символа > идут текстовые фрагменты, заключенные в кавычки и имена макросов. Ключи в данном случае определяют язык перевода.

    После инстанциирования по ключу (Textator.exe --process --key ru input.txt) получаем результат для русского языка:
    # This file was automatically generated

    < PLACE_HOME
    > "Дом Дейзи и Дейзи. Добро пожаловать!"

    < PLACE_WORLD
    > "Мир Диззи"

    < START_SCREEN
    > "Дом Дейзи и Дейзи. Добро пожаловать!"
    Или для английского (Textator.exe --process --key en input.txt):
    # This file was automatically generated

    < PLACE_HOME
    > "Dizzy and Daisy's home. Welcome!"

    < PLACE_WORLD
    > "Dizzy's World"

    < START_SCREEN
    > "Dizzy and Daisy's home. Welcome!"
    Как видно, исчезли все локальные макросы (которые были объявлены через =).
    Также заметна избыточность текстов. Для исправления, применим следующую функцию- токенизацию. Ну и попутно переведем все в ассемблерный исходник:

    Код:
    ; This source was automatically generated
    ; Local entries
    TOK0    db "Dizzy",0
    TOK3    db "Daisy",0
    TOK6    db "home",0
    TOK8    db "Welcome",0
    
    ; Global entries
    PLACE_HOME
            TOKEN TOK0
            db " and "
            TOKEN TOK3
            db "'s "
            TOKEN TOK6
            db ". "
            TOKEN TOK8
            db "!",0
    PLACE_WORLD
            TOKEN TOK0
            db "'s World",0
    START_SCREEN
            TOKEN TOK0
            db " and "
            TOKEN TOK3
            db "'s "
            TOKEN TOK6
            db ". "
            TOKEN TOK8
            db "!",0
    Вкратце, все

    Техническая информация:
    - проект хостится на http://code.google.com/p/textator
    - доступны исходные коды (+Makefile, Code::Blocks project, MSVS project)
    - также выложены последние билды для винды (из разных студий, на всякий случай).

    В комплекте с билдом идет файл примера и исходники распаковщиков. Поскольку эти распаковщики писались "вслепую", просьба их потестировать и сообщить мне об ошибках и прочем, равно как и об ошибках в программе

    Что в планах:
    - написать внятное руководство (я тут не весь функционал расписал, но его легко откопать)
    - улучшить токенизатор, ибо существующий был написан на коленке

    Upd:

    Свежие билды:
    Builds list

    Руководство:
    Manual

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Упаковка текстов
    от Shadow Maker в разделе Программирование
    Ответов: 18
    Последнее: 10.10.2008, 21:43
  2. Утилита - игры на PC, выглядят как на спеке
    от black_ninja в разделе Разный софт
    Ответов: 9
    Последнее: 22.04.2008, 09:04
  3. Утилита для просмотра *.s 6912
    от hi_soft в разделе Утилиты
    Ответов: 21
    Последнее: 01.07.2006, 12:08

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •