[freespace2] FS1(?) problems

Taylor Richards trichard at surfsouth.com
Fri Oct 4 00:16:52 EDT 2002


On Thu, 2002-10-03 at 00:23, Dan Olson wrote:
> Here goes...
> 
> > 1.  Crash on popup dialogs...
> 
> See if you can get a backtrace for this one from gdb, that would
> help more (although ideally I'd have it here to test).  I will maybe
> grab the FS1 demo and play around with it.

You may want to wait for the new patch before using the demo but this
bug does show up in the demo with the current patch.  In the demo hud
configuration isn't enabled so you get a popup explaining that. 
Attached is the backtrace from that particular crash.

> > 2.  Garbage on filenames with strcpy...
> 
> Your source string isn't NULL terminated.  Check how you modify it and
> where you get it from I guess.

I haven't modified any of this from the original FS2 source except for
the actual data being loaded and the fact that the encryption is
slightly different (I'm looking into that now as a possible cause). 
After looking at it a bit more I see that's it's definitely happening in
the same place (loading the textures from a pof).  The problem is that
this function works properly at least 2 dozen times before crashing. 
Although it's hard to tell exactly on the particular file that crashes
all of the previous loads are null terminated.  tigital seems to be
having a similar problem in the OSX port so I wonder if they are somehow
related but I guess I'm just hoping that one will fix the other.  I'll
keep playing and see if I can track it down.

> > 1.  Background nebulas in the starfield don't work...
> 
> > I assume (perhaps wrong) that it's related to the amount of asm in the
> > tmap code
> 
> You mean the software code? There is no asm in the current tmap code and
> the software code is... old.  Might take a lot of work.

If I understand the code correctly (probably not) the nebula is drawn
via a fake bitmap that is passed through the tmap code when I guess then
colors it or whatever.  The tmap code, originally, seems to be mostly
asm which for the most part is ifdef'd out in the unix build.  I did try
disabling inline asm but that still didn't work.  I over my head though
and I'm just not going to worry about it.  Some of the eye candy is gone
but even if it's fixed it will probably be too slow to use unless it's
implemented in a different way.  When I learn a bit more I'll take a
look at it again.

> 
> > The last patch still hasn't gone into CVS.  I'm not in a hurry to get
> > it in but if there was anything wrong with it or something I should
> > be doing better please let me know so this next patch can be fixed.
> 
> We're all just a little busy.  I haven't even made time to look at the
> patch yet (probably because I don't have FS1).

No problem.  You can just ditch that previous patch a wait for the new
one which fixes some bugs and will get the demo working better.  I've
made enough changes now that there is probably not much point in using
the old patch.


> --
> Dan Olson (theoddone33)
> 

-------------- next part --------------
#0  0x08153529 in popup_init(popup_info*, int) (pi=0x8694a40, flags=2101248)
    at src/popup/popup.cpp:732
#1  0x08153f44 in popup_do(popup_info*, int) (pi=0x8694a40, flags=2101248)
    at src/popup/popup.cpp:1039
#2  0x0815443d in popup(int, int, ...) (flags=2101248, nchoices=1) at src/popup/popup.cpp:1233
#3  0x08053980 in game_feature_not_in_demo_popup() () at src/freespace2/freespace.cpp:7836
#4  0x080c0e9f in options_button_pressed(int) (n=5) at src/menuui/optionsmenu.cpp:1043
#5  0x080c21a2 in options_menu_do_frame(float) (frametime=0.0360107422)
    at src/menuui/optionsmenu.cpp:1528
#6  0x080526c0 in game_do_state(int) (state=5) at src/freespace2/freespace.cpp:6499
#7  0x080715e9 in gameseq_process_events() () at src/gamesequence/gamesequence.cpp:620
#8  0x080533df in WinMainSub(int, int, char*, int) (hInst=1, hPrev=0, szCmdLine=0x889d248 "",
    nCmdShow=0) at src/freespace2/freespace.cpp:7146
#9  0x08053420 in WinMain(int, int, char*, int) (hInst=1, hPrev=0, szCmdLine=0x889d248 "",
    nCmdShow=0) at src/freespace2/freespace.cpp:7184
#10 0x08054769 in main (argc=1, argv=0xbffff8a4) at src/freespace2/unixmain.cpp:41
#11 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6


More information about the freespace2 mailing list