hedgewars/uVisualGears.pas
changeset 2699 249adefa9c1c
parent 2695 ed789a7ef68d
child 2713 71250942e95b
equal deleted inserted replaced
2698:90585aba87ad 2699:249adefa9c1c
    18 
    18 
    19 {$INCLUDE "options.inc"}
    19 {$INCLUDE "options.inc"}
    20 
    20 
    21 unit uVisualGears;
    21 unit uVisualGears;
    22 interface
    22 interface
    23 uses SDLh, uConsts,
    23 uses SDLh, uConsts, uFloat,
    24 {$IFDEF GLES11}
    24 {$IFDEF GLES11}
    25 	gles11,
    25 	gles11;
    26 {$ELSE}
    26 {$ELSE}
    27 	GL,
    27 	GL;
    28 {$ENDIF}
    28 {$ENDIF}
    29 	uFloat;
       
    30 
    29 
    31 type PVisualGear = ^TVisualGear;
    30 type PVisualGear = ^TVisualGear;
    32 	TVGearStepProcedure = procedure (Gear: PVisualGear; Steps: Longword);
    31 	TVGearStepProcedure = procedure (Gear: PVisualGear; Steps: Longword);
    33 	TVisualGear = record
    32 	TVisualGear = record
    34 		NextGear, PrevGear: PVisualGear;
    33 		NextGear, PrevGear: PVisualGear;
    46 		Tex: PTexture;
    45 		Tex: PTexture;
    47         Hedgehog: pointer;
    46         Hedgehog: pointer;
    48         Text: shortstring
    47         Text: shortstring
    49 		end;
    48 		end;
    50 
    49 
       
    50 procedure init_uVisualGears;
    51 function  AddVisualGear(X, Y: LongInt; Kind: TVisualGearType): PVisualGear;
    51 function  AddVisualGear(X, Y: LongInt; Kind: TVisualGearType): PVisualGear;
    52 procedure ProcessVisualGears(Steps: Longword);
    52 procedure ProcessVisualGears(Steps: Longword);
    53 procedure DrawVisualGears(Layer: LongWord);
    53 procedure DrawVisualGears(Layer: LongWord);
    54 procedure DeleteVisualGear(Gear: PVisualGear);
    54 procedure DeleteVisualGear(Gear: PVisualGear);
    55 procedure AddClouds;
    55 procedure AddClouds;
    56 procedure AddDamageTag(X, Y, Damage, Color: LongWord);
    56 procedure AddDamageTag(X, Y, Damage, Color: LongWord);
    57 
    57 
    58 var VisualGearsList: PVisualGear = nil;
    58 var VisualGearsList: PVisualGear;
    59 	vobFrameTicks, vobFramesCount: Longword;
    59     vobFrameTicks, vobFramesCount: Longword;
    60 	vobVelocity, vobFallSpeed: LongInt;
    60     vobVelocity, vobFallSpeed: LongInt;
    61 
    61 
    62 implementation
    62 implementation
    63 uses uWorld, uMisc, uStore, uTeams, uSound;
    63 uses uWorld, uMisc, uStore, uTeams, uSound;
    64 const cExplFrameTicks = 110;
    64 const cExplFrameTicks = 110;
    65 
    65 
   516 begin
   516 begin
   517 for i:= 0 to cCloudsNumber - 1 do
   517 for i:= 0 to cCloudsNumber - 1 do
   518     AddVisualGear( - cScreenWidth + i * ((cScreenWidth * 2 + (LAND_WIDTH+256)) div (cCloudsNumber + 1)), LAND_HEIGHT-1184, vgtCloud)
   518     AddVisualGear( - cScreenWidth + i * ((cScreenWidth * 2 + (LAND_WIDTH+256)) div (cCloudsNumber + 1)), LAND_HEIGHT-1184, vgtCloud)
   519 end;
   519 end;
   520 
   520 
   521 initialization
   521 procedure init_uVisualGears;
   522 
   522 begin
   523 finalization
   523 	VisualGearsList:= nil;
       
   524 end;
       
   525 
   524 
   526 
   525 end.
   527 end.