[freespace2] CD-ROM status update

Taylor Richards mtrs at bellsouth.net
Tue May 20 04:06:27 EDT 2003


On Tue, 2003-05-20 at 02:39, Michael.Wagener at materna.de wrote:
> I think the default should be to NOT require the CD. This is due to
> the fact, that the most common setup (IMHO) would be the single
> desktop maintained by the experienced player. These people should
> have seen the movies already and keep FS only for gameplay.
> One more reason is described below.

I am for off-by-default, since I didn't say that before.  The movie
code, during normal gameplay, does not require a CD and I have no
intention of changing this.  The question of on-by-default would be in
case all of the VPs are not installed on the HD.  This is something that
people that make installers can decide though.  Another thing that I've
been pondering is checking whether or not the files on each CD are
installed and only asking for the CD when the files aren't found.  That
way you could have partial installs or just the VPs and not the movies
installed.

> This is one more reason to not require the CD. The most common setup
> for LAN parties would be to play off of a network share or to copy
> the contents of that share to a local drive. Both would not go well,
> if starting the game without a previously existing .freespace would
> prompt for a CD.

The way I'm doing it isn't going to require a physical CD.  It's only
looking for the presence of certain files in a given location.  I ended
up doing it this way specifically for remote mounts and platform
independence.  I've never been to a LAN party so I have no idea how it
all works but this is definitely a valid argument for off-by-default.

> Good idea. In fact I am halfway through implementing it myself.
> Well...

;-)  I guess it's about time to start making some commits to the movie
code.  At least getting the CFILE port and movie.cpp would be a good
idea as those two parts are ready for prime time, I think.

> Do we agree, that you do not want to do this remotely? I mean, you do only
> want to manage locally mounted media?
> Then I am beginning to think about the two major desktop environments.
> Both of them include a media management system. Since I am somewhat
> familiar with gnome-vfs I'd volunteer to look into it's possibilities
> of solving this problem. Or am I falling short on this?

Correct, I only want this option on local media.  Basically this is
going to require making sure that the mount point is actually a CD-ROM. 
I guess what's needed is to verify and an auto-mounter is running and if
set to mount a CD when inserted, if that auto-mounter is set to open a
window with a newly inserted CD turn off that feature during the game. 
A new window popping up is going to switch away from the game which is
why we need to temporarily disable that feature.  I don't want to get
into #ifdef hell here but we need to make sure that what ever is done
can work on Linux, BSD, etc. as well as MacOSX.  OSX automatically
mounts but I don't think there is an option to open a window so all we
would need to do is prompt for a new CD (already done in the game) and
eject the current one.

I may be making this more difficult than is has to be so feel free to
set me straight.  I'm assuming that gnome-vfs is only going to cover
GNOME and not KDE so we'll also need something for it.  I'm also
assuming that gnome-vfs will work on any platform running GNOME so that
would cover other *nix systems that run GNOME.  I don't know if we want
to depend on gnome-vfs but if you can come up with something and post it
that would be great.  I guess that we are going to have to assume that
the CD is mounted before playing if it's not auto-mounted... now my head
is starting to hurt.

I'll do some final testing on my current code and post it tomorrow, or
today, or when ever, along with the basic movie code changes.  Knowing
what I've done and what I'm doing should help us figure out how best to
expand the code to do what we need.  I've already scrapped the code once
to get to the least platform dependent method I could think of but that
doesn't mean it was a good idea.

So the things that we need to be able to do for this to work, briefly:
1. given only a mount point determine if it's a physical CD
2. given only a mount point eject that CD when a new one is needed
3. if no auto-mount then mount the drive ourselves
4. ...
5. Profit!

Sorry.  I've spent way too much time reading Slashdot comments, and I
still have the South Park audio file from Eazel's website, along with
the graphic  :-)  Plus, long e-mails suck unless they end funny.


Taylor

-- 
Taylor Richards <mtrs at bellsouth.net>




More information about the freespace2 mailing list