DEADSOFTWARE

added `.positionChanged()` to (almost) all entities; don't forget to call it after...
[d2df-sdl.git] / src / game / g_items.pas
index 9e6e2e0860e309c5b305634d542657c9883ac68e..e35fd3399dd7e8eb2dd83773b7ffbab1ccee11b1 100644 (file)
@@ -33,6 +33,8 @@ Type
     SpawnTrigger:  Integer;
     Obj:           TObj;
     Animation:     TAnimation;
+
+    procedure positionChanged (); //WARNING! call this after monster position was changed, or coldet will not work right!
   end;
 
 procedure g_Items_LoadData();
@@ -400,6 +402,7 @@ begin
             if Fall then
             begin
               m := g_Obj_Move(@Obj, True, True);
+              positionChanged(); // this updates spatial accelerators
 
             // Ñîïðîòèâëåíèå âîçäóõà:
               if gTime mod (GAME_TICK*2) = 0 then
@@ -520,6 +523,7 @@ begin
               Obj.Vel.Y := 0;
               Obj.Accel.X := 0;
               Obj.Accel.Y := 0;
+              positionChanged(); // this updates spatial accelerators
 
               Live := True;
 
@@ -678,4 +682,9 @@ begin
   end;
 end;
 
+
+procedure TItem.positionChanged ();
+begin
+end;
+
 end.