Devilution: sound.cpp

Created on 18 Sep 2018  路  11Comments  路  Source: diasurgical/devilution

  • [x] 456CCB (snd_update)
  • [x] 456D22 (snd_stop_snd)
  • [x] 456D34 (snd_playing)
  • [x] 456D60 (snd_play_snd)
  • [x] 456E39 (sound_dup_channel)
  • [x] 456E74 (sound_file_reload)
  • [x] 456F07 (sound_file_load)
  • [x] 457003 (sound_CreateSoundBuffer)
  • [x] 457060 (sound_file_cleanup)
  • [x] 45708B (snd_init)
  • [x] 45712B (sound_load_volume)
  • [x] 45717C (sound_create_primary_buffer)
  • [x] 45727E (sound_DirectSoundCreate)
  • [x] 4572FF (sound_cleanup)
  • [x] 457358 (sound_store_volume)
  • [x] 457367 (music_stop)
  • [x] 457393 (music_start)
  • [x] 4573FE (sound_disable_music)
  • [x] 457418 (sound_get_or_set_music_volume)
  • [x] 45743B (sound_get_or_set_sound_volume)
Binary exact

Most helpful comment

@sskras heres the current progress towards reaching that goal:
billede

All 11 comments

:tada:

64 to go!

@squidcc while merging wave.cpp I noticed that sound_CreateSoundBuffer is no longer bin exact, since you did both clean ups could you look in to what changed?

Just to clarify; it was already like this before today's merge.

Latest code in nightly looks fine to me, only binary differences are the addresses for sglpDS and the filename string passed to DSErrMsg.

Odd, when I checked it earlier all 0x14 where 0x20 but checking now from my main machine the values are correct :/

I follow the project only partially. I see most work now is to clean up functions. Here @squidcc comments:

only binary differences are the addresses for sglpDS and the filename string passed to DSErrMsg.

Is something going to be done with these some time later?
Thanks for your work.

Once we get most of the code matched to the original we can work on getting things located at the original addresses. In the meantime things don't line up because we have too much code, which pushes all the global data higher in memory.

@sskras heres the current progress towards reaching that goal:
billede

Wow, thanks!

A jump in snd_play_snd is 3 bytes to short:
image

Also here an updated graph of the current progress:
image

Given that there is a min-diff in snd_play_snd, I'll re-open this issue.

Was this page helpful?
0 / 5 - 0 ratings