diff --git a/BUK-M2/Nasal/guided-missiles.nas b/BUK-M2/Nasal/guided-missiles.nas index dc7e850..1a7af72 100644 --- a/BUK-M2/Nasal/guided-missiles.nas +++ b/BUK-M2/Nasal/guided-missiles.nas @@ -3245,7 +3245,7 @@ var AIM = { me.dist_curr_direct = me.coord.direct_distance_to(me.t_coord_sampled); me.dist_curr_hypo = math.sqrt(me.dist_curr_direct*me.dist_curr_direct+math.pow(me.t_coord_sampled.alt()-me.coord.alt(),2)); me.t_elev_deg = me.getPitch(me.coord, me.t_coord_sampled); - me.t_course = me.coord.course_to(me.t_coord_sampled); + me.t_course = me.courseTo(me.coord,me.t_coord_sampled); me.curr_deviation_e = me.t_elev_deg - me.pitch; me.curr_deviation_h = me.t_course - me.hdg; @@ -4000,8 +4000,8 @@ var AIM = { me.K2 = 10.0; me.R_m = me.ac_init.distance_to(me.coord)*M2FT; - me.course_to_missile = me.ac_init.course_to(me.coord); - me.course_to_target = me.ac_init.course_to(me.t_coord); + me.course_to_missile = me.courseTo(me.ac_init,me.coord); + me.course_to_target = me.courseTo(me.ac_init,me.t_coord); me.CREh_old_old = me.CREh_old; me.CREh_old = me.CREh; # cross range error: @@ -4161,6 +4161,11 @@ var AIM = { } }, + courseTo: func (from, to) { + me.csds = courseAndDistance(from, to); + return me.csds[0]; + }, + scalarProj: func (head, pitch, magn, projHead, projPitch) { head = head*D2R; pitch = pitch*D2R; diff --git a/MIM-104D/Nasal/guided-missiles.nas b/MIM-104D/Nasal/guided-missiles.nas index dc7e850..1a7af72 100644 --- a/MIM-104D/Nasal/guided-missiles.nas +++ b/MIM-104D/Nasal/guided-missiles.nas @@ -3245,7 +3245,7 @@ var AIM = { me.dist_curr_direct = me.coord.direct_distance_to(me.t_coord_sampled); me.dist_curr_hypo = math.sqrt(me.dist_curr_direct*me.dist_curr_direct+math.pow(me.t_coord_sampled.alt()-me.coord.alt(),2)); me.t_elev_deg = me.getPitch(me.coord, me.t_coord_sampled); - me.t_course = me.coord.course_to(me.t_coord_sampled); + me.t_course = me.courseTo(me.coord,me.t_coord_sampled); me.curr_deviation_e = me.t_elev_deg - me.pitch; me.curr_deviation_h = me.t_course - me.hdg; @@ -4000,8 +4000,8 @@ var AIM = { me.K2 = 10.0; me.R_m = me.ac_init.distance_to(me.coord)*M2FT; - me.course_to_missile = me.ac_init.course_to(me.coord); - me.course_to_target = me.ac_init.course_to(me.t_coord); + me.course_to_missile = me.courseTo(me.ac_init,me.coord); + me.course_to_target = me.courseTo(me.ac_init,me.t_coord); me.CREh_old_old = me.CREh_old; me.CREh_old = me.CREh; # cross range error: @@ -4161,6 +4161,11 @@ var AIM = { } }, + courseTo: func (from, to) { + me.csds = courseAndDistance(from, to); + return me.csds[0]; + }, + scalarProj: func (head, pitch, magn, projHead, projPitch) { head = head*D2R; pitch = pitch*D2R; diff --git a/S-75/Nasal/guided-missiles.nas b/S-75/Nasal/guided-missiles.nas index dc7e850..1a7af72 100644 --- a/S-75/Nasal/guided-missiles.nas +++ b/S-75/Nasal/guided-missiles.nas @@ -3245,7 +3245,7 @@ var AIM = { me.dist_curr_direct = me.coord.direct_distance_to(me.t_coord_sampled); me.dist_curr_hypo = math.sqrt(me.dist_curr_direct*me.dist_curr_direct+math.pow(me.t_coord_sampled.alt()-me.coord.alt(),2)); me.t_elev_deg = me.getPitch(me.coord, me.t_coord_sampled); - me.t_course = me.coord.course_to(me.t_coord_sampled); + me.t_course = me.courseTo(me.coord,me.t_coord_sampled); me.curr_deviation_e = me.t_elev_deg - me.pitch; me.curr_deviation_h = me.t_course - me.hdg; @@ -4000,8 +4000,8 @@ var AIM = { me.K2 = 10.0; me.R_m = me.ac_init.distance_to(me.coord)*M2FT; - me.course_to_missile = me.ac_init.course_to(me.coord); - me.course_to_target = me.ac_init.course_to(me.t_coord); + me.course_to_missile = me.courseTo(me.ac_init,me.coord); + me.course_to_target = me.courseTo(me.ac_init,me.t_coord); me.CREh_old_old = me.CREh_old; me.CREh_old = me.CREh; # cross range error: @@ -4161,6 +4161,11 @@ var AIM = { } }, + courseTo: func (from, to) { + me.csds = courseAndDistance(from, to); + return me.csds[0]; + }, + scalarProj: func (head, pitch, magn, projHead, projPitch) { head = head*D2R; pitch = pitch*D2R; diff --git a/SA-3/Nasal/guided-missiles.nas b/SA-3/Nasal/guided-missiles.nas index dc7e850..1a7af72 100644 --- a/SA-3/Nasal/guided-missiles.nas +++ b/SA-3/Nasal/guided-missiles.nas @@ -3245,7 +3245,7 @@ var AIM = { me.dist_curr_direct = me.coord.direct_distance_to(me.t_coord_sampled); me.dist_curr_hypo = math.sqrt(me.dist_curr_direct*me.dist_curr_direct+math.pow(me.t_coord_sampled.alt()-me.coord.alt(),2)); me.t_elev_deg = me.getPitch(me.coord, me.t_coord_sampled); - me.t_course = me.coord.course_to(me.t_coord_sampled); + me.t_course = me.courseTo(me.coord,me.t_coord_sampled); me.curr_deviation_e = me.t_elev_deg - me.pitch; me.curr_deviation_h = me.t_course - me.hdg; @@ -4000,8 +4000,8 @@ var AIM = { me.K2 = 10.0; me.R_m = me.ac_init.distance_to(me.coord)*M2FT; - me.course_to_missile = me.ac_init.course_to(me.coord); - me.course_to_target = me.ac_init.course_to(me.t_coord); + me.course_to_missile = me.courseTo(me.ac_init,me.coord); + me.course_to_target = me.courseTo(me.ac_init,me.t_coord); me.CREh_old_old = me.CREh_old; me.CREh_old = me.CREh; # cross range error: @@ -4161,6 +4161,11 @@ var AIM = { } }, + courseTo: func (from, to) { + me.csds = courseAndDistance(from, to); + return me.csds[0]; + }, + scalarProj: func (head, pitch, magn, projHead, projPitch) { head = head*D2R; pitch = pitch*D2R; diff --git a/SA-6/Nasal/guided-missiles.nas b/SA-6/Nasal/guided-missiles.nas index dc7e850..1a7af72 100644 --- a/SA-6/Nasal/guided-missiles.nas +++ b/SA-6/Nasal/guided-missiles.nas @@ -3245,7 +3245,7 @@ var AIM = { me.dist_curr_direct = me.coord.direct_distance_to(me.t_coord_sampled); me.dist_curr_hypo = math.sqrt(me.dist_curr_direct*me.dist_curr_direct+math.pow(me.t_coord_sampled.alt()-me.coord.alt(),2)); me.t_elev_deg = me.getPitch(me.coord, me.t_coord_sampled); - me.t_course = me.coord.course_to(me.t_coord_sampled); + me.t_course = me.courseTo(me.coord,me.t_coord_sampled); me.curr_deviation_e = me.t_elev_deg - me.pitch; me.curr_deviation_h = me.t_course - me.hdg; @@ -4000,8 +4000,8 @@ var AIM = { me.K2 = 10.0; me.R_m = me.ac_init.distance_to(me.coord)*M2FT; - me.course_to_missile = me.ac_init.course_to(me.coord); - me.course_to_target = me.ac_init.course_to(me.t_coord); + me.course_to_missile = me.courseTo(me.ac_init,me.coord); + me.course_to_target = me.courseTo(me.ac_init,me.t_coord); me.CREh_old_old = me.CREh_old; me.CREh_old = me.CREh; # cross range error: @@ -4161,6 +4161,11 @@ var AIM = { } }, + courseTo: func (from, to) { + me.csds = courseAndDistance(from, to); + return me.csds[0]; + }, + scalarProj: func (head, pitch, magn, projHead, projPitch) { head = head*D2R; pitch = pitch*D2R; diff --git a/oprf-versions.json b/oprf-versions.json index 7d0b82f..e4dbd25 100644 --- a/oprf-versions.json +++ b/oprf-versions.json @@ -59,23 +59,23 @@ ], "missile-code": [ { - "version": "1.1.3", + "version": "1.1.4", "path": "BUK-M2/Nasal/guided-missiles.nas" }, { - "version": "1.1.3", + "version": "1.1.4", "path": "MIM-104D/Nasal/guided-missiles.nas" }, { - "version": "1.1.3", + "version": "1.1.4", "path": "S-75/Nasal/guided-missiles.nas" }, { - "version": "1.1.3", + "version": "1.1.4", "path": "SA-3/Nasal/guided-missiles.nas" }, { - "version": "1.1.3", + "version": "1.1.4", "path": "SA-6/Nasal/guided-missiles.nas" } ],