Soalr System Tour

All about writing scripts for Celestia in Lua and the .cel system
Topic author
christoria
Posts: 74
Joined: 03.11.2003
With us: 21 years

Soalr System Tour

Post #1by christoria » 05.11.2003, 02:18

OK. Here is another one to try out. It is a tour of the 9 planets and their moons. This was actually my first script, but it was very difficult to perfect - still working on it. I don't know how it will run in 1.3.0, so let me know, if you are using that version. I'm using pre11.

Leave lots of feedback - it's a great way to learn and improve.

Here it is -

---------------------------------------------------------------------------------

# Original script by:
# Script generator
# http://consul.com.ua/celestia/
# by Slashi
# (I just changed everything)

{
# Setup section
timerate { rate 1 }
labels { clear "planets|minorplanets|stars|constellations|spacecraft|asteroids|moons" }
renderflags { set "stars|planets|clouds"
clear "constellations|orbits|galaxies|boundaries" }
print { text "Starting Planet visitor in 5 seconds. . . Press ESC to end."
row -3
column 5
duration 3 }
set { name "AmbientLightLevel" value 0.4 }
set { name "FOV" value 25.0 }
setvisibilitylimit { magnitude 6.5 }
wait { duration 5 }

# Visit Sun
timerate { rate 1 }
select { object "Sol" }
center { time 10 }
goto { time 7 distance 20 }
follow {}
wait { duration 10 }
print { text "Here's the Sun, the center of it all."
row -3
column 5
duration 3 }
wait { duration 10 }

# Loop 1 of 1

#Explore Mercury with moons
timerate { rate 1 }
select { object "Mercury" }
center { time 10 }
goto { time 7 distance 8 }
follow {}
timerate { rate 200 }
wait { duration 10 }
print { text "Our first planet, Mercury"
row -4
column 5
duration 3 }
wait { duration 10 }
print { text "No moons here - Did you know it?"
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

#Explore Venus with moons
timerate { rate 1 }
select { object "Venus" }
center { time 10 }
goto { time 7 distance 8 }
follow {}
print { text "On to Venus"
row -3
column 5
duration 3 }
timerate { rate 200 }
wait { duration 10 }
print { text "The second planet Venus"
row -3
column 5
duration 3 }
wait { duration 10 }
print { text "No moons here, either. Huh??"
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

#Explore Earth with moons
timerate { rate 1 }
select { object "Earth" }
center { time 10 }
goto { time 7 distance 8 }
follow {}
timerate { rate 200 }
wait { duration 10 }
print { text "Here we are - Earth"
row -3
column 5
duration 3 }
wait { duration 12 }
print { text "How Beautiful - Truely awe inspiring."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Moon of Earth
select { object "Sol/Earth/Moon" }
print { text "And you know there is a moon here."
row -3
column 5
duration 3 }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "This is incredible!"
row -3
column 5
duration 3 }
wait { duration 7 }
select { object "Sol/Earth" }
wait { duration 10 }
print { text "Watch this."
row -3
column 5
duration 3 }
center { time 10 }
wait { duration 8 }
timerate { rate 1 }

#Explore Mars with moons
timerate { rate 1 }
select { object "Sol/Mars" }
print { text "That was the only planet with life on it."
row -3
column 5
duration 3 }
center { time 10 }
goto { time 7 distance 8 }
follow {}
timerate { rate 200 }
wait { duration 10 }
print { text "Mars, even without life, is very beautiful."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Deimos of Mars
select { object "Sol/Mars/Deimos" }
print { text "Two moons here - cool!"
row -3
column 5
duration 3 }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Deimos - the first. Not what you expected, huh?"
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Mars" }
center { time 10 }
timerate { rate 1 }

# Explore moon Phobos of Mars
select { object "Sol/Mars/Phobos" }
print { text "Next moon coming."
row -3
column 5
duration 3 }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Mars's moon Phobos"
row -3
column 5
duration 3 }
wait { duration 10 }
print { text "This is cool."
row -3
column 5
duration 3 }
select { object "Sol/Mars" }
center { time 10 }
wait { duration 14 }
timerate { rate 1 }

#Explore Jupiter with moons
timerate { rate 1 }
select { object "Sol/Jupiter" }
print { text "Let's go past the asteroid belt, to the gas giants."
row -3
column 5
duration 3 }
center { time 10 }
goto { time 7 distance 8 }
follow {}
timerate { rate 200 }
wait { duration 10 }
print { text "The largest in our solar system - Jupiter."
row -3
column 5
duration 3 }
wait { duration 10 }
print { text "Five moons! Check these out."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Amalthea of Jupiter
select { object "Sol/Jupiter/Amalthea" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Amalthea. Jupiters first moon - or satelite."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Jupiter" }
center { time 10 }
wait { duration 10 }
print { text "Back to look at Jupiter."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Io of Jupiter
select { object "Sol/Jupiter/Io" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Io. That's -eye- -oh-. More like a moon now."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Jupiter" }
center { time 10 }
wait { duration 10 }
print { text "Back to look at Jupiter."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Europa of Jupiter
select { object "Sol/Jupiter/Europa" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Europa. The third satelite."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Jupiter" }
center { time 10 }
wait { duration 10 }
print { text "Back to look at Jupiter."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Ganymede of Jupiter
select { object "Sol/Jupiter/Ganymede" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Ganymede. The fourth."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Jupiter" }
center { time 10 }
wait { duration 10 }
print { text "Back to look at Jupiter."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Callisto of Jupiter
select { object "Sol/Jupiter/Callisto" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Here is Callisto - Callisto takes the fifth."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Jupiter" }
center { time 10 }
wait { duration 10 }
print { text "Back to look at Jupiter."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Galileo of Jupiter
# select { object "Sol/Jupiter/Galileo" }
# center { time 10 }
# goto { time 7 distance 4 }
# timerate { rate 200 }
# follow {}
# wait { duration 10 }
# print { text "And here is Galileo. Finally - six."
# row -3
# column 5
# duration 3 }
# wait { duration 10 }
# select { object "Sol/Jupiter" }
# center { time 10 }
# wait { duration 10 }
# print { text "Back to look at Jupiter."
# row -3
# column 5
# duration 3 }
# wait { duration 10 }
# timerate { rate 1 }

#Explore Saturn with moons
timerate { rate 1 }
select { object "Sol/Saturn" }
wait { duration 10 }
print { text "A planet with rings? We shall now see."
row -3
column 5
duration 3 }
wait { duration 10 }
center { time 10 }
goto { time 7 distance 8 }
follow {}
timerate { rate 500 }
wait { duration 10 }
print { text "Saturn is always a favorite. Just look at those rings."
row -3
column 5
duration 3 }
wait { duration 10 }
print { text "Those are actually asteroids in orbit. Too much fun!"
row -3
column 5
duration 3 }
wait { duration 10 }
print { text "By the way, 9 moons here. So sit back and relax."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Mimas of Saturn
select { object "Sol/Saturn/Mimas" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Mimas - the first satelite."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Saturn" }
center { time 10 }
wait { duration 10 }
print { text "Here's Saturn."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Enceladus of Saturn
select { object "Sol/Saturn/Enceladus" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "This one's called Enceladus. Together now - ENCELADUS."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Saturn" }
center { time 10 }
wait { duration 10 }
print { text "Here's Saturn."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Tethys of Saturn
select { object "Sol/Saturn/Tethys" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "The next satelite - Tethys."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Saturn" }
center { time 10 }
wait { duration 10 }
print { text "Here's Saturn."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Dione of Saturn
select { object "Sol/Saturn/Dione" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Dione - notice a satelite is also a moon."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Saturn" }
center { time 10 }
wait { duration 10 }
print { text "Here's Saturn."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Rhea of Saturn
select { object "Sol/Saturn/Rhea" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Rhea."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Saturn" }
center { time 10 }
wait { duration 10 }
print { text "Here's Saturn."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Titan of Saturn
select { object "Sol/Saturn/Titan" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Titan - cool name."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Saturn" }
center { time 10 }
wait { duration 10 }
print { text "Here's Saturn."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Hyperion of Saturn
select { object "Sol/Saturn/Hyperion" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Hyperion - who came up with that one?."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Saturn" }
center { time 10 }
wait { duration 10 }
print { text "Here's Saturn - again."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Iapetus of Saturn
select { object "Sol/Saturn/Iapetus" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Ready for this on - Iapetus. Say that three times fast."
row -3
column 5
duration 4 }
wait { duration 10 }
select { object "Sol/Saturn" }
center { time 10 }
wait { duration 10 }
print { text "Here's Saturn."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Phoebe of Saturn
select { object "Sol/Saturn/Phoebe" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Phoebe - the last one. Just incase you lost count."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Saturn" }
center { time 10 }
wait { duration 10 }
print { text "This is it for Saturn."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }
wait { duration 10 }
print { text "On to Uranus - that's -YOUR- -AN- -US-."
row -3
column 5
duration 3 }
wait { duration 10 }

#Explore Uranus with moons
timerate { rate 1 }
select { object "Sol/Uranus" }
center { time 10 }
goto { time 7 distance 8 }
follow {}
timerate { rate 500 }
wait { duration 10 }
print { text "There it is, all blue and everything."
row -3
column 5
duration 3 }
wait { duration 10 }
print { text "Five moons (satelites) coming."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Miranda of Uranus
select { object "Sol/Uranus/Miranda" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Number one - Miranda."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Uranus" }
center { time 10 }
wait { duration 10 }
print { text "Now we see Uranus."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Ariel of Uranus
select { object "Sol/Uranus/Ariel" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Ariel - number two. Not the mermaid."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Uranus" }
center { time 10 }
wait { duration 10 }
print { text "Now we see Uranus."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Umbriel of Uranus
select { object "Sol/Uranus/Umbriel" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Ummm.... This is Umbriel."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Uranus" }
center { time 10 }
wait { duration 10 }
print { text "Now we see Uranus."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Titania of Uranus
select { object "Sol/Uranus/Titania" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Titania. Another cool name."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Uranus" }
center { time 10 }
wait { duration 10 }
print { text "Now we see Uranus."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Oberon of Uranus
select { object "Sol/Uranus/Oberon" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "And lastly - Oberon."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Uranus" }
center { time 10 }
wait { duration 10 }
print { text "Now we see Uranus."
row -3
column 5
duration 3 }
wait { duration 10 }
print { text "Who knows what's next?."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

#Explore Neptune with moons
timerate { rate 1 }
select { object "Sol/Neptune" }
center { time 10 }
goto { time 7 distance 8 }
follow {}
timerate { rate 500 }
wait { duration 10 }
print { text "Big bad Neptune."
row -3
column 5
duration 3 }
wait { duration 10 }
print { text "Only two moons. Ready?"
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Proteus of Neptune
select { object "Sol/Neptune/Proteus" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "First - Proteus. Wow... half done."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Neptune" }
center { time 10 }
wait { duration 10 }
print { text "Big bad Neptune."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Nereid of Neptune
select { object "Sol/Neptune/Nereid" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Last - Nereid. That was fast."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Neptune" }
center { time 10 }
wait { duration 10 }
print { text "Big bad Neptune."
row -3
column 5
duration 3 }
wait { duration 10 }
wait { duration 10 }
print { text "The last planet is coming."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

#Explore Pluto with moons
timerate { rate 1 }
select { object "Sol/Pluto" }
center { time 10 }
goto { time 7 distance 8 }
follow {}
timerate { rate 500 }
wait { duration 10 }
print { text "Here it is. Mickey's dog - I mean, Pluto."
row -3
column 5
duration 3 }
wait { duration 10 }
print { text "One moon, and we're done."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

# Explore moon Charon of Pluto
select { object "Sol/Pluto/Charon" }
center { time 10 }
goto { time 7 distance 4 }
timerate { rate 200 }
follow {}
wait { duration 10 }
print { text "Charon. Wow - The solar system."
row -3
column 5
duration 3 }
wait { duration 10 }
select { object "Sol/Pluto" }
center { time 10 }
wait { duration 10 }
print { text "Almost forgot - There's Pluto."
row -3
column 5
duration 3 }
wait { duration 10 }
timerate { rate 1 }

wait { duration 10 }
print { text "Well, that's all. Thanks for watching."
row -3
column 5
duration 8 }
wait { duration 10 }
}

--------------------------------------------------------------------------------

Thank you,

christoria

Guest

Post #2by Guest » 05.11.2003, 07:37

Excellent...

Keep them coming, Christoria. Your doing all of the work, and I'm having all of the fun. I've just copied your script, and I'll let you know what happens on my clunker.

By the way, you can insert the script text as code if you want to (Like Don suggested to me for your Distances Script). See the "Code" button above the space in which you're editing your post.

Thanks *very* much for keeping me entertained. :D

Take care, Bob

Bob Hegwood
Posts: 1048
Joined: 19.10.2003
With us: 21 years 1 month
Location: Germantown, Ohio - USA

Post #3by Bob Hegwood » 05.11.2003, 07:40

Oops...

That was me Christoria.

Sorry, I forgot that I hadn't logged in yet. I just got so excited when I saw your new script, that I *had* to copy it and thank you for the effort.

Take care, Bob
Bob Hegwood
Windows XP-SP2, 256Meg 1024x768 Resolution
Intel Celeron 1400 MHz CPU
Intel 82815 Graphics Controller
OpenGL Version: 1.1.2 - Build 4.13.01.3196
Celestia 1.4.0 Pre6 FT1

TERRIER
Posts: 717
Joined: 29.04.2003
With us: 21 years 6 months
Location: West Yorkshire, England

Post #4by TERRIER » 05.11.2003, 14:26

Christoria

Cool script. 8) This is a great way to see a tour the solar system for when I'm feeling so lazy, that even using my mouse is too much effort!

However I seem to have a lot more moons around the outer planets, than what you are describing. One major moon you have missed out is Neptune's Triton. Can you please add this to your tour?

regards
TERRIER
1.6.0:AMDAth1.2GHz 1GbDDR266:Ge6200 256mbDDR250:WinXP-SP3:1280x1024x32FS:v196.21@AA4x:AF16x:IS=HQ:T.Buff=ON Earth16Kdds@15KkmArctic2000AD:FOV1:SPEC L5dds:NORM L5dxt5:CLOUD L5dds:
NIGHT L5dds:MOON L4dds:GALXY ON:MAG 15.2-SAP:TIME 1000x:RP=OGL2:10.3FPS

Bob Hegwood
Posts: 1048
Joined: 19.10.2003
With us: 21 years 1 month
Location: Germantown, Ohio - USA

Post #5by Bob Hegwood » 05.11.2003, 17:44

Christoria,

Just so you know... The script worked fine under 1.3.0 with NO changes made to it. You've given me the basis for a more complete tour now though.

Sheesh! Just when I thought I could rest for a while. Now, I'm not going to be able to sleep until every moon, satellite, planet and asteroid is visited via my PC. :lol:

Thanks again, Bob
Bob Hegwood

Windows XP-SP2, 256Meg 1024x768 Resolution

Intel Celeron 1400 MHz CPU

Intel 82815 Graphics Controller

OpenGL Version: 1.1.2 - Build 4.13.01.3196

Celestia 1.4.0 Pre6 FT1

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 22 years 4 months
Location: Lyon (France)

Post #6by Christophe » 05.11.2003, 20:45

The tour-system.celx lua script visits all objects in the solar system, but it's a bit boring when you get to the outer planets... I should add a limit to the number of satellites visited.
Christophe

Topic author
christoria
Posts: 74
Joined: 03.11.2003
With us: 21 years

Post #7by christoria » 06.11.2003, 03:02

Thanks for all of the comments.

TERRIER - Triton will be added. Sorry.

Bob - Thanks for the info on v1.3.0. I'd love to see your modified script of everything included.

Christophe - Thanks for the link. I'll try it later. I want to learn Lua next.

Thank you,

christoria

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #8by don » 19.11.2003, 21:13

Howdy christoria,

Gee wiz, I got so caught up in the Sun-Planet size comparison script that I plumb missed this one! Sorry! :oops:

Not sure what the original looks like but your version is nice.

Some of the text is displayed a bit too fast for me though. And, you might want to define an FOV setting in the script, as it was probably written for an FOV of 45, instead of the current 25 (in 1.3.1 p11).

A challenge for you, if you feel up to it :D ...

After a moon is displayed, the script currently pans back to it's parent planet, which usually results in the moon no longer being displayed. My challenge to you would be to have the script keep the moon in view, maybe moving it aside slightly, and bring the planet into view, so that both are displayed at the same time.

What do you think? :)

-Don G.

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 22 years 4 months
Location: Lyon (France)

Post #9by Christophe » 19.11.2003, 21:36

In CVS (I don't know if it's in the latest pre-release) there is a new command that centers the selection while keeping the primary body at its current position, that is you orbit the primary body to bring the selection at the center of the screen.

For example, go to the Earth, off center it a bit making sure it lives the center of the screen free, select the moon and press SHIFT+C.

I don't think there is a script command for it yet.
Christophe

Topic author
christoria
Posts: 74
Joined: 03.11.2003
With us: 21 years

Sure Thing don

Post #10by christoria » 20.11.2003, 01:17

don,

I'll give it a shot. Currently I'm making sure everything is perfect for a complete backup of Celestia. I'm finding I installed things too quickly and have doubles of some galaxies. I'm also adding some new ones like Andromeda with Selden's "Billboard" mesh. I'll certainly get to it soon, but unfortunately not today or tomorrow. Also, great job on the modified planets script. I didn't time it perfectly, but it seemed about ten minutes. Really great presentation in a quick little script.

By the way, to anyone interested in adding more galaxies or other things themselves, I highly recommend the "Billboard" mesh. It is so easy to use and all you really need is a hex editor and notepad - and of course some pictures.
Thank you,

christoria
-------------
Your stomach has to produce a new layer of mucus every two weeks; otherwise it will digest itself.

Topic author
christoria
Posts: 74
Joined: 03.11.2003
With us: 21 years

Sure Thing don

Post #11by christoria » 20.11.2003, 01:19

don,

I'll give it a shot. Currently I'm making sure everything is perfect for a complete backup of Celestia. I'm finding I installed things too quickly and have doubles of some galaxies. I'm also adding some new ones like Andromeda with Selden's "Billboard" mesh. I'll certainly get to it soon, but unfortunately not today or tomorrow. Also, great job on the modified planets script. I didn't time it perfectly, but it seemed about ten minutes. Really great presentation in a quick little script.

By the way, to anyone interested in adding more galaxies or other things themselves, I highly recommend the "Billboard" mesh. It is so easy to use and all you really need is a hex editor and notepad - and of course some pictures.
Thank you,



christoria

-------------

Your stomach has to produce a new layer of mucus every two weeks; otherwise it will digest itself.

Topic author
christoria
Posts: 74
Joined: 03.11.2003
With us: 21 years

Post #12by christoria » 20.11.2003, 01:24

uh...

sorry.
Thank you,



christoria

-------------

Your stomach has to produce a new layer of mucus every two weeks; otherwise it will digest itself.

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #13by don » 20.11.2003, 06:23

Hi Christophe,

Christophe wrote:For example, go to the Earth, off center it a bit making sure it lives the center of the screen free, select the moon and press SHIFT+C.
Yes, this function is in pre 11. However, sometimes it doesn't work, and I've not looked into exactly why yet, or made note of the circumstances.


Christophe wrote:I don't think there is a script command for it yet.

You are correct, as is the case with many Celestia keystroke commands.

What would be really helpful, and could be used by both .cel and .celx scripting, would be a command to pass Celestia a keystroke combination (character, upper or lower case, Ctrl, Shift, etc.) via a script. This way, most new Celestia commands would instantly be available to scripting as well -- without the immediate need to code a command for either scripting language.

Obviously, things like data entry (Enter key), capturing an image or movie, etc. would be excluded, along with multiple target functions, like the one we are discussing (Shift+c). [Edited: Actually setframe could be used to select both objects.]

For example, one would use the existing select command to select an object, and then "send" a "g" keystroke to goto the object. Just a thought.

-Don G.
Last edited by don on 20.11.2003, 06:58, edited 1 time in total.

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Re: Sure Thing don

Post #14by don » 20.11.2003, 06:41

Hi christoria,

christoria wrote:I'll give it a shot.
Great! There is certainly no urgency to it, it's just another learning experience to be taken slowly when you have the time and energy.

I've really wanted to play with the setposition, setorientation, rotate, orbit and other movement type commands, but just have not found the time <sigh>. If you end up using any of these, please keep notes about your experience and what you learn along the way, so I can add them to the Scripting Guide to help others too <smile>.


christoria wrote:Currently I'm making sure everything is perfect for a complete backup of Celestia. I'm finding I installed things too quickly and have doubles of some galaxies.
It is very easy for this to happen, if add-on creators call an object by different names -- their "M" number, the text description, etc. Sometimes, add-ons can get confusing if you're not an astronomer.


christoria wrote:I'm also adding some new ones like Andromeda with Selden's "Billboard" mesh.
I started playing with his write-up about billboards some time ago, but got into something else and never got back to it <frown>. There are soooo many FUN things to do in Celestia that it is like being a kid in a candy store! 8O :D


christoria wrote:Also, great job on the modified planets script. I didn't time it perfectly, but it seemed about ten minutes. Really great presentation in a quick little script.

Thank you christoria. Couldn't (wouldn't) have done it without ya! :D And thanks to Bob also, for the more accurate distance values and spelling / grammer corrections. It was a good 3-way effort, yes?

I'm not much of a "creator" (thinking up new things), but when I come across something interesting like your script, that I can actually see in action, then the thinking comes alive as to how it might be different. Very strange, but that's me. :P

Yes, the new one runs between 10 and 11 minutes.

Ciao for now...

-Don G.

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 22 years 4 months
Location: Lyon (France)

Post #15by Christophe » 20.11.2003, 08:52

don wrote:Yes, this function is in pre 11. However, sometimes it doesn't work, and I've not looked into exactly why yet, or made note of the circumstances.

If you find a reproducible way where it fails let us know.

don wrote:What would be really helpful, and could be used by both .cel and .celx scripting, would be a command to pass Celestia a keystroke combination (character, upper or lower case, Ctrl, Shift, etc.) via a script. This way, most new Celestia commands would instantly be available to scripting as well -- without the immediate need to code a command for either scripting language.


That's problematic because the keyboard command mapping is in a sorry state at the moment and is very likely to change. Relying on keystrokes in scripts would be likely to brake your scripts with futur versions of Celestia.

What is on the TODO list for the next version is a cleaner internal API to handle keystrokes that would allow easier integration of new commands in the script languages and even personnalized key mappings (think non-US keyboards).
Christophe

Topic author
christoria
Posts: 74
Joined: 03.11.2003
With us: 21 years

Re: Sure Thing don

Post #16by christoria » 20.11.2003, 16:52

And thanks to Bob also, for the more accurate distance values and spelling / grammer corrections. It was a good 3-way effort, yes?


Indeed - Sorry Bob. Thank you also for the time you've put into this. What a cool script it's become by now for everyone to see.
Thank you,



christoria

-------------

Your stomach has to produce a new layer of mucus every two weeks; otherwise it will digest itself.

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #17by don » 20.11.2003, 21:39

Howdy Christophe,

Christophe wrote:If you find a reproducible way where it fails let us know.
You can count on me. :wink:


Christophe wrote:That's problematic because the keyboard command mapping is in a sorry state at the moment and is very likely to change.
The thought behind my idea is to merely have the script parser catch non-allowed items and then format the keystroke it gets from the script to the format Celestia wants to see and simply pass it to Celestia's keystroke parser. This way, it would not be tied to any keystrokes themselves (except for the non-allowed items).

However, if the keystrokes themselves are going to change in the near future, then no, this would not work right now.


Christophe wrote:What is on the TODO list for the next version is a cleaner internal API to handle keystrokes that would allow easier integration of new commands in the script languages and even personnalized key mappings (think non-US keyboards).

This will make a LOT of folks VERY HAPPY! :D

-Don G.

Harry
Posts: 559
Joined: 05.09.2003
With us: 21 years 2 months
Location: Germany

Post #18by Harry » 20.11.2003, 22:51

Christophe wrote:What is on the TODO list for the next version is a cleaner internal API to handle keystrokes that would allow easier integration of new commands in the script languages and even personnalized key mappings (think non-US keyboards).


If keyboard-handling gets changed anyway: it would be nice if it were possible to pass keypresses through to a script. AFAICS currently not all keystrokes reach CelestiaCore::charEntered(), at least not in KDE, so there is no central place where they could be intercepted :?

Harald

Bob Hegwood
Posts: 1048
Joined: 19.10.2003
With us: 21 years 1 month
Location: Germantown, Ohio - USA

Re: Sure Thing don

Post #19by Bob Hegwood » 23.11.2003, 06:57

christoria wrote:Indeed - Sorry Bob. Thank you also for the time you've put into this. What a cool script it's become by now for everyone to see.


Hey, no problem Christoria...

Don't be sorry for anything you've done here! You've added a great, free resource to the bag of fun that is Celestia. Keep 'em coming! :D

Thanks again, Bob
Bob Hegwood

Windows XP-SP2, 256Meg 1024x768 Resolution

Intel Celeron 1400 MHz CPU

Intel 82815 Graphics Controller

OpenGL Version: 1.1.2 - Build 4.13.01.3196

Celestia 1.4.0 Pre6 FT1

Guest

Re: Sure Thing don

Post #20by Guest » 24.09.2004, 02:36

don wrote:Hi christoria,

christoria wrote:I'll give it a shot.
Great! There is certainly no urgency to it, it's just another learning experience to be taken slowly when you have the time and energy.

I've really wanted to play with the setposition, setorientation, rotate, orbit and other movement type commands, but just have not found the time <sigh>. If you end up using any of these, please keep notes about your experience and what you learn along the way, so I can add them to the Scripting Guide to help others too <smile>.


christoria wrote:Currently I'm making sure everything is perfect for a complete backup of Celestia. I'm finding I installed things too quickly and have doubles of some galaxies.
It is very easy for this to happen, if add-on creators call an object by different names -- their "M" number, the text description, etc. Sometimes, add-ons can get confusing if you're not an astronomer.


christoria wrote:I'm also adding some new ones like Andromeda with Selden's "Billboard" mesh.
I started playing with his write-up about billboards some time ago, but got into something else and never got back to it <frown>. There are soooo many FUN things to do in Celestia that it is like being a kid in a candy store! 8O :D


christoria wrote:Also, great job on the modified planets script. I didn't time it perfectly, but it seemed about ten minutes. Really great presentation in a quick little script.
Thank you christoria. Couldn't (wouldn't) have done it without ya! :D And thanks to Bob also, for the more accurate distance values and spelling / grammer corrections. It was a good 3-way effort, yes?

I'm not much of a "creator" (thinking up new things), but when I come across something interesting like your script, that I can actually see in action, then the thinking comes alive as to how it might be different. Very strange, but that's me. :P

Yes, the new one runs between 10 and 11 minutes.

Ciao for now...

-Don G.


Return to “Scripting”