Jump to content
FHannes

SCAR Divi 3.33 Beta

Recommended Posts

Heh, I've been coding like a mad man, here it is, already, 3.33 Beta. This beta contains the long awaited firewall rules editor, as well as a new library system with improved support for legacy libraries. A new library architecture will also be introduced before the build is pushed to RC.

 

Regular: http://svn.scar-divi.com/scar/

Portable: http://svn.scar-divi.com/scar_portable/

 

Setup instructions: http://forums.scar-divi.com/showthread.php?505-Downloading-SCAR-Divi-Prerelease

 

Changelog:

Bugfixes:
- Memory leak in client system
- Bug in client system with multi-monitor setups
- FindColorSkipCoords(Tolerance) failed when a TPA with duplicate coordinates was entered
- Types were not exported correctly from plugins
- Functions updated/improved and ported to new framework:
   * FindColorSkipBox(Array)(Tolerance)
- ScriptFile and TimeRunning did not function correctly when used with ThreadSafeCall
- LoadDebugBitmap always returned False

Tweaks:
- Improved firewall system + now powered by SQLite3 rather than XML
- New library system
- Legacy libraries now support OnLoadLib and OnUnloadLib callbacks
- Legacy libraries once again receive all previously included functions though SetFunctions except for those removed from SCAR
- BitmapAssigned and CreateBitmap now export to legacy libraries

New:
- procedure SortTPAByRow(var TPA: TPointArray);
- procedure TPAExtractCircle(var TPA: TPointArray; const Center: TPoint; const Radius: Extended);
- procedure TPAFilterCircle(var TPA: TPointArray; const Center: TPoint; const Radius: Extended);
- Firewall rules editor
- function CreateBitmap(const Width, Height, Color: Integer): Integer;

Removed:
- FindColorComp
- TColorComp
- MakeScreenPath

 

Happy testing! :)

 

~Freddy

Link to comment
Share on other sites

Freddy, if I send you a script could look at it and tell me WTF is going on?

 

Basically I create a small global bitmap using BitmapFromString at script startup, then later in the script create a second larger bitmap local to the procedure it's in using CreateBitmap. When I draw that second bitmap onto the smart canvas I see...The first bitmap? which is never used anywhere (yet) other than create it at script startup and destroy it at script end.

 

Tried creating a scaled down script to demo the problem, and of course it worked fine. I'm left scratching my head exclaiming WTH!!!

 

Edit: Got a simplied script that shows the issue:[sCAR]program New;

 

var

Logo: Integer;

 

procedure Test;

var

Bitmap: Integer;

begin

Bitmap := CreateBitmap(200, 50, 15245824);

try

FastSetPixel(Bitmap, 40, 40, 0);

finally

FreeBitmap(Bitmap);

end;

end;

 

begin

Logo := BitmapFromString(32, 32, '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');

try

Test;

finally

FreeBitmap(Logo);

end;

end.

[/sCAR]

Runtime Error Line 12 Coordinate outside bitmap bounds
(40,40) is outside a 100x50 bitmap? It is outside the bounds of the 1st bitmap, which is what appears to be going on here. Edited by Bixby Sayz
Link to comment
Share on other sites

Interesting. I'll try it on a couple other machines. Worst case I revert to using BitmapFromString to create it then fill it with background color.

 

I'm still not able to reproduce your problem, I've checked the code and there's nothing that could account for the things you're describing...

Link to comment
Share on other sites

Guess my machines are just wonky. Tried in on my Win 7 Ultimate x64 laptop and a xp virtual machine with the same results. Gonna try it on a fresh install when I get chance later.

 

Are there any particular steps to reproducing the issue with that script?

Link to comment
Share on other sites

Sweet, it has felt like forever since there has been a release =p. Im sure your like me though exams around every corner. lol.

 

Forever? The last release was like 2 weeks ago at most, before that it was like 6 weeks :P Normally I'm on a monthly release schedule...

Link to comment
Share on other sites

the new beta brick my scripts again

please look again at

if (FindColorCircleTolerance(xf, yf, npcminimap, x, y, abstand, npcminimaptolerance)=true)

it works with the alpha very good but now it dont find the color ^^ and i know that u have changed that a little ^^......

it cant find this color

npcminimap:= 39423;

but the color is correckt checkt 2 times with the alpha it returns the color with the color picker and the same by the beta

greetings

Link to comment
Share on other sites

Keyword was "Felt" =p lol. Im sure you have a plan i just keep getting tired of not being able to double click a script and open it =p

 

Why don't you just associate SCAR files in the tools menu?

 

the new beta brick my scripts again

please look again at

if (FindColorCircleTolerance(xf, yf, npcminimap, x, y, abstand, npcminimaptolerance)=true)

it works with the alpha very good but now it dont find the color ^^ and i know that u have changed that a little ^^......

it cant find this color

npcminimap:= 39423;

but the color is correckt checkt 2 times with the alpha it returns the color with the color picker and the same by the beta

greetings

 

Are you using the latest revision (#310)? FindColorCircle doesn't seem to contain any (more) bugs and the function it's based on passes all tests in my testing framework...

 

EDIT: I tested FindColorCircle, it's exactly the same as the tolerance version except for hos it compares colors obviously... And I had it dump the search bitmap and color every pixel it checked in red, and it found the color it was searching for perfectly and the search area looks good as well...

test.png

Edited by Freddy
Link to comment
Share on other sites

.......dont find exact that color .... it is a color at the minnimap from that line normaly it find that color at the minimap click to center works with the alpha and not with the beta and it is a mainfunction so it runs a lot of times in the mainloop ..... do you remeber that there was a problem with the tolerance ? may be that is the problem ?!?

Link to comment
Share on other sites

something have to be diffrent is the right version uploadet? ...... belive it cant find the color something is wrong see output and code

 

[scar]

function ship: boolean;

var colors1 : TPointArray;

ziehlwahlcounteri, maxziehlwahl : integer;

begin

result:=false;

gamemessages;

maxziehlwahl:=4;

if (Findcolortolerance(x,y,meinschiff,mmx1,mmy1,mmx2,mmy2,meinschiff_tolerance)=true)then begin

 

if (FindColorsSpiralTolerance(x, y, colors1, npcminimap, mmx1,mmy1,mmx2,mmy2, npcminimaptolerance)=false)then

begin

writeln('no npcs found at Minimap');

if (checkmove=true) then drive;

end else begin

writeln('foundddddddddd npcs at Minimap');

terminatescript;

for i := 0 to High(Colors1) do

begin

result:=true;

double_x:=High(Colors1);

...........

............[/scar]

output alpha

checkpointfightboss
keinen boss gefindet!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
farben auf Minimap erkannt - bin wohl am leben
keine gamemessage gefunden
foundddddddddd npcs  at Minimap
Stopped execution (3606,3976 ms)

 

 

output beta ....


checkpointfightboss
keinen boss gefindet!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
farben auf Minimap erkannt - bin wohl am leben
keine gamemessage gefunden
no npcs found at Minimap
function checkmove started

and the script dont stop at beta .... so there is a diffrent exact at this function point between alpha and beta

freddyforum.JPG

 

-------

lalalala ..... i see FindColorsSpiralTolerance...... i told u the wrong funktion ..... crap sorry ... now the color circle seems to work for me to (check)....... sorry that i waste your time ...... and look at this funktion FindColorsSpiralTolerance

Edited by opiumhautopium1
Link to comment
Share on other sites

I figured it must've been another function. I did modify FindColorsSpiralTolerance to integrate it into the new tolerance framework because currently there are doubles of every tolerance algorithm for old and new code. The FindColorsSpiralTolerance function however is an old leftover from kaitnieks which I haven't had the chance to rewrite yet, I'll do that now as I've just started writing new spiral functions for the new colorfinding framework. Once that's done I'll post in here when a new copy is available. There's very little chance of the function working incorrectly after that.

 

---------- Post added at 05:17 PM ---------- Previous post was at 04:37 PM ----------

 

I've uploaded a new copy with a new FindColorsSpiralTolerance function.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
  • Create New...