Page 1 of 1

[Fixed for V0.37] crash with 5+ NEW wallsets

Posted: Sun Apr 02, 2006 6:48 pm
by L!ghthouse
I get this error message i try to add 5 or more NEW wallsets. The game crashes when you try to compile the dungeon. I have duplicated this problem in Labyrinth.txt by copying one of the new wallsets. As soon as the 5th new wallset is added, this error message appears. (I have added the exact lines I added below for convenience)

-----------------------------------------------------------------

RTC (V0.36) Diagnostic file - Sun Apr 02 09:33:24 2006

Error:
an access violation exception.

Stack Dump:
RTCData.CreateNewTile(int -1);
RTC.MakeSubTile();
RTC.MakeSubTileRoof();
RTC.InitSecondary();
RTC.ProgStateIntroContinue2();
RTC.DoFrame(int 7);
RTC.WinMain();

-----------------------------------------------------------------

NAME=(WALLSET_OUTSIDE2)
WALL_FRONT1=(BITMAP_WALL_OUTSIDE_FRONT1,NULL)
WALL_FRONT2=(BITMAP_WALL_OUTSIDE_FRONT2,NULL)
WALL_FRONT3=(BITMAP_WALL_OUTSIDE_FRONT3,NULL)
WALL_LEFT1.=(BITMAP_WALL_OUTSIDE_LEFT1,BITMAP_WALL_OUTSIDE_LEFT1)
WALL_LEFT2.=(BITMAP_WALL_OUTSIDE_LEFT2,BITMAP_WALL_OUTSIDE_LEFT2)
WALL_LEFT3.=(BITMAP_WALL_OUTSIDE_LEFT3,BITMAP_WALL_OUTSIDE_LEFT3)
WALL_SIDE0.=(BITMAP_WALL_OUTSIDE_SIDE0,BITMAP_WALL_OUTSIDE_SIDE0)
WALL_SIDE1.=(BITMAP_WALL_OUTSIDE_SIDE1,BITMAP_WALL_OUTSIDE_SIDE1)
WALL_SIDE2.=(BITMAP_WALL_OUTSIDE_SIDE2,BITMAP_WALL_OUTSIDE_SIDE2)
WALL_SIDE3.=(BITMAP_WALL_OUTSIDE_SIDE3,BITMAP_WALL_OUTSIDE_SIDE3)
WALL_FAR3..=(BITMAP_WALL_OUTSIDE_FAR3,BITMAP_WALL_OUTSIDE_FAR3)
WINDOW.....=(BITMAP_WALL_OUTSIDE_WINDOW)
ROOF.......=(BITMAP_WALL_OUTSIDE_ROOF,NULL,NULL,NULL)
FLOOR......=(BITMAP_WALL_OUTSIDE_FLOOR,NULL,NULL,NULL)
SHADE......=(BITMAP_WALL_OUTSIDE_SHADE,100)

NAME=(WALLSET_OUTSIDE3)
WALL_FRONT1=(BITMAP_WALL_OUTSIDE_FRONT1,NULL)
WALL_FRONT2=(BITMAP_WALL_OUTSIDE_FRONT2,NULL)
WALL_FRONT3=(BITMAP_WALL_OUTSIDE_FRONT3,NULL)
WALL_LEFT1.=(BITMAP_WALL_OUTSIDE_LEFT1,BITMAP_WALL_OUTSIDE_LEFT1)
WALL_LEFT2.=(BITMAP_WALL_OUTSIDE_LEFT2,BITMAP_WALL_OUTSIDE_LEFT2)
WALL_LEFT3.=(BITMAP_WALL_OUTSIDE_LEFT3,BITMAP_WALL_OUTSIDE_LEFT3)
WALL_SIDE0.=(BITMAP_WALL_OUTSIDE_SIDE0,BITMAP_WALL_OUTSIDE_SIDE0)
WALL_SIDE1.=(BITMAP_WALL_OUTSIDE_SIDE1,BITMAP_WALL_OUTSIDE_SIDE1)
WALL_SIDE2.=(BITMAP_WALL_OUTSIDE_SIDE2,BITMAP_WALL_OUTSIDE_SIDE2)
WALL_SIDE3.=(BITMAP_WALL_OUTSIDE_SIDE3,BITMAP_WALL_OUTSIDE_SIDE3)
WALL_FAR3..=(BITMAP_WALL_OUTSIDE_FAR3,BITMAP_WALL_OUTSIDE_FAR3)
WINDOW.....=(BITMAP_WALL_OUTSIDE_WINDOW)
ROOF.......=(BITMAP_WALL_OUTSIDE_ROOF,NULL,NULL,NULL)
FLOOR......=(BITMAP_WALL_OUTSIDE_FLOOR,NULL,NULL,NULL)
SHADE......=(BITMAP_WALL_OUTSIDE_SHADE,100)

NAME=(WALLSET_OUTSIDE4)
WALL_FRONT1=(BITMAP_WALL_OUTSIDE_FRONT1,NULL)
WALL_FRONT2=(BITMAP_WALL_OUTSIDE_FRONT2,NULL)
WALL_FRONT3=(BITMAP_WALL_OUTSIDE_FRONT3,NULL)
WALL_LEFT1.=(BITMAP_WALL_OUTSIDE_LEFT1,BITMAP_WALL_OUTSIDE_LEFT1)
WALL_LEFT2.=(BITMAP_WALL_OUTSIDE_LEFT2,BITMAP_WALL_OUTSIDE_LEFT2)
WALL_LEFT3.=(BITMAP_WALL_OUTSIDE_LEFT3,BITMAP_WALL_OUTSIDE_LEFT3)
WALL_SIDE0.=(BITMAP_WALL_OUTSIDE_SIDE0,BITMAP_WALL_OUTSIDE_SIDE0)
WALL_SIDE1.=(BITMAP_WALL_OUTSIDE_SIDE1,BITMAP_WALL_OUTSIDE_SIDE1)
WALL_SIDE2.=(BITMAP_WALL_OUTSIDE_SIDE2,BITMAP_WALL_OUTSIDE_SIDE2)
WALL_SIDE3.=(BITMAP_WALL_OUTSIDE_SIDE3,BITMAP_WALL_OUTSIDE_SIDE3)
WALL_FAR3..=(BITMAP_WALL_OUTSIDE_FAR3,BITMAP_WALL_OUTSIDE_FAR3)
WINDOW.....=(BITMAP_WALL_OUTSIDE_WINDOW)
ROOF.......=(BITMAP_WALL_OUTSIDE_ROOF,NULL,NULL,NULL)
FLOOR......=(BITMAP_WALL_OUTSIDE_FLOOR,NULL,NULL,NULL)
SHADE......=(BITMAP_WALL_OUTSIDE_SHADE,100)

Posted: Sun Apr 02, 2006 7:06 pm
by George Gilbert
Ah yes, you're hitting a hardcoded limit in the memory used by wallsets. I've upped this now for V0.37 to about 500 (the exact number depends on the bitmaps it uses) - should be more than enough for anyone...

Posted: Sun Apr 02, 2006 7:35 pm
by beowuuf
A year from now this will be quoted somewhere...

Posted: Sun Apr 02, 2006 7:59 pm
by George Gilbert
Yes, it is asking for trouble really isn't it...