ВНУТРЯНКА / БАГИ
ОБЩЕЕ
- система паролей в текущей версии подразумевает старт строго с определенного места после получения геймовера, совпадающего с точкой рестарта после геймовера (обычно начало очередного цикла интерактивного скрипта). перед геймовером очищаются параметры стейтмашины и наработанные флаги. все это сужает число точек сейва до строго определенных моментов, а также должно предотвращать неразрешимые ситуации.
- но. сама по себе система паролей гораздо более навороченная и позволяет сохранять все текущие параметры игры, флаги и анимации, что по указанной выше причине в нормальной игре невозможно - все флаги к моменту любого геймовера сбрасываются. тем не менее, использовать систему паролей на полную катушку можно с помощью по всей видимости отладочного чита (на любом меню на втором паде нажать А), который позволяет сохраниться в любой момент в любом месте, где есть интерактивная часть, т.е. любое меню. неизвестно, сделано ли это нарочно или это просто остатки от этапа разработки или тестирования.
- но (дубль два). во избежание сохранения в пароле промежуточных или вспомогательных состояний стейтмашины алгоритм сохранения позиции в игре работает по следующему принципу: точками старта могут являются только точки рисования полных тайловых карт (сюда не входит рисование иконок) либо очистки экрана. соответственно игра при каждом следующем рисовании очередного экрана сохраняет текущую позицию для использования в пароле. но таковой она становится окончательно только при вызове стандартного обработчика меню, где она латчится уже в непосредственную переменную для записи в пароль.
- все это было бы хорошо и удобно, если бы не еще одно но (дубль три). в случае получения геймовера точка возврата никак не связана с текущей сохраненной точкой пароля, она задается жестко и ни от чего не зависит, т.е. возврат происходит в строго заданный момент, обычно на начало или середину сцены. пароль же генерируется по независящим от точки возврата и сохраненным во время отрисовки точкам, залатченным в последнем использованном меню. это приводит к возможности генерации такого пароля, с которого нельзя будет играть в дальнейшем. эта проблема видимо была найдена во время отладки уже после и решена путем костылей в процедурах сохранения точек возврата при рисовании (используются как явные проверки на конкретные эпизоды и сцены, так и специальный флаг запрета сохранения точки), причем в разных местах игры они используются по-своему - где-то точка возврата явно присваивается переменной, где-то включается пропуск, где-то он автоматически срабатывает при проверке. тем не менее, все эти костыли не до конца работают. в седьмой сцене есть возможность умереть внезапно в самом конце, если нарваться на наркомана, но рестарт с пароля будет не с молла и взрыва, а уже с картинки с военными, которые к тому моменту и были залатчены последними. эту сцену спасает то, что на все эти картинки там одно общее меню и даже с неправильной картинки можно пройти весь скрипт как положено. в пятом же эпизоде видимо такой момент был вообще специально отключен, так как там меню латчило точку возврата сразу на геймоверный момент.
- в скриптах игры много неиспользуемых офсетов на спрайты и самих спрайтов; обычно переменные инициализируются нулем, а потом в процессе могут принимать другие фиксированные значения, но дефолтное значение большей части анимаций - 1 и принимаемые значения почти всегда 1 или 2. нулевой спрайт в таком случае не используется, он либо заглушка, либо копия одного из использованных. но иногда это забытый неиспользуемый спрайт.
- вообще в игровых скриптах и анимациях с определенного момента творится чехарда. много анимаций вообще не используется либо по причине того, что сцена поменялась и анимация стала не нужна, либо просто скорее всего забыли добавить код анимации для диалога персонажа (например в конце 11ой сцены в оверлее анимации персонажа есть код открывания рта, но триггера включения анимации в тексте нет).
- опять же, периодически персонажи в игре по умолчанию стоят с открытыми ртами. в зависимости от сцены это выглядит более менее естественно, выражая возможно эмоциональность происходящего (если посмотреть мультфильм, то там много сцен, где все стоят открыв рот хех), но иногда заметно не к месту. в коде игры, судя по всему изначально было не так, но потом поменялся глобальный индекс индекса дефолтного спрайта по умолчанию и во всех массивах для переключателей спрайтов он стал указывать на открытый рот, а не закрытый. т.е. видимо вместо того, чтобы менять конкретные сцены там, где это было надо, поменяли кардинально одним махом и так и оставили.
- в игре есть несколько мест, где надо одновременно скроллить и рисовать спрайты с коррекцией на скролл. в каждом таком месте оно рисуется по-разному. в одном месте рисуется оверлей сначала, а скролл потом, в другом месте явно оверлей рисуется после скролла, причем с переназначением стандартного хендла. в общем чехарда.
- диалоговое окно игры содержит 5 строк, ни один диалог не имеет больше 5 строк за раз, но в коде есть проверка на больше, чем пять строк с закруглением вывода снова с первой строки. по идее это дожно было бы затирать уже выведенный текст, но фактически было сделано потому, что ребята зачем-то в конце каждого диалога перед символом конца строки ставили возврат каретки, так что движок вынужден был инитить вывод на шестую строчку, хотя не выводил ничего, потому что следующий символ был как раз - конец текста. т.е. возможно без этой проверки на количество строк игра пыталась вывести шестую строку куда-то не туда.
- в игре ДОХРЕНА неспользованных семплов и целых мелодий. некоторые мелодии видимо в процессе работы были заменены другими, причем сделано это было путем добавления в конец новых семплов и вызова их вместо оригинальных частично или полностью. часть звуков, в оригинале использовавших три или четыре трека, в финале используют только два или три соответственно, оставляя лишний трек неиспользованным, возможно из-за конфликта с другими треками. некоторые треки при загрузке замещают собой другие, так что они просто могут быть не слышны, хотя подразумевалось их проигрывание (см. баг с выбором мелоди)
- оригинальный текстовый движок игры умеет делать словарное сжатие, но используется в основном для вывода двух, cамых часто использующихся имен и строк с пробелами для выравнивания текста. в английском переводе эту фишку хоть и просекли и добавили почти 60 слов в этот словарь, но все равно не смогли пожать весь текст в те же 32 кило (кстати, в английском переводе остались огромные куски старого недооптимизированного и недоформатированного скрипта).
- среди текстов некоторое количество не используется, судя по всему они выбрасывались в процессе полировки скриптов, некоторые добавлялись в конец общего банка, чтобы не нарушить индексирование уже назначенных.
- сценарий игры практически идендичен сценарию мультфильма, только последовательность эпизодов тут несколько изменена и в некоторых местах несколько странным образом. скажем сцена с баром и барменом в фильме шла в самом начале и была вступлением к первому эпизоду погони за клоунами. а погоня за тетсуо на угнанном байке канеды начиналась из школы и сразу продолжалась избиением клоуна. в игре же сцену с барменом вставили между школой и избиением клоуна, здесь она играет роль интерактивной вставки с поиском тетсуо.
- в английском переводе некоторые пункты меню, разные в японской версии, заменили на одинаковые английские. две разных опции "посмотреть" и "исследовать" заменяют одним и тем же "проверить". "хусеру" и "какуреру" одним "хайд" или в одном месте "тейк ковер" и т.д.
- система меню в игре состоит из трех частей. первая - это библиотека текстов всех меню всех игровых сцен в виде массива указателей на отдельные строки для каждого отдельного меню, они жестко прописаны в данных и не могут меняться, а обращение к ним идет по индексу сцены и порядковому номеру меню в данной сцене. вторая - это динамический список пунктов меню в ОЗУ, который содержит порядковые индексы пунктов текущего выбранного меню и текущее их количество. т.е. в пределах выбранного списка пунктов меню можно произвольно менять их количества от 1 до числа пунктов в выбранном меню, а также их порядок, в т.ч. задавать одинаковые опции (что в целом бессмысленно, но не запрещено логикой работы). третья часть - это обработчики меню в каждой отдельной сцене, их число и количество опций совпадает с числом и количеством опций библиотеки и они жестко связаны друг с другом. впринципе такая система позволяет вообще не задавать библиотеку меню, а иметь один список пунтов и генерировать для каждого меню свой список пунктов, как это все равно делается в той или иной форме. либо наоборот, не иметь динамического списка, а все возможные варианты меню хранить жестко в библиотеке. по какой-то причине программисты использовали то один, то другой способ попеременно без какой-то особой системы, т.е. в одном месте могли задать два меню с двумя пунктами и соответственно два разных обработчика, либо одно меню с двумя пунктами и показывать только один пункт в зависимости от условий.
- в ресурсах игры имеются две тайловых карты 12х16, на которые не ссылается ни одна таблица и одна (иконка 8х8), которая есть в таблице тайловых карт, но не используется в игре. ко всем им видимо отсутствует правильная графика. для иконки чисто визуально подходит 88, но все равно чего-то не хватает. 44 банк также подходит, но на его месте нет тайлов, они вымараны (они же используются в блоке неиспользуемых спрайтовых ресурсов без прекрестных ссылок). для 12х16 тайловых карт найти графику не удалось. что там должно быть изображено совершенно неизвестно.
ДЕМО / ИНТРО
- второй экран демо с мотоциклом выезжает и уезжает быстро, так что глюков почти не заметно, но он весь совершенно кривой. исходное положение скролла устанавливается в F0, так что видно таблицу атрибутов на экране и как она засылается. спрайты при выезде снизу не успевают за мотоциклом на целых 2 тайла, на предпоследнем кадре - на один, и потом становятся на место. при отъезде вниз картинка стирает вместо тайловой карты половину таблицы атрибутов, а спрайты исчезают вовсе из-за ошибки в 16-битной арифметике. вообще при скроллах вверх-вниз не учитывается, что ппу не врапит две последние несуществующие строки тайлмапов автоматически, если их явно выставить в скролле.
- практически все игровые скрипты более менее приведены к общему виду, в т.ч. в расположении стандартных функций и использования стандартных инитов для меню и прочего. но, самые первые две сцены (интро и сцена 1) сохранили следы изначального, неорганизованного кода, который видимо писался в самом начале, пока еще структура скрипта не была окончательно утрясена и отлажена. здесь и ручная установка пунктов, и свой собственный обработчик меню, и прочая, и прочая.
- в интро в сцене с солдатами, командующими поднять руки, у левого перса на спине должен быть тайл с иероглифом. по какой-то причине он заменен на один из предыдущих использовавшихся тайлов.
СЦЕНА 1
- эта сцена является наиболее запутанной и неоднозначной в плане интерактивного скрипта. так, при допросе подсматривать на стол военного можно как путем выбора точек курсором, так и из меню, но квестовой триггер срабатывает только для выбора из меню. можно хоть обтыкаться курсором в то же самое место и не получить ничего нового. причем третье меню для выбора предметов для осмотра было добавлено позже и в него входит не весь список объектов на столе (нет, например канеды и лицензий), а судя из остатков ресурсов, которые не используются во втором меню, полный список объектов предполагалось выводить уже в нем, а не в третьем дополнительном.
- анимация рта у второго военного справа имеется и работает, но спрайт рта выводится после спрайта головы, в котором есть точно такой же спрайт и он по приоритету перекрывает анимированный рот. у этого военного всего одна фраза в самом конце сцены, но не видно, как он двигает ртом из-за этого.
СЦЕНА 2
- в эпизоде с террористом есть несколько неиспользованных диалогов. один предназначается для несуществующего варианта геймовера, где канеду и друзей ловят и отправляют в "коррекционную школу", и коротенькое "извинение" канеды по неизвестному поводу, видимо какая-то незадействованная часть диалога с девушкой. но интереснее всего неиспользующаяся реплика террориста перед взрывом бомбы (банзай). в финальной версии игры бомба тухнет сразу без монологов и террориста вяжут, хотя весь оверлей анимации рта у персонажа остался нетронутым. такая реплика есть в оригинальном фильме. возможно его выбросили достаточно рано, потому что триггер включения рта не совпадает с использующейся переменной в оверлеях анимации.
- при переключении оверлеев анимации с террориста на задерживающих его военных, на один кадр спрайты террориста рисуются уже переключенными графическими тайлами военных, что ведет к труднозаметному, но сглючиванию картинки.
СЦЕНА 3
- один из трех спрайтов анимации уходящей девушки вставлен не в свое место, потому вылезает из спрайта персонажа, но так как весь эпизод занимает едва пару секунд, то глюк могли списать на проблемы зрения или "тиринг". до кучи этот же спрайт использует целиком копию другого спрайта этой же анимации и из-за этого потерял несколько предназначенных специально для него спрайтов нижней части куртки и руки.
- момент взрыва рисуется двумя кадрами, но первый кадр держится на экране всего один кадр, его практически нереально заметить.
СЦЕНА 4
- у кая есть анимация открытого рта при повороте его головы налево, но хоть в текстах и есть нужные триггеры, а в спрайтовых оверлеях есть нужный код, оба тайла в спрайтах анимации для его рта одинаковые, потому ее не видно.
- у ямагаты есть неиспользующийся ряд тайлов нижней части туловища. в финальной версии все трое персонажей одного роста из-за этого. для статуи там тоже есть какой-то непонятный кусок, вроде рук или хз чего.
- когда тетсуо уезжает на мотоцикле, звук мотоцикла стартует несколько раньше, чем кончается сообщение и заканчивается до того, как он реально начинает двигаться.
СЦЕНА 5
- здесь явно опущен квест с получением таблеток у бармена. они автоматически даются, когда спрашиваешь у бармена, где канеда, независимо от того, говорил ли про таблетки наркоман на улице или использовался ли вообще пункт меню "peek". причем говорится, что у него таблетки под правой рукой, а поднимает он левую, когда их якобы отдает (хотя может он так показывает направление). здесь явно перепутаны или ошибочно прописаны флаги событий.
- флаг выпивки должен быть 10, так как он проверяется в секторах 1-3. но вместо этого для нее выставляется флаг 1, который является флагом возвращения в бар после неудачного раунда поисков. таким образом в этой сцене пропущена возможность получить гамовер, спросив случайного прохожего что-то в пьяном виде. по всей видимости, эта возможность была отключена здесь намеренно, по причине специфического функционирования системы паролей (см. выше).
- в текстах сцены опять упоминается несуществующий геймовер с отсылкой канеды в "коррекционную школу".
СЦЕНА 6
- первый эпизод не содержит диалогов ямагаты и канеды и из двух персонажей только один говорит одно слово, да и то без триггера анимации рта в тексте. тем не менее в коде оверлея есть полнофункциональные рты у обоих персонажей.
- после прибиения клоуна трубой должна быть сцена с его избиванием канедой возле стены. оверлей анимации даже издает случайно звуки ударов. но из-за ошибки (намеренной или случайной), анимация удара застревает на кадре кулака в лице клоуна и остается такой до конца сцены, а так как она происходит тоже случайно, иногда при переходе на эту сцену этой анимации уже можно и не увидеть вообще, так как она уже переключилась в финальную стадию.
- вообще этой сцены начинает появляться много неиспользуемых анимаций ртов и глаз в скриптах. до сих пор все они были двухкадровыми, а здесь появляются трехкадровые. тем не менее, нигде в игре третья фаза анимации никогда не появляется, потому что нет ни одного анимационного счетчика, который давал бы три значения за раз (обычно 0,1 или 1,2).
- в эпизоде перепалки канеды и тетсуо у канеды есть неиспользуемый злой глаз, а у тетсуо целых два неиспользуемых выражения лица, причем одно из них даже отсутствует в ресурсах спрайтов и находится только в графике.
- там же есть целый неиспользованный оверлей с маленькими фигурками канеды и тетсуо, держащегося за голову, в виде спрайтов посередине экрана.
СЦЕНА 7
- вместо музыки в этом эпизоде включено фоновое шипение. в фильме была легка джазовая музыка и в основном шум машин на фоне. возможно шум машин так и предполагалось изобразить, но звучит как-то странно. похожая по смыслу музыка играет в концовке игры на титрах, а в ресурсах есть большое количество разных неиспользованных мелодий, включая более менее торжественные, более подходящие под концовки. возможно изначально так оно и предполагалось, но по каким-то причинам не было реализовано.
- ямагата опять-таки, как и в некоторых других местах тут стоит с открытым ртом.
- в графике для иконки мечтающего канеды есть неиспользуемые тайлы с глазами, направленными вправо.
- аналогично сглючиванию спрайта при переключении граф банков во второй сцене, здесь с тем же эффектом игра переключается на оверлей взрыва.
- ну и по мелочи, переключение с сектора, имеющего спрайты, на любой другой, происходит с отключением спрайтов до того, как затухнет палитра.
СЦЕНА 8
- музыкальный трек выбирается неверно в начале сцены, вместо предназначенного тут трека используется трек драки из сцены 6.
- после подкрадывания и подката к военному (крупный план с пистолетом, нацеленным на тебя) используется меню номер 3 (с нырком), но функция установки этого меню прописывает точку возврата на предыдущее меню 2 (с подкатом). если во время меню выбора нырка нажать В, а потом опять А, то мы вернемся автоматически на предыдущее меню с тем же выбором (подкат) и так можно делать по кругу хоть мильон раз, пока не выберешь нырок или смерть.
- последний эпизод содержит анимацию глаз и рта канеды и девушки, но судя по всему сцена не доделана, глаза и рты совмещены в общие оверлеи и анимировались бы одновременно при диалоге канеды, если бы не был убран код окончания блока спрайтов между неанимированной частью и первым кадром анимации. таким образом сделано, чтобы статично рисовался блок голов и один из кадров анимации с глазами. хоть в тексте канеды и есть триггер анимации рта, а в оверлее его выбор, индекс никак не обновляется и всегда равен 2 из значения предыдущей сцены, до кучи, так как глаза уже выведены статично, все остальные спрайты отсекаются по приоритету и анимация не была бы видна в любом случае.
- в данных спрайтов есть два кадра анимации, не подходящих ни под один набор тайлов, которые там используются. судя по симметрии это могла быть часть лица, которого совершенно не осталось в финальной версии.
- всплеск воды содержит один левый тайл в самом первом кадре анимации.
СЦЕНА 9
- ряд бекграунд тайлов на экране с тремя террористами использован два раза, а тот, что должен быть, остался неиспользованным.
СЦЕНА A
- начиная с этой, некоторые переходы между сценами делаются без затемнения, что дает возможность видеть, как стирается, рисуется и раскрашивается очередная картинка.
СЦЕНА B
- один из оверлеев использует дубликат оверлея сцены 9.
- в сцене есть неиспользуемый диалог, аналогичный фильму, когда канеду вытаскивают из решетки, кей говорит, что он спас ее, а канеда говорит, что даже дважды. в финальной версии там все упростили, его просто выволокли из решетки и дальше сразу переходят к делу.
СЦЕНА C
- в мини-игре используется только одна анимация пуль из двух, большая для близких пуль и маленькая - для дальних, соответствующе расчеты в коде присутствуют лишь частично.
СЦЕНА D
- также имеет неиспользованные анимации пуль большого и маленького размера.
- при звуке выстрела, задний фон шума мотора ховера теряет один канал.
СЦЕНА F
- тетсуо справа после скролла не клипается окном целиком, так как левая граница клипа по окну меню взята почему-то чуть дальше, чем он находится.
- дальше - больше, тетсуо еще и странно нарисован оверлеем. основной оверлей тела тетсуо содержит полностью его фигуру с головой, повернутой вперед. отдельно установлен анимированный оверлей с двумя головами, одна совпадает со статичной, другая должна быть повернута влево. но мало того, что второй спрайт рисует не голову, а ноги тетсуо на месте его головы, он еще рисует их под основным оверлеем и они просто не видны, до кучи рисует он их на 8 пикселов пиже. похоже на то, что была задумка как-то анимировать тут поворот головы, но переменные тупо разнесли так, чтобы они не менялись и видимые кривые спрайты спрятали за тело сдвигом.
- во всех оверлеях диалога тетсуо и канеды отсутствуют выборки анимации рта, хотя сами функции анимации имеются, просто всегда статичны. не во всех строках диалогов даже есть коды включения анимации, а в некоторых они отличные от использующихся в оверлеях.
- в коде есть неиспользующийся и отключенный оверлей, использующий незадействованные тайлы в банке спрайтов для сцены. к сожалению, тайлы из графики вычищены полностью, либо вообще не были нарисованы, так что мы так и не узнаем, что же там были за спрайты.
- два маленьких тайлика с двумя видами камней неиспользованы.
СЦЕНА 11
- у кая есть неиспользованный спрайт закрытых заплаканных глаз, видимо он должен был ими моргать на сцене, когда он сообщает о смерти ямагаты. также в ресурсах игры есть одна неиспользуемая мелодия, очень подходящая под данный эпизод.
- у канеды в плачущем состоянии есть спрайты открытых глах и рта, предназначенные для анимации. у него же в голове неправильный статичный спрайт, а предназначенный для этого места головы тайл остался неиспользованным.
- в оверлее в канализации есть кадры для анимации походки обоих персонажей (мелкий, правда, безголовый). но нет никакого кода для анимирования. исходя из комбинации индексов анимирования в этой и предыдущей локации, можно предположить, что анимации были убраны намеренно, чтобы не пересекаться и не мешать друг другу в других сценах (в (конкретно, анимация рта в предыдущей локации совпадает с анимацией ребенка в канализации и делает его безголовым, получается они намеренно убрали анимацию рта предыдущей локации, чтобы в следующей она не мешала установке правильного спрайта. почему нельзя было проинициализировать? потому что инициализация должна делааться в том месте, где есть диалог и пауза после него, и неинициализированный индекс используется в анимации рта, так что он не давал бы рту в диалоге правильно открываться, и все равно был бы неправильно переинициализирован анимацией рта в оверлее).
СЦЕНА 12
- в меню выбора локаций в английской версии два раза подряд стоит слово MOVE. т.е. что-то вроде "выбрать локацию" - "локация". при выборе это незаметно, как будто пункт MOVE не выбрался с первого раза лол. в оригинале в японской версии там используется слово "строящийся объект", который упоминался по телевизору в предыдущем эпизоде: "олимпийский строящийся объект". либо парни не смогли осилить синоним (его нет и в переводе текста телепередачи), либо просто пропустили.
- на оверлее лазера есть левый спрайт, перекрывающий часть борта машины.
- сцена висящих в воздухе тетсуо и кай должна быть анимирована. спрайты подвешены на переменные, но нет никакого кода их анимации даже в зачатке. спрайты разных фаз анимации присутствуют только в графике.
- интерактивный сценарий эпизода подразумевает развилку. для хорошей концовки требуется взять лазер. в ветке с выбором лазера есть лишний локальный флаг сцены, который устанавливается, когда лазер взят, но ни в каких ветвлениях он не участвует и при переходе на следующий эпизод стирается. возможно в оригинале был вариант входа в эту ветку и выхода из нее без взятия лазера, где и мог бы пригодиться лишний флаг. в финальной версии сделать это хотя и можно, но делается путем отмены второго меню с выбором лазера кнопкой В, что не совсем очевидно для игрока, так как обычно в игре выход из меню просто подразумевает показ картинки и возврат обратно, а тут (как в и эпизоде с канализацией) выход из меню приводит к возврату в предыдущую сцену еще до развилки незаметно от игрока. тыкнув же в лазер мы автоматически переходим на сцену с капсулой, минуя поездку на мотоцикле.
СЦЕНА 13
- в этой сцене самый запутанный код сохранений/повторов после гамовера. зависит это от текущего состояния глобальных квестовых флагов. функции вручную манипулируют точками возврата, причем для пароля прописывает одни точки - в предыдущей сцене, а для повтора - другие - в текущей, но которые все равно потом выпрыгивают в предыдущую сцену. пароль и возврат ведут в разные эпизоды сцен, хотя примерно одинаковые, и похоже работает все это исключительно благодаря случайности. хотя в целом ситуация тут точно такая же, как в самой первой сцене: если не взять квестовой предмет, возврат и пароль должны стартовать с того места, где его можно взять.
- в мини-игре с тиром попадание идет в привязке к координате тетсуо, который должен как-то видимо перемещаться по экрану, но он всегда висит статично. есть неиспользуемая анимация летающего тетсуо.
СЦЕНА 14
- у канеды на мотоцикле есть неиспользуемый спрайт с повернутой головой.
СЦЕНА 15
- в мини-игре с лазером и тетсуо у последнего есть неиспользованный спрайт после попадания, стоящий на коленях.
- видимо в одном из последних меню, где канеда на выбор шагает с тетсуо в пятно света, в японской версии неправильно поставили название пункта меню "говорить". в английской версии его заменили на "прыгнуть", что более соответствует логике поведения персонажа, так как далее он ничего не говорит, а вбегает в свет, но второй пункт уже значится как "бежать".
- в конце основной ветки сценария есть три иконки стадиона разной степени заполненности светом. но рисуются они странно. предпоследняя фаза и последняя рисуются друг на друге, так что первая естественно затирается и не видна. затем рисуется самая первая фаза, сопровождаемая текстом о заполнении города сметом. на лицо перепутка последовательности и позиций выводимых иконок. этот эпизод вообще принадлежит сценам с концовками и должен был бы быть там, он же присутствует почти во всех других длинных концовках, но практически везде иконки и очередность их появления выставлены по-разному, хотя суть текста и смысл эпизода везде одинаковый. врядли это было сделано нарочно, чтобы разнообразить концовки, а скорее просто запутались в своих простынках кода. за данную версию тот факт, что в разных местах могут использоваться как дубликаты уже использовавшихся вызовов рисования, так и переходы на ранее использованные в разных частях, причем при наличии одинаковых функций в текущей сцене, используются дальние вызовы для рисования этой же сцены из другой сцены и другого банка.
- строка С6 этой и следующей сцены единственная из всех строк английского перевода, которая вылазит за пределы экрана. неплохой результат.
СЦЕНА 16
- представляет собой пачку блоков различных концовок, игра может прыгать на разные независимые участки этой сцены, каждая из которых играет свою концовку, обычно сочетающую куски других концовок в других последовательностях и возможные вариации сообщений для них. но как правило, все они практически одинаковые и некоторые части вынуждены повторяться до пяти раз, так как установка индексов переходов для разных частей делает их всех разными.
- пятый оверлей для сцены летающего в пустоте канеды должен быть пустой. вместо этого включается явно неродной оверлей с подвешенными на переменные спрайтами, которых нет в выбранном банке графики. этот оверлей аналогичен тому, который используется в эпизоде F в детской, когда тетсуо разрушает стены вокруг себя, т.е. спрайты обломков должны летать по экрану. но в этом месте нет ни инициализации переменных, ни их анимации, так что все спрайты выводятся в координату 0 по Y, что влечет их автоматическое стирание с экрана, т.е. их все равно не видно в игре, как и должно быть.
- в некоторых оверлеях странно распределены индексы анимаций ртов и глаз. вместо специальной "моргательной" функции используется индекс анимации рта или явный ноль. хотя принципиально это не сказывается на визуализации, потому что диалоги все равно не подразумевают там частого открывания рта, у некоторых персонажей вообще.
- в части сообщений отсутствуют коды анимации рта, хотя оверлеи их поддерживают.
- оверл