start_sv.cel
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:16k
源码类别:

OpenGL

开发平台:

Visual C++

  1. {
  2. # ... Skriptets början
  3. #****************************************************************************
  4. #                                                                           *
  5. #                 START.CEL - Uppstartskript för Celestia                   *
  6. #                             (version 2.1)                                 *
  7. #                                                                           *
  8. #---------------------------------------------------------------------------*
  9. #                                                                           *
  10. #  Det här skriptet körs automatiskt varje gång du startar Celestia.        *
  11. #                                                                           *
  12. #  NOTERA: Ta inte bort klammerparenteserna som står i början och slutet av *
  13. #  denna fil. De definierar filen som ett CEL-skript.                       *
  14. #                                                                           *
  15. #  Du kan modifiera detta skript på många sätt så att det passar dina egna  *
  16. #  behov. Detta gör du genom att helt enkelt avkommentera en eller flera    *
  17. #  av raderna här nedan.                                                    *
  18. #  Varje sträng eller kodsektion innehåller kommentarer som beskriver vad   *
  19. #  den gör. Ta bort tecket "#" i början av textsträngen om du vill          *
  20. #  AVkommentera den raden.                                                  *
  21. #                                                                           *
  22. #  Om du bestämmer dig för att modifiera det här skriptet så se först till  *
  23. #  att göra en säkerhetskopia så att du har något att referera till senare. *
  24. #                                                                           *
  25. #****************************************************************************
  26.   preloadtex { object "Sol/Earth" }
  27.   preloadtex { object "Sol/Earth/Moon" }
  28.   select {object "Sol"}
  29.   goto   {time 3.0 distance 30}
  30.   wait   {duration 3.0}
  31.   select {object "Sol/Earth"}
  32.   follow {}
  33.   goto   {time 3.0  distance 6.0}
  34.   wait   {duration 2.0}
  35.   print  {text "Välkommen till Celestia!"  row -3  column 1  duration 3}
  36.   wait   {duration 3.0}
  37. #****************************************************************************
  38. #  Kodsträngarna här ovan innehåller hela uppstartskriptet. Här nedanför    *
  39. #  finns en beskrivning av vad varje kommando har för uppgift. Först så     *
  40. #  reser vi till solen, när vi sedan reser vidare till jorden så kommer     *
  41. #  denna att visas från sin solsida oberoende av din lokala tidzon...       *
  42. #                                                                           *
  43. #  preloadtex: Säger åt Celestia att ladda texturer för det namngivna       *
  44. #          objektet. I annat fall så skulle Celestia ladda texturen när     *
  45. #          objektet kom i bild vilket skulle märkas som en kort fördröjning.*
  46. #                                                                           *
  47. #  select: Talar om vilket objekt (planet, måne, rymdfarkost, etc.) som     *
  48. #          Celestia ska ha som aktuellt valt objekt. "Sol" definierar vårt  *
  49. #          solsystem medan symbolen "/" bara är en avskiljare i hierarkin.  *
  50. #          Jorden är det objekt som vi har valt. Om du istället hade velat  *
  51. #          välja månen så hade kommandot 'select' sett ut så här:           *
  52. #            select {object "Sol/Earth/Moon"}                               *
  53. #                                                                           *
  54. #  goto:   Säger åt Celestia att gå till det valda objektet, på samma sätt  *
  55. #          som när man trycker ner tangenten "G" på tangentbordet.          *
  56. #          Parametern 'time' talar om hur många sekunder det ska ta att     *
  57. #          resa till objektet. Parametern 'distance' bestämmer hur långt    *
  58. #          ifrån objektet man vill stanna, detta avstånd uttrycks genom     *
  59. #          objektets radie plus 1. Exempel, om objektets radie är 10 000 km,*
  60. #          och du sätter distansen till 6.0, så kommer du att hamna 50 000  *
  61. #          km från objektets centrum.                                       *
  62. #                                                                           *
  63. #  wait:   Eftersom kommandot 'goto' säger till Celestia att ta en viss tid *
  64. #          på sig för att göra något så måste vi även ge Celestia samma tid *
  65. #          för att faktiskt utföra uppgiften. När vi reser mot solen så     *
  66. #          säger kommandot 'wait' till Celestia att ta en paus i tre        *
  67. #          sekunder medan 'goto' urförs (i tre sekunder). Parametern        *
  68. #          'duration's värde är i normala fall detsamma som tidsparametern  *
  69. #          i kommandot 'goto'. Det finns dock alltid undantag (flina).      *
  70. #                                                                           *
  71. #          När vi beger oss mot jorden så lägger kommandot 'wait', efter    *
  72. #          kommandot 'goto', in en tvåsekunders paus. Nästa kommando är ett *
  73. #          'print'-kommando som visar lite text på skärmen innan ännu ett   *
  74. #          'wait' följer. Detta lägger in ytterligare tre sekunders paus.   *
  75. #          Det hela är bara en fråga om tajming.                            *
  76. #          Kommandot 'goto' tillåter oss att visa text på skärmen MEDAN     *
  77. #          kommandot utförs. Det enda vi behöver göra är alltså att se till *
  78. #          att den totala väntetiden, angiven efter ett 'goto', är MINST    *
  79. #          lika stor som värdet som angetts i 'goto'-kommandot. Värdet kan  *
  80. #          dock vara större om så önskas.                                   *
  81. #                                                                           *
  82. #  follow: Säger till Celestia att följa det valda objektet genom rymden på *
  83. #          samma sätt som när man trycker ner tangenten "F" på              *
  84. #          tangentbordet. Du kan ersätta kommandot follow {} med            *
  85. #          synchronous {}, vilket håller kvar dig i en stationär, eller     *
  86. #          geosynkron bana över det valda objektet.                         *
  87. #                                                                           *
  88. #   print: Säger till Celestia att visa (skriva ut) text på skärmen.        *
  89. #          Parametern 'text' preciserar vilken text som ska skrivas ut.     *
  90. #          Parametern 'row' bestämmer hur många rader från fönstrets        *
  91. #          nederkant som texten ska börja visas. Parametern 'column'        *
  92. #          bestämmer hur många kolumner från skärmens vänstra kant som      *
  93. #          texten ska börja visas. Parametern 'duration' bestämmer hur      *
  94. #          många sekunder som texten ska visas. Denna följs sedan av        *
  95. #          kommandot 'wait' som beskrivs ovan.                              *
  96. #****************************************************************************
  97. #****************************************************************************
  98. # Om du vill placeras ovanför din egen plats på jorden så ska du använda    *
  99. # kommandot 'gotolonglat' som visas nedan. Här följer                       *
  100. # steg-för-steg-instruktioner...                                            *
  101. #                                                                           *
  102. #  * Kopiera hela kodsträngen.                                              *
  103. #                                                                           *
  104. #  * Klistra in den nedanför "goto"-kommandot här ovan.                     *
  105. #                                                                           *
  106. #  * Ta bort tecknet "#" i början av raden. Detta avkommenterar koden så    *
  107. #    att den kommer att köras.                                              *
  108. #                                                                           *
  109. #  * Lägg till tecknet "#"  i början av det ursprungliga 'goto'-kommandot.  *
  110. #    Detta förvandlar kodsträngen till en kommentar så att den INTE kommer  *
  111. #    att köras.                                                             *
  112. #                                                                           *
  113. #  * Ändra longitud- och latitudvärdena så att de stämmer med din plats.    *
  114. #                                                                           *
  115. #  * Eftersom du reser till en specifik plats på jorden så kan det hända    *
  116. #    att det inte råder dag där, då kan du kommentera bort följande         *
  117. #    kodsträngar genom att lägga till tecknet "#" i början av varje rad...  *
  118. #      select {object "Sol"}                                                *
  119. #      goto   {time 3.0 distance 30}                                        *
  120. #      wait   {duration 3.0}                                                *
  121. #    Om du VILL visa din plats i dagsljus så kan du använda kommandot       *
  122. #    'time' som vi beskriver härnäst.                                       *
  123. #****************************************************************************
  124. #  gotolonglat {time 5.0  distance 4.0  longitude 0.0  latitude 0.0}
  125. #****************************************************************************
  126. #  If you would like Celestia to always start at a specific date/time, use  *
  127. #  the time command, as shown below.                                        *
  128. #                                                                           *
  129. #  WARNING: Starting Celestia with a pre-determined date/time requires that *
  130. #           you physically press the "!" (exclamation mark) key in order to *
  131. #           RESET the time to "current time", whenever you want to do some  *
  132. #           exploring -- IF the actual time makes a difference.             *
  133. #                                                                           *
  134. #  Step-by-step instructions...                                             *
  135. #                                                                           *
  136. #  * Determine if you want to set the date via a calendar UTC date/time     *
  137. #    string, or a Julian day (see below).                                   *
  138. #                                                                           *
  139. #  * Copy the one line of code with the time command you want to use.       *
  140. #                                                                           *
  141. #  * Paste it above the "goto" command above (top of file).                 *
  142. #                                                                           *
  143. #  * Remove the "#" character at the beginning of the line. This UNcomments *
  144. #    the line of code so it will be executed.                               *
  145. #                                                                           *
  146. #  * Change the date/time value to YOUR required date/time.                 *
  147. #****************************************************************************
  148. # Set the time via a calendar UTC date/time string...
  149. #  time { utc "2003-08-11T09:29:24.0000" }
  150. #              YYYY-MM-DDTHH:MM:SS.SSSS
  151. #  Note the "T" .........^ ... (this is required)
  152. # Set the time via a Julian day value...
  153. #  time { jd JulianDate }
  154. #    U.S. Navy Calendar Date/Time to Julian Date/Time converter:
  155. #    http://aa.usno.navy.mil/data/docs/JulianDate.html
  156. #****************************************************************************
  157. #  The commands listed below allow you to define several of Celestia's      *
  158. #  settings, that will be set every time you start Celestia. Modify any of  *
  159. #  the settings you want to.                                                *
  160. #****************************************************************************
  161. # Field of View (UNcomment / modify to meet your needs)...
  162. # Default is 25 degrees, at a screen resolution of 1024 x 768
  163. #  set {name "FOV" value 25.0}
  164. # Ambient light level (UNcomment / modify to meet your needs)...
  165. # 0.0 to 0.5 is a good Lo-Hi range
  166. #  set {name "AmbientLightLevel" value 0.1}
  167. # Faintest visible star magnitude (brightness)...
  168. # (UNcomment / modify to meet your needs)
  169. # Celestia UI: 0.8 to 15.2, default is 6.0
  170. #
  171. #  setvisibilitylimit {magnitude 6.0}
  172. # Faintest auto-magnitude brightness, at 45 degrees, Default is 8.5...
  173. # (UNcomment / modify to meet your needs)
  174. #  setfaintestautomag45deg {magnitude 8.5}
  175. # Items to be displayed (rendered):
  176. # Do NOT render the following objects (UNcomment to suit your needs)...
  177. #  renderflags {clear "atmospheres"}
  178. #  renderflags {clear "automag"}
  179. #  renderflags {clear "boundaries"}
  180. #  renderflags {clear "cloudmaps"}
  181. #  renderflags {clear "comettails"}
  182. #  renderflags {clear "constellations"}
  183. #  renderflags {clear "eclipseshadows"}
  184. #  renderflags {clear "galaxies"}
  185. #  renderflags {clear "grid"}
  186. #  renderflags {clear "markers"}
  187. #  renderflags {clear "nightmaps"}
  188. #  renderflags {clear "orbits"}
  189. #  renderflags {clear "planets"}
  190. #  renderflags {clear "pointstars"}
  191. #  renderflags {clear "ringshadows"}
  192. #  renderflags {clear "stars"}
  193. #  renderflags {clear "partialtrajectories"}
  194. # Items to be displayed (rendered):
  195. # DO render the following objects (UNcomment to suit your needs)...
  196. #  renderflags {set "atmospheres"}
  197. #  renderflags {set "automag"}
  198. #  renderflags {set "boundaries"}
  199. #  renderflags {set "cloudmaps"}
  200. #  renderflags {set "comettails"}
  201. #  renderflags {set "constellations"}
  202. #  renderflags {set "eclipseshadows"}
  203. #  renderflags {set "galaxies"}
  204. #  renderflags {set "grid"}
  205. #  renderflags {set "markers"}
  206. #  renderflags {set "nightmaps"}
  207. #  renderflags {set "orbits"}
  208. #  renderflags {set "planets"}
  209. #  renderflags {set "pointstars"}
  210. #  renderflags {set "ringshadows"}
  211. #  renderflags {set "stars"}
  212. #  renderflags {set "partialtrajectories"}
  213. # Text labels:
  214. # Do NOT label the following objects (UNcomment to suit your needs)...
  215. #  labels {clear "asteroids"}
  216. #  labels {clear "constellations"}
  217. #  labels {clear "galaxies"}
  218. #  labels {clear "moons"}
  219. #  labels {clear "planets"}
  220. #  labels {clear "spacecraft"}
  221. #  labels {clear "stars"}
  222. # Text labels:
  223. # DO label the following objects (UNcomment to suit your needs)...
  224. #  labels {set "asteroids"}
  225. #  labels {set "constellations"}
  226. #  labels {set "galaxies"}
  227. #  labels {set "moons"}
  228. #  labels {set "planets"}
  229. #  labels {set "spacecraft"}
  230. #  labels {set "stars"}
  231. # Marker control:
  232. # Unmark any objects that are currently Marked and disable Marker display...
  233. # (UNcomment to suit your needs)
  234. #  unmarkall { }
  235. # Minimum orbit diameter to be rendered (in pixels)...
  236. # (UNcomment / modify  to suit your needs)
  237. #  set {name "MinOrbitSize"  value 1.0}
  238. # Furthest visible star distance, default is 1000000...
  239. # (UNcomment / modify to suit your needs)
  240. #  set {name "StarDistanceLimit"  value 1000000}
  241. # Time rate (1x, 100x, 1000x, etc.)...
  242. # (UNcomment / modify to suit your needs)
  243. #    Negative value = Reverse Time
  244. #               0   = Pause Time
  245. #               1.0 = Real Time (default)
  246. #            1000.0 = Good moon orbit motion
  247. #
  248. #  timerate {rate 1.0}
  249. #****************************************************************************
  250. #  If you are using large textures, you can have Celestia pre-load them     *
  251. #  into your graphics card memory by listing them below.                    *
  252. #****************************************************************************
  253. # Examples...
  254. #  preloadtex {object "earth.*"}
  255. #  preloadtex {object "earth.png"}
  256. #****************************************************************************
  257. #  orbit is a fun command to play with. The axis is specified in [X Y Z]    *
  258. #  order, and each axis can be either 0 or 1. rate = how fast, duration =   *
  259. #  number of seconds. Just make sure you have an object selected.           *
  260. #****************************************************************************
  261. #  orbit {axis [0 1 0]  rate 10.0  duration 7.0}
  262. #****************************************************************************
  263. #  To learn more about scripting in Celestia, visit:                        *
  264. #                                                                           *
  265. #   * Scripting forum: (http://www.shatters.net/forum/viewforum.php?f=9)    *
  266. #   * Don G's Celestia page: (http://www.donandcarla.com/Celestia/)         *
  267. #   * Harald's Celestia page: (http://www.h-schmidt.net/celestia/)          *
  268. #                                                                           *
  269. #  Don G's page includes a guide for CEL scripting. Harald's page includes  *
  270. #  a guide for CELX (Lua) scripting. Both also have example scripts and     *
  271. #  other goodies.                                                           *
  272. #****************************************************************************
  273. # End of script...
  274. }