| 
		 | 
		 | 
	
	| 
 Канал X4: Foundations »
Модовый и скриптовый отсек X4: Foundations: «Ковыряем движок и всё такое» | 
	| 
	 | 
	 | 
	
		HikeR
   145 EGP
     Рейтинг канала: 2(24) Репутация: 30 Сообщения: 886  Откуда: Великий Новгород Зарегистрирован: 20.09.2005
       | 
         | 
		ключ не меняли, да и как? чтоб после обновления у всех случилось modified с сейвами? с этими подписями они сами себя загоняют в дебри.
 
 
а строчка с денежным счётом ещё в XR скакала по всему файлу и в нескольких экземплярах. сделайте какой-нить запоминающийся баланс и ищите вхождения. 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		HikeR
   145 EGP
     Рейтинг канала: 2(24) Репутация: 30 Сообщения: 886  Откуда: Великий Новгород Зарегистрирован: 20.09.2005
       | 
         | 
		опять про шрифты.
 
 
добил "инструментарий", всё в огромной куче лежит на гитхабе. сразу покажу результат, а то может охота и отобьётся.
 
 
настраивал и скриншотил в FullHD, как в более распространённом. на бОльших разрешениях будет примерно также, на мЕньших — куда хуже. скрины в анимированном WebP, заменён только основной шрифт, жирный не тронут.
 
	| 
 
 оригинальный шрифт   (кликните здесь для просмотра)
 
 | 
 
 
 
	| 
 
 самопальный шрифт   (кликните здесь для просмотра)
 
 | 
 
 
 
попробую набросать алгоритм действий. тащим с гитхаба всё упомянутое ниже, а чего нет ищем в инетах.
 
 
- запускаем BMFont, открываем конфиг rufont_32.bmfc. он настроен на базовый набор латинских и русских символов, плюс обязательный символ ¤ (код 164, номер в юникоде U+00A4).
 
 
на самом деле он нафиг не нужен, но в текущей реализации он используется как затычка для отсутствующих символов. если вы задействуете другой шрифт, где этот знак будет отсутствовать, то добавьте в набор какой-нить гадкий знак и запомните его код.
 
размер шрифта должен быть в районе 50-55 точек умноженных на 4. более ничего не трогаем, запускаем предпросмотр, подгоняем масштаб и проверяем, что все символы влезли на одну страницы. если нет, то увеличиваем размер одной из сторон текстуры в два раза.
 
далее сохраняем результат под именем rufont_32, расширение и картинку оно добавит самостоятельно.
 
 
на выходе имеем rufont_32.fnt и rufont_32_0.png примерно в таком виде:
 
 
 
 
 - конвертируем в понятный игре формат:
 
lua53 x4_fnt2abc.lua rufont_32 4
 
 
первый параметр имя шрифта, второй есть масштаб. для дальнейшей обработки и получения искомого SDF требуется максимально огромная исходная картинка. у меня на ноуте больше просто в памяти не умещается, но можно попробовать удвоить эту четверку. главное сначала в BMFont-е размер шрифта поменять (50-55 точек умноженные на 8) и в текстуру влезть.
 
 
на выходе получится rufont_32.abc.
 
 
 - теперь колдунство. используется Imagemagick не очень древней версии (под никсами скобки нужно заэкранировать слешем):
 
 
magick convert "rufont_32_0.png" ( +clone -negate -morphology Distance Euclidean:4 -level 50%,-50% ) -morphology Distance Euclidean:4 -compose Plus -composite -level 47%,53% -negate -filter Jinc -resize 25% "rufont_32.png"
 
 
цветом выделен довольно важный параметр, который регулирует глубину получаемого "поля". можно считать, что базовое значение есть 49%,51%, при этом получаются очень чёткие символы с резкими границами, но для мелких шрифтов это смерть. при уменьшении первой цифры и таком увеличении второй глубина "поля" увеличивается, границы становятся более мягкими (размытыми), мелкие шрифты становятся хоть и менее контрастными, но появляются детали. значение 47%,53% выбрано методом проб и ошибок, под конкретный шрифт можно подгонять десятыми процента.
 
 
должно получить нечто такое (увеличено в 4 раза):
 
 
 
 
нужно изучить всю текстуру на предмет отсутствия "налезания поля" символов друг на друга. если такое имеет место быть, то либо увеличивать вышеуказанный процентный параметр, либо лезть в BMFont и увеличивать параметр spacing.
 
 
 - последний этап, из серой картинки нужно сделать либо TGA-картинку только с одним альфаканалом, либо сразу DDS в формате A8. я выбрал второе:
 
 
nvdxt.exe -file rufont_32.png -a8 -nomipmap
 
 
копируем rufont_32.dds в каталог текстур.
 
 
 - теперь либо пакуем эту парочку файлов в мод, тогда вроде бы обязательно называть архив subst_##.(cat|dat) и подключаем к игре. либо копируем их по пути ...\assets\fx\gui\fonts\textures\, добавляем ключ -prefersinglefiles к ярлыку игры и проверяем результат.
 
  
 
 
p.s.
 
настоящий оригинальный шрифт Zekton у меня получился вот такой:
 
 
 
 
p.p.s.
 
проблемы с налезанием символов друг на друга могут быть решены либо (правильный способ) пинанием разработчиков, чтобы добавили поддержку хинтинга пардон, кернинга, либо (унылый и печальный способ) ручной правкой .fnt-файла. придётся у проблемных символов редактировать параметры xoffset и xadvance не забывая про масштаб. 
        	 
  Последний раз редактировалось: HikeR (11:37 06-12-2018), всего редактировалось 2 раз(а) | 
		
		
		| 
		
		 | 
        
     | 
	
		Darkternal
   70 EGP
   Рейтинг канала: 1(1) Репутация: 10 Сообщения: 444 
  Зарегистрирован: 29.12.2014
       | 
         | 
		Подскажите, где хранятся параметры кораблей? Хочу попробовать табличку для общего пользования слепить. 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		DNA78
   433 EGP
       Репутация: 73 Сообщения: 1279  Откуда: Кыргызстан Зарегистрирован: 12.11.2008
      | 
         | 
		Может здесь:
 
assets\props\EngineSystems или в libraries
 
точно не могу сказать, т.к. игры под рукой нет, да и сам только начал разбираться. 
 
 
добавлено спустя 6 минут:
 
 помогает изучение (препарирование) модов для X Rebirth. 
 
 
добавлено спустя 7 минут:
 
  Не знаю, но мне кажется, что в данной игре не хватает функционала по созданию своих менюшек с вызовом их по горячей клавиши. Ну просто жесть как это даёт по рукам    
 
Бедная карта захламлена и загромождена каким-то наслаивающимся друг на друга хламом. Зачем, почему    
 
Что там за дизайнер у них непонятно... 
        	 _________________ Очевидное-невероятное 
  Последний раз редактировалось: DNA78 (12:14 05-12-2018), всего редактировалось 2 раз(а) | 
		
		
		| 
		
		 | 
        
     | 
	
		RAMI
   330 EGP
        Репутация: 82 Сообщения: 2538  Откуда: Центральная Россия Зарегистрирован: 16.11.2005
      | 
         | 
		
	  | HikeR : | 
	 
	
	  | 
настоящий оригинальный шрифт Zekton у меня получился вот такой: 
 | 
	 
 
А файл выложить не можешь?
 
Мне просто не хочется морочиться с всей этой процедурой. Хочу шрифт как у тебя на скрине!    
 
	  | DNA78 : | 
	 
	
	  
Не знаю, но мне кажется, что в данной игре не хватает функционала по созданию своих менюшек с вызовом их по горячей клавиши. Ну просто жесть как это даёт по рукам Расстроен
 
Бедная карта захламлена и загромождена каким-то наслаивающимся друг на друга хламом. Зачем, почему Совсем запутался...
 
Что там за дизайнер у них непонятно... 
 | 
	 
 
В данной игре всё как-то через Ж, то что убрали горячие клавиши и кастомные менюшки (как было в Х3) - это вообще крах какой-то. В адекватных играх наоборот можно натыкать своих кнопок, что клавы не хватит.
 
Ну а дизайнер(ы) - просто наверное дешевый(е) дизайнер(ы), который(е) и голодный(е) может(могут) работать    
        	 _________________ В действительности всё иначе, чем на самом деле...  | 
		
		
		| 
		
		 | 
        
     | 
	
		anDron
   579 EGP
        Рейтинг канала: 4(93) Репутация: 54 Сообщения: 5973  Откуда: Новосибирск Зарегистрирован: 27.11.2013
      | 
         | 
		
	  | Darkternal : | 
	 
	
	  | 
Подскажите, где хранятся параметры кораблей?
 | 
	 
 
Разбросано в разных каталогах. Некоторая часть в assets\units\[size_**\macro]. Что-то в wares.xml. И т.д. и т.п.
 
Пробуйте. Все получится, если есть желание...      
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		Darkternal
   70 EGP
   Рейтинг канала: 1(1) Репутация: 10 Сообщения: 444 
  Зарегистрирован: 29.12.2014
       | 
         | 
		
	  | anDron : | 
	 
	
	  
	  | Darkternal : | 
	 
	
	  | 
Подскажите, где хранятся параметры кораблей?
 | 
	 
 
Разбросано в разных каталогах. Некоторая часть в assets\units\[size_**\macro]. Что-то в wares.xml. И т.д. и т.п.
 
Пробуйте. Все получится, если есть желание...     
 | 
	 
 
Да смысла нет уже пробовать. 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		anDron
   579 EGP
        Рейтинг канала: 4(93) Репутация: 54 Сообщения: 5973  Откуда: Новосибирск Зарегистрирован: 27.11.2013
      | 
         | 
		В смысле нет?!! Там (на-рогуях) "жалкий" кусочек от полноценной инфы...   
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		Shadowman
   265 EGP
     Рейтинг канала: 3(31) Репутация: 42 Сообщения: 1395  Откуда: Альфа Центавра Зарегистрирован: 03.12.2003
      | 
         | 
		
	  | anDron : | 
	 
	
	  | 
 "жалкий" кусочек от полноценной инфы...
 | 
	 
 
 
Во-во, своего корабля там, походу, не нашёл. 
 
Хотя, конечно, англоязычные названия с нашим так называемым переводом сопоставить - та еще задачка. 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		HikeR
   145 EGP
     Рейтинг канала: 2(24) Репутация: 30 Сообщения: 886  Откуда: Великий Новгород Зарегистрирован: 20.09.2005
       | 
         | 
		
	  | anDron : | 
	 
	
	  | 
"жалкий" кусочек от полноценной инфы
 | 
	 
 
 
дык и предупреждение висит про "work in progress". правда, автор делиться парсером и/или добавить локализованные версии не желает. можно ему в коментах нафлудить про "ах, как мы хотим русскую версию". 
        	 
  Последний раз редактировалось: HikeR (15:34 05-12-2018), всего редактировалось 1 раз | 
		
		
		| 
		
		 | 
        
     | 
	
		Darkternal
   70 EGP
   Рейтинг канала: 1(1) Репутация: 10 Сообщения: 444 
  Зарегистрирован: 29.12.2014
       | 
         | 
		Если там дело только в xml то попробую завтра парсер сделать, Ничего не обещаю. 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		HikeR
   145 EGP
     Рейтинг канала: 2(24) Репутация: 30 Сообщения: 886  Откуда: Великий Новгород Зарегистрирован: 20.09.2005
       | 
         | 
		не хватает обратного фильтра, как в ванильном. типа -exclude "^voice" 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		alexusvm
   767 EGP
          Репутация: 35 Сообщения: 1601  Откуда: Москва Зарегистрирован: 30.08.2012
      | 
         | 
		
	  | HikeR : | 
	 
	
	  | 
не хватает обратного фильтра, как в ванильном. типа -exclude "^voice"
 | 
	 
 
 
Добавил. Обратные с префиксом ^ 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		anDron
   579 EGP
        Рейтинг канала: 4(93) Репутация: 54 Сообщения: 5973  Откуда: Новосибирск Зарегистрирован: 27.11.2013
      | 
         | 
		Ты, давай, не тракторы с бульдозерами рисуй а сразу Базу с  товарами, кораблями (с возможностью крутить апгрейды) с прямым парсом из игры и Анализером с картой, впридачу...
 
             
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		alexusvm
   767 EGP
          Репутация: 35 Сообщения: 1601  Откуда: Москва Зарегистрирован: 30.08.2012
      | 
         | 
		
 
	  | Код: | 
	 
	
	  | <effect type="work" product="0.2" /> | 
	 
 
Кто такой этот "work"? 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		HikeR
   145 EGP
     Рейтинг канала: 2(24) Репутация: 30 Сообщения: 886  Откуда: Великий Новгород Зарегистрирован: 20.09.2005
       | 
         | 
		
	  | RAMI : | 
	 
	
	  | 
Хочу шрифт как у тебя на скрине!
 | 
	 
 
 
упс, пропустил как-то пост.
 
 
вообще-то он шире оригинального, в интерфейсе сплошные троеточия. для XR, помнится, egot1st нашёл похожий шрифт и перерисовывал его на предмет ужимания.
 
 
но почему бы и нет. вот три варианта разной степени "мягкости", скрины сделаны на трех масштабах UI, параметры для Imagemagick указаны в первой строке:
 
 
напомню, 43_57 самый резкий на мелких шрифтах, 47_53 — более размытый. в архиве все три варианта, выбрать нужный, у текстур убрать разрешение ".4?_5?".
 
 
p.s.
 
	  | anDron : | 
	 
	
	  | 
а сразу Базу с товарами, кораблями (с возможностью крутить апгрейды) с прямым парсом из игры
 | 
	 
 
 
ну вот, я предлагал таблички и парсер (всё кроме станций и продукции) — сказали не надо, всё есть. 
        	 
  Последний раз редактировалось: HikeR (01:11 06-12-2018), всего редактировалось 1 раз | 
		
		
		| 
		
		 | 
        
     | 
	
		jekasikpups
   110 EGP
   Репутация: 2 Сообщения: 527 
  Зарегистрирован: 12.03.2012
      | 
         | 
		
	  | alexusvm : | 
	 
	
	  
	  | HikeR : | 
	 
	
	  | 
не хватает обратного фильтра, как в ванильном. типа -exclude "^voice"
 | 
	 
 
 
Добавил. Обратные с префиксом ^
 | 
	 
 
 
Как с энтузиазмом на счет создания проги по комплексам?   
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		Darkternal
   70 EGP
   Рейтинг канала: 1(1) Репутация: 10 Сообщения: 444 
  Зарегистрирован: 29.12.2014
       | 
         | 
		
	  | jekasikpups : | 
	 
	
	  
 
Как с энтузиазмом на счет создания проги по комплексам?  
 | 
	 
 
Заодно карту Скорпа, и комьюнити сборник скриптов))) А complexplanner вещь была в x3) 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		egot1st
   88 EGP
   Репутация: 5 Сообщения: 357  Откуда: Земля, Млечный Путь, С-к. Девы Зарегистрирован: 17.11.2013
      | 
         | 
		
	  | HikeR : | 
	 
	
	  | 
lua x4_fnt2abc.lua rufont_32 4
 | 
	 
 
 
У меня лыжи не едут:
 
	  | Код: | 
	 
	
	  
 
$ lua x4_fnt2abc.lua rufont_32 4 
 
total chars:    1105
 
lua: x4_fnt2abc.lua:73: attempt to call field 'pack' (a nil value)
 
stack traceback:
 
        x4_fnt2abc.lua:73: in main chunk
 
        [C]: ?
 
 
 | 
	 
 
 
	  | HikeR : | 
	 
	
	  
для XR, помнится, egot1st нашёл похожий шрифт и перерисовывал его на предмет ужимания.
 
 | 
	 
 
 
Пропорции пляшут от оригинала, некоторые постарался сделать уже, но все равно пытался делать так, чтобы не выбивался из общего стиля. 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		HikeR
   145 EGP
     Рейтинг канала: 2(24) Репутация: 30 Сообщения: 886  Откуда: Великий Новгород Зарегистрирован: 20.09.2005
       | 
         | 
		
	  | egot1st : | 
	 
	
	  | 
attempt to call field 'pack' (a nil value) 
 | 
	 
 
 
если интерпретатор Lua взят с гитхаба, то не тот ;) там рядышком лежит lua53. 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	 | 
	
		| 
		
		 | 
	
     | 
	| 
	  Канал X4: Foundations ->
	  Модовый и скриптовый отсек X4: Foundations: «Ковыряем движок и всё такое» | 
	
		| 
		
		 |