SRL Archive - General

SCAR Divi 3.25 Final


Freddy1990

2011-05-10 12:03:31

SCAR Divi 3.25 Final has been released! It's been though a very long development process, easily 75% of the application has been rewritten from scratch. But it has certainly been for the best. It is a lot more stable and powerful than any of the previous versions and I've tried to maintain backwards compatibility as much as I possibly could. 99.9% of all scripts that work with SCAR 3.22 should still work with 3.25 possibly with minor changes.

SCAR Divi now has it's own community as Freddy1990.com got a bit cluttered. You can now find SCAR at http://www.scar-divi.com/ and the forums at http://forums.scar-divi.com/

You will find a small screenshot summary of some the features in 3.25 on the main page.

I'd also like to thank Janilabo, IceFire908, Timer, Naum, BL172 and ti.teg.tnod.i for all of their help testing during development. (Let me know if I forgot you :p)

The changelog:
SCAR Divi 3.25:
---------------

Improvements:
- Ported to Delphi 2010
- Internal restructuring
- Cleaned unused code
- Brand new settings management
- Increased starting and closing speeds
- Debug/report are now in 2 tabs
- New icons
- New options dialog
- New goto-line dialog
- Overhauled main interface
- New "single window system"
- New resource management
- New scriptengine front-end
- New debug watches
- New visual component library supporting Vista/7 features and lots of new stuff
- GetFiles/GetFolders no longer pass trough the filewall
- Pause gets in-editor hotkey Ctrl+F6
- Replaced client transparency buttons with spinedit
- DeleteINI will now remove the INI file when called with an empty section
- DTM Editor now has scrollbars
- Bitmap to string conversion is now virtually instantanious
- New form designer
- Delete now supports arrays next to strings
- "Save screenshot" can now also save png images (optional)
- Files of all types can now be dropped onto SCAR
- New about dialog
- New FindColorSpiral(Tolerance) functions
- New firewall
- LoadChars2 returns -1 when the fonts folder does not exist

Bugfixes:
- Bug in the tab system that caused errors
- Fixed LoadCharsFromFont2 for Windows Vista and Windows 7
- Bug in MakeWindowTransparent
- Print function's font
- Dividing of ints with the / operator now returns a floating point value
- Bug in the script resource cleanup for fonts
- Memory leak in the firewall dialog
- The editor is refreshed properly when pasting now
- Replace all didn't register in the undo queue and didn't set the script to modified
- Memory leak in OpenWebPage
- Memory leak in PostHTTPPage
- Memory leak in PostHTTPPageEx
- Run to line works again
- Pausing shows the paused location properly
- ThreadSafeCall and CallProc now return data from variable parameters in the variantarray
- GetBitmapDc returned an incorrect handle
- Fixed IsFontSmoothingEnabled for Windows Vista and Windows 7
- The default client, colorpicker, dtm editor and more didn't function with special monitor setups
- You could use WriteIni to write to undefined sections/keys

Removed:
- Fontset constants
- Fontsets
- Preview
- Projects
- Excessive toolbar buttons
- Script properties
- Events viewer
- SCARClosing is no longer supported by the plugin system
- TNxMultiButtonEdit
- Filewall

Additions:
- Compiler define "SCAR325_UP" (Will remain in all next versions)
- rs_LoadUpChars
- A print dialog with printing options
- Short-circuit boolean evaluation
- Editor settings (Word wrap, cursor past EOL and cursor past EOF)
- Selection of a working directory to save scripts and such
- Commandline processor
- Breakpoints
- Variables display
- Close all other tabs button in tab menu
- Clear bookmarks button to editor rc menu
- function DeleteFile(const FileName: string): Boolean;
- TTreeView, TListView, ...
- function ClearSingleTimeout(const Index: Integer): Boolean;
- function SetTimeoutEx(const ms: Integer; const ProcName: string; const Loop: Boolean): Integer;
- function IncludesPath: string;
- function FontsPath: string;
- function LogsPath: string;
- Explore root button
- function GetINISections(const FileName: string): TStringArray;
- function INISectionExists(const Section, FileName: string): Boolean;
- function INIKeyExists(const Section, KeyName, FileName: string): Boolean;
- function PregMatch(const Pattern, Subject: string): string;
- function PregMatchEx(const Pattern, Subject: string; out Matches: TRegexMatchArray): Boolean;
- function PregQuote(const Str: string): string;
- function PregReplace(const Pattern, Replacement, Subject: string): string;
- function OperatingSystem: TOpSys;
- function ForceDirectories(const Path: string): Boolean;
- function RemoveDirectory(const Path: string): Boolean;
- function ResizeBitmap(const iBmp, Width, Height: Integer): Integer;
- function TPAToATPA(const TPA: TPointArray; const Dist: Integer): T2DPointArray;
- function TPAToATPAEx(const TPA: TPointArray; const XMax, YMax: Integer): T2DPointArray;
- function ScreenPath: AnsiString;
- function MakeScreenPath(const Extension: AnsiString): AnsiString;
- Explore logs folder, dfm folder, workspace folder, fonts folder and screenshots folder buttons
- RegexPos, FindRegex, ReplaceRegex front-ends for the new Preg functions for backwards compatibility
- procedure DebugBitmap(const iBitmap: Integer);
- function BitmapAssigned(const iBmp: Integer): Boolean;
- TJvBrowseForFolderDialog
- function MouseInBox(const Box: TBox): Boolean;
- function GetClipboard: AnsiString;
- procedure SetClipboard(const Text: AnsiString);
- procedure ClearClipboard;
- Bitmap compression update tool
- Bitmap picker tool
- procedure TPAFilterBoxes(var TPA: TPointArray; const Boxes: TBoxArray);
- function TPAToStr(const TPA: TPointArray): AnsiString;
- function StrToTPA(const Str: AnsiString): TPointArray;
- Compiler define "PORTABLE" for the portable edition of SCAR
- Update checker

I hope everyone enjoys this release!

~Freddy

Bobzilla69

2011-05-10 12:05:54

cool, good job on releasing it :)

Shuttleu

2011-05-10 12:17:08

nice, any chance simba scripts are compatible? :p

~shut

anonymity

2011-05-10 12:19:56

Cool Beans!!! Thanks.
It's looking good. Nice that it's not instantly nabbed as a virus by antivirus programs.

Also, what Shut said.?

E: I can give it a more "constructive" criticizing later.

Shuttleu

2011-05-10 12:21:38

nothing from the includes manager works :crying:

~shut

Gu3st...

2011-05-10 12:24:01

Sweet freddy!! Great job :)

Rich

2011-05-10 12:26:38

Nice to see you're still at it Freddy. Great job, and gratz on the release!

Home

2011-05-10 12:41:59

Great Job Freddy! :)

~Home

footballjds

2011-05-10 12:52:30

Great release Freddy!!! (:

Freddy1990

2011-05-10 13:29:06

From: Shuttleu
nice, any chance simba scripts are compatible? :p

~shut


As far as I'm aware of, SRL should still be compatible, whether scripts are probably depends on whether the developers of the scripts kept it compatible.

From: Shuttleu
nothing from the includes manager works :crying:

~shut


What exactly is the problem? The includes are installing correctly for me… Do they not show up or do they not install?

Home

2011-05-10 13:46:28

From: Shuttleu
nothing from the includes manager works :crying:

~shut


Works for me :S

~Home

Shuttleu

2011-05-10 14:09:55

i click on SRL and it downloads and installs correctly
but when i run Compile SRL.scar i get this

Compiling Error 51 Math.scar Unkown identifier 'CreateTPAFromBMP'

if i do pheonix and run test.scar i get

Compiling Error 74 Color.scar Type Mismatch


~shut

Home

2011-05-10 14:13:37

From: Shuttleu
i click on SRL and it downloads and installs correctly
but when i run Compile SRL.scar i get this

if i do pheonix and run test.scar i get


~shut


Very odd.. Works fine for me :/

~Home

Freddy1990

2011-05-10 14:20:01

From: Shuttleu
i click on SRL and it downloads and installs correctly
but when i run Compile SRL.scar i get this

if i do pheonix and run test.scar i get


~shut


I can't say much about Phoenix, but with SRL, make sure you have the development version installed, not the regular one.

Shuttleu

2011-05-10 14:44:29

i just installed it on a different pc, and it does exactly the same even with the open dev srl

~shut

Wanted

2011-05-10 14:55:49

Great work, I'll look into any possible compatibility issues when I get home.

i luffs yeww

2011-05-10 15:20:56

- Dividing of ints with the / operator now returns a floating point value

wat. Why? :/

Also,

- New scriptengine front-end

more detail on that? :)

Gu3st...

2011-05-10 15:24:52

From: i luffs yeww
- Dividing of ints with the / operator now returns a floating point value

wat. Why? :/
What….?

Why not? It's much better that way…. If you don't want it to return a float, use "div"

Sex

2011-05-10 15:34:29

I have to say, quite nice :). Where are you downloading SRL from? We should be able to add our own includes somehow..

i luffs yeww

2011-05-10 15:35:21

It is not much better that way, in my opinion. It slows it down and makes a sort of dynamic typing addition. Dividing two integers and returning a float makes sense in math, but not in programming, especially not in a statically typed language. In Python or something it'd make sense, but Python itself doesn't make a whole lot of sense in the first place.

Should 4.0 / 2.0 return 2 then? :/ Because I don't think it should. Integers should be integers, floating point numbers should be floating point numbers (unless you cast them otherwise).

Freddy1990

2011-05-10 15:35:58

From: i luffs yeww
- Dividing of ints with the / operator now returns a floating point value

wat. Why? :/

Also,

- New scriptengine front-end

more detail on that? :)


It's actually the normal way it worked, it used to be implemented incorrectly. / is used for floating point devision and div for integer division. Div should in theory work faster than /, though I'm not certain this is the case for SCAR. It will be a minor adjustment to implement properly in scripts, but not that much of a hassle I think.

The new script-engine front-end is basically a gigantic wrapper I wrote for the engine which basically handles anything and everything related to running and debugging scripts. It's basically an attempt to structure the application to make it less prone to bugs and at the same time fill out some possible shortcomings of the engine itself.

From: Sex
I have to say, quite nice :). Where are you downloading SRL from? We should be able to add our own includes somehow..

SRL is downloaded from the central access point for all SCAR services. http://services.scar-divi.com/ Everything including the include system, error reporting, news and version checking is based out of that domain to keep things simple and tidy while still separating it from the rest. You can add your own includes, to avoid abuse I've made it so you can't just add an include, but once I give you a slot in the system, you can update your include yourself, it works with single scar files, zip files and subversion, you can set the location of where it updates the includes from and such. If your server dies, the include system will keep serving your include.

Gu3st...

2011-05-10 15:37:55

From: i luffs yeww
It is not much better that way, in my opinion. It slows it down and makes a sort of dynamic typing addition. Dividing two integers and returning a float makes sense in math, but not in programming, especially not in a statically typed language. In Python or something it'd make sense, but Python itself doesn't make a whole lot of sense in the first place.

Should 4.0 / 2.0 return 2 then? :/ Because I don't think it should. Integers should be integers, floating point numbers should be floating point numbers (unless you cast them otherwise).
Seriously?
I'd like 16 / 15 to return 1.06 instead of 1 anytime. Simply because 1 is not the same as 1.06.

Freddy1990

2011-05-10 15:40:25

The division shouldn't really matter since you can still use div to divide to integer, which is the standard way of it being done in he pascal language.

i luffs yeww

2011-05-10 15:44:17

Hm. So 16 div 15 would return 1, while 16 / 15 would return 1.06? Good to know, but still, I'd rather have the type not change, regardless of operator (besides casting).

Just me I guess.

Freddy1990

2011-05-10 15:49:12

From: Sex
I have to say, quite nice :). Where are you downloading SRL from? We should be able to add our own includes somehow..


Here's an example, when you make an include, I basically give you a panel where you enter a link to an xml file, I would give you a template and once it's filled out it should look something like this: http://rs-hacking.com/srldev.xml

You can put the xml on w/e server you wish, you can always change the location in the server-side include manager. This xml file then specifies where the system should get your include and all details relating to it.

Sex

2011-05-10 15:52:55

Interesting. Is it possible for me to see a demo of this panel or is it not done?

Echo_

2011-05-10 15:54:56

congrats on the release ;)

Freddy1990

2011-05-10 16:03:41

From: Sex
Interesting. Is it possible for me to see a demo of this panel or is it not done?


The panel is currently still based at freddy1990.com, though it will move to scar-divi.com at some point. I can add an include and link it to your forum account if you would like to see it, but really all it is, is a page showing the link to the xml file and email if you entered one and an edit button to change it :p


Also, thanks everyone for the kind words, I certainly appreciate it.

Naum

2011-05-10 16:18:01

Fucking awesome man, good job!

Wanted

2011-05-10 16:31:50

Open Dev SRL compiles successfully.

The includes manager works, I would recommend removing everything except for Open Dev SRL and just calling it SRL. RS2Fonts puts the folder in the include folder, so everyone will still need to manually move the fonts themselves or just checkout their fonts from the repo using subversion.

Very nice work

Now hopefully you can focus more exclusively on future versions of SCAR


To elaborate more on the / div thing for those of you who don't understand, it simply means you can no longer missue /, it causes a mistype unless you use it properly with extended values

Proper uses

WriteLn(10 div 3); //3
WriteLn(Round(10 / 3)); //3
WriteLn(5.0 / 3.0); //1.666 // .0 not required but good practice

Improper

WriteLn(IntToStr(10 / 3)); //Type mismatch
WriteLn(10.0 div 3.0)); //Type mismatch

Gu3st...

2011-05-10 16:44:53

From: IceFire908
Open Dev SRL compiles successfully.

The includes manager works, I would recommend removing everything except for Open Dev SRL and just calling it SRL. RS2Fonts puts the folder in the include folder, so everyone will still need to manually move the fonts themselves or just checkout their fonts from the repo using subversion.

Very nice work

Now hopefully you can focus more exclusively on future versions of SCAR


To elaborate more on the / div thing for those of you who don't understand, it simply means you can no longer missue /, it causes a mistype unless you use it properly with extended values

Proper uses

WriteLn(10 div 3); //3
WriteLn(Round(10 / 3)); //3
WriteLn(5.0 / 3.0); //1.666 // .0 not required but good practice

Improper

WriteLn(IntToStr(10 / 3)); //Type mismatch
WriteLn(10.0 div 3.0)); //Type mismatch
And this is how it should be in Simba too

Freddy1990

2011-05-10 16:52:31

From: Zyt3x
And this is how it should be in Simba too


It could be, with ease, Simba uses the same script engine after all, it's just a matter of flipping a switch by matter of speaking…

Smartzkid

2011-05-10 20:03:20

Love it! This is indeed a very nice release!

Dan Cardin

2011-05-10 22:05:33

the new site is pretty pro. It looks fairly sexy as usual.

Freddy1990

2011-05-11 16:55:40

SCAR Divi 3.25.01 has been released (http://forums.scar-divi.com/thread-10-post-33.html#pid33). The new version structure and update notifier allows me to rapidly develop and distribute bugfixes. Hence, this 3.25.01 release is just a minor release with a few bugfixes and tweaks, but not with anything new which would be added in a major release like 3.26 because new features should first go through proper testing stages.

Drakan

2011-05-11 18:19:02

anyone else getting a type mismatch error in line 68 of Mouse.scar? Could very well be me cause I haven't touched any of this in almost a year xD

Line 68:
randomDist:= maxStep / 2.0 + random(round(maxStep) / 2);

Just usin a simple tester script
program New;
{.include SRL/SRL.scar}

begin
SetupSRL;
MMouse(20, 20, 3, 3);
end.

i luffs yeww

2011-05-11 18:27:29

It possibly is because of the use of / in Mouse.scar. Try..

randomDist := maxStep / 2.0 + Random(Round(maxStep) div 2);

Gu3st...

2011-05-11 18:37:54

From: i luffs yeww
It possibly is because of the use of / in Mouse.scar. Try..

randomDist := maxStep / 2.0 + Random(Round(maxStep) div 2);
You mean the other way around…

randomDist := maxStep div 2.0 + Random(Round(maxStep) / 2);

i luffs yeww

2011-05-11 18:43:54

Not according to what IceFire said. :/

He said 10.0 div 3.0 would give a type mismatch.

Gu3st...

2011-05-11 18:45:55

From: i luffs yeww
Not according to what IceFire said. :/

He said 10.0 div 3.0 would give a type mismatch.
Wait I read "Random(Round(" like "Round(Random("…. nevermind :redface:

Wanted

2011-05-11 23:13:59

From: drags111
anyone else getting a type mismatch error in line 68 of Mouse.scar? Could very well be me cause I haven't touched any of this in almost a year xD

Line 68:
randomDist:= maxStep / 2.0 + random(round(maxStep) / 2);

Just usin a simple tester script
program New;
{.include SRL/SRL.scar}

begin
SetupSRL;
MMouse(20, 20, 3, 3);
end.


You don't have the latest open dev SRL.

Freddy1990

2011-05-12 09:02:44

A little side-note btw, it takes up to 1 hour for the include system to update after an include has been updated by the author of that include. currently SCAR does not notify when an include update is available, however, you can see if your includes are out-of-date in the includes manager and update them from there. Notifications for these updates are planned for the next minor release (3.25.02).

Drakan

2011-05-12 09:13:46

From: IceFire908
You don't have the latest open dev SRL.


Ah I was just using the built in grabber. Didn't know I had to use open dev <3

Freddy1990

2011-05-12 09:18:21

From: drags111
Ah I was just using the built in grabber. Didn't know I had to use open dev <3


You can download open dev with the includes manager, I would recommend it actually, it handles the entire installation process.

tom99

2011-05-12 10:09:45

Good job also i did like the preview function, kind of a zoom function. only bad thing about it was that it lagged a little sometimes, maby add it again and make it display 24 pictures per second ? :)

Freddy1990

2011-05-12 10:46:47

From: tom99
Good job also i did like the preview function, kind of a zoom function. only bad thing about it was that it lagged a little sometimes, maby add it again and make it display 24 pictures per second ? :)


I could do that, I wasn't aware that people were actually using it.

Wanted

2011-05-12 12:23:59

From: Freddy1990
You can download open dev with the includes manager, I would recommend it actually, it handles the entire installation process.


Minus moving the fonts to the font folder. :redface:

Freddy1990

2011-05-12 15:30:41

From: IceFire908
Minus moving the fonts to the font folder. :redface:


If you have SCAR load the fonts from the includes folder, that's not required.

tom99

2011-05-13 06:12:22

freddy could you also possibly fix the silent mouse functions ? thnx

Sex

2011-05-13 23:50:59

From: tom99
freddy could you also possibly fix the silent mouse functions ? thnx

Those aren't even in SCAR anymore bruh.

Freddy1990

2011-05-14 07:38:51

From: tom99
freddy could you also possibly fix the silent mouse functions ? thnx


They're gone, but it's on my todo list to add new ones somewhere in the future, but I feel that the way SCAR is currently composed, it would be messy to add those in.

EDIT: SCAR 3.25.02 has been released with a few bugfixes and tweaks: http://forums.scar-divi.com/thread-24.html

EDIT: SCAR 3.26.00 Alpha has also been released in the prerelease repositories: http://forums.scar-divi.com/thread-25.html

qiuyinffy

2011-05-27 22:50:23

Xml specifies that the system then must obtain their understanding and all related details.

Baked0420

2011-05-28 13:45:04

Good job freddy, thanks for releasing it. It took me a while to convert to simba when it was released, I didn't wanna leave scar behind, but after a while I eventually downloaded simba :/

but with how stable and amazing you make the new scar version seem, maybe I'll use scar for my miscellaneous programs (such as the grand exchange searching form I made in Scar back in the day) and simba for my runescape bot related ones. (only because SRL will only be supporting simba if it doesn't already, so I've heard in the past anyway, been very inactive lately)

but thanks again for all the hard work and releasing the new scar :D

masterBB

2011-05-31 10:35:24

Your forum seems offline, do you know when it will be up again?

http://forums.scar-divi.com/index.php

Freddy1990

2011-05-31 13:08:26

From: masterBB
Your forum seems offline, do you know when it will be up again?

http://forums.scar-divi.com/index.php


They seem to work fine…

i luffs yeww

2011-05-31 13:59:01

From: masterBB
Your forum seems offline, do you know when it will be up again?

http://forums.scar-divi.com/index.php


http://isup.me/forums.scar-divi.com

masterBB

2011-05-31 17:48:34

From: i luffs yeww
http://isup.me/forums.scar-divi.com


Restarted laptop and its working, never had this problem before. Handy site though.

Bixby Sayz

2011-06-09 13:10:12

From: i luffs yeww
http://isup.me/forums.scar-divi.com

It's not just you! http://forums.scar-divi.com looks down from here.

Check another site?

Anyone else having problems?

footballjds

2011-06-09 13:38:40

From: Bixby Sayz
Anyone else having problems?


as of 1:38pm EASTERN std time it's down for me.

Bixby Sayz

2011-06-09 13:42:36

:(

Setting up a new machine and really wanted to put SCAR on it. Guess I'll just keep trying back.

uncfan1119

2011-06-09 14:15:08

From: Bixby Sayz
:(

Setting up a new machine and really wanted to put SCAR on it. Guess I'll just keep trying back.


Try simba:garfield:

Bixby Sayz

2011-06-09 14:18:08

From: uncfan1119
Try simba:garfield:


I know you meant to be helpful, but… I do use Simba on my other machines. I wanted to use SCAR specifically on this machine. "Try Simba" doesn't resolve getting SCAR to work. :duh:

anonymity

2011-06-09 15:35:26

I threw the latest one I had online. Here is a download link for SCAR 3.25.02.

E: If that one doesn't work use this

I hope this works for you and gets you going.

QK

footballjds

2011-06-09 15:36:16

From: uncfan1119
Try simba:garfield:


try being smarter :duh::duh::duh:

EDIT:

Whoever ++repped me and said "fuck the infraction" <3 you

Bixby Sayz

2011-06-09 18:07:19

From: anonymity
I threw the latest one I had online. Here is a download link for SCAR 3.25.02.

I hope this works for you and gets you going.

QK


I thank you. Does anybody know if Freddy's site is just down temporarily or is it gone?

i luffs yeww

2011-06-10 01:28:27

From: Bixby Sayz
I thank you. Does anybody know if Freddy's site is just down temporarily or is it gone?


http://www.isup.me/scar-divi.com

Down atm.

Freddy1990

2011-06-11 10:59:38

My server had some serious hardware trouble, everything is back online now though. In the near future I will be providing a mirror for the downloads on a secondary in case my main server crashes.

anonymity

2011-06-12 01:08:09

Bummer on the server; mirrors is probably a good idea.

If it happens to fail before the near future, I can just link to whatever latest one I have again..

Freddy1990

2011-06-12 07:06:18

From: anonymity
Bummer on the server; mirrors is probably a good idea.

If it happens to fail before the near future, I can just link to whatever latest one I have again..


I moved to my own server for a while, the psu failed and electrocuted the motherboard. I moved back to a vps, which in theory should have sufficient redundancy to never fail, but when my exams are over I will repair my server and put up a secondary nameserver and mirror for the download and the services (includes, news, …) on there.