Сейчас на форуме: _MBK_ (+7 невидимых) |
eXeL@B —› Основной форум —› Моддинг игры Little Fighter2(добавляю проигрывание MP3) |
Посл.ответ | Сообщение |
|
Создано: 03 июля 2007 12:14 · Поправил: Satanael · Личное сообщение · #1 Вообщем решил я замутить проигрывание музыки в мп3 формате в вот этой игрухе в зависимости от выбраного заднего бэкграунда. Юзаю bass.dll Вот код: ---------------- push "bass.dll" call LoadLibraryA mov dword ptr ds:[00814049], eax push "BASS_StreamCreateFile" push eax call GetProcAddress mov dword ptr ds:[00814041], EAX push "BASS_ChannelPlay" push dword ptr ds:[00814049] call GetProcAddress mov dword ptr ds:[0081400D], eax push 0 push 0 push 0 push dword ptr ds:[00814000] push 0 call BASS_StreamCreateFile push 1 push eax call BASS_ChannelPlay push "kernel32.dll" call LoadLibraryA push "FreeLibrary" push eax call GetProcAddress push "bass.dll" call eax -------------------------- Функция BASS_StreamCreateFile срабатывает не правильно. Если всё правильно то то в EAX возвращается значение: B0000001 если нет то 0. Компилирую например проект на дельфи, прохажу по коду из под отладчика, функция отрабатывает нормально а у меня в чужой проге не работает? Почему так может быть? Я всё правильно пишу: push 0 push 0 push dword ptr ds:[00814000] push 0 call BASS_StreamCreateFile 00814000 (самое начало секции, добавленое через pe-редактор) - Тут содержится 4-х байтовый указатель на строку. P.S. Раньше эта функция нормально работала в чужом экзе, хз что случилось... ----- Никто не знает столько, сколько не знаю я |
|
Создано: 04 июля 2007 06:38 · Личное сообщение · #2 |
eXeL@B —› Основной форум —› Моддинг игры Little Fighter2(добавляю проигрывание MP3) |
Эта тема закрыта. Ответы больше не принимаются. |