FS#168 - Assertion `bp.height > 0' failed while using csdsetw.grf

Attached to Project: OpenTTD
Opened by Anonymous Submitter - Thursday, 11 May 2006, 20:19 GMT
Last edited by Darkvater (Darkvater) - Thursday, 02 November 2006, 17:05 GMT
Type Bug
Category NewGRF
Status Closed
Assigned To Peter Nelson (peter1138)
Operating System All
Severity Low
Priority Low
Reported Version trunk
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


I am using CSDset v1.4.1 from ( with OpenTTD r4831 on Gentoo Linux. Whenever I try in arctic climate around year 1930 to open new rail vehicles tab game exits with "openttd: gfx.c:1397: GfxMainBlitter: Assertion `bp.height > 0' failed.".
This task depends upon

Closed by  Peter Nelson (peter1138)
Wednesday, 06 December 2006, 15:05 GMT
Reason for closing:  Fixed
Additional comments about closing:  Random crashes fixed in r7242. Now there will be a specific sprite-not-found error.
Comment by Peter Nelson (peter1138) - Monday, 22 May 2006, 19:24 GMT
This appears to be a bug in the GRF file. It explicitly sets the Multihead flag for the first *steam* engine (engine ID 24 / 0x18), but doesn't have GUI sprites for the second part.

It is actually pure luck that it doesn't crash in Temperate.
Comment by PeS (PeS) - Wednesday, 07 June 2006, 13:10 GMT
Do you know the exact pseudosprite number, where this dual=head flag is set? I've tryed searching through nfo extrected using grfcodec and no 13 01 sequence was found in Action0 Train ( line# * SZ 00 00 <#ids> <ids> 13 01 ), or did I get it from ttdpatch wiki wrong? (0x13 should be for dual-head, 01 is on, 00 off). Thanks for any hints.
Comment by PeS (PeS) - Wednesday, 07 June 2006, 13:42 GMT
I'v removed the dual-head flag with extra line in nfo using
3661 * 07 00 00 01 01 18 13 00
It works, but why I can't find sequence 13 01 in this file ?
Comment by PeS (PeS) - Thursday, 08 June 2006, 01:09 GMT
Ahh, I talked with the author of the set. The steam engine was set to dualhead to enable tender front of or after tank engine. When you buy it, it uses some randomization and you have it front of or after. But when you add vagon, you see only the first part (tank or tender), vagon and again tank or tender. See picture . In TTDPatch it works correctly, eg. tender-tank-coach or tank-tender-coach. Maybe some wrong interpretation in newgrf code?