Mercurial > repos > blastem
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) { |