Решил создать темку.
Алекс, нужна твоя помощь. Выбрал версию для СНЕС, так ты в этой платформе хорошо разбираешься. На СЕГЕ вообще и текст пожат и графика.
Помоги найти графику на скриншоте во вложении (титульник), плюс шрифт которым выводится надпись на втором скрине.
В идеале нужен пакер-анпакер.
Архив сообщений.
Mefistotel, скрипт я перенес в дерево и в машинный скрипт, правда в некоторых местах строки перепрыгнули из одной страницы на другую (в рамках одной сцены) из-за разного количества строк на страницах. Тебе нужно будет пройтись по всем группам, поправить координаты и по-необходимости передвинуть строки за код окончания страницы. Это всё лучше делать в режиме дерева, параллельно тестируя проделанную работу. Если нужно будет вынуть из дерева текстовый скрипт, то сначала сгенерируй из дерева машинный скрипт, а потом уже из него можно дернуть текст (CODE -> TXT).
Вот поправленный скриптер, добавлена автоматическая нумерация блоков тестирования (!только! при изменении первого блока) и автоматическая замена кода {25} на {10} между блоками тестирования и вставка кода {25} в конце последнего блока тестирования.
Работает!
Саня, посмотри ещё почему из текстового скрипта по ссылке не генерируется машинный скрипт. Процесс ошибок не выдаёт, но зависает где-то в середине.
http://rghost.ru/8mGMdmRMK
Вот скриптер и кодек с поддержкой кодовой страницы 1251.
Рецепты идеальных алгоритмов при работе в скриптёре:
А)
CODE:1) Загрузка рома – «Файл -> Загрузить РОМ»;
2) Загрузка дерева – «Редактор -> Загрузить дерево»;
3) Конвертация дерева в машинный скрипт – «Редактор -> Конвертация дерева в машинный скрипт»;
4) Отметить галочкой «Режим тестирования»; выбрать начальный и конечный номер блока (диапазон);
5) Сборка тестового рома – галочку на собрать ром после генерации пакетов, «Скрипт -> Сгенерировать пакеты.» При этом выбранные в диапазоне блоки генерируются в пакеты и вставляются в ром уже с автоматической заменой кода {25} на {10} между ними и вставкой кода {25} в конце последнего блока, а также обнулённым сжатым режимом.
6) Запуск тестового рома и правка дерева при необходимости. После внесения изменения в дерева начинаем заново с шага 3.
B)
CODE:1) Загрузка рома – «Файл -> Загрузить РОМ»;
2) Загрузка дерева – «Редактор -> Загрузить дерево»;
3) Отметить галочкой «Режим тестирования»; выбрать начальный и конечный номер блока (диапазон);
4) Конвертация дерева в машинный скрипт – «Редактор -> Конвертация дерева в машинный скрипт». При этом конвертируются только выбранные блоки, а не всё дерево;
5) Сборка тестового рома – галочку на собрать ром после генерации пакетов, «Скрипт -> Сгенерировать пакеты.» При этом выбранные в диапазоне блоки генерируются в пакеты и вставляются в ром уже с автоматической заменой кода {25} на {10} между ними и вставкой кода {25} в конце последнего блока, а также обнулённым сжатым режимом.
6) Запуск тестового рома и правка дерева при необходимости. После внесения изменения в дерева начинаем заново с шага 3.
Второй вариант предпочтительнее.
А, вон ты о чем, я тебя неправильно понял
Ты хочешь генерировать тестовые блоки из полного дерева.
Это, в принципе, реально, но понадобится время.
Допилил в программу генерацию из дерева. Также прикрутил возможность сразу делать тестовые пакеты:
1. Загружаешь ром
2. Загружаешь дерево
3. Отмечаешь галочками нужные блоки или диапазон
4. Ставишь галочку "Собрать ром после генерации пакетов"
5. Жмешь "Сгенерировать пакеты"
И на выходе получаешь ром с тестовыми блоками событий.
Только это равносильно (по затратам времени) тому, если после 4 пункта сделать конвертацию дерева в машинный скрипт, так как при генерации пакетов эта процедура запускается, если стоит галочка "Режим тестирования".
Алекс, проверь его работу, выбрав блоки не сначала. К примеру, с 37 по 45.
При генерации из скрипта такая ошибка, при генерации из дерева вообще вешается программа.
Сорри, там с условиями окончания обработки тестовых блоков косяки были, теперь должно нормально работать.
Вот он, скриптёр моей мечты!)))))
Теперь он на 5-(маленький минус за неработающую процедуру TXT->CODE).
Саня, посмотри, какая-то чертовщина творится.
В одном блоке слог "ЧЕ" выводится как положено, в следующем уже
кавычки идут на месте буквы Ч (цифра 4).
http://papermario.ucoz.com/Proje...040/BLOCK_4C.png
http://papermario.ucoz.com/Proje...040/BLOCK_4D.png
Вот моя таблица:
Спойлер (Отобразить)20=
21=!
22=\
23=,
24=.
25=-
26=:
27=(
28=)
29=0
2A=1
2B=2
2C=3
2D=4
2E=5
2F=6
30=7
31=8
32=9
33=?
34=Y
35=А
36=Б
37=В
38=Г
39=Д
3A=Е
3B=Ё
3C=Ж
3D=~
3E=И
3F=Й
40=К
41=Л
42=М
43=Н
44=О
45=П
46=Р
47=С
48=Т
49=У
4A=Ф
4B=Х
4C=Ц
4D=/
4E=Ш
4F=Щ
50=Ъ
51=Ы
52=Ь
53=Э
54=Ю
55=Я
56=*
57=8
58=9
59=?
5A=Y
5B=А
5C=Б
5D=В
5E=Г
5F=Д
60=Е
61=Ё
62=Ж
63=3
64=И
65=Й
66=К
67=Л
68=М
69=Н
6A=О
6B=П
6C=Р
6D=С
6E=Т
6F=У
70=Ф
71=Х
72=Ц
73=4
74=Щ
75=Щ
76=Ъ
77=Ы
78=Ь
79=Э
7A=Ю
7B=Я
80=ТО
81= П
82=НА
83= С
84=ОР
85=СТ
86= ПО
87=РА
88=РО
89=АН
8A=ПО
8B= В
8C=ИТ
8D= Н
8E= ПР
8F=ПР
90=НО
91=НИ
92=,
93=ТЕ
94=МАКС
95=ЕТ
96=ЕР
97=4ТО
98=ТО
99=ОМ
9A=КО
9B=ФАНТ
9C= О
9D=ОД
9E=ЕН
9F=АНТ
A0=ПРО
A1=ТЬ
A2=ОСТ
A3=ОС
A4= М
A5=НА
A6=АКСИ
A7= 4ТО
A8=ТА
A9= К
AA=ИМУМ
AB= КО
AC= В
AD= ПРО
AE=МА
AF=НЕ
B0=ЛА
B1=РЕ
B2=ОВ
B3=ОТ
B4=ЛИ
B5= Д
B6=ЕТ
B7=ВО
B8=АЕТ
B9=РИ
BA=ЕНИ
BB=ТЬ
BC= ПРИ
BD=ГО
BE=ДА
BF=ТИ
C0=ПРИ
C1=ОН
C2=ОРА
C3=АСТ
C4=АС
C5=ВА
C6=ТСЯ
C7=4ТО
C8=МО
C9= НА
CA=ОЛ
CB= Т
CC=СЯ
CD=ИТЬ
CE=НЕ
CF=ОБ
D0=ИТЬ
D1=АММИ
D2=ПА
D3=НЫ
D4=ОРО
D5= ЭТО
D6=, 4Т
D7= И
D8=АК
D9=ОЙ
DA=ТЕР
DB=ГО
DC=ЕС
DD=МЕ
DE=4Е
DF=КА
E0=ЛЕ
E1=КОР
E2= ДО
E3=ОЙ
E4=АТ
E5=ДО
Во вложении дерево. И ром по ссылке:
http://papermario.ucoz.com/Proje...m_2040-RU-0-3.7z
Врача, врача...
Интересно, что если ты загрузишь моё дерево и ром с таблицей, то в дереве будут старые обозначения тире и кавычек. Так вместо тире будет стоять буква З, а вместо кавычек Ч.
Но только ты нажмешь "данные - загрузить таблицу", как коды обновятся на те, что в таблице. И глюк таки не исчезает с новыми кодами. А вот если не загружать таблицу и в дереве пройти по указанным на скриншотах блокам, то там будут стоять буквы Ч в словах, а не цифры 4 как должно быть.
Непонятно, откуда скриптер берет давно удаленные значения. Нет же в таблице никаких букв Ч и З, но если их поставить, не загружая новую таблицу, то выводятся тире и кавычки.
Ахтунг одним словом. Какой-то кеш у скриптера где-то зарыт.
Это не кэш, это таблица старая загружена была в мемо на время разработки (чтобы не загружать её каждый раз вручную), поправил, теперь при запуске скриптер ищет в папке с собой файл 'ph2040(ru).tbl' и если находит, то загружает из него таблицу, если не находит, то никакой таблицы не загрузится, и нужно её грузить вручную.
Таблица эта точно только в memo была загружена? Даже после обновления некорректно выводятся слоги из словаря
МТЕ. К примеру, DE=4Е -- вместо ЧЕ выводится эти сранные кавычки, что были поставлены на место буквы Ч. Так же и со слогами 97=4ТО, 63=3_ и прочими. Во всех слогах с цифрами 3 (буква З) и 4(буква Ч) такая ерунда. Хоть удаляй их. Скрин из блока [BLOCK 0055]:
http://papermario.ucoz.com/Proje...2040/SLOG_DE.png
Причём, что удивительно, в большинстве блоков словарь МТЕ таки работает как надо и тот же слог 97=4ТО выводится как положено. К примеру, блок [BLOCK 005E]:
http://papermario.ucoz.com/Proje...G_DE_CORRECT.png
По порядку:
1) я у себя проверил и текст в дерево вставился, возможно у тебя он не работает из-за изменения таблицы, хотя и не должен он на это реагировать,
2) текст в блоках хранится в виде кодов и таблица к ним не применяется при генерации пакетов из дерева или при конвертации дерева в машинный скрипт, текст нужно вставлять в дерево из скрипта.
Встречный вопрос: можешь скинуть текстовый скрипт, который у тебя в дерево не вставляется?
Поправил скриптер, теперь должен работать нормально.
Саня, вытащи, пожалуйста, в виде картинок графику ниже.
Это блоки 005B, 63, 64.
Это сканер сетчатки глаз. .
Ещё для информации.
При попытке сгенерировать пустые блоки через диапазон, выпадает ошибка "invalid offset". При генерации через меню выбора одиночных номеров блоков, всё в порядке.
Помимо этого имеется проблема с выводом двух блоков: F1 и FB. В первом блоке некорректно выводится текст, второй вообще не запускается.
Посмотри, пожалуйста.
Скриптер поправил, теперь он эти блоки игнорирует.
Блоки F1 и FB у меня нормально сгенерировались и в игре корректно отображаются, единственное - в блоке F1 у последней строки изменил координату 'Y', чтобы она была ниже предыдущей.
alex_231 пишет:Блоки F1 и FB у меня нормально сгенерировались и в игре корректно отображаются, единственное - в блоке F1 у последней строки изменил координату 'Y', чтобы она была ниже предыдущей.
Так-с, генерация работает. Указанные блоки не идут на эмуляторе snesgt 0,230. Придётся в ридми указывать рекомендуемый эмулятор Snes9X.
По картинкам не смотрел?
alex_231, по ссылке архив со всей оставшейся графикой.
http://papermario.ucoz.com/Proje...tom_2040/new.rar
Часть нарисована в бинарниках, часть на картинках. Также отдельно папка с сейвами. Графика выводимая в роликах (без сейвов):
WANTED - [BLOCK 0153]
WARNING, DANGER - [BLOCK 008F, 0090]
MATCH - [BLOCK 005B, 0063, 0064]
По ссылке ром для вставки всего этого.
http://papermario.ucoz.com/Proje..._5_small_font.7z
Если что-то не так и нужно переделывать, то выложи картинге в пнг или бмп, где рисовать или собранную картинку в тайлах. Там такая каша порой что чёрт ногу сломит.
Вот ром со вставленной графикой, плюс поправленный кодек (при генерации более 9 пакетов кодек выдавал ошибку и стопорил процесс постройки рома).
Так-с. Блоки проверены, тестовый ром собирается без ошибок.
Но остались ещё несколько немаловажных моментов. Шрифт в меню, на карте и экране ввода пароля одинаковый. В связи с этим вопрос, можно его как-то перенести, чтобы оставить оригинал? Если это невозможно, то мне бы хотя бы подсказать коды для пустого места. На скриншоте выделил красной рамкой.
Последняя ревизия рома на сегодня для работы.
http://papermario.ucoz.com/Proje..._7_small_font.7z
Получилось!!!
Сань, нужно будет найти координаты рамок, что выделяют стрелки, чтобы уже допилить полностью это меню.
Посмотри в оригинальном роме (там надписи BACK и NEXT).