Commit Graph

19 Commits

Author SHA1 Message Date
lifning 768dfb75bb simple core info querying 2021-12-14 03:15:00 -08:00
lifning 72366248d7 fix dupe frames 2021-12-11 01:55:08 -08:00
lifning 709a23307a fix a couple minor sdl a/v bugs 2021-12-11 01:38:48 -08:00
lifning 9de6008ef5 factor out frame-to-surface code in SDL, use it to convert pixel format before upscaling in frame-to-canvas 2021-12-10 18:57:00 -08:00
lifning 2dd8556fe2 fullscreen option, add keyboard component 2021-12-10 02:36:13 -08:00
lifning 8efff459c4 integer scaling 2021-12-10 00:53:07 -08:00
lifning e7f6c58d0a minor fixes 2021-12-10 00:08:01 -08:00
lif ed3b78eaa1 resizable window 2021-12-07 18:10:25 -08:00
lifning bbee2b95dd Merge branch 'liffy/camera' into liffy/sdl2surf 2021-11-04 16:27:18 -07:00
lifning 674adecd55 minor refactor 2021-11-04 16:23:23 -07:00
lifning 56e070a30d add some QOL stuff to the SDL2 Simple video components 2021-11-04 15:27:13 -07:00
lifning 41e3352927 more fixes for invalid calls to get_system_av_info 2021-11-03 18:31:40 -07:00
lifning 725a5d8f03 more struct docs 2021-11-01 21:14:25 -07:00
lifning ebea5ffd22 video and audio callback API change:
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.
2021-11-01 00:56:23 -07:00
lifning 41ffd86d1b WIP camera 2021-10-01 21:15:13 -07:00
lifning 41c0864bef misc cleanup for SDL+GL 2021-08-21 21:45:57 -07:00
lifning 71240de38c Support 2D video_refresh in the SDL+GL component
...and alter the behavior of ThreadSleep component a bit.
2021-08-21 20:37:47 -07:00
lifning f954fe9ffb tell parallel-n64 to use glide64 when using the SDL_GL component 2021-08-20 21:47:48 -07:00
lifning 0501812ae9 Split Sdl2Component into audio/video/input/framelimit 2021-08-18 22:05:19 -07:00