1{ 2# ... Beginning of script 3 4#**************************************************************************** 5# * 6# START.CEL - Startup script for Celestia * 7# (version 2.1) * 8# * 9#---------------------------------------------------------------------------* 10# * 11# This script is run automatically, every time you run Celestia. * 12# * 13# NOTE: Do not remove the curly braces located as the first and last * 14# characters of this file. They define this file as a CEL script. * 15# * 16# You can modify this script in many ways, to suit your specific needs. * 17# Simply uncomment one or more of the lines below, as noted. Each line or * 18# section of code contains comments describing what it does. To UNcomment * 19# a line of code, simply remove the "#" character from the beginning of * 20# that line. * 21# * 22# If you decide to modify this script, please copy it to a safe place * 23# BEFORE you begin, so you will have it to refer to at a later date. * 24# * 25#**************************************************************************** 26 27 preloadtex { object "Sol/Earth" } 28 preloadtex { object "Sol/Earth/Moon" } 29 30 select {object "Sol"} 31 goto {time 3.0 distance 30} 32 wait {duration 3.0} 33 34 select {object "Sol/Earth"} 35 follow {} 36 goto {time 3.0 distance 6.0} 37 wait {duration 2.0} 38 39 print {text "Ласкаво просимо до Celestia!" row -3 column 1 duration 3} 40 wait {duration 3.0} 41 42#**************************************************************************** 43# The lines of code above are the entire start.cel script. Below, is a * 44# description of what each command does. We go to Sol first, so that when * 45# we go to Earth, it will be displaying it's sunny side, regardless of * 46# what your local time might be... * 47# * 48# preloadtex: Tells Celestia to load the textures for the named object. * 49# Otherwise Celestia would load the texture when the object * 50# comes into view, which would be noticeable as a small delay. * 51# * 52# select: Tells Celestia what object (planet, moon, spacecraft, etc.) to * 53# define as the currently selected object. Sol defines our solar * 54# system, the "/" character is merely a hierarchy divider, Earth * 55# is the object we want to select. If you wanted to select our * 56# Moon, the select command would look like the following: * 57# select {object "Sol/Earth/Moon"} * 58# * 59# goto: Tells Celestia to travel to the currently selected object, just * 60# like pressing the "G" key on the keyboard. The time parameter * 61# defines how many seconds it should take to travel there. The * 62# distance parameter defines how far away from the object to be * 63# positioned, in units of the object's radius, plus 1. For * 64# example, if the object's radius is 10000 km, and you specify * 65# 6.0 for distance, you will be positioned 50000 km from the * 66# center of the object. * 67# * 68# wait: Since the goto command is telling Celestia to take some time to * 69# do something, we need to give Celestia that same amount of time * 70# to actually DO it. When going to Sol, the wait command tells * 71# Celestia to wait for 3 seconds while the goto takes place (for * 72# 3 seconds). The duration parameter value is normally the same * 73# as the time parameter in the goto command. However, there are * 74# always exceptions (grin). * 75# * 76# When we are going to Earth, the wait command after the goto, * 77# waits for only 2 seconds. The next command is a print command, * 78# which displays some text on the screen and has another wait * 79# command after it, that waits for another 3 seconds. It's all * 80# just a matter of timing. The goto command allows us to display * 81# some text on-screen WHILE it is executing. So, we simply make * 82# sure that the total number of wait duration values, listed * 83# after a goto, adds up to AT LEAST the time value specified in * 84# the goto command. It can be longer, if desired. * 85# * 86# follow: Tells Celestia to follow the selected object through space, * 87# just like pressing the "F" key on the keyboard. You could * 88# replace the follow {} command with synchronous {}, which allows * 89# you to remain in a stationary, or geosynchronous orbit above * 90# the selected object. * 91# * 92# print: Tells Celestia to display (print) some text on the screen. The * 93# text parameter defines the text to be displayed. The row * 94# parameter defines how many rows from the bottom of the window to * 95# start displaying the text at. The column parameter defines how * 96# many columns from the left edge of the window to start * 97# displaying the text. The duration parameter defines how many * 98# seconds the text should be displayed on the screen. Which is * 99# then followed by the wait command, as described above. * 100#**************************************************************************** 101 102 103#**************************************************************************** 104# If you want to be positioned above YOUR specific location on Earth, use * 105# the gotolonglat command shown below. Step-by-step instructions... * 106# * 107# * Copy the entire line of code. * 108# * 109# * Paste it below the "goto" command above. * 110# * 111# * Remove the "#" character at the beginning of the line. This UNcomments * 112# the line of code so it will be executed. * 113# * 114# * Add a "#" character to the beginning of the original goto command. * 115# This turns the line of code into a comment, so it will NOT be run. * 116# * 117# * Change the longitude and latitude values to those of your location. * 118# * 119# * Since you are going to a specific position on the Earth, it might not * 120# be daytime there, so you could comment-out the following lines of * 121# code by adding a "#" character to the beginning of each line... * 122# select {object "Sol"} * 123# goto {time 3.0 distance 30} * 124# wait {duration 3.0} * 125# If you WANT to display your location in the daytime, use the time * 126# command described next. * 127#**************************************************************************** 128 129# gotolonglat {time 5.0 distance 4.0 longitude 0.0 latitude 0.0} 130 131 132#**************************************************************************** 133# If you would like Celestia to always start at a specific date/time, use * 134# the time command, as shown below. * 135# * 136# WARNING: Starting Celestia with a pre-determined date/time requires that * 137# you physically press the "!" (exclamation mark) key in order to * 138# RESET the time to "current time", whenever you want to do some * 139# exploring -- IF the actual time makes a difference. * 140# * 141# Step-by-step instructions... * 142# * 143# * Determine if you want to set the date via a calendar UTC date/time * 144# string, or a Julian day (see below). * 145# * 146# * Copy the one line of code with the time command you want to use. * 147# * 148# * Paste it above the "goto" command above (top of file). * 149# * 150# * Remove the "#" character at the beginning of the line. This UNcomments * 151# the line of code so it will be executed. * 152# * 153# * Change the date/time value to YOUR required date/time. * 154#**************************************************************************** 155 156# Set the time via a calendar UTC date/time string... 157# time { utc "2003-08-11T09:29:24.0000" } 158# YYYY-MM-DDTHH:MM:SS.SSSS 159# Note the "T" .........^ ... (this is required) 160 161# Set the time via a Julian day value... 162# time { jd JulianDate } 163# U.S. Navy Calendar Date/Time to Julian Date/Time converter: 164# http://aa.usno.navy.mil/data/docs/JulianDate.html 165 166 167#**************************************************************************** 168# The commands listed below allow you to define several of Celestia's * 169# settings, that will be set every time you start Celestia. Modify any of * 170# the settings you want to. * 171#**************************************************************************** 172 173# Field of View (UNcomment / modify to meet your needs)... 174# Default is 25 degrees, at a screen resolution of 1024 x 768 175# set {name "FOV" value 25.0} 176 177 178# Ambient light level (UNcomment / modify to meet your needs)... 179# 0.0 to 0.5 is a good Lo-Hi range 180# set {name "AmbientLightLevel" value 0.1} 181 182 183# Faintest visible star magnitude (brightness)... 184# (UNcomment / modify to meet your needs) 185# Celestia UI: 0.8 to 15.2, default is 6.0 186# 187# setvisibilitylimit {magnitude 6.0} 188 189 190# Faintest auto-magnitude brightness, at 45 degrees, Default is 8.5... 191# (UNcomment / modify to meet your needs) 192# setfaintestautomag45deg {magnitude 8.5} 193 194 195# Items to be displayed (rendered): 196# Do NOT render the following objects (UNcomment to suit your needs)... 197# renderflags {clear "atmospheres"} 198# renderflags {clear "automag"} 199# renderflags {clear "boundaries"} 200# renderflags {clear "cloudmaps"} 201# renderflags {clear "comettails"} 202# renderflags {clear "constellations"} 203# renderflags {clear "eclipseshadows"} 204# renderflags {clear "galaxies"} 205# renderflags {clear "grid"} 206# renderflags {clear "markers"} 207# renderflags {clear "nightmaps"} 208# renderflags {clear "orbits"} 209# renderflags {clear "planets"} 210# renderflags {clear "pointstars"} 211# renderflags {clear "ringshadows"} 212# renderflags {clear "stars"} 213# renderflags {clear "partialtrajectories"} 214 215 216# Items to be displayed (rendered): 217# DO render the following objects (UNcomment to suit your needs)... 218# renderflags {set "atmospheres"} 219# renderflags {set "automag"} 220# renderflags {set "boundaries"} 221# renderflags {set "cloudmaps"} 222# renderflags {set "comettails"} 223# renderflags {set "constellations"} 224# renderflags {set "eclipseshadows"} 225# renderflags {set "galaxies"} 226# renderflags {set "grid"} 227# renderflags {set "markers"} 228# renderflags {set "nightmaps"} 229# renderflags {set "orbits"} 230# renderflags {set "planets"} 231# renderflags {set "pointstars"} 232# renderflags {set "ringshadows"} 233# renderflags {set "stars"} 234# renderflags {set "partialtrajectories"} 235 236 237# Text labels: 238# Do NOT label the following objects (UNcomment to suit your needs)... 239# labels {clear "asteroids"} 240# labels {clear "constellations"} 241# labels {clear "galaxies"} 242# labels {clear "moons"} 243# labels {clear "planets"} 244# labels {clear "spacecraft"} 245# labels {clear "stars"} 246 247 248# Text labels: 249# DO label the following objects (UNcomment to suit your needs)... 250# labels {set "asteroids"} 251# labels {set "constellations"} 252# labels {set "galaxies"} 253# labels {set "moons"} 254# labels {set "planets"} 255# labels {set "spacecraft"} 256# labels {set "stars"} 257 258 259# Marker control: 260# Unmark any objects that are currently Marked and disable Marker display... 261# (UNcomment to suit your needs) 262# unmarkall { } 263 264 265# Minimum orbit diameter to be rendered (in pixels)... 266# (UNcomment / modify to suit your needs) 267# set {name "MinOrbitSize" value 1.0} 268 269 270# Furthest visible star distance, default is 1000000... 271# (UNcomment / modify to suit your needs) 272# set {name "StarDistanceLimit" value 1000000} 273 274 275# Time rate (1x, 100x, 1000x, etc.)... 276# (UNcomment / modify to suit your needs) 277# Negative value = Reverse Time 278# 0 = Pause Time 279# 1.0 = Real Time (default) 280# 1000.0 = Good moon orbit motion 281# 282# timerate {rate 1.0} 283 284 285#**************************************************************************** 286# If you are using large textures, you can have Celestia pre-load them * 287# into your graphics card memory by listing them below. * 288#**************************************************************************** 289# Examples... 290# preloadtex {object "earth.*"} 291# preloadtex {object "earth.png"} 292 293 294#**************************************************************************** 295# orbit is a fun command to play with. The axis is specified in [X Y Z] * 296# order, and each axis can be either 0 or 1. rate = how fast, duration = * 297# number of seconds. Just make sure you have an object selected. * 298#**************************************************************************** 299# orbit {axis [0 1 0] rate 10.0 duration 7.0} 300 301 302#**************************************************************************** 303# To learn more about scripting in Celestia, visit: * 304# * 305# * Scripting forum: (http://www.shatters.net/forum/viewforum.php?f=9) * 306# * Don G's Celestia page: (http://www.donandcarla.com/Celestia/) * 307# * Harald's Celestia page: (http://www.h-schmidt.net/celestia/) * 308# * 309# Don G's page includes a guide for CEL scripting. Harald's page includes * 310# a guide for CELX (Lua) scripting. Both also have example scripts and * 311# other goodies. * 312#**************************************************************************** 313 314 315# End of script... 316} 317