1
0
mirror of https://github.com/moparisthebest/Simba synced 2024-08-13 16:53:59 -04:00
git-svn-id: http://www.villavu.com/repositories/merlijn/mufasa@175 3f818213-9676-44b0-a9b4-5e4c4e03d09d
This commit is contained in:
Wizzup? 2009-11-02 10:18:35 +00:00
parent 6936a5c81e
commit 7b1e8d6f6a
7 changed files with 111 additions and 91 deletions

View File

@ -11,7 +11,7 @@
<TargetFileExt Value=""/>
<Icon Value="0"/>
<UseXPManifest Value="True"/>
<ActiveEditorIndexAtStart Value="0"/>
<ActiveEditorIndexAtStart Value="2"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
@ -30,15 +30,15 @@
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<Units Count="15">
<Units Count="17">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
<CursorPos X="3" Y="61"/>
<TopLine Value="54"/>
<CursorPos X="32" Y="57"/>
<TopLine Value="63"/>
<EditorIndex Value="0"/>
<UsageCount Value="34"/>
<UsageCount Value="36"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
@ -51,10 +51,10 @@
<Unit2>
<Filename Value="../../Units/MMLCore/client.pas"/>
<UnitName Value="Client"/>
<CursorPos X="26" Y="46"/>
<TopLine Value="51"/>
<CursorPos X="48" Y="33"/>
<TopLine Value="21"/>
<EditorIndex Value="1"/>
<UsageCount Value="12"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
</Unit2>
<Unit3>
@ -67,10 +67,10 @@
<Unit4>
<Filename Value="../../Units/MMLCore/window.pas"/>
<UnitName Value="Window"/>
<CursorPos X="149" Y="277"/>
<TopLine Value="262"/>
<EditorIndex Value="3"/>
<UsageCount Value="11"/>
<CursorPos X="56" Y="167"/>
<TopLine Value="146"/>
<EditorIndex Value="4"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
@ -85,35 +85,31 @@
<UnitName Value="finder"/>
<CursorPos X="37" Y="11"/>
<TopLine Value="1"/>
<EditorIndex Value="5"/>
<UsageCount Value="16"/>
<Loaded Value="True"/>
<UsageCount Value="17"/>
</Unit6>
<Unit7>
<Filename Value="../../Units/MMLCore/input.pas"/>
<UnitName Value="Input"/>
<CursorPos X="20" Y="35"/>
<TopLine Value="22"/>
<EditorIndex Value="4"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
<UsageCount Value="13"/>
</Unit7>
<Unit8>
<Filename Value="../../Units/MMLCore/mufasatypes.pas"/>
<UnitName Value="MufasaTypes"/>
<CursorPos X="50" Y="55"/>
<TopLine Value="31"/>
<EditorIndex Value="6"/>
<UsageCount Value="13"/>
<EditorIndex Value="5"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit8>
<Unit9>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<UnitName Value="ocr"/>
<CursorPos X="41" Y="633"/>
<TopLine Value="98"/>
<CursorPos X="34" Y="661"/>
<TopLine Value="637"/>
<EditorIndex Value="2"/>
<UsageCount Value="12"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
</Unit9>
<Unit10>
@ -139,9 +135,11 @@
<Unit13>
<Filename Value="../../Units/MMLCore/bitmaps.pas"/>
<UnitName Value="bitmaps"/>
<CursorPos X="15" Y="62"/>
<TopLine Value="47"/>
<CursorPos X="1" Y="483"/>
<TopLine Value="459"/>
<EditorIndex Value="3"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit13>
<Unit14>
<Filename Value="../../../../Documents/fpc/rtl/inc/objpash.inc"/>
@ -149,127 +147,141 @@
<TopLine Value="162"/>
<UsageCount Value="10"/>
</Unit14>
<Unit15>
<Filename Value="../../../../Documents/lazarus/lcl/intfgraphics.pas"/>
<UnitName Value="IntfGraphics"/>
<CursorPos X="30" Y="2975"/>
<TopLine Value="2959"/>
<UsageCount Value="10"/>
</Unit15>
<Unit16>
<Filename Value="../../Units/MMLAddon/mmlpsthread.pas"/>
<UnitName Value="mmlpsthread"/>
<CursorPos X="3" Y="154"/>
<TopLine Value="235"/>
<UsageCount Value="10"/>
</Unit16>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="648" Column="62" TopLine="631"/>
<Caret Line="645" Column="49" TopLine="625"/>
</Position1>
<Position2>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="654" Column="64" TopLine="631"/>
<Filename Value="project1.lpr"/>
<Caret Line="87" Column="27" TopLine="69"/>
</Position2>
<Position3>
<Filename Value="project1.lpr"/>
<Caret Line="83" Column="3" TopLine="62"/>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="508" Column="17" TopLine="503"/>
</Position3>
<Position4>
<Filename Value="../../Units/MMLCore/window.pas"/>
<Caret Line="243" Column="44" TopLine="5"/>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="471" Column="55" TopLine="456"/>
</Position4>
<Position5>
<Filename Value="../../Units/MMLCore/window.pas"/>
<Caret Line="261" Column="20" TopLine="246"/>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="649" Column="16" TopLine="626"/>
</Position5>
<Position6>
<Filename Value="../../Units/MMLCore/window.pas"/>
<Caret Line="263" Column="19" TopLine="246"/>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="649" Column="19" TopLine="626"/>
</Position6>
<Position7>
<Filename Value="../../Units/MMLCore/window.pas"/>
<Caret Line="267" Column="29" TopLine="246"/>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="646" Column="58" TopLine="625"/>
</Position7>
<Position8>
<Filename Value="project1.lpr"/>
<Caret Line="88" Column="27" TopLine="73"/>
<Caret Line="87" Column="25" TopLine="69"/>
</Position8>
<Position9>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="648" Column="16" TopLine="632"/>
<Caret Line="631" Column="65" TopLine="614"/>
</Position9>
<Position10>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="650" Column="73" TopLine="632"/>
<Caret Line="633" Column="29" TopLine="618"/>
</Position10>
<Position11>
<Filename Value="../../Units/MMLCore/finder.pas"/>
<Caret Line="632" Column="44" TopLine="621"/>
<Filename Value="project1.lpr"/>
<Caret Line="80" Column="29" TopLine="65"/>
</Position11>
<Position12>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="650" Column="16" TopLine="630"/>
<Filename Value="project1.lpr"/>
<Caret Line="43" Column="27" TopLine="24"/>
</Position12>
<Position13>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="659" Column="64" TopLine="637"/>
<Filename Value="project1.lpr"/>
<Caret Line="61" Column="3" TopLine="54"/>
</Position13>
<Position14>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="635" Column="7" TopLine="628"/>
<Filename Value="project1.lpr"/>
<Caret Line="75" Column="17" TopLine="61"/>
</Position14>
<Position15>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="641" Column="45" TopLine="626"/>
<Filename Value="../../Units/MMLCore/window.pas"/>
<Caret Line="161" Column="1" TopLine="146"/>
</Position15>
<Position16>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="649" Column="5" TopLine="626"/>
<Filename Value="../../Units/MMLCore/window.pas"/>
<Caret Line="165" Column="21" TopLine="146"/>
</Position16>
<Position17>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="508" Column="21" TopLine="493"/>
<Filename Value="project1.lpr"/>
<Caret Line="62" Column="32" TopLine="41"/>
</Position17>
<Position18>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="649" Column="19" TopLine="629"/>
<Filename Value="../../Units/MMLCore/client.pas"/>
<Caret Line="33" Column="49" TopLine="21"/>
</Position18>
<Position19>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="645" Column="49" TopLine="625"/>
<Caret Line="13" Column="41" TopLine="1"/>
</Position19>
<Position20>
<Filename Value="project1.lpr"/>
<Caret Line="87" Column="27" TopLine="69"/>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="665" Column="87" TopLine="645"/>
</Position20>
<Position21>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="508" Column="17" TopLine="503"/>
<Filename Value="../../Units/MMLCore/client.pas"/>
<Caret Line="33" Column="48" TopLine="21"/>
</Position21>
<Position22>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="471" Column="55" TopLine="456"/>
<Caret Line="319" Column="61" TopLine="295"/>
</Position22>
<Position23>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="649" Column="16" TopLine="626"/>
<Caret Line="667" Column="48" TopLine="653"/>
</Position23>
<Position24>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="649" Column="19" TopLine="626"/>
<Caret Line="673" Column="15" TopLine="652"/>
</Position24>
<Position25>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="646" Column="58" TopLine="625"/>
<Filename Value="../../Units/MMLCore/bitmaps.pas"/>
<Caret Line="62" Column="33" TopLine="47"/>
</Position25>
<Position26>
<Filename Value="project1.lpr"/>
<Caret Line="87" Column="25" TopLine="69"/>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="673" Column="20" TopLine="652"/>
</Position26>
<Position27>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="631" Column="65" TopLine="614"/>
<Filename Value="../../Units/MMLCore/bitmaps.pas"/>
<Caret Line="62" Column="33" TopLine="47"/>
</Position27>
<Position28>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="633" Column="29" TopLine="618"/>
<Filename Value="../../Units/MMLCore/bitmaps.pas"/>
<Caret Line="483" Column="21" TopLine="459"/>
</Position28>
<Position29>
<Filename Value="project1.lpr"/>
<Caret Line="80" Column="29" TopLine="65"/>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
<Caret Line="656" Column="18" TopLine="636"/>
</Position29>
<Position30>
<Filename Value="project1.lpr"/>
<Caret Line="43" Column="27" TopLine="24"/>
<Filename Value="../../Units/MMLCore/bitmaps.pas"/>
<Caret Line="62" Column="33" TopLine="47"/>
</Position30>
</JumpHistory>
</ProjectOptions>
@ -290,12 +302,6 @@
</Other>
</CompilerOptions>
<Debugging>
<BreakPoints Count="1">
<Item1>
<Source Value="../../Units/MMLCore/ocr.pas"/>
<Line Value="510"/>
</Item1>
</BreakPoints>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>

View File

@ -79,7 +79,8 @@ begin
bmp := TMufasaBitmap.Create;
{$WARNING Change This Path!}
bmp.LoadFromFile('/home/merlijn/Programs/mufasa/UpText/text5.bmp');
//bmp.LoadFromFile('/home/merlijn/Programs/mufasa/UpText/text5.bmp');
bmp.LoadFromFile('/home/merlijn/Programs/mufasa/hoi.bmp');
writeln(inttostr(bmp.Width) + ', ' + inttostr(bmp.height));
@ -87,9 +88,9 @@ begin
Time := GetTickCount;
for i := 0 to 100 do
C.MOCR.GetUpTextAt(0,0);
C.MOCR.GetUpTextAt(10,10);
writeln('Time: ' + FloatToStr(((GetTickCount - Time) / (i + 1))));
writeln(C.MOCR.GetUpTextAt(0,0));
writeln(C.MOCR.GetUpTextAt(10,10));
C.Free;
bmp.OnDestroy:=nil;

View File

@ -29,7 +29,7 @@ unit TestUnit;
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
cthreads, Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, Menus, ComCtrls, ExtCtrls, SynEdit, SynHighlighterPas, SynMemo,
//Client,
MufasaTypes,
@ -298,6 +298,7 @@ begin
begin //Terminate the thread the tough way.
writeln('Terminating the Scriptthread');
Writeln('Exit code terminate: ' +inttostr(KillThread(ScriptThread.Handle)));
WaitForThreadTerminate(ScriptThread.Handle, 0);
ScriptThread.Free;
ScriptState := ss_None;
end;

View File

@ -0,0 +1,4 @@
function rs_GetUpText: String;
begin
Result := CurrThread.Client.MOCR.GetUpTextAt(9,9);
end;

View File

@ -97,6 +97,10 @@ Sender.AddFunction(@SetColorToleranceSpeed, 'procedure SetColorToleranceSpeed(ct
Sender.AddFunction(@MoveMouse, 'procedure MoveMouse(x, y: integer);');
Sender.AddFunction(@GetMousePos, 'procedure GetMousePos(var x, y: integer);');
{ OCR}
Sender.AddFunction(@rs_GetUpText, 'function rs_GetUpText: string;');
{Bitmaps}
Sender.AddFunction(@CreateBitmap,'function CreateBitmap(w,h :integer) : integer;');

View File

@ -149,6 +149,8 @@ begin
SyncInfo:= TheSyncInfo;
SetLength(PluginsToLoad,0);
Client := TClient.Create;
Client.MOCR.InitTOCR(AppPath + DS + 'Fonts');
PSScript := TPSScript.Create(nil);
PSScript.UsePreProcessor:= True;
PSScript.OnNeedFile := @RequireFile;
@ -188,6 +190,7 @@ end;
{$I PSInc/Wrappers/math.inc}
{$I PSInc/Wrappers/mouse.inc}
{$I PSInc/Wrappers/dtm.inc}
{$I PSInc/Wrappers/ocr.inc}
procedure TMMLPSThread.OnProcessDirective(Sender: TPSPreProcessor;
Parser: TPSPascalPreProcessorParser; const Active: Boolean;

View File

@ -646,10 +646,10 @@ begin
ww := 300;
hh := 20;
if ww > w then
ww := w;
if hh > h then
hh := h;
if ww + atX > w then
ww := w - atX;
if hh + atY > h then
hh := h - atY;
bmp := TMufasaBitmap.Create;
// bmp.SetSize(ww - atX, hh - atY); CopyCLientToBitmap will automatically resize -> Resize bool is true.
@ -658,6 +658,7 @@ begin
n := ExtractText(bmp.FData, bmp.Width, bmp.Height);
Result := ocrDetect(n, bmp.Width, bmp.Height, OCRData[0]);
bmp.SaveToFile('/tmp/output.bmp');
bmp.Free;
end;