# Celestia/Customization
## Introduction

Many of Celestia's display characteristics and the databases that it uses can be controlled by modifying its configuration file, celestia.cfg.
More extensive changes and additions to Celestia can be provided using Addons and Celx Scripting.

## Celestia Configuration File

The following information is from the comments in the Celestia Configuration File, celestia.cfg.
This file contains configuration data read by Celestia each time it is run. Many of the items may be changed to suit your specific needs or requirements. It is HIGHLY recommended that you make a backup copy of this file before you make any changes to it.
To learn more about Celestia, visit the Celestia forums at: https://celestiaproject.space/forum/ or the Celestia web site at: https://celestiaproject.space

### Data Files

This section contains a list of data files that Celestia uses to load information about stars, constellations and locations. Do not change these file names or the order in which they are listed, unless you know exactly what you are doing. Most of these files can be viewed with a plain text editor. Discussion about their content and formats can be found on the Celestia forums: https://celestiaproject.space/forum/ If you want to load all your stars from .stc files, you can now comment out the StarDatabase entry.

### User Interface files

Despite their ".cel" file extension, these are not CEL scripts, but rather data files that populate controls such as menus and dialog boxes.
* FavoritesFile - This is where Bookmarks data are stored. The file does not exist until you save a Bookmark from within Celestia. You can view this file with a plain text editor and if you write CEL scripts, it contains some useful information.
* DestinationFile - This is the list of Destinations used in the Tour Guide dialog box, accessed via the Navigation Menu. You can edit this file with a plain text editor to add your own destinations to the dialog box. The order in which the items are listed in the file is the order in which they will be listed in the Tour Guide dialog.

### Cursor

This parameter allows you to select from three cursors, but currently only in the Windows version of Celestia ...
* White crosshair ("crosshair") > default cursor
* Inverting crosshair ("inverting crosshair")
* Standard Windows arrow ("arrow")
The inverting crosshair can be a better choice because it's more visible on bright backgrounds. However, should you decide to try this cursor, test it closely. Not all graphics chipsets support an inverting cursor, which will cause Windows to fall back to software emulation. The emulated cursor interacts with OpenGL applications in unfortunate ways, forcing a lot of extra redrawing and cutting by half the frame rate on a GeForce2-equipped laptop. So, if you change this, check your FPS rates to make sure you haven't kicked Windows into software emulation mode.

### Included CEL script files

The following CEL script files are included in the basic Celestia distribution. These script files may be viewed and edited with a plain text editor. They may both be modified or replaced to suit your specific needs. InitScript is the CEL script that is automatically run each time Celestia is started. The default script (start.cel) travels to Io, one of Jupiter's moons. DemoScript is the CEL script that is run when you press the "d" key on your keyboard from within Celestia. The default script (demo.cel) takes you on a short tour of some interesting places in our solar system. To learn more about how to use and write CEL scripts and Lua scripts in Celestia, please visit the Celestia Scripting forum at: https://celestiaproject.space/forum/viewforum.php?f=9

### Extras

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://celestiaproject.space/forum/viewforum.php?f=6 You may specify additional add-on directories by adding additional entries, such as the following example shows: ExtrasDirectories [ "extras" "myextras1" "myextras2" ] To specify absolute paths on windows, you either have to use "/" or double backslashes to separate path components. Example: ExtrasDirectories [ "D:/celestia-extras" ] or ExtrasDirectories [ "D:\\celestia-extras" ]

### Font definitions

The following entries define the fonts Celestia will use to display 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: Used to display all informational text. Default: "sans12.txf"
* LabelFont: Used to display all label text (objects, locations, etc.). Default "sans12.txf"
* TitleFont: Used to display object names, messages, and script text. Default "sansbold20.txf"

### Miscellaneous

LogoTexture defines the graphic file to be displayed when Celestia is started. The default filename is "logo.png"
FaintestVisibleMagnitude defines the lowest magnitude at which a star will be displayed in Celestia. This setting may be adjusted real-time via the '[' and ']' keys in Celestia. The default value is 6.0.
RotateAcceleration defines the speed at which an object will be rotated in Celestia, when using a keypress, such as the left and right arrow keys. A higher value will rotate the object quicker, while a lower value will cause a slower rotation. The default value is 120.0.
MouseRotationSensitivity defines the speed at which an object will be rotated in Celestia, when using the mouse press both mouse-buttons or Ctrl+LeftMouseButton, and move the mouse left or right. A higher value will rotate the object quicker, while a lower value will cause a slower rotation. A value of 0.0 (zero) will disable this particular feature. The default value is 1.0.

### Scripting

The following parameter is used in Lua (.celx) scripting. ScriptScreenshotDirectory defines the directory where screenshots are to be stored. The default value is "", i.e. Celestia's installation directory.
CELX-scripts can request permission to perform dangerous operations, such as reading, writing and deleting files or executing external programs. If granted, a malicious script could use this to destroy data or compromise system security. The following parameter determines what Celestia does upon such requests: "ask": ask the user if he wants to allow access (default) "allow": always allow such requests "deny": always deny such requests.

### Rendering Resources

The following lines are render detail settings. Assigning higher values will produce better quality images, but may cause some older systems to run slower. OrbitPathSamplePoints defines how many sample points to use when rendering orbit paths. The default value is 100. RingSystemSections defines the number of sections used to draw rings around a planet. The default value is 100. ShadowTextureSize defines the size* of shadow texture to be used. The default value is 256. Maximum useful value is 2048. EclipseTextureSize defines the size* of the eclipse texture to be used. The default value is 128. Maximum useful value is 1024. The ShadowTextureSize and EclipseTextureSize values should both be powers of two (128, 256, 512, etc.). Using larger values will reduce the jagged edges of eclipse shadows and shadows on planet rings, but it will decrease the amount of memory available for planet textures. The shadow and eclipse texture settings are not used with the OpenGL 2.0 render path, which uses a different technique to render shadows.
Set the level of multisample antialiasing. Not all 3D graphics hardware supports antialiasing, though most newer graphics chipsets do. Larger values will result in smoother edges with a cost in rendering speed. 4 is a sensible setting for recent, higher-end graphics hardware; 2 is probably better mid-range graphics. The default value is 1, which disables antialiasing.
The following line is commented out by default. Celestia enables and disables certain rendering features based on the set of extensions supported by the installed OpenGL driver and 3D graphics hardware. With IgnoreGLExtensions, you may specify a list of extensions that Celestia will treat as unsupported. This is useful primarily for the developers of Celestia.

### LogSize

The number of rows in Celestia's internal debug log. This log is displayable onscreen by pressing the ~ (tilde) key (tilde space on some keyboards). The default log size is 200 lines.

### Labelled Stars

The LabelledStars section defines which stars will have text labels assigned to them, which are visible when this option is turned on. (This section is obsolete as of Celestia v1.5.0. Star names are displayed depending on the brightness of the stars.)