hedgewars/uMisc.pas
changeset 2948 3f21a9dc93d0
parent 2947 803b277e4894
child 3038 4e48c276a468
equal deleted inserted replaced
2947:803b277e4894 2948:3f21a9dc93d0
    19 {$INCLUDE "options.inc"}
    19 {$INCLUDE "options.inc"}
    20 
    20 
    21 unit uMisc;
    21 unit uMisc;
    22 interface
    22 interface
    23 
    23 
    24 uses	SDLh, uConsts, uFloat,
    24 uses    SDLh, uConsts, uFloat,
    25 {$IFDEF GLES11}
    25 {$IFDEF GLES11}
    26     gles11;
    26     gles11;
    27 {$ELSE}
    27 {$ELSE}
    28     GL;
    28     GL;
    29 {$ENDIF}
    29 {$ENDIF}
    69 
    69 
    70     cWaterLine       : LongInt;
    70     cWaterLine       : LongInt;
    71     cGearScrEdgesDist: LongInt;
    71     cGearScrEdgesDist: LongInt;
    72     cAltDamage       : boolean;
    72     cAltDamage       : boolean;
    73 
    73 
    74     GameTicks	: LongWord;
    74     GameTicks   : LongWord;
    75     TrainingTimeInc	: Longword;
    75     TrainingTimeInc : Longword;
    76     TrainingTimeInD	: Longword;
    76     TrainingTimeInD : Longword;
    77     TrainingTimeInM	: Longword;
    77     TrainingTimeInM : Longword;
    78     TrainingTimeMax	: Longword;
    78     TrainingTimeMax : Longword;
    79 
    79 
    80     TimeTrialStartTime: Longword;
    80     TimeTrialStartTime: Longword;
    81     TimeTrialStopTime : Longword;
    81     TimeTrialStopTime : Longword;
    82     
    82     
    83     recordFileName	: shortstring;
    83     recordFileName  : shortstring;
    84     cShowFPS	: boolean;
    84     cShowFPS    : boolean;
    85     cCaseFactor	: Longword;
    85     cCaseFactor : Longword;
    86     cLandAdditions	: Longword;
    86     cLandAdditions  : Longword;
    87     cExplosives	: Longword;
    87     cExplosives : Longword;
    88     cFullScreen	: boolean;
    88     cFullScreen : boolean;
    89     cReducedQuality	: boolean;
    89     cReducedQuality : boolean;
    90     cLocaleFName	: shortstring;
    90     cLocaleFName    : shortstring;
    91     cSeed		: shortstring;
    91     cSeed       : shortstring;
    92     cInitVolume	: LongInt;
    92     cInitVolume : LongInt;
    93     cVolumeDelta	: LongInt;
    93     cVolumeDelta    : LongInt;
    94     cTimerInterval	: Longword;
    94     cTimerInterval  : Longword;
    95     cHasFocus	: boolean;
    95     cHasFocus   : boolean;
    96     cInactDelay	: Longword;
    96     cInactDelay : Longword;
    97 
    97 
    98     bBetweenTurns	: boolean;
    98     bBetweenTurns   : boolean;
    99     cHealthDecrease	: LongWord;
    99     cHealthDecrease : LongWord;
   100     bWaterRising	: Boolean;
   100     bWaterRising    : Boolean;
   101 
   101 
   102     ShowCrosshair	: boolean;
   102     ShowCrosshair   : boolean;
   103     CursorMovementX : Integer;
   103     CursorMovementX : Integer;
   104     CursorMovementY : Integer;
   104     CursorMovementY : Integer;
   105     cDrownSpeed	: hwFloat;
   105     cDrownSpeed : hwFloat;
   106     cMaxWindSpeed	: hwFloat;
   106     cMaxWindSpeed   : hwFloat;
   107     cWindSpeed	: hwFloat;
   107     cWindSpeed  : hwFloat;
   108     cGravity	: hwFloat;
   108     cGravity    : hwFloat;
   109     cDamageModifier	: hwFloat;
   109     cDamageModifier : hwFloat;
   110     cLaserSighting	: boolean;
   110     cLaserSighting  : boolean;
   111     cVampiric	: boolean;
   111     cVampiric   : boolean;
   112     cArtillery	: boolean;
   112     cArtillery  : boolean;
   113     WeaponTooltipTex : PTexture;
   113     WeaponTooltipTex : PTexture;
   114     cWeaponTooltips: boolean;
   114     cWeaponTooltips: boolean;
   115 
   115 
   116     flagMakeCapture	: boolean;
   116     flagMakeCapture : boolean;
   117 
   117 
   118     InitStepsFlags	: Longword;
   118     InitStepsFlags  : Longword;
   119     RealTicks	: Longword;
   119     RealTicks   : Longword;
   120     AttackBar	: LongInt;
   120     AttackBar   : LongInt;
   121 
   121 
   122     WaterColorArray	: array[0..3] of HwColor4f;
   122     WaterColorArray : array[0..3] of HwColor4f;
   123 
   123 
   124     CursorPoint	: TPoint;
   124     CursorPoint : TPoint;
   125     TargetPoint	: TPoint;
   125     TargetPoint : TPoint;
   126 
   126 
   127     TextureList : PTexture;
   127     TextureList : PTexture;
   128 
   128 
   129 
   129 
   130 procedure init_uMisc;
   130 procedure init_uMisc;
   644 
   644 
   645 
   645 
   646 procedure init_uMisc;
   646 procedure init_uMisc;
   647 {$IFNDEF IPHONEOS}var i: LongInt;{$ENDIF}
   647 {$IFNDEF IPHONEOS}var i: LongInt;{$ENDIF}
   648 begin
   648 begin
   649     cDrownSpeed.QWordValue	:= 257698038;		// 0.06
   649     cDrownSpeed.QWordValue  := 257698038;       // 0.06
   650     cMaxWindSpeed.QWordValue:= 2147484;		// 0.0005
   650     cMaxWindSpeed.QWordValue:= 2147484;     // 0.0005
   651     cWindSpeed.QWordValue	:= 429496;		// 0.0001
   651     cWindSpeed.QWordValue   := 429496;      // 0.0001
   652     cGravity                := cMaxWindSpeed;
   652     cGravity                := cMaxWindSpeed;
   653     cDamageModifier         := _1;
   653     cDamageModifier         := _1;
   654     TargetPoint             := cTargetPointRef;
   654     TargetPoint             := cTargetPointRef;
   655     TextureList             := nil;
   655     TextureList             := nil;
   656     
   656     
   657     // int, longint longword and byte
   657     // int, longint longword and byte
   658     CursorMovementX		:= 0;
   658     CursorMovementX     := 0;
   659     CursorMovementY		:= 0;
   659     CursorMovementY     := 0;
   660     GameTicks		:= 0;
   660     GameTicks       := 0;
   661     TrainingTimeInc		:= 10000;
   661     TrainingTimeInc     := 10000;
   662     TrainingTimeInD		:= 500;
   662     TrainingTimeInD     := 500;
   663     TrainingTimeInM		:= 5000;
   663     TrainingTimeInM     := 5000;
   664     TrainingTimeMax		:= 60000;
   664     TrainingTimeMax     := 60000;
   665     TimeTrialStartTime	:= 0;
   665     TimeTrialStartTime  := 0;
   666     TimeTrialStopTime	:= 0;
   666     TimeTrialStopTime   := 0;
   667     cWaterLine		:= LAND_HEIGHT;
   667     cWaterLine      := LAND_HEIGHT;
   668     cGearScrEdgesDist	:= 240;
   668     cGearScrEdgesDist   := 240;
   669     cHealthDecrease		:= 0;
   669     cHealthDecrease     := 0;
   670 
   670 
   671     GameFlags		:= 0;
   671     GameFlags       := 0;
   672     TrainingFlags		:= 0;
   672     TrainingFlags       := 0;
   673     TurnTimeLeft		:= 0;
   673     TurnTimeLeft        := 0;
   674     cSuddenDTurns		:= 15;
   674     cSuddenDTurns       := 15;
   675     cDamagePercent		:= 100;
   675     cDamagePercent      := 100;
   676     cMineDudPercent		:= 0;
   676     cMineDudPercent     := 0;
   677     cTemplateFilter		:= 0;
   677     cTemplateFilter     := 0;
   678 
   678 
   679     cHedgehogTurnTime	:= 45000;
   679     cHedgehogTurnTime   := 45000;
   680     cMinesTime		:= 3000;
   680     cMinesTime      := 3000;
   681     cMaxAIThinkTime		:= 9000;
   681     cMaxAIThinkTime     := 9000;
   682 
   682 
   683     cCloudsNumber		:= 9;
   683     cCloudsNumber       := 9;
   684     cScreenWidth		:= 1024;
   684     cScreenWidth        := 1024;
   685     cScreenHeight		:= 768;
   685     cScreenHeight       := 768;
   686     cInitWidth		:= cScreenWidth;
   686     cInitWidth      := cScreenWidth;
   687     cInitHeight		:= cScreenHeight;
   687     cInitHeight     := cScreenHeight;
   688     cBits			:= 32;
   688     cBits           := 32;
   689     cTagsMask		:= 0;
   689     cTagsMask       := 0;
   690     KBnum			:= 0;
   690     KBnum           := 0;
   691     InitStepsFlags		:= 0;
   691     InitStepsFlags      := 0;
   692     RealTicks		:= 0;
   692     RealTicks       := 0;
   693     AttackBar		:= 0; // 0 - none, 1 - just bar at the right-down corner, 2 - like in WWP
   693     AttackBar       := 0; // 0 - none, 1 - just bar at the right-down corner, 2 - like in WWP
   694     
   694     
   695     // tgametype and glfloat and string
   695     // tgametype and glfloat and string
   696     GameState		:= Low(TGameState);
   696     GameState       := Low(TGameState);
   697     GameType		:= gmtLocal;
   697     GameType        := gmtLocal;
   698     zoom			:= 2.0;
   698     zoom            := 2.0;
   699     ZoomValue		:= 2.0;
   699     ZoomValue       := 2.0;
   700     cBitsStr		:= '32';
   700     cBitsStr        := '32';
   701     WeaponTooltipTex	:= nil;
   701     WeaponTooltipTex    := nil;
   702 
   702 
   703     // booleans
   703     // booleans
   704     cLaserSighting		:= false;
   704     cLaserSighting      := false;
   705     cVampiric		:= false;
   705     cVampiric       := false;
   706     cArtillery		:= false;
   706     cArtillery      := false;
   707     flagMakeCapture		:= false;
   707     flagMakeCapture     := false;
   708     bBetweenTurns		:= false;
   708     bBetweenTurns       := false;
   709     bWaterRising		:= false;
   709     bWaterRising        := false;
   710     isCursorVisible		:= false;
   710     isCursorVisible     := false;
   711     isTerminated		:= false;
   711     isTerminated        := false;
   712     isInLag			:= false;
   712     isInLag         := false;
   713     isPaused		:= false;
   713     isPaused        := false;
   714     isMusicEnabled		:= false;
   714     isMusicEnabled      := false;
   715     isInMultiShoot		:= false;
   715     isInMultiShoot      := false;
   716     isSpeed			:= false;
   716     isSpeed         := false;
   717     fastUntilLag		:= false;
   717     fastUntilLag        := false;
   718     cVSyncInUse		:= true;	
   718     cVSyncInUse     := true;    
   719     isSoundEnabled		:= true;
   719     isSoundEnabled      := true;
   720     isSEBackup		:= true;
   720     isSEBackup      := true;
   721     
   721     
   722     // init flags
   722     // init flags
   723     recordFileName		:= '';
   723     recordFileName      := '';
   724     cShowFPS		:= false;
   724     cShowFPS        := false;
   725     cCaseFactor		:= 5;  {0..9}
   725     cCaseFactor     := 5;  {0..9}
   726     cLandAdditions		:= 4;
   726     cLandAdditions      := 4;
   727     cExplosives		:= 2;
   727     cExplosives     := 2;
   728     cFullScreen		:= false;
   728     cFullScreen     := false;
   729     cReducedQuality		:= false;
   729     cReducedQuality     := false;
   730     cLocaleFName		:= 'en.txt';
   730     cLocaleFName        := 'en.txt';
   731     cSeed			:= '';
   731     cSeed           := '';
   732     cInitVolume		:= 50;
   732     cInitVolume     := 50;
   733     cVolumeDelta		:= 0;
   733     cVolumeDelta        := 0;
   734     cTimerInterval		:= 8;
   734     cTimerInterval      := 8;
   735     cHasFocus		:= true;
   735     cHasFocus       := true;
   736     cInactDelay		:= 1250;
   736     cInactDelay     := 1250;
   737     cAltDamage		:= true;
   737     cAltDamage      := true;
   738 {$IFDEF DEBUGFILE}
   738 {$IFDEF DEBUGFILE}
   739 {$I-}
   739 {$I-}
   740 {$IFDEF IPHONEOS}
   740 {$IFDEF IPHONEOS}
   741     f:= stderr;
   741     f:= stderr;
   742 {$ELSE}
   742 {$ELSE}