2009-10-26 21:03:37 -04:00
|
|
|
{
|
|
|
|
This file is part of the Mufasa Macro Library (MML)
|
|
|
|
Copyright (c) 2009 by Raymond van Venetië and Merlijn Wajer
|
|
|
|
|
|
|
|
MML is free software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
MML is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with MML. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
See the file COPYING, included in this distribution,
|
|
|
|
for details about the copyright.
|
|
|
|
|
|
|
|
Other.inc for the Mufasa Macro Library
|
|
|
|
}
|
|
|
|
|
2009-11-01 10:04:03 -05:00
|
|
|
procedure psWait(t: Integer);
|
|
|
|
{$ifdef MSWINDOWS}
|
2009-10-26 21:03:37 -04:00
|
|
|
begin
|
|
|
|
Sleep(t);
|
|
|
|
end;
|
2009-11-01 10:04:03 -05:00
|
|
|
{$else}
|
|
|
|
var
|
2009-11-30 14:57:26 -05:00
|
|
|
EndTime : DWord;
|
2009-11-01 10:04:03 -05:00
|
|
|
begin
|
|
|
|
if t > 50 then
|
|
|
|
begin;
|
|
|
|
EndTime := GetTickCount + t;
|
|
|
|
while (CurrThread.PSScript.Exec.Status = isRunning) and (GetTickCount < EndTime) do
|
|
|
|
Sleep(16);
|
|
|
|
end else
|
2009-11-30 14:57:26 -05:00
|
|
|
begin
|
2009-11-01 10:04:03 -05:00
|
|
|
sleep(t);
|
2009-11-30 14:57:26 -05:00
|
|
|
end;
|
2009-11-01 10:04:03 -05:00
|
|
|
end;
|
|
|
|
{$endif}
|
2009-10-26 21:03:37 -04:00
|
|
|
|
|
|
|
procedure SaveScreenshot(FileName: string);
|
|
|
|
var
|
|
|
|
w,h : integer;
|
2009-12-22 19:54:31 -05:00
|
|
|
bmp: TMufasaBitmap;
|
2009-10-26 21:03:37 -04:00
|
|
|
begin;
|
2009-12-22 19:54:31 -05:00
|
|
|
CurrThread.Client.MWindow.GetDimensions(w,h);
|
|
|
|
bmp := TMufasaBitmap.Create;
|
|
|
|
bmp.CopyClientToBitmap(CurrThread.Client.MWindow,True,0,0,w-1,h-1);
|
|
|
|
bmp.SaveToFile(FileName);
|
|
|
|
bmp.Free;
|
2009-10-26 21:03:37 -04:00
|
|
|
end;
|
|
|
|
|
|
|
|
function CreateForm : TForm;
|
|
|
|
begin;
|
|
|
|
result := TForm.Create(nil);
|
|
|
|
end;
|
|
|
|
function CreateButton(Owner : TComponent) : TButton;
|
2009-11-04 17:41:06 -05:00
|
|
|
begin
|
2009-10-26 21:03:37 -04:00
|
|
|
Result := TButton.Create(Owner);
|
|
|
|
end;
|
|
|
|
|
2009-12-06 17:25:28 -05:00
|
|
|
function MinE(a, b: Extended): Extended;
|
|
|
|
begin;
|
|
|
|
result := min(a,b);
|
|
|
|
end;
|
|
|
|
|
|
|
|
function IntToBox(x1,y1,x2,y2 : integer) : TBox;
|
|
|
|
begin;
|
|
|
|
result.x1 := x1;
|
|
|
|
result.y1 := y1;
|
|
|
|
result.x2 := x2;
|
|
|
|
result.y2 := y2;
|
|
|
|
end;
|
|
|
|
|
|
|
|
function Capitalize(str : string) : string;
|
|
|
|
var
|
|
|
|
i , l : integer;
|
|
|
|
cap : boolean;
|
|
|
|
begin;
|
|
|
|
result := str;
|
|
|
|
l := length(str);
|
|
|
|
cap := true;
|
|
|
|
for i := 1 to l do
|
|
|
|
if cap and (str[i] in ['a'..'z'] + ['A'..'Z']) then
|
|
|
|
begin;
|
|
|
|
result[i] := UpperCase(str[i])[1];
|
|
|
|
cap := false;
|
|
|
|
end else if not (str[i] in ['a'..'z'] + ['A'..'Z']) then
|
|
|
|
cap := true;
|
|
|
|
end;
|
|
|
|
|
2009-10-26 21:03:37 -04:00
|
|
|
function Distance(x1, y1, x2, y2: Integer): Integer;
|
|
|
|
begin;
|
|
|
|
Result := Round(Sqrt(Sqr(x2-x1) + Sqr(y2-y1)));
|
|
|
|
end;
|
2009-10-30 16:21:44 -04:00
|
|
|
|
2009-11-29 14:23:25 -05:00
|
|
|
procedure DisplayDebugImgWindow(w,h : integer);
|
|
|
|
begin;
|
|
|
|
CurrThread.DebugImg.DispSize^ := Classes.Point(w,h);
|
|
|
|
CurrThread.Synchronize( CurrThread.DebugImg.ShowForm);
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure DrawBitmapDebugImg(bmp : integer);
|
|
|
|
begin;
|
|
|
|
CurrThread.DebugImg.ToDrawBitmap^ := CurrThread.Client.MBitmaps.Bmp[bmp];
|
|
|
|
CurrThread.Synchronize(CurrThread.DebugImg.DrawBitmap);
|
|
|
|
end;
|
|
|
|
|
2009-11-29 06:40:10 -05:00
|
|
|
procedure TerminateScript;
|
|
|
|
begin;
|
|
|
|
CurrThread.PSScript.Stop;
|
|
|
|
end;
|
2009-12-06 17:25:28 -05:00
|
|
|
function GetTimeRunning: LongWord;
|
|
|
|
begin;
|
|
|
|
result := GetTickCount - CurrThread.StartTime;
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure ConvertTime(Time : integer; var h,m,s : integer);
|
|
|
|
var
|
|
|
|
x : integer;
|
|
|
|
begin;
|
|
|
|
x := time;
|
|
|
|
h := x div(1000 * 60 * 60);
|
|
|
|
x := x mod (1000 * 60 * 60);
|
|
|
|
m := x div (1000 * 60);
|
|
|
|
x := x mod (1000 * 60);
|
|
|
|
s := x div (1000);
|
|
|
|
end;
|
2009-11-29 06:40:10 -05:00
|
|
|
|
2009-10-30 16:21:44 -04:00
|
|
|
procedure HakunaMatata;
|
|
|
|
begin;
|
|
|
|
OpenWebPage('http://www.youtube.com/v/ejEVczA8PLU&hl=en&fs=1&autoplay=1');
|
|
|
|
end;
|