Народ!
Кто-нибудь знает маленький и удаленький 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'ов, да?
Я не совсем понял что ты хочешь...
Если тебе надо сделат образ со звуковыми дорожками и гонять его через виртуалку, то берёшь прогу UltraISO у меня 7.22 версия, но она уже старая. Жмёшь Tools\Make CD image выбираешь CUE\BIN делаешь образ, монтируешь в виртуалку через Deamon Tools и можешь даже через мастдаевский медаплеер дорожки слушать. А если приспичит то в любой момент сделать с этого образа точную копию диска..
Что хоть за игра-то?! =)
Кагда-то давно (ещё до появления алкоголя и демона ) я пользовался эмулятором paragon cd emulator (тогда ещё версии 1.х кажется). Так вот он ещё тогда позволял делать образы дисков, сохраняя аудио-дорожки в mp3, сейчас написано может использовать любой кодек (из установленных в системе), и потом при обращении к этой дорожке играл её соответственно из mp3, также было сжатие образов, НО образы были в каком-то "своём" формате (кажется файлы *.cdi, но когда появился алкоголь, он не смог их открыть, и пришлось делать образы с образов же ), и с iso он тогда не дружил (хотя сейчас наверняка дружит). Сейчас у них на сайте (www.paragon.ru) уже 3-я версия лежит, разработка отечественная, и за неё просят 540 отечественных же денег, но есть демка.
Это не совсем то что ты хотел, но должно работать с 99% стареньких игр, работающих в винде.
Почти оффтоп: около года назад заполучил Платиновое издание "Героев" от Буки, там первые 3 части со всеми официальными дополнениями, так вот музыка для первой и второй части лежала на диске в OGG и игра проигрывала её вместо audio-cd треков (точнее игра считала, что играет именно audio-cd )
как они это сделали я не смотрел, но думаю перекомпиляцией exe-шников под винду и добавлением какого-то врапера прямо в код игры. Почаще бы разработчики/издатели делали подобные подарки фанатам своих старых игр
-=CHE@TER=-
Я бы тебе советовал, наведаться на форум old-games.ru
Axsis!
Спасибо!
Но я, похоже, начинаю приходить к мысли "if you wanna job done right - you gonna do it yourself" © The Thing. Похоже, как только будет время (если оно будет) - я займусь написанием wrapper'а. Мне кажется это будет полезная вещь не только для одного меня.