Add-on manager proposal.

The place to discuss creating, porting and modifying Celestia's source code.
don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #21by don » 23.04.2004, 23:19

Hi Joe,

alphap1us wrote:I am not sure if you are suggesting that we need to maintain backward compatibilty with older versions of Celestia.
No. It will be based on the existing extras directory usage.


alphap1us wrote:In the extras directory, there is one folder for each add-on. Inside this folder is one file of the same name as the folder with a certain extension that caries all the info for that add-on that can easily expressed in text, as opposed to images and models.

Yes, this describes the curent use of the extras directory, and the projected use of a "manifest" file for the add-on manager.
-Don G.
My Celestia Scripting Resources page

Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.

alphap1us
Posts: 212
Joined: 17.12.2003
With us: 20 years 11 months
Location: Buenos Aires

Post #22by alphap1us » 24.04.2004, 16:51

Don, thanks again for bringing me up to speed. I am going to take a stab at some kind of outline of the necessary steps. Feel free to respond with a "Son, you're off your nut if you think....."-type fomment.

(1) Create specification for "manifest" file type. Since celestia already has many different types of specs for the diffferent types of orbits and objects. I think the simplest way might be to have each manifest file begin with a line that tells Celestia to read the rest of the file as an ssc, dsc, xyc etc. Celestia would then just call the appropriate parser that is already implemented. I think, but am not sure, that we should also include all the meta info (creator, version, cautions, other info) in the manifest file and just comment each line. That way there is one text file which you would open to find out anything about the add-on.
(2) Implement the part of the code that looks through the extras directory and finds all the manifest file, parses them and loads them.
(3) Track down all the add-ons floating in cyberspace. I am doing this right now.
(4) Change the add-ons over to the new process. I am not sure how long this will take, but it most cases I think it will be a quick process for each add-on. Just copy all the readme files into whatever orbit file Celestia has, comment them out, and add the line at the beginning that says "The rest of this file is type......."
(5) Find webspace on a very fast connection. I will work on this as well.
(6) Create an interface that will display the names of the found manifest files, and allow the user to enable/disable them.

I think these 6 steps will create a very crude, but functional add-on manager. We can add features from there. My biggest concern is that the method I am outlining will make Celestia too slow on startup. Obviously since it is doing more at startup it will be somewhat slower but I don't know if this is going to prohibitively intensive.

So I am working on 3 and 5 right now, which are tasks I can understand, but I know nothing about C++, so if the above plan is going to go anywhere, someone else will need to do the programming. Even if this doesn't happen, I think it's still worth it to have web-based catalog and repository. But obviously, it would be AWESOME to have Celestia do all the add-on for you. Cheers,

Joe

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #23by selden » 24.04.2004, 17:08

Joe,

I'm a little puzzled by your #1, since a manifest specification already exists. If you don't like it, you really should contribute your opinions to the newsgroup.

news://celestia.teyssier.org/celestia.dev.addon_manager

Also, please don't assume that the client side of the manager has to be written in C++. Since it's only supposed to manipulate files and directories, it has no need to interact with Celestia's astronomical code, and probably should not be compiled into Celestia. It does need to be portable and easily modified, though. Java might be a more appropriate language.
Selden

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

Post #24by don » 24.04.2004, 19:02

Joe, you really do need to read through the newsgroup regarding this topic. It has a lot more details than my few words. :wink: ... Yes, I know it's a lot of stuff to read through, because there is quite a bit of discussion about details.


selden wrote:Also, please don't assume that the client side of the manager has to be written in C++. Since it's only supposed to manipulate files and directories, it has no need to interact with Celestia's astronomical code, and probably should not be compiled into Celestia.

Well, as discussed in the newsgroup, it *might* need to interact directly with Celestia's reading of .ssc and/or .dat files when an add-on requires changes to any of the base distribution files. For example, changing texture names, object specifications, etc. in solarsys.ssc.

At the least, Celestia would need to be modified so that when reading add-on .ssc files, it would recognize "replacement" lines. I think this subject is right about where the discussion seemed to die <sigh>.
-Don G.

My Celestia Scripting Resources page



Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.

alphap1us
Posts: 212
Joined: 17.12.2003
With us: 20 years 11 months
Location: Buenos Aires

Post #25by alphap1us » 24.04.2004, 21:30

Don and Selden,
i finally caved and decided that I would read thru the whole newsgroup before posting anything else, but I can't connect to it. i don't use news very often so I had to get an OS X client but it can't find celestia.teyssier.org or any of the variants I tried. Can you guys make sure you can connect and if so sne dme the info again. I don't what is going wrong over here, but thanks.

Joe

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

Post #26by don » 24.04.2004, 23:04

Hi Joe,

teyssier.org is run on Christophe's personal server (I think). I just tried connecting and also was not able to. So, my guess is that his computer or server software is not currently running. Maybe try again later.
-Don G.

My Celestia Scripting Resources page



Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.

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

Post #27by don » 16.07.2004, 07:04

-Don G.

My Celestia Scripting Resources page



Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.

bojangles
Posts: 1
Joined: 18.10.2004
With us: 20 years 1 month

Post #28by bojangles » 18.10.2004, 18:31

Hello all,
first post (wow) and reasonably new user and I hope I can help. This seems a bit of an old topic but maybe people are still watching, right to the point......

The Microsoft game Freelancer (Space exploration/trading/combat soo tenuously linked to Celestia :wink:) has a large modding community, making various add-ons for the game. New star systems, ships, bases, that kind of thing. through modelling programmes and code chages.

Problem is some mods didnt work with others making the game unstable so after a while a mod manager was created to make installing new addon ons easy and dis/enabling them before auto starting the main programme with your selected additions.

Now its this I think you might be interested in.

Im no programmer, but i can surmise that this programme can be adapted for use with Celestia, or at least provide inspiration. It fulfills what people seem to be asking for:
-front end intallation support
-addon selection
-auto launch of master programme
im assuming that there is file scan/support, already in similar model files types at least
if all else fails have a look, it worth having a look
Image

heres the look of the thing so u have an idea how it works (selected in Green, known conflicts between mods in Red/Orange, No conflicts in Black)
now u see where I am going with this? All your extras displayed in the menu, select what you want or what ur hardware can handle and File/Launch
http://www.lancersreactor.com/t/downloa ... asp?id=927

theres some more information, about the creator and stuff. He might be able to do a custom version. or help

just here to server as a conduit

Bojangles


Return to “Development”