Перейти к содержимому
Zone of Games Forum
makc_ar

DOGOS (Шрифты)

Рекомендованные сообщения

Помогите разобрать формат шрифтов https://yadi.sk/d/A6h6giSvwUMy2, а потом написать утилиту.

TextureFinder показывает раст шрифта:

 

Spoiler

e4e4081b0b37.jpg

Update 11.10.2016:

Добавил в архив утилиту от DZH, которая распаковывает и запаковывает контейнер.

Update 08.02.2017:

Добавил на яд Binary Template формата разметки .FNTh от SileNTViP. Кто сможет сделать генератор fnt2FNTh.exe на основе BMFont?

 

//------------------------------------------------//--- 010 Editor v7.0 Binary Template////      File: DOGOSFnt.bt//   Authors: SileNTViP//   Version: 1.0//   Purpose: //  Category: Games// File Mask: *.FNTh//  ID Bytes: //   History: //------------------------------------------------struct { uint Count; uint unk1; uint unk2; uint unk3; float unk4; float unk5; float unk6; float unk7; uint imgWidth; uint imgHeight;} Header <optimize=false>;struct { uint16 CharID; float Left; //Left float Top; //Top float Right; //Right float Bottom; //Bottom float unk5; //0 float unk6; //0 float unk7; float unk8; float unk9; float unk10;} Glyph[Header.Count] <optimize=false>;

 

Новый шрифт можно сделать размером меньше или как оригинал, а то паковать pkg https://yadi.sk/d/YcZIJ80xvkRCa через скрипт буду для quickbms http://aluigi.org/bms/dogos.bms?

 

# DOGOS# script for QuickBMS http://quickbms.aluigi.orgcomtype lz4idstring "PKTO"get DUMMY longget DUMMY longget DUMMY longget FILES longget DUMMY longlongget DUMMY longlongget DUMMY longlongfor i = 0 < FILES   getdstring NAME 0x100   set NAME unicode NAME   get ZSIZE longlong   get SIZE longlong   get ZIP long   get OFFSET longlong   if ZIP == 0       log NAME OFFSET SIZE   else       clog NAME OFFSET ZSIZE SIZE   endifnext i

 

Изменено пользователем makc_ar

Поделиться сообщением


Ссылка на сообщение

Добавил в архив утилиту от DZH, которая распаковывает и запаковывает контейнер с шрифтами. Кто сможет разобрать разметку?

Поделиться сообщением


Ссылка на сообщение

Первая строка в Heh

40 01 - 0140 - 320 букв

Третья строка

00 10 - 1000 - 4096 разрешение по горизонтали

00 40 - 0400 - 1024 разрешение по вертикали

Изменено пользователем Tericonio

Поделиться сообщением


Ссылка на сообщение

Добавил на яд Binary Template формата .FNTh от SileNTViP.

//------------------------------------------------//--- 010 Editor v7.0 Binary Template////      File: DOGOSFnt.bt//   Authors: SileNTViP//   Version: 1.0//   Purpose: //  Category: Games// File Mask: *.FNTh//  ID Bytes: //   History: //------------------------------------------------struct { uint Count; uint unk1; uint unk2; uint unk3; float unk4; float unk5; float unk6; float unk7; uint imgWidth; uint imgHeight;} Header <optimize=false>;struct { uint16 CharID; float Left; //Left float Top; //Top float Right; //Right float Bottom; //Bottom float unk5; //0 float unk6; //0 float unk7; float unk8; float unk9; float unk10;} Glyph[Header.Count] <optimize=false>;

 

Поделиться сообщением


Ссылка на сообщение

Кто сможет сделать генератор fnt2FNTh.exe на основе BMFont?

Поделиться сообщением


Ссылка на сообщение

шаблон от SileNTViP не содержит полезной информации по которой можно сделать хоть какой нибудь шрифт, к тому же шаблон чюток не правильный..

float Left; // это X

float Top; // это Y

float Right; // это height

float Bottom; // это width

в каких единицах данные значение в статике понять сложно, а в динамике проверить видяха не позволяет, так как не дружит с dx11.(скинемся мне да новую видяху? шююютка)

после них идут скорее всего смещения относительно базовой линии

после данных Glyph идут скорее всего описания кернинг пар

Изменено пользователем LinXP

Поделиться сообщением


Ссылка на сообщение
шаблон от SileNTViP не содержит полезной информации по которой можно сделать хоть какой нибудь шрифт, к тому же шаблон чюток не правильный..

float Left; // это X

float Top; // это Y

float Right; // это height

float Bottom; // это width

в каких единицах данные значение в статике понять сложно, а в динамике проверить видяха не позволяет, так как не дружит с dx11.(скинемся мне да новую видяху? шююютка)

после них идут скорее всего смещения относительно базовой линии

после данных Glyph идут скорее всего описания кернинг пар

А вот тут ты и не прав. С чего ж так ты взял, что тут ширина и высота? Ширина это ж расстояние от левой точки X до правой. А тут как раз указанны точки начала и конца как X ,так и Y. только в значении плавающей запятой. А после них идет бред. причем полный. Идет количество таблиц равное количеству символов в шрифте + в каждой таблице количество uint равно количеству символов в шрифте... и все идут от 0 до количества... совершенно бесполезная информация

Поделиться сообщением


Ссылка на сообщение

SileNTViP, эмм, возможно я не так понял, и мы говорим об одно и том же только разными словами, Left и Top это значение (начало спрайта) относительно левого-верхнего угла атласа?

Поделиться сообщением


Ссылка на сообщение
SileNTViP, эмм, возможно я не так понял, и мы говорим об одно и том же только разными словами, Left и Top это значение (начало спрайта) относительно левого-верхнего угла атласа?

Ну в теории ) это как Rect() в delphi. Можно разделить 4 этих float на две группы и получим XY верхнего левого угла символа и XY правого нижнего. Прямоугольник) я уже тестил на коде дергать символы по одному. все верно

Поделиться сообщением


Ссылка на сообщение

в делфи ковырялся тел 15ть назад, и то не графику..

значит я таки ошибаюсь, хотя об одном и говорили.. ))

"С чего ж так ты взял, что тут ширина и высота? " ну я с другой стороны смотрел.. ))

rectangle.jpg

что то подобное мне уже один раз попадалось в какой то игре, в переводе на "формат" bmfont получалось как то так:

Left = x

Top = y

Right = x + width

Bottom = y + height

но что то с двумя последними было не то... надо перелопатить исходники чтоб вспомнить...

а игра у тебя запускается? можешь на символах abcdefghijkl занулить все значения unk5 - сделать скриншот, потом unk6... и т.д.? чтоб глянуть как они скачут от изменения этих значений...

и объясни плиз как делфи этот флоат конвертит в пиксели и обратно?

адд:

// Compute the source rectRect src;src.left   = ch.x;src.top    = ch.y;src.right  = ch.x + ch.width;src.bottom = ch.y + ch.height;// Compute the destination rectRect dst;dst.left   = cursor.x + ch.xoffset;dst.top    = cursor.y + ch.yoffset;dst.right  = dst.left + ch.width;dst.bottom = dst.top + ch.height;// Draw the image from the right textureDrawRect(ch.page, src, dst);// Update the positioncursor.x += ch.xadvance;

 

Изменено пользователем LinXP

Поделиться сообщением


Ссылка на сообщение

LinXP

В Falling Skies я делал так. Картинка у нас жи 1:1 в текущем состоянии. Делим 1 / на ширину и получаем пиксель в значении float и делим X координаты на это значение. То же самое и с Y, но там 1 / на высоту. Надо игру ставить. Просто они еще ширину с высотой могут в них прописать + xOffset и yOffset. И прочие радости.

Изменено пользователем Haoose

Поделиться сообщением


Ссылка на сообщение

LinXP

Кстати еще вариант проще. Есть у тебя в шрифте значение float и есть ширина атласа Width. берешь Width * float и получаешь X. так же с Y

Обратно тоже легко. Есть у тебя X и ширина атласа Width. X / Width получашь float )

Изменено пользователем Haoose
Не цитируй длинные сообщения по 100500 раз

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас популярно

  • Продвигаемые темы

  • Последние сообщения

    • Проверил — всё работает. Спасибо. =)
    • @PermResident обсуждать пока не готов. Пишу про ощущения "в реальном времени" )
    • FUR Squadron Phoenix Метки: Экшен, Рогалик, Аркада, Шутер, Shoot 'em up Платформы: PC SW2 SW Разработчик: Raptor Claw Издатель: Raptor Claw Серия: FUR Squadron Дата выхода: 18 февраля 2026 года Отзывы Steam: 19 отзывов, 89% положительных
    • @clarkkent смастерил нейросетевой русификатор для эротической RPG Heavy Hearts, вышедшей вчера. @clarkkent смастерил нейросетевой русификатор для эротической RPG Heavy Hearts, вышедшей вчера.
    • Всем привет, такой вопрос. Давненько не заходил в игру, и зайдя хотел через лаунчер обновить мод легенды, а там его нет, или я просто не вижу. В разделе модов добавляющих новый контент нету нечего, есть моды которые добавляют что то в Легенды, но самих легенд нет. Может кто то помочь?
      Раньше были версии Легенд и все такое.  
    • Heavy Hearts Метки: Экшен, Протагонистка, Хентай, NSFW, Ролевая игра Платформы: PC Разработчик: Dammitbird Издатель: Galewind Games, Shady Corner Games Дата выхода: 27 февраля 2026 года Отзывы Steam: 11 отзывов, 90% положительных
    • вообще один в один, просто государство не терпит, как вы выразились, но по их мнению))) просто у каждого свое мнение, кто мудень. У многих людей даже будет мнение, что ваш кумир возможно сам такой))) У вас просто мнения не сошлись, но вообще такое читать даже странно) эти не должны, а вот эти могут делать абсолютно тоже самое. Проблема всех либералов и почему их не любят, что они не предлагают ничего нового, просто чтобы им лучше, те же абстрактные отношения — другие лица)))) Да то, что кого-то могут уволить, потому что он кому то не понравился стало больше. Но закон все еще защищает трудовые отношения, а не что хочу, то и ворочу, как вам кажется)  Двуличные, ух, опять громкие слова))) вы сами только что, на пустом месте показали,  что можете оценивать одни и те же вещи по разному просто по принципу что вам ближе без конкретных и объективных оценок. А тут они вам понадобились. Я не говорил, что знаток законов, мне не интересно про пропаганду, кому интересно пусть разбирается, что является, что нет) Просто я видел шутки про гомосеков в 2025 на большом экране) Даже могу сказать где — Иван Абрамов, “Попался, который порвался. Попался, который давался.” Там как раз смешная шутка про разницу) Поищите. Тут полно знающих людей и каждый в своей области, просто до дела речи не доходит. Или тут все про геймеры по вашему?))) Какая разница, какой он был, вы же рассуждали о практике на протяжении лет, что она различается, значит есть некая совокупность. Вы же решили на каких то данных, почему что-то бред и высказали это, а данные не помните. Как всегда чудеса словесной эквилибристики) Но разумеется лучше не соврать, чем соврать, это я одобряю, просто надо так делать все таки на большом протяжении, а то сначала пишете “это бред”, а потом не пишите почему, а должны бы знать, общие слова про разницу и про то, что она есть — это не то.
    • Я похож на того кого волнует критика?  Куча людей идиоты, зацикленные на своем восприятии. Они смешивают личное отношение к тому что говорит человек. Не нравится им человек, значит он по дефолту не может сказать правду, или что-то дельное. За то человек который им нравится, не может солгать или обмануть их. Таких людей можно заметить по частой агрессии. И я с ними никогда не разговариваю, я выявляю, и ставлю в ЧС. Пустая трата времени даже читать их, не то что говорить с ними.  Второй момент, это то что, как бы сказать...вы где тут знающих людей увидели? Это форум про игры...был когда-то. Я очень сомневаюсь что тут кто-то посвятил жизнь, и всё свое свободное время на исследование, юридических, политических, экономических и социальных, исторических проблем одновременно. Здесь все, включая меня, диванные эксперты, которые высказывают свое мнение, сформированное на каком-то ограниченном кусочке информации. Я не написал все тонкости разности иноагентства, потому что я не помню их все. Там большой пласт информации. Начиная с того что в 2012 закон об агентах был один, а в 2022 он уже стал совершенно другим. Он плавно с годами эволюционировал. В 2012 он был мягче чем в США, это правда. Но в 2022 уже нет.  Изменения и сравнения, чтобы показать их, займут много времени. Наверняка какой нить тирниэль скажет покажи пруф очередной, нужно  кидать ему ссылки на законы, статистики уголовок, судебные решения в которых была правоприменительная практика, причем в обе стороны как США так и в России. Мне лень, откровенно говоря( простите что я такой ленивый(
    • Suguri Метки: Аниме, Пулевой ад, Экшен, Shoot 'em up, Протагонистка Платформы: PC Разработчик: Orange_Juice Издатель: Rockin' Android Дата выхода: 1 июля 2014 года Отзывы Steam: 165 отзывов, 86% положительных
    • а ты? Помои льешь, а где речь? Где смыслы? я горжусь этим и буду 
  • Изменения статусов

    • ElikaStudio

      https://youtu.be/mwBk2stm2OQ?si=qpJojB_XDABaC0We
      https://vk.com/video-48153754_456239394?sh=4&list=c62797c2b7d0725d6e

      Долгожданный релиз полного сезона состоялся!
      Life is Strange: Before the Storm:
      Эпизод 1: "Прoбуждeниe"
      Эпизод 2: "О дивный новый мир"
      Эпизод 3: "Ад пуст"
      Бонусный эпизод: "Прощание"
      Русская озвучка уже доступна для скачивания!
      ElikaStudio выражает огромную благодарность всем, кто принял участие в создании проекта! 
      Группе Mechanics VoiceOver R.G. MVO , в частности их руководителю Дмитрию за неоценимую помощь в выпуске эпизода.
      Скачать для PC Classic (2018):
      GDrive: - https://drive.google.com/file/d/19CL_L80Mz0sIxcb54Ss64byAkeZmV22r/view?usp=sharing
      Скачать для PC Remastered (2022):
      GDrive: - https://drive.google.com/file/d/13q58Lpvw5_aYPYeZ7OGYZlAKOoS1gEbL/view?usp=sharing
      Скачать для Свитч(2022):
      GDrive: - https://drive.google.com/file/d/15e—T1LQiGQCYIHeNnj_C2qJA16Gvh1i/view?usp=sharing
      Ручная установка PC(оба издания):
      https://drive.google.com/drive/folders/1MJPd8965m4XxxAuOBt8enSHtv8_yy5xh?usp=sharing
      Баг репорт в обсуждении:
      https://vk.com/topic-48153754_55571577
      ___________________________________________
      Финансовый аппарат:
      www.donationalerts.com/r/elikastudio
      Пожертвовать средства на наши проекты:
      Кошелек ЮMoney 4100 1188 6818 3009
      карта Сбер банк 2202 2018 6334 1042
      карта Альфа банк 5559 4937 0209 8584
      Спасибо за вашу поддержку!
      #elikastudio #русскаяозвучка
      · 0 ответов
    • fox222  »  Siberian GRemlin

      Здравствуйте, хочу купить персональный доступ к переводам, сколько стоит?
      · 1 ответ
    • vitkach  »  eaZy

      Извините за беспокойство. Хотел спросить, а русификатор ещё когда-нибудь будет обновляться? Дело в том, что после его выхода выходили ещё обновления, в частности обновление 1.1, вышедшее летом 2023 года, где была добавлена целая сюжетная глава в конце если проходишь на лучшую концовку золотого пути, это где-то ещё полчаса диалогов. Также в игре присутсвуют иногда кракозябры вместо русского языка, это в основном связано с тем, что кое-где текст был изменён, в основном в обучающих сообщениях.
      · 0 ответов
    • TerryBogard  »  Siberian GRemlin

      C&C: RA: Retaliation (ПК) не работает.
      · 0 ответов
    • Алекс Лев  »  SerGEAnt

      Привет, Сержант. Прошу разрулить ситуэйшн и урезонить некоторых людей, оскорбивших мою личность. Пожалуйста, для этого прочтите нашу переписку с Ленивым. Примите меры, будьте добры, мною составлена бумага, ждущая вашей электронной подписи, для подачи её в суд. Если не желаете судебных разборок (а я пойду дальше, если меры не будут приняты), оскорбившие меня люди должны понести необходимое по вашему же Договору наказание. Спасибо.
      · 1 ответ
  • Лучшие авторы


Zone of Games © 2003–2026 | Реклама на сайте.

×