From 3c7871b352463bcc68ecd3899a7d61358661a561 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sun, 15 May 2016 15:24:34 +0200 Subject: [PATCH 1/3] Add actor name to ease debugging of invalid bounds. --- OpenRA.Game/Primitives/SpatiallyPartitioned.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OpenRA.Game/Primitives/SpatiallyPartitioned.cs b/OpenRA.Game/Primitives/SpatiallyPartitioned.cs index 04013b9c46..8372a74fea 100644 --- a/OpenRA.Game/Primitives/SpatiallyPartitioned.cs +++ b/OpenRA.Game/Primitives/SpatiallyPartitioned.cs @@ -31,22 +31,22 @@ namespace OpenRA.Primitives itemBoundsBins = Exts.MakeArray(rows * cols, _ => new Dictionary()); } - void ValidateBounds(Rectangle bounds) + void ValidateBounds(T actor, Rectangle bounds) { if (bounds.Width == 0 || bounds.Height == 0) - throw new ArgumentException("bounds must be non-empty.", "bounds"); + throw new ArgumentException("Bounds of actor {0} are empty.".F(actor), "bounds"); } public void Add(T item, Rectangle bounds) { - ValidateBounds(bounds); + ValidateBounds(item, bounds); itemBounds.Add(item, bounds); MutateBins(item, bounds, addItem); } public void Update(T item, Rectangle bounds) { - ValidateBounds(bounds); + ValidateBounds(item, bounds); MutateBins(item, itemBounds[item], removeItem); MutateBins(item, itemBounds[item] = bounds, addItem); } From fc523ae95335b8429eed04fc843a840b53c84b2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sun, 15 May 2016 15:25:07 +0200 Subject: [PATCH 2/3] Print actor information instead of the function name. --- OpenRA.Mods.Common/Traits/World/EditorActorPreview.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OpenRA.Mods.Common/Traits/World/EditorActorPreview.cs b/OpenRA.Mods.Common/Traits/World/EditorActorPreview.cs index a2dc3daded..dea7b228e8 100644 --- a/OpenRA.Mods.Common/Traits/World/EditorActorPreview.cs +++ b/OpenRA.Mods.Common/Traits/World/EditorActorPreview.cs @@ -167,5 +167,10 @@ namespace OpenRA.Mods.Common.Traits { return new ActorReference(actor.Type, actor.Save().ToDictionary()); } + + public override string ToString() + { + return "{0} {1}".F(Info.Name, ID); + } } } From 4209d52c4c8466d72b330104859a190e7bca306f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sun, 15 May 2016 16:39:46 +0200 Subject: [PATCH 3/3] Define the concrete slabs as terrain rather than actors. --- mods/d2k/maps/shellmap/map.bin | Bin 81937 -> 81937 bytes mods/d2k/maps/shellmap/map.png | Bin 1250 -> 1809 bytes mods/d2k/maps/shellmap/map.yaml | 25 ++----------------------- 3 files changed, 2 insertions(+), 23 deletions(-) diff --git a/mods/d2k/maps/shellmap/map.bin b/mods/d2k/maps/shellmap/map.bin index 61a628a7226f7e2c33f84eb6dd94e830633da321..24a300ddbee12915c0524df8e1603f477857fa93 100644 GIT binary patch delta 159 zcmbQ(z&f#kbwh&(X9NRd1Or0^1JmYCk8(yJmkEM4b9#Zf%n${eJH27DAoZI$ePLXP vUOzKtpk5#wgf^cDM3MCf{>}uH1sVlHn?1siWPysq!Cat5pvgel$dk_ivQ#3} delta 159 zcmbQ(z&f#kbwh&(Cl@0Z7b80tBirUqk8(yJmx+s!2Pn9i(+kYy1#|f}cY1@ld|(Bf zn>l^KTmdddAmZBG>1W0a)XM@kN?`MeK(H(a7b6I5_6YvY1d#=r%(K}e3@pn4v=pTG RL^#YSpiB5Rdqkdm1^_ou8pi+t diff --git a/mods/d2k/maps/shellmap/map.png b/mods/d2k/maps/shellmap/map.png index 9a5765a4451539a9ce043935a705d3acad38602d..865d37dc8865bd3d05c7fa67f30da3dc37e1dcd1 100644 GIT binary patch delta 1721 zcmV;q21fbf36TzvY<~uiNklsu^}7qL zT1#|>l-;8cA+QZ`6qGzln1rp2K^}mx1R{K-MRl)=FqBXqU^%BJ&j3K4JOE(=rEH$0 z?VRtAqY#IPB7cEWkWk&({Tv-x*`ch@BxupsrVAsE!S~&O?WTB#Z>|#>X7Z5WMle zlFaMq(t(3)xB8n;dCoWW^1lE1zV=&W5INtBtB(#LYJa3#ndpFng=x^B*9X~dMIL%* z=rvP&5LyXTRp5LxhNFkg>qifl%9piKU%r&HbpR*WbU&3i>ej-)i+oYuvnj9BHqY4m zhTDhLVvIMQU9U><)u^$G*bt~B&E#YV!OK@4N!d-m;2@hokuMr;DmkiO8}i;L@`X}z zxbAbp>3?rp!LpKaBXG!?*j65ZzK*nAs{4lAGs_!KUqTC{;=cXg#M$5GDp59PLmS5h zEl1TcysauUY@kbpc!9i^e9Cg2{olAyDQ3`MP;LE2E;`xCbK7l5c6!N^8du0Pdq-|$)1?$lic2?Up?|L-#R$=-) z#d_3SU&n%|1iDHHZ@8_&y6HPkyqYKW*XK-n;p-lq-;H!2D|$?OeTkx zJGA-LOcnBtG5Da!7jSy=3yk9{-y+o~P0$5r}fR|M=jruEM$pRMO-kVY;&U^*?@l3IJR35R^oE{htR}Lw_<| zIv(FGq2^ddO#=DLLZOocT_ce|fRY>lfS(`z0sv)zi3Xm&ef_(vI3v&`fu`hjQ#)NG zS~&{0T`IY_s%n)dMA%}>T(v{%CAEvHGlyzux(1TR2Nsn&yX4f^U=yaGz`7LpyXYJa zW5a`Nw^CalxXw$tdi!QfMEAy+41YGaVF2|FF*LP;r;wPYHnbyjc8=S(&~czscNQlB z2M~ZQfi&~MXUW!PMdCAuO+p}ti3my}fL+=E^h?7ONKT;11!W`Z`P<>*`jLvU}Ci&CO5Ht|jo7$Z-*E$*ZWbHpMMk4M=qFPq1u+$jl61=V_7 z=VJRo;4SC@6-9n?yLD|0M^N8e$00^w7s-#(s>=_kpnCvSTiJ?y5r4yVEFx2k!n)m> zRK>jswDmgX<4LEM=^}@|5q~xnunc;_hg#yA$?w4u7_zZB6g=LHkdnMMrXb3ef7P~7 zX}CnwIBcCBlFh0mFl11mqf`vLMWlkux1oD@wdXn^fJZ0RAH%e@?8*p5TVj1;k)Y_l1ZTJh}x&T7Z>~wI@bcOT~V2r P00000NkvXXu0mjfX6iaG delta 1157 zcmV;01bX|C4&n)rY<~n`Nkl;5O1mj;3~tV$T&#>R-i2dXvu6Y1HU9-#w4;FU>2fxGNJ&hAon`c zmNA(ViKh+?U^ZkaU<5P^urd={T_txSSVJQLsf(ALeIj7Sm9t{Nz_po7ou3AfyS4lA z^z^B~^GN~h8-L*H@Jt{O({daJ*vHYs?Vm$Ph-U)CP6z{nh+G}s?&}##IY0;pOZ$wA zsqMRAR|DIz>3h2G5i_%PR;G@}y7Rv64iHOYY5=CvAO1TN&YOi=K&nnGE-Yg=X)J-; zU`2gH*ae^h=7QlapmkEQjGI_Drn)%^C^ZBt409Kb2Ky0jvAaZyXz!7Cg23i8g zvJg%%BY%5^RKkFofMDQnzaBsSwnE`?fc^2Xu4Mo@D5_Wkrj{?K2ZZZ8E^wHg93BO? zB%tP&OUghBK!fMW=&1m?U^!e4g1P__{Aj!zpmljbfl=L+DwYhi;CbWG#s}-&`U9kj z;C5_ZDf6^|{nrE4}Ftk>&!ImMaw2QMYu%0WAocJB`Xr zoDxtIv~;Io0fax%Jq4f@5#m|uIXxhS(6;x-NV6kW$7umQ<;b<_sQ_m}To!N^%%uP+ z)C({OScOPE(7gbaaMZ($3y`S?z9&aL%zsS>JnErrCSZ@%@Ont>C8ILHYRK$1FhKYg zD)zq~nE|=?n2nXA0Ko1yo(Y<&qAa%lA zW7;&fK(%WW84g7DcYBFGJ3}lK<>+J3~(>fi^&oo^~lLG=2<~X0Dh%k z2Ef8CIH_;cIKYZ7Tv;}V=czml|z77pcTcl1c@Fq9I&z>D@J6^R~^eI zz)=lVXC55GM