graphics/traveler: Restore most of what was removed in the previous commit. That non-standard logic is currently needed by the simulation. It should be replaced with use of a framebuffer driver.
This commit is contained in:
parent
fda6713854
commit
47dabf17aa
@ -7,7 +7,7 @@ config GRAPHICS_TRAVELER
|
|||||||
bool "Traveler game"
|
bool "Traveler game"
|
||||||
default n
|
default n
|
||||||
select FSUTILS_INIFILE
|
select FSUTILS_INIFILE
|
||||||
depends on NX_MULTIUSER
|
depends on !NX || NX_MULTIUSER
|
||||||
---help---
|
---help---
|
||||||
Enable or disable the graphic Traveler game
|
Enable or disable the graphic Traveler game
|
||||||
|
|
||||||
|
@ -98,6 +98,89 @@ static void trv_use_bgwindow(FAR struct trv_graphics_info_s *ginfo)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: trv_get_fbdev
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Get the system framebuffer device
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef CONFIG_NX
|
||||||
|
static FAR struct fb_vtable_s *trv_get_fbdev(void)
|
||||||
|
{
|
||||||
|
FAR struct fb_vtable_s *fbdev;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
/* Initialize the frame buffer device */
|
||||||
|
|
||||||
|
ret = up_fbinitialize(0);
|
||||||
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
trv_abort("ERROR: up_fbinitialize() failed: %d\n", -ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set up to use video plane 0. There is no support for anything but
|
||||||
|
* video plane 0.
|
||||||
|
*/
|
||||||
|
|
||||||
|
fbdev = up_fbgetvplane(0,0);
|
||||||
|
if (!fbdev)
|
||||||
|
{
|
||||||
|
trv_abort("ERROR: up_fbgetvplane() failed\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
return fbdev;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: trv_fb_initialize
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Get the system framebuffer device (only used on simulator)
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef CONFIG_NX
|
||||||
|
static void trv_fb_initialize(FAR struct trv_graphics_info_s *ginfo)
|
||||||
|
{
|
||||||
|
struct fb_videoinfo_s vinfo;
|
||||||
|
struct fb_planeinfo_s pinfo;
|
||||||
|
FAR struct fb_vtable_s *fbdev;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
/* Get the framebuffer device */
|
||||||
|
|
||||||
|
fbdev = trv_get_fbdev();
|
||||||
|
|
||||||
|
/* Get information about video plane 0 */
|
||||||
|
|
||||||
|
ret = fbdev->getvideoinfo(fbdev, &vinfo);
|
||||||
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
trv_abort("ERROR: getvideoinfo() failed\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
ginfo->xres = vinfo.xres;
|
||||||
|
ginfo->yres = vinfo.yres;
|
||||||
|
|
||||||
|
ret = fbdev->getplaneinfo(fbdev, 0, &pinfo);
|
||||||
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
trv_abort("ERROR: getplaneinfo() failed\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
ginfo->stride = pinfo.stride;
|
||||||
|
ginfo->hwbuffer = pinfo.fbmem;
|
||||||
|
|
||||||
|
if (vinfo.fmt != TRV_COLOR_FMT || pinfo.bpp != TRV_BPP)
|
||||||
|
{
|
||||||
|
trv_abort("ERROR: Bad color format(%d)/bpp(%d)\n", vinfo.fmt, pinfo.bpp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: trv_nx_initialize
|
* Name: trv_nx_initialize
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -257,7 +340,7 @@ int trv_graphics_initialize(FAR struct trv_graphics_info_s *ginfo)
|
|||||||
|
|
||||||
/* Initialize the graphics device and get information about the display */
|
/* Initialize the graphics device and get information about the display */
|
||||||
|
|
||||||
#if !defined(CONFIG_NX)
|
#ifndef CONFIG_NX
|
||||||
trv_fb_initialize(ginfo);
|
trv_fb_initialize(ginfo);
|
||||||
#else
|
#else
|
||||||
trv_nx_initialize(ginfo);
|
trv_nx_initialize(ginfo);
|
||||||
|
Loading…
Reference in New Issue
Block a user