DFhackCExport command_result plugin_onupdate ( Core * c ) { if(timering == true) { uint64_t time2 = GetTimeMs64(); // harmless potential data race here... uint64_t delta = time2-timeLast; // harmless potential data race here... timeLast = time2; c->con.print("Time delta = %d ms\n", delta); } if(trackmenu_flg) { DFHack::Gui * g =c->getGui(); if (last_menu != *g->df_menu_state) { last_menu = *g->df_menu_state; c->con.print("Menu: %d\n",last_menu); } } if(trackpos_flg) { DFHack::Gui * g =c->getGui(); g->Start(); int32_t desig_x, desig_y, desig_z; g->getDesignationCoords(desig_x,desig_y,desig_z); if(desig_x != last_designation[0] || desig_y != last_designation[1] || desig_z != last_designation[2]) { last_designation[0] = desig_x; last_designation[1] = desig_y; last_designation[2] = desig_z; c->con.print("Designation: %d %d %d\n",desig_x, desig_y, desig_z); } int mouse_x, mouse_y; g->getMousePos(mouse_x,mouse_y); if(mouse_x != last_mouse[0] || mouse_y != last_mouse[1]) { last_mouse[0] = mouse_x; last_mouse[1] = mouse_y; c->con.print("Mouse: %d %d\n",mouse_x, mouse_y); } } return CR_OK; }