
Former-commit-id: 5d9eb08cc2659824812ef895e0cdfb9a26e83e02 Former-commit-id: 7a430f68007cbdeafde92973c74ba21e25f724e6
105 lines
2.1 KiB
C
105 lines
2.1 KiB
C
#include "dump1090.h"
|
|
#include "init.h"
|
|
#include "SDL/SDL_getenv.h"
|
|
|
|
void mouseSetup() {
|
|
#ifdef RPI
|
|
wiringPiSetupGpio() ;
|
|
pinMode(23, INPUT);
|
|
pullUpDnControl (23, PUD_UP);
|
|
pinMode(22, INPUT);
|
|
pullUpDnControl (22, PUD_UP);
|
|
pinMode(27, INPUT);
|
|
pullUpDnControl (27, PUD_UP);
|
|
|
|
#endif
|
|
}
|
|
|
|
void init(char *title)
|
|
{
|
|
|
|
// raspberry pi compiler flag enables these options
|
|
#ifdef RPI
|
|
putenv((char*)"FRAMEBUFFER=/dev/fb1");
|
|
putenv((char*)"SDL_FBDEV=/dev/fb1");
|
|
#endif
|
|
|
|
mouseSetup();
|
|
|
|
/* Initialise SDL */
|
|
|
|
if (SDL_Init(SDL_INIT_VIDEO) < 0)
|
|
{
|
|
printf("Could not initialize SDL: %s\n", SDL_GetError());
|
|
|
|
exit(1);
|
|
}
|
|
|
|
/* Initialise SDL_TTF */
|
|
|
|
if (TTF_Init() < 0)
|
|
{
|
|
printf("Couldn't initialize SDL TTF: %s\n", SDL_GetError());
|
|
|
|
exit(1);
|
|
}
|
|
|
|
SDL_ShowCursor(SDL_DISABLE);
|
|
|
|
#ifdef RPI
|
|
const SDL_VideoInfo* vInfo = SDL_GetVideoInfo();
|
|
|
|
if (!vInfo) {
|
|
fprintf(stderr,"ERROR in SDL_GetVideoInfo(): %s\n",SDL_GetError());
|
|
exit(1);
|
|
}
|
|
|
|
Modes.screen_width = vInfo->current_w;
|
|
Modes.screen_height = vInfo->current_h;
|
|
Modes.screen_depth = vInfo->vfmt->BitsPerPixel;
|
|
#endif
|
|
|
|
|
|
if(Modes.screen_upscale > 1) {
|
|
game.bigScreen = SDL_SetVideoMode(Modes.screen_width * Modes.screen_upscale, Modes.screen_height * Modes.screen_upscale, Modes.screen_depth, SDL_HWPALETTE|SDL_DOUBLEBUF);
|
|
game.screen = SDL_CreateRGBSurface(0, Modes.screen_width, Modes.screen_height, Modes.screen_depth, 0, 0, 0, 0);
|
|
} else {
|
|
game.screen = SDL_SetVideoMode(Modes.screen_width, Modes.screen_width, Modes.screen_depth, SDL_HWPALETTE|SDL_DOUBLEBUF);
|
|
}
|
|
|
|
if (game.screen == NULL)
|
|
{
|
|
printf("Couldn't set screen mode to %d x %d: %s\n", Modes.screen_width, Modes.screen_height, SDL_GetError());
|
|
|
|
exit(1);
|
|
}
|
|
|
|
/* Load the font */
|
|
|
|
game.font = loadFont("TerminusTTF-Bold-4.46.0.ttf", 12);
|
|
|
|
game.listFont = loadFont("TerminusTTF-Bold-4.46.0.ttf", 18);
|
|
|
|
/* Set the screen title */
|
|
|
|
SDL_WM_SetCaption(title, NULL);
|
|
|
|
initMaps();
|
|
}
|
|
|
|
void cleanup()
|
|
{
|
|
/* Close the font */
|
|
|
|
closeFont(game.font);
|
|
|
|
/* Close SDL_TTF */
|
|
|
|
TTF_Quit();
|
|
|
|
|
|
/* Shut down SDL */
|
|
|
|
SDL_Quit();
|
|
}
|