форум группы Chief-Net » » Переводы » Тестерская помощь

Страниц (11): В начало « ... 3 4 5 6 7 8 [9] 10 11 »
 

241. JARL32 - 17 Декабря, 2024 - 15:12:11 - перейти к сообщению
Надо попробовать.

Так, ещё кое с чем столкнулся.
1) Не вынимаются поинтеры в двухбайтной кодировке, где код окончания строки 0000. Ptalign я выставил 2, и ничего. Может есть какая-то особая версия или плагин для работы с такими вещами?
242. Guyver - 17 Декабря, 2024 - 17:00:21 - перейти к сообщению
Я не понимаю, нужен проект и ромы. И описание проблемы...

Или просто вынь с кодом окончания /00, а потом вручную забей во всех вынутых строках дополнительный /00
243. JARL32 - 17 Декабря, 2024 - 17:11:35 - перейти к сообщению
Final fanasy 1-2 gba американский ром.
Но проблема не единична, у меня несколько проектов для гба, которые я решил начать делать, не заводятся из-за этого.
Адреса поинтеров в соседней теме можешь посмотреть.
244. Guyver - 17 Декабря, 2024 - 17:12:42 - перейти к сообщению
Я не хочу смотреть, напиши мне поинтер, адрес текста и т.д. И залей на дропмифайлы или куда-то ещё, чтобы форум не пух от всяких левых файлов...

Ты мне предлагаешь самому ромы скачивать, искать их? У меня, конечно, времени много, но...
245. JARL32 - 17 Декабря, 2024 - 17:21:28 - перейти к сообщению
Нет, я не предлагаю. Я думал, это распространённая проблема. Файл я могу потом удалить.
Группу поинтеров я уже подключил.
https://www.emu-land.net/portabl...-2-dawn-of-souls
ссылка на ром.

Class Names: 0x1da85c — 0x1da937 0x1e08a4 — 0x1e097f 0x1e13b4 — 0x1e148f
Pointers to Class Names: 0x1da938 — 0x1da967 0x1e0980 — 0x1e09af 0x1e1390 — 0x1e13bf
246. JARL32 - 18 Декабря, 2024 - 18:14:41 - перейти к сообщению
Всё, я понял, я прозевал смещение. Но я смотрел сообщения на мэджиктиме переводчика зельд - проблемы с 0000 часто бывают в круптаре, да и в мануале шли примеры написания плагинов при частных случаях использования двухбайтной кодировки.
247. Guyver - 18 Декабря, 2024 - 18:26:41 - перейти к сообщению
Я вроде не сталкивался с такой проблемой...
248. JARL32 - 21 Декабря, 2024 - 12:56:19 - перейти к сообщению
Смотрю я сейчас защитников оазиса, какой же там хаос сделали программисты, ведь места в роме полно свободного, чтобы более компактно и аккуратно вместить текст, даже иностранный. А как далеко достают двухбайтные поинтеры?

Я также смотрел ром звёздного океана с английским переводом для GBC, забавно, там разбили английский текст на слоги и вписали их в тайлы. Но там очень много тайлов, не 200 с чем-то, как в шрифте защитников оазиса.
249. Mefistotel - 21 Декабря, 2024 - 16:00:00 - перейти к сообщению
JARL32 пишет:
. А как далеко достают двухбайтные поинтеры?

hFFFF = 65535 байт. Двухбайтные указатели адресует в пределе 64 кб.
250. JARL32 - 22 Декабря, 2024 - 15:48:37 - перейти к сообщению
Благодарю за ответ.
А может быть такое, чтобы поинтеры указывали на каждую строку? Например, в играх SNES?

Цитата:
Указатели на GB/GBC такого же типа, как и на SNES, только из-за особенностей адресации приставки они всегда хранятся в промежутке памяти 0x0000-0x7FFF (две области 0x0000-0x3FFF и 0x4000-0x7FFF).


Это действительно так? А какое же тогда будет смещение?
Оно почти всегда отрицательное? А двухбайтные поинтеры тоже будут работать на этих системах?

К примеру: GBC, поинтер 3-байтный(но это не точно): адрес - BEC3E, поинтер -2F3E6C расположен по адресу 59A8, смещение FF9FAEOF и так вычислять смещение для каждого поинтера? Тут определённо что-то не так.
251. Mefistotel - 23 Декабря, 2024 - 06:51:17 - перейти к сообщению
Есть физическую память (rom), а есть оперативная (ram). В твоей вырезке речь об оперативной памяти консоли. Смещение для блока указателей одинаковое. Как правило, классические абсолютные указатели встречаются на сеге , gba и снесе, а на старших консолях типа nes, gb чаще всего относительные двухбайтные, которые работают в пределе одного банка.
252. JARL32 - 27 Декабря, 2024 - 13:41:34 - перейти к сообщению


Кажись, до меня наконец-то дошло как пользоваться этим инструментом.
Ну хотя бы частично.

А игры, в которых текст оптимизирован хаффманом, переводились с помощью круптара? Какие игры вообще известны?
253. Mefistotel - 28 Декабря, 2024 - 01:40:26 - перейти к сообщению
Переводились.
К примеру, Shadowgate на NES.
254. JARL32 - 02 Января, 2025 - 11:14:54 - перейти к сообщению
JARL32 пишет:
Надо попробовать.

Получилось, только файл с русским текстом не нужен вообще. Нужно два файла с английским текстом. Один исходник, во второй пишем.
255. JARL32 - 07 Января, 2025 - 08:51:23 - перейти к сообщению
Есть несколько игр SNES, Sega, GBC, к которым мне нужен компрессор/декомпрессор, ну хотя бы шрифта. Сколько стоит такая работа? Возьмётся ли кто-нибудь из вашей команды за неё?
256. Guyver - 07 Января, 2025 - 11:07:51 - перейти к сообщению
На данный момент только Марат остался. Это к нему...
257. JARL32 - 12 Января, 2025 - 09:17:09 - перейти к сообщению
Марату лично писать нужно, да?

Я тут скачал с ромхакинга компрессор/декомпрессор игр Konami для снеса и что-то они у меня не работают. Ромы вроде бы без заголовков, названия и форматы правильные, а декомпрессор схлопывается, я даже рассмотреть ничего не успеваю. А файлов после себя он не оставляет.
258. Guyver - 12 Января, 2025 - 15:13:05 - перейти к сообщению
Попробуй написать. Ему явно сейчас не до переводов...
259. JARL32 - 13 Января, 2025 - 19:14:34 - перейти к сообщению
Ясно всё с вами...

А какие ещё бывают кодировки кроме MTE и DTE? Я вот упорный, я нашёл поинтер в Стар трек DD9, нашёл терминал ввода фразы, но там ни фига ни то, ни другое, аж 5 байтов надо, чтобы появился !Кусок! фразы. Хотя обычный текст нормально вводится. Но это сегушка, здесь поинтеры 4-байтные, кажись я знаю, как устроить грязный хакинг.

А вот есть игры с частичным DTE, как потом делать проект? Чтобы и у меня была оптимизация?
260. Guyver - 13 Января, 2025 - 20:51:00 - перейти к сообщению
Алекс написал прогу для составления словаря. Ищи на форуме.
261. JARL32 - 14 Января, 2025 - 10:53:04 - перейти к сообщению
Guyver пишет:
Алекс написал прогу

Что же это за программа такая? Как называется?

Да, и я немного не догоняю, как заставить игру понимать, что значения, которые я использую, будут соответствовать. Вот у меня F1=ry, 72=ng. По идее они будут, ну, допустим, F1=сш, 72=ое. А мне надо, чтобы они были более востребованными, ну там F1=на, 72=по.

Интересно, а вот если найти запакованный шрифт в карте тайлов и "поцарапать" его? Может ли случиться, что игра нормально его отобразит?
262. Guyver - 14 Января, 2025 - 15:32:34 - перейти к сообщению
Смотря чем запаковано. В некоторых играх я правил запакованный шрифт вручную сразу прямо в граф. редакторе (Hana no Star Kaidou на денди и др.). Главное понять алгоритм. Прогу гляну как у компа буду.
263. Guyver - 14 Января, 2025 - 19:15:13 - перейти к сообщению
1. Вытаскиваешь весь текст из игры.
2. Переводишь весь (!) текст.
3. Составляешь русский словарь, используя наиболее повторяющиеся части слов/слова.



4. Вставляешь текст в игру.
5. Profit! Укатываюсь

Одинарный поиск - это для Star Wars только подходит.
264. JARL32 - 18 Января, 2025 - 19:02:36 - перейти к сообщению
JARL32 пишет:
Тут определённо что-то не так.

Я проверил поинтер и это именно он и оказался. Так что, возможно, информация из "Поинтеры, часть вторая" касается и физической памяти.

Mefistotel пишет:
Shadowgate на NES.

Не знаю, правдива ли моя теория, но когда текст сжат хаффманом не видно стоп-байтов. Поинтеры есть, а стоп-байтов нет.
265. JARL32 - 02 Апреля, 2025 - 13:32:38 - перейти к сообщению
Возник такой вопрос:
Как составлять проект к круптару в случае, когда FFFF - код новой строки, FFFE - стоп-код, FE-слово "the'. Когда идёт комбинация FFFFFE, круптар обрывает выводимый текст, как действовать в таком случае? Есть идея немного поправить этот код в самой игре, благо его немного. Или есть метод проще?
266. Guyver - 02 Апреля, 2025 - 13:47:02 - перейти к сообщению
Я в таком случае именно оригинальный файл и подправлял, как помню...
267. Guyver - 02 Апреля, 2025 - 14:54:21 - перейти к сообщению
Ещё можно сделать множество стопкодов вместо одного. К примеру, весть твой текст имеет вид:

Предложение 1/FF/FF/FEПродолжение предложения 1./FF/FE
Предложение 2!/FF/FE
Предложение 3?/FF/FE

Сделай три стопкода ./FF/FE !/FF/FE и ?/FF/FE (т.е. перечисли все возможные комбинации). Естественно, вместо знаков . ! и ? надо писать их хекс-коды.

Т.е. у тебя все стопкоды будут состоять из трех символов. Тогда комбинация /FF/FF/FE не будет определяться как стопкод. Понятно?

Такой способ я использовал в паре-тройке игр.
268. Марат - 02 Апреля, 2025 - 15:04:07 - перейти к сообщению
Или пишем плагин для Круптара.
Берём NULL плагин и меняем в нём две функции
CODE:
Function GetData(TextStrings: PTextStrings): AnsiString; stdcall;
Var R: PTextString;
begin
Result := '';
If TextStrings = NIL then Exit;
With TextStrings^ do
begin
R := Root;
While R <> NIL do
begin
Result := Result + R^.Str + #255 + #254;
R := R^.Next;
end;
end;
end;

Function GetStrings(X, Sz: LongInt): PTextStrings; stdcall;
Var P: PByte;
P2: PByte;
begin
Result := NIL;
If (X >= RomSize) or (X < 0) then Exit;
New(Result, Init);
With Result^.Add^ do
begin
P := Addr(ROM^[X]);
Str := '';
While True do
begin
P2 := P;
Inc(P2);
if (P^ = $FF) and (P2^ = $FE) then
Break
else
if (P^ = $FF) and (P2^ = $FF) then
begin
Str := Str + Char(P^) + Char(P2^);
Inc(P, 2);
Continue;
end;
Str := Str + Char(P^);
Inc(P);
end;
end;
end;
269. JARL32 - 02 Апреля, 2025 - 15:24:28 - перейти к сообщению
Марат, ага, работает.

Вариант с тремя символами мне понятен, но требует гораздо больше телодвижений, чем вариант с правкой оригинального рома.
270. Guyver - 02 Апреля, 2025 - 15:51:06 - перейти к сообщению
С уже составленной таблицей и её дополнением в блокноте это занимает максимум секунд 100, по моим прикидкам Ха-ха

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®