Exemplo n.º 1
0
void script_start( int autostart )
{
    int i;

    shot_histogram_set(0);
    if (autostart) auto_started = 1; else auto_started = 0;
    delay_target_ticks = 0;
    kbd_int_stack_ptr = 0;
    kbd_last_clicked = 0;
    /*if (!autostart)*/ kbd_key_release_all();

    script_console_clear();
    script_print_screen_init();

			if (conf.script_param_save)
				{
        save_params_values(0);
      }
    if( autostart )
      script_console_add_line("***Autostart***");
    else
      script_console_add_line(lang_str(LANG_CONSOLE_TEXT_STARTED));

    if( is_lua() ) {
      
      if( !lua_script_start(state_ubasic_script) ) {
    script_print_screen_end();
    wait_and_end();
    return;
      }
      for (i=0; i<SCRIPT_NUM_PARAMS; ++i) {
    if( script_params[i][0] ) {
    char var = 'a'+i;
    lua_pushlstring( L, &var, 1 );
    lua_pushnumber( L, conf.ubasic_vars[i] );
    lua_settable( L, LUA_GLOBALSINDEX );
    }
      }
      state_lua_kbd_first_call_to_resume = 1;
    }
    else {
      ubasic_init(state_ubasic_script);

      for (i=0; i<SCRIPT_NUM_PARAMS; ++i) {
        ubasic_set_variable(i, conf.ubasic_vars[i]);
      }
    }

    state_kbd_script_run = 1;

    if (conf.alt_prevent_shutdown != ALT_PREVENT_SHUTDOWN_ALT_SCRIPT) {
        enable_shutdown();
    }
}
Exemplo n.º 2
0
/**
 * Startet das uBasic-Verhalten
 * \param *caller Zeiger auf den Verhaltensdatensatz des Aufrufers
 */
void bot_ubasic(Behaviour_t * caller) {
	if (ubasic_prog_file.start == 0) {
		LOG_ERROR("Kein Programm geladen");
		return;
	}
	switch_to_behaviour(caller, bot_ubasic_behaviour, BEHAVIOUR_OVERRIDE);
	ubasic_behaviour_data = get_behaviour(bot_ubasic_behaviour);
	ubasic_set_speed(BOT_SPEED_IGNORE, BOT_SPEED_IGNORE); // alte Speed-Wuensche neutralisieren

	ubasic_init(0);
}
Exemplo n.º 3
0
static void b_basic_tarefa(int argc, char **argv) {
    if (argc != 2) {
        msg_erro_nos_argumentos();
        return;
    }

    if (argv[1][0] == 'c') {
        usb_print("\r\ncriando");
        ubasic_init(prog_test_basic);
        tbas_ini();

    } else if (argv[1][0] == 'm') {
        usb_print("\r\ncometendo suicidio");
        tbas_suicidio();
    }
}
Exemplo n.º 4
0
static void b_basic_teste(int argc, char **argv) {
    (void) argc;
    (void) argv;

    if (argc != 1) {
        msg_erro_nos_argumentos();
        return;
    }

    usb_print(NOVA_LINHA);

    ubasic_init(prog_test_basic);
    do {
        ubasic_run();
    } while (!ubasic_finished());
}
Exemplo n.º 5
0
int main (int argc, char *argv[])
{
	int inc=0;
	
	start_time = time(NULL);
	
	GetArguments(argc, argv); /* Get the script filename */
	PrintVersion();  /* Print info */
	InitGFX();       /* Setup SDL  */	
	DisplayTitle();  /* Show the irixbasic titles */
	DisplayReady();  /* Display the ready text */
	
	LoadScript(); 
	
	SDL_Flip(screen);
	ubasic_init(program); /* Setup uBasic  */	
	
	
	/* Start the program when the user is ready */
	PrintTextLine("Click to Run.");
	SDL_Delay(200);
	do
	{
		GetInput();   /* Read the inputs */
	}while (!GetMouseButton());
	
	
	do
	{
		GetInput();   /* Read the inputs */
		ubasic_run(); /* Process a line of code*/
	}while (!ubasic_finished() && !done);
	
	PrintTextLine("");
	PrintTextLine("Click or Press ESC to quit.");
	SDL_Flip(screen);
	
	while(!done && !GetMouseButton()){
		GetInput();
	}
	
	TTF_CloseFont( fntc64 );
	
	return 0;
}
Exemplo n.º 6
0
/*---------------------------------------------------------------------------*/
void ubasic_init_peek_poke(const char *program, peek_func peek, poke_func poke)
{
  peek_function = peek;
  poke_function = poke;
  ubasic_init(program);
}