hedgewars/uGears.pas
changeset 188 a7c2a61524c2
parent 183 57c2ef19f719
child 191 a03c2d037e24
equal deleted inserted replaced
187:96c3154efee5 188:a7c2a61524c2
    25 type PGear = ^TGear;
    25 type PGear = ^TGear;
    26      TGearStepProcedure = procedure (Gear: PGear);
    26      TGearStepProcedure = procedure (Gear: PGear);
    27      TGear = record
    27      TGear = record
    28              NextGear, PrevGear: PGear;
    28              NextGear, PrevGear: PGear;
    29              Active: Boolean;
    29              Active: Boolean;
    30              State : Cardinal;
    30              State : Longword;
    31              X : Double;
    31              X : Double;
    32              Y : Double;
    32              Y : Double;
    33              dX: Double;
    33              dX: Double;
    34              dY: Double;
    34              dY: Double;
    35              Kind: TGearType;
    35              Kind: TGearType;
    36              Pos: Longword;
    36              Pos: Longword;
    37              doStep: TGearStepProcedure;
    37              doStep: TGearStepProcedure;
    38              Radius: integer;
    38              Radius: integer;
    39              Angle, Power : Cardinal;
    39              Angle, Power : Longword;
    40              DirAngle: Double;
    40              DirAngle: Double;
    41              Timer : LongWord;
    41              Timer : LongWord;
    42              Elasticity: Double;
    42              Elasticity: Double;
    43              Friction  : Double;
    43              Friction  : Double;
    44              Message : Longword;
    44              Message : Longword;
    47              CollIndex: Longword;
    47              CollIndex: Longword;
    48              Tag: integer;
    48              Tag: integer;
    49              Surf: PSDL_Surface;
    49              Surf: PSDL_Surface;
    50              end;
    50              end;
    51 
    51 
    52 function  AddGear(X, Y: integer; Kind: TGearType; State: Cardinal; const dX: Double=0.0; dY: Double=0.0; Timer: LongWord=0): PGear;
    52 function  AddGear(X, Y: integer; Kind: TGearType; State: Longword; const dX: Double=0.0; dY: Double=0.0; Timer: LongWord=0): PGear;
    53 procedure ProcessGears;
    53 procedure ProcessGears;
    54 procedure SetAllToActive;
    54 procedure SetAllToActive;
    55 procedure SetAllHHToActive;
    55 procedure SetAllHHToActive;
    56 procedure DrawGears(Surface: PSDL_Surface);
    56 procedure DrawGears(Surface: PSDL_Surface);
    57 procedure FreeGearsList;
    57 procedure FreeGearsList;
   113                                                                doStepActionTimer,
   113                                                                doStepActionTimer,
   114                                                                doStepActionTimer,
   114                                                                doStepActionTimer,
   115                                                                doStepActionTimer
   115                                                                doStepActionTimer
   116                                                                );
   116                                                                );
   117 
   117 
   118 function AddGear(X, Y: integer; Kind: TGearType; State: Cardinal; const dX: Double=0.0; dY: Double=0.0; Timer: LongWord=0): PGear;
   118 function AddGear(X, Y: integer; Kind: TGearType; State: Longword; const dX: Double=0.0; dY: Double=0.0; Timer: LongWord=0): PGear;
   119 const Counter: Longword = 0;
   119 const Counter: Longword = 0;
   120 begin
   120 begin
   121 inc(Counter);
   121 inc(Counter);
   122 {$IFDEF DEBUGFILE}AddFileLog('AddGear: ('+inttostr(x)+','+inttostr(y)+'), d('+floattostr(dX)+','+floattostr(dY)+')');{$ENDIF}
   122 {$IFDEF DEBUGFILE}AddFileLog('AddGear: ('+inttostr(x)+','+inttostr(y)+'), d('+floattostr(dX)+','+floattostr(dY)+')');{$ENDIF}
   123 New(Result);
   123 New(Result);