Compare commits

..

5 Commits

Author SHA1 Message Date
Hleb Valoshka cd32920fbd fix 2021-07-05 13:18:41 +04:00
Hleb Valoshka 5c55b17caa wip 2021-07-05 12:25:42 +04:00
Hleb Valoshka c4e426d70b wip 2021-07-05 11:37:17 +04:00
Hleb Valoshka 803afffce6 wip 2021-07-04 23:56:09 +04:00
Hleb Valoshka bfacc111a4 wip 2021-07-04 21:09:18 +04:00
524 changed files with 97382 additions and 95967 deletions

View File

@ -1,63 +1,47 @@
---
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
AccessModifierOffset: -3
AlignEscapedNewlinesLeft: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortFunctionsOnASingleLine: true
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: true
BinPackParameters: false
BreakBeforeBinaryOperators: false
BreakBeforeBraces: Allman
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'
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: false
ColumnLimit: 80
CommentPragmas: ''
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 0
ContinuationIndentWidth: 0
Cpp11BracedListStyle: false
DerivePointerBinding: false
IndentCaseLabels: false
IndentFunctionDeclarationAfterType: false
IndentWidth: 4
Language: Cpp
MaxEmptyLinesToKeep: '1'
MaxEmptyLinesToKeep: 2
NamespaceIndentation: None
PointerAlignment: Right
ReflowComments: 'true'
SortIncludes: 'true'
SortUsingDeclarations: 'true'
SpaceAfterLogicalNot: 'false'
SpaceAfterTemplateKeyword: 'false'
SpaceBeforeAssignmentOperators: 'true'
SpaceBeforeCtorInitializerColon: 'true'
SpaceBeforeInheritanceColon: 'true'
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true
PenaltyBreakBeforeFirstCallParameter: 100
PenaltyBreakComment: 100
PenaltyBreakFirstLessLess: 0
PenaltyBreakString: 100
PenaltyExcessCharacter: 1
PenaltyReturnTypeOnItsOwnLine: 20
PointerBindsToType: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: 'true'
SpaceInEmptyParentheses: 'false'
SpacesBeforeTrailingComments: '1'
SpacesInAngles: 'false'
SpacesInParentheses: 'false'
SpacesInSquareBrackets: 'false'
Standard: c++17
TabWidth: '4'
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
Standard: Cpp11
TabWidth: 4
UseTab: Never
UseCRLF: 'false'

View File

@ -3,10 +3,8 @@ 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
@ -45,24 +43,20 @@ 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 qt5-base
run: vcpkg --triplet=${{matrix.platform}}-windows install --recurse libpng libjpeg-turbo gettext luajit fmt libepoxy eigen3 freetype cspice ffmpeg 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
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
- 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}}\
copy src\celestia\${{env.BUILD_TYPE}}\*.dll test\integration\${{env.BUILD_TYPE}}\
run: copy src\celestia\${{env.BUILD_TYPE}}\*.dll test\unit\${{env.BUILD_TYPE}}\
- name: Test
working-directory: ${{github.workspace}}/build
@ -72,7 +66,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}}\* win32\res\${{env.BUILD_TYPE}}\res_*.dll
7z a celestia-win.${{matrix.platform}}.7z win32\${{env.BUILD_TYPE}}\*
c:\vcpkg\ports\qt5-base\qtdeploy.ps1 qt\${{env.BUILD_TYPE}}\
7z a celestia-qt.${{matrix.platform}}.7z qt\${{env.BUILD_TYPE}}\*
cd ..\tools
@ -84,165 +78,3 @@ 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 }}

View File

@ -1,29 +0,0 @@
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

3
.gitignore vendored
View File

@ -9,7 +9,6 @@ Release/
*.la
*.exe
*.dll
*.swp
.DS_Store
po*/*.gmo
po*/POTFILES
@ -23,5 +22,3 @@ extras-standard/
models/
textures/
mingw/
content/
CMakeSettings.json

11
.gitmodules vendored
View File

@ -1,9 +1,6 @@
[submodule "thirdparty/Spice"]
path = thirdparty/Spice
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
url = https://github.com/OpenSpace/Spice
[submodule "content"]
path = content
url = https://github.com/CelestiaProject/CelestiaContent.git

View File

@ -1,12 +1,7 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.1.0)
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)
@ -39,7 +34,7 @@ endif()
# Remove leading and trailing whitespace from libraries linked
if(POLICY CMP0004)
cmake_policy(SET CMP0004 NEW)
cmake_policy(SET CMP0004 OLD)
endif()
project(celestia VERSION 1.7.0 LANGUAGES C CXX)
@ -60,9 +55,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)
@ -91,9 +86,7 @@ endif()
add_definitions(-D_USE_MATH_DEFINES)
# Let CMake handle setting C++11 (since 3.1)
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 17)
endif()
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_C_STANDARD 11)
# Use our cmake files
@ -111,10 +104,6 @@ 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
@ -171,10 +160,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()
@ -190,13 +179,6 @@ 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()
@ -219,11 +201,7 @@ find_package(Eigen3 3.3 REQUIRED NO_MODULE) # -DEigen3_DIR=...
message(STATUS "Found Eigen3 ${EIGEN3_VERSION_STRING}")
link_libraries(Eigen3::Eigen)
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()
find_package(fmt REQUIRED)
link_libraries(fmt::fmt)
find_package(PNG REQUIRED)
@ -250,14 +228,6 @@ 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)
@ -350,10 +320,7 @@ if("${build_type_lc}" STREQUAL "debug")
else()
add_definitions(-DNO_DEBUG -DEIGEN_NO_DEBUG)
if(NOT MSVC)
add_compile_options(
$<$<COMPILE_LANGUAGE:CXX>:-fno-rtti>
$<$<COMPILE_LANGUAGE:CXX>:-fno-exceptions>
)
add_compile_options(-fno-rtti -fno-exceptions)
endif()
endif()
@ -369,27 +336,40 @@ 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)
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((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")
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.")
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()
endif()
else()
message(WARNING "C++ charconv is unusable!\nWill use own implementation.")
endif()
include(TestBigEndian)
test_big_endian(WORDS_BIGENDIAN)
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")
configure_file("config.h.in" "config.h")
@ -409,12 +389,17 @@ 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)

108
ChangeLog
View File

@ -246,7 +246,7 @@ Code:
* Windows version: InstallShield setup
* Windows version: added controls help dialog
* UNIX version: implemented find object and about dialogs (Gnome/Gtk only)
Code:
* Moved star browser and solar system browser code into separate modules
* Fixed DPRINTF macro so it's not broken in g++
@ -276,7 +276,7 @@ Code:
textures added to OpenGL Info dialog.
* New objects: Comet Borrelly, the giant Kuiper Belt object 2001 KX76,
and the Hubble Space Telescope
Code:
* Rewrote texture and model managers
* Cleaned up simulation.cpp to use frames of reference and eliminated a lot
@ -393,7 +393,7 @@ Code:
a single modeless dialog.
* Fixed period and rotation of Phoebe
1.2.1
* Unix: configure.in changes to better find OpenGL libraries by Bruckner.
* Added accurate orbital calculations for Galilean satellites.
@ -404,7 +404,7 @@ Code:
* Windows: Fixed crash that occurred when recalling a location with
no selection
1.2.2
* Improved find algorithm for starnames, and combined names from hdnames.dat
into starnames.dat. Also added several additional names and variant spellings
@ -557,7 +557,7 @@ Code:
* New colors for celestial grid and constellation figures
* Tuning of Gnome GUI: underlined key accelerators, enabled operation of all
dialogs and menus with ALT <key>, arrow keys, and Tab
* Linux: GUI now synced with current state of pixel/vertex shaders
* Linux: GUI now synced with current state of pixel/vertex shaders
* New keyboard bindings:
Ctrl+Y : automag toggle
Ctrl+T : toggle display of comet tails
@ -572,16 +572,16 @@ Code:
when building with VS.NET
* Cleaned up OpenGL extension initialization
* Significantly improved the reliability of object selection via mouse
click, notably for small fields of view in the arcsec range.
click, notably for small fields of view in the arcsec range.
* Fixed the 'move' script command
* New script commands: setfaintestautomag45deg {magnitude float},
lookback {}
* [,] keys now adjust the limiting magnitude at 45 degrees
field of view, if automag is ON. Values displayed via flash messages
* New script commands: setfaintestautomag45deg {magnitude float},
lookback {}
* [,] keys now adjust the limiting magnitude at 45 degrees
field of view, if automag is ON. Values displayed via flash messages
* Associated the 'looking back' operation with the '*' key shortcut
* Fixed bug in orbits of Galilean moons
* Corrected equatorial planes and rotation offsets for the major planets
* Linux: Added KDE interface, all features of the GTK interface are
* Linux: Added KDE interface, all features of the GTK interface are
available (except for the Tour Guide), new features include:
- Bookmarks / URLs;
- History navigation;* Improved drag and drop of cel:// URLs on Windows
@ -632,8 +632,8 @@ Code:
- Markers may also be set on objects using the right-click context menu
- Added mark/unmark commands for scripts
- Bound Ctrl+K to toggle display of markers
- Added flash messages indicating on|off status of markers
- Implemented markers into KDE interface
- Added flash messages indicating on|off status of markers
- Implemented markers into KDE interface
* Added triangle-accurate picking of mesh objects
* Multiview
- Ctrl+R : split view vertically
@ -664,7 +664,7 @@ Code:
* Updated configuration files for new versions of autoconf
1.3.1
* Improved inclusion of light travel delay, also in KDE time setting dialog
* Improved inclusion of light travel delay, also in KDE time setting dialog
* Fixed lookback command for subsequent changes of target speed
* Allow wildcard character * inplace of extension for texture filenames
* Fix bump mapping (again)
@ -706,7 +706,7 @@ Code:
* Made cancel script command stop motion, tracking, and any object-relative
coordinate system.
* Adjusted estimates for radii and rotation periods of extrasolar planets;
rotation rates account (somewhat) for the effects of tidal despinning.
rotation rates account (somewhat) for the effects of tidal despinning.
* Fixed a bug that was causing precision loss in orientation values; this fixes
some of the jerkiness apparent at very low fields of view.
* Corrected radii of Uranus's rings
@ -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 supersedes and combines
* Changed spectral class of carbon stars to C, which supercedes and combines
R and N
* Lua scripting additions
* View management commands
@ -760,7 +760,7 @@ Code:
* Implemented an algorithm for importance weights to avoid overlapping or
too crowded location labels for Mars, Venus and the Moon
* Added new textures for Titan based on recent imaging from the Cassini
mission
mission
* Improved depth sorting so that hidden surface removal works properly for
overlapping objects
* Added theoretical estimates of oblateness and rotation rate for extrasolar
@ -805,16 +805,16 @@ Code:
* Implemented new GLSL render path; NVIDIA combiners and GeForceFX paths
deprecated.
* Display UTF-8 superscript digits in some star names
* Updated the Titan texture. It accomodates all published high resolution
imaging from the Cassini mission until and including the flyby of 03/31/05.
* Updated the Titan texture. It accomodates all published high resolution
imaging from the Cassini mission until and including the flyby of 03/31/05.
* Updated the Iapetus texture. It accomodates all published high resolution
imaging from the Cassini mission, including also a unique hires photo taken
in "Saturn shine".
imaging from the Cassini mission, including also a unique hires photo taken
in "Saturn shine".
* Added catalogs of 163 visual and 39 spectroscopic binary orbits,
respectively, (S<>erhjelm 1999, Pourbaix 2000) with known primary/secondary
mass ratios.
* Added an extended and precise data base of 942 galaxies
(Steinicke's rev. NGC/IC, 2005) with a magnitude cutoff Bmag < 12.
* Added an extended and precise data base of 942 galaxies
(Steinicke's rev. NGC/IC, 2005) with a magnitude cutoff Bmag < 12.
* Included the commented PERL scripts used to extract and adapt the binary
orbit and galaxy data from published professional catalogs.
* Added --extrasdir command line option for specifying additional directories
@ -843,13 +843,13 @@ Code:
- fixed automake bug where GConf schema would always install
- removed linking against glut for no reason
* Implemented complete precision catalog (Steinicke's revised NGC/IC, 2005) of
10610 galaxies with
- distance information from four catalogs ( 6 methods ),
- <= 4 alternate names,
- info-URLs,
- absolute magnitudes and
10610 galaxies with
- distance information from four catalogs ( 6 methods ),
- <= 4 alternate names,
- info-URLs,
- absolute magnitudes and
- correct sizes & orientations in space, as calculated from catalog
parameters.
parameters.
* Included well commented Perl script (deepsky.pl) as documentation. The used distance determination method is indicated in catalog for each galaxy.
* Updated binary star data base (visualbins.stc, spectbins.dsc) and respective
PERL catalog extraction scripts (visualbins.pl, spectbins.pl), such as to eliminate double occurences wrto nearstars.stc (, which remained unaffected).
@ -890,7 +890,7 @@ Code:
template from S0 disk template via rescaling by (1.0f, 3.8f, 1.0f);
- fixed wrong x,y alignment of elliptical rescaling.
* Added code to ease compilation with newer Xcode versions (Macintosh).
* Updated src/celengine/Makefile.am for Linux building.
* Updated src/celengine/Makefile.am for Linux building.
* Introduced a new cel function => renderflags {set "nebulae"}.
* Reduced the default value of 'faintestAutoMag45deg' from 8.5 to 7.0.
* Fixed the visibility of the Milky Way during day-time and the abrupt
@ -904,10 +904,10 @@ Code:
* Deleted various source code files that became superfluous.
* Improved comet display. Introduced a neat scheme implementing comet tail
fading (between 4 and 6 AU for Sol). Systems with several suns and
luminosities different from the solar one are accounted for.
* Implemented a new, simple scheme avoiding overcrowded galaxy labels.
luminosities different from the solar one are accounted for.
* Implemented a new, simple scheme avoiding overcrowded galaxy labels.
Their "importance" is sorted according to apparent magnitude! Thus the
labels of the brightest galaxies pop up first upon zooming in...
labels of the brightest galaxies pop up first upon zooming in...
* Fixes/workarounds for OpenGL 2.0 render paths on both nVidia and ATI cards.
@ -932,7 +932,7 @@ Code:
located inside the galaxy (Milky Way...).
* Eliminated various incorrect Hubble type acronyms in deepsky.dsc that had
penetrated the PERL filter.
* Add the corrected PERL script deepsky.pl.
* Add the corrected PERL script deepsky.pl.
* Mac: Universal binary - runs natively on Intel and PPC
* Mac: OpenGL 2.0 render path should now work on many configurations
(requires OS X 10.4.3 or later)
@ -948,7 +948,7 @@ Code:
* Mac: Fixed crash when LANG or LC environment variables are set
* Mac: Added bona fide English and French help menu
* Mac: Cleaned up README in general
* Added Phoebe textures in medres and lores directories from recent published
* Added Phoebe textures in medres and lores directories from recent published
Ciclops cylindrical maps
* Updated Titan and Iapetus textures in lores directory
* Windows: save and restore the last used GL render path
@ -959,10 +959,10 @@ Code:
* KDE: Reverted mouse wheel action to be compatible with the other interfaces.
* KDE: New configurable splash screen
(http://celestia.teyssier.org/splash_spec.html)
* Updated/added Tethys textures in lores, medres and hires directories.
* Updated/added Tethys textures in lores, medres and hires directories.
* Added locations on Phoebe in satmoons2.ssc, as extracted from USGS/IAU
official data.
* Added Mesh for Phoebe texture.
* Added Mesh for Phoebe texture.
* Updated Iapetus texture.
* Moved locations files from extras into data directory for inclusion in
standard package.
@ -1002,7 +1002,7 @@ Code:
- HIP 14810 c, HD 185269 b, Gliese 849 b
- Mu Ara e
- Gliese 581 c & d, HD 175541 b, HD 210702 b, HD192699 b
- HD 47536 c, XO-2 b, HD 147506 (HAT-P-2), HD 17092 b
- HD 47536 c, XO-2 b, HD 147506 (HAT-P-2), HD 17092 b
* Revised orbits of many extrasolar planets to reflect new data
* Added stars for new extrasolar planets: GSC 92941-01657
* Mac: Show menu bar when moving mouse to top of screen in full screen
@ -1067,7 +1067,7 @@ Code:
* Added cmodsphere, a utility for producing cmod meshes from height samples
regularly spaced in longitude and latitude.
* COPYING, controls.txt, start script, and guide can all be localized
* cel and celx scripting:
* cel and celx scripting:
- added openclusters and cloudshadows render flags
- added location, nebulae, openclusers, and i18nconsteallations label flags
* Established Barycentric Dynamical Time (TDB) as the time scale used
@ -1090,12 +1090,12 @@ Code:
spectra
* Made star orbit paths visible
* galaxies:
-changed galaxy template format to standard (grayscale) PNG
-changed galaxy template format to standard (grayscale) PNG
-allow a custom template for each galaxy in deepsky.dsc
-new approach to thickness of galaxy (arms): assumed proportional to read-in
brightness values
brightness values
-emulate dust lanes around galactic plane (y=0)
-considerable improvement of Milky Way appearance as seen from Earth
-considerable improvement of Milky Way appearance as seen from Earth
-implement galaxy labels of transparency increasing with distance, thus
providing a neat 3d effect
* galaxy templates:
@ -1114,10 +1114,10 @@ Code:
- Guarded against crash when the JPL ephemeris file can't be found
* Generalized rotations
- Clear syntax for ssc files
- UniformRotation
- UniformRotation
- PrecessingOrientation
- SampledOrientation - interpolated sequence of quaternion key frames
* Scripting improvements
* Scripting improvements
- New celx scripting commands:
- utctotdb and tdbtoutc
- gl commands
@ -1125,7 +1125,7 @@ Code:
- iterators: celestia:stars and celestia:dsos
- get/setaltazimuthmode
- Lua hooks for script extensions to Celestia
- Script interfaces for orbits and rotation models (ScriptedOrbit and
- Script interfaces for orbits and rotation models (ScriptedOrbit and
ScriptedRotation)
- Support Lua 5.1 (5.0 compatibility retained)
- Made celestia:loadtexture use relative file names
@ -1148,7 +1148,7 @@ Code:
* Corrected kilometers per light year constant
* Added various improvements to the MilkyWay & other galaxy template display.
* Added E0.png galaxy template that allows for better En, n=1..7 elliptical
shapes.
shapes.
* Fixed sizes of irregular galaxies (factor of 2!).
* Prevented galaxy code from crashing if a template is missing.
* Improved selection of galaxies by taking into account their 3d shape
@ -1163,11 +1163,11 @@ Code:
* Windows: Fixed crash that occurred when star browser was closed
* Fixed bug that made moons disappear as a planet approached stellar transit
* Added a major update of the galaxy database such that close to 100% of the
galaxies now involve distance measurements
* Included the complete local group of galaxies
galaxies now involve distance measurements
* Included the complete local group of galaxies
* Added varying label transparency also for stars
* Added the PERL scripts used for extraction of galaxy and binary orbit data
from scientific sources. They both are useful tools and a concise
from scientific sources. They both are useful tools and a concise
documentation of Celestia's data
* updated binary orbit data (visualbins.stc and spectbins.stc) along with
respective PERL scripts (visualbins.pl and spectbins.pl)
@ -1220,7 +1220,7 @@ Code:
HD 167042 b, HD 74156 d, HD 285968 b, V391 Peg b,
HD 132406 b, HD 43691 b, NGC 2423 3 b, Gliese 317 b & c,
TrES-3, HD 155358 b&c, HD 5319 b, HD 75898 b, OGLE-TR-182 b, WASP-3 b,
55 Cnc f, Lupus-TR-3 b, OGLE-TR-211 b, HD 156846 b, HD 4113 b, Kap CrB b,
55 Cnc f, Lupus-TR-3 b, OGLE-TR-211 b, HD 156846 b, HD 4113 b, Kap CrB b,
GD 66 b, XO-3 b, WASP-4 b TW Hya b
removed HD 33636 b
* Set up transit of Gliese 436
@ -1383,7 +1383,7 @@ Bug fixes
* Fixed search path for Lua scripts
* Fixed numerous bugs that occurred when an object's orbit center was different
* Fixed a bug in the celx function celestia:getscreendimension
* Fixed bug with returning Hubble type for galaxies
* Fixed bug with returning Hubble type for galaxies
* Eliminated error-prone min/max macros; use STL functions instead
* Fixed discrepancy between apparent magnitudes shown in the 3D view and
the star browser.
@ -1424,9 +1424,9 @@ Data file updates
* Changed class of small outer planet moons to minormoon
* Included new and updated solar system body features from the IAU
* Added provisional rotation period for Eris
Tools
* Added Perl script globulars.pl used to extract the globular data from scientific publications and as documentation
* Added Perl script globulars.pl used to extract the globular data from scientific publications and as documentation
* Added spice2xyzv tool for extracting xyzv files from a pool of SPICE kernels
* Added Perl script to build cross-indices
* Added Perl script to generate CHARM2 catalog
@ -1557,7 +1557,7 @@ Scripting
- windowbordersvisible, setwindowbordersvisible
* Split celx scripting support into several modules
* Cel scripting
- splitview, deleteview, singleview, setactiveview
- splitview, deleteview, singleview, setactiveview
- setgalaxylightgain
- setradius
- setlinecolor

View File

@ -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, libavif, glu and glut.
Optional packages are gettext, Qt5, Gtk2 or Gtk3, sdl2, ffmpeg, 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,8 +94,7 @@ 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. libavif-dev
is required to build to AVIF texture support.
libswscale-dev are required to build with video capture support.
OK, assuming you've collected all the necessary libraries, here's
@ -150,7 +149,7 @@ following option to cmake: -DCMAKE_INSTALL_PREFIX=/another/path.
## Celestia Install instructions for Windows (MSVC)
Currently to build on Windows you need Visual Studio 2015 or later, CMake
Currently to build on Windows you need a Visual Studio 2015 or later, CMake
and vcpkg (*).
Install required packages:
@ -162,7 +161,7 @@ vcpkg --triplet=TRIPLET install --recurse libpng libjpeg-turbo gettext luajit fm
Install optional packages:
```
vcpkg --triplet=TRIPLET install --recurse qt5-base ffmpeg cspice libavif
vcpkg --triplet=TRIPLET install --recurse qt5-base ffmpeg cspice
```
Replace TRIPLET with `x86-windows` to build 32-bit versions or `x64-windows`
@ -170,9 +169,6 @@ 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:
```
@ -191,8 +187,8 @@ cmake -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scrip
cmake --build . -- /maxcpucount:N /nologo
```
Instead of N in /maxcpucount pass the number of CPU cores you want to use during
the build.
Instead of N in /maxcpucount pass a number of CPU cores you want to use during
a build.
This example assumes that `vcpkg` is installed into `c:/tools/vcpkg`. Update
the path to `vcpkg.cmake` according to your installation.
@ -285,13 +281,13 @@ Install Homebrew
Install required packages:
```
brew install pkg-config cmake fmt gettext libepoxy libpng lua qt5 jpeg eigen freetype
brew install pkg-config cmake fmt gettext libepoxy libpng lua qt5 jpeg eigen freetype ffmpeg
```
Install optional packages:
```
brew install cspice ffmpeg libavif
brew install cspice
```
Follow common building instructions to fetch the source.
@ -339,7 +335,6 @@ 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

View File

@ -1,17 +1,17 @@
***************************************************************************
* Celestia *
* Celestia *
* *
* A real-time space simulation that lets you experience our universe in *
* three dimensions. *
* *
* Copyright (c) 2001-2021, Celestia Development Team *
* Copyright (c) 2001-2020, Celestia Development Team *
* *
*-------------------------------------------------------------------------*
* Celestia web site: https://celestia.space/ *
* Celestia web site: https://celestia.space *
* *
* Celestia documentation: *
* https://celestia.space/guides.html *
* Celestia WikiBook: https://en.wikibooks.org/wiki/Celestia *
* http://celestiamotherlode.net/catalog/documentation.html *
* Celestia WikiBook: http://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:
https://celestia.space/guides.html
http://celestiamotherlode.net/catalog/documentation.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:
https://www.classe.cornell.edu/~seb/celestia/
http://www.lepp.cornell.edu/~seb/celestia/
Celestia Wikibook:
https://en.wikibooks.org/wiki/Celestia
Celestia WikiBook:
http://en.wikibooks.org/wiki/Celestia
Celestial Matters Website and Forums:
http://www.celestialmatters.org/
@ -189,23 +189,24 @@ Celestial Matters Website and Forums:
Celestia Motherlode:
http://www.celestiamotherlode.net/
Celestia Source Repository:
Celestia Cource 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
---------------------
@ -234,7 +235,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
@ -252,9 +253,236 @@ Documentation
Harald Schmidt ........ Celx/Lua Scripting Guide
Content
-------
Please see the README file in the CelestiaContent repository.
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
Libraries
@ -298,7 +526,8 @@ ACKNOWLEDGEMENTS
A very big thank you for creating Celestia goes to Chris Laurel who started this
program in the year 2001.
<claurel@gmail.com>
https://celestia.space/
http://www.shatters.net/~claurel/
http://www.shatters.net/celestia/
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.

View File

@ -1,142 +0,0 @@
| **`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.

207
README.md
View File

@ -1,110 +1,143 @@
| **`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 is a "real-time space simulation that lets you experience
our universe in three dimensions".
![Celestia](celestia-logo.png)<br>
**A real-time space simulation that lets you experience our universe in three dimensions.**
![celestia-screenshot](pics/celestia-screenshot.png)
**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
# Upstream
This repo is a lesser fork of the upstream project,
which has been revived.
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.
* https://celestia.space/
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://github.com/CelestiaProject/Celestia
## Getting started
See also: `README-upstream`, `README-upstream.md`.
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).
## License/Copyright
GPLv2+
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.
Copyright © 2001-2021, Celestia Development Team
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.
# 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.
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 upstream bug:
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.
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809916
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.
```
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.
```
### 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.
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.
### 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.
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
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
```
**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.

View File

@ -5,12 +5,8 @@ strategy:
matrix:
Linux:
imageName: 'ubuntu-latest'
enableLibavif: 'OFF'
enableGLUT: 'ON'
Mac:
imageName: 'macos-latest'
enableLibavif: 'ON'
enableGLUT: 'OFF'
pool:
vmImage: $(imageName)
@ -41,7 +37,6 @@ steps:
libfreetype6-dev \
libsdl2-dev \
libluajit-5.1-dev \
freeglut3-dev \
libfmt-dev
displayName: 'Install Linux dependencies'
condition: eq( variables['Agent.OS'], 'Linux' )
@ -61,9 +56,7 @@ steps:
qt5 \
freetype \
libepoxy \
sdl2 \
freeglut \
libavif
sdl2
brew link gettext --force
brew link lua --force
displayName: 'Install macOS dependencies'
@ -72,7 +65,7 @@ steps:
- script: |
mkdir build
cd build
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) ..
cmake -DENABLE_SPICE=ON -DENABLE_TOOLS=ON -DENABLE_TESTS=ON -DENABLE_SDL=ON -DENABLE_GTK=ON -DENABLE_FFMPEG=ON ..
make -j $(nproc || echo 4)
CTEST_OUTPUT_ON_FAILURE=1 ctest
workingDirectory: "$(system.defaultworkingdirectory)"

View File

@ -34,35 +34,34 @@ Configuration
"data/nearstars.stc"
"data/visualbins.stc"
"data/spectbins.stc"
"data/charm2.stc"
"data/pulsars.stc" ]
"data/charm2.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/moon_locs.ssc"
"data/mars_locs.ssc"
"data/moon_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" ]
@ -83,14 +82,14 @@ StarTextures
{
# This texture will be used for any spectral type not listed
# in this block.
Default "astar.*"
Default "astar.jpg"
O "ostar.*"
O "bstar.*"
B "bstar.*"
A "astar.*"
F "fstar.*"
F "astar.*"
G "gstar.*"
K "kstar.*"
K "gstar.*"
M "mstar.*"
# carbon stars
@ -100,18 +99,18 @@ StarTextures
S "mstar.*" # roughly between M and C
# Wolf-Rayet stars
WC "ostar.*"
WN "ostar.*"
WO "ostar.*"
WC "bstar.*"
WN "bstar.*"
WO "bstar.*"
# brown dwarfs
L "lstar.*"
L "browndwarf.*"
T "browndwarf.*"
Y "exo-class4night.*"
Y "browndwarf.*"
# stellar remnants
WD "whitedwarf.*"
NeutronStar "ostar.*"
WD "astar.jpg"
NeutronStar "astar.jpg"
}
@ -179,7 +178,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:
# https://celestia.space/forum/viewforum.php?f=9
# http://www.shatters.net/forum/viewforum.php?f=9
#------------------------------------------------------------------------
InitScript "start.cel"
DemoScript "demo.cel"
@ -189,7 +188,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:
# https://celestia.space/forum/viewforum.php?f=6
# http://celestia.space/forum/viewforum.php?f=6
#
# You may specify additional add-on directories by adding additional
# entries, such as the following example shows:
@ -227,17 +226,16 @@ 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. Font size is
# measured in points to ensure the same sizes on all DPI configurations.
# compatible in order to display non-English characters.
#
# Font: Used to display all informational text.
# Default: "DejaVuSans.ttf,9"
# Default: "sans12.txf"
#
# LabelFont: Used to display all label text (objects, locations, etc.).
# Default "DejaVuSans.ttf,9"
# Default "sans12.txf"
#
# TitleFont: Used to display object names, messages, and script text.
# Default "DejaVuSans-Bold.ttf,15"
# Default "sansbold20.txf"
#------------------------------------------------------------------------
Font "DejaVuSans.ttf,9"
LabelFont "DejaVuSans.ttf,9"
@ -397,29 +395,4 @@ 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"
}

View File

@ -212,7 +212,6 @@ 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

View File

@ -1,8 +0,0 @@
#include <charconv>
int main()
{
const char* src = "123";
float x;
std::from_chars_result result = std::from_chars(src, src + 3, x);
}

View File

@ -1,8 +0,0 @@
#include <charconv>
int main()
{
const char* src = "123";
int x;
std::from_chars_result result = std::from_chars(src, src + 3, x, 10);
}

7
checks/cxxfs.cpp 100644
View File

@ -0,0 +1,7 @@
#include <filesystem>
int main()
{
std::error_code ec;
throw std::filesystem::filesystem_error("test", ec);
}

View File

@ -0,0 +1,7 @@
#include <experimental/filesystem>
int main()
{
std::error_code ec;
throw std::experimental::filesystem::filesystem_error("test", ec);
}

6
checks/cxxsv.cpp 100644
View File

@ -0,0 +1,6 @@
#include <string_view>
int main()
{
std::string_view sv("test");
}

View File

@ -0,0 +1,6 @@
#include <experimental/string_view>
int main()
{
std::experimental::string_view sv("test");
}

View File

@ -6,6 +6,6 @@ function(EnableFastMath flag)
if(MSVC)
add_compile_options("/fp:fast")
else()
add_compile_options("-ffast-math -fno-finite-math-only")
add_compile_options("-ffast-math")
endif()
endfunction()

View File

@ -1,247 +0,0 @@
# 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()

View File

@ -1,59 +0,0 @@
# 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()

View File

@ -3,8 +3,7 @@ macro(test_case)
set(libs ${ARGV})
list(REMOVE_AT libs 0 0)
add_executable(${trgt} $<TARGET_OBJECTS:catch_main> "${trgt}_test.cpp")
target_include_directories(${trgt} PRIVATE "${CMAKE_SOURCE_DIR}/test/common")
add_executable(${trgt} "${trgt}_test.cpp")
target_link_libraries(${trgt} PRIVATE celestia ${libs})
add_test(${trgt} ${trgt})
set_target_properties(${trgt} PROPERTIES FOLDER test/unit)

View File

@ -1,52 +0,0 @@
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()

View File

@ -1,7 +1,6 @@
#cmakedefine HAVE_BYTESWAP_H
#cmakedefine HAVE_CHARCONV
#cmakedefine HAVE_FLOAT_CHARCONV
#cmakedefine HAVE_STD_FILESYSTEM
#cmakedefine HAVE_FILESYSTEM
#cmakedefine HAVE_EXPERIMENTAL_FILESYSTEM
#cmakedefine HAVE_STRING_VIEW
#cmakedefine HAVE_EXPERIMENTAL_STRING_VIEW
#cmakedefine HAVE_WORDEXP
#cmakedefine HAVE_MESHOPTIMIZER
#cmakedefine WORDS_BIGENDIAN

1
content 160000

@ -0,0 +1 @@
Subproject commit 7012d92a37b240a53ce8d445907d4b2d32433e5a

View File

@ -1,5 +1,3 @@
README.md
README-upstream
README-upstream.md
README
AUTHORS
TRANSLATORS

View File

@ -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

13
debian/changelog vendored
View File

@ -1,16 +1,3 @@
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

1
debian/control vendored
View File

@ -5,7 +5,6 @@ Maintainer: Hleb Valoshka <375gnu@gmail.com>
Build-Depends: debhelper (>= 10~),
chrpath,
cmake (>= 3.1~),
dos2unix,
freeglut3-dev,
libeigen3-dev (>= 3.3~),
libfmt-dev (>= 4),

2
debian/rules vendored
View File

@ -26,8 +26,6 @@ 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

View File

@ -106,9 +106,18 @@ 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
Eigen with OpenGL
vecmath.h with OpenGL
* aabox.h
Axis-aligned bounding box class.
* glext.h
* glext.cpp
@ -153,7 +162,7 @@ a pointer to a star from the database.
Stars
-----
Since there are so many stars in a star database, it's important that the
size of the Star class be kept to a minimum. Thus, in order to avoid the
size of the Star class be kept to a minimum. Thus, in order to avoid the
4 byte vtable overhead Star is not a derived class, even though it might
be somewhat useful to have a common base class for stars and planets. All
stars have a unique catalog number, a position, a stellar class, and a

View File

@ -840,6 +840,10 @@ 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/*.*

BIN
fonts/clean12.txf 100644

Binary file not shown.

BIN
fonts/clean16.txf 100644

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
fonts/default.txf 100644

Binary file not shown.

BIN
fonts/helv10.txf 100644

Binary file not shown.

BIN
fonts/helv12.txf 100644

Binary file not shown.

BIN
fonts/helv18.txf 100644

Binary file not shown.

BIN
fonts/helv24.txf 100644

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
fonts/sans10.txf 100644

Binary file not shown.

BIN
fonts/sans10_ru.txf 100644

Binary file not shown.

BIN
fonts/sans12.txf 100644

Binary file not shown.

BIN
fonts/sans12_be.txf 100644

Binary file not shown.

BIN
fonts/sans12_bg.txf 100644

Binary file not shown.

BIN
fonts/sans12_ja.txf 100644

Binary file not shown.

BIN
fonts/sans12_ko.txf 100644

Binary file not shown.

BIN
fonts/sans12_ru.txf 100644

Binary file not shown.

BIN
fonts/sans12_uk.txf 100644

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
fonts/sans14.txf 100644

Binary file not shown.

BIN
fonts/sans14_be.txf 100644

Binary file not shown.

BIN
fonts/sans14_ja.txf 100644

Binary file not shown.

BIN
fonts/sans14_ko.txf 100644

Binary file not shown.

BIN
fonts/sans14_ru.txf 100644

Binary file not shown.

BIN
fonts/sans14_uk.txf 100644

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
fonts/sans20.txf 100644

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

View File

@ -1,275 +0,0 @@
//** 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.

Before

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -1,477 +0,0 @@
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.

Before

Width:  |  Height:  |  Size: 428 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

File diff suppressed because one or more lines are too long

View File

@ -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" }

View File

@ -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.

Before

Width:  |  Height:  |  Size: 716 KiB

View File

@ -7,6 +7,7 @@ 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 \
@ -17,6 +18,7 @@ $(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)
@ -25,5 +27,6 @@ po-update: $(po_files)
msgmerge --update $@ $(pot_file)
clean:
make -f Rules-data $@
make -f Rules-win-resource $@
make -f Rules-qt $@

19
po/Rules-data 100644
View File

@ -0,0 +1,19 @@
# 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

4327
po/ar.po

File diff suppressed because it is too large Load Diff

5410
po/be.po

File diff suppressed because it is too large Load Diff

2973
po/bg.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5112
po/de.po

File diff suppressed because it is too large Load Diff

4757
po/el.po

File diff suppressed because it is too large Load Diff

5112
po/es.po

File diff suppressed because it is too large Load Diff

5103
po/fr.po

File diff suppressed because it is too large Load Diff

5113
po/gl.po

File diff suppressed because it is too large Load Diff

5112
po/hu.po

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