ebea5ffd22
fn video_refresh(&mut self, data: &[u8], width: c_uint, height: c_uint, pitch: c_uint); fn video_refresh_dupe(&mut self, width: c_uint, height: c_uint, pitch: c_uint); fn video_refresh_hw(&mut self, width: c_uint, height: c_uint); fn audio_sample(&mut self, left: i16, right: i16); fn audio_sample_batch(&mut self, stereo_pcm: &[i16]) -> usize; have been replaced with fn video_refresh(&mut self, frame: &VideoFrame); fn audio_samples(&mut self, stereo_pcm: &[i16]) -> usize; where VideoFrame is pub enum VideoFrame<'a> { XRGB1555 { data: &'a [u16], width: c_uint, height: c_uint, pitch_u16: usize }, RGB565 { data: &'a [u16], width: c_uint, height: c_uint, pitch_u16: usize }, XRGB8888 { data: &'a [u32], width: c_uint, height: c_uint, pitch_u32: usize }, Duplicate { width: c_uint, height: c_uint, pitch_u8: usize, }, HardwareRender { width: c_uint, height: c_uint, }, } use `pub fn VideoFrame::data_pitch_as_bytes(&self) -> Option<(&'a [u8], usize)>` for things that need to access the framebuffer data as a byte array rather than a pixel array. |
||
---|---|---|
ferretro_base | ||
ferretro_components | ||
.gitignore | ||
Cargo.toml | ||
README.md |
README.md
ferretro: FrontEnd in Rust for libRETRO
Development status:
- Supports loading many libretro shared library cores, including some requiring GL.
- Includes batteries for using SDL2, ffmpeg, and/or libGL to render the emulated system and read inputs.
- Code documentation is sparse-to-nonexistent as we're still experimenting with some of the details of what the most flexible & usable public interface should be.