[freespace2] a couple of questions

Mihai Rusu dizzy at roedu.net
Sun May 9 17:27:28 EDT 2004


On Sun, 9 May 2004, Taylor Richards wrote:

> On Sun, 2004-05-09 at 16:03, Mihai Rusu wrote:
> > 1. I have noticed debriefing texts do not show (well actually they do show 
> > but only on some rare ocasions, usually when I get a medal or so); any 
> > ideea where in the coides should I start digging about this ?
>
> Hmm, that shouldn't happen.  You are using FS2 and not FS1 right?  Did
> you compile it yourself or use one of ravage's installers?  Is this the
> English version of the game or some other language?

FS2 english (installed "full" in Windows, then updated to 1.20 then copied
all those files in a linux partition wher the user running fs has write
privileges). I compiled it myself (first with original CVS Makefile,
second with MVE, NDEBUG, -O3 -march=athlon -funroll-loops but this has not
changed). My compiler is gcc 3.3.2 20031218 (Gentoo Linux 3.3.2-r5,
propolice-3.3-7), my glibc is 2.3.2. If you have a binary that doesnt do
that please send it to me (email should work fine, dont know if those 16mb
freespace2 executable compress too much with bzip2 -9 ;)).

I also noticed that even if I select to have "movies" instaled in the 
setup it doesnt do that (I dont have any .mve files installed). But if I 
copy then to the proper location (Data/Movies) they work. Also I noticed 
that movie playing is case sensitive when it shouldnt (it works with 
Data/Movies, doesnt with data/movies as I have them copied from win32).

> There is a little more to it than plain sound since the music and
> briefing voices have to be streamed.  The files would take up many
> megabytes of RAM if they weren't.  I've worked on this code but have
> never had time to finish it.  It will open files currently but the
> buffer queuing parts are done yet.

So by streaming you mean that a huge file needs to be played little by 
little while with normal FX sounds they are little files loaded into 
memory and played. So one thing you can do is using mmap(). On a "good" 
Unix mmap() doesnt do a thing (meaning it doesnt actually load/read 
anything from the file), then when you hit a "page" not loaded it does a 
"page fault" triggering loading of that page into memory (mapping it). 
What it means is that the OS will manage this memory very nice (its also 
very multithreaded/multiprocess friendly couse with readonly/shared use 
many processes can share the same mmaped region transparently and safely) 
and you can read from it with very little coding logic.

Of course other solution might be what you already did (Im presuming you 
did this "page" by "page" loading yourself with some "class").

> 3D sound is done but I don't really know the math/physics involved to
> fix the position bug.  As soon as I can get that fixed the code will be
> added to CVS.

Ah, that should explain some things hehe.

> There should be nothing different here since the message playing code
> has nothing in it that's platform specific.  Messages should be cut off
> and only the newest one should get played.  If that's not happening then
> it's a bug though I haven't seen it before.  You are using the full
> retail version right?

Yes... I think its the "timer" issue discussed bellow.

> > 4. (this might be because of the same problem as (3)) I noticed that when 
> > some ship sends a message, the (white) box showing who sends the message 
> > displays for a very short period of time (on windows I think it waits 
> > until the voice message finishes)
> 
> There are some timing issues that have never really been explained.  The
> voice messages are timed and the talking head HUD animation should last
> as long as the voice message but it doesn't.  Some day this will be
> figured out and hopefully fixed.  It's on my TODO list.

Ok.


> If you want to make a tarball of a CVS checkout and make that available
> then I don't see anything wrong with that.  There isn't really a point
> in making CVS snapshots since it's only myself and tigital (OSX port)
> that are working on the game at the moment.  New movie code, 3D sound,
> standalone server and streaming audio are the only missing parts and
> I've started on all of them.  When it all works I'll update CVS but it
> will probably be a couple of months before I get everything done.

Just let me know how can I help. I am an experienced C coder who loves 
games (Im curently the lead developer and maintainer of PvPGN a fork of 
the "frozen" bnetd project which emulated Battle.Net network gaming 
protocol, hey this reminds me, I also wanted to extend pvpgn to support 
fs2 too ;)).

> I'm working more on the Linux version of FS2_Open right now and will
> start bringing over some fixes, a large reduction in memory footprint
> being the main thing, in the next couple of weeks.  Since I have to get
> streaming audio and all of that working for FSO as well I'm writing so
> that it's pretty much a drop in for icculus.org code.

FS2_Open ?!

> Glad to see some more interest in the game!  If you have any more
> questions or problems don't hesitate to ask.

You guys did a fantastic job btw! 

> Taylor

> -- 
> Taylor Richards <mtrs at bellsouth.net>

-- 
Mihai RUSU                                    Email: dizzy at roedu.net
GPG : http://dizzy.roedu.net/dizzy-gpg.txt    WWW: http://dizzy.roedu.net
                       "Linux is obsolete" -- AST



More information about the freespace2 mailing list