Правила форума

Правила, действующие в этом форуме и всех его подфорумах:

1) Запрещена реклама в любых её проявлениях (сразу бан без предупреждения)!
2) Мат тоже не приветствуется на форуме, но иногда можно выразить свои чувства ( лучше заменяйте матные слова точками, пробелами, другими буквами)!
3) Категорически запрещается унижать, посылать, издеваться над участниками форума! Мы здесь все - одна большая и дружная семья! Поэтому за нарушение этого правила автоматически будем банить!
4) Разрешены ссылки на информацию, которые относятся к тому или иному разделу форума!
5) Ссылки не в тему будут удаляться и пользователь получит предупреждение или будет забанен!
6) Пользователям разрешено задавать любые вопросы относящиеся к теме, а мы все дружно ответим на эти вопросы. А также отвечать на вопросы и высказывать своё мнение.
7) Повторные темы, которые будут создаваться, будут удалены! Создавайте темы, удостоверившись, что такой темы нет на форуме!
8) Запрещён флуд во всех его проявлениях, сообщения не по теме, сообщения состоящие из одного или нескольких смайликов без текста, сообщения типа - Вах!, Рулез!, Круто! и т.п. Пользуйтесь пожалуйста кнопкой [EDIT], не плодите бессодержательные сообщения.
9) Использование смайликов разрешается не более 3-х подряд!

Добро пожаловать на наш форум!



Ответить на тему  [ Сообщений: 1386 ]  На страницу Пред.  1 ... 10, 11, 12, 13, 14, 15, 16 ... 47  След.
3DO Doom sources released 
Автор Сообщение
Аватара пользователя
Я консольный бог
Я консольный бог

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

Author писал(а):
как я понял это выбор пользователем элемента меню?

Да.
Author писал(а):
на выбор куча вариантов (10 штук например).

Это получится switch (sss)
case fff:
Бла-бла. Пробовал так, но что-то не вышло. Может, накосячил где... :-(

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


22 июн 2015, 16:10
Профиль
Аватара пользователя
Приставочник
Приставочник

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

Versus, попробуй как я тебе предлагаю. Всё должно быть Ок.


22 июн 2015, 16:14
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

Author
Попробую. Но, если честно, не совсем представляю, как это будет выглядеть. Функция (MiniLoop(M_Start,M_Stop,M_Ticker,M_Drawer) какая-то сильно навороченная. Я до конца не понимаю, как она пашет... :-(

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


22 июн 2015, 16:32
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

Versus писал(а):
4) Обработка ситуаций, когда файла с сохранениями нет, когда он некорректный (любой из параметров за пределами допустимого).

Практически сделал. Любое редактирование (или отсутствие) файла приводит к его перезаписи дефолтными параметрами (первый уровень, средняя сложность, пистолет, 50 патронов, 100% здоровья). Единственно, неправильно отрабатывает, когда пытаешься загрузить такое "запорченное" сохранение после смерти. Загружается второй уровень, а не первый, и музыка играет другая, не соответствующая данному уровню. В принципе, на эту недоработку можно забить.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


23 июн 2015, 22:32
Профиль
Аватара пользователя
Приставочник
Приставочник

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

Versus, радует, что есть прогресс в работе с исходниками.


24 июн 2015, 10:24
Профиль
Аватара пользователя
Специалист
Специалист

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

Ага. DOOM с исправленными SAVE - это круто. :ti_pa:

_______________________________________
Урча, пухлыми лапами кот вцепился в жидкую шевелюру конферансье и, дико взвыв, в два поворота сорвал голову с полной шеи. Две с половиной тысячи человек в театре вскрикнули как один.


24 июн 2015, 10:37
Профиль WWW
Аватара пользователя
Я консольный бог
Я консольный бог

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

Author
Было бы гораздо круче, если б одолели Rezfile. Вчера еще раз попросил Ребекку откомпилить ее старый makerez. Но у нее мало времени, это понятно. Обещала сделать, но когда это произойдет и произойдет ли... :-(
Занятная штука получается при попытке записи Demo в память приставки. Я уже писал об этом.
3DO Doom sources released
Запись в буфер и последующее проигрывание записанных действий игрока работает. А в файл пишет совсем другое. Такое ощущение, что туда пишется чтение/запись каких-то чанков и прочей служебной ереси. Потом выложу скрины.
Понятно, что это ошибка, что я пишу туда что-то не то, но фишка интересная.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


24 июн 2015, 10:38
Профиль
Аватара пользователя
Специалист
Специалист

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

Интересно, а как эти демки пишутся? Выставляется некий флаг записи DemoRecording = TRUE потом игра запускается в штатном режиме через MiniLoop, в MiniLoop при выставленном флаге DemoRecording вызывается
if (DemoRecording) {      /* Am I recording a demo? */
         DemoDataPtr[0] = LocalToNet(buttons);   /* Save the current joypad data */
         ++DemoDataPtr;
      }

получается за запись отвечает функция LocalToNet ? А она что делает?
Convert a joypad response into a network joypad record.
   This is to compensate the fact that differant computers
   have differant hot keys for motion control.

И в буфер попадает этот конверт. При проигрывании всё ок, оно обратно конвертится, а может этот конверт не нужен? Хотя в самой функции я не увидел ничего такого...
В том же Ягуаре никаких конвертов не делается (а там демки пашут?, я не в курсе)
if (demorecording)
         *demo_p++ = buttons;

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


24 июн 2015, 11:34
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

aliast писал(а):
а может этот конверт не нужен?

Может, и не нужен, ведь проигрывается демка G_PlayDemoPtr-ом. А там просто приравнивается открытый rDemo1(2) буферу DemoBuffer, куда, собственно, и пишется вся ботва при записи. Вот только я писал постом выше, что эта ботва непохожа на нажатия клавиш. Скорее всего, нужно будет использовать какой-то аналог или саму LocalToNet.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


24 июн 2015, 11:49
Профиль
Аватара пользователя
Консольный монстр
Консольный монстр

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

aliast писал(а):
В том же Ягуаре никаких конвертов не делается (а там демки пашут?, я не в курсе)
Судя по тому, что при запуске игры две демки по кругу гоняются, пашут...



Добавлено спустя 1 минуту 44 секунды:
А, или вы об новозаписанных, а то я влез в разговор, проходя мимо...


24 июн 2015, 19:51
Профиль WWW
Аватара пользователя
Я консольный бог
Я консольный бог

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

Yaranga
Все правильно ты ответил, спасибо за инфу. Значит, есть-таки... В нашем Rezfile, скорее всего, эти файлы демок и лежат: третий и шестой уровни. Ну, как уже я говорил, движения игрока хаотичные. Но общая черта все же есть. В начале шестого уровня игрок идет в угол за винтовкой. У нас он тоже туда "идет". Точнее, пытается. :nez-nayu:

Добавлено спустя 4 часа 51 минуту 47 секунд:
Похоже победил. Сейчас пишутся нажатия кнопок. Остается скопировать эти байты в REZFILE и проверить работоспособность. Но то, что пишутся туда клавиши, это точно. А, ну еще нужно разобраться, чтобы реагировало на выставленный уровень и сложность и эти же параметры писались в этот же файл. Но если разобраться не получится, то можно легко дописать руками.

А вот картинки "дебаггера". Если кто разберется, то может оказаться полезным.
Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


24 июн 2015, 20:07
Профиль
Аватара пользователя
Специалист
Специалист

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

Демки это файлы D0143 и D0144. В них первые 4 байта это скилл, следующие 4 байта номер карты. Дальше должны идти команды по 2 байта каждая. С форматом команд пока не разбирался.

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


25 июн 2015, 08:33
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

aliast
Да, это я уже понял. Могу сделать табличку сопоставления байт- какая клавиша нажата. Там идут байты, разделенные несколькими нулями. Ненулевые байты и есть нажатия. Все просто. Но писать их вручную никакого смысла нет. И в автоматическом режиме пишется нормально.

Добавлено спустя 10 часов 6 минут 15 секунд:
Вот соответствие байт и кнопок в Demo-файлах.
Up - 40 00 00 00
Down - 80 00 00 00
Right - 20 00 00 00
Left - 10 00 00 00
A - 04 00 00 00
B - 02 00 00 00
C - 08 00 00 00
Right Shift - 00 40 00 00
Left Shift - 00 20 00 00
Stop - 00 80 00 00
Start - 01 00 00 00

Получилось записать и номер уровня и сложность. Получился полноценный записанный демо-файл. Да, на каждое нажатие отводится по 4 байта. Если нажато одновременно 2 кнопки (при переключении оружия, например) то в эти 4 байта записываются обе клавиши.

Добавлено спустя 1 час 32 минуты 46 секунд:
Демки работают. Взял из сохраненного в NVRAM файла свои данные, скопипастил в начало D0143. Мой файл получился меньше, но все отрабатывает корректно. Ура! :ya_hoo_oo:

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


25 июн 2015, 09:30
Профиль
Аватара пользователя
Консольный монстр
Консольный монстр

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

Круто! :bra_vo:
Уже хочется взглянуть на это...


25 июн 2015, 21:18
Профиль WWW
Аватара пользователя
Я консольный бог
Я консольный бог

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

Yaranga писал(а):
Уже хочется взглянуть на это...

Напиши, какие рекомендации по содержанию демок. Уровень/сложность/длительность/что-нибудь еще... Хочу записать начисто, чтобы к этому вопросу уже не возвращаться.

Добавлено спустя 43 минуты 22 секунды:
Author писал(а):
Заведи премененную такого же типа как и функция, приравняй ей значение функции, а потом сравнивай уже.

Ура! Сработало! :ya_hoo_oo: Правда, я не понял, почему сработало... :du_ma_et:
Сделал так:
static void RunMenu(void)
{
   Word MainLoop;
   
   MainLoop = MiniLoop(M_Start,M_Stop,M_Ticker,M_Drawer);
   
   if (MainLoop==ga_loading) {      /* Process the menu */
      S_StopSong();
      G_InitNew_LOAD(gameskill,gamemap);      /* Init the new game */
      G_RunGame();               /* Play the game */
   }
   
   if (MainLoop==ga_completed) {      /* Process the menu */
      S_StopSong();
      G_InitNew(StartSkill,StartMap);      /* Init the new game */
      G_RunGame();               /* Play the game */
   }

}


Добавлено спустя 22 минуты 22 секунды:
Из to do:
1) Сделать загрузку главного меню из игры, чтобы не приходилось перезагружать диск.
2) Уведомлять пользователя об успешном сохранении. Тут, скорее всего, потребуется измененный REZFILE.
3) Добавить украшавости. Пока не скажу, какие. Если получится, порадую.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


25 июн 2015, 23:51
Профиль
Аватара пользователя
Специалист
Специалист

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

Молодец!
Versus писал(а):
3) Добавить украшавости. Пока не скажу, какие. Если получится, порадую.
Таки, интересно, что... :du_ma_et:

_______________________________________
Урча, пухлыми лапами кот вцепился в жидкую шевелюру конферансье и, дико взвыв, в два поворота сорвал голову с полной шеи. Две с половиной тысячи человек в театре вскрикнули как один.


26 июн 2015, 09:01
Профиль WWW
Аватара пользователя
Консольный монстр
Консольный монстр

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

Versus писал(а):
Напиши, какие рекомендации по содержанию демок. Уровень/сложность/длительность/что-нибудь еще... Хочу записать начисто, чтобы к этому вопросу уже не возвращаться.
Интересно было бы наблюдать три демки. Допустим, одна - обычное прохождение на среднем уровне сложности, ничем не примечательное. Вторая - на nitemare, с естественной гибелью, но так, чтоб успел посражаться. Ну и третья - просто быстрая пробежка мимо вражин без стрельбы. На каких уровнях это будет происходить - не столь важно. Ну, к примеру в первой демке будет третий уровень, во второй седьмой, а в третьей - двадцать третий.


26 июн 2015, 11:31
Профиль WWW
Аватара пользователя
Я консольный бог
Я консольный бог

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

Yaranga
Окей, а по продолжительности?
Кстати, три демки можно будет сделать только в том случае, если решится проблема с REZFILE.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


26 июн 2015, 11:43
Профиль
Аватара пользователя
Специалист
Специалист

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

Versus писал(а):
если решится проблема с REZFILE

А что за проблема? У нас же есть упаковщик.

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


26 июн 2015, 11:57
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

aliast
Нужно засунуть в него дополнительный файл. Запаковщик, как я понял, собирает обратно не тоже самое. Ты писал о каком-то отличии. Сейчас собранный обратно файл работоспособен, но хрен его знает, что будет, если мы будем менять/добавлять туда что-то.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


26 июн 2015, 11:59
Профиль
Аватара пользователя
Консольный монстр
Консольный монстр

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

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

Добавлено спустя 18 минут 58 секунд:
В общем, срендерилось и залилось. Правда, пока ютуб сам что-то колдует с видео. Но через пару-тройку минут всё должно быть на месте.
Вторая демка у меня вышла явно неудачная, если что, тему с кошмарным режимом можно забраковать ввиду сложности исполнения. А вот насчёт показа массы секретов и стравливания монстров стоит подумать...



26 июн 2015, 12:44
Профиль WWW
Аватара пользователя
Специалист
Специалист

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

Versus писал(а):
Нужно засунуть в него дополнительный файл. Запаковщик, как я понял, собирает обратно не тоже самое.

С этим не должно быть проблем. А по поводу отличий вопрос открытый - чем отличается команда LOAD от LOADFIXED (это я про скрипт сборки из оригинального makerez)

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


26 июн 2015, 14:44
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

aliast писал(а):
Блин, я забыл или никогда не знал что означает префикс 80 в таблице оффсетов к файлам в Rezfile.

if (RezFixed) {
      RezPtr->Offset |= 0x80000000;   /* Set the fixed flag */

Как раз этим и отличается. А что это такое - хз... :du_ma_et:
Yaranga
Спасибо за видос и рекомендации. Попробую сделать что-нибудь.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


26 июн 2015, 15:35
Профиль
Аватара пользователя
Специалист
Специалист

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

Я думаю что это некая оптимизация памяти. В rezfile к оффсету добавляется 80 00. На структуру rez оно никак не влияет, но при загрузке такого файла движок игры что-то делает, только и всего. Можно конечно добавить в мой makerez поддержку запаковки по скрипту и там прописать команды loadfix, и тогда будет полное свпадение, но вот бы понять так ли это нужно и как быть с новыми файлами - фиксить их или нет?

_______________________________________
Мой список начатых и пройденных игр (начиная с 26.11.2013): http://www.howlongtobeat.com/user.php?n ... c=list_all


26 июн 2015, 17:31
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

aliast
С новыми файлами можно экспериментировать. Главное, чтобы у нас работала сборка/разборка байт в байт. Так что, если можно, добавь эту фичу.

Добавлено спустя 5 часов 41 минуту 56 секунд:
Раз пошла такая пьянка, попытаюсь сделать так, чтобы игрок мог сам записывать демки в память и при желании их проигрывать.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


26 июн 2015, 19:28
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

Други, скажите, а в каком формате музыка в Doom? Че-то я сжал в aifc и ни фига не поперло... :-(
Пардон, все работает. Подменил музыку. Буду думать, как расширить количество треков. Кандидаты - музон из PSX Doom. Или кто еще что предложит?

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


29 июн 2015, 01:23
Профиль
Аватара пользователя
Ломаю джойстик взглядом
Ломаю джойстик взглядом

Группа: Пользователи
Сообщения: 884
Регистрация: 06 фев 2012, 00:26
Модель 3DO: Panasonic FZ-1 NTSC-J
Ответить с цитатой

Цитата:
Кандидаты - музон из PSX Doom. Или кто еще что предложит?

На ПС1 эмбиент вместо музыки в общем понимании) Можно ремиксы взять, например эти. Качество на высоте :co_ol:

_______________________________________
Изображение


29 июн 2015, 07:20
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

Docuro-chan
На psx есть и качественный музон: в меню, между уровнями. За ссылку спасибо, послушаю, что там.

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


29 июн 2015, 09:34
Профиль
Аватара пользователя
Приставочник
Приставочник

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

Versus писал(а):
Пардон, все работает. Подменил музыку. Буду думать, как расширить количество треков.

Чем сжимал, средствами SDK? Просто интересно, может моя прога правильно конвертить wav в aifc или нет.
Расширить количество треков вероятно можно, например, увеличив переменную отвечающую за их количество, если такая есть. Возможно треки просто ищутся в папке обычным перебором, т.е. сколько файлов найдёт приложение, столько и будет проигрывать. Правда я не помню, вроде за каждым уровнем своя музыкальная композиция закреплена. В общем, в исходниках стоит поискать названия треков и там смотреть, что да как реализовано.


29 июн 2015, 10:41
Профиль
Аватара пользователя
Я консольный бог
Я консольный бог

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

Author писал(а):
Чем сжимал, средствами SDK?

Да, средствами SDK. Твоей прогой получается шипение, что бы не выбирал из параметров. :-( :du_ma_et:
Author писал(а):
Расширить количество треков вероятно можно, например, увеличив переменную отвечающую за их количество, если такая есть.

Там все очень замудрено.
Например, после окончания игры вызывается музыка:
S_StartSong(Song_final,TRUE);

Эта функция работает так:
void S_StartSong(Word music_id,Boolean looping)
{
   PlaySong(SongLookup[music_id]);
}

То есть, имеем два входных параметра (номер песни, повторение). Внутри функции S_StartSong используем только параметр номер песни. Но не все так просто.
Есть последовательность треков:
typedef enum {      /* All the sounds in the game */
   Song_None,
   Song_intro,
   Song_final,
   Song_bunny,
   Song_intermission,
   Song_e1m1,
   NUMMUSIC=Song_e1m1+24      /* Song count */
} musicnum_t;

Из нашего примера Song_final получается соответствует здесь 2 (двойке).
Итого, получаем
PlaySong(SongLookup[2]);

А вот уже SongLookup выглядит так:
static Byte SongLookup[] = {
    0,
    11,   /* Intro */
    12, /* Final */
    3,   /* Bunny */
    5,   /* Intermission */
    5, 6, 7, 8, 9,10,11,12,13,14,   /* Map 1 */
   15, 5, 6, 7, 8, 9,10,11,13,14,
   15,10,12,29, 1, 1, 1, 1, 1, 1,
   1
};

И получается, что второй элемент массива SongLookup равняется 12.
Фух... А вот в библиотеке burger уже прописан жестко путь Music\Song, к которому уже добавляется наше число 12. Получаем обращение к файлу
Music\Song12


Добавлено спустя 9 минут 56 секунд:
Плюс к тому, номер трека к каждому уровню вычисляется отдельно.
S_StartSong(Song_e1m1-1+gamemap,TRUE);

что можно читать как
S_StartSong(5-1+gamemap,TRUE);

_______________________________________
There are 10 types of people in the world: those who understand binary, and those who don't.


29 июн 2015, 11:03
Профиль
Показать сообщения за:  Поле сортировки  
Ответить на тему  [ Сообщений: 1386 ]  На страницу Пред.  1 ... 10, 11, 12, 13, 14, 15, 16 ... 47  След.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 156


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
© 2008-2024 «3DOPLANET.ru». Создано на основе phpBB® Forum Software © phpBB Group
Designed by ST Software || Русская поддержка phpBB || Time : 0.086s | 21 Queries | GZIP : On
Valid XHTML 1.0!