void ScriptDebuggerRemote::line_poll() { //the purpose of this is just processing events every now and then when the script might get too busy //otherwise bugs like infinite loops can't be caught if (poll_every % 2048 == 0) _poll_events(); poll_every++; }
void ScriptDebuggerRemote::idle_poll() { // this function is called every frame, except when there is a debugger break (::debug() in this class) // execution stops and remains in the ::debug function _get_output(); if (requested_quit) { packet_peer_stream->put_var("kill_me"); packet_peer_stream->put_var(0); requested_quit = false; } if (performance) { uint64_t pt = OS::get_singleton()->get_ticks_msec(); if (pt - last_perf_time > 1000) { last_perf_time = pt; int max = performance->get("MONITOR_MAX"); Array arr; arr.resize(max); for (int i = 0; i < max; i++) { arr[i] = performance->call("get_monitor", i); } packet_peer_stream->put_var("performance"); packet_peer_stream->put_var(1); packet_peer_stream->put_var(arr); } } if (profiling) { if (skip_profile_frame) { skip_profile_frame = false; } else { //send profiling info normally _send_profiling_data(true); } } if (reload_all_scripts) { for (int i = 0; i < ScriptServer::get_language_count(); i++) { ScriptServer::get_language(i)->reload_all_scripts(); } reload_all_scripts = false; } _poll_events(); }
void ScriptDebuggerRemote::idle_poll() { _get_output(); if (requested_quit) { packet_peer_stream->put_var("kill_me"); packet_peer_stream->put_var(0); requested_quit=false; } if (performance) { uint64_t pt = OS::get_singleton()->get_ticks_msec(); if (pt-last_perf_time > 1000) { last_perf_time=pt; int max = performance->get("MONITOR_MAX"); Array arr; arr.resize(max); for(int i=0;i<max;i++) { arr[i]=performance->call("get_monitor",i); } packet_peer_stream->put_var("performance"); packet_peer_stream->put_var(1); packet_peer_stream->put_var(arr); } } _poll_events(); }