PSX Planet: SONY PlayStation Community

PSX Planet: SONY PlayStation Community (https://psxplanet.ru/forum/index.php)
-   Ваши игровые проекты (https://psxplanet.ru/forum/forumdisplay.php?f=9)
-   -   О переводах игр (https://psxplanet.ru/forum/showthread.php?t=31951)

Kazooki 20.01.2020 10:14

Ответ: О переводах игр
 
SlavaVlasov, так сам elf выложил бы

SlavaVlasov 20.01.2020 19:56

Ответ: О переводах игр
 
Цитата:

Сообщение от Kazooki (Сообщение 257932)
SlavaVlasov, так сам elf выложил бы

Вот.

Kazooki 21.01.2020 15:58

Ответ: О переводах игр
 
Чисто на глаз какой то блок поинтеров с адреса 0xa924

SlavaVlasov 23.01.2020 16:41

Ответ: О переводах игр
 
Цитата:

Сообщение от Kazooki (Сообщение 257999)
какой то блок поинтеров с адреса 0xa924

Вряд ли. Размер блока с текстом - 7 788‬ байт (1E6C). Пойнтеров маловато. Основная проблема в том, что я не нахожу пойнтеров со значениями согласно длине слов. Например:
[h00] WELL DONE!..
[h0C] BAD LUCK....
[h18] TO CONTINUE.

Высматриваю разницу между другими значениями, но совпадений не нахожу.

UPD:
Обнаружил, что там два текстовых блока: один - на 0x7858, второй - на 0xB22D0.
В первом обнаружил интересную закономерность: большинство строк имеют размер C (если считать вместе с нулевыми байтами). Во втором блоке размер коротких строк - 4, средних - 8 (тоже с нулевыми байтами).

ViToTiV 23.01.2020 21:30

Ответ: О переводах игр
 
SlavaVlasov, в исполняемом файле поинтеры могут идти где угодно и как угодно, могут повторяться по 10 раз. совсем не обязательно они идут по порядку, я бы даже сказал что в большинстве случаев они идут не по порядку.
искать их конечно надо не в самом файле, а в дампе памяти, а потом уже смотреть где они находятся в файле.
я бы тебе помог, но совсем нет времени.

SlavaVlasov 23.01.2020 22:44

Ответ: О переводах игр
 
Цитата:

Сообщение от ViToTiV (Сообщение 258100)
в исполняемом файле поинтеры могут идти где угодно и как угодно, могут повторяться по 10 раз

Это я уже понял. Я уж и через ArtMoney сканировал. Обычные пойнтеры не находит, а пойнтеры со сдвигом - от 400 до 3000. Те, которые менял (в т.ч.по адресу ближе к блоку с текстом) - ничего не поменялось (менял от силы штук 50 пойнтеров, увеличивая значение первого байта).

SlavaVlasov 23.01.2020 22:53

Ответ: О переводах игр
 
Небольшое отступление: выяснил, что файл титров в игре (0004901f.dat, извлекаемый из сжатого SHELL.DAT) не должен превышать исходный размер - 6 834 байта (1AB2), иначе игра перестает отображать титры. И это не смотря на то, что даже оригинальный файл после повторного сжатия имеет меньший размер структуры данных.

YAGAMI55 23.01.2020 23:12

Ответ: О переводах игр
 
SlavaVlasov, скорее всего где то есть поинтер указывающий на размер текстового блока. Часто такое бывает. Получается если после сжатия ориг файл меньшего размера и пашет, значит все манипуляции происходят в самом сжатом файле SHELL.DAT

SlavaVlasov 24.01.2020 03:21

Ответ: О переводах игр
 
Вложений: 1
Еще в SHELL.DAT обнаружил любопытные INI-файлы (пока не проверял, задействованы они в игре или нет), вроде:
Нажмите
[Desktop]
width = 320
height = 240
onBack = goBack
[button]
id = Background
x = 0
y = 10
width = 320
height = 240
image = "MMLogo" at(5,5) plane(100)
image = "trackBack1" at 0,0 tint(40,40,250) plane 3000
image = "trackBack2" at 64,0 tint(40,40,250) plane 3000
image = "trackBack3" at 128,0 tint(40,40,250) plane 3000
image = "trackBack4" at 192,0 tint(40,40,250) plane 3000
image = "trackBack5" at 256,0 tint(40,40,250) plane 3000
[button]
id = Title
x = 0
y = 10
width = 320
height = 240
text = string(PCHS) centered (200, 26) font(Big) color(10,130,200) bgcolor(0,0,210) plane(10)
[button]
id = player1Button
x = 0
y = 90
width = 320
height = 40
hasfocus = yes
focustype = highlight
text = string(pOne) id (btnText) centered 192,0 font (Big) color (180,130,10) plane (50)
onFocus = setIndex
onFocusP = 1
action = loadscript
aparam = CtrlCfg.afw
onup = setfocus
onupP = btnAccept
ondown = setfocus
ondownP = player2Button
[button]
id = player2Button
x = 0
y = 120
width = 320
height = 40
focustype = highlight
text = string(pTwo) id (btnText) centered 192,0 font (Big) color (180,130,10) plane (50)
onFocus = setIndex
onFocusP = 2
action = loadscript
aparam = CtrlCfg.afw
onup = setfocus
onupP = player1Button
ondown = setfocus
ondownP = btnVib
[button]
id = btnVib
x = 0
y = 150
width = 320
height = 40
focustype = highlight
text = string(NULL) id (txt) centered 192,0 font (Big) color (180,130,10) plane (50)
onFocus = setIndex
onFocusP = 3
onup = setFocus
onupP = player2Button
ondown = setFocus
ondownP = btnAccept
onleft = ToggleVib
onright = ToggleVib
[button]
id = btnAccept
x = 0
y = 180
width = 320
height = 40
focustype = highlight
text = string(Ok) id (txt) centered 192,0 font (Big) color (180,130,10) plane (50)
action = Accept
onFocus = setIndex
onFocusP = 4
onup = setfocus
onupP = btnVib
ondown = setfocus
ondownP = player1Button
[button]
id = btnOK
x = 100
y = 70
focustype = highlight
rect = coords(0,0,190,110) bgcolor(0,0,0) plane(20) blend(half)
textWindow = string(null) id (txt) centered(95,20) font(Micro) color(180,130,10) plane(10) width(150) height(100)
text = string(OK) centered(95,95) font(Big) color(180,130,10) plane(10)
isVisible = no
isModal = yes
action = hidepopup
[menu]
id = popup
item = btnOK
(ewt) IMPORTANT! Leave this button here at the BOTTOM of the file.
[button]
id = dummy
setValue = activeController, both




Прикреплю на всякий случай архив с ними (может потом как-нибудь понадобится).


Часовой пояс GMT +3, время: 09:52.

Перевод: zCarot
Права | Copyright ©
© PSX Planet Community 2003-2024