Chief-NET

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Chief-NET » Программирование » AddIntroGen


AddIntroGen

Сообщений 61 страница 80 из 99

61

Не про канало с включением, отключением дисплея. Слишком уж быстро всё происходит. Надо в других играх посмотреть как это происходит.

62

Тогда можно копать в сторону "затемнения экрана". Даже если там и будет мелькать мусор, его не будет видно, так как экран в это время ещё затенён...

63

А ты не мог бы дать мне код с включением-отключением дисплея. Мой dll-файл с уже сделанными изменениями и объяснением что и где? Я тут хотел кое-что проверить...

64

Могу  только вечером.

65

Вечерело... ;о)

66

Это у нас с тобой вечерело, а у Марата ещё день (хотя и ближе к вечеру, но день) :)

67

Вчера кабельщики приходили, что-то делали и у меня интернет и кабельное пропало. Сегодня вечером загружу.

68

А вообще код отключения дисплея выглядит так 33FC810400C00004.
Пояснения:
33FC - команда move.w
81 - номер регистра видео процессора.
04 - состояние в которое нужно установить регистр.
00C00004 - порт управления видео процессором.

Отредактировано Марат (2014-03-19 18:42:19)

69

Сегодня выяснил, что в коде уже есть команда отключить дисплей. И после загрузки включить дисплей.

70

Ясно. Значит, надо что-то копать в сторону затенения экрана...

71

Перезалил файл. Уменьшил размер вставляемой в ром части на 30 кб.

Планирую сделать опции заставки:
1. Изменение скорости затенения экрана при появлении заставки.
2. Включение/отключение небольшой паузы между заставками.
3. Включение/отключение кнопки Start. Если включена - нужно её нажимать для пропуска заставки, нет - не нужно, она исчезнет сама через пару секунд.

Марат, заметил вот что. Если в dll по адресу h516 увеличить стоящее там значение на 16 или на 32, то заставка будет появляться очень медленно. Тогда становится видно, что всё сделано как положено. С выключением/включением экрана и т.д. Но косяк, похоже, в том, что между двумя заставками начинает выполняться какой-то посторонний код. Т.е., как я понял, надо просто его пропустить, т.е. перепрыгнуть - и всё будет ОК. Не глянешь?

72

Ага. Ром пытается загрузить данные примерно по адресу h5A7. Надо просто как-то убрать эту загрузку...

73

В итоге получается вот что:

http://s1.sendimage.me/754sZ8qw.png

Надо или как-то пропустить это, или сделать так, чтобы размер загружаемых данных был "0", т.е. ничего не загружать...

Как раз кракозябры между заставками видны в этой, верхней, части экрана...

Отредактировано Guyver (2014-03-20 18:09:27)

74

Такс! Я решил проблему! Ура!!! Правда, пока пришлось пожертвовать постепенным затемнением экрана. Заставки грузятся мгновенно, но зато без артефактов. Поставил между ними паузу в 1 секунду. Попробую ещё поработать, но это уже результат! Перезалил файл.

Конечно, с постепенным затемнением смотрится всё намного круче, но пока мне его вернуть не удаётся...

Может, кто-нибудь из хакеров подскажет более элегантное решение? ;о)

Отредактировано Guyver (2014-03-20 19:50:52)

75

На Fusion'e ром перестал запускаться.

76

Эх. А на генсе работает на ура. Скажи какая версия Fusion и где взять... Или поправь dll по-человечески ;о)

77

Может, ты закачал старый архив? Я его только что перезаливал...

78

Может, ты закачал старый архив? Я его только что перезаливал...

FUSION 3.64

79

Я написал свой код. Точнее поправил код из пакета Gentile. Вот результат его работы. http://yadi.sk/d/Ggc06pH1KvySQ

Какой максимальный размер прикрепляемого файла?

80

Марат, перестало загружаться потому, что я уменьшил dll-файл. Вырезал нули. При этом я нашёл поинтер, который перенаправляет программу на карту графики. В моём файле это:

384 - там находится адрес графики, откуда будет загружаться картинка (2 байта) 7A7C (реальный адрес 8620)

После убирания лишних нулей у меня графика лежит по адресу 1220

Поэтому я 7A7C изменил на 067C. И в генсе у меня всё после этого работает. А почему в FUSION 3.64 не пашет? Там что-то ещё помимо одного поинтера надо изменить было? Не подскажешь?

Главное, я вроде от всех косяков избавился. а тут такое разочарование с фусионом ;*****(

Я вернул старый размер dll файла, всё заработало. Вот ссылка:

http://chief-net.ru/images/ostalnoe/addintrogen.rar

Теперь надо вырезать нули из файла так, чтобы он заработал в fusion...

Отредактировано Guyver (2014-03-21 17:14:29)


Вы здесь » Chief-NET » Программирование » AddIntroGen