Hi eburacum,
thanks for your post. If you have any suggestion on the script, feel free to tell.
Regarding your question, you can try this
(newer) version
it is ready for star support (a few code uncommenting is necessary, but it's all documented in the code).
The problem i ran into is that Celestia will crash (not enough memory ?) when trying to mark all stars, around 90,000 stars. So i disabled unconditional star marking in my script.
The other problem is that marking a big number of objects is very slow if a wait() is involved.
I tried removing the wait() command from my marking loop :
it works fine with a low number of objects (even 800 asteroids) and it draws all markings at once (looking cool
)
Unfortunately, with stars, the script returns to Celestia after 5 seconds.
So, i tried to include a small increment function, looking at the elapsed script time, and inserting a wait() command only if 4 seconds have passed since the last one was issued.
Code: Select all
if (c:getscripttime() - last_wait > 4) then
wait()
last_wait = c:getscripttime()
end
I don't understand why, but it works three or four times, and then crashes...
If anyone has an idea...
Amaury
You should also have a look at toti's
MarkMultiSpectralTypes.celx
It uses a specific function to scan stars to mark, while my script builds a table of all stars and runs through it (which is kind of dumb dumb, but was easier than rewriting most of my functions)
Another place to go is
MostlyHarmless, a SQL client modified Celestia which allows you to issue SQL commands to select and mark stars. It looks like it is discontinued, but it is a great work...