예제 #1
0
파일: console.c 프로젝트: pegue/naev
/**
 * @brief Initializes the CLI environment.
 */
int cli_init (void)
{
   /* Already loaded. */
   if (cli_state != NULL)
      return 0;

   /* Calculate size. */
   cli_width  = SCREEN_W - 100;
   cli_height = SCREEN_H - 100;

   /* Create the state. */
   cli_state = nlua_newState();
   nlua_loadBasic( cli_state );
   nlua_loadStandard( cli_state, 0 );
   nlua_loadCLI( cli_state );
   luaL_register( cli_state, "_G", cli_methods );
   lua_settop( cli_state, 0 );

   /* Set the font. */
   cli_font = malloc( sizeof(glFont) );
   gl_fontInit( cli_font, "dat/mono.ttf", CONSOLE_FONT_SIZE );

   /* Clear the buffer. */
   memset( cli_buffer, 0, sizeof(cli_buffer) );

   /* Put a friendly message at first. */
   cli_addMessage( "Welcome to the Lua console!" );
   cli_addMessage( "" );

   return 0;
}
예제 #2
0
/**
 * @brief Initializes the CLI environment.
 */
int cli_init (void)
{
   /* Already loaded. */
   if (cli_state != NULL)
      return 0;

   /* Set the height. */
   cli_height = CLI_HEIGHT;

   /* Create the state. */
   cli_state   = nlua_newState();
   nlua_loadStandard( cli_state, 0 );
   nlua_loadCol( cli_state, 0 );
   nlua_loadTex( cli_state, 0 );
   nlua_loadBackground( cli_state, 0 );
   nlua_loadCamera( cli_state, 0 );
   nlua_loadTk( cli_state );
   nlua_loadCLI( cli_state );
   nlua_loadMusic( cli_state, 0 );
   luaL_register( cli_state, "_G", cli_methods );
   lua_settop( cli_state, 0 );

   /* Mark as console. */
   lua_pushboolean( cli_state, 1 );
   lua_setglobal( cli_state, "__cli" );

   /* Set the font. */
   cli_font    = malloc( sizeof(glFont) );
   gl_fontInit( cli_font, "dat/mono.ttf", conf.font_size_console );

   /* Clear the buffer. */
   memset( cli_buffer, 0, sizeof(cli_buffer) );

   return 0;
}