On 2/6/07, Ari Johnson <[EMAIL PROTECTED]> wrote:
On 2/6/07, Dennis Schridde <[EMAIL PROTECTED]> wrote:
> Am Dienstag, 6. Februar 2007 schrieb Ari Johnson:
> > On 1/29/07, Ari Johnson <[EMAIL PROTECTED]> wrote:
> > > > 7. The following error occurs when loading a saved game, at least in
> > > > campaign mode:
> > > > error: eventSetContextVar: Variable type mismatch (1/0)
> > > > error: Assert in Warzone: event.c:779 : eventSetContextVar
> > > > (FALSE), last script event: '<none>'
> > > > event.c:779: failed assertion `(0)'
> > >
> > > I'm attaching a savegame. Chances are good that there are endian
> > > issues so it won't load for others, but if you can give me some hints
> > > about where it crashes trying to load this, it might help fix it on my
> > > end, too. Thanks!
> >
> > Does anyone have a savegame I can test on? Also, I think that one of
> > the problems is going to come from lib/script/evntsave.c not doing any
> > endianizing when it saves or loads files. Can someone who understands
> > what's going on in that file help me out in fixing that? It doesn't
> > seem to be as consistently structured as the other save/load code that
> > I endianized a few months ago, so it's hard to tell exactly which
> > things are being saved to the file and what data type each one is.
> > Thanks.
> http://wz2100.net/forum/index.php?topic=308.0
> This thread contains several savegames from the end of CAM_1 and CAM_2.
> You can use those to test branches/2.0. (They won't work with trunk, because
> it can't load them. "Unexpected end of file." I think someone broke the
> load-old-savegame-version code.)
>
> BTW: You fixed several bugs for Mac lately. Could you port them to
> branches/2.0? Otherwise I have to (and will) do that.
I'll try to go through them. However, most of the bugs I am fixing
are new since 2.0.5 and therefore won't apply to branches/2.0. The
main 2.0 bug is the colors thing, which is a quick fix. Also, the
savegames for 2.0 won't help me because 2.0 works fine - only trunk is
broken.
As to the savegame bug, it's really tedious to fix because of the way
the script state saving and loading is written. Who is the most
familiar with this code? Some things are nearly impossible to follow
in the code - unlike the other files that have to be loaded, there
doesn't appear to be a specification of the file format here. Some
UBYTES are apparently stored as SDWORDS, for instance, and I can't
tell what is really wanted.
Now would also be a good time to consider changing to an XML file
format for all our data. That would make life easier. But
regardless, if anyone changes any file format, make certain to
endianize when you save and when you load. It's so much easier to
take care of the endianness issues when you are writing new code than
to have someone else do it months later. :)
_______________________________________________
Warzone-dev mailing list
[email protected]
https://mail.gna.org/listinfo/warzone-dev