Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mockingbirdnest/Principia
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 18f520b891dc
Choose a base ref
...
head repository: mockingbirdnest/Principia
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 4c366aaaaa37
Choose a head ref
  • 16 commits
  • 18 files changed
  • 2 contributors

Commits on Aug 16, 2021

  1. 3

    eggrobin committed Aug 16, 2021
    Copy the full SHA
    ef39dfc View commit details

Commits on Aug 17, 2021

  1. merge

    eggrobin committed Aug 17, 2021
    Copy the full SHA
    9d3c899 View commit details
  2. not yet

    eggrobin committed Aug 17, 2021
    Copy the full SHA
    2c76c2b View commit details

Commits on Aug 18, 2021

  1. after pleroy’s review

    eggrobin committed Aug 18, 2021
    Copy the full SHA
    be2d7d1 View commit details

Commits on Aug 19, 2021

  1. ^N and ^n, not ^d

    eggrobin committed Aug 19, 2021
    Copy the full SHA
    9dad5ab View commit details
  2. Copy the full SHA
    d8b0bf1 View commit details
  3. Remove zfp flag.

    pleroy committed Aug 19, 2021
    Copy the full SHA
    a694d0c View commit details
  4. Copy the full SHA
    81c5499 View commit details
  5. A test.

    pleroy committed Aug 19, 2021
    Copy the full SHA
    30ba546 View commit details
  6. Merge pull request #3102 from pleroy/Zfp

    Remove the zfp flag and fix a typo
    pleroy authored Aug 19, 2021
    Copy the full SHA
    5cfb589 View commit details
  7. Copy the full SHA
    46eb351 View commit details
  8. Merge pull request #3101 from eggrobin/fr

    Improve translation malleability
    eggrobin authored Aug 19, 2021
    Copy the full SHA
    1bd3d97 View commit details

Commits on Aug 20, 2021

  1. Fix the clients.

    pleroy committed Aug 20, 2021
    Copy the full SHA
    fb3e64c View commit details
  2. Merge pull request #3103 from pleroy/Exact

    Add support for storing the exact degrees of freedom at some points of a trajectory
    pleroy authored Aug 20, 2021
    Copy the full SHA
    97f5ef7 View commit details
  3. Merge.

    pleroy committed Aug 20, 2021
    Copy the full SHA
    1ea2581 View commit details
  4. Post-merge fixes.

    pleroy committed Aug 20, 2021
    Copy the full SHA
    4c366aa View commit details
3 changes: 2 additions & 1 deletion ksp_plugin/part.cpp
Original file line number Diff line number Diff line change
@@ -254,7 +254,8 @@ void Part::WriteToMessage(not_null<serialization::Part*> const message,
rigid_motion_.WriteToMessage(message->mutable_rigid_motion());
prehistory_->WriteToMessage(message->mutable_prehistory(),
/*excluded=*/{},
/*tracked=*/{history_, psychohistory_});
/*tracked=*/{history_, psychohistory_},
/*exact=*/{});
}

not_null<std::unique_ptr<Part>> Part::ReadFromMessage(
3 changes: 2 additions & 1 deletion ksp_plugin/pile_up.cpp
Original file line number Diff line number Diff line change
@@ -178,7 +178,8 @@ void PileUp::WriteToMessage(not_null<serialization::PileUp*> message) const {
}
history_->WriteToMessage(message->mutable_history(),
/*excluded=*/{},
/*tracked=*/{psychohistory_});
/*tracked=*/{psychohistory_},
/*exact=*/{});
for (auto const& [part, rigid_motion] : actual_part_rigid_motion_) {
rigid_motion.WriteToMessage(&(
(*message->mutable_actual_part_rigid_motion())[part->part_id()]));
6 changes: 4 additions & 2 deletions ksp_plugin/vessel.cpp
Original file line number Diff line number Diff line change
@@ -461,7 +461,8 @@ void Vessel::WriteToMessage(not_null<serialization::Vessel*> const message,
// Starting with Gateaux we don't save the prediction, see #2685.
prehistory_->WriteToMessage(message->mutable_prehistory(),
/*exclude=*/{prediction_},
/*tracked=*/{history_, psychohistory_});
/*tracked=*/{history_, psychohistory_},
/*exact=*/{});
if (flight_plan_ != nullptr) {
flight_plan_->WriteToMessage(message->mutable_flight_plan());
}
@@ -600,7 +601,8 @@ Checkpointer<serialization::Vessel>::Writer Vessel::MakeCheckpointerWriter() {
auto last_history_segment = history_->DetachFork();
last_history_segment->WriteToMessage(message->mutable_segment(),
/*excluded=*/{psychohistory_},
/*tracked=*/{});
/*tracked=*/{},
/*exact=*/{psychohistory_->Fork()});
penultimate_history_segment->AttachFork(std::move(last_history_segment));
};
}
16 changes: 10 additions & 6 deletions ksp_plugin_adapter/localization/celestial_strings.cfg
Original file line number Diff line number Diff line change
@@ -20,15 +20,18 @@
// “However, the argument of periapsis increases approximately 0.9° per
// orbit, sending the latitude of perijove further from the equator.”
// in [KJL08]. We follow this usage.
#Principia_OrbitAnalyser_OrbitDescription_Primary(Sun).en-us = heliocentric
#Principia_OrbitAnalyser_OrbitDescription_Primary(Moon).en-us = lunar
#Principia_OrbitAnalyser_OrbitDescription_SynchronousPrimary(Earth).en-us = geosynchronous
#Principia_OrbitAnalyser_OrbitDescription_StationaryPrimary(Earth).en-us = geostationary

// <<3>> is the sequence of properties, ending with a space.
#Principia_OrbitAnalyser_OrbitDescription(Sun).en-us = <<3>>heliocentric orbit
#Principia_OrbitAnalyser_OrbitDescription(Moon).en-us = <<3>>lunar orbit
#Principia_OrbitAnalyser_OrbitDescription_Synchronous(Earth).en-us = <<3>>geosynchronous orbit
#Principia_OrbitAnalyser_OrbitDescription_Stationary(Earth).en-us = geostationary orbit

#Principia_ReferenceFrameSelector_Name_BodyCentredNonRotating(Sun).en-us = Heliocentric Inertial
#Principia_ReferenceFrameSelector_Abbreviation_BodyCentredNonRotating(Sun).en-us = HCI
#Principia_ReferenceFrameSelector_Name_BodyCentredParentDirection(Earth,Sun).en-us = Geocentric Solar Ecliptic
#Principia_ReferenceFrameSelector_Abbreviation_BodyCentredParentDirection(Earth,Sun).en-us = GSE
#Principia_ReferenceFrameSelector_Description_BodyCentredParentDirection(Earth,Sun).en-us = The centre of <<1>> is fixed.\nThe ecliptic (the plane of its orbit around <<2>>) is horizontal.\nThe reference frame rotates with the orbit, fixing the direction of <<2>>.
#Principia_ReferenceFrameSelector_Description_BodyCentredParentDirection(Earth,Sun).en-us = The centre of <<A:1>> is fixed.\nThe ecliptic (the plane of its orbit around <<A:3>) is horizontal.\nThe reference frame rotates with the orbit, fixing the direction of <<A:3>>.
// Note that JSE is attested for Jupiter, but the more generic JSO is more
// modern (the former is common in the context of Galileo, the latter in the
// context of Juno).
@@ -78,6 +81,7 @@
#Principia_ReferenceFrameSelector_Name_BodySurface(Earth).zh-cn = 地心地固
#Principia_ReferenceFrameSelector_Name_BodySurface(Moon).zh-cn = 月心月固
#Principia_ReferenceFrameSelector_Name_BodyCentredParentDirection(Earth,Sun).zh-cn = 地心太阳黄道
#Principia_ReferenceFrameSelector_Description_BodyCentredParentDirection(Earth,Sun).zh-cn = <<1>>的质心已固定,\n水平面为黄道(<<1>>绕<<2>>的轨道面)。\n这个参考系跟随轨道旋转,面向着<<2>>的方位不变。
#Principia_ReferenceFrameSelector_NavballName_BodyCentredParentDirection(Earth,Sun).zh-cn = 地心太阳黄道
#Principia_ReferenceFrameSelector_Description_BodyCentredParentDirection(Earth,Sun).zh-cn = <<1>>的质心已固定,\n水平面为黄道(<<1>>绕<<3>>的轨道面)。\n这个参考系跟随轨道旋转,面向着<<3>>的方位不变。
}
}
74 changes: 39 additions & 35 deletions ksp_plugin_adapter/localization/en-us.cfg
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ Localization {
#Principia_MainWindow_LoggingSettings = Logging Settings
#Principia_MainWindow_KspFeature_DisplayPatchedConics = Display patched conics (do not use for flight planning!)
#Principia_MainWindow_TargetCelestial_Select = Select target celestial...
#Principia_MainWindow_TargetCelestial_Name = Target: <<1>> // <<1>> celestial name
#Principia_MainWindow_TargetCelestial_Name = Target: <<A:1>>
#Principia_MainWindow_TargetCelestial_Clear = Clear
#Principia_MainWindow_LoggingSettings_VerboseLevel = Verbose level:
#Principia_MainWindow_LoggingSettings_LogOption = Log
@@ -41,34 +41,42 @@ Localization {
#Principia_SpeedDisplayText = <<1>> m/s // <<1>>: active_vessel_velocity.magnitude.ToString("F1").

// ReferenceFrameSelector
// <<1>> and <<2>> are the names of the relevant celestial bodies without articles, <<2>> being the parent of <<1>>.

// For the names, abbreviations, and descriptions, except the description of
// the target frame, <<12>> and <<34>> are the names and initials of the relevant
// celestial bodies, <<34>> being the parent of <<12>>.
// Odd: names (Sun^n, Moon^n, Saturn^N, Terre^f, Vénus^F, 火星),
// Even: initials if applicable (S, M, S, T, V, 火星).

#Principia_ReferenceFrameSelector_Name_Target = Target-<<1>>-Orbit
#Principia_ReferenceFrameSelector_Name_BodyCentredNonRotating = <<1>>-Centred Inertial
#Principia_ReferenceFrameSelector_Name_BodyCentredParentDirection = <<1>>-<<2>>-Orbit
#Principia_ReferenceFrameSelector_Name_BodyCentredParentDirection = <<1>>-<<3>>-Orbit
#Principia_ReferenceFrameSelector_Name_BodySurface = <<1>>-Centred <<1>>-Fixed

// <<1>> and <<2>> are the first letters of the relevant celestial bodies, <<2>> being the parent of <<1>>.
#Principia_ReferenceFrameSelector_Abbreviation_Target.en-us = Tgt <<1>>O
#Principia_ReferenceFrameSelector_Abbreviation_BodyCentredNonRotating.en-us = <<1>>CI
#Principia_ReferenceFrameSelector_Abbreviation_BodyCentredParentDirection.en-us = <<1>><<2>>O
#Principia_ReferenceFrameSelector_Abbreviation_BodySurface.en-us = <<1>>C<<1>>F
#Principia_ReferenceFrameSelector_Abbreviation_Target.en-us = Tgt <<2>>O
#Principia_ReferenceFrameSelector_Abbreviation_BodyCentredNonRotating.en-us = <<2>>CI
#Principia_ReferenceFrameSelector_Abbreviation_BodyCentredParentDirection.en-us = <<2>><<4>>O
#Principia_ReferenceFrameSelector_Abbreviation_BodySurface.en-us = <<2>>C<<2>>F

// <<1>> is the full name of the reference frame, <<2>> is its abbreviation.
#Principia_ReferenceFrameSelector_Description_Heading = <<1>> (<<2>>) reference frame:
// <<1>> and <<2>> are the names of the relevant bodies, with articles if appropriate, <<2>> being the parent of <<1>>.
// For the target frame, <<1>> is the name of the target vessel.
#Principia_ReferenceFrameSelector_Description_Target = The target vessel, <<1>>, is fixed.\nThe plane of its orbit around <<2>> is horizontal.\nThe reference frame rotates with the orbit, fixing the direction of <<2>>.
#Principia_ReferenceFrameSelector_Description_BodyCentredNonRotating = The centre of <<1>> is fixed.\nIts equator is horizontal.\nThe reference frame does not rotate.
#Principia_ReferenceFrameSelector_Description_BodyCentredParentDirection = The centre of <<1>> is fixed.\nThe plane of its orbit around <<2>> is horizontal.\nThe reference frame rotates with the orbit, fixing the direction of <<2>>.
#Principia_ReferenceFrameSelector_Description_BodySurface = <<1C>> is fixed.\nIts equator is horizontal.\nThe reference frame rotates with <<1>>.
#Principia_ReferenceFrameSelector_ReferencePlane_Centred = equator of <<1>> // <<1>> centred body

// <<1>> is the name of the target vessel, <<2>> is the name of its primary.
#Principia_ReferenceFrameSelector_Description_Target = The target vessel, <<1>>, is fixed.\nThe plane of its orbit around <<A:2>> is horizontal.\nThe reference frame rotates with the orbit, fixing the direction of <<A:2>>.

#Principia_ReferenceFrameSelector_Description_BodyCentredNonRotating = The centre of <<A:1>> is fixed.\nIts equator is horizontal.\nThe reference frame does not rotate.
#Principia_ReferenceFrameSelector_Description_BodyCentredParentDirection = The centre of <<A:1>> is fixed.\nThe plane of its orbit around <<A:3>> is horizontal.\nThe reference frame rotates with the orbit, fixing the direction of <<A:3>>.
#Principia_ReferenceFrameSelector_Description_BodySurface = <<AC:1>> is fixed.\nIts equator is horizontal.\nThe reference frame rotates with <<A:1>>.

#Principia_ReferenceFrameSelector_ReferencePlane_Centred = equator of <<A:1>> // <<1>> centred body
#Principia_ReferenceFrameSelector_ReferencePlane_Secondary_Target = the target
#Principia_ReferenceFrameSelector_ReferencePlane = orbit of <<1>> around <<2>> // <<1>> secondary body <<2>> centred body
#Principia_ReferenceFrameSelector_ReferencePlane = orbit of <<A:1>> around <<A:2>> // <<1>> secondary body <<2>> centred body
#Principia_ReferenceFrameSelector_ToggleButton = <<1>> selection (<<2>>)... // <<1>> plotting <<2>> selected frame
#Principia_ReferenceFrameSelector_Title = <<1>> selection (<<2>>) // <<1>> plotting <<2>> selected frame
// <<1>> is the full name of the reference frame, <<2>> is the central body.
#Principia_ReferenceFrameSelector_Tooltip_BodyCentredNonRotating = <<1>> reference frame: for perturbed Keplerian trajectories around <<2>>.
#Principia_ReferenceFrameSelector_Tooltip_BodySurface = <<1>> reference frame: for operations involving the surface of <<2>>: landings, remote sensing, imaging, ground communications, etc.
#Principia_ReferenceFrameSelector_Tooltip_BodyCentredParentDirection = <<1>> reference frame: for flybys of <<2>>, transfers to or from it.
#Principia_ReferenceFrameSelector_Tooltip_BodyCentredNonRotating = <<1>> reference frame: for perturbed Keplerian trajectories around <<A:2>>.
#Principia_ReferenceFrameSelector_Tooltip_BodySurface = <<1>> reference frame: for operations involving the surface of <<A:2>>: landings, remote sensing, imaging, ground communications, etc.
#Principia_ReferenceFrameSelector_Tooltip_BodyCentredParentDirection = <<1>> reference frame: for flybys of <<A:2>>, transfers to or from it.
#Principia_ReferenceFrameSelector_Tooltip_Target = <<1>> reference frame: for intercepts or rendez-vous with the target vessel.
#Principia_ReferenceFrameSelector_Target = Target: <<1>>
#Principia_ReferenceFrameSelector_Pin = Pin
@@ -80,9 +88,9 @@ Localization {
#Principia_OrbitAnalyser_Duration_GroundTrackCycles = \u0020(<<1>> ground track cycles) // <<1>> ground_track_cycles.FormatN(0)
#Principia_OrbitAnalyser_Duration_Revolutions = <<1>> sidereal revolutions\n<<2>> nodal revolutions<<3>>\n<<4>> anomalistic revolutions // <<3>> duration_in_ground_track_cycles
#Principia_OrbitAnalyser_Warning_NoElements1 = could not determine elements; mission duration may be shorter than a revolution, or trajectory may not be gravitationally bound.
#Principia_OrbitAnalyser_Warning_NoElements2 = could not determine elements; mission duration may be shorter than a revolution, or trajectory may not be gravitationally bound to <<1>>. // <<1>> primary.NameWithArticle()
#Principia_OrbitAnalyser_Warning_NoElements2 = could not determine elements; mission duration may be shorter than a revolution, or trajectory may not be gravitationally bound to <<A:1>>. // <<1>> primary.NameWithArticle()
#Principia_OrbitAnalyser_Warning_NoPrimary = <<1>> is not gravitationally bound over <<2>> // <<2>>mission_duration.FormatDuration <<1>> vessel name
#Principia_OrbitAnalyser_AnalysisDescription = Orbit of <<1>> with respect to <<2>> over <<3>>:\n<<4>> // <<1>> vessel name <<2>> centre body <<3>> time <<4>> result
#Principia_OrbitAnalyser_AnalysisDescription = Orbit of <<1>> with respect to <<A:2>> over <<3>>:\n<<4>> // <<1>> vessel name <<2>> centre body <<3>> time <<4>> result
#Principia_OrbitAnalyser_OrbitDescription_Circular = circular\u0020
#Principia_OrbitAnalyser_OrbitDescription_HighlyElliptical = highly elliptical\u0020
#Principia_OrbitAnalyser_OrbitDescription_Equatorial = equatorial\u0020
@@ -91,11 +99,9 @@ Localization {
#Principia_OrbitAnalyser_OrbitDescription_Synchronous = synchronous\u0020
#Principia_OrbitAnalyser_OrbitDescription_Stationary = stationary\u0020
#Principia_OrbitAnalyser_OrbitDescription_Semisynchronous = semisynch.\u0020
// <<1>> is the name of the primary without an article.
#Principia_OrbitAnalyser_OrbitDescription_Primary = <<1>>
// <<1>> is the sequence of properties, ending with a space.
// <<2>> is the Primary string above.
#Principia_OrbitAnalyser_OrbitDescription = <<1>><<2>> orbit
// <<12>> is the primary, in two forms as above.
// <<3>> is the sequence of properties, ending with a space.
#Principia_OrbitAnalyser_OrbitDescription = <<3>><<1>> orbit
#Principia_OrbitAnalyser_Elements_LowestAltitude = Lowest altitude
#Principia_OrbitAnalyser_Warning_Collision = collision
#Principia_OrbitAnalyser_Warning_CollisionRisk = collision risk
@@ -213,19 +219,17 @@ Localization {
// MapNodePool
#Principia_MapNode_Planned = Planned
#Principia_MapNode_Predicted = Predicted
// For the apsides, <<1>> is the name of the celestial without an article.
#Principia_MapNode_Periapsis = <<1>> Periapsis
#Principia_MapNode_Apoapsis = <<1>> Apoapsis
// <<1>> is the source (predicted or planned).
// <<2>> is the apsis (from the strings above).
// <<3>> is the altitude in metres.
#Principia_MapNode_ApsisHeader = <<1>> <<2>> :\n<<3>> m
// For the apsides, <<12>> is the name of the relevant celestial (in two forms as above).
// <<3>> is the source (predicted or planned).
// <<4>> is the altitude in metres.
#Principia_MapNode_PeriapsisHeader = <<3>> <<1>> Periapsis:\n<<4>> m
#Principia_MapNode_ApoapsisHeader = <<3>> <<1>> Apoapsis:\n<<4>> m
#Principia_MapNode_ApsisCaptionLine2 = <<1>> m/s // <<1>>: speed.FormatN(0).
#Principia_MapNode_AscendingNode = Ascending Node
#Principia_MapNode_DescendingNode = Descending Node
#Principia_MapNode_NodeHeader = <<1>> <<2>> :\n<<3>> // <<1>>: source; <<2>>: node_name; <<3>>: plane.
#Principia_MapNode_NodeHeader = <<1>> <<2>>:\n<<3>> // <<1>>: source; <<2>>: node_name; <<3>>: plane.
#Principia_MapNode_NodeCaptionLine2 = <<1>> m/s // <<1>>: properties.velocity.z.FormatN(0)
#Principia_MapNode_ApproachHeader = <<1>> Target Approach : <<2>> m // <<1>>: source, <<2>>: separation.FormatN(0).
#Principia_MapNode_ApproachHeader = <<1>> Target Approach: <<2>> m // <<1>>: source, <<2>>: separation.FormatN(0).
#Principia_MapNode_ApproachCaptionLine2 = <<1>> m/s // <<1>>: speed.FormatN(0).
#Principia_MapNode_ImpactHeader = <<1>> <<2>> Impact // <<1>>: source, <<2>>: celestial.name.
}
Loading