set RETRO_ENVIRONMENT_SET_SUPPORT_ACHIEVEMENTS to true

This commit is contained in:
Andre Leiradella 2016-05-12 09:16:40 -03:00
parent f8dfc0cec7
commit 8702ffdd99
2 changed files with 25 additions and 9 deletions

View File

@ -512,12 +512,12 @@ bool retro_load_game(const struct retro_game_info *info)
struct retro_memory_descriptor descs[] =
{
{ 0, gb.rambank0_ptr(), 0, 0xC000, 0, 0, 0x1000, NULL },
{ 0, gb.rambank1_ptr(), 0, 0xD000, 0, 0, 0x1000, NULL },
{ 0, gb.vram_ptr(), 0, 0x8000, 0, 0, 0x2000, NULL },
{ RETRO_MEMDESC_CONST, gb.rombank0_ptr(), 0, 0x0000, 0, 0, 0x4000, NULL },
{ RETRO_MEMDESC_CONST, gb.rombank1_ptr(), 0, 0x4000, 0, 0, 0x4000, NULL },
{ 0, gb.savedata_ptr(), 0, 0xA000, 0, 0, sramlen, NULL },
{ 0, gb.rambank0_ptr(), 0, 0xC000, 0, 0, 0x1000, NULL },
{ 0, gb.rambank1_ptr(), 0, 0xD000, 0, 0, 0x1000, NULL },
{ 0, gb.vram_ptr(), 0, 0x8000, 0, 0, 0x2000, NULL },
{ RETRO_MEMDESC_CONST, gb.rombank0_ptr(), 0, 0x0000, 0, 0, 0x4000, NULL },
{ RETRO_MEMDESC_CONST, gb.rombank1_ptr(), 0, 0x4000, 0, 0, 0x4000, NULL },
{ 0, gb.savedata_ptr(), 0, 0xA000, 0, 0, sramlen, NULL },
};
struct retro_memory_map mmaps =
@ -527,6 +527,9 @@ bool retro_load_game(const struct retro_game_info *info)
};
environ_cb(RETRO_ENVIRONMENT_SET_MEMORY_MAPS, &mmaps);
bool yes = true;
environ_cb(RETRO_ENVIRONMENT_SET_SUPPORT_ACHIEVEMENTS, &yes);
return true;
}

View File

@ -946,6 +946,15 @@ struct retro_hw_render_interface
* the contents of the HW_RENDER_INTERFACE are invalidated.
*/
#define RETRO_ENVIRONMENT_SET_SUPPORT_ACHIEVEMENTS (42 | RETRO_ENVIRONMENT_EXPERIMENTAL)
/* const bool * --
* If true, the libretro implementation supports achievements
* either via memory descriptors set with RETRO_ENVIRONMENT_SET_MEMORY_MAPS
* or via retro_get_memory_data/retro_get_memory_size.
*
* This must be called before the first call to retro_run.
*/
#define RETRO_MEMDESC_CONST (1 << 0) /* The frontend will never change this memory area once retro_load_game has returned. */
#define RETRO_MEMDESC_BIGENDIAN (1 << 1) /* The memory area contains big endian data. Default is little endian. */
#define RETRO_MEMDESC_ALIGN_2 (1 << 16) /* All memory access in this area is aligned to their own size, or 2, whichever is smaller. */
@ -1396,13 +1405,17 @@ struct retro_camera_callback
*/
uint64_t caps;
unsigned width; /* Desired resolution for camera. Is only used as a hint. */
/* Desired resolution for camera. Is only used as a hint. */
unsigned width;
unsigned height;
retro_camera_start_t start; /* Set by frontend. */
retro_camera_stop_t stop; /* Set by frontend. */
/* Set by frontend. */
retro_camera_start_t start;
retro_camera_stop_t stop;
/* Set by libretro core if raw framebuffer callbacks will be used. */
retro_camera_frame_raw_framebuffer_t frame_raw_framebuffer;
/* Set by libretro core if OpenGL texture callbacks will be used. */
retro_camera_frame_opengl_texture_t frame_opengl_texture;