Love, Money, Rock'n'Roll

Love, Money, Rock'n'Roll

49 ratings
Список и изображения всех ассетов игры
By Lee
Руководство содержит полный список ассетов, а также список их обозначений в коде игры, начиная от эмоций/анимаций персонажей и заканчивая звуками и фонами. Гайд создан для упрощения процесса переноса сценария в код, а также упрощения ориентирования в вызове тех или иных ассетов игры.
2
2
   
Award
Favorite
Favorited
Unfavorite
Введение
Наконец-то, спустя чуть больше года, Риточка выбрал своё любимое пиво и объявил о релизе долгожданной мастерской, а мы же, в свою очередь, составим гайд с условиями того, как правильно нужно пользоваться всеми доступными на данный момент ассетами в игре.

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

Раньше процесс сборки был описан в данном руководстве при помощи стороннего модбилдера, любезно написанным великолепным Марком Атологом (спасибо тебе за столь скорую поддержку моддинг-сообщества), но теперь оно стало неактуальным, ведь с добавлением воркшопа пришли и новые изменения в структуре модов.

Я её полностью описывать не собираюсь, ведь вся доступная официальная документация, включая сборку мода, добавление Live2D анимаций спрайтов, префабов анимированных фонов и тому подобных сложных мелочей, есть по ссылке: https://docs.lmr.su/
Как говорится, кто хочет - тот разберется.

А мы пробежимся по базовым основам, если вдруг кто-то забыл. Несмотря на то, что игра собрана на Unity, она использует простой RenPy-подобный код в сценарии, поэтому не удивляйтесь, встречая здесь знакомые команды и обозначения.

Чтобы наш спрайт появился на экране, мы можем воспользоваться командой:
  • show <код персонажа> <эмоция> <конечности - сверху вниз> <скин> <размер> <позиция> <цвет> with dissolve

С мастерской появилась возможность присвоить свой цвет в resources.yaml, наложенный поверх спрайтов, который идет вместе с тем или иным фоном (темный фон - темный спрайт), но данные значения существовали в игре и до этого, посему пользуйтесь. Вызывается по комнаде spritecolor:
  • default
  • class_mc_far
  • school_roof_far
  • house_mc_night2_far2
  • room_mc_night_far
  • club_inside_far
  • garden_night_far
  • warehouse_in_close
  • warehouse_in_far
  • school_canteen_far
  • city_bridge_night_dark
  • river_side_night_far
  • city_bridge_night_far
  • ryokan_street_early_morning_far

Пример: show hi surprise hands3 dom1 size far at center with dissolve - по этой команде покажет нам Химицу с удивленной эмоцией и руками на поясе вдалеке по центру с плавным появлением.

Запомните, что команда для появления спрайта персонажа должна строиться строго по этой структуре, иначе вы получите ошибку при загрузке своего мода, как и при любой другой команде для вывода звука или музыки.

Варианты анимаций для появления изображений:
  • with dissolve
  • with dissolve2
  • with fade
  • with fade2
  • with fade3
  • with fade5
  • with fade10
  • with fade_pink
  • with fade_white
  • with flash
  • with flash_red
  • with flash_red_fast
  • with dspr skip - используется для вариаций CG, меняет картинку одновременно с появлением текста

Варианты для значения pattern:
  • with pattern angular <длительность>
  • with pattern ball <длительность>
  • with pattern blinds <длительность>
  • with pattern topright <длительность>
  • with pattern bottomleft <длительность>
  • with pattern bottomtop_pattern <длительность>
  • with pattern topbottom_pattern <длительность>
  • with pattern diagonal_distort_pattern <длительность>
  • with pattern fade1 <длительность>
  • with pattern fade3 <длительность>
  • with pattern fade4 <длительность>
  • with pattern fade6 <длительность>
  • with pattern fade7 <длительность>
  • with pattern fade8 <длительность>
  • with pattern fade11 <длительность>
  • with pattern fade12 <длительность>
  • with pattern left_pattern <длительность>
  • with pattern right_pattern <длительность>
  • with pattern noise_pattern <длительность>
  • with pattern poke_pattern <длительность>
  • with pattern saw_tooth_pattern <длительность>
  • with pattern spiral_pattern <длительность>


При смене фона спрайты персонажей пропадают автоматически, поэтому нет смысла каждый раз при новой сцене писать hide <character> with dissolve и тому подобное.

Эффекты-движения для экрана:
  • with hpunch - горизонтальная тряска
  • with vpunch - вертикальная тряска

Также существует фильтр, который можно применить к общему экрану. Он не снимается при смене фона и всегда активен до тех пор, пока вы его не отключите вручную.

Команда для его вызова:
- posteffect <название>

Список постэффектов, накладываемых поверх экрана:
  • chromaticaberration - хроматическая аберрация
  • sepia - сепия
  • none - отсутствие эффекта

Конкретно для звуков используются слегка другие обозначения, не перепутайте:
  • play <sfx, music, ambience> <название> <появление>

Появления для включения или выключения звука:
  • fadein <значение>
  • fadeout <значение>
  • crossfade - (наложение одного звука на другой во время перехода)

Громкость тех или иных звуков можно регулировать отдельной от play командой:
  • volume <music, ambience, sfx> <значение> <появление>
Спрайты главных персонажей
Для начала определите, какой спрайт должен использовать ваш персонаж (расположенный прямо, левее, правее и пр.) и выберите код данного спрайта на шаблоне с одеждой (например, forma1 или dom1).

Для каждой вариации спрайта существует свой отдельный список эмоций, который вы найдете в начале этого раздела, а также список анимаций рук, головы и ног, принадлежность к которым подписана выше шаблона (например, hi_front - legs1 относится к одежде с кодом 1 и эмоциям из списка hi_front).

Внимание: использование других эмоций, не входящих в пул конкретного спрайта приведет к ошибке, поэтому тщательно следите за тем, какие спрайты и анимации вы используете, иначе мод не сможет распознать запрошенную команду и выкинет ошибку.

Ниже будет список всех доступных анимаций персонажей, которые вы можете совмещать как угодно (если только они не противоречат друг другу).

Химицу - hi

Эмоции
  • hi_front


  • hi_l

  • hi_r

  • hi_r_1

Голова


Руки

Ноги


Одежда


Кетрин - ca

Эмоции
  • ca_front


  • ca_front_1

  • ca_l

  • ca_r

  • ca_r_1

  • ca_r_2

Голова

Руки

Ноги

Одежда


Эли - el

Эмоции
  • el_front


  • el_front_1

  • el_r

  • el_l

  • el_l_2

Голова

Руки

Ноги

Одежда


Кагомэ - ka

Эмоции

  • ka_front

  • ka_l

  • ka_l_1

  • ka_r

  • ka_r_1

Голова

Руки

Ноги


Одежда


Кёске - kyo

Эмоции
Конечности и одежда


Майкл - mi

Эмоции
Конечности и одежда


Сая - sa



Кавашима - kaw



Асакура - asa



Токио Райдер - tr

Эмоции
Конечности


Ишида - git
Эмоции
Конечности


Мицуёши - drum

Эмоции
Конечности


Бармен - ba



Ирина - ir

Эмоции
  • ir_1
  • ir_2

Конечности
Позы


Рюноскэ Ито - ryu

Эмоции
Конечности


Миссис Винтерс - mrs

Эмоции
Конечности


Дед Кагомэ - ded



Кобаяши Джун - jun

Эмоции
Конечности


Кагемару - kag



Ичиносэ - ich

Спрайты второстепенных персонажей
Директор - dir


Мистер Стоун - rando


Токо - to


Школьница - schgirl2


Хулиган - gop1


Хулиган 2 - gop2


Хулиган 3 - gop3


Хулиганка - gopgirl


Подозрительный тип - ag


Михаил - mih


Эд - ed


Сара - sar


Акира - ak


Бабушка Химицу - bab


Наталья - pok


Виктор - pel


Влад - vlad


Ли - lee

Фоны
Фоны должны появляться по следующей команде:
  • scene bg <название фона> <анимация появления>

Для ЦГ команда слегка отличается:
  • scene cg <название цг> <анимация появления>

Также существуют версия просто с цветом:
  • scene color <цвет> <анимация появления>


Звуки
Проигрываются по команде: play sfx <название звука> <опционально - появление>
  • alarm_clock
  • alarm_clock_hit
  • auto_horn
  • bar_noise
  • battle_begins - подходящие шаги и хруст пальцами
  • beebs - телефонные гудки
  • beebs_short
  • bento
  • bird_nasty_sing
  • break_plates1
  • break_plates2
  • break_plates3
  • break_plates4
  • car_drive_up_outside
  • car_drove_up
  • car_horn
  • car_horn_outside
  • car_stops_tires_screeching
  • cart_fish_impact - столкновение с рыбной повозкой
  • clock_slow
  • clock_ticked_fading
  • clock_ticking
  • close_door_light
  • creepy_sound - завывание и протяжный гул
  • desk_creak
  • distort_shutter - перетягивание затвора
  • domophone
  • door_bell_bar
  • door_bell_close
  • door_bell_outside
  • door_bell_outside_ca
  • door_bell_outside_close
  • door_bell_outside_far
  • door_bell_outside_hi
  • door_close_far
  • door_close_keys
  • door_close_shoji
  • door_fists_punch
  • door_keys_footsteps
  • door_open_bar_footsteps_heavy
  • door_open_bar_footsteps_light
  • door_open_close_light
  • door_open_creak
  • door_open_creak_slow
  • door_open_far
  • door_open_keys
  • door_open_keys_light
  • door_open_keys_light_outside
  • door_open_light
  • door_open_magnetic_lock
  • door_open_metal_fast
  • door_open_slow
  • door_slam
  • door_slams_roof
  • door_wind_stairwell - металлическая дверь на крышу школы
  • doorbell
  • drinking_water
  • dripping_water - капающая вода
  • ellie_salver - столкновение с посудой
  • engine_noise_outside - подъехавшая машина с включенным двигателем
  • face_hit
  • fan_outside_room
  • fan_room - комната с кондиционером
  • fatwomen_impact
  • flush_toilet
  • food_preparing
  • fridge
  • frying_eggs
  • glass_water
  • guitar_fail
  • guitar_falls_floor
  • heels_knock_concrete
  • hit_desk
  • hit_folder_table
  • hit_head_chipboard
  • hitting_table_rage
  • hitting_table_rage1
  • intercom
  • intercom_opened
  • kagome_incedent
  • kick_can_soda
  • kicks_bench
  • knock_syncopation - ба-дум-тсс (синкопа на барабанах)
  • metal_rumble - падение металлических прутьев
  • nya
  • papier_mache - смятая бумага
  • payphone_down
  • payphone_up
  • pebble_in_glass
  • pebble_in_glass_louder
  • pen_write_adress
  • petard
  • phone_disk
  • phone_international
  • phone_put
  • phone_ringing
  • phone_ringing_electric_far
  • phone_ringing_outside
  • phone_take
  • pointer - школьная указка
  • police_whistle
  • port
  • railroad_poezd_vlevo
  • railroad_poezd_vlevo_short
  • railroad_poezd_vpravo
  • railroad_poezd_vpravo_short
  • railroad_signal
  • revolver_clank
  • run_breath
  • running_concrete
  • running_hallway
  • rustles_garden - валяние в листьях в парке
  • rusty_wheels
  • school_bell
  • school_bell_far
  • shop_door_bell
  • short_wistle
  • shot
  • shot_dull
  • shots
  • shoving
  • skirmish - перестрелка на машинах
  • slaps_pencil_table
  • squeaky_door_open
  • steps_corridor
  • steps_corridor_louder
  • steps_corridor_short
  • steps_heavy
  • steps_mansion
  • stomach_grumble
  • string_breaks_bass
  • table_knock_knuckles
  • teapot_whistle_close
  • teapot_whistle_far
  • tear_off_tape - растягивание скотча
  • thunder_far
  • trash
  • tv_noise
  • tv_turn_off
  • vandals - разбитие окна
  • washing_dishes
  • water_sink
  • waterpool_girls_distant
  • wind_cold
  • wind_like_applause
  • wood_floor_footsteps
  • wood_knock
  • wood_knock_close
  • wood_knock_close_2
  • wood_knock_far
  • wood_knock_far_light
  • wood_knock_far_louder
  • wood_knock_light
  • wood_knock_louder
  • wood_pound_far
  • wooden_sticks
Окружение
Проигрываются по команде: play ambience <название эмбиента> <опционально - появление>. Но крайне рекомендуется использовать fadein/fadeout и crossfade для плавного зацикливания их переходов.

  • attraction_park
  • ba_ext_day - загородный дом бабушки Химицу
  • ba_ext_night
  • ba_interior_day
  • bar
  • canteen - школьная столовая
  • catherine_room_day
  • catherine_room_night
  • catherine_room_sunset
  • class_break
  • class_lesson
  • class_lesson_soccer_outside
  • club - толпа с выступающей группой на фоне
  • club2 - просто гул толпы
  • corporation_in_day
  • corporation_in_night
  • corporation_office
  • corridor_mc_day
  • corridor_mc_morning
  • corridor_mc_night
  • corridor_mc_sunset
  • downtown_day - центр Токио
  • downtown_day2
  • downtown_morning
  • downtown_night
  • downtown_sunset
  • elevator
  • eli_house_day
  • eli_house_night
  • eli_house_sunset
  • eli_repbase
  • garden_day - парк
  • garden_night
  • garden_sunset
  • himi_day_inside
  • himi_day_outside
  • himi_night_inside
  • himi_night_outside
  • himi_sunset_inside
  • himi_sunset_outside
  • interrogation_room
  • kagome_room_day
  • kagome_room_night
  • kagome_room_sunset
  • kitchen_day - кухня в доме Николая
  • kitchen_morning
  • kitchen_night
  • kitchen_sunset
  • kyosuke_room_day
  • kyosuke_room_night
  • kyosuke_room_sunset
  • matsuri - фестиваль Мацури
  • mike_room_day
  • mike_room_night
  • music_class - музыкальный класс в заброшенном крыле
  • outside_day - играет на фоне house_mc
  • outside_morning
  • outside_night
  • outside_sunset
  • principals_office - кабинет директора
  • railway_station_day
  • railway_station_night
  • railway_station_sunset
  • restaurant_day
  • restaurant_in_day
  • restaurant_in_night
  • restaurant_in_sunset
  • restaurant_night
  • restaurant_sunset
  • river_side_day - район с рынком и базарными лавками
  • river_side_night
  • room_mc_day
  • room_mc_morning
  • room_mc_night
  • room_mc_sunset
  • ryokan_hotel_day
  • ryokan_hotel_night
  • ryokan_room_day
  • ryokan_room_night
  • ryokan_street_day
  • ryokan_street_early_morning
  • ryokan_street_night
  • ryokan_street_sunset
  • school_hallway_break
  • school_hallway_lesson
  • school_old_hallway - заброшенное крыло
  • school_roof_ac
  • school_roof_birds
  • school_roof_birds_ac
  • street_morning - будничное утро со спешащими людьми
  • tokyo_hotel_room_day
  • tokyo_hotel_room_night
  • tokyo_street_day
  • train_interior
  • warehouse_in
  • warehouse_out
  • waterpool_girls
Музыка
Проигрываются по команде: play music <название трека> <опционально - появление>

  • a_painful_story - A Painful Story (Bobstor)
  • aluminum - Aluminum (Tokyo Rider)
  • arcade_night - Arcade Night (Arseny St)
  • arctic_lakes_in_your_pure_eyes - Arctic Lakes In Your Pure Eyes (Arseny St)
  • autumn - Golden Autumn (Paul Kreminski)
  • awkwardness - Awkwardness (Arseny St)
  • burita - Burita (Arseny St)
  • chiba_overdrive - Chiba Overdrive (Tokyo Rider)
  • city_sleeps - While City Sleeps (Arseny St)
  • clarity_of_purpose - Clarity of Purpose (RedMountain)
  • datfeelz_love_money_rocknroll - Love, Money, Rock'N'Roll (Z FEEL-Z)
  • ddd_take_three - DDD Take Three (RedMountain)
  • ddd_take_two - DDD Take Two (RedMountain)
  • dont_care - Don't Care About It (Arseny St)
  • driving_through_the_night - Driving Through The Night (Tokyo Rider)
  • echo_avenue - Echo Avenue (RedMountain)
  • embers - Embers (RedMountain)
  • empty_streets - Empty Streets (Tokyo Rider)
  • enter_omegashima - Enter Omegashima (Tokyo Rider)
  • everlasting_reference - Everlasting Reference (RedMountain)
  • fast_lane_to_love - Fast Lane To Love (Z FEEL-Z)
  • fractal - Fractal Alley (RedMountain)
  • free_me - Free Me (Arseny St)
  • fresh_air - You Need A Bit Of Fresh Air (RedMountain)
  • glitches_on_the_other_side_of_the_rainbow - Glitches On The Other Side of The Rainbow (RedMountain)
  • green_and_orange - Green And Orange (RedMountain)
  • hear_the_wind - Hear The Wind (Arseny St)
  • hearteater - Heart-Eater Strikes Again (Bobstor)
  • heist - Heist (Tokyo Rider)
  • hollow - Hollow (Arseny St)
  • hurt_me - Hurt Me (Z FEEL-Z)
  • i_know_you_know - I Know You Know (Tokyo Rider)
  • i_will_believe_in_you - I Will Believe In You (Arseny St)
  • im_so_glad_weve_met - I'm So Glad We've Met (Direct Sunlight)
  • in_this_very_moment - In This Very Moment (RedMountain)
  • insomnia - Insomnia Overdrive (Tokyo Rider)
  • last_man - Last Man Standing (Tokyo Rider)
  • last_night - Last Night (Z FEEL-Z)
  • lets_go - Let's Go (Bobstor)
  • lets_go_further - Let's Go Further (RedMountain)
  • lipstick_hurricane - Lipstick Hurricane (Arseny St)
  • lonely_train_to_odaiba - Lonely Train to Odaiba (Tokyo Rider)
  • love_money_rocknroll - Love, Money, Rock'N'Roll (Arseny St)
  • machi_no_iruminashon - Machi No Iruminashon (Arseny St)
  • miata - Red Miata (Tokyo Rider)
  • mirai_minato - Mirai Minato (Tokyo Rider)
  • mistery_of_loneliness - Mistery of Loneliness (Bobstor)
  • misty_dream - Misty Dream[/b] (Bobstor)
  • neon_skyscrapers - Neon Skyscrapers (Bobstor)
  • new - New (RedMountain)
  • not_over_yet - Not Over Yet (Tokyo Rider)
  • not_too_late - Not Too Late (Z FEEL-Z)
  • nowhere_station - Nowhere Station (Tokyo Rider)
  • one_day_in_the_limelight - One Day In The Limelight (Z FEEL-Z)
  • ono_sendai - Ono-Sendai (Tokyo Rider)
  • pancakes - Sweet Pancakes With Strawberry Jam (Bobstor)
  • peaceful_dream -A Peaceful Dream (Arseny St)
  • perfect_blue - Perfect Blue (Bobstor)
  • popurri - Ellie's Popurri (Arseny St)
  • quaalude_interlude - Quaalude Interlude (Tokyo Rider)
  • reflections - Reflections (Arseny St)
  • regeneration - Regeneration (Arseny St)
  • rockin - Rockin' Around Here (Arseny St)
  • running_wild - Running Wild (Tokyo Rider)
  • sakura_blossom - Sakura Blossom (Arseny St)
  • satellite_dishes - Satellite Dishes (RedMountain)
  • skyscrapers - Skyscrapers (Tokyo Rider)
  • solution - Solution (Arseny St)
  • speeding - Speeding (Tokyo Rider)
  • strange_apparition - Strange Apparition (Bobstor)
  • sudden_trip - Sudden Trip (Arseny St)
  • summertime - Summertime (RedMountain)
  • sunset_horizons - Sunset Horizons (Arseny St)
  • take_a_deep_breath - Take A Deep Breath (RedMountain)
  • the_door_to_nowhere - The Door To Nowhere (RedMountain)
  • the_finest_hour - The Finest Hour (Tokyo Rider)
  • the_spiral_of_revival - The Spiral Of Revival (Bobstor)
  • the_wind_is_electric_tonight - The Wind Is Electric Tonight (Tokyo Rider)
  • thoughts - Thoughts and Time (Arseny St)
  • to_die_or_not_to_die - To Die Or Not To Die (Bobstor)
  • two_hearts_in_turbulent_times - Two Hearts In Turbulent Times (Tokyo Rider)
  • ultraviolet_stream - Ultraviolet Stream (Bobstor)
  • unchained - Unchained (Arseny St)
  • vanilla - Vanilla Sky With Bitter Tears (Bobstor)
  • we_own_the_night - We Own The Night (Tokyo Rider)
  • what_happens_after - What Happens After (RedMountain)
  • yokohama - Yokohama (Tokyo Rider)
  • you_know_this_is_the_end - You Know This Is The End (Tokyo Rider)
Примечание
Возможно, вы могли заметить, что где-то есть спрайты, помеченные как - (???). Это означает, что в игре они присутствуют как дубли уже существующих спрайтов и их назначение не до конца ясно. Вероятно, что планировалось добавить чуть больше вариаций, но не хватило времени/средств/идей, поэтому остались такие заглушки.

Об увиденных ошибках/опечатках или неточностях, пожалуйста, сообщайте в комментариях к руководству.

Подробнее про каждый пункт вызова ассетов вы сможете прочитать на https://docs.lmr.su/
Моей же целью оставалось сделать удобную шпаргалку, к которой можно всегда с легкостью обращаться, если нет наглядного примера.




Спасибо, что досмотрели это руководство до конца. Периодически оно будет продолжать обновляться, если появится новая информация по поводу изменения ассетов или реализации уже готовых в игре.
34 Comments
Elise02 29 Aug, 2024 @ 8:38am 
Лучше поздно, чем никогда!)
Спасибо за ответ! Стало попонятнее, а значит слепить своё детище проще)
Удачи вам!
Lee  [author] 28 Aug, 2024 @ 11:33pm 
Расположить можно как угодно, но какие-то сокращения у персонажей предопределены свои, их также можно переназначить в resources. Size, в целом, работает также, и на заметку: при значениях выше 2.6 спрайты уже заметно размываются на Full HD. Также спрайты имеют приоритеты появления, т.е. последний отображенный будет перекрывать все остальные. Управлять ими можно всякими behind, ahead и т.д. Ну и чем больше размер спрайта, тем сильнее он двигается по осям, то есть, большие значения там не нужны.
Lee  [author] 28 Aug, 2024 @ 11:32pm 
Извиняюсь за поздний ответ, если еще актуально: насчет расположения, стоит ориентироваться по координатам, центр экрана - это позиции x:0 y:0. Всякие cright, right, center и т.д. - это смещения по осям X/Y, соответственно cright (x:0.34 y: -0.59), right (x:0.67 y: -0.59), center (x:0 y: -0.59), положительные значения X - спрайт правее, отрицательные - левее, а для Y положительные - спрайт выше и так далее. У каждого спрайта центр, по которому он смещается, находится в середине.
Elise02 1 Jul, 2024 @ 2:31pm 
Респект за руководство (Пожалуй один из самых полезных тут), однако возник вопрос по поводу расположение персонажей, ибо прописать нужную команду, что спрайт встал куда надо для меня это сродни игры в кости. Ибо даже 100 раз перечитанный тутор Ритана, не помог, что-бы адекватно расположить спрайты и расстояние между ними.
Может я чего-то там не понимаю, но хочется понять максимум инструментарий скажем так мода, что-бы понять, как нормально слепить мод.
Lee  [author] 28 Sep, 2023 @ 12:20pm 
Все команды вводятся в отдельных текстовых файлах day1, day2 и так далее, там же пишется весь сценарий и реплики героев.
Bizzmargg 14 Sep, 2023 @ 9:58am 
Куда вводить команды?
Lee  [author] 17 Aug, 2023 @ 11:45pm 
Руководство обновлено в соответствии с нынешней версией игры, полностью поддерживающей мастерскую.
shalyn) 1 Jul, 2023 @ 2:51am 
@Mark Atolog по крайне мере я не искал сразу распакованные файлы, т.к. думал, что никто этим не занимался. Ну а так тут чел спросил, я ему ответил, да и ты тоже.
А с тем, что я интернет эксплорер, то соглашусь. Пока все балдеют и им достаточно поставить качаться файлы, я извращаюсь всеми способами =)
Марк Атолог 1 Jul, 2023 @ 2:16am 
@Dukol, ахахах, чел... Эти файлы распаковали и выложили сразу после выхода игры. Ну ты интернет эксплорер конечно)
shalyn) 30 Jun, 2023 @ 1:51pm 
stalkeler gregprofy я пробовал распаковать файлы игры и даже смог. AssetStudio в помощь. Сама программа: {LINK REMOVED} .
Если интересно, могу в ЛС рассказать как я пришёл к этой программе, т.к. пришлось убить несколько часов, чтобы распаковать файлы.