IPB

Добро пожаловать, гость ( Вход | Регистрация )

> AudioCD Emulator
-=CHE@TER=-
Jan 7 2007, 12:21
Сообщение #1


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,355
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 311 раз(а)



Народ!
Кто-нибудь знает маленький и удаленький AudioCD Emulator?

Что конкретно я под этим подразуменваю и что конкретно хотелось бы:
1) Есть старая игра на CD.
2) CD уже испускает дух.
3) Игра по полной устанавливается на жёсткий диск и отучается от CD.
4) Но! Игра старая - там вся музыка хранится как AuidoCD дорожки. Игра работает нормально отученная от CD, но музыки нет. Некоторые игры от этого сильно страдают, ибо музыка в иных - это чуть ли не половина создаваемой атмосферы.
5) Музыка грабится на диск в .WAV / .MP3 / .FLAC или ещё чего-нибудь.
6) Вот тут, в принципе, и появляется проблемы. Музыку можно запускать вручную из, скажем, Winamp'а, но неудобно и долго сворачивать игру ради этого. Да и просто переходя с уровня на уровень - быстро надоест.

Предложения "записать на другой диск", пожалуйста не пишите - ибо сидюк шумит, да и диск туда-сюда пихать тоже не очень хочется.

Что хотелось бы:
1) Запустить какую-нибудь небольшую программку.
2) Указать ей каталог с .MP3 файлами
3) Указать какой файл какому трэку на оригинальном диске соответствует.
4) Теперь когда запускаем игру и она обращается к CD-диску, нужно чтобы эта прога перехватывала обращения к функциям winmm.dll и (самый тупой способ) запускала ассоциированную с .MP3 файлами программу на проигрывание (пускай даже с начала трэк играть будет - пофигу), например Winamp.

Я для интереса решил порыться в экспортируемых функциях игры Turok2 - из winmm.dll там экспортируются такие функции:

mixerGetDevCapsA
mciSendCommandA
mciGetErrorStringA
mixerSetControlDetails
mixerGetControlDetailsA
mixerGetLineControlsA
timeEndPeriod
timeKillEvent
timeSetEvent
timeGetTime
timeGetDevCaps
timeBeginPeriod
mixerGetNumDevs
mixerGetLineInfoA

Видимо, это минимальный набор функций, который необходим.

Кто-нибудь знает - есть ли вообще такой эмулятор/враппер? Был бы очень признателен за ссылку.

Если никто такой программы не знает - я так понимаю, это нужно копать в направлении Hook'ов, да?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Ответов
Axsis
Jan 16 2007, 09:53
Сообщение #2


Advanced Member
***

Группа: CTPAX-X
Сообщений: 121
Регистрация: 6-February 08
Пользователь №: 374
Спасибо сказали: 149 раз(а)



Кагда-то давно (ещё до появления алкоголя и демона biggrin.gif ) я пользовался эмулятором paragon cd emulator (тогда ещё версии 1.х кажется). Так вот он ещё тогда позволял делать образы дисков, сохраняя аудио-дорожки в mp3, сейчас написано может использовать любой кодек (из установленных в системе), и потом при обращении к этой дорожке играл её соответственно из mp3, также было сжатие образов, НО образы были в каком-то "своём" формате (кажется файлы *.cdi, но когда появился алкоголь, он не смог их открыть, и пришлось делать образы с образов же biggrin.gif ), и с iso он тогда не дружил (хотя сейчас наверняка дружит). Сейчас у них на сайте (www.paragon.ru) уже 3-я версия лежит, разработка отечественная, и за неё просят 540 отечественных же денег, но есть демка.
Это не совсем то что ты хотел, но должно работать с 99% стареньких игр, работающих в винде.

Почти оффтоп: около года назад заполучил Платиновое издание "Героев" от Буки, там первые 3 части со всеми официальными дополнениями, так вот музыка для первой и второй части лежала на диске в OGG и игра проигрывала её вместо audio-cd треков (точнее игра считала, что играет именно audio-cd wink.gif )
как они это сделали я не смотрел, но думаю перекомпиляцией exe-шников под винду и добавлением какого-то врапера прямо в код игры. Почаще бы разработчики/издатели делали подобные подарки фанатам своих старых игр rolleyes.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Сообщения в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 28th May 2024 - 08:20