Commit Graph

20 Commits

Author SHA1 Message Date
lifning 768dfb75bb simple core info querying 2021-12-14 03:15:00 -08:00
lifning f5b86f9f8e static-linked libretro core support 2021-11-11 16:09:14 -08:00
lifning 464e670be4 variable storage component 2021-11-11 02:10:31 -08:00
lifning 2071ee21fd add stateful input component for programmatic gamepad stuff 2021-11-10 00:31:19 -08:00
lifning 82b9cba976 threads! 2021-11-09 21:36:55 -08:00
lifning aa33f331f0 actually load multiple separate instances of the core (OS will deduplicate by path) 2021-11-08 22:34:53 -08:00
lifning 53642557a0 refactor, first pass of supporting multiple simultaneous cores 2021-11-08 21:45:57 -08:00
lifning fd2eb03c07 round out a bit more of camera support 2021-11-04 22:54:27 -07:00
lifning bbee2b95dd Merge branch 'liffy/camera' into liffy/sdl2surf 2021-11-04 16:27:18 -07:00
lifning 56e070a30d add some QOL stuff to the SDL2 Simple video components 2021-11-04 15:27:13 -07:00
lifning e95e13df1e add checks for sequencing, fix audio sync in paraLLEl-n64 2021-11-04 11:23:02 -07:00
lifning 11e014b9ed refactor stdlib components into submods 2021-11-02 17:49:49 -07:00
lifning c94400f1b6 more doc revisions 2021-11-02 00:32:53 -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 26ff040136 adding plain sdl2 surface component 2021-10-16 02:26:33 -07:00
lifning b735e5f4e5 make example deps properly optional 2021-10-15 21:42:51 -07:00
lifning 41ffd86d1b WIP camera 2021-10-01 21:15:13 -07:00
lifning 79f6d79eb8 no longer unix-specific 2021-10-01 21:14:53 -07:00
lifning 013cc247b9 wip messing around with SDL_GL as a possible hw render provider to later mix in with the existing 2D codepaths 2021-08-20 00:14:41 -07:00
Vivian Lim 7b850c1800 ferretro_core -> ferretro_base 2021-08-18 14:47:57 -07:00