Activate only one Constelation

All about writing scripts for Celestia in Lua and the .cel system
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 10 months
Location: Seattle, Washington, USA

Post #21by chris » 26.02.2008, 17:32

Very nice--the color highlighting looks like a great feature. If it's OK with you m3ntol, I can integrate this change into Celestia when you're ready.

--Chris

Topic author
m3ntol
Posts: 29
Joined: 23.02.2008
With us: 16 years 9 months
Location: Madrid, Spain, Earth, Solar System, Milky Way, Virgo Cluster

Post #22by m3ntol » 26.02.2008, 17:34

ANDREA wrote:Thanks a lot, m3ntol, you have been very kind, appreciated.
And moreover you did this in a very short time, congratulations! 8O
Bye

Andrea :D


Celestia code is clean and clear. Programmers did a great job, so add modifications is very easy.

BTW... how do you get these controls on the right side of the screen? :roll: :roll: May be I'm C++ experience programmer but, newby on Celestia at all :cry: :cry:
Last edited by m3ntol on 26.02.2008, 17:59, edited 1 time in total.

Topic author
m3ntol
Posts: 29
Joined: 23.02.2008
With us: 16 years 9 months
Location: Madrid, Spain, Earth, Solar System, Milky Way, Virgo Cluster

Post #23by m3ntol » 26.02.2008, 17:38

chris wrote:Very nice--the color highlighting looks like a great feature. If it's OK with you m3ntol, I can integrate this change into Celestia when you're ready.

--Chris


I'm ready :D all I have to say is thank you, all guys, for this great program. So take the code, ask me wathever you need and I'll try to help as much as I can.

Of course, if you think I can help by doing any other coding, I'll be glad to colaborate.

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 6 months
Location: Rome, ITALY

Post #24by ANDREA » 26.02.2008, 18:00

m3ntol wrote:
ANDREA wrote:Thanks a lot, m3ntol, you have been very kind, appreciated.
And moreover you did this in a very short time, congratulations! 8O
Bye. Andrea :D
Celestia code is clean and clear. Programmers did a great job, so add modifications is very easy.
BTW... how do you get the controls on the right side of the screen? :roll: :roll: May be I'm C++ experience programmer but, newby on Celestia at all :cry: :cry:

M3ntol, it's thanks to the very useful Vincent's LUA Edu Tools, that you can find here:
http://celestiaproject.net/forum/viewtopic.php ... sc&start=0
It gives the possibility to modify most of the Celestia view settings, without the impact of the usual Windows "windows". :wink:
Give a look at what it can show (and all colors can be modified!): :wink:

Image

It can be shown or eliminated with a single click of the mouse right of the screen.
Bye

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 6 months
Location: Rome, ITALY

Post #25by ANDREA » 26.02.2008, 18:04

m3ntol wrote:
chris wrote:Very nice--the color highlighting looks like a great feature. If it's OK with you m3ntol, I can integrate this change into Celestia when you're ready.--Chris
.......
Of course, if you think I can help by doing any other coding, I'll be glad to colaborate.

Ho ho, be sure that we'll find for you something to code, stay tuned! :twisted:
Bye

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

Avatar
Cham M
Posts: 4324
Joined: 14.01.2004
Age: 60
With us: 20 years 10 months
Location: Montreal

Post #26by Cham » 26.02.2008, 19:03

m3ntol,

oh yesss, we need you with the code ! Chris will certainly be thankfull if a new developper is coming to our small community.
"Well! I've often seen a cat without a grin", thought Alice; "but a grin without a cat! It's the most curious thing I ever saw in all my life!"

Topic author
m3ntol
Posts: 29
Joined: 23.02.2008
With us: 16 years 9 months
Location: Madrid, Spain, Earth, Solar System, Milky Way, Virgo Cluster

Post #27by m3ntol » 26.02.2008, 19:13

Ok,
I'll be very proud to be a little part of Celestia :)

Topic author
m3ntol
Posts: 29
Joined: 23.02.2008
With us: 16 years 9 months
Location: Madrid, Spain, Earth, Solar System, Milky Way, Virgo Cluster

Post #28by m3ntol » 26.02.2008, 19:35

Uhmm :)

a nice script to take advantange of new features. Also need to add this code to the asterism.dat file in the data directory.

Code: Select all

"Polaris"
[
[ "Alpha UMa" "Alpha UMi" ]
]


and this is the script. Try it :) it's very funny

Code: Select all

{

  cancel{}
   labels { clear "asteroids|comets|constellations|galaxies|moons|planets|spacecraft|stars"}
   unmarkall {}
   set {name "ambientlightlevel" value 0.0}
   setfaintestautomag45deg {magnitude 9.0}
   set {name "fov" value 60}
   set {name "stardistancelimit" value 1000000}
   renderflags { set "atmospheres|automag|nightmaps|planets|pointstars|stars"}
   timerate { rate 1.0 }
 
 
  select { object "HIP 56716" }
  center { time 3}
 
  constellations { clear "all" }
  constellations { set "Ursa_Major" }
 
  renderflags { set "constellations" }
  labels { set "constellations" }
 
  wait { duration 3 }
 
  constellationcolor { color [1 0 0 ] set "Polaris" }
 
  constellations { set "Polaris" }
  wait { duration 0.3 }
  constellations { clear "Polaris" }
  wait { duration 0.3 }
  constellations { set "Polaris" }
  wait { duration 0.3 }
  constellations { clear "Polaris" }
  wait { duration 0.3 }
  constellations { set "Polaris" }
  wait { duration 0.3 }
  constellations { clear "Polaris" }
  wait { duration 0.3 }
  constellations { set "Polaris" }
  wait { duration 0.3 }
  constellations { clear "Polaris" }
  wait { duration 0.3 }
  constellations { set "Polaris" }
  wait { duration 0.3 }
  constellations { clear "Polaris" }
  wait { duration 0.3 }
  constellations { set "Polaris" }
  wait { duration 0.3 }
  constellations { clear "Polaris" }
  wait { duration 0.3 }
  constellations { set "Polaris" }
  wait { duration 0.3 }
 
 
  constellations { set "Ursa_Minor" }
   wait { duration 3 }
  constellations { clear "Polaris" }
 }

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 6 months
Location: Rome, ITALY

Post #29by ANDREA » 26.02.2008, 21:34

m3ntol wrote:Uhmm :) a nice script to take advantange of new features. Also need to add this code to the asterism.dat file in the data directory.

Yes. it's nice to show how to reach Polaris starting from UMa.
But many lines used to step to another constellation are curves, and I have many doubts that these could be shown in Celestia. :cry:
Moreover, we have the max 99 asterism limit, and this limits moreover such a use.
Sorry, my little cent. :wink:
Bye

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 10 months
Location: Seattle, Washington, USA

Post #30by chris » 27.02.2008, 00:40

m3ntol,

Could you post of version of the file in zip format? I don't have a RAR decompressor, and it looks like WinRAR is shareware.

Thanks,

--Chris

Andy74 M
Posts: 114
Joined: 21.07.2004
Age: 50
With us: 20 years 4 months
Location: Regensburg, Germany

Post #31by Andy74 » 27.02.2008, 07:43

chris wrote:m3ntol,

Could you post of version of the file in zip format? I don't have a RAR decompressor, and it looks like WinRAR is shareware.

Thanks,

--Chris

Chris,

have you heard of 7-zip?
It is the best tool for compressing/decompressing I know. And it is open source. RAR files can be decompressed by 7-zip. See http://www.7-zip.org.
The feature list from the website:
The main features of 7-Zip
+ High compression ratio in new 7z format with LZMA compression
+ Supported formats:
++ Packing / unpacking: 7z, ZIP, GZIP, BZIP2 and TAR
++ Unpacking only: RAR, CAB, ISO, ARJ, LZH, CHM, MSI, WIM, Z, CPIO, RPM, DEB and NSIS
+ For ZIP and GZIP formats, 7-Zip provides a compression ratio that is 2-10 % better than the ratio provided by PKZip and WinZip
+ Strong AES-256 encryption in 7z and ZIP formats
+ Self-extracting capability for 7z format
+ Integration with Windows Shell
+ Powerful File Manager
+ Powerful command line version
+ Plugin for FAR Manager


Bye
Andy

Topic author
m3ntol
Posts: 29
Joined: 23.02.2008
With us: 16 years 9 months
Location: Madrid, Spain, Earth, Solar System, Milky Way, Virgo Cluster

Post #32by m3ntol » 27.02.2008, 08:41

ANDREA wrote:Yes. it's nice to show how to reach Polaris starting from UMa.
But many lines used to step to another constellation are curves, and I have many doubts that these could be shown in Celestia. :cry:
Moreover, we have the max 99 asterism limit, and this limits moreover such a use.
Sorry, my little cent. :wink:
Bye

Andrea :D

aahh!! I can see a challenge in your words muaahhahh :twisted: :twisted:

Let me take a look at OpenGL capabilities. May be there is some kind of 'arch', 'spline' or similar drawing option which on 3 or more given points it would connetc it with a curve.

In the other hand, 99 constellations limit is not so hard as you think. You can have 1000 thousand asterism in the dat file. The limit is the total ammount of asterism you use in a single 'constellation' or 'constellationcolor' sentence.

So you can use 1000 thousand differents asterism in the same script. Even if you need to give color to, for example, 540 asterism, you simply have to write 6 constellationcolor sentences, each one with 90 asterism in the list.

chris wrote:m3ntol,

Could you post of version of the file in zip format? I don't have a RAR decompressor, and it looks like WinRAR is shareware.

Thanks,

--Chris


Here you get the sources:
http://www.astrohenares.org/upd/data/source.zip

And here the exe and sample:
http://www.astrohenares.org/upd/data/Celestia.zip

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 6 months
Location: Rome, ITALY

Post #33by ANDREA » 27.02.2008, 11:44

m3ntol wrote:
ANDREA wrote:?€¦But many lines used to step to another constellation are curves, and I have many doubts that these could be shown in Celestia. :cry:
Andrea :D

aahh!! I can see a challenge in your words muaahhahh :twisted: :twisted:
Let me take a look at OpenGL capabilities. May be there is some kind of 'arch', 'spline' or similar drawing option which on 3 or more given points it would connetc it with a curve.
Oh oh, you caught me, yes, that was a challenge for you! :lol:

m3ntol wrote:[In the other hand, 99 constellations limit is not so hard as you think. You can have 1000 thousand asterism in the dat file. The limit is the total ammount of asterism you use in a single 'constellation' or 'constellationcolor' sentence.
So you can use 1000 thousand differents asterism in the same script. Even if you need to give color to, for example, 540 asterism, you simply have to write 6 constellationcolor sentences, each one with 90 asterism in the list.

This looks very interesting.

And, as you have added simply and in a very short time some new commands to the cel scripts, here is another challenge for you.
Recently, starting from Celestia 1.5pre4, Oct 2007, here
http://celestiaproject.net/forum/viewtopic.php ... tlinecolor
we have new celx commands for changing the labels and orbit lines colour and saturation, like here:

Code: Select all

celestia:setlabelcolor("planets", 0.69, 0.69, 0.69)
celestia:setlabelcolor("moons", 0.05, 0.55, 0.05)
celestia:setlabelcolor("asteroids", 0.67, 0.06, 0.06)
celestia:setlabelcolor("comets", 0.61, 0.61, 0.06)
celestia:setlabelcolor("spacecraft", 0.06, 0.37, 0.63)

celestia:setlinecolor ("planetorbits", 0.20, 0.20, 0.20)
celestia:setlinecolor ("moonorbits", 0.008, 0.18, 0.008)
celestia:setlinecolor ("asteroidorbits", 0.43, 0.04, 0.04)
celestia:setlinecolor ("cometorbits", 0.16, 0.16, 0.03)
celestia:setlinecolor ("spacecraftorbits", 0.04, 0.27, 0.43)


The problem is that people like me and many other, unable to use celx scripting code (our fault, probably, but if all of us were able to be electronic engineers, who will project buildings or aircraft, or what else?), we must use these commands as a celx file, with embedded within it the cel script we are used to write.
I find this too complicated, IMHO.
Don?€™t know if I have been sufficiently clear, beg your pardon for my bad English, but I would like to have more celx-like commands in cel scripts, like the above ones.
Do you think this could be done?
Or do you think that it would be simpler (as we suggested) to add these settings in the celestia.cfg file?
Obviously the first system would be more flexible, but the second one would be equally well accepted.
Challenges?€¦, oh yea, challenges! :twisted:
Bye

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

Topic author
m3ntol
Posts: 29
Joined: 23.02.2008
With us: 16 years 9 months
Location: Madrid, Spain, Earth, Solar System, Milky Way, Virgo Cluster

Post #34by m3ntol » 28.02.2008, 09:41

Hello,
Drawing curves in much more complicated than I imagined. My first approach was create a new kind of asterism, for example, a normal asterism with a name starting with a $ or any other special character. So, when the render was about to draw the asterism, give it a special drawing tratament. Easy and non intrusive but...

Spline interpolation is easy but the real question is that stars are in Universe coordinates and I need to make the interpolation using screen coordinates.

The result is not good because when you travel around the universe screen coordinates are useless and resulting curve is a nosense. I'm still thinking how to make this curves in a good way.

About the other challenge, I'm not sure what you reaaly want. Do you wish a more easy sintax to write this commands?

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 6 months
Location: Rome, ITALY

Post #35by ANDREA » 28.02.2008, 11:31

m3ntol wrote: Hello,
Drawing curves in much more complicated than I imagined. The result is not good because when you travel around the universe screen coordinates are useless and resulting curve is a nosense. I'm still thinking how to make this curves in a good way.
M3ntol, I supposed it could be a difficult task, alas! :cry:
m3ntol wrote:About the other challenge, I'm not sure what you reaaly want. Do you wish a more easy sintax to write this commands?

No, I simply (simply???) would like to have in cel scripts the same celx commands about labels and orbit lines colours. 8O
I.e. added the actual celx scripts commands:

Code: Select all

celestia:setlabelcolor("stars", 0.5, 0.5, 1.0)
celestia:setlabelcolor("planets", 0.74, 0.74, 0.74)
celestia:setlabelcolor("moons", 0.06, 0.75, 0.06)
celestia:setlabelcolor("asteroids", 0.74, 0.08, 0.08)
celestia:setlabelcolor("comets", 0.71, 0.71, 0.07)
celestia:setlabelcolor("spacecraft", 0.08, 0.43, 0.73)
celestia:setlabelcolor("locations", 0.24,  0.89,  0.43)
celestia:setlabelcolor("galaxies", 0.4, 0.95, 0.95)
celestia:setlabelcolor("nebulae", 0.1, 0.85, 0.85)
celestia:setlabelcolor("openclusters", 0.1, 0.85, 0.85)
celestia:setlabelcolor("constellations", 0.5, 0.0, 1.0)
celestia:setlabelcolor("equatorialgrid", 0.3, 0.7, 0.7)

celestia:setlinecolor ("starorbits", 0.5, 0.5, 0.8)
celestia:setlinecolor ("planetorbits", 0.20, 0.20, 0.20)
celestia:setlinecolor ("moonorbits", 0.008, 0.20, 0.008)
celestia:setlinecolor ("asteroidorbits", 0.43, 0.04, 0.04)
celestia:setlinecolor ("cometorbits", 0.32, 0.32, 0.04)
celestia:setlinecolor ("spacecraftorbits", 0.05, 0.31, 0.50)
celestia:setlinecolor ("constellations", 0.28, 0.0, 0.66)
celestia:setlinecolor ("boundaries", 0.48, 0.2, 0.22)
celestia:setlinecolor ("equatorialgrid", 0.18, 0.48, 0.48)


I would like to have the same commands in cel scripts, to set the RGB colors labels and orbit lines of all the above given objects, something like this:

Code: Select all

setlinecolor { "planetorbits", 0.06, 0.12, 0.34 }   

I hope to have been more clear this time. :wink:
Bye

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

Topic author
m3ntol
Posts: 29
Joined: 23.02.2008
With us: 16 years 9 months
Location: Madrid, Spain, Earth, Solar System, Milky Way, Virgo Cluster

Post #36by m3ntol » 28.02.2008, 14:14

Ok,
I've understood your request. Also I've peek the code and it is easy to do. I only need to create commands to chage the Renderer::****Color of labels and lines.

The questions is if this is interesting to do. I mean may be we are duplicating commands and create innecesary confusion and complexity to the script users.

So if Celestia creators agree with you I'll make the changes pretty soon.

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 6 months
Location: Rome, ITALY

Post #37by ANDREA » 28.02.2008, 14:29

m3ntol wrote:Ok, I've understood your request. Also I've peek the code and it is easy to do. I only need to create commands to change the Renderer::****Color of labels and lines. The questions is if this is interesting to do. I mean may be we are duplicating commands and create unnecessary confusion and complexity to the script users.
So if Celestia creators agree with you I'll make the changes pretty soon.

This looks very nice for me, m3ntol.
Regarding the need of agreement of Celestia creators, I suppose that adding new commands possibilities to cel scripts (that IMO are widely more used than celx scripts, at least by poor minded people like me), should not hurt anyone. 8)
Obviously this should not clutch with any use of celx, but give more possibilities to cel scripts users, at least I suppose so.
But if this could create problems to celx code, I?€™ll withdraw my proposal.
Chris, do you agree?
Please, say yes! :wink:
Bye

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 10 months
Location: Seattle, Washington, USA

Post #38by chris » 28.02.2008, 18:53

ANDREA wrote:
m3ntol wrote:Ok, I've understood your request. Also I've peek the code and it is easy to do. I only need to create commands to change the Renderer::****Color of labels and lines. The questions is if this is interesting to do. I mean may be we are duplicating commands and create unnecessary confusion and complexity to the script users.
So if Celestia creators agree with you I'll make the changes pretty soon.
This looks very nice for me, m3ntol.
Regarding the need of agreement of Celestia creators, I suppose that adding new commands possibilities to cel scripts (that IMO are widely more used than celx scripts, at least by poor minded people like me), should not hurt anyone. 8)
Obviously this should not clutch with any use of celx, but give more possibilities to cel scripts users, at least I suppose so.
But if this could create problems to celx code, I?€™ll withdraw my proposal.
Chris, do you agree?
Please, say yes! :wink:
Bye


I'm no fan of cel scripting, but as long as other people are doing the work, I don't mind if new commands are added :) I still think that the effort would be better spent creating a small Lua library so that celx scripting becomes as easy as cel scripting--the basic stuff is already pretty easy.

Anyhow . . . all cel script commands have the form:

command { name1 value1 name2 value2 ... }

That is, there are no unnamed parameters. Unless someone wants to write a new cel script parser (not recommended at all), this is how all new commands have to work. So, the setlinecolor command would look like something like this:

setlinecolor { item "planetorbits" color [ 0.06 0.12 0.34 ] }

Look OK?

--Chris

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 6 months
Location: Rome, ITALY

Post #39by ANDREA » 28.02.2008, 19:23

chris wrote:
ANDREA wrote:
m3ntol wrote:Ok, I've understood your request. Also I've peek the code and it is easy to do. I only need to create commands to change the Renderer::****Color of labels and lines. The questions is if this is interesting to do. I mean may be we are duplicating commands and create unnecessary confusion and complexity to the script users.
So if Celestia creators agree with you I'll make the changes pretty soon.
This looks very nice for me, m3ntol.
Regarding the need of agreement of Celestia creators, I suppose that adding new commands possibilities to cel scripts (that IMO are widely more used than celx scripts, at least by poor minded people like me), should not hurt anyone. 8)
Obviously this should not clutch with any use of celx, but give more possibilities to cel scripts users, at least I suppose so.
But if this could create problems to celx code, I?€™ll withdraw my proposal.
Chris, do you agree?
Please, say yes! :wink:
Bye

I'm no fan of cel scripting, but as long as other people are doing the work, I don't mind if new commands are added :) I still think that the effort would be better spent creating a small Lua library so that celx scripting becomes as easy as cel scripting--the basic stuff is already pretty easy.
Anyhow . . . all cel script commands have the form:
command { name1 value1 name2 value2 ... }
That is, there are no unnamed parameters. Unless someone wants to write a new cel script parser (not recommended at all), this is how all new commands have to work. So, the setlinecolor command would look like something like this:

setlinecolor { item "planetorbits" color [ 0.06 0.12 0.34 ] }

Look OK?--Chris

It's wonderful, Chris, thank you for still supporting non-celxing people.
BTW I'm sure that old geezer Bob (that I don't read from a while, and hope be fine) would be very pleased from these additions to cel script commands.

Anyhow, if there would be a more friendly beginner help, probably more people would appreciate celx, IMHO. :wink:
Bye and many thanks.

M3ntol, this is a green light for you, so, at your leisure... :wink:
Bye and thank you very much.

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

Avatar
Cham M
Posts: 4324
Joined: 14.01.2004
Age: 60
With us: 20 years 10 months
Location: Montreal

Post #40by Cham » 28.02.2008, 23:20

m3ntol,

there is some "small" coding project that may interest you, related to stars :). Please, see Chris's comment on that page :

http://celestiaproject.net/forum/viewtopic.php?p=100862#100862
"Well! I've often seen a cat without a grin", thought Alice; "but a grin without a cat! It's the most curious thing I ever saw in all my life!"


Return to “Scripting”