Compare commits
248 Commits
command-li
...
spacecruft
Author | SHA1 | Date |
---|---|---|
Jeff Moe | d0cec92b62 | |
Jeff Moe | 34a3b5a9cd | |
Jeff Moe | 470cbc3c99 | |
Jeff Moe | 88047d9b06 | |
Jeff Moe | 71cf5dda82 | |
Jeff Moe | 646e755964 | |
Jeff Moe | d00a02c463 | |
Jeff Moe | 791c80d3d0 | |
Jeff Moe | 7693e49057 | |
Jeff Moe | e5c825b5f0 | |
Jeff Moe | 916ac7be22 | |
Jeff Moe | 9878b500b1 | |
Jeff Moe | 9b561aa551 | |
dave-kaye | 804a5de2a7 | |
Andrew Tribick | c6a320d086 | |
Andrew Tribick | 0c177cae01 | |
Andrew Tribick | bc75235150 | |
Hleb Valoshka | 4c6fa126d6 | |
Hleb Valoshka | 698d03cd82 | |
Hleb Valoshka | 6ab7660e0c | |
Levin Li | b4cf176ac3 | |
Georgi | 71a65fb33c | |
Georgi | 704a075d0a | |
Georgi | a87dc1bc62 | |
Hleb Valoshka | f4bd55991f | |
Hleb Valoshka | 746b9e3ef3 | |
Hleb Valoshka | ca80f4448a | |
Hleb Valoshka | dee6a216f7 | |
Andrew Tribick | 2f77629216 | |
Andrew Tribick | d2f53d0a56 | |
Hleb Valoshka | fb08de771a | |
Levin Li | 318b4378a9 | |
Levin Li | 6b856b3352 | |
Heiko Becker | e51f3d5b97 | |
Andrew Tribick | 60ed8238b1 | |
Hleb Valoshka | cbdd9de63f | |
transifex-integration[bot] | a783eee8fe | |
Hleb Valoshka | 9d60f6e660 | |
Hleb Valoshka | b7dd51fc81 | |
Hleb Valoshka | fecc0ca0a9 | |
Hleb Valoshka | c95e554c7a | |
Yasushi SHOJI | 3702250525 | |
Yasushi SHOJI | 3a218976bf | |
SevenSpheres | 38f645ff8f | |
Andrew Tribick | 3a7e6d793b | |
Hleb Valoshka | 8f8a2f7677 | |
Hleb Valoshka | 772fe24e1b | |
Hleb Valoshka | 96e282e161 | |
Hleb Valoshka | 20a4d13328 | |
Hleb Valoshka | 29a2e1ec1c | |
Hleb Valoshka | 2cb9da1085 | |
Hleb Valoshka | 34d18bb316 | |
Hleb Valoshka | f969b37c3e | |
Andrew Tribick | 3c9334ece9 | |
Levin Li | fc561a7927 | |
Levin Li | 9d1bcf14b3 | |
Andrew Tribick | 40ed2011bf | |
Andrew Tribick | 7cf1aac419 | |
Levin Li | 25cbfabba0 | |
Andrew Tribick | 245225dcdf | |
Andrew Tribick | 410f86fc88 | |
Andrew Tribick | 3f7bd9c13e | |
Andrew Tribick | 56751882e6 | |
Hleb Valoshka | e04ed379a5 | |
Hleb Valoshka | 849ce6a5c4 | |
Hleb Valoshka | 98610c9557 | |
Hleb Valoshka | c251dac856 | |
SevenSpheres | eaae852f8f | |
Hleb Valoshka | eb93a24fcc | |
Hleb Valoshka | d0899d29ee | |
Hleb Valoshka | 192359bfa0 | |
Hleb Valoshka | 57c0fe1bde | |
Hleb Valoshka | e4f7df92b8 | |
Hleb Valoshka | 5bf9471674 | |
Andrew Tribick | 7cdf65659d | |
Hleb Valoshka | dea8c42eb1 | |
Andrew Tribick | 7b762832a4 | |
Andrew Tribick | 4a9403ecf5 | |
Andrew Tribick | 33116aad4a | |
Andrew Tribick | e8ca56f575 | |
Andrew Tribick | 727e4c999b | |
Andrew Tribick | f0e6ff3673 | |
Andrew Tribick | ee74d05f92 | |
Andrew Tribick | c40c04f595 | |
Andrew Tribick | fb45b8461d | |
Andrew Tribick | fd9ea94377 | |
Andrew Tribick | c632aea62d | |
Andrew Tribick | 85e5bae406 | |
Andrew Tribick | 657f127a66 | |
Andrew Tribick | e8782ceeb0 | |
Andrew Tribick | 31b67185dd | |
Andrew Tribick | 73176faeb4 | |
Andrew Tribick | f15443bf63 | |
Andrew Tribick | 5678539e05 | |
Andrew Tribick | 86f2aab284 | |
Andrew Tribick | b683c7801d | |
Andrew Tribick | 2a533b20d5 | |
Andrew Tribick | 1d77f75963 | |
Andrew Tribick | 657604c69a | |
Andrew Tribick | 2069f1ce68 | |
Andrew Tribick | ea320060dc | |
Hleb Valoshka | 50deb54bff | |
Andrew Tribick | e4ea8e0df4 | |
Andrew Tribick | e6a7b32fee | |
Andrew Tribick | d7b896c013 | |
Andrew Tribick | 9651e9e265 | |
Andrew Tribick | 1dc01e221e | |
Andrew Tribick | 4f913eb3ad | |
Andrew Tribick | 279c721373 | |
Andrew Tribick | d978e275dd | |
Andrew Tribick | d541a3c9c6 | |
Andrew Tribick | 22291cd795 | |
Andrew Tribick | a5ea219b27 | |
Hleb Valoshka | 28f47b0dd8 | |
Hleb Valoshka | 3e93c71a95 | |
Hleb Valoshka | 98e5684e81 | |
Hleb Valoshka | 15ea2f330f | |
Hleb Valoshka | 2505e9a51f | |
Andrew Tribick | c85e4550a7 | |
transifex-integration[bot] | 53439a5cfd | |
Hleb Valoshka | a264433697 | |
Andrew Tribick | 9385415788 | |
Levin Li | 968199915c | |
Hleb Valoshka | ab409356c1 | |
Hleb Valoshka | 29d76471f2 | |
Levin Li | f2caba91f1 | |
Hleb Valoshka | 904e4220a8 | |
Hleb Valoshka | f34111c117 | |
Hleb Valoshka | 14af83a391 | |
Andrew Tribick | b94d084af3 | |
Georgi | 63d4de9d81 | |
Hleb Valoshka | 498dc6083c | |
Hleb Valoshka | 08b0cd0682 | |
Andrew Tribick | 2baab87bf0 | |
Hleb Valoshka | a5f80d0608 | |
Andrew Tribick | 30dda19ef9 | |
Levin Li | 9a94e2dc6b | |
Levin Li | b9b02beb0e | |
Andrew Tribick | 2793756f91 | |
Andrew Tribick | a670d8e3be | |
Andrew Tribick | 82ddd20fe2 | |
Andrew Tribick | bcbd538d0a | |
Andrew Tribick | 7c5c903f47 | |
Andrew Tribick | 3a02e59b83 | |
Andrew Tribick | 8684543580 | |
Andrew Tribick | 019411dc21 | |
Andrew Tribick | b79959979a | |
Andrew Tribick | 474057221b | |
Hleb Valoshka | 41936fc6bf | |
Hleb Valoshka | f46a00f4f1 | |
Hleb Valoshka | 7228d408e0 | |
Hleb Valoshka | 8113dae087 | |
Hleb Valoshka | cd2293f6c6 | |
Andrew Tribick | 965ee69a98 | |
Andrew Tribick | 9f7262bcce | |
Andrew Tribick | 990163ac35 | |
Andrew Tribick | 79234cda24 | |
Hleb Valoshka | 8a903b0d0d | |
Hleb Valoshka | 189f6372e3 | |
Andrew Tribick | aac69395bb | |
Andrew Tribick | 7c38b34683 | |
Andrew Tribick | 4132f41889 | |
Andrew Tribick | 06613bda27 | |
Hleb Valoshka | 6b853ce47f | |
Hleb Valoshka | 2ff075d843 | |
Andrew Tribick | e92c3d9bd5 | |
Andrew Tribick | 8ae1fcb88e | |
Levin Li | 5f947cfa2c | |
Andrew Tribick | e686619f2e | |
Hleb Valoshka | 6e7787faf3 | |
Hleb Valoshka | 204fe018a8 | |
Levin Li | 2c044240d7 | |
Andrew Tribick | e78b51ad07 | |
Andrew Tribick | d82043f914 | |
Levin Li | 7c933c576d | |
Andrew Tribick | b3efa631d9 | |
Andrew Tribick | 0f1ed583ae | |
Andrew Tribick | 0d636696eb | |
Andrew Tribick | f79b21e7d3 | |
Andrew Tribick | 5e141eef21 | |
Andrew Tribick | debcca3a1c | |
Andrew Tribick | 43f0cc416e | |
Levin Li | 2cf37d3e70 | |
Andrew Tribick | da5f621a19 | |
Andrew Tribick | 368d94c0ad | |
Andrew Tribick | dc2a506839 | |
Andrew Tribick | 80d098f3c9 | |
Andrew Tribick | e00f5b7d2c | |
Andrew Tribick | 61850bfb9b | |
Andrew Tribick | f3e5444003 | |
Andrew Tribick | 71bfec795c | |
Andrew Tribick | ef10800e7c | |
Andrew Tribick | ec232b7fad | |
SevenSpheres | ab6bdd75fc | |
SevenSpheres | 9f96552540 | |
Andrew Tribick | c5d100f698 | |
Levin Li | dff29425fe | |
Hleb Valoshka | 98768a5ea2 | |
Hleb Valoshka | b6da4a73f9 | |
Hleb Valoshka | 28f674565e | |
Hleb Valoshka | ede49e97c1 | |
Hleb Valoshka | 811ed4ff3c | |
Hleb Valoshka | d417525d67 | |
Hleb Valoshka | 481f81c664 | |
Hleb Valoshka | 5f050040fe | |
Hleb Valoshka | 58d303478c | |
Hleb Valoshka | ccd01c460f | |
GurrenLagannTSS | 1951497aaf | |
Hleb Valoshka | 42790d9013 | |
Levin Li | 1613542c5d | |
Levin Li | cb0fe13ecd | |
Andrew Tribick | 11c0361324 | |
Andrew Tribick | e987a7035d | |
Andrew Tribick | df94a78658 | |
Hleb Valoshka | aacdbaec95 | |
Levin Li | d0ed0d79de | |
Levin Li | bf5689574d | |
Levin Li | 406f0b3036 | |
Levin Li | 7a91ba9311 | |
Levin Li | a45425c374 | |
transifex-integration[bot] | 4cbc70ec8d | |
SevenSpheres | cfc77c67d8 | |
Hleb Valoshka | e7ee8ba045 | |
Levin Li | be980acf11 | |
SevenSpheres | 9133103817 | |
Levin Li | b04ffab738 | |
Levin Li | f0db65c8f6 | |
Levin Li | 103ba3e889 | |
Hleb Valoshka | 6d23c903b2 | |
Hleb Valoshka | 8cd7bd1036 | |
Suleyman Poyraz | 506d7c600c | |
Hleb Valoshka | a2a67c59e8 | |
Hleb Valoshka | 6f666280fd | |
Hleb Valoshka | 4786cac9f4 | |
Hleb Valoshka | 8e5a89a5a7 | |
Hleb Valoshka | f4ef910886 | |
Hleb Valoshka | b067799a3c | |
Hleb Valoshka | f731579681 | |
Hleb Valoshka | 7b52f23c97 | |
Andrew Tribick | f5f8d895db | |
Hleb Valoshka | 8153d2b5b4 | |
Hleb Valoshka | 1f286c67d2 | |
Konstantin Podsvirov | dec8acafe5 | |
Hleb Valoshka | b3d37663f3 | |
Hleb Valoshka | d6ceb8176c | |
Hleb Valoshka | 53b2012b82 | |
Levin Li | 32baed9bcd | |
Joseph C Wang | 05cb7196b5 |
100
.clang-format
100
.clang-format
|
@ -1,47 +1,63 @@
|
|||
AccessModifierOffset: -3
|
||||
AlignEscapedNewlinesLeft: true
|
||||
AlignTrailingComments: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AllowShortFunctionsOnASingleLine: true
|
||||
AllowShortIfStatementsOnASingleLine: false
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
AlwaysBreakTemplateDeclarations: true
|
||||
BinPackParameters: false
|
||||
BreakBeforeBinaryOperators: false
|
||||
---
|
||||
AccessModifierOffset: '-4'
|
||||
AlignAfterOpenBracket: AlwaysBreak
|
||||
AlignConsecutiveMacros: 'true'
|
||||
AlignConsecutiveAssignments: 'true'
|
||||
AlignConsecutiveDeclarations: 'true'
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: 'true'
|
||||
AlignTrailingComments: 'true'
|
||||
AllowAllArgumentsOnNextLine: 'false'
|
||||
AllowAllConstructorInitializersOnNextLine: 'false'
|
||||
AllowAllParametersOfDeclarationOnNextLine: 'false'
|
||||
AllowShortBlocksOnASingleLine: 'false'
|
||||
AllowShortCaseLabelsOnASingleLine: 'false'
|
||||
AllowShortFunctionsOnASingleLine: None
|
||||
AllowShortIfStatementsOnASingleLine: 'false'
|
||||
AllowShortLambdasOnASingleLine: All
|
||||
AllowShortLoopsOnASingleLine: 'true'
|
||||
AlwaysBreakAfterReturnType: TopLevelDefinitions
|
||||
AlwaysBreakBeforeMultilineStrings: 'false'
|
||||
AlwaysBreakTemplateDeclarations: 'Yes'
|
||||
BinPackArguments: 'false'
|
||||
BinPackParameters: 'false'
|
||||
BreakBeforeBinaryOperators: All
|
||||
BreakBeforeBraces: Allman
|
||||
BreakBeforeTernaryOperators: false
|
||||
BreakConstructorInitializersBeforeComma: false
|
||||
ColumnLimit: 80
|
||||
CommentPragmas: ''
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
||||
ConstructorInitializerIndentWidth: 0
|
||||
ContinuationIndentWidth: 0
|
||||
Cpp11BracedListStyle: false
|
||||
DerivePointerBinding: false
|
||||
IndentCaseLabels: false
|
||||
IndentFunctionDeclarationAfterType: false
|
||||
IndentWidth: 4
|
||||
BreakBeforeTernaryOperators: 'false'
|
||||
BreakConstructorInitializers: AfterColon
|
||||
BreakInheritanceList: AfterColon
|
||||
BreakStringLiterals: 'true'
|
||||
ColumnLimit: '100'
|
||||
CompactNamespaces: 'false'
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: 'false'
|
||||
Cpp11BracedListStyle: 'false'
|
||||
FixNamespaceComments: 'true'
|
||||
IncludeBlocks: Regroup
|
||||
IndentCaseLabels: 'false'
|
||||
IndentPPDirectives: None
|
||||
IndentWidth: '4'
|
||||
IndentWrappedFunctionNames: 'false'
|
||||
KeepEmptyLinesAtTheStartOfBlocks: 'false'
|
||||
Language: Cpp
|
||||
MaxEmptyLinesToKeep: 2
|
||||
MaxEmptyLinesToKeep: '1'
|
||||
NamespaceIndentation: None
|
||||
ObjCSpaceAfterProperty: true
|
||||
ObjCSpaceBeforeProtocolList: true
|
||||
PenaltyBreakBeforeFirstCallParameter: 100
|
||||
PenaltyBreakComment: 100
|
||||
PenaltyBreakFirstLessLess: 0
|
||||
PenaltyBreakString: 100
|
||||
PenaltyExcessCharacter: 1
|
||||
PenaltyReturnTypeOnItsOwnLine: 20
|
||||
PointerBindsToType: true
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
PointerAlignment: Right
|
||||
ReflowComments: 'true'
|
||||
SortIncludes: 'true'
|
||||
SortUsingDeclarations: 'true'
|
||||
SpaceAfterLogicalNot: 'false'
|
||||
SpaceAfterTemplateKeyword: 'false'
|
||||
SpaceBeforeAssignmentOperators: 'true'
|
||||
SpaceBeforeCtorInitializerColon: 'true'
|
||||
SpaceBeforeInheritanceColon: 'true'
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesBeforeTrailingComments: 1
|
||||
SpacesInAngles: false
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInContainerLiterals: false
|
||||
SpacesInParentheses: false
|
||||
Standard: Cpp11
|
||||
TabWidth: 4
|
||||
SpaceBeforeRangeBasedForLoopColon: 'true'
|
||||
SpaceInEmptyParentheses: 'false'
|
||||
SpacesBeforeTrailingComments: '1'
|
||||
SpacesInAngles: 'false'
|
||||
SpacesInParentheses: 'false'
|
||||
SpacesInSquareBrackets: 'false'
|
||||
Standard: c++17
|
||||
TabWidth: '4'
|
||||
UseTab: Never
|
||||
UseCRLF: 'false'
|
||||
|
|
|
@ -3,8 +3,10 @@ name: Celestia
|
|||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths: [ src/**, test/**, .github/workflows/ci.yml, CMakeLists.txt ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
paths: [ src/**, test/**, .github/workflows/ci.yml, CMakeLists.txt ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: RelWithDebInfo
|
||||
|
@ -43,20 +45,24 @@ jobs:
|
|||
-password "${{ secrets.GITHUB_TOKEN }}"
|
||||
|
||||
- name: 'Install dependencies'
|
||||
run: vcpkg --triplet=${{matrix.platform}}-windows install --recurse libpng libjpeg-turbo gettext luajit fmt libepoxy eigen3 freetype cspice ffmpeg qt5-base
|
||||
run: vcpkg --triplet=${{matrix.platform}}-windows install --recurse libpng libjpeg-turbo gettext luajit fmt libepoxy eigen3 freetype cspice qt5-base
|
||||
|
||||
- name: 'Checkout source code'
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: 'Configure CMake'
|
||||
run: cmake -B ${{github.workspace}}/build -DCMAKE_TOOLCHAIN_FILE=c:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=${{matrix.platform}}-windows -DCMAKE_GENERATOR_PLATFORM=${{matrix.generator_platform}} -DENABLE_SPICE=ON -DENABLE_TOOLS=ON -DENABLE_TESTS=ON -DENABLE_SDL=OFF -DENABLE_QT=ON -DENABLE_FFMPEG=ON -DENABLE_DATA=OFF
|
||||
run: cmake -B ${{github.workspace}}/build -DCMAKE_TOOLCHAIN_FILE=c:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=${{matrix.platform}}-windows -DCMAKE_GENERATOR_PLATFORM=${{matrix.generator_platform}} -DENABLE_SPICE=ON -DENABLE_TOOLS=ON -DENABLE_TESTS=ON -DENABLE_SDL=OFF -DENABLE_QT=ON
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- /maxcpucount:2 /nologo
|
||||
|
||||
- name: 'Copy DLL for tests'
|
||||
working-directory: ${{github.workspace}}/build
|
||||
run: copy src\celestia\${{env.BUILD_TYPE}}\*.dll test\unit\${{env.BUILD_TYPE}}\
|
||||
run: |
|
||||
copy src\celestia\${{env.BUILD_TYPE}}\*.dll test\unit\${{env.BUILD_TYPE}}\
|
||||
copy src\celestia\${{env.BUILD_TYPE}}\*.dll test\integration\${{env.BUILD_TYPE}}\
|
||||
|
||||
- name: Test
|
||||
working-directory: ${{github.workspace}}/build
|
||||
|
@ -66,7 +72,7 @@ jobs:
|
|||
working-directory: ${{github.workspace}}/build/src/celestia
|
||||
run: |
|
||||
7z a celestia-dep.${{matrix.platform}}.7z ${{env.BUILD_TYPE}}\*
|
||||
7z a celestia-win.${{matrix.platform}}.7z win32\${{env.BUILD_TYPE}}\*
|
||||
7z a celestia-win.${{matrix.platform}}.7z win32\${{env.BUILD_TYPE}}\* win32\res\${{env.BUILD_TYPE}}\res_*.dll
|
||||
c:\vcpkg\ports\qt5-base\qtdeploy.ps1 qt\${{env.BUILD_TYPE}}\
|
||||
7z a celestia-qt.${{matrix.platform}}.7z qt\${{env.BUILD_TYPE}}\*
|
||||
cd ..\tools
|
||||
|
@ -78,3 +84,165 @@ jobs:
|
|||
with:
|
||||
name: celestia-${{matrix.platform}}
|
||||
path: ${{github.workspace}}/build/src/*/*.7z
|
||||
|
||||
build-ubuntu-old:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
platform: [ ubuntu-18.04 ]
|
||||
runs-on: ${{matrix.platform}}
|
||||
steps:
|
||||
- name: 'Install dependencies'
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y libeigen3-dev \
|
||||
libepoxy-dev \
|
||||
libavcodec-dev \
|
||||
libavformat-dev \
|
||||
libavutil-dev \
|
||||
libswscale-dev \
|
||||
libjpeg-dev \
|
||||
libpng-dev \
|
||||
libglu1-mesa-dev \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools \
|
||||
libqt5opengl5-dev \
|
||||
libgtk-3-dev \
|
||||
libfreetype6-dev \
|
||||
libsdl2-dev \
|
||||
libluajit-5.1-dev \
|
||||
libfmt-dev \
|
||||
ninja-build
|
||||
|
||||
- name: 'Checkout source code'
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: 'Configure CMake'
|
||||
run: |
|
||||
cmake -B ${{github.workspace}}/build \
|
||||
-G Ninja \
|
||||
-DENABLE_GLES=ON \
|
||||
-DENABLE_SPICE=ON \
|
||||
-DENABLE_TOOLS=OFF \
|
||||
-DENABLE_TESTS=ON \
|
||||
-DENABLE_SDL=ON \
|
||||
-DENABLE_GTK=ON \
|
||||
-DUSE_GTK3=ON \
|
||||
-DENABLE_FFMPEG=ON
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{github.workspace}}/build
|
||||
run: ninja
|
||||
|
||||
- name: Test
|
||||
working-directory: ${{github.workspace}}/build
|
||||
run: ctest
|
||||
|
||||
gnulinux-arm64:
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: 'Install dependencies'
|
||||
run: |
|
||||
#sudo dnf config-manager --set-enabled ol8_codeready_builder
|
||||
sudo yum install -y eigen3-devel \
|
||||
libepoxy-devel \
|
||||
libpng-devel \
|
||||
libjpeg-turbo-devel \
|
||||
freetype-devel \
|
||||
SDL2-devel \
|
||||
lua-devel \
|
||||
gtk3-devel \
|
||||
gettext-devel \
|
||||
cmake \
|
||||
ninja-build \
|
||||
gcc-toolset-11-gcc-c++
|
||||
|
||||
- name: 'Checkout source code'
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: 'Configure CMake'
|
||||
run: |
|
||||
cmake -B ${{github.workspace}}/build \
|
||||
-G Ninja \
|
||||
-DENABLE_GLES=ON \
|
||||
-DENABLE_SPICE=ON \
|
||||
-DENABLE_TOOLS=ON \
|
||||
-DENABLE_TESTS=ON \
|
||||
-DENABLE_SDL=ON \
|
||||
-DENABLE_GTK=ON \
|
||||
-DUSE_GTK3=ON \
|
||||
-DENABLE_QT=OFF \
|
||||
-DENABLE_FFMPEG=OFF
|
||||
env:
|
||||
CC: /opt/rh/gcc-toolset-11/root/usr/bin/gcc
|
||||
CXX: /opt/rh/gcc-toolset-11/root/usr/bin/g++
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{github.workspace}}/build
|
||||
run: ninja
|
||||
|
||||
- name: Test
|
||||
working-directory: ${{github.workspace}}/build
|
||||
run: ctest
|
||||
|
||||
|
||||
sonarscanner:
|
||||
runs-on: sonarscanner
|
||||
steps:
|
||||
- name: 'Install dependencies'
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y libeigen3-dev \
|
||||
libepoxy-dev \
|
||||
libavcodec-dev \
|
||||
libavformat-dev \
|
||||
libavutil-dev \
|
||||
libswscale-dev \
|
||||
libjpeg-dev \
|
||||
libpng-dev \
|
||||
libglu1-mesa-dev \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools \
|
||||
libqt5opengl5-dev \
|
||||
libfreetype6-dev \
|
||||
libsdl2-dev \
|
||||
libluajit-5.1-dev \
|
||||
cmake
|
||||
|
||||
- name: 'Checkout source code'
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
# Disabling shallow clone is recommended for improving relevancy of reporting
|
||||
fetch-depth: 0
|
||||
|
||||
- name: 'Configure CMake'
|
||||
run: |
|
||||
cmake -B ${{github.workspace}}/build \
|
||||
-G Ninja \
|
||||
-DENABLE_GLES=ON \
|
||||
-DENABLE_SPICE=OFF \
|
||||
-DENABLE_TOOLS=OFF \
|
||||
-DENABLE_TESTS=OFF \
|
||||
-DENABLE_SDL=ON \
|
||||
-DENABLE_GTK=OFF \
|
||||
-DENABLE_QT=ON \
|
||||
-DENABLE_FFMPEG=ON \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
||||
|
||||
- name: Analyze
|
||||
run: |
|
||||
sonar-scanner \
|
||||
-Dsonar.cfamily.compile-commands=build/compile_commands.json \
|
||||
-Dsonar.organization=celestiaproject \
|
||||
-Dsonar.projectKey=CelestiaProject_Celestia \
|
||||
-Dsonar.sources=src/ \
|
||||
-Dsonar.exclusions=src/celestia/win32/**,src/celestia/win32/gtk/**,src/celestia/glut/** \
|
||||
-Dsonar.test.exclusions=test/** \
|
||||
-Dsonar.tests=test/
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
name: Celestia
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths: [ po/**, .github/workflows/translations.yml ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
paths: [ po/**, .github/workflows/translations.yml ]
|
||||
|
||||
jobs:
|
||||
gettext:
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
platform: [ ubuntu-latest ]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 'Install dependencies'
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y gettext
|
||||
|
||||
- name: 'Checkout source code'
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: 'Validate translations'
|
||||
working-directory: ${{github.workspace}}/po
|
||||
run: for i in *.po; do msgfmt --statistics --verbose $i; done
|
|
@ -9,6 +9,7 @@ Release/
|
|||
*.la
|
||||
*.exe
|
||||
*.dll
|
||||
*.swp
|
||||
.DS_Store
|
||||
po*/*.gmo
|
||||
po*/POTFILES
|
||||
|
@ -22,3 +23,5 @@ extras-standard/
|
|||
models/
|
||||
textures/
|
||||
mingw/
|
||||
content/
|
||||
CMakeSettings.json
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
[submodule "thirdparty/Spice"]
|
||||
path = thirdparty/Spice
|
||||
url = https://github.com/OpenSpace/Spice
|
||||
[submodule "content"]
|
||||
path = content
|
||||
url = https://github.com/CelestiaProject/CelestiaContent.git
|
||||
url = https://github.com/OpenSpace/Spice.git
|
||||
[submodule "thirdparty/fmt"]
|
||||
path = thirdparty/fmt
|
||||
url = https://github.com/fmtlib/fmt.git
|
||||
[submodule "src/tools/celestia-gaia-stardb"]
|
||||
path = src/tools/celestia-gaia-stardb
|
||||
url = https://github.com/ajtribick/celestia-gaia-stardb.git
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
cmake_minimum_required(VERSION 3.1.0)
|
||||
cmake_minimum_required(VERSION 3.8)
|
||||
|
||||
option(LEGACY_OPENGL_LIBS "Use legacy OpenGL libraries instead of glvnd library (Default: off)" OFF)
|
||||
|
||||
# Plain and keyword target_link_libraries() signatures cannot be mixed
|
||||
if (POLICY CMP0023)
|
||||
cmake_policy(SET CMP0023 NEW)
|
||||
endif()
|
||||
|
||||
# Honor link flags in try_compile()
|
||||
if (POLICY CMP0056)
|
||||
cmake_policy(SET CMP0056 NEW)
|
||||
|
@ -34,7 +39,7 @@ endif()
|
|||
|
||||
# Remove leading and trailing whitespace from libraries linked
|
||||
if(POLICY CMP0004)
|
||||
cmake_policy(SET CMP0004 OLD)
|
||||
cmake_policy(SET CMP0004 NEW)
|
||||
endif()
|
||||
|
||||
project(celestia VERSION 1.7.0 LANGUAGES C CXX)
|
||||
|
@ -55,9 +60,9 @@ option(ENABLE_TOOLS "Build different tools? (Default: off)" OFF)
|
|||
option(NATIVE_OSX_APP "Support native OSX paths read data from (Default: off)" OFF)
|
||||
option(FAST_MATH "Build with unsafe fast-math compiller option (Default: off)" OFF)
|
||||
option(ENABLE_TESTS "Enable unit tests? (Default: off)" OFF)
|
||||
option(ENABLE_DATA "Install data from content submodule? (Default: on)" ON)
|
||||
option(ENABLE_GLES "Build for OpenGL ES 2.0 instead of OpenGL 2.1 (Default: off)" OFF)
|
||||
option(USE_GTKGLEXT "Use libgtkglext1 for GTK2 frontend (Default: on)" ON)
|
||||
option(USE_QT6 "Use Qt6 in Qt frontend (Default: off)" OFF)
|
||||
option(USE_GTK3 "Use Gtk3 in GTK2 frontend (Default: off)" OFF)
|
||||
|
||||
if(ENABLE_GLES)
|
||||
|
@ -86,7 +91,9 @@ endif()
|
|||
add_definitions(-D_USE_MATH_DEFINES)
|
||||
|
||||
# Let CMake handle setting C++11 (since 3.1)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
if(NOT CMAKE_CXX_STANDARD)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
endif()
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
|
||||
# Use our cmake files
|
||||
|
@ -104,6 +111,10 @@ include(FastMath)
|
|||
# Compile options
|
||||
#
|
||||
if(MSVC)
|
||||
# CMake 3.14 and below set warning flags by default, remove them to prevent conflicts
|
||||
string(REGEX REPLACE "/W[3|4]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
string(REGEX REPLACE "/W[3|4]" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
|
||||
# Disabled warnings
|
||||
# C4244, C4267, C4503: implicit type conversion to a smaller type
|
||||
# C4786: long names in templates
|
||||
|
@ -160,10 +171,10 @@ if(ENABLE_SPICE)
|
|||
if(NOT CSPICE_FOUND)
|
||||
message(STATUS "Using cspice submodule")
|
||||
add_subdirectory("${CMAKE_SOURCE_DIR}/thirdparty/Spice")
|
||||
get_target_property(SPICE_INCLUDE_DIR Spice INCLUDE_DIRECTORIES)
|
||||
get_target_property(SPICE_INCLUDE_DIR spice INCLUDE_DIRECTORIES)
|
||||
include_directories(${SPICE_INCLUDE_DIR})
|
||||
message(STATUS "Spice include directories: ${SPICE_INCLUDE_DIR}")
|
||||
add_library(CSPICE::CSPICE ALIAS Spice)
|
||||
add_library(CSPICE::CSPICE ALIAS spice)
|
||||
else()
|
||||
include_directories(${CSPICE_INCLUDE_DIR})
|
||||
endif()
|
||||
|
@ -179,6 +190,13 @@ if(ENABLE_FFMPEG)
|
|||
add_definitions(-DUSE_FFMPEG)
|
||||
endif()
|
||||
|
||||
if(ENABLE_LIBAVIF)
|
||||
find_package(Libavif REQUIRED)
|
||||
link_libraries(libavif::libavif)
|
||||
include_directories(${LIBAVIF_INCLUDE_DIR})
|
||||
add_definitions(-DUSE_LIBAVIF)
|
||||
endif()
|
||||
|
||||
if(_UNIX)
|
||||
find_package(PkgConfig)
|
||||
endif()
|
||||
|
@ -201,7 +219,11 @@ find_package(Eigen3 3.3 REQUIRED NO_MODULE) # -DEigen3_DIR=...
|
|||
message(STATUS "Found Eigen3 ${EIGEN3_VERSION_STRING}")
|
||||
link_libraries(Eigen3::Eigen)
|
||||
|
||||
find_package(fmt REQUIRED)
|
||||
find_package(fmt 6.1.0 CONFIG QUIET)
|
||||
if(NOT fmt_FOUND)
|
||||
message(STATUS "Using fmt submodule")
|
||||
add_subdirectory("${CMAKE_SOURCE_DIR}/thirdparty/fmt")
|
||||
endif()
|
||||
link_libraries(fmt::fmt)
|
||||
|
||||
find_package(PNG REQUIRED)
|
||||
|
@ -228,6 +250,14 @@ endif()
|
|||
find_package(Freetype REQUIRED)
|
||||
link_libraries(Freetype::Freetype)
|
||||
|
||||
find_package(meshoptimizer CONFIG QUIET)
|
||||
if(meshoptimizer_FOUND)
|
||||
message(STATUS "Found meshoptimizer library")
|
||||
set(HAVE_MESHOPTIMIZER 1)
|
||||
else()
|
||||
message(STATUS "meshoptimizer library is missing")
|
||||
endif()
|
||||
|
||||
#[[
|
||||
get_cmake_property(_variableNames VARIABLES)
|
||||
list (SORT _variableNames)
|
||||
|
@ -320,7 +350,10 @@ if("${build_type_lc}" STREQUAL "debug")
|
|||
else()
|
||||
add_definitions(-DNO_DEBUG -DEIGEN_NO_DEBUG)
|
||||
if(NOT MSVC)
|
||||
add_compile_options(-fno-rtti -fno-exceptions)
|
||||
add_compile_options(
|
||||
$<$<COMPILE_LANGUAGE:CXX>:-fno-rtti>
|
||||
$<$<COMPILE_LANGUAGE:CXX>:-fno-exceptions>
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -336,40 +369,27 @@ include_directories("${CMAKE_SOURCE_DIR}/src" ${CMAKE_BINARY_DIR})
|
|||
include(CheckSymbolExists)
|
||||
check_symbol_exists(wordexp wordexp.h HAVE_WORDEXP)
|
||||
check_include_files(byteswap.h HAVE_BYTESWAP_H)
|
||||
try_compile(HAVE_FILESYSTEM ${CMAKE_BINARY_DIR} "${CMAKE_SOURCE_DIR}/checks/cxxfs.cpp")
|
||||
check_include_file_cxx(experimental/filesystem HAVE_EXPERIMENTAL_FILESYSTEM)
|
||||
|
||||
if((NOT HAVE_FILESYSTEM) AND HAVE_EXPERIMENTAL_FILESYSTEM)
|
||||
# Try compile without linking against any library
|
||||
try_compile(CXXFSLIB ${CMAKE_BINARY_DIR} "${CMAKE_SOURCE_DIR}/checks/cxxfsexp.cpp")
|
||||
find_package(Filesystem REQUIRED COMPONENTS Final Experimental)
|
||||
if(CXX_FILESYSTEM_IS_EXPERIMENTAL)
|
||||
message(WARNING "C++ lacks header <filesystem>, using <experimental/filesystem> instead.")
|
||||
else()
|
||||
set(HAVE_STD_FILESYSTEM ON)
|
||||
endif()
|
||||
link_libraries(std::filesystem)
|
||||
|
||||
if(CXXFSLIB)
|
||||
# Nothing to do, linking is not explicitly required
|
||||
else()
|
||||
# Find the filesystem lib we need to link against
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
find_library(CLANG_FS_LIBRARY "c++fs")
|
||||
if(CLANG_FS_LIBRARY)
|
||||
set(FS_LIBRARY c++fs)
|
||||
else()
|
||||
set(FS_LIBRARY stdc++fs)
|
||||
endif()
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(FS_LIBRARY stdc++fs)
|
||||
endif()
|
||||
|
||||
try_compile(CXXFSLIB ${CMAKE_BINARY_DIR} "${CMAKE_SOURCE_DIR}/checks/cxxfs.cpp" LINK_LIBRARIES "${FS_LIBRARY}")
|
||||
if(CXXFSLIB)
|
||||
link_libraries("${FS_LIBRARY}")
|
||||
else()
|
||||
set(HAVE_EXPERIMENTAL_FILESYSTEM OFF)
|
||||
message(WARNING "C++ experimental filesystem library is unusable!\nWill use own implementation.")
|
||||
endif()
|
||||
try_compile(HAVE_CHARCONV ${CMAKE_BINARY_DIR} "${CMAKE_SOURCE_DIR}/checks/cxxccint.cpp")
|
||||
if(HAVE_CHARCONV)
|
||||
try_compile(HAVE_FLOAT_CHARCONV ${CMAKE_BINARY_DIR} "${CMAKE_SOURCE_DIR}/checks/cxxccfloat.cpp")
|
||||
if(NOT HAVE_FLOAT_CHARCONV)
|
||||
message(WARNING "C++ charconv lacks floating point support!\nWill use own implementation.")
|
||||
endif()
|
||||
else()
|
||||
message(WARNING "C++ charconv is unusable!\nWill use own implementation.")
|
||||
endif()
|
||||
|
||||
try_compile(HAVE_STRING_VIEW ${CMAKE_BINARY_DIR} "${CMAKE_SOURCE_DIR}/checks/cxxsv.cpp")
|
||||
try_compile(HAVE_EXPERIMENTAL_STRING_VIEW ${CMAKE_BINARY_DIR} "${CMAKE_SOURCE_DIR}/checks/cxxsvexp.cpp")
|
||||
include(TestBigEndian)
|
||||
test_big_endian(WORDS_BIGENDIAN)
|
||||
|
||||
configure_file("config.h.in" "config.h")
|
||||
|
||||
|
@ -389,17 +409,12 @@ endif()
|
|||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(po)
|
||||
add_subdirectory(po2)
|
||||
add_subdirectory(fonts)
|
||||
add_subdirectory(images)
|
||||
add_subdirectory(locale)
|
||||
add_subdirectory(scripts)
|
||||
add_subdirectory(shaders)
|
||||
|
||||
if(ENABLE_DATA)
|
||||
add_subdirectory(content)
|
||||
endif()
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
enable_testing()
|
||||
add_subdirectory(test)
|
||||
|
|
|
@ -739,7 +739,7 @@ Code:
|
|||
* Eliminated obscuring of location labels that occurred low view aspect ratios
|
||||
* Added models of comet Halley and the small moons Pandora and Larissa
|
||||
* Added limit of knowledge masks for the Galilean moons
|
||||
* Changed spectral class of carbon stars to C, which supercedes and combines
|
||||
* Changed spectral class of carbon stars to C, which supersedes and combines
|
||||
R and N
|
||||
* Lua scripting additions
|
||||
* View management commands
|
||||
|
|
21
INSTALL.md
21
INSTALL.md
|
@ -84,7 +84,7 @@ Clang 3.3 or later), CMake, GNU Make or Ninja.
|
|||
|
||||
Then you need to have the following devel components installed before Celestia
|
||||
will build: OpenGL, libepoxy, fmtlib, Eigen3, freetype, libjpeg, and libpng.
|
||||
Optional packages are gettext, Qt5, Gtk2 or Gtk3, sdl2, ffmpeg, glu and glut.
|
||||
Optional packages are gettext, Qt5, Gtk2 or Gtk3, sdl2, ffmpeg, libavif, glu and glut.
|
||||
|
||||
For example on modern Debian-derived system you need to install the following
|
||||
packages: libepoxy-dev, libjpeg-dev, libpng-dev, libgl1-mesa-dev,
|
||||
|
@ -94,7 +94,8 @@ libqt5opengl5-dev if you want to build with Qt5 interface; libgtk2.0-dev and
|
|||
libgtkglext1-dev to build with legacy Gtk2 interface; libgtk3.0-dev to build
|
||||
Gtk3 interface, libsdl2-dev to build SDL interface or freeglut3-dev to build
|
||||
with glut interface. libavcodec-dev, libavformat-dev, libavutil-dev and
|
||||
libswscale-dev are required to build with video capture support.
|
||||
libswscale-dev are required to build with video capture support. libavif-dev
|
||||
is required to build to AVIF texture support.
|
||||
|
||||
|
||||
OK, assuming you've collected all the necessary libraries, here's
|
||||
|
@ -149,7 +150,7 @@ following option to cmake: -DCMAKE_INSTALL_PREFIX=/another/path.
|
|||
|
||||
## Celestia Install instructions for Windows (MSVC)
|
||||
|
||||
Currently to build on Windows you need a Visual Studio 2015 or later, CMake
|
||||
Currently to build on Windows you need Visual Studio 2015 or later, CMake
|
||||
and vcpkg (*).
|
||||
|
||||
Install required packages:
|
||||
|
@ -161,7 +162,7 @@ vcpkg --triplet=TRIPLET install --recurse libpng libjpeg-turbo gettext luajit fm
|
|||
Install optional packages:
|
||||
|
||||
```
|
||||
vcpkg --triplet=TRIPLET install --recurse qt5-base ffmpeg cspice
|
||||
vcpkg --triplet=TRIPLET install --recurse qt5-base ffmpeg cspice libavif
|
||||
```
|
||||
|
||||
Replace TRIPLET with `x86-windows` to build 32-bit versions or `x64-windows`
|
||||
|
@ -169,6 +170,9 @@ for 64-bit versions.
|
|||
|
||||
Instead of `luajit` `lua` can be used.
|
||||
|
||||
Use `vcpkg list` to ensure that all packages have actually been installed.
|
||||
If not, try installing them one at a time.
|
||||
|
||||
Configure and build 32-bit version:
|
||||
|
||||
```
|
||||
|
@ -187,8 +191,8 @@ cmake -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scrip
|
|||
cmake --build . -- /maxcpucount:N /nologo
|
||||
```
|
||||
|
||||
Instead of N in /maxcpucount pass a number of CPU cores you want to use during
|
||||
a build.
|
||||
Instead of N in /maxcpucount pass the number of CPU cores you want to use during
|
||||
the build.
|
||||
|
||||
This example assumes that `vcpkg` is installed into `c:/tools/vcpkg`. Update
|
||||
the path to `vcpkg.cmake` according to your installation.
|
||||
|
@ -281,13 +285,13 @@ Install Homebrew
|
|||
Install required packages:
|
||||
|
||||
```
|
||||
brew install pkg-config cmake fmt gettext libepoxy libpng lua qt5 jpeg eigen freetype ffmpeg
|
||||
brew install pkg-config cmake fmt gettext libepoxy libpng lua qt5 jpeg eigen freetype
|
||||
```
|
||||
|
||||
Install optional packages:
|
||||
|
||||
```
|
||||
brew install cspice
|
||||
brew install cspice ffmpeg libavif
|
||||
```
|
||||
|
||||
Follow common building instructions to fetch the source.
|
||||
|
@ -335,6 +339,7 @@ List of supported parameters (passed as `-DPARAMETER=VALUE`):
|
|||
| ENABLE_SDL | bool | OFF | Build SQL frontend
|
||||
| ENABLE_WIN | bool | \*\*\*ON | Build Windows native frontend
|
||||
| ENABLE_FFMPEG | bool | \*\*ON | Support video capture using ffmpeg
|
||||
| ENABLE_LIBAVIF | bool | OFF | Support AVIF texture using libavif
|
||||
| ENABLE_TOOLS | bool | OFF | Build tools for Celestia data files
|
||||
| ENABLE_DATA | bool | OFF | Use CelestiaContent submodule for data
|
||||
| ENABLE_GLES | bool | OFF | Use OpenGL ES 2.0 in rendering code
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
***************************************************************************
|
||||
* Celestia *
|
||||
* Celestia *
|
||||
* *
|
||||
* A real-time space simulation that lets you experience our universe in *
|
||||
* three dimensions. *
|
||||
* *
|
||||
* Copyright (c) 2001-2020, Celestia Development Team *
|
||||
* Copyright (c) 2001-2021, Celestia Development Team *
|
||||
* *
|
||||
*-------------------------------------------------------------------------*
|
||||
* Celestia web site: https://celestia.space *
|
||||
* Celestia web site: https://celestia.space/ *
|
||||
* *
|
||||
* Celestia documentation: *
|
||||
* http://celestiamotherlode.net/catalog/documentation.html *
|
||||
* Celestia WikiBook: http://en.wikibooks.org/wiki/Celestia *
|
||||
* https://celestia.space/guides.html *
|
||||
* Celestia WikiBook: https://en.wikibooks.org/wiki/Celestia *
|
||||
* *
|
||||
* Celestia forums: https://celestia.space/forum/ *
|
||||
* *
|
||||
|
@ -87,7 +87,7 @@ button, and you're off.
|
|||
That covers the very basics. For a more in-depth look at Celestia and the
|
||||
controls available to you, download the "Celestia User's Guide" (written by
|
||||
Frank Gregorio), available in several languages, from:
|
||||
http://celestiamotherlode.net/catalog/documentation.html
|
||||
https://celestia.space/guides.html
|
||||
This web page also includes links to the Celestia README file translated into
|
||||
Japanese.
|
||||
|
||||
|
@ -171,16 +171,16 @@ favorite text editing program.
|
|||
CELESTIA RESOURCES
|
||||
------------------
|
||||
Celestia Web Site:
|
||||
https://celestia.space
|
||||
https://celestia.space/
|
||||
|
||||
Celestia User Forums:
|
||||
https://celestia.space/forum/
|
||||
|
||||
Selden's List of Resources for Celestia:
|
||||
http://www.lepp.cornell.edu/~seb/celestia/
|
||||
https://www.classe.cornell.edu/~seb/celestia/
|
||||
|
||||
Celestia WikiBook:
|
||||
http://en.wikibooks.org/wiki/Celestia
|
||||
Celestia Wikibook:
|
||||
https://en.wikibooks.org/wiki/Celestia
|
||||
|
||||
Celestial Matters Website and Forums:
|
||||
http://www.celestialmatters.org/
|
||||
|
@ -189,24 +189,23 @@ Celestial Matters Website and Forums:
|
|||
Celestia Motherlode:
|
||||
http://www.celestiamotherlode.net/
|
||||
|
||||
Celestia Cource Repository:
|
||||
Celestia Source Repository:
|
||||
https://github.com/CelestiaProject/Celestia
|
||||
|
||||
Celestia Binary Repository:
|
||||
https://bintray.com/celestia
|
||||
|
||||
Celestia Bug Tracking:
|
||||
https://github.com/CelestiaProject/celestia/issues
|
||||
https://github.com/CelestiaProject/Celestia/issues
|
||||
|
||||
Celestia Feature Requests:
|
||||
https://github.com/CelestiaProject/celestia/issues
|
||||
https://github.com/CelestiaProject/Celestia/issues
|
||||
|
||||
Celestia Discord Server:
|
||||
https://discordapp.com/invite/WEWDcJh
|
||||
|
||||
Celestia SubReddit:
|
||||
Celestia Subreddit:
|
||||
https://www.reddit.com/r/Celestiasoftware/
|
||||
|
||||
Celestia Archive Repository:
|
||||
https://github.com/Anthony-B-Russo10/Celestia-Archive
|
||||
|
||||
BUILDING FROM SOURCES
|
||||
---------------------
|
||||
|
@ -235,7 +234,7 @@ Authors
|
|||
|
||||
Contributors
|
||||
------------
|
||||
Deon Ramsey ........... original GTK1 interface
|
||||
Deon Ramsey ........... Original GTK1 interface
|
||||
Christopher Andre ..... Eclipse Finder
|
||||
Colin Walters ......... Endianness fixes
|
||||
Peter Chapman ......... Orbit path rendering changes
|
||||
|
@ -253,236 +252,9 @@ Documentation
|
|||
Harald Schmidt ........ Celx/Lua Scripting Guide
|
||||
|
||||
|
||||
Scientific Data Base
|
||||
--------------------
|
||||
|
||||
# Grant Hutchison
|
||||
Supplied the correct orientations for the major planets, their moons, and a
|
||||
number of asteroids and also worked on these data files:
|
||||
Solarsys.ssc, nearstars.stc, extrasolar.ssc, extrasolar.stc, earth_locs.ssc
|
||||
|
||||
# Fridger Schrempp
|
||||
Complete NGC/IC galaxy database + local group galaxies (galaxies.dsc)
|
||||
Data base on globular clusters (globulars.dsc)
|
||||
|
||||
Data base on visual and spectroscopic binaries (visualbins.stc,
|
||||
spectbins.stc)
|
||||
|
||||
World-capitals.ssc
|
||||
|
||||
Asterisms.dat
|
||||
|
||||
# Andrew Tribick
|
||||
Significant update of the star.dat base based on new HIP Reduction of the
|
||||
Raw data, Floor van Leeuwen, 2007.
|
||||
|
||||
CHARM2 stellar radii (charm2.stc)
|
||||
|
||||
Note on content from JPL
|
||||
------------------------
|
||||
Some content in Celestia, including texture maps and models, comes from JPL
|
||||
websites. That content is subject to the JPL Image Use Policy, a copy of which
|
||||
appears below (as captured on 2020-July-13). The latest version of this policy
|
||||
can be found at https://www.jpl.nasa.gov/imagepolicy/. Also refer to
|
||||
https://space.jpl.nasa.gov/faq.html for clarity on how textures/models are
|
||||
covered.
|
||||
|
||||
# JPL Image Use Policy
|
||||
# Unless otherwise noted, images and video on JPL public web sites (public
|
||||
# sites ending with a jpl.nasa.gov address) may be used for any purpose
|
||||
# without prior permission, subject to the special cases noted below.
|
||||
# Publishers who wish to have authorization may print this page and
|
||||
# retain it for their records; JPL does not issue image permissions on an
|
||||
# image by image basis.
|
||||
#
|
||||
# By electing to download the material from this web site the user agrees:
|
||||
# 1. that Caltech makes no representations or warranties with respect to
|
||||
# ownership of copyrights in the images, and does not represent others who
|
||||
# may claim to be authors or owners of copyright of any of the images, and
|
||||
# makes no warranties as to the quality of the images. Caltech shall not be
|
||||
# responsible for any loss or expenses resulting from the use of the images,
|
||||
# and you release and hold Caltech harmless from all liability arising from
|
||||
# such use.
|
||||
#
|
||||
# 2. to use a credit line in connection with images. Unless otherwise noted
|
||||
# in the caption information for an image, the credit line should be
|
||||
# "Courtesy NASA/JPL-Caltech."
|
||||
#
|
||||
# 3. that the endorsement of any product or service by Caltech, JPL or NASA
|
||||
# must not be claimed or implied.
|
||||
#
|
||||
# Special Cases:
|
||||
# * Prior written approval must be obtained to use the NASA insignia logo
|
||||
# (the blue "meatball" insignia), the NASA logotype (the red "worm" logo)
|
||||
# and the NASA seal. These images may not be used by persons who are not
|
||||
# NASA employees or on products (including Web pages) that are not NASA
|
||||
# sponsored. In addition, no image may be used to explicitly or implicitly
|
||||
# suggest endorsement by NASA, JPL or Caltech of commercial goods or
|
||||
# services. Requests to use NASA logos may be directed to Bert Ulrich, Public
|
||||
# Services Division, NASA Headquarters, Code POS, Washington, DC 20546,
|
||||
# telephone (202) 358-1713, fax (202) 358-4331, email bert.ulrich@hq.nasa.gov.
|
||||
#
|
||||
# * Prior written approval must be obtained to use the JPL logo (stylized JPL
|
||||
# letters in red or other colors). Requests to use the JPL logo may be
|
||||
# directed to the Institutional Communications Office, email
|
||||
# instcomm@jpl.nasa.gov.
|
||||
#
|
||||
# * If an image includes an identifiable person, using the image for
|
||||
# commercial purposes may infringe that person's right of privacy or publicity,
|
||||
# and permission should be obtained from the person. NASA and JPL generally do
|
||||
# not permit likenesses of current employees to appear on commercial products.
|
||||
# For more information, consult the NASA and JPL points of contact listed above.
|
||||
#
|
||||
# * JPL/Caltech contractors and vendors who wish to use JPL images in
|
||||
# advertising or public relation materials should direct requests to the
|
||||
# Institutional Communications Office, email instcomm@jpl.nasa.gov.
|
||||
#
|
||||
# * Some image and video materials on JPL public web sites are owned by
|
||||
# organizations other than JPL or NASA. These owners have agreed to make their
|
||||
# images and video available for journalistic, educational and personal uses,
|
||||
# but restrictions are placed on commercial uses. To obtain permission for
|
||||
# commercial use, contact the copyright owner listed in each image caption.
|
||||
# Ownership of images and video by parties other than JPL and NASA is noted in
|
||||
# the caption material with each image.
|
||||
|
||||
Texture maps
|
||||
------------
|
||||
|
||||
# The new textures repository in their original quality can be found here:
|
||||
https://www.deviantart.com/celestiaofficial/gallery/68412929/Release-Textures
|
||||
|
||||
In particular, there are textures of Jupiter, Saturn, Phobos and Deimos.
|
||||
|
||||
# Most of the old maps are from David Seal's site: http://maps.jpl.nasa.gov/.
|
||||
|
||||
Some of these maps were modified, with fictional terrain added to fill in
|
||||
gaps. The Galileo spacecraft model is also from David Seal's site (though
|
||||
it was converted from Inventor to 3DS format.)
|
||||
|
||||
# The Mars, Neptune, and Uranus textures and Mars bump maps are all from James
|
||||
Hastings-Trew's collection.
|
||||
|
||||
# Grant Hutchison
|
||||
|
||||
Saturn's rings were built by Grant Hutchison from Cassini imaging.
|
||||
|
||||
The Eros map is a shaded relief generated from the NEAR laser rangefinder.
|
||||
|
||||
# Jens Meyer
|
||||
|
||||
Dione and Rhea are USGS maps colored and modified by Jens Meyer.
|
||||
|
||||
The Moon map is based on data from PDS Map-A-Planet at with colors from
|
||||
Mark Robinson.
|
||||
|
||||
# Fridger Schrempp
|
||||
|
||||
'Available data' Pluto and Charon textures using maps created by Marc Buie
|
||||
at Lowell Observatory. Buie's maps were generated from photometric data
|
||||
gathered during six years of mutual occultations of Pluto and Charon.
|
||||
|
||||
Titan's cloud texture in natural colors and its surface map at near-infrared
|
||||
wavelength. They are based on resources available from the imaging site
|
||||
(Ciclops) of the Cassini mission http://ciclops.org/
|
||||
|
||||
The Phoebe base texture was created from the cylindrical map published by
|
||||
the Cassini imaging team
|
||||
(http://photojournal.jpl.nasa.gov/catalog/PIA07775)
|
||||
|
||||
The Tethys textures are based on the Oct 2008 Ciclops map
|
||||
(http://photojournal.jpl.nasa.gov/catalog/PIA11116)
|
||||
|
||||
The Iapetus texture was created from the Oct 2008 Ciclops map
|
||||
(http://photojournal.jpl.nasa.gov/catalog/PIA11116)
|
||||
|
||||
The Lunar topography and bump maps, using Clementine laser altimeter data,
|
||||
merged in the polar regions with topographic data from Clementine 750 nm
|
||||
oblique and nadir images.
|
||||
|
||||
The Mercury map was created from a combination of Mariner 10 imaging
|
||||
with recent MESSENGER WAC images from the first two flybys, as collected
|
||||
and reprojected by Steve Albers.
|
||||
|
||||
# Phil Stooke
|
||||
|
||||
Proteus, Janus, Prometheus and Epimetheus maps are from Phil Stooke.
|
||||
|
||||
The Ida and Gaspra photomosaic maps are by Phil Stooke.
|
||||
|
||||
# Venus's clouds and the textures for Ganymede, Callisto and Saturn are from
|
||||
Björn Jónsson.
|
||||
|
||||
# Venus's surface is a copyright-free NASA image, prepared from Magellan radar
|
||||
data. The original is available at
|
||||
http://www.solarviews.com/cap/venus/venmap.htm
|
||||
|
||||
# The Earth texture was created by NASA using data from the MODIS instrument
|
||||
aboard the Terra satellite.
|
||||
|
||||
# Steve Albers
|
||||
The Io and Europa maps are by Steve Albers.
|
||||
|
||||
# The textures for the Uranian satellites were created by Ivan Rivera from JPL
|
||||
data. His Celestia page is: http://bruckner.homelinux.net/celestia.html
|
||||
|
||||
# The Hyperion map is a photomosaic assembled by Phil Stooke and
|
||||
colored by Jens Meyer.
|
||||
|
||||
# Amalthea is a shaded relief map by Phil Stooke, colored by Wm. Robert Johnston
|
||||
(http://www.johnstonsarchive.net/spaceart/cylmaps.html), and further modified
|
||||
by Jens Meyer and Grant Hutchison.
|
||||
|
||||
# The asteroid.jpg texture was created by Paul Roberts.
|
||||
|
||||
# The textures for the five classes of extrasolar giant planet were created by
|
||||
Andrew Tribick.
|
||||
|
||||
# CICLOPS
|
||||
|
||||
The map of Enceladus is derived from the December 2008 CICLOPS map:
|
||||
http://ciclops.org/view/5447/Map_of_Enceladus_December_2008
|
||||
|
||||
|
||||
3D Models
|
||||
---------
|
||||
|
||||
# New space bodies models can be found in Greg Friger's 3D Asteroid Catalogue:
|
||||
https://space.frieger.com/asteroids/
|
||||
|
||||
# Models of Mars Global Surveyor and Mars Odyssey were created by Shrox:
|
||||
http://www.shrox.com/
|
||||
They are included under the Creative Commons Attribution 4.0 International
|
||||
License (CC BY 4.0):
|
||||
https://creativecommons.org/licenses/by/4.0/
|
||||
|
||||
# The Cassini and Huygens models are by Jack Higgins:
|
||||
http://homepage.eircom.net/~jackcelestia/
|
||||
|
||||
# The 3D model of ISS is a deconstruction of Andrew Farnaby's
|
||||
complete ISS model with textures by Bob Hundley. The model
|
||||
represents the ISS as of June 2008 and is a modification of
|
||||
the model that can be found here:
|
||||
http://www.celestiamotherlode.net/catalog/show_addon_details.php?addon_id=1199
|
||||
ISS model of June 2008 (with Kibo) by krisci3 (modified and
|
||||
converted in order to work with JPG by Ulrich Dickmann, a.k.a.
|
||||
Adirondack)
|
||||
|
||||
# 3D asteroid models of Toutatis, Kleopatra, Geographos, 1998 KY26, Bacchus,
|
||||
Castalia and Golevka are courtesy of Scott Hudson, Washington State
|
||||
University. Originally found here:
|
||||
http://users.tricity.wsu.edu/~hudson/Research/Asteroids/index.htm
|
||||
On August 20, 2020, Scott Hudson waived the commercial use restrictions on
|
||||
these models, permitting unrestricted use of them.
|
||||
|
||||
# 3D models of Amalthea, Janus, Epimetheus, Prometheus, Pandora,
|
||||
Hyperion, Larissa, Proteus, Vesta, Ida, Gaspra and Halley are derived from
|
||||
Phil Stooke's Cartography of Non-Spherical Worlds.
|
||||
|
||||
# The 3D model of Eros was prepared from the NEAR laser rangefinder shape model.
|
||||
|
||||
# The Phoebe mesh was designed by Jerry Gardner aka Jestr, jestr@ntlworld.com,
|
||||
based on Phoebe's bumpy topography display from Cassini,
|
||||
http://photojournal.jpl.nasa.gov/catalog/PIA06070
|
||||
Content
|
||||
-------
|
||||
Please see the README file in the CelestiaContent repository.
|
||||
|
||||
|
||||
Libraries
|
||||
|
@ -526,8 +298,7 @@ ACKNOWLEDGEMENTS
|
|||
A very big thank you for creating Celestia goes to Chris Laurel who started this
|
||||
program in the year 2001.
|
||||
<claurel@gmail.com>
|
||||
http://www.shatters.net/~claurel/
|
||||
http://www.shatters.net/celestia/
|
||||
https://celestia.space/
|
||||
|
||||
Special thanks go to all Celestia users who submit bug reports, suggestions, and
|
||||
fixes. Celestia wouldn't be the program it is today, without their help.
|
|
@ -0,0 +1,142 @@
|
|||
| **`Release`** | **`Localized`** | **`License`** | **`Contribute`** |
|
||||
|-------------------|---------------|---------------|---------------|
|
||||
|[![GitHub release](https://img.shields.io/github/v/release/CelestiaProject/Celestia?label=Release)](https://celestia.space/download.html) | [![Localization](https://img.shields.io/badge/Localized-85%25-green.svg)](#) | [![License](https://img.shields.io/github/license/CelestiaProject/Celestia?label=License)](https://github.com/CelestiaProject/Celestia/blob/master/COPYING) | [![Contribute](https://img.shields.io/badge/PRs-Welcome-brightgreen.svg)](#contributing) |
|
||||
|
||||
# Celestia
|
||||
![Celestia](celestia-logo.png)<br>
|
||||
**A real-time space simulation that lets you experience our universe in three dimensions.**
|
||||
|
||||
**Copyright © 2001-2021, Celestia Development Team**<br>
|
||||
**Celestia website: https://celestia.space**<br>
|
||||
**Celestia Wikibook: https://en.wikibooks.org/wiki/Celestia**<br>
|
||||
**Celestia forums: https://celestia.space/forum/**<br>
|
||||
**Celestia Subreddit: https://www.reddit.com/r/Celestiasoftware/**<br>
|
||||
**Celestia Archive Repository: https://github.com/Anthony-B-Russo10/Celestia-Archive**
|
||||
## License
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software Foundation;
|
||||
either version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details,
|
||||
which you should have received along with this program (filename: COPYING).
|
||||
If not, request a copy from:<br>
|
||||
Free Software Foundation, Inc.<br>
|
||||
59 Temple Place - Suite 330<br>
|
||||
Boston, MA 02111-1307<br>
|
||||
USA
|
||||
|
||||
## Getting started
|
||||
|
||||
Celestia will start up in a window, and if everything is working correctly,
|
||||
you'll see Earth in front of a field of stars. Displayed on-screen, is some
|
||||
information about your target (Earth), your speed, and the current time
|
||||
(Universal Time, so it'll probably be a few hours off from your computer's
|
||||
clock).
|
||||
|
||||
Right drag the mouse to orbit Earth and you might see the Moon and some
|
||||
familiar constellations. Left dragging the mouse changes your orientation
|
||||
also, but the camera rotates about its center instead of rotating around
|
||||
Earth. Rolling the mouse wheel will change your distance to Earth--you can
|
||||
move light years away, then roll the wheel in the opposite direction to get
|
||||
back to your starting location. If your mouse lacks a wheel, you can use the
|
||||
Home and End keys instead.
|
||||
|
||||
When running Celestia, you will usually have some object selected. Currently,
|
||||
it's Earth, but it could also be a star, moon, spacecraft, galaxy, or some
|
||||
other object. The simplest way to select an object is to click on it. Try
|
||||
clicking on a star to select it. The information about Earth is replaced with
|
||||
some details about the star. Press G (or use the Navigation menu), and you'll
|
||||
zoom through space toward the selected star. If you press G again, you'll
|
||||
approach the star even closer.
|
||||
|
||||
Press H to select our Sun, and then G to go back to our Sun. Right click on
|
||||
the sun to bring up a menu of planets and other objects in the solar system.
|
||||
After selecting a planet from the menu, hit G again to travel toward it. Once
|
||||
there, hold down the right mouse button and drag to orbit the planet.
|
||||
|
||||
The Tour Guide is a list of some of the more interesting objects you can visit
|
||||
in Celestia. Select the Tour Guide option in the Navigation menu to display
|
||||
the Tour Guide window. Choose a destination from the list, click the Goto
|
||||
button, and you're off.
|
||||
|
||||
That covers the very basics. For a more in-depth look at Celestia and the
|
||||
controls available to you, download the "Celestia User's Guide" (written by
|
||||
Frank Gregorio), available in several languages, from:<br>
|
||||
https://celestia.space/guides.html<br>
|
||||
This web page also includes links to the Celestia README file translated into
|
||||
Japanese.
|
||||
|
||||
### Star browser
|
||||
By default, the Star Browser window displays a table of the 100 nearest stars,
|
||||
along with their Distance, Apparent and Absolute Magnitude, and Type. Clicking
|
||||
on the column headers will sort the stars. The table is not continuously
|
||||
updated, so if you travel to another star, you should press the Refresh button
|
||||
to update the table for your current position. The radio buttons beneath the
|
||||
table let you switch between viewing a list of Nearest, Brightest, or 'With
|
||||
planets' stars. As with the solar system browser, clicking on any star name
|
||||
in the table will select it. Use this feature along with the Center and Go
|
||||
To buttons to tour the stars visible from any night sky in the galaxy.
|
||||
|
||||
### Solar system browser
|
||||
The Solar System Browser displays a window with a tree view of all the objects
|
||||
in the nearest solar system (if there is one within a light year of your current
|
||||
position.) Clicking on the name of any object in the window will select it.
|
||||
You can then use the Center or Go To buttons to display that object in the main
|
||||
Celestia window.
|
||||
|
||||
### Selecting objects by name
|
||||
Celestia provides several ways to select an object by name...
|
||||
1. Choose 'Select Object' from the Navigation menu, type in the object name, and click OK.
|
||||
2. Press Enter, type in the entire object name, and press Enter again.
|
||||
3. Press Enter, type in the first few characters of the object name,
|
||||
press the Tab key to move through the displayed listing until the object is highlighted,
|
||||
then press Enter again.
|
||||
|
||||
You can use common names, Bayer designations or catalog numbers for stars.
|
||||
Celestia currently supports the HIP, HD and SAO catalogs. Catalog numbers must
|
||||
be entered with a space between the prefix and the catalog number.
|
||||
|
||||
### Known issues
|
||||
For up-to-the-minute answers to some common problems encountered when running
|
||||
Celestia, please view either the FAQ in the Help menu or take a look at the
|
||||
"Celestia User's FAQ" located on the Celestia User's Forum:
|
||||
https://celestia.space/forum/
|
||||
|
||||
### User modifiable elements
|
||||
You can modify how Celestia starts up each time you run it, by defining your
|
||||
own start-up settings. Simply open the file "start.cel" in a plain text
|
||||
editor and follow the in-file instructions. Also, view the celestia.cfg file
|
||||
in a plain text editor to see additional settings.
|
||||
|
||||
Celestia allows you to easily add real, hypothetical, or fictional objects
|
||||
by creating new catalog files. It is *not* recommended that you alter the
|
||||
built-in data files; nearly all desired modifications and additions can be
|
||||
made by placing new catalog files in Celestia's extras folders. There are three
|
||||
types of catalog files:
|
||||
* ssc (solar system catalog: planets, moons, spacecraft, etc.)
|
||||
* stc (star catalog)
|
||||
* dsc (deep sky catalog: galaxies, star clusters, and nebulae)
|
||||
|
||||
All three types of catalog file are text files that can be updated with your
|
||||
favorite text editing program.
|
||||
|
||||
### Building from sources
|
||||
See instructions in file [INSTALL.md](INSTALL.md).
|
||||
|
||||
## Contributions
|
||||
| **`Authors`** | **`Contributors`** | **`Documentation`** | **`Other`** |
|
||||
|-----------------|---------------------|------------------|-------------------|
|
||||
| Chris Laurel, Clint Weisbrod, Fridger Schrempp, Bob Ippolito, Christophe Teyssier, Hank Ramsey, Grant Hutchison, Pat Suwalski, Toti, Da Woon Jung, Vincent Giangiulio, Andrew Tribick, Hleb Valoshka, Łukasz Buczyński, Li Linfeng | Deon Ramsey, Christopher Andre, Colin Walters, Peter Chapman, James Holmes, Harald Schmidt, Nils Larsson, Sergey Leonov, Alexell, Dmitry Brant, Janus | Selden Ball, Frank Gregorio, Hitoshi Suzuki, Christophe Teyssier, Diego Rodriguez, Don Goyette, Harald Schmidt | Creators of scientific database, texture maps, 3D models and used libraries, you can see in full README.|
|
||||
|
||||
### Contributing
|
||||
|
||||
**We welcome feedback, bug reports, and pull requests!**
|
||||
|
||||
For pull requests, please stick to the following guidelines:
|
||||
* Be sure to test your code changes.
|
||||
* Follow the existing code style (e.g., indents).
|
||||
* Put a lot of comments into the code, if necessary.
|
||||
* Separate unrelated changes into multiple pull requests.
|
205
README.md
205
README.md
|
@ -1,143 +1,110 @@
|
|||
| **`Release`** | **`Localized`** | **`License`** | **`Contribute`** |
|
||||
|-------------------|---------------|---------------|---------------|
|
||||
|[![GitHub release](https://img.shields.io/github/v/release/CelestiaProject/Celestia?label=Release)](https://celestia.space/download.html) | [![Localization](https://img.shields.io/badge/Localized-85%25-green.svg)](#) | [![License](https://img.shields.io/github/license/CelestiaProject/Celestia?label=License)](https://github.com/CelestiaProject/Celestia/blob/master/COPYING) | [![Contribute](https://img.shields.io/badge/PRs-Welcome-brightgreen.svg)](#contributing) |
|
||||
|
||||
# Celestia
|
||||
![Celestia](celestia-logo.png)<br>
|
||||
**A real-time space simulation that lets you experience our universe in three dimensions.**
|
||||
Celestia is a "real-time space simulation that lets you experience
|
||||
our universe in three dimensions".
|
||||
|
||||
**Copyright © 2001-2020, Celestia Development Team**<br>
|
||||
**Celestia website: https://celestia.space**<br>
|
||||
**Celestia WikiBook: https://en.wikibooks.org/wiki/Celestia**<br>
|
||||
**Celestia forums: https://celestia.space/forum/**<br>
|
||||
**Celestia Discord Server: https://discordapp.com/invite/WEWDcJh**<br>
|
||||
**Celestia SubReddit: https://www.reddit.com/r/Celestiasoftware/**<br>
|
||||
**Celestia Archive Repository: https://github.com/Anthony-B-Russo10/Celestia-Archive**
|
||||
## License
|
||||
![celestia-screenshot](pics/celestia-screenshot.png)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software Foundation;
|
||||
either version 2 of the License, or (at your option) any later version.
|
||||
# Upstream
|
||||
This repo is a lesser fork of the upstream project,
|
||||
which has been revived.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details,
|
||||
which you should have received along with this program (filename: COPYING).
|
||||
If not, request a copy from:<br>
|
||||
Free Software Foundation, Inc.<br>
|
||||
59 Temple Place - Suite 330<br>
|
||||
Boston, MA 02111-1307<br>
|
||||
USA
|
||||
* https://celestia.space/
|
||||
|
||||
## Getting started
|
||||
* https://github.com/CelestiaProject/Celestia
|
||||
|
||||
Celestia will start up in a window, and if everything is working correctly,
|
||||
you'll see Earth in front of a field of stars. Displayed on-screen, is some
|
||||
information about your target (Earth), your speed, and the current time
|
||||
(Universal Time, so it'll probably be a few hours off from your computer's
|
||||
clock).
|
||||
See also: `README-upstream`, `README-upstream.md`.
|
||||
|
||||
Right drag the mouse to orbit Earth and you might see the Moon and some
|
||||
familiar constellations. Left dragging the mouse changes your orientation
|
||||
also, but the camera rotates about its center instead of rotating around
|
||||
Earth. Rolling the mouse wheel will change your distance to Earth--you can
|
||||
move light years away, then roll the wheel in the opposite direction to get
|
||||
back to your starting location. If your mouse lacks a wheel, you can use the
|
||||
Home and End keys instead.
|
||||
## License/Copyright
|
||||
GPLv2+
|
||||
|
||||
When running Celestia, you will usually have some object selected. Currently,
|
||||
it's Earth, but it could also be a star, moon, spacecraft, galaxy, or some
|
||||
other object. The simplest way to select an object is to click on it. Try
|
||||
clicking on a star to select it. The information about Earth is replaced with
|
||||
some details about the star. Press G (or use the Navigation menu), and you'll
|
||||
zoom through space toward the selected star. If you press G again, you'll
|
||||
approach the star even closer.
|
||||
Copyright © 2001-2021, Celestia Development Team
|
||||
|
||||
Press H to select our Sun, and then G to go back to our Sun. Right click on
|
||||
the sun to bring up a menu of planets and other objects in the solar system.
|
||||
After selecting a planet from the menu, hit G again to travel toward it. Once
|
||||
there, hold down the right mouse button and drag to orbit the planet.
|
||||
# Debian
|
||||
Package was removed from Debian in the ancient days due to bitrot.
|
||||
The upstream code has a new team and active development, using
|
||||
recent libraries. The package can be built under Debian Ok, except
|
||||
for the `data/` files.
|
||||
|
||||
The Tour Guide is a list of some of the more interesting objects you can visit
|
||||
in Celestia. Select the Tour Guide option in the Navigation menu to display
|
||||
the Tour Guide window. Choose a destination from the list, click the Goto
|
||||
button, and you're off.
|
||||
Debian upstream bug:
|
||||
|
||||
That covers the very basics. For a more in-depth look at Celestia and the
|
||||
controls available to you, download the "Celestia User's Guide" (written by
|
||||
Frank Gregorio), available in several languages, from:<br>
|
||||
https://celestia.space/guides.html<br>
|
||||
This web page also includes links to the Celestia README file translated into
|
||||
Japanese.
|
||||
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809916
|
||||
|
||||
### Star browser
|
||||
By default, the Star Browser window displays a table of the 100 nearest stars,
|
||||
along with their Distance, Apparent and Absolute Magnitude, and Type. Clicking
|
||||
on the column headers will sort the stars. The table is not continuously
|
||||
updated, so if you travel to another star, you should press the Refresh button
|
||||
to update the table for your current position. The radio buttons beneath the
|
||||
table let you switch between viewing a list of Nearest, Brightest, or 'With
|
||||
planets' stars. As with the solar system browser, clicking on any star name
|
||||
in the table will select it. Use this feature along with the Center and Go
|
||||
To buttons to tour the stars visible from any night sky in the galaxy.
|
||||
```
|
||||
Upstream has not produced any new releases in the last 4 years. In the
|
||||
mean time, the package is accumulating bugs due to bitrot. It already
|
||||
wasn't a trouble-free package, due to some quite important resources not
|
||||
being DFSG compliant.
|
||||
```
|
||||
|
||||
### Solar system browser
|
||||
The Solar System Browser displays a window with a tree view of all the objects
|
||||
in the nearest solar system (if there is one within a light year of your current
|
||||
position.) Clicking on the name of any object in the window will select it.
|
||||
You can then use the Center or Go To buttons to display that object in the main
|
||||
Celestia window.
|
||||
I do see some of the resources now are CC-by-SA 4.0, a license which
|
||||
didn't exist when the Debian bug was created. So it may be that it
|
||||
can be built happily without DFSG issues using new data files.
|
||||
|
||||
### Selecting objects by name
|
||||
Celestia provides several ways to select an object by name...
|
||||
1. Choose 'Select Object' from the Navigation menu, type in the object name, and click OK.
|
||||
2. Press Enter, type in the entire object name, and press Enter again.
|
||||
3. Press Enter, type in the first few characters of the object name,
|
||||
press the Tab key to move through the displayed listing until the object is highlighted,
|
||||
then press Enter again.
|
||||
|
||||
You can use common names, Bayer designations or catalog numbers for stars.
|
||||
Celestia currently supports the HIP, HD and SAO catalogs. Catalog numbers must
|
||||
be entered with a space between the prefix and the catalog number.
|
||||
Celestia depending on NASA's Spice/NAIF may be afoul of Debian's
|
||||
DFSG because the terms are unique. It isn't really a standard license.
|
||||
|
||||
### Known issues
|
||||
For up-to-the-minute answers to some common problems encountered when running
|
||||
Celestia, please view either the FAQ in the Help menu or take a look at the
|
||||
"Celestia User's FAQ" located on the Celestia User's Forum:
|
||||
https://celestia.space/forum/
|
||||
|
||||
### User modifiable elements
|
||||
You can modify how Celestia starts up each time you run it, by defining your
|
||||
own start-up settings. Simply open the file "start.cel" in a plain text
|
||||
editor and follow the in-file instructions. Also, view the celestia.cfg file
|
||||
in a plain text editor to see additional settings.
|
||||
Debian tracker link:
|
||||
|
||||
Celestia allows you to easily add real, hypothetical, or fictional objects
|
||||
by creating new catalog files. It is *not* recommended that you alter the
|
||||
built-in data files; nearly all desired modifications and additions can be
|
||||
made by placing new catalog files in Celestia's extras folders. There are three
|
||||
types of catalog files:
|
||||
* ssc (solar system catalog: planets, moons, spacecraft, etc.)
|
||||
* stc (star catalog)
|
||||
* dsc (deep sky catalog: galaxies, star clusters, and nebulae)
|
||||
* https://tracker.debian.org/pkg/celestia
|
||||
|
||||
All three types of catalog file are text files that can be updated with your
|
||||
favorite text editing program.
|
||||
# Build
|
||||
Mini Debian package build howto.
|
||||
|
||||
### Building from sources
|
||||
See instructions in file [INSTALL.md](INSTALL.md).
|
||||
```
|
||||
# Install deps
|
||||
sudo apt update
|
||||
sudo apt install build-essential ccache devscripts \
|
||||
debhelper chrpath cmake freeglut3-dev libeigen3-dev libfmt-dev \
|
||||
libfreetype6-dev libepoxy-dev libglu1-mesa-dev libgtk2.0-dev \
|
||||
libgtkglext1-dev libjpeg62-turbo-dev libluajit-5.1-dev libpng-dev \
|
||||
libqt5opengl5-dev libtheora-dev qtbase5-dev qtbase5-dev-tools
|
||||
|
||||
## Contributions
|
||||
| **`Authors`** | **`Contributors`** | **`Documentation`** | **`Other`** |
|
||||
|-----------------|---------------------|------------------|-------------------|
|
||||
| Chris Laurel, Clint Weisbrod, Fridger Schrempp, Bob Ippolito, Christophe Teyssier, Hank Ramsey, Grant Hutchison, Pat Suwalski, Toti, Da Woon Jung, Vincent Giangiulio, Andrew Tribick, Hleb Valoshka, Łukasz Buczyński, Li Linfeng | Deon Ramsey, Christopher Andre, Colin Walters, Peter Chapman, James Holmes, Harald Schmidt, Nils Larsson, Sergey Leonov, Alexell, Dmitry Brant, Janus | Selden Ball, Frank Gregorio, Hitoshi Suzuki, Christophe Teyssier, Diego Rodriguez, Don Goyette, Harald Schmidt | Creators of scientific database, texture maps, 3D models and used libraries, you can see in full README.|
|
||||
# Add ccache to PATH in ~/.bashrc, and log back in
|
||||
PATH=/usr/lib/ccache:$PATH
|
||||
|
||||
### Contributing
|
||||
# Make dirs to put it all, as it writes packages to the *parent* dir.
|
||||
mkdir celestia-deb
|
||||
cd celestia-deb
|
||||
|
||||
**We welcome feedback, bug reports, and pull requests!**
|
||||
git clone https://spacecruft.org/spacecruft/CelestiaContent
|
||||
cd CelestiaContent
|
||||
|
||||
# Build the source package, writes to parent dir
|
||||
dpkg-buildpackage -rfakeroot -S -uc -us -sa
|
||||
|
||||
# Build Debian Packages
|
||||
dpkg-buildpackage -rfakeroot -b -uc
|
||||
|
||||
cd ..
|
||||
|
||||
# Install the data package
|
||||
sudo dpkg -i celestia-data_1.7.0~git20211202+668347e9+0_all.deb
|
||||
|
||||
# Make sure apt is happy
|
||||
sudo apt -f install
|
||||
|
||||
git clone --recursive https://spacecruft.org/spacecruft/celestia
|
||||
cd celestia
|
||||
|
||||
# Build the source package, writes to parent dir
|
||||
dpkg-buildpackage -rfakeroot -S -uc -us -sa
|
||||
|
||||
# Build Debian Packages
|
||||
dpkg-buildpackage -rfakeroot -b -uc
|
||||
|
||||
cd ..
|
||||
|
||||
# Install
|
||||
sudo dpkg -i celestia_1.7.0~git20220520+1_all.deb \
|
||||
celestia-common_1.7.0~git20220520+1_all.deb \
|
||||
celestia-qt_1.7.0~git20220520+1_amd64.deb \
|
||||
celestia-tools_1.7.0~git20220520+1_amd64.deb \
|
||||
libcelestia1.7_1.7.0~git20220520+1_amd64.deb
|
||||
|
||||
# Make sure apt is happy
|
||||
sudo apt -f install
|
||||
|
||||
```
|
||||
|
||||
For pull requests, please stick to the following guidelines:
|
||||
* Be sure to test your code changes.
|
||||
* Follow the existing code style (e.g., indents).
|
||||
* Put a lot of comments into the code, if necessary.
|
||||
* Separate unrelated changes into multiple pull requests.
|
||||
|
|
|
@ -5,8 +5,12 @@ strategy:
|
|||
matrix:
|
||||
Linux:
|
||||
imageName: 'ubuntu-latest'
|
||||
enableLibavif: 'OFF'
|
||||
enableGLUT: 'ON'
|
||||
Mac:
|
||||
imageName: 'macos-latest'
|
||||
enableLibavif: 'ON'
|
||||
enableGLUT: 'OFF'
|
||||
|
||||
pool:
|
||||
vmImage: $(imageName)
|
||||
|
@ -37,6 +41,7 @@ steps:
|
|||
libfreetype6-dev \
|
||||
libsdl2-dev \
|
||||
libluajit-5.1-dev \
|
||||
freeglut3-dev \
|
||||
libfmt-dev
|
||||
displayName: 'Install Linux dependencies'
|
||||
condition: eq( variables['Agent.OS'], 'Linux' )
|
||||
|
@ -56,7 +61,9 @@ steps:
|
|||
qt5 \
|
||||
freetype \
|
||||
libepoxy \
|
||||
sdl2
|
||||
sdl2 \
|
||||
freeglut \
|
||||
libavif
|
||||
brew link gettext --force
|
||||
brew link lua --force
|
||||
displayName: 'Install macOS dependencies'
|
||||
|
@ -65,7 +72,7 @@ steps:
|
|||
- script: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DENABLE_SPICE=ON -DENABLE_TOOLS=ON -DENABLE_TESTS=ON -DENABLE_SDL=ON -DENABLE_GTK=ON -DENABLE_FFMPEG=ON ..
|
||||
cmake -DENABLE_SPICE=ON -DENABLE_TOOLS=ON -DENABLE_TESTS=ON -DENABLE_SDL=ON -DENABLE_GTK=ON -DENABLE_GLUT=$(enableGLUT) -DENABLE_FFMPEG=ON -DENABLE_LIBAVIF=$(enableLibavif) ..
|
||||
make -j $(nproc || echo 4)
|
||||
CTEST_OUTPUT_ON_FAILURE=1 ctest
|
||||
workingDirectory: "$(system.defaultworkingdirectory)"
|
||||
|
|
77
celestia.cfg
77
celestia.cfg
|
@ -34,34 +34,35 @@ Configuration
|
|||
"data/nearstars.stc"
|
||||
"data/visualbins.stc"
|
||||
"data/spectbins.stc"
|
||||
"data/charm2.stc" ]
|
||||
"data/charm2.stc"
|
||||
"data/pulsars.stc" ]
|
||||
|
||||
HDCrossIndex "data/hdxindex.dat"
|
||||
SAOCrossIndex "data/saoxindex.dat"
|
||||
GlieseCrossIndex "data/gliesexindex.dat"
|
||||
|
||||
SolarSystemCatalogs [ "data/solarsys.ssc"
|
||||
"data/dwarfplanets.ssc"
|
||||
"data/asteroids.ssc"
|
||||
"data/comets.ssc"
|
||||
"data/dwarfplanets.ssc"
|
||||
"data/outersys.ssc"
|
||||
"data/minormoons.ssc"
|
||||
"data/numberedmoons.ssc"
|
||||
"data/extrasolar.ssc"
|
||||
"data/eros_locs.ssc"
|
||||
"data/gaspra_locs.ssc"
|
||||
"data/ida_locs.ssc"
|
||||
"data/itokawa_locs.ssc"
|
||||
"data/merc_locs.ssc"
|
||||
"data/venus_locs.ssc"
|
||||
"data/earth_locs.ssc"
|
||||
"data/mars_locs.ssc"
|
||||
"data/moon_locs.ssc"
|
||||
"data/mars_locs.ssc"
|
||||
"data/marsmoons_locs.ssc"
|
||||
"data/jupitermoons_locs.ssc"
|
||||
"data/saturnmoons_locs.ssc"
|
||||
"data/uranusmoons_locs.ssc"
|
||||
"data/neptunemoons_locs.ssc"
|
||||
"data/plutocharon_locs.ssc"
|
||||
"data/eros_locs.ssc"
|
||||
"data/gaspra_locs.ssc"
|
||||
"data/ida_locs.ssc"
|
||||
"data/itokawa_locs.ssc"
|
||||
"data/ring_locs.ssc"
|
||||
"data/world-capitals.ssc" ]
|
||||
|
||||
|
@ -82,14 +83,14 @@ StarTextures
|
|||
{
|
||||
# This texture will be used for any spectral type not listed
|
||||
# in this block.
|
||||
Default "astar.jpg"
|
||||
Default "astar.*"
|
||||
|
||||
O "bstar.*"
|
||||
O "ostar.*"
|
||||
B "bstar.*"
|
||||
A "astar.*"
|
||||
F "astar.*"
|
||||
F "fstar.*"
|
||||
G "gstar.*"
|
||||
K "gstar.*"
|
||||
K "kstar.*"
|
||||
M "mstar.*"
|
||||
|
||||
# carbon stars
|
||||
|
@ -99,18 +100,18 @@ StarTextures
|
|||
S "mstar.*" # roughly between M and C
|
||||
|
||||
# Wolf-Rayet stars
|
||||
WC "bstar.*"
|
||||
WN "bstar.*"
|
||||
WO "bstar.*"
|
||||
WC "ostar.*"
|
||||
WN "ostar.*"
|
||||
WO "ostar.*"
|
||||
|
||||
# brown dwarfs
|
||||
L "browndwarf.*"
|
||||
L "lstar.*"
|
||||
T "browndwarf.*"
|
||||
Y "browndwarf.*"
|
||||
Y "exo-class4night.*"
|
||||
|
||||
# stellar remnants
|
||||
WD "astar.jpg"
|
||||
NeutronStar "astar.jpg"
|
||||
WD "whitedwarf.*"
|
||||
NeutronStar "ostar.*"
|
||||
}
|
||||
|
||||
|
||||
|
@ -178,7 +179,7 @@ StarTextures
|
|||
#
|
||||
# To learn more about how to use and write CEL scripts and Lua scripts
|
||||
# in Celestia, please visit the Celestia Scripting forum at:
|
||||
# http://www.shatters.net/forum/viewforum.php?f=9
|
||||
# https://celestia.space/forum/viewforum.php?f=9
|
||||
#------------------------------------------------------------------------
|
||||
InitScript "start.cel"
|
||||
DemoScript "demo.cel"
|
||||
|
@ -188,7 +189,7 @@ StarTextures
|
|||
# The 'extras' directory is located under the celestia root directory
|
||||
# and is used for storing third-party add-ons to Celestia. To learn
|
||||
# more about Add-Ons for Celestia, visit the Celestia Add-Ons forum at:
|
||||
# http://celestia.space/forum/viewforum.php?f=6
|
||||
# https://celestia.space/forum/viewforum.php?f=6
|
||||
#
|
||||
# You may specify additional add-on directories by adding additional
|
||||
# entries, such as the following example shows:
|
||||
|
@ -226,16 +227,17 @@ StarTextures
|
|||
# text on the display screen. To view the list of fonts available with
|
||||
# your distribution of Celestia, look in the fonts directory located
|
||||
# under the Celestia root directory. The default fonts are UTF-8
|
||||
# compatible in order to display non-English characters.
|
||||
# compatible in order to display non-English characters. Font size is
|
||||
# measured in points to ensure the same sizes on all DPI configurations.
|
||||
#
|
||||
# Font: Used to display all informational text.
|
||||
# Default: "sans12.txf"
|
||||
# Default: "DejaVuSans.ttf,9"
|
||||
#
|
||||
# LabelFont: Used to display all label text (objects, locations, etc.).
|
||||
# Default "sans12.txf"
|
||||
# Default "DejaVuSans.ttf,9"
|
||||
#
|
||||
# TitleFont: Used to display object names, messages, and script text.
|
||||
# Default "sansbold20.txf"
|
||||
# Default "DejaVuSans-Bold.ttf,15"
|
||||
#------------------------------------------------------------------------
|
||||
Font "DejaVuSans.ttf,9"
|
||||
LabelFont "DejaVuSans.ttf,9"
|
||||
|
@ -395,4 +397,29 @@ StarTextures
|
|||
# X264EncoderOptions ""
|
||||
# FFVHEncoderOptions ""
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# The following define the measurement system Celestia uses to display
|
||||
# in HUD, available options for MeasurementSystem are `metric` and
|
||||
# `imperial`. By default, metric measurement system is used. Available
|
||||
# options for TemperatureScale are `kelvin`, `celsius`, and `fahrenheit`.
|
||||
# By default kelvin is used.
|
||||
#------------------------------------------------------------------------
|
||||
# MeasurementSystem "imperial"
|
||||
# TemperatureScale "celsius"
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
# The following options are used to configure how scenes in Celestia
|
||||
# are projected and what distortion method is used.
|
||||
# Available options for ProjectionMode are `perspective` (default) and
|
||||
# `fisheye`. Available `ViewportEffect`s (distortion methods) are `none`
|
||||
# (default), `passthrough`, and `warpmesh`.
|
||||
# For `warpmesh` viewport effect, you need to specify a warp mesh file
|
||||
# under the parameter name `WarpMeshFile`, The file should be placed
|
||||
# inside the `warp` folder.
|
||||
# File format for warp mesh: http://paulbourke.net/dataformats/meshwarp/
|
||||
#------------------------------------------------------------------------
|
||||
# ProjectionMode "fisheye"
|
||||
# ViewportEffect "warpmesh"
|
||||
# WarpMeshFile "warp.map"
|
||||
|
||||
}
|
||||
|
|
|
@ -212,6 +212,7 @@ Source: "locale\controls_zh_CN.txt"; DestDir: "{app}/locale"; Flags: ignor
|
|||
Source: "locale\controls_zh_TW.txt"; DestDir: "{app}/locale"; Flags: ignoreversion
|
||||
|
||||
Source: "locale\demo_be.cel"; DestDir: "{app}/locale"; Flags: ignoreversion
|
||||
Source: "locale\demo_bg.cel"; DestDir: "{app}/locale"; Flags: ignoreversion
|
||||
Source: "locale\demo_de.cel"; DestDir: "{app}/locale"; Flags: ignoreversion
|
||||
Source: "locale\demo_es.cel"; DestDir: "{app}/locale"; Flags: ignoreversion
|
||||
Source: "locale\demo_fr.cel"; DestDir: "{app}/locale"; Flags: ignoreversion
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
#include <charconv>
|
||||
|
||||
int main()
|
||||
{
|
||||
const char* src = "123";
|
||||
float x;
|
||||
std::from_chars_result result = std::from_chars(src, src + 3, x);
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
#include <charconv>
|
||||
|
||||
int main()
|
||||
{
|
||||
const char* src = "123";
|
||||
int x;
|
||||
std::from_chars_result result = std::from_chars(src, src + 3, x, 10);
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
#include <filesystem>
|
||||
|
||||
int main()
|
||||
{
|
||||
std::error_code ec;
|
||||
throw std::filesystem::filesystem_error("test", ec);
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
#include <experimental/filesystem>
|
||||
|
||||
int main()
|
||||
{
|
||||
std::error_code ec;
|
||||
throw std::experimental::filesystem::filesystem_error("test", ec);
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
#include <string_view>
|
||||
|
||||
int main()
|
||||
{
|
||||
std::string_view sv("test");
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
#include <experimental/string_view>
|
||||
|
||||
int main()
|
||||
{
|
||||
std::experimental::string_view sv("test");
|
||||
}
|
|
@ -6,6 +6,6 @@ function(EnableFastMath flag)
|
|||
if(MSVC)
|
||||
add_compile_options("/fp:fast")
|
||||
else()
|
||||
add_compile_options("-ffast-math")
|
||||
add_compile_options("-ffast-math -fno-finite-math-only")
|
||||
endif()
|
||||
endfunction()
|
||||
|
|
|
@ -0,0 +1,247 @@
|
|||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#[=======================================================================[.rst:
|
||||
|
||||
FindFilesystem
|
||||
##############
|
||||
|
||||
This module supports the C++17 standard library's filesystem utilities. Use the
|
||||
:imp-target:`std::filesystem` imported target to
|
||||
|
||||
Options
|
||||
*******
|
||||
|
||||
The ``COMPONENTS`` argument to this module supports the following values:
|
||||
|
||||
.. find-component:: Experimental
|
||||
:name: fs.Experimental
|
||||
|
||||
Allows the module to find the "experimental" Filesystem TS version of the
|
||||
Filesystem library. This is the library that should be used with the
|
||||
``std::experimental::filesystem`` namespace.
|
||||
|
||||
.. find-component:: Final
|
||||
:name: fs.Final
|
||||
|
||||
Finds the final C++17 standard version of the filesystem library.
|
||||
|
||||
If no components are provided, behaves as if the
|
||||
:find-component:`fs.Final` component was specified.
|
||||
|
||||
If both :find-component:`fs.Experimental` and :find-component:`fs.Final` are
|
||||
provided, first looks for ``Final``, and falls back to ``Experimental`` in case
|
||||
of failure. If ``Final`` is found, :imp-target:`std::filesystem` and all
|
||||
:ref:`variables <fs.variables>` will refer to the ``Final`` version.
|
||||
|
||||
|
||||
Imported Targets
|
||||
****************
|
||||
|
||||
.. imp-target:: std::filesystem
|
||||
|
||||
The ``std::filesystem`` imported target is defined when any requested
|
||||
version of the C++ filesystem library has been found, whether it is
|
||||
*Experimental* or *Final*.
|
||||
|
||||
If no version of the filesystem library is available, this target will not
|
||||
be defined.
|
||||
|
||||
.. note::
|
||||
This target has ``cxx_std_17`` as an ``INTERFACE``
|
||||
:ref:`compile language standard feature <req-lang-standards>`. Linking
|
||||
to this target will automatically enable C++17 if no later standard
|
||||
version is already required on the linking target.
|
||||
|
||||
|
||||
.. _fs.variables:
|
||||
|
||||
Variables
|
||||
*********
|
||||
|
||||
.. variable:: CXX_FILESYSTEM_IS_EXPERIMENTAL
|
||||
|
||||
Set to ``TRUE`` when the :find-component:`fs.Experimental` version of C++
|
||||
filesystem library was found, otherwise ``FALSE``.
|
||||
|
||||
.. variable:: CXX_FILESYSTEM_HAVE_FS
|
||||
|
||||
Set to ``TRUE`` when a filesystem header was found.
|
||||
|
||||
.. variable:: CXX_FILESYSTEM_HEADER
|
||||
|
||||
Set to either ``filesystem`` or ``experimental/filesystem`` depending on
|
||||
whether :find-component:`fs.Final` or :find-component:`fs.Experimental` was
|
||||
found.
|
||||
|
||||
.. variable:: CXX_FILESYSTEM_NAMESPACE
|
||||
|
||||
Set to either ``std::filesystem`` or ``std::experimental::filesystem``
|
||||
depending on whether :find-component:`fs.Final` or
|
||||
:find-component:`fs.Experimental` was found.
|
||||
|
||||
|
||||
Examples
|
||||
********
|
||||
|
||||
Using `find_package(Filesystem)` with no component arguments:
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
find_package(Filesystem REQUIRED)
|
||||
|
||||
add_executable(my-program main.cpp)
|
||||
target_link_libraries(my-program PRIVATE std::filesystem)
|
||||
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
|
||||
if(TARGET std::filesystem)
|
||||
# This module has already been processed. Don't do it again.
|
||||
return()
|
||||
endif()
|
||||
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
include(CMakePushCheckState)
|
||||
include(CheckIncludeFileCXX)
|
||||
|
||||
# If we're not cross-compiling, try to run test executables.
|
||||
# Otherwise, assume that compile + link is a sufficient check.
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
include(CheckCXXSourceCompiles)
|
||||
macro(_cmcm_check_cxx_source code var)
|
||||
check_cxx_source_compiles("${code}" ${var})
|
||||
endmacro()
|
||||
else()
|
||||
include(CheckCXXSourceRuns)
|
||||
macro(_cmcm_check_cxx_source code var)
|
||||
check_cxx_source_runs("${code}" ${var})
|
||||
endmacro()
|
||||
endif()
|
||||
|
||||
cmake_push_check_state()
|
||||
|
||||
set(CMAKE_REQUIRED_QUIET ${Filesystem_FIND_QUIETLY})
|
||||
|
||||
# All of our tests required C++17 or later
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
# Normalize and check the component list we were given
|
||||
set(want_components ${Filesystem_FIND_COMPONENTS})
|
||||
if(Filesystem_FIND_COMPONENTS STREQUAL "")
|
||||
set(want_components Final)
|
||||
endif()
|
||||
|
||||
# Warn on any unrecognized components
|
||||
set(extra_components ${want_components})
|
||||
list(REMOVE_ITEM extra_components Final Experimental)
|
||||
foreach(component IN LISTS extra_components)
|
||||
message(WARNING "Extraneous find_package component for Filesystem: ${component}")
|
||||
endforeach()
|
||||
|
||||
# Detect which of Experimental and Final we should look for
|
||||
set(find_experimental TRUE)
|
||||
set(find_final TRUE)
|
||||
if(NOT "Final" IN_LIST want_components)
|
||||
set(find_final FALSE)
|
||||
endif()
|
||||
if(NOT "Experimental" IN_LIST want_components)
|
||||
set(find_experimental FALSE)
|
||||
endif()
|
||||
|
||||
if(find_final)
|
||||
check_include_file_cxx("filesystem" _CXX_FILESYSTEM_HAVE_HEADER)
|
||||
mark_as_advanced(_CXX_FILESYSTEM_HAVE_HEADER)
|
||||
if(_CXX_FILESYSTEM_HAVE_HEADER)
|
||||
# We found the non-experimental header. Don't bother looking for the
|
||||
# experimental one.
|
||||
set(find_experimental FALSE)
|
||||
endif()
|
||||
else()
|
||||
set(_CXX_FILESYSTEM_HAVE_HEADER FALSE)
|
||||
endif()
|
||||
|
||||
if(find_experimental)
|
||||
check_include_file_cxx("experimental/filesystem" _CXX_FILESYSTEM_HAVE_EXPERIMENTAL_HEADER)
|
||||
mark_as_advanced(_CXX_FILESYSTEM_HAVE_EXPERIMENTAL_HEADER)
|
||||
else()
|
||||
set(_CXX_FILESYSTEM_HAVE_EXPERIMENTAL_HEADER FALSE)
|
||||
endif()
|
||||
|
||||
if(_CXX_FILESYSTEM_HAVE_HEADER)
|
||||
set(_have_fs TRUE)
|
||||
set(_fs_header filesystem)
|
||||
set(_fs_namespace std::filesystem)
|
||||
set(_is_experimental FALSE)
|
||||
elseif(_CXX_FILESYSTEM_HAVE_EXPERIMENTAL_HEADER)
|
||||
set(_have_fs TRUE)
|
||||
set(_fs_header experimental/filesystem)
|
||||
set(_fs_namespace std::experimental::filesystem)
|
||||
set(_is_experimental TRUE)
|
||||
else()
|
||||
set(_have_fs FALSE)
|
||||
endif()
|
||||
|
||||
set(CXX_FILESYSTEM_HAVE_FS ${_have_fs} CACHE BOOL "TRUE if we have the C++ filesystem headers")
|
||||
set(CXX_FILESYSTEM_HEADER ${_fs_header} CACHE STRING "The header that should be included to obtain the filesystem APIs")
|
||||
set(CXX_FILESYSTEM_NAMESPACE ${_fs_namespace} CACHE STRING "The C++ namespace that contains the filesystem APIs")
|
||||
set(CXX_FILESYSTEM_IS_EXPERIMENTAL ${_is_experimental} CACHE BOOL "TRUE if the C++ filesystem library is the experimental version")
|
||||
|
||||
set(_found FALSE)
|
||||
|
||||
if(CXX_FILESYSTEM_HAVE_FS)
|
||||
# We have some filesystem library available. Do link checks
|
||||
string(CONFIGURE [[
|
||||
#include <cstdlib>
|
||||
#include <@CXX_FILESYSTEM_HEADER@>
|
||||
|
||||
int main() {
|
||||
auto cwd = @CXX_FILESYSTEM_NAMESPACE@::current_path();
|
||||
printf("%s", cwd.c_str());
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
]] code @ONLY)
|
||||
|
||||
# Check a simple filesystem program without any linker flags
|
||||
_cmcm_check_cxx_source("${code}" CXX_FILESYSTEM_NO_LINK_NEEDED)
|
||||
|
||||
set(can_link ${CXX_FILESYSTEM_NO_LINK_NEEDED})
|
||||
|
||||
if(NOT CXX_FILESYSTEM_NO_LINK_NEEDED)
|
||||
set(prev_libraries ${CMAKE_REQUIRED_LIBRARIES})
|
||||
# Add the libstdc++ flag
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${prev_libraries} -lstdc++fs)
|
||||
_cmcm_check_cxx_source("${code}" CXX_FILESYSTEM_STDCPPFS_NEEDED)
|
||||
set(can_link ${CXX_FILESYSTEM_STDCPPFS_NEEDED})
|
||||
if(NOT CXX_FILESYSTEM_STDCPPFS_NEEDED)
|
||||
# Try the libc++ flag
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${prev_libraries} -lc++fs)
|
||||
_cmcm_check_cxx_source("${code}" CXX_FILESYSTEM_CPPFS_NEEDED)
|
||||
set(can_link ${CXX_FILESYSTEM_CPPFS_NEEDED})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(can_link)
|
||||
add_library(std::filesystem INTERFACE IMPORTED)
|
||||
set_property(TARGET std::filesystem APPEND PROPERTY INTERFACE_COMPILE_FEATURES cxx_std_17)
|
||||
set(_found TRUE)
|
||||
|
||||
if(CXX_FILESYSTEM_NO_LINK_NEEDED)
|
||||
# Nothing to add...
|
||||
elseif(CXX_FILESYSTEM_STDCPPFS_NEEDED)
|
||||
set_property(TARGET std::filesystem APPEND PROPERTY INTERFACE_LINK_LIBRARIES -lstdc++fs)
|
||||
elseif(CXX_FILESYSTEM_CPPFS_NEEDED)
|
||||
set_property(TARGET std::filesystem APPEND PROPERTY INTERFACE_LINK_LIBRARIES -lc++fs)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_pop_check_state()
|
||||
|
||||
set(Filesystem_FOUND ${_found} CACHE BOOL "TRUE if we can run a program using std::filesystem" FORCE)
|
||||
|
||||
if(Filesystem_FIND_REQUIRED AND NOT Filesystem_FOUND)
|
||||
message(FATAL_ERROR "Cannot run simple program using std::filesystem")
|
||||
endif()
|
|
@ -0,0 +1,59 @@
|
|||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# FindLibavif
|
||||
# --------
|
||||
#
|
||||
# Find the avif headers and libraries.
|
||||
#
|
||||
# This module reports information about the avif
|
||||
# installation in several variables. General variables::
|
||||
#
|
||||
# LIBAVIF_FOUND - true if the avif headers and libraries were found
|
||||
# LIBAVIF_INCLUDE_DIRS - the directory containing the avif headers
|
||||
# LIBAVIF_LIBRARIES - avif libraries to be linked
|
||||
#
|
||||
# The following cache variables may also be set::
|
||||
#
|
||||
# LIBAVIF_INCLUDE_DIR - the directory containing the avif headers
|
||||
# LIBAVIF_LIBRARY - the avif library (if any)
|
||||
|
||||
# Find include directory
|
||||
|
||||
# TODO: use pkgconfig
|
||||
|
||||
find_path(LIBAVIF_INCLUDE_DIR
|
||||
NAMES avif/avif.h
|
||||
HINTS LIBAVIF_DIR
|
||||
DOC "avif headers")
|
||||
mark_as_advanced(LIBAVIF_INCLUDE_DIR)
|
||||
|
||||
find_library(LIBAVIF_LIBRARY
|
||||
NAMES avif
|
||||
HINTS LIBAVIF_DIR
|
||||
DOC "avif libraries")
|
||||
mark_as_advanced(LIBAVIF_LIBRARY)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(Libavif
|
||||
FOUND_VAR LIBAVIF_FOUND
|
||||
REQUIRED_VARS LIBAVIF_INCLUDE_DIR LIBAVIF_LIBRARY
|
||||
FAIL_MESSAGE "Failed to find avif")
|
||||
|
||||
if(LIBAVIF_FOUND)
|
||||
set(LIBAVIF_INCLUDE_DIRS "${LIBAVIF_INCLUDE_DIR}")
|
||||
if(LIBAVIF_LIBRARY)
|
||||
set(LIBAVIF_LIBRARIES "${LIBAVIF_LIBRARY}")
|
||||
else()
|
||||
unset(LIBAVIF_LIBRARIES)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET libavif::libavif)
|
||||
add_library(libavif::libavif UNKNOWN IMPORTED)
|
||||
set_target_properties(libavif::libavif PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${LIBAVIF_INCLUDE_DIRS}")
|
||||
set_target_properties(libavif::libavif PROPERTIES
|
||||
IMPORTED_LOCATION "${LIBAVIF_LIBRARY}")
|
||||
endif()
|
||||
endif()
|
|
@ -3,7 +3,8 @@ macro(test_case)
|
|||
set(libs ${ARGV})
|
||||
list(REMOVE_AT libs 0 0)
|
||||
|
||||
add_executable(${trgt} "${trgt}_test.cpp")
|
||||
add_executable(${trgt} $<TARGET_OBJECTS:catch_main> "${trgt}_test.cpp")
|
||||
target_include_directories(${trgt} PRIVATE "${CMAKE_SOURCE_DIR}/test/common")
|
||||
target_link_libraries(${trgt} PRIVATE celestia ${libs})
|
||||
add_test(${trgt} ${trgt})
|
||||
set_target_properties(${trgt} PROPERTIES FOLDER test/unit)
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
function(_WINDRES_GET_UNIQUE_TARGET_NAME _name _unique_name)
|
||||
set(propertyName "_WINDRES_UNIQUE_COUNTER_${_name}")
|
||||
get_property(currentCounter GLOBAL PROPERTY "${propertyName}")
|
||||
if(NOT currentCounter)
|
||||
set(currentCounter 1)
|
||||
endif()
|
||||
set(${_unique_name} "${_name}_${currentCounter}" PARENT_SCOPE)
|
||||
math(EXPR currentCounter "${currentCounter} + 1")
|
||||
set_property(GLOBAL PROPERTY ${propertyName} ${currentCounter} )
|
||||
endfunction()
|
||||
|
||||
macro(WINDRES_CREATE_TRANSLATIONS _rcFile _firstPoFileArg)
|
||||
# make it a real variable, so we can modify it here
|
||||
set(_firstPoFile "${_firstPoFileArg}")
|
||||
|
||||
set(_addToAll)
|
||||
if(${_firstPoFile} STREQUAL "ALL")
|
||||
set(_addToAll "ALL")
|
||||
set(_firstPoFile)
|
||||
endif()
|
||||
|
||||
set(_dllFiles)
|
||||
foreach(_currentPoFile ${_firstPoFile} ${ARGN})
|
||||
get_filename_component(_absFile ${_currentPoFile} ABSOLUTE)
|
||||
get_filename_component(_lang ${_absFile} NAME_WE)
|
||||
set(_locRcFile ${CMAKE_CURRENT_BINARY_DIR}/celestia_${_lang}.rc)
|
||||
set(_dllFile res_${_lang})
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${_locRcFile}
|
||||
COMMAND perl ${CMAKE_SOURCE_DIR}/po/translate_resources.pl ${_lang}
|
||||
DEPENDS ${_absFile}
|
||||
)
|
||||
|
||||
add_library(${_dllFile} MODULE ${_locRcFile})
|
||||
set_target_properties(${_dllFile} PROPERTIES PREFIX "" LINKER_LANGUAGE C)
|
||||
if(MSVC)
|
||||
set_target_properties(${_dllFile} PROPERTIES LINK_FLAGS "/MANIFEST:NO /NODEFAULTLIB /NOENTRY")
|
||||
endif()
|
||||
|
||||
install(TARGETS ${_dllFile} LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
set(_dllFiles ${_dllFiles} ${_dllFile})
|
||||
endforeach()
|
||||
|
||||
if(NOT TARGET resources)
|
||||
add_custom_target(resources)
|
||||
endif()
|
||||
|
||||
_WINDRES_GET_UNIQUE_TARGET_NAME(resources uniqueTargetName)
|
||||
add_custom_target(${uniqueTargetName} ${_addToAll} DEPENDS ${_dllFiles})
|
||||
add_dependencies(resources ${uniqueTargetName})
|
||||
endmacro()
|
|
@ -1,6 +1,7 @@
|
|||
#cmakedefine HAVE_BYTESWAP_H
|
||||
#cmakedefine HAVE_FILESYSTEM
|
||||
#cmakedefine HAVE_EXPERIMENTAL_FILESYSTEM
|
||||
#cmakedefine HAVE_STRING_VIEW
|
||||
#cmakedefine HAVE_EXPERIMENTAL_STRING_VIEW
|
||||
#cmakedefine HAVE_CHARCONV
|
||||
#cmakedefine HAVE_FLOAT_CHARCONV
|
||||
#cmakedefine HAVE_STD_FILESYSTEM
|
||||
#cmakedefine HAVE_WORDEXP
|
||||
#cmakedefine HAVE_MESHOPTIMIZER
|
||||
#cmakedefine WORDS_BIGENDIAN
|
||||
|
|
1
content
1
content
|
@ -1 +0,0 @@
|
|||
Subproject commit 7012d92a37b240a53ce8d445907d4b2d32433e5a
|
|
@ -1,3 +1,5 @@
|
|||
README
|
||||
README.md
|
||||
README-upstream
|
||||
README-upstream.md
|
||||
AUTHORS
|
||||
TRANSLATORS
|
||||
|
|
|
@ -12,7 +12,7 @@ usr/bin/3dstocmod
|
|||
usr/bin/cmodfix
|
||||
usr/bin/txt2cmod
|
||||
usr/bin/cmodsphere
|
||||
usr/bin/qttxf
|
||||
#usr/bin/qttxf
|
||||
#usr/bin/spice2xyzv
|
||||
usr/bin/vsoptrunc-rect
|
||||
usr/bin/vsoptrunc-sph
|
||||
|
|
|
@ -1,3 +1,16 @@
|
|||
celestia (1.7.0~git20220520+1) UNRELEASED; urgency=medium
|
||||
|
||||
* Fix control character ^M in perl scripts.
|
||||
|
||||
-- Jeff Moe <moe@spacecruft.org> Fri, 20 May 2022 21:02:00 -0600
|
||||
|
||||
celestia (1.7.0~git20220520+0) UNRELEASED; urgency=medium
|
||||
|
||||
* New snapshot build.
|
||||
* Remove missing qttxf.
|
||||
|
||||
-- Jeff Moe <moe@spacecruft.org> Fri, 20 May 2022 19:55:59 -0600
|
||||
|
||||
celestia (1.7.0~git20190807+d9746691+0) UNRELEASED; urgency=medium
|
||||
|
||||
* New snapshot build
|
||||
|
|
|
@ -5,6 +5,7 @@ Maintainer: Hleb Valoshka <375gnu@gmail.com>
|
|||
Build-Depends: debhelper (>= 10~),
|
||||
chrpath,
|
||||
cmake (>= 3.1~),
|
||||
dos2unix,
|
||||
freeglut3-dev,
|
||||
libeigen3-dev (>= 3.3~),
|
||||
libfmt-dev (>= 4),
|
||||
|
|
|
@ -26,6 +26,8 @@ override_dh_auto_configure:
|
|||
|
||||
|
||||
override_dh_install:
|
||||
dos2unix ./src/tools/stardb/buildstardb.pl
|
||||
dos2unix ./src/tools/xindex/buildxindices.pl
|
||||
find debian/tmp/usr/bin/ -type f ! -name *.pl -exec chrpath --delete {} ';'
|
||||
chrpath --delete debian/tmp/usr/lib/*/libcelestia.so.*
|
||||
dh_install --fail-missing
|
||||
|
|
11
devguide.txt
11
devguide.txt
|
@ -106,18 +106,9 @@ File Overview
|
|||
Astronomical conversions and a Date class for converting from dd/mm/yyyy
|
||||
to Julian date.
|
||||
|
||||
* vecmath.h
|
||||
Templatized classes for Points, Vectors, and Matrices
|
||||
|
||||
* quaternion.h
|
||||
Templatized quaternion class
|
||||
|
||||
* vecgl.h
|
||||
A handful of template functions which make it easy to use types from
|
||||
vecmath.h with OpenGL
|
||||
|
||||
* aabox.h
|
||||
Axis-aligned bounding box class.
|
||||
Eigen with OpenGL
|
||||
|
||||
* glext.h
|
||||
* glext.cpp
|
||||
|
|
|
@ -840,10 +840,6 @@ EXCLUDE = src/packdb.cpp \
|
|||
src/celmath/plane.h \
|
||||
src/celmath/quaternion.h \
|
||||
src/celmath/vecmath.h \
|
||||
src/celengine/particlesystem.cpp \
|
||||
src/celengine/particlesystem.h \
|
||||
src/celengine/particlesystemfile.cpp \
|
||||
src/celengine/particlesystemfile.h \
|
||||
src/celengine/vertexbuf.h \
|
||||
src/celtxf/*.*
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
fonts/helv10.txf
BIN
fonts/helv10.txf
Binary file not shown.
BIN
fonts/helv12.txf
BIN
fonts/helv12.txf
Binary file not shown.
BIN
fonts/helv18.txf
BIN
fonts/helv18.txf
Binary file not shown.
BIN
fonts/helv24.txf
BIN
fonts/helv24.txf
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
fonts/sans10.txf
BIN
fonts/sans10.txf
Binary file not shown.
Binary file not shown.
BIN
fonts/sans12.txf
BIN
fonts/sans12.txf
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
fonts/sans14.txf
BIN
fonts/sans14.txf
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
fonts/sans20.txf
BIN
fonts/sans20.txf
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,275 @@
|
|||
//** Animated Collapsible DIV v2.0- (c) Dynamic Drive DHTML code library: http://www.dynamicdrive.com.
|
||||
//** May 24th, 08'- Script rewritten and updated to 2.0.
|
||||
//** June 4th, 08'- Version 2.01: Bug fix to work with jquery 1.2.6 (which changed the way attr() behaves).
|
||||
|
||||
var animatedcollapse={
|
||||
divholders: {}, //structure: {div.id, div.attrs, div.$divref}
|
||||
divgroups: {}, //structure: {groupname.count, groupname.lastactivedivid}
|
||||
lastactiveingroup: {}, //structure: {lastactivediv.id}
|
||||
|
||||
show:function(divids){ //public method
|
||||
if (typeof divids=="object"){
|
||||
for (var i=0; i<divids.length; i++)
|
||||
this.showhide(divids[i], "show")
|
||||
}
|
||||
else
|
||||
this.showhide(divids, "show")
|
||||
},
|
||||
|
||||
hide:function(divids){ //public method
|
||||
if (typeof divids=="object"){
|
||||
for (var i=0; i<divids.length; i++)
|
||||
this.showhide(divids[i], "hide")
|
||||
}
|
||||
else
|
||||
this.showhide(divids, "hide")
|
||||
},
|
||||
|
||||
toggle:function(divid){ //public method
|
||||
this.showhide(divid, "toggle")
|
||||
},
|
||||
|
||||
addDiv:function(divid, attrstring){ //public function
|
||||
this.divholders[divid]=({id: divid, $divref: null, attrs: attrstring})
|
||||
this.divholders[divid].getAttr=function(name){ //assign getAttr() function to each divholder object
|
||||
var attr=new RegExp(name+"=([^,]+)", "i") //get name/value config pair (ie: width=400px,)
|
||||
return (attr.test(this.attrs) && parseInt(RegExp.$1)!=0)? RegExp.$1 : null //return value portion (string), or 0 (false) if none found
|
||||
}
|
||||
},
|
||||
|
||||
showhide:function(divid, action){
|
||||
var $divref=this.divholders[divid].$divref //reference collapsible DIV
|
||||
if (this.divholders[divid] && $divref.length==1){ //if DIV exists
|
||||
var targetgroup=this.divgroups[$divref.attr('groupname')] //find out which group DIV belongs to (if any)
|
||||
if ($divref.attr('groupname') && targetgroup.count>1 && (action=="show" || action=="toggle" && $divref.css('display')=='none')){ //If current DIV belongs to a group
|
||||
if (targetgroup.lastactivedivid && targetgroup.lastactivedivid!=divid) //if last active DIV is set
|
||||
this.slideengine(targetgroup.lastactivedivid, 'hide') //hide last active DIV within group first
|
||||
this.slideengine(divid, 'show')
|
||||
targetgroup.lastactivedivid=divid //remember last active DIV
|
||||
}
|
||||
else{
|
||||
this.slideengine(divid, action)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
slideengine:function(divid, action){
|
||||
var $divref=this.divholders[divid].$divref
|
||||
if (this.divholders[divid] && $divref.length==1){ //if this DIV exists
|
||||
var animateSetting={height: action}
|
||||
if ($divref.attr('fade'))
|
||||
animateSetting.opacity=action
|
||||
$divref.animate(animateSetting, $divref.attr('speed')? parseInt($divref.attr('speed')) : 500)
|
||||
return false
|
||||
}
|
||||
},
|
||||
|
||||
generatemap:function(){
|
||||
var map={}
|
||||
for (var i=0; i<arguments.length; i++){
|
||||
if (arguments[i][1]!=null){
|
||||
map[arguments[i][0]]=arguments[i][1]
|
||||
}
|
||||
}
|
||||
return map
|
||||
},
|
||||
|
||||
init:function(){
|
||||
var ac=this
|
||||
jQuery(document).ready(function($){
|
||||
var persistopenids=ac.getCookie('acopendivids') //Get list of div ids that should be expanded due to persistence ('div1,div2,etc')
|
||||
var groupswithpersist=ac.getCookie('acgroupswithpersist') //Get list of group names that have 1 or more divs with "persist" attribute defined
|
||||
if (persistopenids!=null) //if cookie isn't null (is null if first time page loads, and cookie hasnt been set yet)
|
||||
persistopenids=(persistopenids=='nada')? [] : persistopenids.split(',') //if no divs are persisted, set to empty array, else, array of div ids
|
||||
groupswithpersist=(groupswithpersist==null || groupswithpersist=='nada')? [] : groupswithpersist.split(',') //Get list of groups with divs that are persisted
|
||||
jQuery.each(ac.divholders, function(){ //loop through each collapsible DIV object
|
||||
this.$divref=$('#'+this.id)
|
||||
if ((this.getAttr('persist') || jQuery.inArray(this.getAttr('group'), groupswithpersist)!=-1) && persistopenids!=null){
|
||||
var cssdisplay=(jQuery.inArray(this.id, persistopenids)!=-1)? 'block' : 'none'
|
||||
}
|
||||
else{
|
||||
var cssdisplay=this.getAttr('hide')? 'none' : null
|
||||
}
|
||||
this.$divref.css(ac.generatemap(['height', this.getAttr('height')], ['display', cssdisplay]))
|
||||
this.$divref.attr(ac.generatemap(['groupname', this.getAttr('group')], ['fade', this.getAttr('fade')], ['speed', this.getAttr('speed')]))
|
||||
if (this.getAttr('group')){ //if this DIV has the "group" attr defined
|
||||
var targetgroup=ac.divgroups[this.getAttr('group')] || (ac.divgroups[this.getAttr('group')]={}) //Get settings for this group, or if it no settings exist yet, create blank object to store them in
|
||||
targetgroup.count=(targetgroup.count||0)+1 //count # of DIVs within this group
|
||||
if (!targetgroup.lastactivedivid && this.$divref.css('display')!='none' || cssdisplay=="block") //if this DIV was open by default or should be open due to persistence
|
||||
targetgroup.lastactivedivid=this.id //remember this DIV as the last "active" DIV (this DIV will be expanded)
|
||||
this.$divref.css({display:'none'}) //hide any DIV that's part of said group for now
|
||||
}
|
||||
}) //end divholders.each
|
||||
jQuery.each(ac.divgroups, function(){ //loop through each group
|
||||
if (this.lastactivedivid)
|
||||
ac.divholders[this.lastactivedivid].$divref.show() //and show last "active" DIV within each group (one that should be expanded)
|
||||
})
|
||||
var $allcontrols=$('*[rel]').filter('[@rel^="collapse-"], [@rel^="expand-"], [@rel^="toggle-"]') //get all elements on page with rel="collapse-", "expand-" and "toggle-"
|
||||
var controlidentifiers=/(collapse-)|(expand-)|(toggle-)/
|
||||
$allcontrols.each(function(){
|
||||
$(this).click(function(){
|
||||
var relattr=this.getAttribute('rel')
|
||||
var divid=relattr.replace(controlidentifiers, '')
|
||||
var doaction=(relattr.indexOf("collapse-")!=-1)? "hide" : (relattr.indexOf("expand-")!=-1)? "show" : "toggle"
|
||||
return ac.showhide(divid, doaction)
|
||||
}) //end control.click
|
||||
})// end control.each
|
||||
$(window).bind('unload', function(){
|
||||
ac.uninit()
|
||||
})
|
||||
}) //end doc.ready()
|
||||
},
|
||||
|
||||
uninit:function(){
|
||||
var opendivids='', groupswithpersist=''
|
||||
jQuery.each(this.divholders, function(){
|
||||
if (this.$divref.css('display')!='none'){
|
||||
opendivids+=this.id+',' //store ids of DIVs that are expanded when page unloads: 'div1,div2,etc'
|
||||
}
|
||||
if (this.getAttr('group') && this.getAttr('persist'))
|
||||
groupswithpersist+=this.getAttr('group')+',' //store groups with which at least one DIV has persistance enabled: 'group1,group2,etc'
|
||||
})
|
||||
opendivids=(opendivids=='')? 'nada' : opendivids.replace(/,$/, '')
|
||||
groupswithpersist=(groupswithpersist=='')? 'nada' : groupswithpersist.replace(/,$/, '')
|
||||
this.setCookie('acopendivids', opendivids)
|
||||
this.setCookie('acgroupswithpersist', groupswithpersist)
|
||||
},
|
||||
|
||||
getCookie:function(Name){
|
||||
var re=new RegExp(Name+"=[^;]*", "i"); //construct RE to search for target name/value pair
|
||||
if (document.cookie.match(re)) //if cookie found
|
||||
return document.cookie.match(re)[0].split("=")[1] //return its value
|
||||
return null
|
||||
},
|
||||
|
||||
setCookie:function(name, value, days){
|
||||
if (typeof days!="undefined"){ //if set persistent cookie
|
||||
var expireDate = new Date()
|
||||
expireDate.setDate(expireDate.getDate()+days)
|
||||
document.cookie = name+"="+value+"; path=/; expires="+expireDate.toGMTString()
|
||||
}
|
||||
else //else if this is a session only cookie
|
||||
document.cookie = name+"="+value+"; path=/"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ,height=220px
|
||||
animatedcollapse.addDiv('controlchild', 'fade=1')
|
||||
animatedcollapse.addDiv('keyboardchild', 'fade=1')
|
||||
animatedcollapse.addDiv('faqchild', 'fade=1')
|
||||
|
||||
animatedcollapse.addDiv('usermodifiable', 'fade=1')
|
||||
animatedcollapse.addDiv('knownissues', 'fade=1')
|
||||
animatedcollapse.addDiv('byname', 'fade=1')
|
||||
animatedcollapse.addDiv('solbrowser', 'fade=1')
|
||||
animatedcollapse.addDiv('gettingstarted', 'fade=1')
|
||||
animatedcollapse.addDiv('installing', 'fade=1')
|
||||
|
||||
|
||||
animatedcollapse.addDiv('faq1', 'fade=1')
|
||||
animatedcollapse.addDiv('faq2', 'fade=1')
|
||||
animatedcollapse.addDiv('faq3', 'fade=1')
|
||||
animatedcollapse.addDiv('faq4', 'fade=1')
|
||||
animatedcollapse.addDiv('faq5', 'fade=1')
|
||||
animatedcollapse.addDiv('faq6', 'fade=1')
|
||||
animatedcollapse.addDiv('faq7', 'fade=1')
|
||||
animatedcollapse.addDiv('faq8', 'fade=1')
|
||||
animatedcollapse.addDiv('faq9', 'fade=1')
|
||||
animatedcollapse.addDiv('faq10', 'fade=1')
|
||||
animatedcollapse.addDiv('faq11', 'fade=1')
|
||||
animatedcollapse.addDiv('faq12', 'fade=1')
|
||||
animatedcollapse.addDiv('faq13', 'fade=1')
|
||||
animatedcollapse.addDiv('faq14', 'fade=1')
|
||||
animatedcollapse.addDiv('faq15', 'fade=1')
|
||||
animatedcollapse.addDiv('faq16', 'fade=1')
|
||||
animatedcollapse.addDiv('faq17', 'fade=1')
|
||||
animatedcollapse.addDiv('faq18', 'fade=1')
|
||||
animatedcollapse.addDiv('faq19', 'fade=1')
|
||||
animatedcollapse.addDiv('faq20', 'fade=1')
|
||||
animatedcollapse.addDiv('faq21', 'fade=1')
|
||||
animatedcollapse.addDiv('faq22', 'fade=1')
|
||||
animatedcollapse.addDiv('faq23', 'fade=1')
|
||||
animatedcollapse.addDiv('faq24', 'fade=1')
|
||||
animatedcollapse.addDiv('faq25', 'fade=1')
|
||||
animatedcollapse.addDiv('faq26', 'fade=1')
|
||||
animatedcollapse.addDiv('faq27', 'fade=1')
|
||||
animatedcollapse.addDiv('faq28', 'fade=1')
|
||||
animatedcollapse.addDiv('faq29', 'fade=1')
|
||||
animatedcollapse.addDiv('faq30', 'fade=1')
|
||||
animatedcollapse.addDiv('faq31', 'fade=1')
|
||||
animatedcollapse.addDiv('faq32', 'fade=1')
|
||||
animatedcollapse.addDiv('faq33', 'fade=1')
|
||||
animatedcollapse.addDiv('faq34', 'fade=1')
|
||||
animatedcollapse.addDiv('faq35', 'fade=1')
|
||||
animatedcollapse.addDiv('faq36', 'fade=1')
|
||||
animatedcollapse.addDiv('faq37', 'fade=1')
|
||||
animatedcollapse.addDiv('faq38', 'fade=1')
|
||||
animatedcollapse.addDiv('faq39', 'fade=1')
|
||||
animatedcollapse.addDiv('faq40', 'fade=1')
|
||||
animatedcollapse.addDiv('faq41', 'fade=1')
|
||||
animatedcollapse.addDiv('faq42', 'fade=1')
|
||||
animatedcollapse.addDiv('faq43', 'fade=1')
|
||||
animatedcollapse.addDiv('faq44', 'fade=1')
|
||||
animatedcollapse.addDiv('faq45', 'fade=1')
|
||||
animatedcollapse.addDiv('faq46', 'fade=1')
|
||||
animatedcollapse.addDiv('faq47', 'fade=1')
|
||||
animatedcollapse.addDiv('faq48', 'fade=1')
|
||||
animatedcollapse.addDiv('faq49', 'fade=1')
|
||||
|
||||
animatedcollapse.addDiv('gnu', 'fade=1')
|
||||
animatedcollapse.addDiv('contributors', 'fade=1')
|
||||
animatedcollapse.addDiv('authors', 'fade=1')
|
||||
animatedcollapse.addDiv('documentation', 'fade=1')
|
||||
animatedcollapse.addDiv('database', 'fade=1')
|
||||
animatedcollapse.addDiv('maps', 'fade=1')
|
||||
animatedcollapse.addDiv('models', 'fade=1')
|
||||
animatedcollapse.addDiv('libraries', 'fade=1')
|
||||
animatedcollapse.addDiv('other', 'fade=1')
|
||||
|
||||
animatedcollapse.init()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 5.4 KiB |
|
@ -0,0 +1,477 @@
|
|||
|
||||
BODY {
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
background-color : #ffffff;
|
||||
font-family: verdana, arial, helvetica, sans-serif;
|
||||
font-size: 80%;
|
||||
line-height: 120%;
|
||||
font-weight: normal;
|
||||
color : #000000;
|
||||
text-decoration: none;
|
||||
background: url(menu.gif) top left;
|
||||
background-repeat:repeat-y;
|
||||
background-position: -60px 0px;
|
||||
}
|
||||
|
||||
A:link, A:visited, A:active {
|
||||
color:navy; /* A:visited{ color:#555555; } */
|
||||
text-decoration:none;
|
||||
cursor:pointer;
|
||||
}
|
||||
A:hover {
|
||||
color:orange;
|
||||
text-decoration: none;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
/* Font fixes for IE 5 and 6 */
|
||||
* html body {
|
||||
font-size: 50%; /* IE5 */
|
||||
line-height: 65%;
|
||||
f\ont-size: 60%; /* IE6 */
|
||||
l\ine-height: 120%;
|
||||
}
|
||||
/* Menu anti-scrolling bugfix for IE 6 */
|
||||
|
||||
/* html, body {
|
||||
height: 100%; overflow: auto;
|
||||
}
|
||||
*/
|
||||
|
||||
/* PAGE SETUP --------------------------------------------------------- */
|
||||
|
||||
|
||||
#top {
|
||||
left:0px;
|
||||
top:0px;
|
||||
width:0px;
|
||||
height:0px;
|
||||
position:absolute;
|
||||
overflow:hidden;
|
||||
z-index:0;
|
||||
}
|
||||
|
||||
|
||||
#logo {
|
||||
margin-bottom:10px;
|
||||
margin-top:20px;
|
||||
margin-left:30px;
|
||||
}
|
||||
#guidepix {
|
||||
margin-bottom:10px;
|
||||
margin-left:30px;
|
||||
margin-top:20px;
|
||||
}
|
||||
|
||||
#page-left {
|
||||
width:253px;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
#page-right {
|
||||
padding-left:1px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* MAIN LEFT-HAND MENU ------------------------------------------------ */
|
||||
|
||||
#mainmenu{
|
||||
width:253px;
|
||||
overflow:hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
left:0px;
|
||||
top:0px;
|
||||
position:fixed; /* absolute */
|
||||
z-index:3;
|
||||
background:#ffffff;
|
||||
}
|
||||
|
||||
|
||||
.item, .itemParent {
|
||||
margin-left:30px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
margin-top:0px;
|
||||
margin-bottom:7px;
|
||||
font-size:95%;
|
||||
line-height:120%;
|
||||
}
|
||||
|
||||
.item {}
|
||||
.itemParent {}
|
||||
|
||||
.itemChild {
|
||||
padding-left:10px;
|
||||
font-size:90%;
|
||||
line-height:130%;
|
||||
margin-top:5px;
|
||||
background: url(none)
|
||||
}
|
||||
|
||||
.itemChild .itemChild {
|
||||
margin-top:1px;
|
||||
background: url(none);
|
||||
}
|
||||
|
||||
.item a, .item a:visited, .itemParent a, .itemParent a:visited {
|
||||
color:#000000;
|
||||
cursor:pointer;
|
||||
background: url(bullet2.gif) top left;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 0px;
|
||||
padding-left:17px;
|
||||
}
|
||||
.item a:hover, .itemParent a:hover {
|
||||
color:orange;
|
||||
cursor:pointer;
|
||||
background: url(bullet.gif) top left;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 0px;
|
||||
padding-left:17px;
|
||||
}
|
||||
|
||||
.itemParent .itemChild a, .itemParent .itemChild a:hover, .itemParent .itemChild .itemChild a, .itemParent .itemChild .itemChild a:hover, .itemParent .itemChild a:visited, .itemParent .itemChild .itemChild a:visited {
|
||||
background: url(none);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* FONTS ------------------------------------------------ */
|
||||
|
||||
h1 {
|
||||
font-size:130%;
|
||||
line-height:140%;
|
||||
margin:0px;
|
||||
margin-bottom:20px;
|
||||
padding-bottom:3px;
|
||||
padding-top:1px;
|
||||
font-weight:normal;
|
||||
background: url(h1.gif) top left;
|
||||
background-repeat:repeat-x;
|
||||
color:#000066;
|
||||
font-family:georgia,times new roman,serif;
|
||||
}
|
||||
#page-right h1 {padding-left:30px;}
|
||||
#page-left h1 {padding-left:30px;}
|
||||
|
||||
|
||||
.txtcontent {
|
||||
margin-left:30px;
|
||||
margin-right:30px;
|
||||
font-size:90%;
|
||||
margin-bottom:20px;
|
||||
max-width:800px;
|
||||
}
|
||||
|
||||
.txtcontent h2 {
|
||||
font-size:130%;
|
||||
line-height:140%;
|
||||
margin-bottom:3px;
|
||||
margin-top:0px;
|
||||
font-weight:normal;
|
||||
color:#555555;
|
||||
}
|
||||
|
||||
.txtcontent h3 {
|
||||
font-size:110%;
|
||||
line-height:120%;
|
||||
margin-bottom:1px;
|
||||
margin-top:0px;
|
||||
}
|
||||
|
||||
.txtcontent table h3 {
|
||||
font-weight:normal;
|
||||
}
|
||||
|
||||
.list {
|
||||
width:720px;
|
||||
border:1px #dfe5ed solid;
|
||||
}
|
||||
.list-table {
|
||||
width:720px;
|
||||
}
|
||||
|
||||
.txtcontent .list h2{
|
||||
font-size:110%;
|
||||
line-height:120%;
|
||||
margin-bottom:1px;
|
||||
margin-top:0px;
|
||||
padding-bottom:6px;
|
||||
padding-top:5px;
|
||||
border-bottom:1px #dfe5ed solid;
|
||||
background: url(sub.gif) top left;
|
||||
background-repeat:repeat-x;
|
||||
padding-left:5px;
|
||||
color:#555555;
|
||||
margin-bottom:5px;
|
||||
}
|
||||
|
||||
.txtcontent .list h2 a, .txtcontent .list h2 a:hover {color:#555555;}
|
||||
|
||||
.txtcontent .list ol {
|
||||
margin-top:0px;
|
||||
padding-top:0px;
|
||||
margin-bottom:0px;
|
||||
padding-bottom:0px;
|
||||
}
|
||||
|
||||
.txtcontent .list ol li {
|
||||
padding-bottom:5px;
|
||||
font-weight:bold;
|
||||
color:#000066;
|
||||
padding-right:20px;
|
||||
}
|
||||
.txtcontent .list ol li a , ol li a :visited {
|
||||
font-weight:normal;
|
||||
color:#000000;
|
||||
}
|
||||
.txtcontent .list ol li a:hover {
|
||||
font-weight:normal;
|
||||
color:orange;
|
||||
cursor:pointer;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
.txtcontent .list ol li ul li {
|
||||
padding-bottom:5px;
|
||||
font-weight:normal;
|
||||
color:#000000;
|
||||
padding-right:20px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#page-right table {
|
||||
margin-bottom:30px;
|
||||
}
|
||||
|
||||
.titlecell{
|
||||
padding-bottom:4px;
|
||||
padding-top:30px;
|
||||
border-bottom:1px #dfe5ed solid;
|
||||
color:#000066;
|
||||
}
|
||||
.titlecell a,.titlecell a:hover, .subtitlecell a, .subtitlecell a:hover {color:#555555;}
|
||||
|
||||
.subtitlecell {
|
||||
padding-bottom:5px;
|
||||
padding-top:5px;
|
||||
border-bottom:1px #dfe5ed solid;
|
||||
border-left:1px #dfe5ed solid;
|
||||
border-right:1px #dfe5ed solid;
|
||||
background: url(sub.gif) top left;
|
||||
background-repeat:repeat-x;
|
||||
padding-left:5px;
|
||||
color:#000066;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.leftcell {
|
||||
color:#000066;
|
||||
padding-right:10px;
|
||||
padding-bottom:4px;
|
||||
padding-top:4px;
|
||||
font-weight:bold;
|
||||
border-bottom:1px #dfe5ed solid;
|
||||
border-left:1px #dfe5ed solid;
|
||||
padding-left:5px;
|
||||
font-size:90%;
|
||||
}
|
||||
|
||||
.rightcell{
|
||||
padding-bottom:4px;
|
||||
padding-top:4px;
|
||||
font-size:90%;
|
||||
line-height:130%;
|
||||
border-bottom:1px #dfe5ed solid;
|
||||
border-right:1px #dfe5ed solid;
|
||||
padding-right:5px;
|
||||
}
|
||||
|
||||
|
||||
.string {
|
||||
font-family:courier new,courier,monospace;
|
||||
color:#CC0033;
|
||||
font-size:110%;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.guide {
|
||||
margin:10px;
|
||||
margin-left:-40px;
|
||||
margin-right:-20px;
|
||||
font-weight:normal;
|
||||
color:#000000;
|
||||
font-size:90%;
|
||||
padding-top:10px;
|
||||
padding-bottom:10px;
|
||||
padding-right:20px;
|
||||
padding-left:40px;
|
||||
background: url(answer.gif) bottom left;
|
||||
background-repeat:repeat-x;
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
margin-top:5px;
|
||||
}
|
||||
|
||||
ul li {
|
||||
padding-bottom:5px;
|
||||
font-weight:normal;
|
||||
color:#000000;
|
||||
padding-right:20px;
|
||||
font-size:100%;
|
||||
}
|
||||
|
||||
|
||||
ol li ul {
|
||||
margin-top:5px;
|
||||
}
|
||||
|
||||
ol li ul li {
|
||||
padding-bottom:5px;
|
||||
font-weight:normal;
|
||||
color:#000000;
|
||||
padding-right:20px;
|
||||
font-size:100%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.answer {
|
||||
margin:10px;
|
||||
margin-left:-40px;
|
||||
margin-right:-20px;
|
||||
font-weight:normal;
|
||||
color:#000000;
|
||||
font-size:95%;
|
||||
padding-top:10px;
|
||||
padding-bottom:10px;
|
||||
padding-right:20px;
|
||||
padding-left:40px;
|
||||
background: url(answer.gif) bottom left;
|
||||
background-repeat:repeat-x;
|
||||
}
|
||||
|
||||
|
||||
.closebtn {
|
||||
font-size:90%;
|
||||
}
|
||||
|
||||
|
||||
.solution {
|
||||
margin-top:10px;
|
||||
margin-bottom:10px;
|
||||
color:#555555;
|
||||
}
|
||||
|
||||
.answer h3, .solution h3 {font-size:110%;color:#000000;}
|
||||
|
||||
textarea {background:#f8f8f8;}
|
||||
|
||||
.gnulicence {
|
||||
height:400px;
|
||||
max-width:800px;
|
||||
border:1px #dfe5ed solid;
|
||||
margin-top:10px;
|
||||
margin-bottom:10px;
|
||||
padding:5px;
|
||||
font-family:courier new,courier,monospace;
|
||||
font-size:120%;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
#page-right .txtcontent .dirtable {
|
||||
margin:10px;
|
||||
margin-left:30px;
|
||||
margin-bottom:10px;
|
||||
}
|
||||
|
||||
.diricon {
|
||||
width:25px;
|
||||
padding-top:2px;
|
||||
padding-bottom:2px;
|
||||
}
|
||||
|
||||
.dirtxt {
|
||||
font-size:100%;
|
||||
}
|
||||
|
||||
.dirtxt b {
|
||||
color:#000000;
|
||||
}
|
||||
|
||||
hr {
|
||||
height:1px;
|
||||
color:#cccccc;
|
||||
padding:0px;
|
||||
margin-top:20px;
|
||||
margin-bottom:20px;
|
||||
}
|
||||
|
||||
.hasJS .txtcontent .list ol li .answer {display:none}
|
||||
.hasJS .txtcontent .guide {display:none}
|
||||
.hasJS .itemChild {display:none;}
|
||||
.hasJS #gnu {display:none;}
|
||||
.hasJS #contributors {display:none;}
|
||||
.hasJS #authors {display:none;}
|
||||
.hasJS #documentation {display:none;}
|
||||
.hasJS #database {display:none;}
|
||||
.hasJS #maps {display:none;}
|
||||
.hasJS #models {display:none;}
|
||||
.hasJS #libraries {display:none;}
|
||||
.hasJS #other {display:none;}
|
||||
|
||||
.hasJS .mainmenu .itemParent .itemChild .itemChild {display:none;}
|
||||
|
||||
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 428 B |
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
File diff suppressed because one or more lines are too long
|
@ -3,10 +3,10 @@
|
|||
labels { clear "planets|minorplanets|stars|constellations" }
|
||||
renderflags { set "stars|planets"
|
||||
clear "constellations|orbits|cloudmaps" }
|
||||
print { text "Начало на демонстрацията . . .\nНатиснете ESC за край." origin "center" duration 2 }
|
||||
print { text "Начало на демонстрацията...\nНатиснете „Esc“ за край." origin "center" duration 2 }
|
||||
wait { duration 2.0 }
|
||||
|
||||
print { text "Нека да започнем от нашия дом . . ." row -3 }
|
||||
print { text "Нека да започнем от нашия дом..." row -3 }
|
||||
select { object "Sol/Earth" }
|
||||
cancel {}
|
||||
# goto { time 0 distance 3 upframe "ecliptical" }
|
||||
|
@ -18,25 +18,25 @@
|
|||
wait { duration 1.0 }
|
||||
follow {}
|
||||
|
||||
print { text "В момента се намираме на 12 500 км над Земята" row -3 duration 5 }
|
||||
print { text "В момента се намираме на 12 500 км. над Земята." row -3 duration 5 }
|
||||
orbit { axis [ 0 1 0 ] rate 30 duration 10 }
|
||||
print { text "Като добавим и облаците, Земята изглежда по позната." row -3}
|
||||
print { text "Като добавим и облаците, Земята изглежда по-позната." row -3}
|
||||
wait { duration 0.1 }
|
||||
renderflags { set "cloudmaps" }
|
||||
orbit { axis [ 0 1 0 ] rate 30 duration 6 }
|
||||
|
||||
print { text "Следваща спирка: Луната." row -3 }
|
||||
print { text "Следваща спирка: Луната" row -3 }
|
||||
select { object "Moon" }
|
||||
goto { time 5 distance 4 upframe "equatorial" }
|
||||
wait { duration 5.5 }
|
||||
print { text "Оглеждайте се за Земята и Слънцето, докато се движим около Луната" row -3}
|
||||
print { text "Оглеждайте се за Земята и Слънцето, докато обикаляме около Луната." row -3}
|
||||
orbit { axis [ 0 1 0 ] rate 30 duration 10 }
|
||||
|
||||
print { text "Напред към Слънцето." row -3}
|
||||
print { text "Напред към Слънцето!" row -3}
|
||||
select { object "Sol" }
|
||||
goto { time 8 distance 12 upframe "equatorial" up [ 0 1 0 ] }
|
||||
wait { duration 8.5 }
|
||||
print { text "От това разстояние могат да се видят тъмните слънчеви петна по повърхността му." row -3}
|
||||
print { text "От това разстояние може да видим тъмните слънчеви петна по повърхността му." row -3}
|
||||
orbit { axis [ 0 1 0 ] rate 20 duration 10 }
|
||||
|
||||
print { text "Нека да се отдалечим и разгледаме вътрешната част на Слънчевата система." row -3}
|
||||
|
@ -44,10 +44,10 @@
|
|||
renderflags { set "orbits" }
|
||||
changedistance { duration 4.0 rate 1.0 }
|
||||
|
||||
print { text "Да включим имената на планетите . . ." row -3}
|
||||
print { text "Да включим имената на планетите..." row -3}
|
||||
labels { set "planets" }
|
||||
wait { duration 1.0 }
|
||||
print { text "Можем да ускорим времето за да видим как планетите обикалят около Слънцето." row -3}
|
||||
print { text "Може да ускорим времето за да видим как планетите обикалят около Слънцето." row -3}
|
||||
timerate { rate 2592000 }
|
||||
wait { duration 3.0 }
|
||||
print { text "Всяка секунда в реално време е равна на един месец в симулацията." row -3}
|
||||
|
@ -56,7 +56,7 @@
|
|||
print { text "В момента, времето е спряно." row -3}
|
||||
|
||||
wait { duration 1.0 }
|
||||
print { text "Следващата ни дестинация е Сатурн." row -3}
|
||||
print { text "Следваща спирка: Сатурн" row -3}
|
||||
select { object "Saturn" }
|
||||
center { time 2 }
|
||||
wait { duration 2 }
|
||||
|
@ -64,12 +64,12 @@
|
|||
wait { duration 6.5 }
|
||||
renderflags { clear "orbits" }
|
||||
labels { clear "planets" }
|
||||
print { text "Няколко от луните на Сатурн са видими като ярки точки" row -3 duration 3}
|
||||
print { text "Няколко от спътниците на Сатурн са видими като ярки точки." row -3 duration 3}
|
||||
orbit { axis [ 0 1 0 ] rate 30 duration 12 }
|
||||
|
||||
select { object "Mimas" }
|
||||
goto { time 5 distance 4 upframe "equatorial" }
|
||||
print { text "Най-интересната характеристика на Мимас е огромния кратер Хершел." row -3 duration 9 }
|
||||
print { text "Най-интересната характеристика на Мимас е огромният кратер Хершел." row -3 duration 9 }
|
||||
orbit { axis [ 0 1 0 ] rate 30 duration 12 }
|
||||
changedistance { duration 6.0 rate 0.5 }
|
||||
|
||||
|
@ -82,22 +82,22 @@
|
|||
wait { duration 2 }
|
||||
select { object "Alpha UMa" }
|
||||
center { time 2 }
|
||||
print { text "Ако живеете в северното полукълбо, ще разпознаете Колата в съзвездието Голямата мечка." row -3 duration 3 }
|
||||
print { text "Ако живеете в северното полукълбо, ще разпознаете Волската кола в съзвездието Голямата мечка." row -3 duration 3 }
|
||||
wait { duration 4 }
|
||||
|
||||
select { object "Polaris" }
|
||||
center { time 2 }
|
||||
wait { duration 2 }
|
||||
print { text "А това е Поларис, известна още като Северната звезда." row -3}
|
||||
print { text "Това е Поларис, известна още като Северната звезда." row -3}
|
||||
wait { duration 1 }
|
||||
labels { set "stars" }
|
||||
wait { duration 2 }
|
||||
print { text "Поларис е част от Малката мечка." row -3}
|
||||
wait { duration 2 }
|
||||
print { text "За по-добра ориентация в небето, Celestia може да активира диаграмите на съзвездията . . ." row -3}
|
||||
print { text "За по-добра ориентация в небето, „Celestia“ може да активира очертанията на съзвездията..." row -3}
|
||||
renderflags { set "constellations" }
|
||||
wait { duration 2 }
|
||||
print { text ". . . и имената на съзвездията" row -3}
|
||||
print { text "...и имената на съзвездията." row -3}
|
||||
labels { set "constellations" }
|
||||
wait { duration 2 }
|
||||
|
||||
|
@ -114,7 +114,7 @@
|
|||
wait { duration 4 }
|
||||
|
||||
rotate { axis [ 0.707 0.707 0 ] rate 20 duration 7 }
|
||||
print { text "Нека да включим рендерирането на галактиките за да видим Млечния път" row -3 duration 4 }
|
||||
print { text "Нека да включим показването на галактиките за да видим Млечния път." row -3 duration 4 }
|
||||
renderflags { set "galaxies" }
|
||||
rotate { axis [ 0.707 0.707 0 ] rate 20 duration 14 }
|
||||
rotate { axis [ 0.707 0.707 0 ] rate 20 duration 10 }
|
||||
|
@ -122,7 +122,7 @@
|
|||
select { object "Antares" }
|
||||
center { time 5 }
|
||||
wait { duration 3 }
|
||||
print { text "Сега ще пътуваме до Антарес, това е звезда червен гигант в съзвездието Скорпион." row -3 duration 5 }
|
||||
print { text "Сега ще посетим Антарес, това е звезда червен гигант в съзвездието Скорпион." row -3 duration 5 }
|
||||
wait { duration 2 }
|
||||
renderflags { clear "constellations" }
|
||||
labels { clear "constellations|stars" }
|
||||
|
@ -134,13 +134,13 @@
|
|||
print { text "Въпреки че сме 10 пъти по-далече от Антарес\nотколкото Земята е от Слънцето, масивната звезда червен гигант изглежда застрашително голяма." row -3}
|
||||
wait { duration 4.0 }
|
||||
|
||||
print { text "Нека да се отдалечим за да видим как изглежда нашата галактика . . ." row -3}
|
||||
print { text "Нека да се отдалечим за да видим как изглежда нашата галактика..." row -3}
|
||||
changedistance { duration 10.0 rate 2.0 }
|
||||
|
||||
select { object "Milky Way" }
|
||||
print { text "Това е Млечния път." row -3 duration 6 }
|
||||
print { text "Това е Млечният път." row -3 duration 6 }
|
||||
orbit { axis [ 1 0 0 ] rate 30 duration 16.0 }
|
||||
print { text "Време е да се прибираме . . ." row -3}
|
||||
print { text "Време е да се прибираме..." row -3}
|
||||
|
||||
select { object "Sol/Earth" }
|
||||
goto { time 20 distance 10 upframe "equatorial" }
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
Name "Юпитер"
|
||||
Target "Sol/Jupiter"
|
||||
Description "Юпитер е най-голямата планета в Слънчевата система и е на пета позиция от Слънцето. Както и останалите външни планети, Юпитер е газов гигант без твърда повърхност. Голямото червено петно е най-голямата и най-продължителната буря в турболентната атмосфера на планетата; тази вихрушка с размерите на Земята съществува от около 300 години."
|
||||
Description "Юпитер е най-голямата планета в Слънчевата система и е на пета позиция от Слънцето. Както и останалите външни планети, Юпитер е газов гигант без твърда повърхност. Голямото червено петно е най-голямата и най-продължителната буря в турболентната атмосфера на планетата – тази вихрушка с размерите на Земята съществува от около 300 години."
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -9,13 +9,13 @@
|
|||
Target "Sol/Pluto"
|
||||
Distance 40000
|
||||
DistanceUnits "km"
|
||||
Description "Плутон обикаля около Слънцето на средно разстояние от шест милиарда километра. Луната му Харон е толкова голяма, че често ги наричат с Плутон 'двойна планета'."
|
||||
Description "Плутон обикаля около Слънцето на средно разстояние от шест милиарда километра. Спътникът му Харон е толкова голям, че често ги наричат заедно с Плутон „двойната планета“."
|
||||
}
|
||||
|
||||
{
|
||||
Name "Ерос"
|
||||
Target "Sol/Eros"
|
||||
Description "Ерос е астероид във формата на картоф и е дълъг около 33 км. Благодарение на космическия апарат NEAR Shoemaker, за Ерос знаем повече, отколкото за който и да било друг астероид. На 14 февруари 2001 г. NEAR се спусна на Ерос и стана първият апарат, приземил се на астероид."
|
||||
Description "Ерос е астероид във формата на картоф и е дълъг около 33 км. Благодарение на космическия апарат „NEAR Shoemaker“, за Ерос знаем повече, отколкото за който и да било друг астероид. На 14 Февруари 2001 г., „NEAR“ се спусна на Ерос и стана първият апарат, приземил се на астероид."
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -23,7 +23,7 @@
|
|||
Target "Alpha Centauri"
|
||||
Distance 90
|
||||
DistanceUnits "au"
|
||||
Description "Алфа Кантавър А и Б, заедно с Проксима Кентавър, са най-близката звездна система до Земята. Алфа Кентавър А много прилича на Слънцето, въпреки че е малко по-стара и по-ярка. Б е по-тъмна и по-червеникава, а Проксима е толкова слаба, че не може да се види с невъоръжено око, въпреки, че е най-близката звезда до Слънцето."
|
||||
Description "Алфа Кентавър А и Б, заедно с Проксима Кентавър, са най-близката звездна система до Земята. Алфа Кентавър А много прилича на Слънцето, въпреки че е малко по-стара и по-ярка звезда. Алфа Кентавър Б е по-тъмна и по-червеникава, а Проксима Кентавър е толкова слаба, че не може да се види с невъоръжено око, въпреки, че е най-близката звезда до Слънцето."
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -31,7 +31,7 @@
|
|||
Target "Alcyone"
|
||||
Distance 35
|
||||
DistanceUnits "ly"
|
||||
Description "Звездния куп Плеяди е група ярки, наскоро формирани звезди. Плеядите носят името на седем сестри от гръцката митология, въпреки, че телескопите са разкрили, че в звездния куп има доста повече от седем звезди."
|
||||
Description "Звездният куп Плеяди е група ярки, наскоро формирани звезди. Плеядите носят името на седем сестри от гръцката митология, въпреки че телескопите са разкрили, че в звездния куп има доста повече от седем звезди."
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -39,13 +39,13 @@
|
|||
Target "63 Tau"
|
||||
Distance 25
|
||||
DistanceUnits "ly"
|
||||
Description "Носещи името на петте дъщери на Атлас и Аетра, Хиядите са един от най-видните разсеяни звездни купове в небето. Звездите от звездния куп Хияди са на около 660 милиона години - около шест пъти по-стари от по-горещите и по-сини Плеяди."
|
||||
Description "Носещи името на петте дъщери на Атлас и Аетра, Хиядите са един от най-видните разсеяни звездни купове в небето. Звездите от звездния куп Хияди са на около 660 милиона години - около шест пъти по-стари от по-горещите и по-сини Плеяди."
|
||||
}
|
||||
|
||||
{
|
||||
Name "Глийзе 876 б"
|
||||
Target "Gliese 876/b"
|
||||
Description "Глийзе 876/б е гигантска планета в орбита около червено джудже. Тя е в резонанс 2:1 с друга планета от същата система."
|
||||
Description "Глийзе 876/б е гигантска планета в орбита около червено джудже. Тя е в резонанс 2:1 с друга планета от същата система."
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -53,24 +53,24 @@
|
|||
Target "Sol/Ida"
|
||||
Distance 200
|
||||
DistanceUnits "km"
|
||||
Description "Космическият апарат Галилео фотографира астероида 243 Ида през 1993 г. на път към Юпитер. Снимките разкриха, че Ида има малък сателит, по-късно наречен Дактил. От тогава насам са открити още няколко астероида със спътници."
|
||||
Description "Космическият апарат Галилео засне астероида 243 Ида през 1993 г. на път към Юпитер. Снимките разкриха, че Ида има малък спътник, по-късно наречен Дактил. От тогава до сега са открити още няколко астероида със спътници."
|
||||
}
|
||||
|
||||
{
|
||||
Name "51 Пегас б"
|
||||
Target "51 Peg/b"
|
||||
Description "51 Пегас б е първата открита планета, която обикаля около нормална звезда, различна от Слънцето. Тя е планета газов гигант и орбитата ѝ е изключително близо до звездата ѝ - по-малко от една пета от разстоянието между Меркурий и Слънцето. Съществуването на такава планета толкова близо до звезда накара астрономите да преразгледат теориите си за формирането на планетните системи."
|
||||
Description "51 Пегас б е първата открита планета, която обикаля около нормална звезда, различна от Слънцето. Тя е газов гигант и орбитата ѝ е изключително близо до нейната звездата - по-малко от една пета от разстоянието между Меркурий и Слънцето. Съществуването на такава планета толкова близо до звезда накара астрономите да преразгледат теориите си за формирането на планетните системи."
|
||||
}
|
||||
|
||||
{
|
||||
Name "Албирео"
|
||||
Target "Albireo"
|
||||
Distance 0.6
|
||||
Description "Заради контрастните оранжеви и синьо-бели цветове на съставните ѝ звезди, двойната звездна система Албирео е смятана за една от най-красивите двойки в небето. Оранжевата звезда е клас K гигант, а спътникът ѝ е B джудже."
|
||||
Description "Заради контрастните оранжеви и синьо-бели цветове на съставните ѝ звезди, двойната звездна система Албирео е смятана за една от най-красивите двойки в небето. Оранжевата звезда е гигант от клас K, а спътникът ѝ е джудже от клас B."
|
||||
}
|
||||
|
||||
{
|
||||
Name "Кометата Борели"
|
||||
Target "Sol/Borrelly"
|
||||
Description "На 22 Септември 2001 г., кометата Борели стана втората комета, която беше снимана от космически апарат от близко разстояние. Въпреки че не беше проектиран да облита комети, Deep Space 1 се приближи на 2 200 километра от ядрото на Борели и ни изпрати най-добрите снимки на ядро на комета, с които разполагаме."
|
||||
Description "На 22 Септември 2001 г., кометата Борели стана втората комета, която е заснета от космически апарат от близко разстояние. Въпреки че не е проектиран за това, „Deep Space“ 1 се приближи на 2 200 километра от ядрото на Борели и изпрати най-добрите снимки на ядро на комета, с които разполагаме."
|
||||
}
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 716 KiB |
|
@ -7,7 +7,6 @@ all: po-update
|
|||
$(pot_file): $(pot_file)-update
|
||||
|
||||
$(pot_file)-update:
|
||||
PATH=${PATH}:$(shell pwd) make -f Rules-data $@
|
||||
PATH=${PATH}:$(shell pwd) make -f Rules-win-resource $@
|
||||
PATH=${PATH}:$(shell pwd) make -f Rules-qt $@
|
||||
xgettext --keyword=_ --keyword=i18n \
|
||||
|
@ -18,7 +17,6 @@ $(pot_file)-update:
|
|||
--copyright-holder="Celestia Development Team" \
|
||||
--output=$(pot_file) \
|
||||
--from-code=utf-8 \
|
||||
../data/data.cpp \
|
||||
$$(find ../src -path ../src/celestia/kde -prune -path ../src/tools -prune -o -name \*.cpp -o -name \*.h -o -name \*.m -o -name \*.mm)
|
||||
|
||||
po-update: $(po_files)
|
||||
|
@ -27,6 +25,5 @@ po-update: $(po_files)
|
|||
msgmerge --update $@ $(pot_file)
|
||||
|
||||
clean:
|
||||
make -f Rules-data $@
|
||||
make -f Rules-win-resource $@
|
||||
make -f Rules-qt $@
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
# Additional Makefile rule to extract object names from data files
|
||||
|
||||
Makefile: Rules-data
|
||||
|
||||
celestia.pot-update: ../data/data.cpp
|
||||
|
||||
../data/data.cpp: ../data/solarsys.ssc ../data/earth_locs.ssc ../data/world-capitals.ssc ../data/galaxies.dsc ../data/nearstars.stc ../data/dwarfplanets.ssc ../data/minormoons.ssc
|
||||
egrep '^(\"|ReferencePoint)' ../data/solarsys.ssc | awk -F'\"|:' '{ print "_(\"" $$2 "\");" }' > ../data/data.cpp
|
||||
egrep '^(\"|ReferencePoint)' ../data/dwarfplanets.ssc | awk -F'\"|:' '{ print "_(\"" $$2 "\");" }' >> ../data/data.cpp
|
||||
egrep '^(\"|ReferencePoint)' ../data/minormoons.ssc | awk -F'\"|:' '{ print "_(\"" $$2 "\");" }' >> ../data/data.cpp
|
||||
grep \"Sol/Earth\" ../data/earth_locs.ssc | awk -F\" '{ print "_(\"" $$2 "\");" }' >> ../data/data.cpp
|
||||
grep \"Sol/Earth\" ../data/world-capitals.ssc | awk -F\" '{ print "_(\"" $$2 "\");" }' >> ../data/data.cpp
|
||||
egrep '\"Milky Way\"|\"LMC\"|\"SMC\"' ../data/galaxies.dsc | awk -F\" '{ print "_(\"" $$2 "\");" }' >> ../data/data.cpp
|
||||
egrep '\"Solar System Barycenter\"' ../data/nearstars.stc | awk -F\" '{ print "_(\"" $$2 "\");" }' >> ../data/data.cpp
|
||||
|
||||
clean: clean-data
|
||||
|
||||
clean-data:
|
||||
rm -f ../data/data.cpp
|
2806
po/celestia.pot
2806
po/celestia.pot
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue