X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_gfx.pas;h=00630f3f5fa20b7677214c601e27b36ee4c0dc3c;hb=abda6900c041e39944de6a49aa088a60c170715e;hp=9c58759a071c0ace4bc29776649bf51d7c5998b3;hpb=d5d513b459869550bc0623d910eb97c706fab07d;p=d2df-sdl.git diff --git a/src/game/g_gfx.pas b/src/game/g_gfx.pas index 9c58759..00630f3 100644 --- a/src/game/g_gfx.pas +++ b/src/game/g_gfx.pas @@ -59,8 +59,6 @@ procedure g_GFX_Bubbles (fX, fY: Integer; count: Word; devX, devY: Byte); procedure g_GFX_SetMax (count: Integer); function g_GFX_GetMax (): Integer; -procedure g_GFX_OnceAnim (X, Y: Integer; Anim: TAnimation; AnimType: Byte = 0); - procedure g_Mark (x, y, Width, Height: Integer; t: Byte; st: Boolean=true); procedure g_GFX_Update (); @@ -121,21 +119,13 @@ function awmIsSetHolmes (x, y: Integer): Boolean; inline; procedure think (); inline; end; - TOnceAnim = record - AnimType: Byte; - x, y: Integer; - oldX, oldY: Integer; - Animation: TAnimation; - end; - var (* private state *) Particles: array of TParticle = nil; - OnceAnims: array of TOnceAnim = nil; implementation uses - g_map, g_panel, g_basic, Math, r_animations, + g_map, g_panel, g_basic, Math, g_options, g_console, SysUtils, g_triggers, MAPDEF, g_game, g_language, g_net, utils, xprofiler; @@ -1542,51 +1532,6 @@ begin result := MaxParticles; end; - -function FindOnceAnim (): DWORD; -var - i: Integer; -begin - if OnceAnims <> nil then - for i := 0 to High(OnceAnims) do - if OnceAnims[i].Animation = nil then - begin - Result := i; - Exit; - end; - - if OnceAnims = nil then - begin - SetLength(OnceAnims, 16); - Result := 0; - end - else - begin - Result := High(OnceAnims) + 1; - SetLength(OnceAnims, Length(OnceAnims) + 16); - end; -end; - - -procedure g_GFX_OnceAnim (x, y: Integer; Anim: TAnimation; AnimType: Byte = 0); -var - find_id: DWORD; -begin - if not gpart_dbg_enabled then exit; - - if (Anim = nil) then exit; - - find_id := FindOnceAnim(); - - OnceAnims[find_id].AnimType := AnimType; - OnceAnims[find_id].Animation := TAnimation.Create(Anim.FramesID, Anim.Loop, Anim.Speed); - OnceAnims[find_id].Animation.Blending := Anim.Blending; - OnceAnims[find_id].Animation.alpha := Anim.alpha; - OnceAnims[find_id].x := x; - OnceAnims[find_id].y := y; -end; - - // ////////////////////////////////////////////////////////////////////////// // procedure g_GFX_Init (); begin @@ -1609,12 +1554,6 @@ begin for a := 0 to High(Particles) do Particles[a].die(); CurrentParticle := 0; - if (OnceAnims <> nil) then - begin - for a := 0 to High(OnceAnims) do OnceAnims[a].Animation.Free(); - OnceAnims := nil; - end; - awakeMap := nil; // why not? awakeMapH := -1; @@ -1654,34 +1593,6 @@ begin // clear awake map awmClear(); - - if OnceAnims <> nil then - begin - for a := 0 to High(OnceAnims) do - if OnceAnims[a].Animation <> nil then - begin - OnceAnims[a].oldx := OnceAnims[a].x; - OnceAnims[a].oldy := OnceAnims[a].y; - - case OnceAnims[a].AnimType of - ONCEANIM_SMOKE: - begin - if Random(3) = 0 then - OnceAnims[a].x := OnceAnims[a].x-1+Random(3); - if Random(2) = 0 then - OnceAnims[a].y := OnceAnims[a].y-Random(2); - end; - end; - - if OnceAnims[a].Animation.Played then - begin - OnceAnims[a].Animation.Free(); - OnceAnims[a].Animation := nil; - end - else - OnceAnims[a].Animation.Update(); - end; - end; end; end.