bug-gnubg
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gnubg] Win32 3D build Sep 15th


From: Jim Segrave
Subject: Re: [Bug-gnubg] Win32 3D build Sep 15th
Date: Mon, 15 Sep 2003 19:37:56 +0200
User-agent: Mutt/1.4.1i

On Mon 15 Sep 2003 (19:26 +0200), Holger wrote:
> At 18:40 15.09.2003 +0200, Jim Segrave wrote:
> >On Mon 15 Sep 2003 (17:04 +0200), Nardy Pillads wrote:
> >> On 15 Sep 2003 at 16:11, Holger wrote:
> >> > At 16:01 15.09.2003 +0200, Nardy Pillads wrote:
> >> >
> >> > >Win32, 3D build of Sep 15th (ChangeLog 1.1379) crashes at startup.
> >> > >
> >> > >Splash screen says: Rendering board.
> >> >
> >> > Could you please try with an CVS update later than Mon Sep 15 13:38:11
> >> > 2003 UTC, that is no more than 30 minutes ago?
> >
> >> After deleting .gnubgautorc, gnubg runs, but:
> >>
> >> There is missing part of the board (see attachment),
> >> and it crashes after resizing the window or Settings
> >
> >render.c has so many magic numbers in it that it's virtually
> >impossible to change the board aspect ratio -
> 
> I didn't try to change it. I left it at a height of 82.
> 
> >search for:
> >
> >82, 108, 79, 76 for starters (BOARD_HEIGHT, BOARD_WIDTH, (BOARD_HEIGHT
> >- 3), (BOARD_HEIGHT - 6). There are *lots* of other integers which I
> >suspect are related to the board dimensions. After replacing those and
> >still getting core-dumps, I gave up, because I simply can't guess
> >where the number come from.
> >
> >I have no idea why there's 44, 35, 99, you name it. It's a nightmare
> >of fixed constants which I assume are related to board dimensions.
> 
> Yes, in render.c it's very difficult to find out where the numbers came 
> from. So here I only replaced a few values with defines that were more or 
> less obvious. But this should have made no impact since I didn't change the 
> values, but one.
> Maybe this line may turn out as the culprit (had a value od 81):
>      FillArea( puch, nStride, prd->nSize * BOARD_WIDTH, prd->nSize * 
> BOARD_HEIGHT /*81?*/,

That probably needs to be (BOARD_HEIGHT - 1). I think 44 is
(BOARD_HEIGHT / 2 + 3), 35 might be (BOARD_HEIGHT / - 6), 99 is
probably (BOARD_WIDTH - 9) etc. since there seems to be 3 bytes per
point. But overall, it needs whoever coded this to put in values
defined in terms of the fundamental dimensions. Otherwise we'd be just
guessing.

-- 
Jim Segrave           address@hidden





reply via email to

[Prev in Thread] Current Thread [Next in Thread]