diff --git a/src/game/g_items.pas b/src/game/g_items.pas
index e07944a35306562840d567732f3efbf5dfc0e877..6365d7bbe2bee8fe88233355921860a0dec509fa 100644 (file)
--- a/src/game/g_items.pas
+++ b/src/game/g_items.pas
Respawnable: Boolean;
InitX, InitY: Integer;
RespawnTime: Word;
- Live: Boolean;
+ alive: Boolean;
Fall: Boolean;
QuietRespawn: Boolean;
SpawnTrigger: Integer;
it.Animation.Free();
it.Animation := nil;
end;
- it.Live := False;
+ it.alive := False;
it.SpawnTrigger := -1;
it.ItemType := ITEM_NONE;
freeIds.release(LongWord(idx));
it.arrIdx := i;
it.ItemType := ITEM_NONE;
it.Animation := nil;
- it.Live := false;
+ it.alive := false;
it.SpawnTrigger := -1;
it.Respawnable := false;
//if not freeIds.hasFree[LongWord(i)] then raise Exception.Create('internal error in item idx manager');
it.InitY := Y;
it.RespawnTime := 0;
it.Fall := Fall;
- it.Live := True;
+ it.alive := True;
it.QuietRespawn := False;
g_Obj_Init(@it.Obj);
begin
nxt := False;
- if Live then
+ if alive then
begin
if Fall then
begin
Inc(j);
if j > High(gPlayers) then j := 0;
- if (gPlayers[j] <> nil) and gPlayers[j].Live and g_Obj_Collide(@gPlayers[j].Obj, @Obj) then
+ if (gPlayers[j] <> nil) and gPlayers[j].alive and g_Obj_Collide(@gPlayers[j].Obj, @Obj) then
begin
if g_Game_IsClient then continue;
if Respawnable and g_Game_IsServer then
begin
DecMin(RespawnTime, 0);
- if (RespawnTime = 0) and (not Live) then
+ if (RespawnTime = 0) and (not alive) then
begin
if not QuietRespawn then g_Sound_PlayExAt('SOUND_ITEM_RESPAWNITEM', InitX, InitY);
Obj.Accel.Y := 0;
positionChanged(); // this updates spatial accelerators
- Live := true;
+ alive := true;
if g_Game_IsNet then MH_SEND_ItemSpawn(QuietRespawn, i);
QuietRespawn := false;
for i := 0 to High(ggItems) do
begin
- if not ggItems[i].Live then continue;
+ if not ggItems[i].alive then continue;
with ggItems[i] do
begin
- if (g_dbg_scale <> 1.0) or g_Collide(Obj.X, Obj.Y, Obj.Rect.Width, Obj.Rect.Height, sX, sY, sWidth, sHeight) then
+ if g_Collide(Obj.X, Obj.Y, Obj.Rect.Width, Obj.Rect.Height, sX, sY, sWidth, sHeight) then
begin
if (Animation = nil) then
begin
procedure g_Items_Pick (ID: DWORD);
begin
- ggItems[ID].Live := false;
+ ggItems[ID].alive := false;
ggItems[ID].RespawnTime := ITEM_RESPAWNTIME;
end;
// Âðåìÿ äî ðåñïàóíà
Mem.WriteWord(ggItems[i].RespawnTime);
// Ñóùåñòâóåò ëè ýòîò ïðåäìåò
- Mem.WriteBoolean(ggItems[i].Live);
+ Mem.WriteBoolean(ggItems[i].alive);
// Ìîæåò ëè îí ïàäàòü
Mem.WriteBoolean(ggItems[i].Fall);
// Èíäåêñ òðèããåðà, ñîçäàâøåãî ïðåäìåò
// Âðåìÿ äî ðåñïàóíà
Mem.ReadWord(ggItems[i].RespawnTime);
// Ñóùåñòâóåò ëè ýòîò ïðåäìåò
- Mem.ReadBoolean(ggItems[i].Live);
+ Mem.ReadBoolean(ggItems[i].alive);
// Ìîæåò ëè îí ïàäàòü
Mem.ReadBoolean(ggItems[i].Fall);
// Èíäåêñ òðèããåðà, ñîçäàâøåãî ïðåäìåò
begin
for idx := High(ggItems) downto 0 do
begin
- if ggItems[idx].Live then
+ if ggItems[idx].alive then
begin
result := cb(@ggItems[idx]);
if result then exit;
begin
for idx := 0 to High(ggItems) do
begin
- if ggItems[idx].Live then
+ if ggItems[idx].alive then
begin
result := cb(@ggItems[idx]);
if result then exit;
for f := 0 to High(ggItems) do
begin
it := @ggItems[f];
- if not it.Live then continue;
+ if not it.alive then continue;
case it.ItemType of
ITEM_KEY_RED: g_AddDynLight(it.Obj.X+(it.Obj.Rect.Width div 2), it.Obj.Y+(it.Obj.Rect.Height div 2), 24, 1.0, 0.0, 0.0, 0.6);
ITEM_KEY_GREEN: g_AddDynLight(it.Obj.X+(it.Obj.Rect.Width div 2), it.Obj.Y+(it.Obj.Rect.Height div 2), 24, 0.0, 1.0, 0.0, 0.6);