Mercurial > repos > blastem
annotate cdd_fader.h @ 2678:844ca8377b45
Make the controller remap UI less twitchy on high refresh rate screens and filter out events from other controllers
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 26 Mar 2025 01:15:52 -0700 |
parents | 9ead0fe69d9b |
children |
rev | line source |
---|---|
2080 | 1 #ifndef CDD_FADER_H_ |
2 #define CDD_FADER_H_ | |
3 | |
4 #include "render_audio.h" | |
2280
9ead0fe69d9b
Implement savestate support for Sega CD
Michael Pavone <pavone@retrodev.com>
parents:
2278
diff
changeset
|
5 #include "serialize.h" |
2080 | 6 |
7 typedef struct { | |
8 audio_source *audio; | |
9 uint16_t cur_attenuation; | |
10 uint16_t dst_attenuation; | |
11 uint16_t attenuation_step; | |
12 uint8_t flags; | |
13 uint8_t bytes[4]; | |
14 uint8_t byte_counter; | |
15 } cdd_fader; | |
16 | |
17 void cdd_fader_init(cdd_fader *fader); | |
2164
4fbe1e7c4a73
Don't leak all Sega CD resources when freeing a Genesis instance
Michael Pavone <pavone@retrodev.com>
parents:
2080
diff
changeset
|
18 void cdd_fader_deinit(cdd_fader *fader); |
2278
5a21bc0ec583
Implement turbo/slo mo for Sega CD
Michael Pavone <pavone@retrodev.com>
parents:
2164
diff
changeset
|
19 void cdd_fader_set_speed_percent(cdd_fader *fader, uint32_t percent); |
2080 | 20 void cdd_fader_attenuation_write(cdd_fader *fader, uint16_t attenuation); |
21 void cdd_fader_data(cdd_fader *fader, uint8_t byte); | |
22 void cdd_fader_pause(cdd_fader *fader); | |
2280
9ead0fe69d9b
Implement savestate support for Sega CD
Michael Pavone <pavone@retrodev.com>
parents:
2278
diff
changeset
|
23 void cdd_fader_serialize(cdd_fader *fader, serialize_buffer *buf); |
9ead0fe69d9b
Implement savestate support for Sega CD
Michael Pavone <pavone@retrodev.com>
parents:
2278
diff
changeset
|
24 void cdd_fader_deserialize(deserialize_buffer *buf, void *vfader); |
2080 | 25 |
26 #endif //CDD_FADER_H_ |