[ Сообщений: 560 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19
3DO SDK 
Автор Сообщение
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

Поднимать старый код на новых компиляторах это жопа полная, особенно в Сях, где что угодно и как угодно пишется. В MovieToStream в итоге надо всю работу с файлами переписывать. Не ясно, что было в их QuickTime библиотеке, но есть Create (создать файл) и FSOpen (открыть файл), их почему-то в библиотеке qtmlclient.dll нет (пробовал скачать новую и ту, что ты мне дал, из них импортировать файл *.lib) и получается надо на обычные вызовы переделывать. Пока финиш.

Добавлено спустя 56 минут 9 секунд:
EXTERN_API( OSErr )
Create(
ConstStr255Param fileName,
short vRefNum,
OSType creator,
OSType fileType);

/*
* Create()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/

в файле Files.h ... как они это компилировали, если нужна какая-то InterfaceLib 7.1 да ещё и под непонятно что за CFM.
Если бы ещё знать, что именно сделает этот Create.

Вот его вызов
Create(filmFileName,0,'CYBD','FILM');
тип файла FILM, создатель CYBD...ничего не понятно. :ny_tik:


12 фев 2016, 13:38
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Author
Функцию fsopen я, вроде, менял на fopen и все работало.


12 фев 2016, 14:38
Аватара пользователя
Приставочник
Приставочник

Группа: Разработчики
Сообщения: 1211
Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J

Versus, я на _fsopen заменил. А инклуды типа stdio,stdlib ты откуда использовал? Ну и главный вопрос, что создаёт Create. Ясно, что файл, но записывает он туда что-нибудь или нет. Зачем передавать FILM, CYBD? Может там заголовок какой-то должен сформироваться.

Убрал пока Create, подсунул qtmlclient.dll экзешнику. Прога зависла на проверке, установлен ли QuickTime вызывав
if ( ( status = Gestalt( gestaltQuickTime, &result ) ) != noErr )


12 фев 2016, 14:53
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Author
Вечером посмотрю. Также выложу исходники своего makerez, который получился из старых Ребекки. Посмотришь, что именно я там поменял. Менял немного, и, кстати, там тоже нужно было выборочно свопить или нет отдельные данные. Помню, что удивлялся, почему наоборот прога действует. :-):

Добавлено спустя 10 минут 59 секунд:
Author писал(а):
А инклуды типа stdio,stdlib ты откуда использовал?

Виндовские. Оттуда, кстати и fopen.

Добавлено спустя 5 часов 3 минуты 33 секунды:
Author
Исходники makerez выложил в теме про Doom.

Добавлено спустя 1 час 13 минут 44 секунды:
Author писал(а):
EXTERN_API( OSErr )
Create(
ConstStr255Param fileName,
short vRefNum,
OSType creator,
OSType fileType);

Где ты это нашел? Че-то я потерялся... Не знаю, важно или нет, но файл qtmlclient.dll нашелся в установленном QuickTime C:\Program Files\QuickTime\QTSystem.


12 фев 2016, 15:11
Аватара пользователя
Специалист
Специалист

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

Народ, а кто замечал такую хрень?
1. Достаешь cel прогой 3DOResExplorer004a.exe;
2. Сохраняешь как BMP.
- Потом если эту BMP сжимаешь обратно в cel без изменений, то cel получается куда большего размера, чем оригинальная. А если еще что-то дорисовываешь/перерисовываешь - вообще пипец, потом обратно не засунешь, если половину картинки не убрать. Короче, больше получается, чем была, раза в 1,5!
3. Самое интересное. Если в первый раз сжатую cel, но размером больше, чем нужно, пусть даже не измененную, а просто сковерченную в BMP, а потом обратно - взять и открыть в 3DOResExplorer004a и снова конвертнуть в BMP, а потом снова в cel - она становится уже годного размера.
То есть, после двойной конвертации:
Оригинальная cel => BMP = cel => BMP = итоговая cel. :-)
Тогда размер уже удобоваримый.
И если по ходу двойной конвертации открывать HEX-редактором получающиеся cel, то видно, что с каждым разом, данные уже плотнее сидят.
При этом, при многократной ковертации, в cel ничего не теряется. Я на каждом этапе, BMP фотошопом с пипеткой проверял.

Я вот, мучился с cel-ками Uncoced 16, имеющими пикселы всего 4-х цветов.
Сама картинка ничего не меняется, все пикселы на месте и их цвета те же, а с каждой переконвертаций и повторными пересжатиями - cel весит всё меньше и данные внутри пакуются всё плотнее.

Что за чудеса? :du_ma_et:


29 май 2016, 21:49
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

Думаю, что это смотря чем пересохранять. Если утилитами cdoty, то вряд ли это хороший способ. Я сконверченную cel пересохранял маковским фотошопом. В зависимости от выставленных параметров меняется и размер итоговой cel.


29 май 2016, 22:15
Аватара пользователя
Специалист
Специалист

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

Маковским фотошопом пользуюсь, конечно, в том и дело.

Добавлено спустя 1 минуту 51 секунду:
Утилита cdoty слишком "вонючая" - ей BMP нужен определенной палитры, плюс она может жать BMP в cel, только если ширина картинки BMP (cel) - чётная :-), и т.п. Говно - утилита, в общем.


29 май 2016, 22:44
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

aspyd писал(а):
- Потом если эту BMP сжимаешь обратно в cel без изменений, то cel получается куда большего размера, чем оригинальная. А если еще что-то дорисовываешь/перерисовываешь - вообще пипец, потом обратно не засунешь, если половину картинки не убрать. Короче, больше получается, чем была, раза в 1,5!

Вне зависимости от выбранных параметров сохранения?
aspyd писал(а):
То есть, после двойной конвертации:
Оригинальная cel => BMP = cel => BMP = итоговая cel.
Тогда размер уже удобоваримый.

Осмелюсь предположить, что это как при сохранении в jpg. Если много раз пересохранять одно и то же, то размер будет постепенно сокращаться.


30 май 2016, 12:11
Аватара пользователя
Консольный монстр
Консольный монстр

Группа: Разработчики
Сообщения: 2108
Регистрация: 21 окт 2011, 21:37
Откуда: Слобожанщина, 31Rus
Модель 3DO: GoldStar GDO-101M

Versus писал(а):
Осмелюсь предположить, что это как при сохранении в jpg. Если много раз пересохранять одно и то же, то размер будет постепенно сокращаться.
Если только качество сохраняемой картинки выставлено в настройках не 100%. Со 100% уменьшаться не будет. :-):


30 май 2016, 12:35
Аватара пользователя
Специалист
Специалист

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

Versus писал(а):
Вне зависимости от выбранных параметров сохранения?

Я же говорю - достаем cel из игры. Она пожата в Uncoded 16 с Pack Cel Data. Всё.
Чтобы игра её приняла обратно - надо жать её так же. Никакие там параметры крутить нельзя.
Ковертишь ее в BMP прогой 3DOResExplorer, затем, ничего не трогая и не перерисовывая, конвертишь эту BMP обратно в cel. Из-под фотошопа под MAC, 3DO Cel Writer-ом. Выбрав Uncoded 16 и Pack Cel Data, иначе игра её не сожрет.

В итоге получается cel, но почему-то бОльшего размера, которую не запихнешь обратно в игру.

Потом эту "непригодную" cel снова открываешь 3DOResExplorer, снова в BMP, потом опять => в cel, из фотошопа, 3DO Cel Writer-ом, Uncoded 16, Pack Cel Data, то есть, точно так же. Теперь размер становится меньше, и она уже куда ближе к оригинальной. Может обратно в игру даже и влезть (а может, всё равно, не влезть).

А вот если в третий раз так же переконвертировать - уже не прокатывает, итоговая cel больше не уменьшается.

Versus писал(а):
Осмелюсь предположить, что это как при сохранении в jpg. Если много раз пересохранять одно и то же, то размер будет постепенно сокращаться.

Не знаю. Потому и спрашиваю.


30 май 2016, 12:46
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

А между тем кто-то продолжает клепать хоумбрюшки для 3DO. Во тут кто-то недо Tetris склепал (2015 год). "Недо" потому что падают одни только Z-ки (глюк эмулятора?)
От этого же автора есть некий эмулятор NES для 3DO с сырцами! Надо бы поизучать :)


02 авг 2016, 14:08
Аватара пользователя
Я консольный бог
Я консольный бог

Группа: Разработчики
Сообщения: 9841
Регистрация: 04 дек 2009, 11:59
Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U

aliast
Насколько я помню, NES эмулятор далек еще от играбельной версии.


02 авг 2016, 15:11
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Я не смог на нём ничего запустить( А так любопытно глянуть как выглядит порт с pc на 3do, в частности адаптация SDL. Эмулятор chip8 работает.


02 авг 2016, 15:22
Аватара пользователя
Мегажитель
Мегажитель

Группа: Модераторы
Сообщения: 358
Регистрация: 04 дек 2009, 12:24
Модель 3DO: Sanyo IMP-21J TRY

От этого же автора есть некий эмулятор NES для 3DO с сырцами! Надо бы поизучать :)


В упор не вижу никакого NES для 3DO.
Я ещё в 2008 году страдал такой хернёй.

Это было так давно..


13 авг 2016, 14:08
Аватара пользователя
Специалист
Специалист

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

Проверенный Weaverscript для SANM. Может, пригодится кому.


У вас нет необходимых прав для просмотра вложений в этом сообщении.


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

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

Появился вопрос - как позицию по осям координат для текстурки перевести в пикселы? Например, в заголовке вижу позицию по оси X = 1E. Сколько это пикселов нужно отсчитать, чтобы прикинуть её позицию на экране и откуда считать пикселы?


09 мар 2017, 12:28
Аватара пользователя
Специалист
Специалист

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

Разобралсо. 1E = 30 пикселов (HEX => DEC), считаются тупо от левого края. По крайней мере, в моём случае. :a_g_a:


12 мар 2017, 14:44
Случайный аватар
Всё, я здесь навсегда!
Всё, я здесь навсегда!

Группа: Пользователи
Сообщения: 216
Регистрация: 04 дек 2009, 12:18
Модель 3DO: Panasonic FZ-10 NTSC-J

Versus писал(а):
Вне зависимости от выбранных параметров сохранения?

Я же говорю - достаем cel из игры. Она пожата в Uncoded 16 с Pack Cel Data. Всё.
Чтобы игра её приняла обратно - надо жать её так же. Никакие там параметры крутить нельзя.
Ковертишь ее в BMP прогой 3DOResExplorer, затем, ничего не трогая и не перерисовывая, конвертишь эту BMP обратно в cel. Из-под фотошопа под MAC, 3DO Cel Writer-ом. Выбрав Uncoded 16 и Pack Cel Data, иначе игра её не сожрет.

В итоге получается cel, но почему-то бОльшего размера, которую не запихнешь обратно в игру.

Потом эту "непригодную" cel снова открываешь 3DOResExplorer, снова в BMP, потом опять => в cel, из фотошопа, 3DO Cel Writer-ом, Uncoded 16, Pack Cel Data, то есть, точно так же. Теперь размер становится меньше, и она уже куда ближе к оригинальной. Может обратно в игру даже и влезть (а может, всё равно, не влезть).

А вот если в третий раз так же переконвертировать - уже не прокатывает, итоговая cel больше не уменьшается.

Versus писал(а):
Осмелюсь предположить, что это как при сохранении в jpg. Если много раз пересохранять одно и то же, то размер будет постепенно сокращаться.

Не знаю. Потому и спрашиваю.

Кстати если все делать с помощью маковского фотошопа и установленных в нем 3до расширений,то в принципе файлы получались правильного формата и размера, а вот при использовании программ 3DOResExplorer расширение файла менялось((( также вроде в фотошопе можно было создавать файлы формата photocd, но к сожалению добиться полноценного результата проигрывания на приставке не удалось(((


07 апр 2018, 18:42
Случайный аватар
Проходил мимо
Проходил мимо

Группа: Новички
Сообщения: 1
Регистрация: 08 июл 2019, 20:12
Модель 3DO: Нет

Всем доброго времени суток.
Я разработчик, в данный момент занимаюсь портами старых игр.
(Если интересно - текущая платформа с основой stm32 мк).
Если очень интересно - вот линк на то что у меня есть :
https://github.com/cornway?tab=repositories
По сути :
Я хочу проделать то же с легендарной игрой - killing time.
И мне нужна ваша помощь.
Любая мелочь, я не спешу.
Заранее всех благодарю.
Пс : Я понимаю что мне потребуется емулировать хардвар, -
на этот случай будет достаточно ресурсов.
Пс2 : Я согласен даже на декомпиляцию.


08 июл 2019, 20:30
Аватара пользователя
Специалист
Специалист

Группа: Разработчики
Сообщения: 1298
Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет

Может я вконец отупел.... никак не могу понять, почему расчёт количества страниц видеопамяти для хранения битмапа рассчитывается именно по такой формуле:
ScreenPageCount = (width*2*height+GrafBase->gf_VRAMPageSize-1)/GrafBase->gf_VRAMPageSize;
Умножение на 2 - это 16-битный цвет каждой точки. Но для чего здесь добавляется размер одной страницы - 1?
Upd: разобрался.. предположим, нам нужно выделить память под маленький кусочек битмапа,размером 100*100. Он займёт 100*100*2=200 байт. Размер одной страницы VRAM = 2048 байт. Получается, что при округлении до целого числа получится что под 200 байт нужно 0 страниц памяти :-) вот поэтому и добавляется размер одной страницы памяти, чтобы получился не ноль, а 1. А минус один делаем, чтобы в случае выделения 2048 байт ровно у нас не получилось две страницы VRAM, а 1,99, т.е. 1 страница.
PS: и правда отупел.. в который раз убеждаюсь - когда что-то непонято, начни объяснять это другому человеку, и тут же разберёшься ;;-)))
PSS: это я тут сижу исходники Дума ковыряю (и не только Дума). Давненько я 3DO не занимался...


14 мар 2023, 11:16
На страницу Пред.  1 ... 15, 16, 17, 18, 19
© 2008-2024 «3DOPLANET.ru». Создано на основе phpBB® Forum Software © phpBB Group
Designed by ST Software || Русская поддержка phpBB || Time : 0.049s | 20 Queries | GZIP : On