comparison cdd_fader.c @ 2164:4fbe1e7c4a73

Don't leak all Sega CD resources when freeing a Genesis instance
author Michael Pavone <pavone@retrodev.com>
date Tue, 12 Jul 2022 09:22:57 -0700
parents cfd53c94fffb
children 5a21bc0ec583
comparison
equal deleted inserted replaced
2162:1270fe86eb89 2164:4fbe1e7c4a73
6 fader->audio = render_audio_source("CDDA", 16934400, 384, 2); 6 fader->audio = render_audio_source("CDDA", 16934400, 384, 2);
7 fader->cur_attenuation = 0x4000; 7 fader->cur_attenuation = 0x4000;
8 fader->dst_attenuation = 0x4000; 8 fader->dst_attenuation = 0x4000;
9 fader->attenuation_step = 0; 9 fader->attenuation_step = 0;
10 } 10 }
11
12 void cdd_fader_deinit(cdd_fader *fader)
13 {
14 render_free_source(fader->audio);
15 }
16
11 void cdd_fader_attenuation_write(cdd_fader *fader, uint16_t attenuation) 17 void cdd_fader_attenuation_write(cdd_fader *fader, uint16_t attenuation)
12 { 18 {
13 fader->dst_attenuation = attenuation & 0xFFF0; 19 fader->dst_attenuation = attenuation & 0xFFF0;
14 fader->flags = attenuation & 0xE; 20 fader->flags = attenuation & 0xE;
15 if (fader->dst_attenuation > fader->cur_attenuation) { 21 if (fader->dst_attenuation > fader->cur_attenuation) {