bool TCOD_sys_init(int w,int h, char_t *buf, char_t *oldbuf, bool fullscreen) { if ( ! has_startup ) TCOD_sys_startup(); consoleWidth=w; consoleHeight=h; if (! charmap) TCOD_sys_load_font(); if ( fullscreen ) { find_resolution(); screen=SDL_SetVideoMode(actual_fullscreen_width,actual_fullscreen_height,32,SDL_FULLSCREEN); if ( screen == NULL ) TCOD_fatal_nopar("SDL : cannot set fullscreen video mode"); SDL_ShowCursor(0); actual_fullscreen_width=screen->w; actual_fullscreen_height=screen->h; fullscreen_offsetx=(actual_fullscreen_width-consoleWidth*fontWidth)/2; fullscreen_offsety=(actual_fullscreen_height-consoleHeight*fontHeight)/2; SDL_FillRect(screen,0,0); } else { screen=SDL_SetVideoMode(w*fontWidth,h*fontHeight,32,0); if ( screen == NULL ) TCOD_fatal_nopar("SDL : cannot create window"); } //if ( SDL_MUSTLOCK( charmap ) ) SDL_UnlockSurface( charmap ); SDL_EnableUNICODE(1); consoleBuffer=buf; prevConsoleBuffer=oldbuf; fullscreen_on=fullscreen; memset(key_status,0,sizeof(bool)*(TCODK_CHAR+1)); memset(ascii_updated,0,sizeof(bool)*TCOD_max_font_chars); return true; }
BOOL APIENTRY DllMain( HANDLE hModule, DWORD reason, LPVOID reserved) { switch (reason ) { case DLL_PROCESS_ATTACH : TCOD_sys_startup(); break; default : break; } return TRUE; }
bool TCOD_sys_init(int w,int h, char_t *buf, char_t *oldbuf, bool fullscreen) { FILE *f; if ( ! has_startup ) TCOD_sys_startup(); /* check if there is a user (player) config file */ f = fopen("./libtcod.cfg","r"); if ( f ) { fclose(f); /* yes, read it */ TCOD_sys_load_player_config(); if (TCOD_ctx.fullscreen) fullscreen=true; } if (! charmap) TCOD_sys_load_font(); if ( fullscreen ) { find_resolution(); if (TCOD_ctx.renderer == TCOD_RENDERER_SDL ) { screen=SDL_SetVideoMode(TCOD_ctx.actual_fullscreen_width,TCOD_ctx.actual_fullscreen_height,32,SDL_FULLSCREEN); if ( screen == NULL ) TCOD_fatal_nopar("SDL : cannot set fullscreen video mode"); } SDL_ShowCursor(0); TCOD_ctx.actual_fullscreen_width=screen->w; TCOD_ctx.actual_fullscreen_height=screen->h; TCOD_ctx.fullscreen_offsetx=(TCOD_ctx.actual_fullscreen_width-TCOD_ctx.root->w*TCOD_ctx.font_width)/2; TCOD_ctx.fullscreen_offsety=(TCOD_ctx.actual_fullscreen_height-TCOD_ctx.root->h*TCOD_ctx.font_height)/2; SDL_FillRect(screen,0,0); } else { if (TCOD_ctx.renderer == TCOD_RENDERER_SDL ) { screen=SDL_SetVideoMode(w*TCOD_ctx.font_width,h*TCOD_ctx.font_height,32,0); TCOD_LOG(("Using SDL renderer...\n")); } if ( screen == NULL ) TCOD_fatal_nopar("SDL : cannot create window"); } SDL_EnableUNICODE(1); consoleBuffer=buf; prevConsoleBuffer=oldbuf; TCOD_ctx.fullscreen=fullscreen; memset(key_status,0,sizeof(bool)*(TCODK_CHAR+1)); memset(ascii_updated,0,sizeof(bool)*TCOD_ctx.max_font_chars); return true; }
bool TCOD_sys_init(TCOD_console_data_t *con, bool fullscreen) { if ( ! has_startup ) TCOD_sys_startup(); return _bah_libtcod_TCODSystem__Init(con, con->w, con->h, con->buf, con->oldbuf, fullscreen); }
void __attribute__ ((constructor)) DllMain() { TCOD_sys_startup(); }