GTA Builder Форум

GTA Vice City => Идеи => Тема начата: Shagg_E от Август 16, 2015, 03:59:11 am

Название: Видео
Отправлено: Shagg_E от Август 16, 2015, 03:59:11 am
Вот задумался: поддержка воспроизведения видео включена в саму игру, значит, в теории, можно запустить mpg видосики по-середине игры, поставив её на паузу. Сразу возникло несколько потрясных идей по использованию этого, но вот знаний для реализации недостаточно.

Если даже не воспроизведение новых видео, то может кто подсказать, как хотя-бы запустить стандартные GTAtitles.mpg и Logo.mpg собственноручно во время игры? В принципе, мне подойдет и C++ код(хотя я надеюсь на вызов какой-нибудь функции через cleo).
Или хотя-бы запуск видео из меню(как выкинуть игру в меню, я, скорее всего, разберусь)
Название: Re: Видео
Отправлено: xanser от Август 16, 2015, 12:48:46 pm
Хочешь вставить в игру немного рекламы?  :D Надо смотреть в районе адреса 0x5FFFC3, где вызывается видеоплеер в начале игры.
Запуск видео довольно простой, думаю работает на любом видео и в любое время игры.

Код: C++
  1. _STARTUPINFOA StartupInfo;
  2. GetStartupInfoA(&StartupInfo);
  3. WORD nCmdShow;
  4. if ( StartupInfo.dwFlags & 1 )
  5.         nCmdShow = StartupInfo.wShowWindow;
  6. else
  7.         nCmdShow = 10;
  8.  
  9. auto    CreateMediaPlayer = (void (__cdecl *)(int, LPCSTR)) 0x6007D0; // прототип функции
  10. CreateMediaPlayer(nCmdShow, "movies\\Logo.mpg"); // собственно вызов видео

Видео где-то запускается, но его не видно, будет только звук в игре (и значек кодека в трее у меня, что говорит о нормальном полете)
Название: Re: Видео
Отправлено: Shagg_E от Август 19, 2015, 02:53:10 pm
Хочешь вставить в игру немного рекламы?
Ухаха)
Хмм, вот бы найти способ нормального воспроизведения(с картинкой)..
Название: Re: Видео
Отправлено: xanser от Август 20, 2015, 06:20:03 am
Как я понял, видео никак не останавливает игру, а воспроизводится где-то параллельно, надо брать бубен и плясать вокруг камеры скорее всего, чтобы остановить рендер, да еще и надо видео направить в то окно или слой не знаю, куда нужно, вместо сцены. Я пробовал различные варианты, с вылетами в ошибку, и если окном ошибки "стереть" экран, то видно что за сценой находится кадр видео R*, но до конца я не могу сделать нормально, может кто разберется получше.

Могу еще слабо предположить, что если получится видео запустить с меньшим размером картинки, не на весь экран, то возможно получится сделать в игре телевизор.
Название: Re: Видео
Отправлено: Shagg_E от Август 20, 2015, 07:08:15 pm
Да мне желательно на весь экран, если это возможно.
А если выкинуть игру в меню, разве рендер не останавливается?
Название: Re: Видео
Отправлено: xanser от Август 21, 2015, 05:43:48 am
Тут что-то другое еще, даже если игру не начинать, сразу в меню запустить ролик, картинки не видно.
Название: Re: Видео
Отправлено: Wapbest от Август 29, 2015, 06:40:17 pm
Могу еще слабо предположить, что если получится видео запустить с меньшим размером картинки, не на весь экран, то возможно получится сделать в игре телевизор.

Как это реализовать? Можете помочь в реализаций?
Название: Re: Видео
Отправлено: Shagg_E от Август 29, 2015, 07:20:47 pm
Как это реализовать? Можете помочь в реализаций?
Сначала надо вообще видео запустить, а уж телек - потом.