#8460 closed patch
Kyra 1 Sound Patch
Reported by: | lordhoto | Owned by: | cyxx |
---|---|---|---|
Priority: | normal | Component: | Engine: Kyra |
Version: | Keywords: | ||
Cc: | Game: | Kyrandia 1 |
Description
Hi,
this patch adds basic sound support to Kyrandia. The music now works with Adlib emulation nearly correct, except some times. The sound effects are nearly everytime wrong, but the right sound is played, maybe a wrong instrument is used. Also the music is sometimes played to fast or to slow (to fast in the first scene, in the malcolm tree and in the malcolm kallak scene to slow) Btw. you have to specify Adlib emulation for Adlib sound, because nativ MIDI is preferred. Should work ok with MT-32 emulation, but NOT testet well.
TODO: - check the XMIDI Parser "Hack" - get music synced correctly - get effects to work correctly - test it with the CD version (only tested with german floppy) - check for other bugs
Hope it will work OK.
Ticket imported from: #1281714. Ticket imported from: patches/565.
Attachments (2)
Change History (8)
by , 19 years ago
Attachment: | kyra_sound_v1.patch added |
---|
comment:1 by , 19 years ago
Owner: | set to |
---|
comment:2 by , 19 years ago
Tested it, seems to work quite well. Good work.
Some minor remarks, though : - read the code conventions, switch/break indentation is wrong - constants definitions should be consistent within an engine, you used kConst style whereas I used CONST style - you have some debug() calls left in your code - it would have been nice to match the disassembly in particular for opcode 25, sound seems to be only started if param != 0 and != 1
And some more important remarks (which prevent the patch to be committed) : - in loadSoundEffectFile(), you load some data, where is it free()'d ? - you modified some common sound code (ie. midiparser_xmidi.cpp) ; it would be better to know what event 7 is supposed to do instead of skipping it.
Concerning the CD version, I just checked, the bytecode used in it is different (they added new opcodes and shifted the existing ones) ; so no need to waste time on it now.
comment:3 by , 19 years ago
new version, fixes the XMIDIParser Hack, also the memory leak is 'fixed' and the swtich parts should now be indeted correctly.
comment:5 by , 19 years ago
Status: | new → closed |
---|
comment:6 by , 6 years ago
Component: | → Engine: Kyra |
---|---|
Game: | → Kyrandia 1 |
patch against todays cvs