X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_gfx.pas;h=00630f3f5fa20b7677214c601e27b36ee4c0dc3c;hb=abda6900c041e39944de6a49aa088a60c170715e;hp=3a9c79cf7b7102bce7e6e22e00dcd8e6008a491d;hpb=aab9c00a40aebab672c35d10258404b6eea517e7;p=d2df-sdl.git diff --git a/src/game/g_gfx.pas b/src/game/g_gfx.pas index 3a9c79c..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 (); @@ -106,7 +104,7 @@ function awmIsSetHolmes (x, y: Integer): Boolean; inline; //k8: sorry, i have to emulate virtual methods this way, 'cause i haet `Object` procedure thinkerBloodAndWater (); procedure thinkerSpark (); - procedure thinkerBubble (); + procedure thinkerBubble (); procedure findFloor (force: Boolean=false); // this updates `floorY` if forced or Unknown procedure findCeiling (force: Boolean=false); // this updates `ceilingY` if forced or Unknown @@ -121,22 +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 - {$INCLUDE ../nogl/noGLuses.inc} - g_map, g_panel, g_basic, Math, e_graphics, + g_map, g_panel, g_basic, Math, g_options, g_console, SysUtils, g_triggers, MAPDEF, g_game, g_language, g_net, utils, xprofiler; @@ -1543,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 @@ -1610,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; @@ -1655,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.