FHannes Posted October 19, 2011 Share Posted October 19, 2011 (edited) The beta of SCAR Divi 3.28 is now available, since the alpha release, a few more functions and bugfixes were pushed through. Regular: http://svn.scar-divi.com/scar/ Portable: http://svn.scar-divi.com/scar_portable/ Changelog: Bugfixes: - Define not closed on code completion error - Loading toolbar positions could throw an error - GetCursorType was not working properly - TPAGroup(Ex) duplicated every first entry - A bug in Floor/Ceil introduced in 3.26 [Mantis:0000029] - GroupTPA(Ex) didn't perform it's intended task - ISM API was broken Improvements: - Dock positions are no longer saved - TPARemove is now an alias of TPARemovePoint, TPADelete is now the original TPARemove - Revamped SendKeysWait Additions: - function Ln(const X: Extended): Extended; - function Gauss(const x, Mean, Variance: Extended): Extended; - function RandG(const Variance: Extended): Extended; - function RandomG(const Range: Integer; const Variance: Extended): Integer; - function RandomRangeG(const AFrom, ATo: Integer; const Variance: Extended): Integer; - function RndCirclePoint(const mx, my, r: Integer): TPoint; - function RndCirclePointG(const mx, my, r: Integer; const Variance: Extended): TPoint; - function RndBoxPoint(const b: TBox): TPoint; - function RndBoxPointG(const b: TBox; const Variance: Extended): TPoint; - function GroupTPA(const TPA: TPointArray; const Dist: Integer): T2DPointArray; (Alias: TPAGroup) - function GroupTPAEx(const TPA: TPointArray; const XMax, YMax: Integer): T2DPointArray; (Alias: TPAGroupEx) - procedure OffsetTPA(var TPA: TPointArray; const XOffset, YOffset: Integer); - function RandomTPA(const Count, XRange, YRange: Integer): TPointArray; (Alias: TPARandom) - procedure SortTPA(var TPA: TPointArray); (Alias: TPASort) - procedure SortTPAEx(var TPA: TPointArray; const Point: TPoint); (Alias: TPASortEx) - function CopyTPA(const TPA: TPointArray): TPointArray; - function CopyTPAEx(const TPA: TPointArray; const Index, Count: Integer): TPointArray; - procedure SortATPABySize(var ATPA: T2DPointArray); (Alias: ATPASortBySize) - function TPAInTPARel(const TPA1, TPA2: TPointArray): Boolean; - function MergeATPA(const ATPA: T2DPointArray): TPointArray; - procedure TPAAppend(var TPA: TPointArray; const Point: TPoint); - function TPAInTPARelEx(const TPA1, TPA2: TPointArray; var TPAFound: TPointArray): Boolean; - function TIAInTIA(const TIA1, TIA2: TIntArray): Boolean; - procedure TIARange(const TIA: TIntArray; out Lo, Hi: Integer); - procedure InvertTIA(var TIA: TIntArray); - function CombineTIA(const TIA1, TIA2: TIntArray): TIntArray; - function TIAToStr(const TIA: TIntArray): AnsiString; - function StrToTIA(const Str: AnsiString): TIntArray; - procedure TIAUnique(var TIA: TIntArray); - function ATPABounds(const ATPA: T2DPointArray): TBox; - procedure ATPADimensions(const ATPA: T2DPointArray; out Width, Height: Integer); - function ATPAArea(const ATPA: T2DPointArray): Integer; - function ATPADensity(const ATPA: T2DPointArray): Extended; - function MergeATIA(const ATIA: T2DIntArray): TIntArray; - procedure SortTIA(var TIA: TIntArray); - procedure SortTIAEx(var TIA: TIntArray; const Int: Integer); - procedure SortATIABySize(var ATIA: T2DIntArray); - procedure InvertATPA(var ATPA: T2DPointArray); - procedure SortATPA(var ATPA: T2DPointArray); - procedure SortATPAEx(var ATPA: T2DPointArray; const Point: TPoint); - procedure SortATPAByMiddleEx(var ATPA: T2DPointArray; const Point: TPoint); - procedure SortATPAByMiddle(var ATPA: T2DPointArray); - function TIAContains(const TIA: TIntArray; const Int: Integer): Boolean; - function TIAPos(const TIA: TIntArray; const Int: Integer): Integer; - function TIAPosEx(const TIA: TIntArray; const Int, From: Integer): Integer; - procedure SortATPAByFirstEx(var ATPA: T2DPointArray; const Point: TPoint); - procedure SortATPAByFirst(var ATPA: T2DPointArray); - procedure TPAUnique(var TPA: TPointArray); (Alias: TPARemoveDupl) - procedure TPARemoveEx(var TPA: TPointArray; const Point: TPoint; const All: Boolean); (Alias: TPARemoveEx) - function TIADelete(var TIA: TIntArray; const Index: Integer): Integer; - procedure TIAAppend(var TIA: TIntArray; const Int: Integer); - function TIASum(const TIA: TIntArray): Integer; - procedure OffsetATPA(var ATPA: T2DPointArray; const XOffset, YOffset: Integer); - procedure TIARemoveEx(var TIA: TIntArray; const Int: Integer; const All: Boolean); - procedure TIARemove(var TIA: TIntArray; const Int: Integer); - function TIAIntersect(const TIA1, TIA2: TIntArray): TIntArray; - Clear history menu button for color history - function AppendFile(Path: AnsiString; const Shared: Boolean): Integer; Enjoy the release ~Freddy Edited November 2, 2011 by Freddy Quote Link to comment Share on other sites More sharing options...
Bixby Sayz Posted October 26, 2011 Share Posted October 26, 2011 Freddy, Running 3.28 beta under Windows 7 x64 I get the message "not a valid win32 application." 3.27 seems to run fine. Any ideas? Quote Link to comment Share on other sites More sharing options...
FHannes Posted October 26, 2011 Author Share Posted October 26, 2011 Use subversion to check out from the repository, don't download it with the browser. Quote Link to comment Share on other sites More sharing options...
Bixby Sayz Posted October 26, 2011 Share Posted October 26, 2011 Use subversion to check out from the repository, don't download it with the browser. Yeah that thought occurred to me. Don't have subversion on any machine near me (of course). I'll give that a go. Quote Link to comment Share on other sites More sharing options...