|
@@ -125,43 +125,18 @@ begin
|
|
|
// Boo!
|
|
|
end;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
{*****************************************************************************
|
|
|
ParamStr/Randomize
|
|
|
*****************************************************************************}
|
|
|
-const
|
|
|
- QRAN_SHIFT = 15;
|
|
|
- QRAN_MASK = ((1 shl QRAN_SHIFT) - 1);
|
|
|
- QRAN_MAX = QRAN_MASK;
|
|
|
- QRAN_A = 1664525;
|
|
|
- QRAN_C = 1013904223;
|
|
|
|
|
|
{ set randseed to a new pseudo random value }
|
|
|
procedure randomize;
|
|
|
var
|
|
|
IPC_Timer: array [0..2] of byte absolute $27FF01B;
|
|
|
begin
|
|
|
- RandSeed := (IPC_Timer[0] * 3600) + (IPC_Timer[1] * 60) + IPC_Timer[2];
|
|
|
-end;
|
|
|
-
|
|
|
-function random(): integer;
|
|
|
-begin
|
|
|
- RandSeed := QRAN_A * RandSeed + QRAN_C;
|
|
|
- random := (RandSeed shr 16) and QRAN_MAX;
|
|
|
+ RandSeed := (IPC_Timer[0] * 3600) + (IPC_Timer[1] * 60) + IPC_Timer[2];
|
|
|
end;
|
|
|
|
|
|
-function random(value: integer): integer;
|
|
|
-var
|
|
|
- a: integer;
|
|
|
-begin
|
|
|
- RandSeed := QRAN_A * RandSeed + QRAN_C;
|
|
|
- a := (RandSeed shr 16) and QRAN_MAX;
|
|
|
- random := (a * value) shr 15;
|
|
|
-end;
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
Function ParamCount: Longint;
|
|
|
Begin
|
|
|
Paramcount:=argc-1
|