void path_set_position(cs_scalar position, bool relative) { enigma::object_collisions* const inst = ((enigma::object_collisions*)enigma::instance_event_iterator->inst); enigma::extension_path* const inst_paths = enigma::extension_cast::as_extension_path(enigma::instance_event_iterator->inst); inst_paths->path_position = position; if (relative) { inst->x = path_get_x(inst_paths->path_index , inst_paths->path_position); inst->x = path_get_y(inst_paths->path_index , inst_paths->path_position); } }
void path_set_position(double position, bool relative) { #ifndef PATH_EXT_SET return; #endif return; //function can cause crashes atm, until extension variables fixed enigma::object_collisions* const inst = ((enigma::object_collisions*)enigma::instance_event_iterator->inst); enigma::extension_path* const inst_paths = ((enigma::extension_path*)enigma::instance_event_iterator->inst); inst_paths->path_position = position; if (relative) { inst->x = path_get_x(inst_paths->path_index , inst_paths->path_position); inst->x = path_get_y(inst_paths->path_index , inst_paths->path_position); } }
void path_start(unsigned pathid,double speed,unsigned endaction,bool absolute) { #ifndef PATH_EXT_SET return; #endif return; //function can cause crashes atm, until extension variables fixed enigma::object_collisions* const inst = ((enigma::object_collisions*)enigma::instance_event_iterator->inst); enigma::extension_path* const inst_paths = ((enigma::extension_path*)enigma::instance_event_iterator->inst); inst_paths->path_index = pathid; inst_paths->path_speed = speed; inst_paths->path_endaction = endaction; if (absolute) { const double x1 = path_get_x(inst_paths->path_index, inst_paths->path_position), y1 = path_get_y(inst_paths->path_index, inst_paths->path_position); inst->x = x1; inst->y = y1; } }