Правила, действующие в этом форуме и всех его подфорумах:
1) Запрещена реклама в любых её проявлениях (сразу бан без предупреждения)! 2) Мат тоже не приветствуется на форуме, но иногда можно выразить свои чувства ( лучше заменяйте матные слова точками, пробелами, другими буквами)! 3) Категорически запрещается унижать, посылать, издеваться над участниками форума! Мы здесь все - одна большая и дружная семья! Поэтому за нарушение этого правила автоматически будем банить! 4) Разрешены ссылки на информацию, которые относятся к тому или иному разделу форума! 5) Ссылки не в тему будут удаляться и пользователь получит предупреждение или будет забанен! 6) Пользователям разрешено задавать любые вопросы относящиеся к теме, а мы все дружно ответим на эти вопросы. А также отвечать на вопросы и высказывать своё мнение. 7) Повторные темы, которые будут создаваться, будут удалены! Создавайте темы, удостоверившись, что такой темы нет на форуме! 8) Запрещён флуд во всех его проявлениях, сообщения не по теме, сообщения состоящие из одного или нескольких смайликов без текста, сообщения типа - Вах!, Рулез!, Круто! и т.п. Пользуйтесь пожалуйста кнопкой [EDIT], не плодите бессодержательные сообщения. 9) Использование смайликов разрешается не более 3-х подряд!
К идее ролика (арт, звук) претензий нет, всё классно. Технически - заикается звук и видео (периодически, редко, но есть); ползущий текст очень сильно размазан. Некрасиво. Читабелен, но некрасиво.
_______________________________________ Урча, пухлыми лапами кот вцепился в жидкую шевелюру конферансье и, дико взвыв, в два поворота сорвал голову с полной шеи. Две с половиной тысячи человек в театре вскрикнули как один.
aspyd Как думаешь, что можно сделать? В смысле читаемости текста. Мне хочется, чтобы играющий и музон послушал до конца (при желании) и занять его чем-нибудь в это время.
GEN13 Глянь еще на счет читаемости/четкости текста, плиз.
да, заикается когда начинает подыматься текст предысории, и также местами заикается пока идёт вся предыстория, на счёт текста подтверждаю смазан не чёткий, сказывается сильное жатие ролика
_______________________________________ Урча, пухлыми лапами кот вцепился в жидкую шевелюру конферансье и, дико взвыв, в два поворота сорвал голову с полной шеи. Две с половиной тысячи человек в театре вскрикнули как один.
Добавлено спустя 2 часа 27 минут 24 секунды: Обнаружил функции GetShapeWidth и GetShapeHeight в файлах библиотеки burger. Видимо, поэтому в Rezfile нет габаритов текстур. Они просто вычисляются библиотекой.
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
Обнаружил функции GetShapeWidth и GetShapeHeight в файлах библиотеки burger.
Ну кстати да, я эти функции видел, но не разобрался как они работают. Сейчас проверил на D0133 - всё прекрасно совпадает. Если посмотреть на скриншот выше, то перед черной рамочкой с шириной и высотой идут два числа: PRE0 = 40 00 05 C3 и PRE1 = 05 00 10 37 GetShapeWidth() возвращает нам (PRE1 AND 0x7FF) + 1 = (0x05001037 AND 0x7FF) + 1 = 0x38 GetShapeHeight() возвращает нам (((PRE0 >> 6) AND 0x3FF) + 1) = (((0x400005C3 >> 6) AND 0x3FF) + 1) = (((0x1000017 AND 0x3FF) + 1) = 0x18 Имеем то что в чёрной рамочке: 00000038 00000018. На других картинках пока не проверял.
P.s. до сих пор не понимаю мотивов разработчика так извращаться ради пары байт данных, когда свободного места на компакт-диске осталось 70%. Старой закалки что-ли, когда всё оптимизировать пытались на компах ради 640 кб дурацкой верхней памяти, которой вечно не хватало и 640 даже не было ни разу, ну 600 это предел мечтаний, если выпилить всё, даже нужное.
А как ты понял, что PRE0 и PRE1 это именно числа перед рамкой? И почему именно такой длины?
см. описание струтктуры typedef struct MyCCB в threedo.c. В наших файлах-огрызках именно такой формат. uint32 ccb_PRE0; uint32 ccb_PRE1; uint32 и есть 4 байта. А в полноценном CEL-файле формат описан в SDK в файле form3do.h в структуре typedef struct CCC
Author писал(а):
до сих пор не понимаю мотивов разработчика так извращаться ради пары байт данных
Насколько я понимаю приставке плевать на все эти заголовки. Заголовки описаны в SDK, а приставка читает только эти данные, что мы имеем в думе. Может быть это оптимизация, может быть у программистов (Ребекки) не было sdk под рукой, может какие другие причины были... а с учётом всех этих нестыковок с одинаковыми функциями в burger и SDK и матами Ребекки в адрес работы sdk со строками скорее второе - sdk у неё был, но она его сильно перелопатила и выдала Burger.
Проверил на полноэкранной картинке D0130 - тоже получается 320*200 (000000С8 000000140). Там pre0 = 40 00 31 C4, pre1 = 3A 00 11 3F
Действительно, извращение. Вводить 2 переменные, из которых потом будут вычисляться размеры текстуры. Объем памяти такой же, если не бОльший (учитывая дополнительные функции GetShapeWidth и GetShapeHeight).
Добавлено спустя 9 минут 9 секунд: Еще вопрос созрел. Если все текстуры (думаю, и спрайты) находятся в REZFILE в таком "обрезанном" виде, то как они туда попали такими обрезанными? Их нужно редактировать перед запихиванием туда или это "обрезание" делает утилита makerez?
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
Попробовал накидать прогу для автоматизации процесса восстановления CEL. Получилось фигово, всего 3 файла правильно обрабатываются 132 (131 по StreamReader'у), 133, 135. Надо что-то поправить, не знаю найду ли время. Кидаю с исходниками на Delphi CodeGear 2007.
p.s. файлы можно пачкой заправлять в прогу, выделяем список и погнали.
Первая ошибка что сразу бросилась в глаза - размер заголовка CCB прыгает и, кажется, приравнивается к смещению к секции PDAT. Это неправильно, размер CCB ВСЕГДА 0x50. Я Delphi плохо знаю, но попробую исправить, поискать другие ошибки. Вроде поправил: https://yadi.sk/d/gh5XUaPYeHomJ D0130 распаковался правильно, остальные пока не тестил.
тут точно новый исходник? по-моему так же работает. Кстати, у некоторых файлов в начале какие-то неизвестные данные, но если их отрезать, то будет нужный заголовок для формирования CEL. Тебе что-то известно об этом?...заметил, что первые 4 байта это смещение как раз к началу заголовка недоделанного CEL'a...хмм. может удастся автоматизировать. Опять же, зачем так было делать или это у меня неправильно дёрнуты файлы из REZFILE'a стрим ридером?...хм в 134 файле (133 в ридере) целых 12 смещений к началу заголовка...вот так дела :) Анимашка что-ли?
Я сделал, что размер всегда CCB 0x50. Стало больше открывать, но ничего нового я не увидел. Текстура игрового окна под разные размеры стала открываться и картинка с черепами.
А шут его знает. А как ты себе представляешь шрифт как анимацию?) Нет, скорее всего игра берёт нужную буковку как номер файла со шрифтом + номер символа-картинки. Но и анимация в игре тоже есть... Думаю игра сама по номеру файла определяет его тип, визуально врядли есть разница.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения