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:
I hope everyone enjoys this release!Code: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
~Freddy

