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(); } }
/** * 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); }
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(); } }
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()); }
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; }
/*---------------------------------------------------------------------------*/ void ubasic_init_peek_poke(const char *program, peek_func peek, poke_func poke) { peek_function = peek; poke_function = poke; ubasic_init(program); }