A mod to manipulate the clock for Kerbal Space Program. It was previously a part of Kopernicus (called ClockFixer), but it was moved into its own mod.
This mod is licensed under the Terms of the MIT License. It was previously licensed under the LGPL License.
Sigma88 wrote most of the original code, Thomas P. made various improvements. The name is an idea of the IRC user "acc"
This uses the Kopernicus parsing and attribution library written by Nathaniel R. Lewis (Teknoman117), which is LGPL
Kronometer
{
}
This is the root node, it is provided by the mod and should be edited using ModuleManager patches.
The Kronometer root node contains five general settings and three nodes for more specific changes:
useHomeDay
Boolean, default value = false
When 'true' the duration of a 'day' will be changed to match 1 solar day of the home planet.
useHomeYear
Boolean, default value = false
When 'true' the duration of a 'year' will be changed to match the orbital period of the home planet.
useLeapYears
Boolean, default value = false
When 'false':
if the year ends halfway through a day, the clock will go:
Year 1 Day 365 ==> Year 2 Day 1 (Hours, Minutes and Seconds do not reset)
Day 1 will last untill Day 365 would have ended, then Day 2 will start.
When 'true':
at the end of a day, if there is not enough time left in the year to fit another full day,
the current year will end as well, and the new day will be the first day of the next year
In both cases: a new day will not start earlier just because a year has ended.
resetMonthNumAfterMonths
Integer, default value set to match total number of months
The number assigned to each month can go up to this number. If the number of months is higher than this value, some months will have the same number.
Integer, default value = 1
This number defines how many years can pass before the calendar starts over from the first month.
CustomTime
Kronometer
{
CustomTime
{
Year
{
}
Day
{
}
Hour
{
}
Minute
{
}
Second
{
}
}
}
This is used to change the definitions of the five units of time used by KSP: Year, Day, Hour, Minute and Second.
singular, \<string>, which is the singular name of the time unit (eg. 'Year')
plural, \<string>, which is the plural name of the time unit (eg. 'Years')
symbol, \<string>, which is the symbol used for the time unit (eg. 'y')
value, \<double>, which is the duration in 'real life seconds' of the time unit (eg. '9201600')
roundToNearestInt, \<bool>, which (if true) makes sure the 'value' is an integer number
Kronometer
{
Months
{
Month
{
}
Month
{
}
Month
{
}
}
}
This is used to define months that can be used when displaying the date.
All months require:
Kronometer
{
DisplayDate
{
PrintDate
{
}
PrintDateNew
{
}
PrintDateCompact
{
}
}
}
This is used to change how KSP displays the date when using PrintDate, PrintDateNew and PrintDateCompact.
All three nodes can contain the following parameters:
Custom Format:
displayDate, displayTime and displaySeconds use .NET Framework composite formatting with a few minor changes:
<
and >
) are used instead of curly brackets ({
and }
)<Y>
, <D>
, <H>
, <M>
, <S>
are used to get the current number of the chosen unit of time<Y0>
, <D0>
, <H0>
, <M0>
, <S0>
are used to get the symbol of the chosen unit of time<Y1>
, <D1>
, <H1>
, <M1>
, <S1>
are used to get the singular of the chosen unit of time<Y2>
, <D2>
, <H2>
, <M2>
, <S2>
are used to get the plural or singular of the chosen unit of time (depending on the date)<Mo>
, <Mo0>
, <Mo1>
are used to get number, symbol or name of the current month<Dth>
is used to get the cardinal suffix (st
, nd
, rd
or th
) for the number of the current day<<
to get <
, and >>
to get >
)<
to get '
')