Warning: ob_start(): function 'compress_handler' not found or invalid function name in /www/htdocs/xfmantis/core.php on line 18
0002482: Absturz bei der Kartengenerierung - Mantis
Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0002482 [X-Force] Bodeneinsatz crash always 18.08.11 01:40 24.08.11 17:41
Reporter Kreks View Status public  
Assigned To
Priority normal Resolution open Platform
Status confirmed   OS
Projection none   OS Version
ETA none Fixed in Version Product Version V0.917a03
  Product Build
Summary 0002482: Absturz bei der Kartengenerierung
Description Irgendwas klappt bei der Kartengenerierung im Spiel nicht.
Steps To Reproduce
Additional Information Hinweis: dieser Fehler trat in einer internen Testversion 917a03a auf.

Exceptionklasse: String = EAssertionFailed
Seite: String = TEinsatzIntro
Exception an Adresse: Hex = $005D2191
Exception Message: String = Assertion fehlges (C:\XFQuellcode\v0917\game\source\components\MapGenerator.pas, Zeile 507)
------------------------------------------------------------------------------------------
Stackdump, Textstart $00401240
*********************************************************************************************************************
Assertion fehlges (C:\XFQuellcode\v0917\game\source\components\MapGenerator.pas, Zeile 507)
$005D2191 MapGenerator.pas 511 Size.cx:=-1;
$005D218C MapGenerator.pas 507 Assert(Compile(fSkripts[fSkriptIndex].Skript));
$005C065A DXIsoEngine.pas 2944 fMapGenerator.Generate(Einsatz) ;
$005B8E34 BodenEinsatz.pas 215 Engine.ISOMap.CreateMap(fEinsatz);
$005B8808 EinsatzIntro.pas 410 fEinsatzPage.LoadData;
$005B8473 EinsatzIntro.pas 294 StartEinsatz;
$0063868C DXContainer.pas 2628 if Assigned(fOnClick) then fOnClick(Self);
$0051026E DXBitmapButton.pas 174 inherited;
$00639A22 DXContainer.pas 3338 fHotKeys[Dummy].Component.DoClick;
$00635868 DXContainer.pas 1173 if ActivePage<>nil then ActivePage.KeyPress(Msg.CharCode,State);
$00451E97 Controls.pas 5143 Dispatch(Message);
$00456A94 Controls.pas 7246 inherited WndProc(Message);
$00451A44 Controls.pas 5018 if Self <> nil then WindowProc(Message);
$0066FD19 frmMain.pas 202 GameContainer.Perform(WM_CHAR,Word(Key),0);
$004587C2 Controls.pas 8058 if Assigned(FOnKeyPress) then FOnKeyPress(Self, Key);
$0045882F Controls.pas 8074 KeyPress(Ch);
$0045886A Controls.pas 8083 if not DoKeyPress(Message) then inherited;
$00451E97 Controls.pas 5143 Dispatch(Message);
$00456A94 Controls.pas 7246 inherited WndProc(Message);
$00467169 Forms.pas 3284 inherited WndProc(Message);
$0050FB83 DXInput.pas 2243 DefWindowProc(Message);
$00484921 DXClass.pas 572 FWindowProc(Message, FDefWindowProc);
$0049C81F DXDraws.pas 4569 DefWindowProc(Message);
$00484921 DXClass.pas 572 FWindowProc(Message, FDefWindowProc);
$00456152 Controls.pas 7021 WindowProc(Message);
$0042CA05 classes.pas 11571 MOV EAX,[ECX].Longint[4]
--------------------------------
*********************************************************************************************************************
Attached Files  error-18-08-2011-01-20.txt [^] (5,934 bytes) 18.08.11 01:40

- Relationships

- Notes
(0004568)
Natter
18.08.11 15:32

Hast du mal die entsprechende Map bzw. das verwendete Skript? Anscheinend gibts da einen Fehler beim compilieren. Startet es in medit ohne Fehler?
 
(0004569)
Kreks
18.08.11 18:46

program wwJagdImWald;

const
  ROOMSIZE = 30;

//There shall be always the jeep and some part of the woods
procedure CalculateMapSize(Units: Integer);
begin
  MapWidth:=2;
  MapHeight:=1;
end;

procedure GenerateMap;
begin
  CopyRoomToPos(0,0,'Jeep');
  CopyRoomToPos(1 * ROOMSIZE,0,'Wood' + inttostr(random(3) + 1));

end;

begin
  //No more Code
end.
 
(0004570)
Kreks
18.08.11 18:48

Was meinst du mit starten in medit? Die Syntaxerkennung schreit nicht auf, allerdings wenn ich bei den Einstellungen meinen Spielsatz zum testen einstellen will, sagt er mir, dass ist kein gültiger Spielsatz.
 
(0004571)
Natter
18.08.11 23:04

Also erstmal musst du die Kartengröße in Feldern angeben, z.B.

procedure CalculateMapSize(Units: Integer);
begin
  MapWidth:=60;
  MapHeight:=30;
end;

Wenns dann immernoch nicht klappt bitte das Mapfile anhängen (oder den Spielsatz - falls du in der Map eigene Tilesets benutzt).

Wenn die falschen Kartenmaße die Ursache waren, sollte man CopyRoomToPos so anpassen, dass eine ungültige Position keinen Fehler verursacht. Denkbar wäre z.B. ein Rückgabewert, der bei Bedarf im Skript abgefragt werden könnte.
 
(0004572)
Kreks
24.08.11 11:58

Jetzt funzt alles, gebt mir noch ein paar Tage zum Testen, dann bin ichs.
 

- Issue History
Date Modified Username Field Change
18.08.11 01:40 Kreks New Issue
18.08.11 01:40 Kreks File Added: error-18-08-2011-01-20.txt
18.08.11 15:32 Natter Note Added: 0004568
18.08.11 15:34 Natter Additional Information Updated
18.08.11 18:46 Kreks Note Added: 0004569
18.08.11 18:48 Kreks Note Added: 0004570
18.08.11 23:04 Natter Note Added: 0004571
20.08.11 14:53 Natter Status new => feedback
24.08.11 11:58 Kreks Note Added: 0004572
24.08.11 17:41 Natter Status feedback => confirmed


Mantis 1.0.7[^]
Copyright © 2000 - 2007 Mantis Group
Powered by Mantis Bugtracker