Skip to content

Commit a96e100

Browse files
committed
fix(Minimap): CleanMinimap was going out of range... oops
1 parent 4b3e815 commit a96e100

File tree

1 file changed

+49
-7
lines changed

1 file changed

+49
-7
lines changed

osrs/interfaces/minimap.simba

Lines changed: 49 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -862,14 +862,56 @@ end.
862862
function TRSMinimap.CleanImage(img: TImage; radius: Integer): TImage;
863863

864864
function _DotTPA(pt: TPoint): TPointArray;
865+
var
866+
q: TPoint;
865867
begin
866-
Result := [
867-
pt.Offset(0,-1), pt.Offset(1,-1),
868-
pt.Offset(-1,0), pt, pt.Offset(1,0), pt.Offset(2,0),
869-
pt.Offset(-1,1), pt.Offset(0,1), pt.Offset(1,1), pt.Offset(2,1),
870-
pt.Offset(0,2), pt.Offset(1,2)
871-
];
872-
end;
868+
q := pt.Offset(0,-1);
869+
if img.InImage(q.X, q.Y) then
870+
Result += q;
871+
872+
q := pt.Offset(1,-1);
873+
if img.InImage(q.X, q.Y) then
874+
Result += q;
875+
876+
q := pt.Offset(-1,0);
877+
if img.InImage(q.X, q.Y) then
878+
Result += q;
879+
880+
if img.InImage(pt.X, pt.Y) then
881+
Result += pt;
882+
883+
q := pt.Offset(1,0);
884+
if img.InImage(q.X, q.Y) then
885+
Result += q;
886+
887+
q := pt.Offset(2,0);
888+
if img.InImage(q.X, q.Y) then
889+
Result += q;
890+
891+
q := pt.Offset(-1,1);
892+
if img.InImage(q.X, q.Y) then
893+
Result += q;
894+
895+
q := pt.Offset(0,1);
896+
if img.InImage(q.X, q.Y) then
897+
Result += q;
898+
899+
q := pt.Offset(1,1);
900+
if img.InImage(q.X, q.Y) then
901+
Result += q;
902+
903+
q := pt.Offset(2,1);
904+
if img.InImage(q.X, q.Y) then
905+
Result += q;
906+
907+
q := pt.Offset(0,2);
908+
if img.InImage(q.X, q.Y) then
909+
Result += q;
910+
911+
q := pt.Offset(1,2);
912+
if img.InImage(q.X, q.Y) then
913+
Result += q;
914+
end;
873915

874916
var
875917
tpa: TPointArray;

0 commit comments

Comments
 (0)