Code:
Bugfixes:
- FindColorsTolerance always returned false when using Tolerance 0
- Bad Char: SmallChars #55
- Capitalize errored for an empty string
- ReplaceRegex malfunctioned when replacing a matched string with a string that could be matched
- The String To Picture tool didn't work for the newest bitmapstrings
- [#4] Minimized windowsizes weren't saved when SCAR was closed maximized
- [#17] Mousebutton functions were off a pixel on each axis
- [#5, #7] Code proposal wasn't shown for local variables in functions
- [#1, #12] There were some bugs in the functionlist parser
- [#18] Code proposal didn't show a type for variables in records, declared as dynamic or static array
- [#8] Code hints didn't work properly for class properties
- Scriptsettings were not saved and loaded correctly by the portable version
- A bug in the portable version prevented the help wizard from loading saving settings form the settings file, it tired ot use the registry instead
- [#11] The splitter in between the report box and debug box was malfunctioning
- SCAR displayed a socket error when it wasn't able to contact the SRL repository to check for updates
- The "Client Always On Top" button remained checked after changing to a window that wasn't on top
- "No Transparancy" moved the window to the left side of the screen
- Bug in debugging system
- Bug in the SRL downloader which caused errors on certain occasions
- The function list button wasn't toggled off when closing it using the cross button on the list itself
- [#40] Functions resulting in arrays weren't shown in the functionlist
- [#39] Files with non-lowercase extensions weren't opened when dragged onto SCAR
- [#6, #25] Including was not possible when there was something behind the include statement on the same line
- [#36] The TReplaceDialog component was missing ReplaceText and OnReplace properties
- [#27] Hints for the toolbaritems to run, stop and pause a script always showed the default shortkeys
- After reverting, a script still showed as modified
- [#47] Colorpicker only supported main screen
- [#48] The Show Report button on the toolbar didn't show the state of the reportbox properly
- Bad Char: NPCChars #88
- [#66] On some computers files didn't open when not entering the extension in the opendialog
- [#73] FindColorCircle was broken
- Memory leak in the initial character loading
- [#87] FindColorComp didn't work for ccLum
Improvements:
- Tweaked FindColor, FindColorTolerance (speed increased)
- Tweaked FindColorsTolerance (speed increased)
- Tweaked CountColor, CountColorTolerance (speed increased)
- New tabsystem (from SCAR 4.0), takes care of all old tab bugs
- When moving the splitter between the debug box and report box, the splitter moves while dragging now instead of after dragging
- The plugin system now allows overriding standard SCAR functions for real, append '>' to the start of the function defenition string to override the function
- Added a boolean result to FindColorsSpiralTolerance
- Toolbar icon for the report box now stays pressed when it's open
- Toolbar icon for the function list now stays pressed when it's open
- You can now unset bookmark by pressing the toggle button for a bookmark with the cursor on the line where it's placed
- SRL download moved to freddy1990.com for speed increasement and more frequent updates
- New TestPlugin
- New tabs for the script editor
- Revamped the "Update to Revision" dialog for the SRL SVN
- Revamped the Function List
- PosEx now uses the Delphi default function
- Revamped the options dialog
- WriteLn now accepts every basic datatype
- Rewrote the codehints engine to work a lot more efficient
- A TBitmap's TransparentColor property is now also writeable
- CodeHints now display for functions with no params as well when a bracklet is opened
- TimeOut system was rewritten to be more accurate
- SetTimeOut now uses ms rather than seconds
- PlaySound now returns true if succeeded
- ReplaceRegex now supports subexpressions
- Debugbox now allows for the user of different colors, fontstyles and fonts
- The "SRL Download" function now prompts to download or not when SRL is already installed
- Rewrote FindColorCircle to double the speed
- Doubled the speed of the standard tolerance comparison
- Greatly improved the speed of InTriangle
- Increased speed of FindColorTriangle by 60% (not including the InTriangle speed increase [including, the speed has more than doubled])
- New FindBitmap function, speed doubled
- New FindColorComp function with increased efficiency and speed
Additions:
- function GetTargetDC: HDC;
- function TPAInTPA(TPA1, TPA2: TPointArray): Boolean;
- function GetTPABounds(TPA: TPointArray): TBox;
- function MiddleTPA(TPA: TPointArray): TPoint;
- function MiddleTPAEx(TPA: TPointArray; var x, y: Integer): Boolean;
- function DeleteSetting(Section, Setting: string): Boolean;
- FriendChars
- T2DStringArray (= array of TStringArray)
- procedure AddSSLHandler(Connection: Integer; HTTP: Boolean);
- Added an SSL handler to GetPage
- You can now "permanently" enable API calls in the options, you can still enable it until scar closes in the script menu when it's not enabled entirely
- Added a "SCAR Always On Top" button to the View menu
- procedure GetColorspeed2Modifiers(var huemodifier, saturationmodifier: Extended);
- procedure GetColorspeed3Modifiers(var Sensitivity: Integer);
- procedure SetProxyDetails(Connection: Integer; IP: string; Port: Integer);
- function Format(s: string; data: array of const): string;
- Added a -tray parameter to move SCAR to the systemtray from commandline
- Opening scripts will now open a new tab rather than a new SCAR window, you can revert to the old method using multiple windows by changing the setting in the options
- When SCAR is closing it will now call the "SCARClosing" procedure in every plugin that exports it
- When a script is terminated, SCAR will now call the "ScriptTerminate" procedure in every plugin that exports it
- When a script is paused, SCAR will now call the "ScriptPause" procedure in every plugin that exports it
- When a script is resumed, SCAR will now call the "ScriptResume" procedure in every plugin that exports it
- Alert popups
- procedure Alert(s: string);
- function Implode(Glue: string; Pieces: TStringArray): string;
- function Explode(Separator, s: string): TStringArray;
- function ExplodeEx(Separator, s: string; Limit: Integer): TStringArray;
- function TBitmapFromBmp(Bitmap: TBitmap; Bmp: Integer): Boolean;
- Berg NextSuite Editors have been added to the script engine for usage on forms (TNxEdit, TNxButtonEdit, TNxNumberEdit, ...)
- TBitmap now also has the Transparent and TransparentMode properties
- Added Transparent and Flat properties to TSpeedButton along with the Click method
- Added the Click method to the TBitBtn
- Added the Anchors property to TGroupBox
- Added the OwnerDraw, OnDrawTab and OnGetImageIndex properties to TPageControl
- If external functions are defined and api calls are enabled the codehints will show both the internal and external function in case that a function with that name is already present internaly in SCAR (See DllTest.scar [FindWindow])
- Support for the online manual (Ctrl+F1), will take you to the page of the function ur caret is placed on if it exists
- function CreateMusicPlayer: TMusic;
- TMusic class: Allows you to play wav, mp3, ogg, flac, mp1, mp2, midi and aiff files with volume control
- TDebugParams
- function GetDebugParams: TDebugParams;
- procedure SetDebugParams(Params: TDebugParams);
- function FindBitmapTolerance(Bitmap: Integer; var x, y: Integer; Tol: Integer): Boolean;
- TBooleanArray (= array of Boolean)
- function FindTransparentBitmap(Bitmap: Integer; var x, y: Integer; TranspCol, xs, ys, xe, ye: Integer): Boolean;
- function FindTransparentBitmapTolerance(Bitmap: Integer; var x, y: Integer; TranspCol, xs, ys, xe, ye, Tol: Integer): Boolean;
- function Average(Values: TExtendedArray): Extended;
- function FindColors(var Points: TPointArray; Color, xs, ys, xe, ye: Integer): Boolean;
- function FindBitmaps(Bitmap: Integer; var Points: TPointArray; xs, ys, xe, ye: Integer): Boolean;
- function FindBitmapsTolerance(Bitmap: Integer; var Points: TPointArray; xs, ys, xe, ye, Tol: Integer): Boolean;
- function CountBitmap(Bitmap: Integer; xs, ys, xe, ye: Integer): Integer;
- function CountBitmapTolerance(Bitmap: Integer; xs, ys, xe, ye, Tol: Integer): Integer;
- function GetFolders(Path: string): TStringArray;
- procedure FreeMusicPlayer(Player: TMusic);
Removed:
- procedure rs_DeleteUID;
- function rs_DeleteUIDEx(Folder: string): Boolean;
- function rs_OnMinimap(x, y: Integer): Boolean;
- function rs_FindMMColors(Color: Integer): TIntegerArray;
- function RearrangeTPA(thearray: TPointArray; startpt, endpt: Integer; dox, up: Boolean): TPointArray;
- Coordinate normalization (if xs > xe, then swap and same for y coords), this caused an unneeded slowdown and it's up to the user to use the functions properly
- Script encryption has been removed, will be re-evaluated for SCAR 4.0