hedgewars/uMisc.pas
changeset 2428 6800f8aa0184
parent 2392 a55dbef5cf31
child 2447 08d623a494e6
equal deleted inserted replaced
2427:241e3bb6a146 2428:6800f8aa0184
    41 	fastUntilLag    : boolean = false;
    41 	fastUntilLag    : boolean = false;
    42 
    42 
    43 	GameState     : TGameState = Low(TGameState);
    43 	GameState     : TGameState = Low(TGameState);
    44 	GameType      : TGameType = gmtLocal;
    44 	GameType      : TGameType = gmtLocal;
    45 	GameFlags     : Longword = 0;
    45 	GameFlags     : Longword = 0;
       
    46 	TrainingFlags : Longword = 0;
    46 	TurnTimeLeft  : Longword = 0;
    47 	TurnTimeLeft  : Longword = 0;
    47 	cSuddenDTurns : LongInt = 15;
    48 	cSuddenDTurns : LongInt = 15;
    48 	cDamagePercent : LongInt = 100;
    49 	cDamagePercent : LongInt = 100;
    49 	cTemplateFilter : LongInt = 0;
    50 	cTemplateFilter : LongInt = 0;
    50 
    51 
    69 	cCursorEdgesDist : LongInt = 100;
    70 	cCursorEdgesDist : LongInt = 100;
    70 	cTeamHealthWidth : LongInt = 128;
    71 	cTeamHealthWidth : LongInt = 128;
    71 	cAltDamage       : boolean = true;
    72 	cAltDamage       : boolean = true;
    72 
    73 
    73 	GameTicks     : LongWord = 0;
    74 	GameTicks     : LongWord = 0;
    74 
    75 	TrainingTimeInc: Longword = 10000;
       
    76 	TrainingTimeInD: Longword = 250;
       
    77 	TrainingTimeInM: Longword = 5000;
       
    78 	TrainingTimeMax: Longword = 90000;
       
    79 
       
    80 	TimeTrialStartTime: Longword = 0;
       
    81 	TimeTrialStopTime: Longword = 0;
       
    82 	
    75 	cSkyColor     : Longword = 0;
    83 	cSkyColor     : Longword = 0;
    76 	cWhiteColor   : Longword = $FFFFFFFF;
    84 	cWhiteColor   : Longword = $FFFFFFFF;
    77 	cColorNearBlack       : Longword = $FF000010;
    85 	cColorNearBlack       : Longword = $FF000010;
    78 	cExplosionBorderColor : LongWord = $808080;
    86 	cExplosionBorderColor : LongWord = $808080;
    79 
    87 
   100 {$WARNINGS ON}
   108 {$WARNINGS ON}
   101 
   109 
   102 var
   110 var
   103 	cSendCursorPosTime   : LongWord = 50;
   111 	cSendCursorPosTime   : LongWord = 50;
   104 	ShowCrosshair : boolean;
   112 	ShowCrosshair : boolean;
       
   113 	CursorMovementX : Integer = 0;
       
   114 	CursorMovementY : Integer = 0;
   105 	cDrownSpeed,
   115 	cDrownSpeed,
   106 	cMaxWindSpeed,
   116 	cMaxWindSpeed,
   107 	cWindSpeed,
   117 	cWindSpeed,
   108 	cGravity: hwFloat;
   118 	cGravity: hwFloat;
   109 	cDamageModifier: hwFloat;
   119 	cDamageModifier: hwFloat;
   125 
   135 
   126 var cWaterOpacity: byte = $80;
   136 var cWaterOpacity: byte = $80;
   127 
   137 
   128 var WaterColorArray: array[0..3] of HwColor4f;
   138 var WaterColorArray: array[0..3] of HwColor4f;
   129 
   139 
       
   140 procedure movecursor(dx, dy: Integer);
   130 function hwSign(r: hwFloat): LongInt;
   141 function hwSign(r: hwFloat): LongInt;
   131 function Min(a, b: LongInt): LongInt;
   142 function Min(a, b: LongInt): LongInt;
   132 function Max(a, b: LongInt): LongInt;
   143 function Max(a, b: LongInt): LongInt;
   133 procedure OutError(Msg: String; isFatalError: boolean);
   144 procedure OutError(Msg: String; isFatalError: boolean);
   134 procedure TryDo(Assert: boolean; Msg: string; isFatal: boolean);
   145 procedure TryDo(Assert: boolean; Msg: string; isFatal: boolean);
   167 var KBnum: Longword = 0;
   178 var KBnum: Longword = 0;
   168 {$IFDEF DEBUGFILE}
   179 {$IFDEF DEBUGFILE}
   169 var f: textfile;
   180 var f: textfile;
   170 {$ENDIF}
   181 {$ENDIF}
   171 
   182 
       
   183 procedure movecursor(dx, dy: Integer);
       
   184 var x, y: LongInt;
       
   185 begin
       
   186 if (dx = 0) and (dy = 0) then exit;
       
   187 {$IFDEF SDL13}
       
   188 SDL_GetMouseState(0, @x, @y);
       
   189 {$ELSE}
       
   190 SDL_GetMouseState(@x, @y);
       
   191 {$ENDIF}
       
   192 Inc(x, dx);
       
   193 Inc(y, dy);
       
   194 SDL_WarpMouse(x, y);
       
   195 end;
       
   196 
   172 function hwSign(r: hwFloat): LongInt;
   197 function hwSign(r: hwFloat): LongInt;
   173 begin
   198 begin
   174 // yes, we have negative zero for a reason
   199 // yes, we have negative zero for a reason
   175 if r.isNegative then hwSign:= -1 else hwSign:= 1
   200 if r.isNegative then hwSign:= -1 else hwSign:= 1
   176 end;
   201 end;
   386 glBindTexture(GL_TEXTURE_2D, Surface2Tex^.id);
   411 glBindTexture(GL_TEXTURE_2D, Surface2Tex^.id);
   387 
   412 
   388 if SDL_MustLock(surf) then
   413 if SDL_MustLock(surf) then
   389    SDLTry(SDL_LockSurface(surf) >= 0, true);
   414    SDLTry(SDL_LockSurface(surf) >= 0, true);
   390 
   415 
   391 if not (isPowerOf2(Surf^.w) and isPowerOf2(Surf^.h)) then
   416 if (not SupportNPOTT) and (not (isPowerOf2(Surf^.w) and isPowerOf2(Surf^.h))) then
   392 	begin
   417 	begin
   393 	tw:= toPowerOf2(Surf^.w);
   418 	tw:= toPowerOf2(Surf^.w);
   394 	th:= toPowerOf2(Surf^.h);
   419 	th:= toPowerOf2(Surf^.h);
   395 
   420 
   396 	Surface2Tex^.rx:= Surf^.w / tw;
   421 	Surface2Tex^.rx:= Surf^.w / tw;