From eb9be6409f803e0e65d2dd76091a2fba4f65e541 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Thu, 28 Jan 2016 04:07:54 +0100 Subject: [PATCH] Use core callbacks --- gfx/d3d/d3d.cpp | 8 ++++++-- gfx/video_state_python.c | 25 +++++++++++++++++++------ 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/gfx/d3d/d3d.cpp b/gfx/d3d/d3d.cpp index de0c3bc03e..03b10995a2 100644 --- a/gfx/d3d/d3d.cpp +++ b/gfx/d3d/d3d.cpp @@ -91,6 +91,7 @@ static bool d3d_init_luts(d3d_video_t *d3d) #ifndef DONT_HAVE_STATE_TRACKER static bool d3d_init_imports(d3d_video_t *d3d) { + retro_ctx_memory_info_t mem_info; state_tracker_t *state_tracker = NULL; state_tracker_info tracker_info = {0}; @@ -99,8 +100,11 @@ static bool d3d_init_imports(d3d_video_t *d3d) if (!d3d->renderchain_driver->add_state_tracker) return true; - tracker_info.wram = (uint8_t*) - core.retro_get_memory_data(RETRO_MEMORY_SYSTEM_RAM); + mem_info.id = RETRO_MEMORY_SYSTEM_RAM; + + core_ctl(CORE_CTL_RETRO_GET_MEMORY, &mem_info); + + tracker_info.wram = (uint8_t*)mem_info.data; tracker_info.info = d3d->shader.variable; tracker_info.info_elem = d3d->shader.variables; diff --git a/gfx/video_state_python.c b/gfx/video_state_python.c index fea183f523..d644b96b83 100644 --- a/gfx/video_state_python.c +++ b/gfx/video_state_python.c @@ -25,6 +25,7 @@ #include "video_state_python.h" #include "../dynamic.h" #include "../libretro.h" +#include "../libretro_version_1.h" #include "../general.h" #include "../verbosity.h" #include "../input/input_config.h" @@ -34,8 +35,14 @@ static PyObject* py_read_wram(PyObject *self, PyObject *args) { unsigned addr; size_t max; - const uint8_t *data = (const uint8_t*) - core.retro_get_memory_data(RETRO_MEMORY_SYSTEM_RAM); + retro_ctx_memory_info_t mem_info; + const uint8_t *data = NULL; + + mem_info.id = RETRO_MEMORY_SYSTEM_RAM; + + core_ctl(CORE_CTL_RETRO_GET_MEMORY, &mem_info); + + data = (const uint8_t*)mem_info.data; (void)self; @@ -45,7 +52,7 @@ static PyObject* py_read_wram(PyObject *self, PyObject *args) return Py_None; } - max = core.retro_get_memory_size(RETRO_MEMORY_SYSTEM_RAM); + max = mem_info.size; if (!PyArg_ParseTuple(args, "I", &addr)) return NULL; @@ -63,8 +70,14 @@ static PyObject* py_read_vram(PyObject *self, PyObject *args) { unsigned addr; size_t max; - const uint8_t *data = (const uint8_t*) - core.retro_get_memory_data(RETRO_MEMORY_VIDEO_RAM); + retro_ctx_memory_info_t mem_info; + const uint8_t *data = NULL; + + mem_info.id = RETRO_MEMORY_VIDEO_RAM; + + core_ctl(CORE_CTL_RETRO_GET_MEMORY, &mem_info); + + data = (const uint8_t*)mem_info.data; (void)self; @@ -74,7 +87,7 @@ static PyObject* py_read_vram(PyObject *self, PyObject *args) return Py_None; } - max = core.retro_get_memory_size(RETRO_MEMORY_VIDEO_RAM); + max = mem_info.size; if (!PyArg_ParseTuple(args, "I", &addr)) return NULL;