форум группы Chief-Net » » Переводы » Simcity (NES)

Страниц (2): [1] 2 »
 

1. Guyver - 02 Января, 2019 - 07:26:50 - перейти к сообщению
Начал переводить simcity. Столкнулся с трудностями. Прошу помощи! В этом сообщении оригинальный ром.
2. Guyver - 02 Января, 2019 - 07:29:24 - перейти к сообщению
UPD -> Всё, с этим разобрался!

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



Сообщение Good job

Оно находится в массиве подобных слов по адресу h630f. Выше по адресу h62c8 находится группа однобайтных поинтеров, указывающих на эти слова.

Слова Good job, Town, City, Capital, Metropolis, Megaropolis, Traffic jam, Crime и другие.

Так вот, где-то на эти слова должны быть их длины, так как указатели я нашёл и поменял, но длины слов остались старыми и длинные слова обрезаются. Ещё, может быть, есть координаты этих слов? Или они центрируются сами? Было бы отлично если так... Помогите хотя бы с их длинами.
3. Guyver - 02 Января, 2019 - 07:57:46 - перейти к сообщению
UPD -> Всё, с этим разобрался!

2. В игре заходим в WINDOWS, а потом в MAPS:



Перемещаясь по меню, можно встретить такие окна.




Я не могу найти как местоположение графических надписей как самих окон, так и заголовки этих окон. Например, я не могу найти заголовки окон - CITY MAP, CITY SERVICES, POPULATION MAP и все графические надписи под ними - All zone и т.д. Мне нужны карты тайлов на эту графику.
4. Guyver - 02 Января, 2019 - 08:44:56 - перейти к сообщению
UPD -> Всё, с этим разобрался!

3. Не могу найти в левом меню 2 пункта, как сами заголовки, так и графику надписей (карты тайлов):

5. Guyver - 02 Января, 2019 - 13:01:15 - перейти к сообщению
4. Вот тут я уже всю голову сломал. Ничего не получается найти:

Меню WINDOWS -> Бюджет:



Ненайденное, как видите, не переведено. Но в этом экране я вообще не нашёл ни одной карты тайлов. Хелп! Больше всего интересует левый столбец, все 4 пункта...

5. И вот тут я не могу найти карты тайлов надписей мелких. Вообще ни одной. Это меню рядом с бюджетом - обзор называется...

6. Марат - 02 Января, 2019 - 14:48:49 - перейти к сообщению
Это же просто графика. А карта вроде как запакована.
К примеру для FIRE FUND адрес на управляющий байт $C1BF
Значение 64; Это число эндится с $1F и к полученному значению прибавляется 1. Далее это значение используется как счётчик повторений следующего байта. После каждой записи повторяемый байт увеличивается на 1. Арифметическая прогрессия.
CODE:

$F992:B1 06 LDA ($06),Y @ $81AF = #$64 //чтение из РОМа значения сжатой карты тайлов
$F994:C9 FF CMP #$FF //Видимо, проверка на конец распаковки
$F996:D0 01 BNE $F999
$F999:29 E0 AND #$E0 //Извлечение по маске
$F99B:C9 E0 CMP #$E0 //Расширенный счётчик, когда больше 32 байт
$F99D:D0 20 BNE $F9BF
$F9BF:48 PHA //Сейвим значение в стёке


$F9C0:B1 06 LDA ($06),Y @ $81AF = #$64 //чтение из РОМа
$F9C2:C8 INY //инскремент индексного регистра
$F9C3:29 1F AND #$1F //эндинг
$F9C5:18 CLC
$F9C6:69 01 ADC #$01 //инкремент значения в аккум. на 1
$F9C8:8D A5 05 STA $05A5 = #$07 //запись в счётчик
$F9CB:A9 00 LDA #$00 //обнуление старшего байта счётчика
$F9CD:8D A6 05 STA $05A6 = #$FF
$F9D0:68 PLA //извлечение из стёка раннее сохраненного значения
$F9D1:10 03 BPL $F9D6
$F9D6:A6 03 LDX $0003 = #$25 //получение старшего байта адреса ppu
$F9D8:8E 06 20 STX $2006 = #$A3 //установка адреса ppu
$F9DB:A6 02 LDX $0002 = #$A3 //получение младшего байта адреса ppu
$F9DD:8E 06 20 STX $2006 = #$A3 //установка адреса ppu
$F9E0:AE A6 05 LDX $05A6 = #$00 //получение старшего байта счётчика
$F9E3:8E A9 05 STX $05A9 = #$FF //установка
$F9E6:AE A5 05 LDX $05A5 = #$05 //получение младшего байта счётчика
$F9E9:D0 03 BNE $F9EE
$F9EE:C9 20 CMP #$20 //Обычный RLE 8bit
$F9F0:F0 36 BEQ $FA28
$F9F2:C9 40 CMP #$40 //копирования из РОМа по два байта за раз.
$F9F4:F0 43 BEQ $FA39
$F9F6:C9 60 CMP #$60 //арифметическая прогрессия
$F9F8:F0 5E BEQ $FA58
$FA58:B1 06 LDA ($06),Y @ $81B0 = #$40 //чттение из РОМа байта, который будет повторен при записи
$FA5A:C8 INY
$FA5B:8D 07 20 STA $2007 = #$DF //Запись в ppu

далее цикл записи в ppu с увеличением значения на 1; арифметическая прогрессия
$FA5B:8D 07 20 STA $2007 = #$DF
$FA5E:18 CLC
$FA5F:69 01 ADC #$01
$FA61:CA DEX
$FA62:D0 F7 BNE $FA5B //возврат в начало цикла
7. Guyver - 02 Января, 2019 - 16:15:23 - перейти к сообщению
Пичаль... Мне нужно будет пару мест перерисовать, не всю карту. Нужен распаковщик/запаковщик, получается?
8. Марат - 02 Января, 2019 - 16:17:42 - перейти к сообщению
Guyver пишет:
Нужен распаковщик/запаковщик, получается?

Ну, получается.
В общем-то не сложный алгоритм.
Да и похожих запаковщиков полно. Можно на скорую руку собрать.
Алгоритм похож на тот, что использует HAL Laboratory в Kirby Adventures

Константы из HAL Codec
CODE:

const
NO_COMP = 0;
RLE_8BIT = 1;
RLE_16BIT = 2;
RLE_SEQ = 3;
LZ_NORM = 4;
LZ_ROT = 5;
LZ_REV = 6;
EXPAND = 7;
DATA_SIZE = 65536;
RUN_SIZE = 32;
LONG_RUN_SIZE = 1024;
TERMINATOR = 255;


Те же 3 бита на метод сжатия.
Те же 32 байта на счётчик
Тот же терминатор $FF
9. Марат - 02 Января, 2019 - 16:32:09 - перейти к сообщению
У меня даже есть подозрение, что здесь именно этот алгоритм и есть. Возможно просто LZ вариант отсюда выкинули просто и всё.
Сейчас проверю - попробую распаковать.
10. Guyver - 02 Января, 2019 - 16:45:00 - перейти к сообщению
Я пока, думаю, могу и так справиться. Мне нужны такие адреса, как ты дал, на остальные 3 слова - полиция, транспорт и образование. И с этим экраном я справлюсь...

UPD: Всё, я нашёл. С этим экраном справился. Дай адреса на второй экран...
11. Марат - 02 Января, 2019 - 16:46:01 - перейти к сообщению
И, кстати, да, работает.

12. Марат - 02 Января, 2019 - 16:58:32 - перейти к сообщению
$CD6E - адрес на управляющий байт слова Residential
13. Guyver - 02 Января, 2019 - 17:16:58 - перейти к сообщению
Предыдущее меню сделал:



Спасибо. Попробую поколдовать...
14. Марат - 02 Января, 2019 - 17:22:06 - перейти к сообщению
Модифицировал HALCODEC - убрал из методов LZ.
$C12A - начало карты первой картинки
$CD20 - начало карты второй картинки

Как находить адрес карты:
Ставим исполнительный брейкпоинт на $F988
После того, как брейкпоинт сработал, степим до адреса $F992
CODE:
07:F992:B1 06 LDA ($06),Y @ $8D10 = #$E4

Смотрим адрес, в данном случае $8D10.
Переходим в хекс эдитор вкладка NES Memory, ставим курсор на байт по адресу $8d10 и нажимаем правую кнопку мыши, в всплывающем меню выбираем пункт Go Here In ROM File.
15. Guyver - 02 Января, 2019 - 19:50:47 - перейти к сообщению
Я не умею с бряками работать Закатив глазки

Кое-как сделал вручную:



Пока все доступные в начале игры меню сделал. Остаётся только проходить игру, так как потом появятся и другие меню, типа меню в сберегательном банке и т.д.

С текстом подсказок вроде проблем нет, подключаю понемногу. А вот в тексте режима практики используется, похоже, словарная система. Эх...
16. Guyver - 02 Января, 2019 - 20:47:30 - перейти к сообщению
Попробовал компрессор - тяжко с ним работать... При любом изменении размер упакованного файла увеличивается в 2 раза!!! Хотя я, по идее, даже упростил для алгоритма сжатия задачу. Т.е. по-идее должен был размер уменьшится...
17. Марат - 02 Января, 2019 - 21:00:16 - перейти к сообщению
Странно. Я вот попробовал запаковать карту 2048 байт запаковал в 760 байт.
18. Guyver - 03 Января, 2019 - 05:46:51 - перейти к сообщению
Хм... Я, видимо, что-то не так делал. Теперь запаковывает нормально, но.

Я пакую вторую картинку и вставляю, она показывает в роме отлично, но портится первая картинка и ром при клике на меню зависает при переходе в бюджет.

И там ещё где-то в середине пакета обзора города есть надпись ZONING для первой картинки, после перепаковки она исчезает... Т.е. эти 2 картинки "проникают" друг в друга и в итоге одна из них портится...
19. Guyver - 03 Января, 2019 - 10:59:49 - перейти к сообщению
Перевёл и вставил весь текст помощника, теперь занимаюсь остальным текстом... Поиграл немного в игру - офигенная!
20. Guyver - 03 Января, 2019 - 12:27:45 - перейти к сообщению
Марат, не можешь глянуть текст в практике, когда её начинаешь, там брифинг - Welcome to the world of...

Мне нужны поинтеры на него и длины, если они есть. Должны быть... С ходу никак не найду...
21. Марат - 03 Января, 2019 - 14:11:54 - перейти к сообщению
Guyver пишет:
Марат, не можешь глянуть текст в практике, когда её начинаешь, там брифинг - Welcome to the world of...

Мне нужны поинтеры на него и длины, если они есть. Должны быть... С ходу никак не найду...


$3196 - младший поинтер
$31A3 - старший поинтер
Длин строк нет. Есть код $0A - перенос строки и $5B - конец сообщения.
22. Guyver - 03 Января, 2019 - 21:19:35 - перейти к сообщению
Спасибо! Перевод готов на 90-95%. Но я посмотрел ром оригинальный, есть косяки. Не все из них Санчез поправил... Эх...

В течение игры в меню подарков появляются разные сооружения. И у одного из них неправильное описание и графика попорчена. И при строительстве какие-то артефакты видны. Эх... Надо как-то исправлять.

Проверить косяк легко. Заходим в режим практики, начинаем игру. Ставим все 6 бедствий, дожидаемся когда они пройдут - и всё. дополнительное самое нижнее меню слева активировано и у нас появились подарки. И косяк...

23. Mefistotel - 04 Января, 2019 - 03:17:29 - перейти к сообщению
Ты бы сейв на FCEU приложил, чтобы быстро можно было глянуть. Карта тайлов поехала, а описание интересно есть в памяти.
24. Guyver - 04 Января, 2019 - 05:16:25 - перейти к сообщению
Да зачем сейв. С ускорением эмулятора это секунд за 10 можно проверить...
25. Марат - 04 Января, 2019 - 12:55:54 - перейти к сообщению
Геморно это. Может, где-то поинтер сбит. Трудно отследить.
26. Guyver - 04 Января, 2019 - 13:56:31 - перейти к сообщению
Ну ладно пока, взял более ранний ром-прототип. Там этого вроде нет, как и ещё одного глюка...
27. Guyver - 05 Января, 2019 - 02:58:23 - перейти к сообщению
Ну, если что, будет 2 перевода. Оригинал и ром от Санчеза, если он его допилит... Дело ещё в том, что при допиливании рома нужно будет полностью с нуля проект к нему делать, так как всё в роме сместится на другие адреса при компиляции...

И ром очень сложный в плане проекта, так как многое приходится делать прямо в роме без проекта, из-за мелких надписей, которые не шрифтом идут, их нельзя разбить на буквы и подключить в проекте. И таких надписей ОЧЕНЬ много...
28. Guyver - 05 Января, 2019 - 15:46:14 - перейти к сообщению
Марат, помоги пожалуйста.

Вот новый ром с сохранением: https://dropmefiles.com/DDEcz



1. Я заменил в игре "-" на букву "Я", и теперь мне надо в меню анализа заменить этот символ (разница за год). Не могу его найти...

2. Ещё если загрузить это сохранение и выйти в ОКНАх в МЕНЮ, потом зайти в сценарии и выбрать песочницу, а потом зайти в АНАЛИЗ, то мы вместо типа города увидим кракозябры. Там должно быть просто пустое место. Если построить пару домов и электростанцию, немного подождать, то население вырастет и город сменит свой статус на СЕЛЕНИЕ и всё будет ОК. Т.е. тут забыли статус поменять на нулевой (можно его заменить на СЕЛЕНИЕ, если на нулевой не получится...).



Санчез в роме из первого сообщения это исправил. Не глянешь, можно ли это повторить в нашем роме?
29. Марат - 05 Января, 2019 - 18:51:31 - перейти к сообщению
Guyver пишет:
1. Я заменил в игре "-" на букву "Я", и теперь мне надо в меню анализа заменить этот символ (разница за год). Не могу его найти...


$139F4
30. Guyver - 06 Января, 2019 - 20:31:26 - перейти к сообщению
Марат, нужна помощь. Вроде это последний текст в игре (надеюсь)



Вот ром с сейвом: https://dropmefiles.com/5X8u2

Нужно вот что:

1. Видишь, я начал писать русский текст, но часть букв ссылаются на другой банк. Где-то там рядом расположена карта, где проставлены какие буквы на какой банк ссылаются. Мне надо всё привести к одному банку. Там запаковано, видимо, но там всего-то 1 байт на другой менять, должно прокатить. Где эти две карты находятся?

Нужно зайти в банк - будет первое сообщение. Берём кредит. Выходим на карту (важно!), идём опять в банк - получаем второе сообщение. Банк находится во вкладке Бюджета.

2. Поинтеров там нет? На текст? Они записаны картой тайлов в самих фразах?

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