View previous topic :: View next topic |
Author |
Message |
admin Site Admin Joined: 30 Oct 2006 Posts: 406
|
Posted: Mon Apr 21, 2008 1:47 am Post subject: problems with glrott 1.40 |
|
|
I've been playing around with 1.40, and i've encountered a few problems. When playing the darkwar maps, some walls fail to render until a few seconds later, leaving the floor stretching to the edge of the level. Also, when playing randomly created maps it crashes suddenly. Hope Birger takes care of these errors. I've noticed that on his page there is no download link for the latest source code. Can someone contact Birger and ask him where it is?
thanks _________________ ROTT lives! |
|
|
|
|
The Stinger
Joined: 16 Apr 2008 Posts: 14
|
Posted: Mon Apr 21, 2008 5:35 pm Post subject: |
|
|
I already reported the wall bug to birger, don't know about the source code though. I don't think I should mail him about it though, I think I bothered him enough with the whole hires thing. |
|
|
|
|
admin Site Admin Joined: 30 Oct 2006 Posts: 406
|
Posted: Mon Apr 21, 2008 6:54 pm Post subject: |
|
|
Well, could you slip him an email asking him if he could post here some updates on his port? The source code is somewhat important, as rott source code is under the gpl. _________________ ROTT lives! |
|
|
|
|
jbailey
Joined: 02 Mar 2008 Posts: 127
|
Posted: Thu Apr 24, 2008 6:09 pm Post subject: |
|
|
It's been awhile, but I believe the last time there was a rendering bug,
it was because of the 'bit ordering' (big endian, little endian thing), it's
possible that the error has been re-introduced accidently when new
features were being added... |
|
|
|
|
admin Site Admin Joined: 30 Oct 2006 Posts: 406
|
Posted: Thu Apr 24, 2008 10:17 pm Post subject: |
|
|
Damn, that could be the problem. Maybe what the port needs is some sort of svn repo so that birger can put nightly builds and others can test those, and check for re-introduced errors. I'd do it if i knew half as much about coding as Birger or you do. _________________ ROTT lives! |
|
|
|
|
jbailey
Joined: 02 Mar 2008 Posts: 127
|
Posted: Thu Apr 24, 2008 10:49 pm Post subject: |
|
|
I saved the relavent piece of code from the last similar situation:
-----------------------------------------------------
It was indeed a problem specific to big endian machines. I'll save you the details and just post the fixed piece of code from LoadMaskedWalls() in rt_door.c, the comments speak for themselves:
Code: | <pre> for (i=0;i<maskednum>flags);
memcpy(&flags,bufptr,size);
bufptr+=size;
if ((flags&0x00FF)!=(mw->flags&0x00FF)) // only check the 8 LSBs.
UpdateMaskedWall(i);
if (mw->flags&MW_SWITCHON)
mw->toptexture--;
} |
This also fixes a dirty practice in the original code: a char was declared but then an int was memcopy'd into it. |
|
|
|
|
admin Site Admin Joined: 30 Oct 2006 Posts: 406
|
Posted: Thu Apr 24, 2008 11:00 pm Post subject: |
|
|
Ok, great, thanks for the quick fix in the codebase jbailey! Damn, the <code> doesnt appear to be working. Have to check that too. So there was an error in the original rott source code, about a dfferent variable type? Sounds like a stupid mistake. Do you think there are many of such errors in the original rott code? _________________ ROTT lives! |
|
|
|
|
jbailey
Joined: 02 Mar 2008 Posts: 127
|
Posted: Thu Apr 24, 2008 11:03 pm Post subject: |
|
|
Quite a few errors were found, but as far as I know, they were fixed,
but that doesn't mean that we found all of them or that something
related couldn't have been re-introduced accidently... |
|
|
|
|
admin Site Admin Joined: 30 Oct 2006 Posts: 406
|
Posted: Thu Apr 24, 2008 11:05 pm Post subject: |
|
|
ah ok. And good work about the error squashing. I heard from a developer a while back that the rott codebase has lots of hacks and quick fixes that weren't good code designs. Do you think that's true? _________________ ROTT lives! |
|
|
|
|
jbailey
Joined: 02 Mar 2008 Posts: 127
|
Posted: Thu Apr 24, 2008 11:10 pm Post subject: |
|
|
I think that person was referring to some of the last official attempts of
then apogee trying to fix some of the crashes that the game would go
through if certain things happened, for example the NME running into
a spinblade after he exited the room he was originally in, NME was supposed
to stay in his original room but would follow the player through the door
sometimes and run into a spinblade, there was no coded condition to
handle this, so the game crashed (been fixed by the way as far as I know). |
|
|
|
|
jbailey
Joined: 02 Mar 2008 Posts: 127
|
Posted: Thu Apr 24, 2008 11:11 pm Post subject: |
|
|
The code snippet I posted above is probably NOT the exact error that
is occurring with the latest winrottgl, but it's probably related, so if
anything, it's a good place to start.. |
|
|
|
|
admin Site Admin Joined: 30 Oct 2006 Posts: 406
|
Posted: Thu Apr 24, 2008 11:13 pm Post subject: |
|
|
Oh ok, yes, it's a good start indeed. Thanks again! So those errors in the original rott arent there anymore, right, in winrottgl? _________________ ROTT lives! |
|
|
|
|
jbailey
Joined: 02 Mar 2008 Posts: 127
|
Posted: Thu Apr 24, 2008 11:15 pm Post subject: |
|
|
Well, I created a small test level with older version of winrottgl (don't
remember the exact version), and intentionally put a NME and
spinblades and other things in the level and then had the NME run into
the various objects, no crashes occurred, so, unless something has
been re-introduced error wise, that's been fixed.. |
|
|
|
|
jbailey
Joined: 02 Mar 2008 Posts: 127
|
Posted: Thu Apr 24, 2008 11:20 pm Post subject: |
|
|
If you're referring to the rendering errors instead, this is a new bug as
far as I know, once the source code to 1.40 is released, a debug version
needs to be compiled and traced to see where exactly the error is, but my
guess is a endiness problem in the rendering code (wrong bit being
evaluated)... |
|
|
|
|
admin Site Admin Joined: 30 Oct 2006 Posts: 406
|
Posted: Fri Apr 25, 2008 2:19 pm Post subject: |
|
|
Ah, I see. Have you been able to contact birger about when the source code is gonna be put in the site? _________________ ROTT lives! |
|
|
|
|
|