Hotline Miami 2: Wrong Number

Hotline Miami 2: Wrong Number

Not enough ratings
Как внести свой шрифт в игру, и тд и тп.
By breathe dust
В этом руководстве будет подробно написано, как внести свой шрифт в эту замечательную игру, и это не так сложно, как вы думаете.
   
Award
Favorite
Favorited
Unfavorite
С самого начала
Чтобы внести свой шрифт в игру, например для названий глав в игре, нужно извлечь пнг-файл и файл формата ".fnt", который, образно говоря, "указывает" игре, где какой символ находится на вашей картинке, и имеет схожее название(для названия уровней - font0). Файлы ".fnt" следует открывать через Notepad++: здесь[notepad-plus-plus.org]. Файл пнг с раскидкой букв в каком-то непонятном порядке можно открыть в любом удобном вам редакторе изображений(главное, чтобы вам было удобно высчитывать координаты и размеры, лично я использую Krita[krita.org]). Позже я расскажу, как упростить себе задачу с этими случайно расположенными буквами.
Создание картинки и её понимание.
Вы можете очень долго мучиться с оригинальной картинкой, в которой буквы раскиданы непонятным образом повсюду, и непонятно где из них какая находится, но зачем вам всё это, когда кто-то(я) уже придумал способ решения этой проблемы?
Для этого нужно знать лишь id символов, но об этом чуть позже, пока что вам надо раскидать буквы по картинке, оставляя между ними по 3 пикселя, чтобы было удобно расчерчивать границы текстурок, и расставлять размеры букв в коде.
P.S. После окончания работы с кодом, закрасьте все красные прямоугольники.
Работа с Notepad++.
Здесь по факту нет ничего сложного, все переменные понятны, ну, потому что я вам их сейчас объясню.
Сразу при входе в файл, вас встречают такие переменные: scaleW и scaleH. И вы спросите: что, чёрт возьми, ты такое несёшь?
А я тортик несу вам: эти переменные - размер вашей кастомной пнг картинки попиксельно, чтобы их узнать, достаточно даже выделить всю (нужную) область картинки. Далее, вам нужны будут только строки по типу:
<char id="**" x="*" y="*" width="*" height="*" xoffset="*" yoffset="*" xadvance="*" page="0" chnl="15" />
В этой строке вам надо изменять только x, y, width, height, xoffset, yoffset и xadvance. Но вы, опять же, не знаете, что это вообще такое, я прав?
Поясняю: id - это айди символа, который лучше не менять, потому что после редакции локализации, или в некоторых названиях уровней у вас получится непонятно что (списочек id ниже). x - это координата вашего символа на картинке попиксельно по горизонтали, её будет просто высчитать, если вы сделаете так:
Тогда вам просто придётся к width прибавить 1.
y - то же что и x, но по вертикали.
width - переменная, отвечающая за захват текстурки буквы по горизонтали.
height - захват текстурки буквы по вертикали.
xoffset - смещение символа ин-гейм по горизонтали, лучше сделать "0", либо "-1".
yoffset - такое же смещение, но по вертикали(лучше сразу указать значение "32", потом поправите у себя).
xadvance - эта переменная отвечает за ин-гейм границу буквы в надписи(если сделаете её меньше width на сколько-то единиц, следующий символ будет немного залезать на неё, полезно для шрифтов с уклоном).
на скринах ниже указана почти каждая переменная:
id символов в коде.
Конкретно этот список для цифр, и латинских букв, заглавных и строчных(у символов, которые в список не попали, но в коде они есть, просто поменяйте координаты x и y на какое-нибудь место в пустой зоне, к примеру: x="0"; y="100"):


0=48; 1=49;
2=50; 3=51;
4=52; 5=53;
6=54; 7=55;
8=56; 9=57;









Это все нужные вам для размышления id символов, именно для них нужно указать переменные почти на всей строке (x, y, width, height, x/yoffset, xadvance), к остальным рекомендую ТОЛЬКО менять координаты x и y на пустоту, иначе у вас опять же выйдет какая-то чертовщина, показывать это я не буду.
Конфликты между патчами шрифтов.
Если вы создали свой шрифт именно конкретно подойдя к редакции файла ".fnt", и решили пойти, допустим, в какой-нибудь Eventide, то у вас на экране скорее всего появятся какие-то непонятные вырезки из букв, вместо вашего шрифта, решения к этой проблеме нет, разве что убрать свой патч(скрин ниже, надпись в оригинале - WARMUP).
Заключение.
На данный момент это всё, что я хотел бы, и мог до вас донести. Надеюсь, моё руководство помогло вам сделать вашу игру хоть немного приятнее для вас, и вы останетесь тут хотя бы ещё немного, в этом солнечном и горячем Майами.
5 Comments
breathe dust  [author] 21 Jul, 2023 @ 12:42pm 
Кстати, возможно там мог быть и DAY, просто я не проверял, в общем, надеюсь ты понял
volvo 777 21 Jul, 2023 @ 9:24am 
спасибо
breathe dust  [author] 21 Jul, 2023 @ 9:01am 
Ты про тот, что на скринах? Патч с пальмами и кустами мне подогнал друг, а оранжевые переходы делаются в редакторе при создании кампании, там внизу есть несколько строк:
CITY
NIGHT
DAY
EVE
Конкретно на скрине переход EVE(ning).
volvo 777 20 Jul, 2023 @ 2:55am 
А как сделать оранжевый фон джунглей? это делается вручную заменой спрайтов или как то еще?
ToxWas 15 Jul, 2023 @ 12:58am 
максимка фембойчик:griefer: