1
НАМ 17 ЛЕТ!




 [ Сообщений: 44 ]  На страницу Пред.  1, 2
Перевод игр 3DO 
Автор Сообщение
Аватара пользователя
Мегажитель
Мегажитель

Группа: Пользователи
Сообщения: 457
Регистрация: 28 янв 2013, 16:41
Модель 3DO: Panasonic FZ-10 NTSC-U
Сообщение 

Black Jack писал(а):
вот что я узнал
2)CHR - это файл в котором находится текст в виде спрайтов,нужны Программы для обработки: Chr Editor 1.50, ChrPrint 1.06, Burial Gfx Editor. Хитро придумано веть это использовалось для создания игр на Спектруме,есть идеи???нужны эти проги!!!Символьный файл или файл шрифта Borland graphics interface (BGI)


http://zxsoft.zxby.org/#graphed


09 фев 2013, 05:47
Аватара пользователя
Ужас, летящий на крыльях ночи!
Ужас, летящий на крыльях ночи!

Группа: Разработчики
Сообщения: 9126
Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U

Советы переводчикам старых игр
Форматы файлов
http://wiki.scummvm.org/index.php/SCUMM ... _Reference
https://github.com/scummvm/scummvm/tree/master/engines

Добавлено спустя 23 минуты 33 секунды:
Тут что-то написано про "Файл соответствия букв алфавита (фрагмент ASCII)?" :du_ma_et: Как он выглядит на примере?


26 окт 2014, 03:36
Аватара пользователя
Осваиваюсь
Осваиваюсь

Группа: Пользователи
Сообщения: 28
Регистрация: 12 авг 2023, 16:49
Модель 3DO: Нет

Мой опыт по переводу(озвучке) Shockwave 2: Beyond the Gate

Весь звук игры находится в stream файлах в папке ShockWave2\FrontEnd\Streams
и в файлах миссий без разширения в папке ShockWave2\ (их я буду называть m-файлы)

На первом диске находятся данные для 1,2,3,4,7,8 уровней:
m1a, m1b, m1c это файлы миссий первого уровня
m2a, m2b это файлы миссий второго уровня
и т.д.
На втором диске для 1,5,6,7,8 уровней

Эти файлы что-то вроде архива, внутри которого находятся файлы для уровня
ANIM CEL stream и какие-то еще

Форматы файлов:
Файлы stream внутри содержат SNDS и FILM - звук и видео, соответственно
ANIM - это группа CEL кадров и возможно что-то еще
CEL - это текстура(картинка)

Для озвучки нас интересуют SNDS файлы
внутри stream находится один аудио файл
внутри m-файлов находится несколько stream файлов, внутри которых по одному аудио-файлу
для нас удобней будет не распаковывать m-файлы

Инструменты, которые я использовал:
bin2iso для конвертации образа из bin/cue в ISO 2048
unCD-ROM для распаковки файлов из ISO образа
quickBMS универсальный инструмент для распаковки и запаковки игровых файлов
ffmpeg мультимедиа-фрейморк для разных конвертаций(aifc в wav, в основном)
ZStreamChunksReader специальный инструмент для файлов приставки 3DO
audacity аудио-редактор для "монтажа" звука

Процесс состоит из 3 этапов:
1.Извлечь аудио файлы
2.Озвучить
3.Запаковать аудио файлы обратно, сначала в файл stream или m-файл, а потом и в ISO

Извлекаем
0. Конвертируем образ в ISO. Извлекаем файлы в папку
bin2iso первой строчкой в cue файле ожидает увидеть путь к bin файлу, поэтому
открываем cue файл блокнотом и удаляем первую строку с нолями, если они там есть
конвертируем образ в ISO(в командной строке)
bin2iso disc1.cue disc1.iso
извлекаем файлы в папку(в командной строке)
uncd-rom disc1.iso

1.Достаём аудио в понятном формате из m-файлов и stream
Для этого можно использовать ZStreamChunksReader.
На вкладке Audio Convertation(1) жмём на кнопку Add Files(2)
и выбираем все нужные нам файлы. Они появятся в списке справа
Изображение
На вкладке Audio Data Ripper(3) жмём Search Audio(4)
Программа создаст MAP файлы, в которых содержится информация о расположении аудио и других файлов внутри
Изображение
Снова заполняем список(2) m-файлами и stream. Теперь жмём Extract Audio(5)
Мы получили аудио данные в сыром виде(sound), без заголовка и сжатые методом SDX2
Для конвертации в wav нужна информация о частоте дискретизации(22050Hz) и количестве каналов(моно, стерео)
Узнать информацию о конкретном файле можно при сканировании одного файла(не списком) кнопкой Search Audio

У Shockwave 2: Beyond the Gate всё аудио в 22050 Hz
Стерео:
I1_1 - начальная заставка
CD - фразы "вставьте диск 1 или 2"
cv - архив записей
ev - катсцены между уровнями
Моно:
всё остальное, в том числе m-файлы

Опять заполняем список на вкладке Audio Convertation(1), но на этот раз полученными sound файлами
Выбираем соответствующие свойства 22050 Hz и моно или стерео
Не забудьте поставить 0 в поле Header Lenght to cut
Жмём на кнопку SDX2 to WAV
В итоге, мы получили исходный звук из игры в формате PCM 16-bit без сжатия и с заголовком wav файла

В процессе работы заметил, что ZStreamChunksReader не точно вырезает-конвертирует файлы.
В конце волны бывают артефакты, которые звучат как щелчок.
Поэтому, для распаковки написал bms скрипт SHDRv2.bms
Он достаёт sound файлы из чего угодно(даже из ISO) и сохраняет их в виде sound и aifc файлов
aifc файлы содержат заголовок с информацией, необходимой для конвертации в wav
извлекаем из file
quickbms SHDRv2.bms file
конвертируем в wav
ffmpeg -i file.aifc -filter:a "volume=-10dB" file.wav
тут я сразу уменьшаю громкость оригинала на -10db для удобства наложения озвучки
(всё что в теге code нужно вводить в командной строке)

для автоматизации процесса использую bat файл
for %%a in (m*) do quickbms SHDRv2.bms "%%a"

for %%a in (*.aifc) do ffmpeg -i %%a -filter:a "volume=-10dB" %%~na.wav

del *.aifc
@pause

он извлекает всё аудио из m-файлов (m*)(для stream файлов заменить на (*.stream) )
конвертирует все aifc файлы в wav и удаляет aifc файлы(они нам больше не понадобятся)

В теории, этим скриптом можно извлечь всё аудио из ISO образа без распаковки(не проверял).


Озвучиваем
Для получения перевода с озвучкой, я использовал rutube и расширение tampermonkey
со скриптом Voice Over Translation

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

1. Склеил wav и создал видео-файлы из картинки+звук для заливки на rutube
Дальше, всё что в теге code нужно вводить в командной строке
создать txt с именами файлов в папке
dir /b /a /-p /o:gen >files.txt
склеить файлы в один wav
ffmpeg -f concat -i concat.txt -c copy cv.wav
внутри concat.txt такая структура
file 'CV1A_1.wav'
file 'CV1A_2.wav'
file 'CV1A_3.wav'
file 'CV1C2_1.wav'

и т.д.
создать видео со звуком из картинки
ffmpeg -loop 1 -i shock-wave-2-beyond-the-gate-logo.jpg -i cv.wav -c:v libx264 -c:a mp3 -strict -2 -pix_fmt yuv420p -shortest cv.avi
где cv.wav это имя файла из склеенных wav
Получили cv.avi для заливки на rutube

2. Получаем озвучку
Залил файлы на rutube и в скрипте после озвучки скачал чистый mp3 с озвучкой
Изображение
Видео доступные по ссылке не могут быть обработаны скриптом

3. Миксуем озвучку с оригинальным звуком из игры
Я делал в audacity. Можно использовать любой удобный вам аудио-редактор
Длительность аудио не может быть больше чем в оригинале.
Если фраза на русском длиннее оригинала, менял темп в редакторе
На выходе у нас должна получиться куча wav файлов PCM 16-bit 22050Hz с соответствующими оригиналу количеством каналов и длиной,
готовых к запаковке обратно


Запаковываем
1. Конвертируем wav обратно в голый SDX2
В ZStreamChunksReader загружаем готовые wav файлы в список(2)
Жмём Pack to SDX2
Получили кучу aifc файлов. Это наш звук, пожатый алгоритмом SDX2 с заголовком aifc и хвостом
Для вставки аудио обратно в stream или m-файл нужно голое аудио без заголовка
Вот тут я то ли не понял, то ли ZStreamChunksReader не работает как надо:
ZStreamChunksReader версии 0.8.2 содержит в архиве инструкцию по работе с программой. Там написано
"сделать из него “сырой” файл выполнив операции Search Audio и Extract Audio в итоге получив .SOUND файл."
Вот это не работает. Пишет No Data Extracted


2.Обрезаем заголовок и хвост у aifc файлов
помещаем quickbms и скрипт SSNDstrip.bms для него в папку с aifc файлами
и в командной строке пишем
for %f in (*.aifc) do quickbms SSNDstrip.bms "%a"
Получили кучку SSND файлов, готовых к вставке обратно в stream и m-файлы

3.Вставляем аудио обратно
Убедитесь, что MAP файлы лежат рядом с соответствующими stream и m-файлами
В ZStreamChunksReader на вкладке Audio Data Insert жмём кнопку Insert Audio
Сначала выбираем куда вставлять(stream или m-файл), затем - что вставлять (SSND файл)

С m-файлами на этом этапе есть нюанс. Помните, мы не стали распаковывать m-файлы?
Нужно предварительно склеить SSND файлы из конкретного m-файла для вставки в этот m-файл
Нюанс заключается в том, что m-файл, в отличии от stream, содержит несколько аудио файлов,
а ZStreamChunksReader вставляет только один аудио файл

Для склейки используем команду (на примере m4a m-файла)
copy /b m4a*.SSND m4a.SSND
Важно! Файлы для склейки должны быть пронумерованы в правильном порядке,
таком же, в котором они извлекались из m-файла. Нужно добавить 0 к одноциферным SSND
0>00 1>01 2>02 и т.д.

4. Запаковываем файлы в ISO
Я использовал скрипт iso2files.bms для quickbms
Он читает данные из unCD-ROM.log (его создает unCD-ROM при распаковке) и заменяет файлы внутри ISO
Таким образом, нет необходимости пересобирать весь диск и переподписывать его.
С unCD-ROM.log есть нюанс: скрипт iso2files.bms еще сырой, поэтому, нужно подправить файл unCD-ROM.log блокнотом,
чтобы все пробелы после "PosInFile:" и "Size:" были нолями. Вот так:
было "PosInFile: 71800 Size: 25858" стало "PosInFile:00071800 Size:000025858"

В папке с ISO должен находится подправленный файл unCD-ROM.log и quickbms, а файлы на замену - рядом в папке с названием как у ISO
Например, если образ disс1.iso, то в папке disc1 должны лежать stream и m-файлы,
которые вы хотите вставить, но БЕЗ папок ShockWave2\FrontEnd\Streams или ShockWave2\
Команда
quickbms -r -w iso2files.bms disс1.iso
запишет файлы из папки disс1 в образ disс1.iso

Готово!


Добавлено спустя 3 минуты 30 секунд:
Содержимое bms скриптов, на всякий случай

SHDRv2.bms
endian big
get NAME BASENAME
set Snumber long -1 //Sound file number in file
get Size asize

// count SNDS chunks
for i
findloc OFFSET string "SNDS" 0 ""
if OFFSET == ""
break
endif
math count + 1
math OFFSET + 1
goto OFFSET
next
goto 0

//get Sound file Header and Samples
For i = 0 < count
FindLoc OFFSET string "SNDS"
goto OFFSET
getdstring SNDS 4
get Size long
get UNKN long
get NULL long
getdstring ID 4

if ID = "SHDR" //Header
math Snumber + 1
get MFSize asize MEMORY_FILE

if MFSize != 0 //there is data in memory (more than 1 sound file in archive)
xmath WSize "MFSize - 8" //WAVE size
xmath SSize "MFSize - HeaderSize" //sound data size (with padding)
xmath SSize2 "SSize - 8" //sound data size (no padding)
log SNAME 110 SSize2 MEMORY_FILE // write .sound file
math HeaderSize - 4
Putvarchr MEMORY_FILE 4 WSize long //ckSize
Putvarchr MEMORY_FILE HeaderSize SSize long //sound data size
log FNAME 0 MFSize MEMORY_FILE //write .aifc file
log MEMORY_FILE 0 0 //clear memory
endif

//read header
#SHDR[0][Buffers][Ampltude][Balance][0][Sample bits][Sample rate][Channels][Codec][Comp ratio][Samples count]
get NULL long
get Buffers long
get Ampltude long
get Balance long
get NULL long
get sampleSize long
get SampleRate long
get numChannels long
getdstring Codec 4
get CompRatio long
get numSampleFrames long
string FNAME P "%NAME%-%Snumber%.aifc"

//make aifc header
log MEMORY_FILE 0 0
putdstring "FORM" 4 MEMORY_FILE
put 0 long MEMORY_FILE //ckSize
putdstring "AIFC" 4 MEMORY_FILE
putdstring "FVER" 4 MEMORY_FILE
put 4 long MEMORY_FILE //ckDataSize
put 2726318400 long MEMORY_FILE //AIFCVersion1
putdstring "COMM" 4 MEMORY_FILE
put 62 long MEMORY_FILE //ckDataSize2
put numChannels short MEMORY_FILE
put numSampleFrames long MEMORY_FILE //0 is ok (samples/channel)
put sampleSize short MEMORY_FILE //8bit 16bit (bits/sample)
//actualy its extended data type 10 bytes
put 0x400E short MEMORY_FILE
put sampleRate short MEMORY_FILE //sampleRate
put 0 long MEMORY_FILE
put 0 short MEMORY_FILE // end of sampleRate

putdstring Codec 4 MEMORY_FILE //comp Type
putdstring "2:1 Squareroot-Delta-Exact compression." 40 MEMORY_FILE //comp Name
putdstring "SSND" 4 MEMORY_FILE //Sound Data Chunk
put 0 long MEMORY_FILE //sound data size
get HeaderSize asize MEMORY_FILE
put 0 long MEMORY_FILE //padding 0000
put 0 long MEMORY_FILE //padding 0000

endif

if ID = "SSMP" //Sound Sample
get SMPSize long
Savepos SMPOffset
string SNAME P "%NAME%-%Snumber%.sound"
append
log MEMORY_FILE SMPOffset SMPSize
/* log SNAME SMPOffset SMPSize */
append
endif
Next i

get Size asize MEMORY_FILE
xmath WSize "Size - 8" //WAVE size
xmath SSize "Size - HeaderSize" //sound data size (with padding)
xmath SSize2 "SSize - 8" //sound data size (no padding)
log SNAME 110 SSize2 MEMORY_FILE // write .sound file
math HeaderSize - 4
Putvarchr MEMORY_FILE 4 WSize long //ckSize
Putvarchr MEMORY_FILE HeaderSize SSize long //sound data size
log FNAME 0 Size MEMORY_FILE // write .aifc file


SSNDstrip.bms
endian big
get NAME FILENAME
FindLoc OFFSET string "SSND"
goto OFFSET
getdstring SSND 4
get Size long
math Size - 8
Savepos OFFSET
math OFFSET + 8
string NAME P "%NAME%.SSND"
log NAME OFFSET Size


iso2files.bms
#extract files from 3DO iso according to unCD-ROM.log file
#unCD-ROM.log must be in folder with iso file
#for import to iso use "quickbms -r -w iso2files.bms disk.iso"
#files you wish to import must be in folder with iso name

log MEMORY_FILE 0 0
log MEMORY_FILE2 0 0
get Dir BASENAME
open FDSE unCD-ROM.log 1 EXIST //open unCD-ROM.log file
if EXIST = 0
print "Can't open unCD-ROM.log file"
else
//parse unCD-ROM.log
for i = 0 < 398
FindLoc OFFSET string "PosInFile:" 1
math OFFSET + 10
goto OFFSET 1
getdstring PosInFile 8 1
put PosInFile string MEMORY_FILE

FindLoc OFFSET string "Size:0" 1
math OFFSET + 6
goto OFFSET 1
getdstring Size 8 1
put Size string MEMORY_FILE
endian big
comtype hex
clog MEMORY_FILE2 0 17 17 MEMORY_FILE
goto 0 MEMORY_FILE
goto 0 MEMORY_FILE2
FindLoc OFFSET string "filename:" 1
math OFFSET + 9
goto OFFSET 1
get FName line 1

get PosInFileHex long MEMORY_FILE2
get SizeHex long MEMORY_FILE2
endian little
string Name P "%Dir%/%FName%"
log Name PosInFileHex SizeHex

next i


endif

Последний раз редактировалось sherad00 14 авг 2023, 02:46, всего редактировалось 1 раз.



13 авг 2023, 19:11
Случайный аватар
Мегажитель
Мегажитель

Группа: Пользователи
Сообщения: 441
Регистрация: 07 фев 2016, 23:24
Откуда: Москва
Модель 3DO: Panasonic FZ-1 NTSC-U

Drug wars
Crime patrol
Хотелось бы

Добавлено спустя 7 минут 26 секунд:
Drug wars - уже руссо пирато на плейстешн есть
может кто воспользуется
совместит файлы?
там вроде не такой плохой перевод


14 авг 2023, 00:00
Аватара пользователя
Старожил
Старожил

Группа: Пользователи
Сообщения: 5837
Регистрация: 21 июн 2010, 06:50
Откуда: ДНР Россия
Модель 3DO: Panasonic FZ-1 NTSC-U

Drug wars
Crime patrol
Хотелось бы

Добавлено спустя 7 минут 26 секунд:
Drug wars - уже руссо пирато на плейстешн есть
может кто воспользуется
совместит файлы?
там вроде не такой плохой перевод

на ПК есть обе части Crime Patrol с русской локализацией от 1C, там есть русская озвучка


21 авг 2023, 14:22
Аватара пользователя
Осваиваюсь
Осваиваюсь

Группа: Пользователи
Сообщения: 28
Регистрация: 12 авг 2023, 16:49
Модель 3DO: Нет

Добавляем кириллицу в шрифт 3DO (на примере Space pirates (1995))

Для этого понадобится:
-редактор шрифтов FontForge
-3DOFontWriter в 3DO SDK
-FTP клиент для обмена файлами с виртуальной машиной SDK
-Готовый шрифт с кириллицей

Открываем свой шрифт c кирилицей в FontForge
выделяем глифы с 410 по 44f
копируем ссылку (пкм > copy reference)
вставляем глифы в с0 (пкм > paste)
Encoding > Force Encoding > Macintosh Latin
Element > Font Info > меняем имя шрифта, если такой шрифт уже установлен в sdk
File > Generate font > TrueType (MacBin) > Generate
FontForge ругается на ошибки. Это нормально. Жмём ещё раз generate

полученный шрифт ttf.bin обязательно пакуем в zip архив
передаем архив в 3do sdk через ftp(ip вашего компьютера, порт 21000, anonymous, transfer mode: Active)
(настройки FTP можно посмотреть в Rumpus > File > Configuration)
В виртуальной машине с sdk распаковываем архив (пкм на архиве > Stuffit > Expand)
из получившейся папки переносим(Drag'n'Drop) шрифт ttf на 3DO/SystemFolder для установки шрифта в систему

В 3DOFontWriter File > New
выбираем наш шрифт, view area 16x16, font size 12, max ASCII 255
остальное по вкусу
Сохраняем File > Save 3DO font
Получившийся файл шрифта(Helvetica.12pt.3do) переносим из виртуальной машины на компьютер опять по ftp

этим шрифтом заменяем шрифт в образе (в Космических пиратах это /SP/SPData/SPFonts/sample.font)

Насколько я понял, 3DOFontWriter из SDK это единственная утилита для работы со шрифтами 3do.
Если это не так, дайте знать
Существует готовый образ SDK вместе с эмулятором QEMU
который можно запустить без танцев с бубном :-ok-:


18 ноя 2024, 16:18
Случайный аватар
Мегажитель
Мегажитель

Группа: Пользователи
Сообщения: 441
Регистрация: 07 фев 2016, 23:24
Откуда: Москва
Модель 3DO: Panasonic FZ-1 NTSC-U

А,второй шрифт для цели найдется?


22 ноя 2024, 18:22
Аватара пользователя
Мегажитель
Мегажитель

Группа: Пользователи
Сообщения: 457
Регистрация: 28 янв 2013, 16:41
Модель 3DO: Panasonic FZ-10 NTSC-U

Как сейчас конвертируете bmp в cel ?


26 ноя 2024, 18:35
Аватара пользователя
Специалист
Специалист

Группа: Администраторы
Сообщения: 11503
Регистрация: 03 дек 2009, 22:32
Откуда: MO/DK
Модель 3DO: Panasonic FZ-1 NTSC-U

Ryudo
Да так же — из 3DO Toolkit — Photoshop 4.0 + 3DO Cel Writer и 3DO Animator для тяжёлых случаев (Remap Colors и подобных).


26 ноя 2024, 22:07
Аватара пользователя
Мегажитель
Мегажитель

Группа: Пользователи
Сообщения: 457
Регистрация: 28 янв 2013, 16:41
Модель 3DO: Panasonic FZ-10 NTSC-U

Ryudo
Да так же — из 3DO Toolkit — Photoshop 4.0 + 3DO Cel Writer и 3DO Animator для тяжёлых случаев (Remap Colors и подобных).

в виндовс 10 что то не работает ( BasiliskII.

Добавлено спустя 10 минут 18 секунд:
Конвертер с под винды bmp>cel упростил бы жизнь. Есть игры где перевод в cel формате Icebreaker,AutoBahn Tokio тот же Blade Force.


26 ноя 2024, 22:14
Аватара пользователя
Специалист
Специалист

Группа: Администраторы
Сообщения: 11503
Регистрация: 03 дек 2009, 22:32
Откуда: MO/DK
Модель 3DO: Panasonic FZ-1 NTSC-U

У тебя вроде BannerScreen какой-то (я с телефона, поэтому не видел) — утилита Makebanner.exe (+ Makebanner.bat) от cdoty конвертит отлично, только не знаю, работает ли она на Win 10. :nez-nayu:

Насчёт эмулятора MAC — дядька Yaranga недавно на Эму-ленде помогал кому-то Sheepshaver настраивать, так что под современные ОС, очевидно, эмуляторы есть.
Другой вопрос, что нам сама Mac OS нужна больно древняя...


26 ноя 2024, 22:27
Аватара пользователя
Мегажитель
Мегажитель

Группа: Пользователи
Сообщения: 457
Регистрация: 28 янв 2013, 16:41
Модель 3DO: Panasonic FZ-10 NTSC-U

У тебя вроде BannerScreen какой-то (я с телефона, поэтому не видел) — утилита Makebanner.exe (+ Makebanner.bat) от cdoty конвертит отлично, только не знаю работает ли она на Win 10. :nez-nayu:

Спасибо память освежил. Cделал банер и подписал iso. Через командную строку в вин 10 отлично работает.


26 ноя 2024, 22:32
Аватара пользователя
Всё, я здесь навсегда!
Всё, я здесь навсегда!

Группа: Пользователи
Сообщения: 155
Регистрация: 01 июн 2025, 20:12
Модель 3DO: Panasonic FZ-10 NTSC-U

sherad00 писал(а):
В 3DOFontWriter File > New
выбираем наш шрифт, view area 16x16, font size 12, max ASCII 255
остальное по вкусу
Сохраняем File > Save 3DO font
Получившийся файл шрифта(Helvetica.12pt.3do) переносим из виртуальной машины на компьютер опять по ftp


А может кто-нибудь подсказать такой момент? 3DOFontWriter он умеет только сохранять в формат 3DO шрифта? Прочитать уже готовый шрифт 3do нельзя в нем? Есть какой-то взять способ за основу файл шрифта FONT из 3DO игры и именно его редактировать в какой-нибудь программе?

Как создать новый шрифт с нуля в 3DOFontWriter и заменить им старый файл я понял. Интересует именно прочитать байты старого шрифта, чтобы именно их использовать как основу шрифта нового.


15 окт 2025, 17:14
Аватара пользователя
Специалист
Специалист

Группа: Администраторы
Сообщения: 11503
Регистрация: 03 дек 2009, 22:32
Откуда: MO/DK
Модель 3DO: Panasonic FZ-1 NTSC-U

BratWikipediy писал(а):

А может кто-нибудь подсказать такой момент? 3DOFontWriter он умеет только сохранять в формат 3DO шрифта? Прочитать уже готовый шрифт 3do нельзя в нем? Есть какой-то взять способ за основу файл шрифта FONT из 3DO игры и именно его редактировать в какой-нибудь программе?

Как создать новый шрифт с нуля в 3DOFontWriter и заменить им старый файл я понял. Интересует именно прочитать байты старого шрифта, чтобы именно их использовать как основу шрифта нового.

По командам в 3DO Font Writer — понятно, что вывести готовый шрифт в 3DO-формате можно только на девкит.
Открыть — инструментов нет.
Редактировать — инструментов нет.

Часть шрифтов успешно открывают обычные утилиты ромхакеров — CrystalTile2, YY-Char и другие, можно перерисовать.
Кроме того, разрабы игр часто вообще не использовали шрифты в 3DO-формате.


15 окт 2025, 20:38
На страницу Пред.  1, 2
© 2008-2026 «3DOPLANET.ru». Создано на основе phpBB® Forum Software © phpBB Group
Designed by ST Software || Русская поддержка phpBB || Time : 0.061s | 19 Queries | GZIP : On