{ # ... Beginning of script #**************************************************************************** # * # START.CEL - Startup script for Celestia * # (version 2.1) * # * #---------------------------------------------------------------------------* # * # This script is run automatically, every time you run Celestia. * # * # NOTE: Do not remove the curly braces located as the first and last * # characters of this file. They define this file as a CEL script. * # * # You can modify this script in many ways, to suit your specific needs. * # Simply uncomment one or more of the lines below, as noted. Each line or * # section of code contains comments describing what it does. To UNcomment * # a line of code, simply remove the "#" character from the beginning of * # that line. * # * # If you decide to modify this script, please copy it to a safe place * # BEFORE you begin, so you will have it to refer to at a later date. * # * #**************************************************************************** overlay { duration 5.0 fadeafter 4.0 colortop "#9999ff" colorbottom "#ccccff" filename "logo.png" } preloadtex { object "Sol/Earth" } preloadtex { object "Sol/Earth/Moon" } select {object "Sol"} goto {time 3.0 distance 30} wait {duration 3.0} select {object "Sol/Earth"} follow {} goto {time 3.0 distance 6.0} wait {duration 2.0} print {text "Welcome to Celestia!" row -3 column 1 duration 3} wait {duration 3.0} #**************************************************************************** # The lines of code above are the entire start.cel script. Below, is a * # description of what each command does. We go to Sol first, so that when * # we go to Earth, it will be displaying it's sunny side, regardless of * # what your local time might be... * # * # preloadtex: Tells Celestia to load the textures for the named object. * # Otherwise Celestia would load the texture when the object * # comes into view, which would be noticeable as a small delay. * # * # select: Tells Celestia what object (planet, moon, spacecraft, etc.) to * # define as the currently selected object. Sol defines our solar * # system, the "/" character is merely a hierarchy divider, Earth * # is the object we want to select. If you wanted to select our * # Moon, the select command would look like the following: * # select {object "Sol/Earth/Moon"} * # * # goto: Tells Celestia to travel to the currently selected object, just * # like pressing the "G" key on the keyboard. The time parameter * # defines how many seconds it should take to travel there. The * # distance parameter defines how far away from the object to be * # positioned, in units of the object's radius, plus 1. For * # example, if the object's radius is 10000 km, and you specify * # 6.0 for distance, you will be positioned 50000 km from the * # center of the object. * # * # wait: Since the goto command is telling Celestia to take some time to * # do something, we need to give Celestia that same amount of time * # to actually DO it. When going to Sol, the wait command tells * # Celestia to wait for 3 seconds while the goto takes place (for * # 3 seconds). The duration parameter value is normally the same * # as the time parameter in the goto command. However, there are * # always exceptions (grin). * # * # When we are going to Earth, the wait command after the goto, * # waits for only 2 seconds. The next command is a print command, * # which displays some text on the screen and has another wait * # command after it, that waits for another 3 seconds. It's all * # just a matter of timing. The goto command allows us to display * # some text on-screen WHILE it is executing. So, we simply make * # sure that the total number of wait duration values, listed * # after a goto, adds up to AT LEAST the time value specified in * # the goto command. It can be longer, if desired. * # * # follow: Tells Celestia to follow the selected object through space, * # just like pressing the "F" key on the keyboard. You could * # replace the follow {} command with synchronous {}, which allows * # you to remain in a stationary, or geosynchronous orbit above * # the selected object. * # * # print: Tells Celestia to display (print) some text on the screen. The * # text parameter defines the text to be displayed. The row * # parameter defines how many rows from the bottom of the window to * # start displaying the text at. The column parameter defines how * # many columns from the left edge of the window to start * # displaying the text. The duration parameter defines how many * # seconds the text should be displayed on the screen. Which is * # then followed by the wait command, as described above. * #**************************************************************************** #**************************************************************************** # If you want to be positioned above YOUR specific location on Earth, use * # the gotolonglat command shown below. Step-by-step instructions... * # * # * Copy the entire line of code. * # * # * Paste it below the "goto" command above. * # * # * Remove the "#" character at the beginning of the line. This UNcomments * # the line of code so it will be executed. * # * # * Add a "#" character to the beginning of the original goto command. * # This turns the line of code into a comment, so it will NOT be run. * # * # * Change the longitude and latitude values to those of your location. * # * # * Since you are going to a specific position on the Earth, it might not * # be daytime there, so you could comment-out the following lines of * # code by adding a "#" character to the beginning of each line... * # select {object "Sol"} * # goto {time 3.0 distance 30} * # wait {duration 3.0} * # If you WANT to display your location in the daytime, use the time * # command described next. * #**************************************************************************** # gotolonglat {time 5.0 distance 4.0 longitude 0.0 latitude 0.0} #**************************************************************************** # If you would like Celestia to always start at a specific date/time, use * # the time command, as shown below. * # * # WARNING: Starting Celestia with a pre-determined date/time requires that * # you physically press the "!" (exclamation mark) key in order to * # RESET the time to "current time", whenever you want to do some * # exploring -- IF the actual time makes a difference. * # * # Step-by-step instructions... * # * # * Determine if you want to set the date via a calendar UTC date/time * # string, or a Julian day (see below). * # * # * Copy the one line of code with the time command you want to use. * # * # * Paste it above the "goto" command above (top of file). * # * # * Remove the "#" character at the beginning of the line. This UNcomments * # the line of code so it will be executed. * # * # * Change the date/time value to YOUR required date/time. * #**************************************************************************** # Set the time via a calendar UTC date/time string... # time { utc "2003-08-11T09:29:24.0000" } # YYYY-MM-DDTHH:MM:SS.SSSS # Note the "T" .........^ ... (this is required) # Set the time via a Julian day value... # time { jd JulianDate } # U.S. Navy Calendar Date/Time to Julian Date/Time converter: # http://aa.usno.navy.mil/data/docs/JulianDate.html #**************************************************************************** # The commands listed below allow you to define several of Celestia's * # settings, that will be set every time you start Celestia. Modify any of * # the settings you want to. * #**************************************************************************** # Field of View (UNcomment / modify to meet your needs)... # Default is 25 degrees, at a screen resolution of 1024 x 768 # set {name "FOV" value 25.0} # Ambient light level (UNcomment / modify to meet your needs)... # 0.0 to 0.5 is a good Lo-Hi range # set {name "AmbientLightLevel" value 0.1} # Faintest visible star magnitude (brightness)... # (UNcomment / modify to meet your needs) # Celestia UI: 0.8 to 15.2, default is 6.0 # # setvisibilitylimit {magnitude 6.0} # Faintest auto-magnitude brightness, at 45 degrees, Default is 8.5... # (UNcomment / modify to meet your needs) # setfaintestautomag45deg {magnitude 8.5} # Items to be displayed (rendered): # Do NOT render the following objects (UNcomment to suit your needs)... # renderflags {clear "atmospheres"} # renderflags {clear "automag"} # renderflags {clear "boundaries"} # renderflags {clear "cloudmaps"} # renderflags {clear "comettails"} # renderflags {clear "constellations"} # renderflags {clear "eclipseshadows"} # renderflags {clear "galaxies"} # renderflags {clear "grid"} # renderflags {clear "markers"} # renderflags {clear "nightmaps"} # renderflags {clear "orbits"} # renderflags {clear "planets"} # renderflags {clear "pointstars"} # renderflags {clear "ringshadows"} # renderflags {clear "stars"} # renderflags {clear "partialtrajectories"} # Items to be displayed (rendered): # DO render the following objects (UNcomment to suit your needs)... # renderflags {set "atmospheres"} # renderflags {set "automag"} # renderflags {set "boundaries"} # renderflags {set "cloudmaps"} # renderflags {set "comettails"} # renderflags {set "constellations"} # renderflags {set "eclipseshadows"} # renderflags {set "galaxies"} # renderflags {set "grid"} # renderflags {set "markers"} # renderflags {set "nightmaps"} # renderflags {set "orbits"} # renderflags {set "planets"} # renderflags {set "pointstars"} # renderflags {set "ringshadows"} # renderflags {set "stars"} # renderflags {set "partialtrajectories"} # Text labels: # Do NOT label the following objects (UNcomment to suit your needs)... # labels {clear "asteroids"} # labels {clear "constellations"} # labels {clear "galaxies"} # labels {clear "moons"} # labels {clear "planets"} # labels {clear "spacecraft"} # labels {clear "stars"} # Text labels: # DO label the following objects (UNcomment to suit your needs)... # labels {set "asteroids"} # labels {set "constellations"} # labels {set "galaxies"} # labels {set "moons"} # labels {set "planets"} # labels {set "spacecraft"} # labels {set "stars"} # Marker control: # Unmark any objects that are currently Marked and disable Marker display... # (UNcomment to suit your needs) # unmarkall { } # Minimum orbit diameter to be rendered (in pixels)... # (UNcomment / modify to suit your needs) # set {name "MinOrbitSize" value 1.0} # Furthest visible star distance, default is 1000000... # (UNcomment / modify to suit your needs) # set {name "StarDistanceLimit" value 1000000} # Time rate (1x, 100x, 1000x, etc.)... # (UNcomment / modify to suit your needs) # Negative value = Reverse Time # 0 = Pause Time # 1.0 = Real Time (default) # 1000.0 = Good moon orbit motion # # timerate {rate 1.0} #**************************************************************************** # If you are using large textures, you can have Celestia pre-load them * # into your graphics card memory by listing them below. * #**************************************************************************** # Examples... # preloadtex {object "earth.*"} # preloadtex {object "earth.png"} #**************************************************************************** # orbit is a fun command to play with. The axis is specified in [X Y Z] * # order, and each axis can be either 0 or 1. rate = how fast, duration = * # number of seconds. Just make sure you have an object selected. * #**************************************************************************** # orbit {axis [0 1 0] rate 10.0 duration 7.0} #**************************************************************************** # To learn more about scripting in Celestia, visit: * # * # * Scripting forum: (http://www.shatters.net/forum/viewforum.php?f=9) * # * Don G's Celestia page: (http://www.donandcarla.com/Celestia/) * # * Harald's Celestia page: (http://www.h-schmidt.net/celestia/) * # * # Don G's page includes a guide for CEL scripting. Harald's page includes * # a guide for CELX (Lua) scripting. Both also have example scripts and * # other goodies. * #**************************************************************************** # End of script... }