From 45a4fa110e5ed6d6213bbfb1feeb0dc537ee7b26 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sun, 28 Feb 2010 22:43:54 +1300 Subject: [PATCH] lots of experimental bits --- OpenRA.Game/Graphics/OverlayRenderer.cs | 24 +++--- OpenRA.Game/Graphics/TerrainRenderer.cs | 4 + OpenRA.Game/OpenRA.Game.csproj | 4 +- OpenRA.Game/Traits/TraitsInterfaces.cs | 2 + OpenRA.Game/Traits/World/ResourceLayer.cs | 88 ++++++++++++++++++++++ OpenRA.Game/Traits/World/WallLoadHook.cs | 34 +++++++++ mods/cnc/chem.shp | Bin 0 -> 14870 bytes mods/cnc/flame.shp | Bin 0 -> 15864 bytes mods/cnc/system.yaml | 6 +- mods/cnc/ti1.tem | Bin 0 -> 1831 bytes mods/cnc/ti10.tem | Bin 0 -> 1833 bytes mods/cnc/ti11.tem | Bin 0 -> 1441 bytes mods/cnc/ti12.tem | Bin 0 -> 1389 bytes mods/cnc/ti2.tem | Bin 0 -> 1555 bytes mods/cnc/ti3.tem | Bin 0 -> 1123 bytes mods/cnc/ti4.tem | Bin 0 -> 1491 bytes mods/cnc/ti5.tem | Bin 0 -> 1515 bytes mods/cnc/ti6.tem | Bin 0 -> 1717 bytes mods/cnc/ti7.tem | Bin 0 -> 1532 bytes mods/cnc/ti8.tem | Bin 0 -> 1415 bytes mods/cnc/ti9.tem | Bin 0 -> 1184 bytes mods/ra/rules.yaml | 18 +++++ 22 files changed, 166 insertions(+), 14 deletions(-) create mode 100644 OpenRA.Game/Traits/World/ResourceLayer.cs create mode 100644 OpenRA.Game/Traits/World/WallLoadHook.cs create mode 100644 mods/cnc/chem.shp create mode 100644 mods/cnc/flame.shp create mode 100644 mods/cnc/ti1.tem create mode 100644 mods/cnc/ti10.tem create mode 100644 mods/cnc/ti11.tem create mode 100644 mods/cnc/ti12.tem create mode 100644 mods/cnc/ti2.tem create mode 100644 mods/cnc/ti3.tem create mode 100644 mods/cnc/ti4.tem create mode 100644 mods/cnc/ti5.tem create mode 100644 mods/cnc/ti6.tem create mode 100644 mods/cnc/ti7.tem create mode 100644 mods/cnc/ti8.tem create mode 100644 mods/cnc/ti9.tem diff --git a/OpenRA.Game/Graphics/OverlayRenderer.cs b/OpenRA.Game/Graphics/OverlayRenderer.cs index cf56db58b5..55adb33de9 100755 --- a/OpenRA.Game/Graphics/OverlayRenderer.cs +++ b/OpenRA.Game/Graphics/OverlayRenderer.cs @@ -72,18 +72,18 @@ namespace OpenRA.Graphics Game.CellSize * (float2)location, "terrain"); } - var o = tr.overlay; - if (o < overlaySprites.Length) - { - var location = new int2(x, y); - var sprites = overlaySprites[o]; - var spriteIndex = 0; - if (Ore.overlayIsFence[o]) spriteIndex = NearbyFences(x, y); - else if (Ore.overlayIsOre[o]) spriteIndex = map.MapTiles[x,y].density - 1; - else if (Ore.overlayIsGems[o]) spriteIndex = map.MapTiles[x,y].density - 1; - spriteRenderer.DrawSprite(sprites[spriteIndex], - Game.CellSize * (float2)location, "terrain"); - } + //var o = tr.overlay; + //if (o < overlaySprites.Length) + //{ + // var location = new int2(x, y); + // var sprites = overlaySprites[o]; + // var spriteIndex = 0; + // if (Ore.overlayIsFence[o]) spriteIndex = NearbyFences(x, y); + // else if (Ore.overlayIsOre[o]) spriteIndex = map.MapTiles[x,y].density - 1; + // else if (Ore.overlayIsGems[o]) spriteIndex = map.MapTiles[x,y].density - 1; + // spriteRenderer.DrawSprite(sprites[spriteIndex], + // Game.CellSize * (float2)location, "terrain"); + //} } spriteRenderer.Flush(); diff --git a/OpenRA.Game/Graphics/TerrainRenderer.cs b/OpenRA.Game/Graphics/TerrainRenderer.cs index 17d9e9f490..c456dd312f 100644 --- a/OpenRA.Game/Graphics/TerrainRenderer.cs +++ b/OpenRA.Game/Graphics/TerrainRenderer.cs @@ -21,6 +21,7 @@ using System.Drawing; using OpenRA.FileFormats; using OpenRA.FileFormats.Graphics; +using OpenRA.Traits; namespace OpenRA.Graphics { @@ -104,6 +105,9 @@ namespace OpenRA.Graphics new Range(indicesPerRow * firstRow, indicesPerRow * lastRow), terrainSheet.Texture, PrimitiveType.TriangleList, renderer.SpriteShader)); + foreach (var r in Game.world.WorldActor.traits.WithInterface()) + r.Render(); + overlayRenderer.Draw(); } } diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj index 5a5d754c42..a72530894c 100644 --- a/OpenRA.Game/OpenRA.Game.csproj +++ b/OpenRA.Game/OpenRA.Game.csproj @@ -1,4 +1,4 @@ - + Debug @@ -216,6 +216,7 @@ + @@ -253,6 +254,7 @@ + diff --git a/OpenRA.Game/Traits/TraitsInterfaces.cs b/OpenRA.Game/Traits/TraitsInterfaces.cs index e1007137a3..513856ccad 100644 --- a/OpenRA.Game/Traits/TraitsInterfaces.cs +++ b/OpenRA.Game/Traits/TraitsInterfaces.cs @@ -140,4 +140,6 @@ namespace OpenRA.Traits bool Pressed { get; } void OnClick(); } + + public interface IRenderOverlay { void Render(); } } diff --git a/OpenRA.Game/Traits/World/ResourceLayer.cs b/OpenRA.Game/Traits/World/ResourceLayer.cs new file mode 100644 index 0000000000..ac7ed0b317 --- /dev/null +++ b/OpenRA.Game/Traits/World/ResourceLayer.cs @@ -0,0 +1,88 @@ +#region Copyright & License Information +/* + * Copyright 2007,2009,2010 Chris Forbes, Robert Pepperell, Matthew Bowra-Dean, Paul Chote, Alli Witheford. + * This file is part of OpenRA. + * + * OpenRA is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OpenRA is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OpenRA. If not, see . + */ +#endregion + +using System; +using System.Linq; +using OpenRA.Graphics; + +namespace OpenRA.Traits +{ + class ResourceLayerInfo : ITraitInfo + { + public readonly string[] SpriteNames = { }; + public readonly int[] OverlayIndices = { }; + public readonly string Palette = "terrain"; + public object Create(Actor self) { return new ResourceLayer(self, this); } + } + + class ResourceLayer : IRenderOverlay, ILoadWorldHook + { + ResourceLayerInfo info; + Sprite[][] sprites; + CellContents[,] content = new CellContents[128,128]; + SpriteRenderer sr; + + public ResourceLayer(Actor self, ResourceLayerInfo info) + { + this.info = info; + sprites = info.SpriteNames.Select( f => SpriteSheetBuilder.LoadAllSprites(f)).ToArray(); + sr = new SpriteRenderer( Game.renderer, true ); + } + + public void Render() + { + var shroud = Game.world.LocalPlayer.Shroud; + var map = Game.world.Map; + + for (int y = map.YOffset; y < map.YOffset + map.Height; y++) + for (int x = map.XOffset; x < map.XOffset + map.Width; x++) + { + if (!shroud.IsExplored(new int2(x, y))) continue; + if (content[x, y].contents != null) + sr.DrawSprite(content[x, y].contents[content[x, y].density], + Game.CellSize * new int2(x, y), + info.Palette); + } + + sr.Flush(); + } + + public void WorldLoaded(World w) + { + var map = w.Map; + + for (int y = map.YOffset; y < map.YOffset + map.Height; y++) + for (int x = map.XOffset; x < map.XOffset + map.Width; x++) + if (info.OverlayIndices.Contains(w.Map.MapTiles[x, y].overlay)) + content[x, y].contents = ChooseContent(w, w.Map.MapTiles[x, y].overlay); + } + + Sprite[] ChooseContent(World w, int overlay) + { + return sprites[w.SharedRandom.Next(sprites.Length)]; + } + + public struct CellContents + { + public Sprite[] contents; + public int density; + } + } +} diff --git a/OpenRA.Game/Traits/World/WallLoadHook.cs b/OpenRA.Game/Traits/World/WallLoadHook.cs new file mode 100644 index 0000000000..806179183e --- /dev/null +++ b/OpenRA.Game/Traits/World/WallLoadHook.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OpenRA.Traits +{ + class WallLoadHookInfo : ITraitInfo + { + public readonly int[] OverlayIndices = { }; + public readonly string ActorType = "brik"; + + public object Create(Actor self) { return new WallLoadHook( self, this ); } + } + + class WallLoadHook : ILoadWorldHook + { + WallLoadHookInfo info; + public WallLoadHook(Actor self, WallLoadHookInfo info) + { + this.info = info; + } + + public void WorldLoaded(World w) + { + var map = w.Map; + + for (int y = map.YOffset; y < map.YOffset + map.Height; y++) + for (int x = map.XOffset; x < map.XOffset + map.Width; x++) + if (info.OverlayIndices.Contains(w.Map.MapTiles[x, y].overlay)) + w.CreateActor(info.ActorType, new int2(x, y), w.players[0]); // todo: neutral player or null? + } + } +} diff --git a/mods/cnc/chem.shp b/mods/cnc/chem.shp new file mode 100644 index 0000000000000000000000000000000000000000..8116e742c7abb6aa33bbe1131a9b6b53e95e05fc GIT binary patch literal 14870 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 gwtl-eaV{fWIrMf2oh3 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 literal 0 HcmV?d00001 diff --git a/mods/cnc/system.yaml b/mods/cnc/system.yaml index 456b89fb9b..a20142ddf6 100644 --- a/mods/cnc/system.yaml +++ b/mods/cnc/system.yaml @@ -165,4 +165,8 @@ World: Name: Nod Race: nod SellButton: - RepairButton: \ No newline at end of file + RepairButton: + ResourceLayer: + OverlayIndices: 5,6,7,8,9,10,11,12 + Palette: player + SpriteNames: ti1,ti2,ti3,ti4,ti5,ti6,ti7,ti8,ti9,ti10,ti11,ti12 diff --git a/mods/cnc/ti1.tem b/mods/cnc/ti1.tem new file mode 100644 index 0000000000000000000000000000000000000000..44c875b3378f0435c4d4dabab7b21645f2c053ed GIT binary patch literal 1831 zcmZ{ke{3AZ6~||GcK7T%Q+#$Im-I*+Sye0OAEA|sE;X8kebFJLY7&v|^%RQ>4McgwbUjL!$r4d*--dZq?v2kL<%M@&DJ5_%NyR-(sMkoajRoD z5YL$bs8kwTd=SuCEE2bg3Y35Fe~312&br%(YRyk?%-UOsHrn~7`(H%0&0hDX--hTd zdZ|PoD=XCllCrWA|Cyw_&M7f%ieAdRO6bOGjK@aHlrGYL*p!{4Z-0r|y{ZUUP(_0C zvYHqN9Q}gbQGF$swJjZ&G+)KMq{VSWfyDtjy08S+yU-`B1nvZmg7Qt!xPW>$q(+B^8r_v8lIzh2Z#4X&TIijtUlm(9w6kq&NkrYMS^a|V3GWg9Fg$n zKai|QBt*RR5ENS@PR6 zAcil_+I4rURU?trMrqP-)uG{ui4ZSpevRM_3e$AGfKt{6*PAxOrj8Wf-EAySLcTw; zRyU*d$w_R+VHqek?e0mOt716PCsl1S201KP9L8cXD60;pTT<&XiOpgc1NF8Njizb^ zWwtIglNmFz5NIFn>(ynoja9uu!B#uQpi)wT{%e`%VAq<8W(Bm*roW!k-T zE|89tT7^OzyA7kCm>Bvx`ip93xh_kZJsLe$FX|~}58Lx*QI8rdYRaNEn=)9+)0|N= zRVfA?GsO)yj&aThYop^vG-dAbvh&RLdz~3fDk*24g~NxX{#n;FQ?jhIJH7(1C;$?J zb-la-A*q*|EC0&k6*E5AXx28}_uX9o(D&M<7gzB{%k`&+WT%UF5XNdH5_kiBMfyB4 z#&9>E+Jaqts{MG)huvys%&Gx-HPW&Tscv?WaR2aZYerVT5w?r4OR7`#+)}VA|MslO zIxc3U*4~?W96|H<{gggzN~s&BIn#0GgW<3|++(ud{W_sCbh;;N|7)C literal 0 HcmV?d00001 diff --git a/mods/cnc/ti10.tem b/mods/cnc/ti10.tem new file mode 100644 index 0000000000000000000000000000000000000000..455ae272bcbaf3686cf05150174f547f70765aaf GIT binary patch literal 1833 zcmaJ>Z){Ul6um0PEu)-pV-^LeXmzh_5*VLHkrTlrdrpY7D5c-XeOB%8F zb?=Q%DgCpt*pQT{ujnU?7|r~)CtYZ^!Uk5vX>q^@!Nh<@%^E<@YY~b6-b>y&=e~2! zJ?Hm3_pU?xPzrhBeFh_R2!R358H7T%{sivGQy2v}gr48RbtK_B>({^*Vf`h(6SrSL zAzR-oqJRt5zrHU6j?Vg%PCNTw4@0*R(kQtYK>Ggg+oY-MUiiL2y0RL<$iSULxdPgeasQ}l!GWfZz5R`Xx!`7Fv&X!^^7Kxq#zPV zMp__}KHLqDsHVeb7yEU6I)OzJxm|k(`S-ANAQw--qHH(3FH&sZX*qCin zl66O7%9Z8C$u%hKh;8)OGnxrTwwoxiO^E~rJ%>cXK_$oRN1Y>Ks-^k)l4KVKcqtF? zI*rTIkjONuB^xudTv@ux=G&N6&iz_5VNz_&s#gldj15y8vxRylnfyP@QlB6PRVZL- zQyz`bFp+@ga9fe`z!AWk!%J5MzW*RUCHndjW0LNWz(JA@i~R|A5X`Uwg_6T!mbb4xF!Xz}R5r=tFvk*U= zD-`Wc6Eaf&0vRwhu_#^m0nQI82O^6%(Ky+yn5ZheD&-SK>D&#Z zMPfa_81odSHaz5mFbQ?(R8dMLv@uP`^`Y(KM2XOzy*=+43XO(!Bk%&mprM}aTQZEG z?dkAHFc4xCtsnAj$!cNJv$1z39aAFvyfq1(UBthMTq(&X z^SCU7pT-oq3cFzsQLw;2rsOni>gVK3E#4}Dc zvV3pv9_ILIO_o(Q#WkAW3e8!I6-8~(KWY^mDmTCne5T_X<774C@P~N6%*GuP4s}3| z9~LLo5U=W@<>y1{6lcjA{@$L&AF(-u0c)v<1B@Hy(s(eBgX7$wn8UBaZGr>S_#KAd zoyJVVnvMfGJgW20y)rTl{#c#Cqu+G091~!UO%0p5?h3p9n#^CXl&e``?yJnRObm$E zE6~n&HO3qvS-#OUvfaJCY)^}4)>^xn?0>SE#^odH?i0G&oZV42@ zAx`Tx@8idJv^l+XX%a3sqKiInT?;Yc>ROxBE7w=vZfQWZyKl0dVU-T2w;P(({1;AF SnRDq*apuK;aC-Ugoc;k7Ykl$n literal 0 HcmV?d00001 diff --git a/mods/cnc/ti11.tem b/mods/cnc/ti11.tem new file mode 100644 index 0000000000000000000000000000000000000000..5efe14ac8340b51fddd301014e86ef9734abc0d0 GIT binary patch literal 1441 zcmb_bPiP}m7=Lg6B~7}xq_U=LYon_@i3nay2~0Jg#M@Ai36VmU_OiW+dnp7ZZzh?g zahpFgX;XvU)We&Cpa*Y35ALipYf#t}4T}hodf62`=s|ERtbS>_W{)16IehQE@4fH$ z-tYJOrpYELk~sb^QbOJ%IKi(+$nt3XG9?LIeq*1G=PwB)A>w@PEY{BAx57C8sYntb z%s(fMWBx4eN#p!S@~HacW8|Snh^6V825SE^Qp&DqnLD?M0hz>8cfKYJ2sKoAc$pBU zeRrN3TDJcu!L{sa|28@Q2~+=GBTvxdi$byZF;M_+Sw1ub$S~O+^oE5x&9G3+zFT3@ zLQToU!ryE$CKg1fDG-~VpLv@JDQFN0Fa!cbn+oW&@r{BlX{+(LL7@=>Ew;W<09yu7 zRrs}ttT;rnEWhnY9?OZ08g|GV2y=7!n+>7jF*z+RZ?Q&b@MieLW9}amOsu0olA=!w;5h;Rj+z;9aTaA?6t^T0m zalc%R_&vvN^*n=H)rc-`b*>t$d*Wl+(d+o|-^YCw0)T6IhCS4QyFeEaAJ zgLiSL=iBV0%Y3yqrRjb<2->QOSJJatU3+w;FYro#QQo5XXw{(!CM*diz0{z|l5k0` z)3xFUgwD0-le_dX6Bdt)?U9>`dxY{`aY>wQO6yDNIwns}i|o*6nD9bkhl++Ea6F5f z?@1YSKvUMUdI}*{n5ZSy7KINL6%(pzD;Z2_fDuijs*ao)u~mGQ;^F%uKC(`^DTA(M zpc=7UpJy}vDvHW;)W0oGwI9jChUsxyMTT*g#v7g@+L4e`0U+Y1x;*a%U04CpT4zt zY|{lMi6MjS()>P6?250ymD)i+(R_=p7oQ(#`8n-0C6F!dD6r2vu2rSn2!UTN1?|J_ z>5;M;wgk6){{Fd%w(TSs3h7%Q82!Fo@75_Cl5l7&8Dg~p4nUP2I2c*1BY)La;xJf9YaHAfDMD2bMG;at zU={7Gz3T*$CSE&<>PU_Fsan(n5|JvEQ!%VXn#8q}13jQf=?V3UpfretvDbuFgd%1S z-+Z%g_q}=Z=1G_V69&X{7y&*6(TH)UTi-yx{{tc3o}ZH-A_JWGLh}2gGDH;7pX=5i zWqn*U-DG0SrLO#W)H3@kjZT)lD zeGguSf}Ui0>lze{lo4Bh9`go^woW0};n4c8!1aw^V8;gFU~>2!z$PM%nlFLPj3lGm z39y&}$1KJg8OSHo2ApUP3zU&I*v2qy#9?*4ioI2J{F2E z6jNTI>e;d7KI}~tS<12NRR>;M-3BMcJje4I?;{)&bBe{HYrla*x=yiZ;|lJKb(G!= z)N0$8%YkMkEOWG6^_#RD4rg2}^FSgiXUe!~Ne?!!{|77|*t}8WlRnr|tRvyknyY4| zL3!|NR}IJIaDuzaN7=ZXHNR>H>L!L}mF9D!uMAYA!^*u!x=%1Ni=T4*Y!8iwRvNBPq%8B;n6#HOG3Ch z@@&)>9(h!_kfLfLgPP{5y2v0SQJILXR+e<)l1AngP;>hu6rDsMmc(AnC6GljD^jk{ zlE!i+HTg{cQ)k9piS=>0|A`z&D#@(xX)eE;qdBApvWRi{G3c2f3HTX-E~zALlST{w z&$6jN`>IUgqJ4l2)=ulk9kY24rTxUx_@3{)CrwVZE`m$rs(%Dlkdd=kuWB^DXK%1$ zFVkqEn~Vd#!!)zM#TW5B540^R1<&_)G|=?l^wS5~9_xjJLL@m}n{T>@`L{)*8Bj5iELRds@cIr##L%zIi9UZwS<$3(>l0g0mwKmiX literal 0 HcmV?d00001 diff --git a/mods/cnc/ti2.tem b/mods/cnc/ti2.tem new file mode 100644 index 0000000000000000000000000000000000000000..16128647be9dd64956826367e33c329932963431 GIT binary patch literal 1555 zcmZvcUuauZ9LIm>-rSqCnQlvQYf4w^Cd0RN_>?YkBl(r6Ag6gr2%B^;5c^gfLLp@4 z+~(dioo&-3T_r1|Y$gvrxECMn5VYx1xOA~iyI937V^i@D2tyyFWv>3N9aO}7;hyt5 z_nzPR{=VmP?g8k7cc7E*E(UN3APIEc0SMUr0S3J^{Mrv}FHT9&D^vXO)Arue_CPd)`mg~B}47-y+SG~(Z&R}t=Oe8xlwj&5885!!qge(8{sTM8m-m{X8P zdfbBHjEhH}^SDRcm~9Kk4t5N?;~HjN=zP{|_wtT7J(Hh+1JRFpnIBShnxyckcXLy) zI8Bcp*|ZWeW@Y4ugyWK&z!?d-E+z1bB*51UQ&JqWPIP;nTb7_Dr`x&LlNK$j>BcE{ z*mZEdS{8adj+5?i%;Q1ch1LOrx$=`v2Y@y^_8 zPhfG>&fD3j2D_`Hqc|n;4&lsM`gVc>siD;U&B2|yv ztTmU!ik&B7tY)pU&TW0M+WlNUQzqAJeUa6AhSX^|)o$w>9_G~Fm!~2Y4YM}mA_x9# zJ}_*3(c=0>wz6pFjTQ@e>+z1Cs^ihxz07V|NEDF1Xq5Dg`v0r%8|Ix=)=ysO?<`2i zmE;p(y|e6^VAp4v(3yUPU3f%Qe9204tbbPO*T}3h1;zw>JNYB9Qh`0t?QfZouXjDn zJ3fr{vt-%^vZ!iAjHcz(5D~+XT272^KY1lWwN>VfJxxRBH_NyaV(cArAloj z;5~n8oJT691+%zP?}2f0+^p4BiggF1$?#%vMO%~YeV^MP|^h6jxZV-e4JfPdNJhzWO3F_n7&LNq1h7l5_&bi0K&>J>D&A!bZ9c zUB}X*yx1bX_z{oQ(#1B7Pf6$zPS5@PTsdx|;5l;4Gwj|6CPzH$j@I|p8u6EI3ZyFyB6gdowU#S;k)r%4l?QN+J! zSFSQkNWr1JnpTIN51z{@)owX3RFJAco&B6#0j2fIi6EbDPY(o#y1Uin5>6hdI?tXB z2Br63pj9s`xKs}e2w4sWg}g%psyk=R56Oa^6OL_F)h6XuQ#WLl6w+B_n#r`swD7;2 zd9*dreCo{o?;hUV(f@JgQB$wB_MKVZ&Ck90f6nZ(a?Y-(_0X(Lw=Y+Jzx}J!^{rv+ ztTgXV=*g4is)m=JL8F+lmNQ~;e#Z_4kt6hSd3QVR(hv4i6FSBo v+>kZj2|6oR*dIER=h&^}RbUHw_G&?@3KRAj2w&_jAjOD}Q~#$}(7dm41;3N-=+OhS6-p=Z-} zXQf?PaTC}2uv`&{DOf&*IJx;2%Ux49mLl0PIRq3O2>qZr^-yf6>8vd%^w!IY*mK1o>R|8M?zaUKd>n{|DssK}szCP2?aARD@_N3HLn$W7Yx>TaFyJbbiAri*}X(LJrlpw(6}HFbi^s zv}yA85u7h|f_Qvg4)RsLzUq4I3Klk9&#gC{*84cy^tN1Qb=}=Lheb-cn|06iyhqQ_ zIeJaC6}DWy4Uud1rlw<^r_Qnv4roH4LF1$pd|; zw0%1(ugwVUP}kYF8uj*VN7ZNOCXztrBFjm*ataJr1D*G#CqfnF-GKE7aHWQ_@V5oL zBJ+g8mcCP`wUDhYU%OPoa2~I;WZ~aMVu2hk`$d1~O!|eflAe%$;Utwyhp}=XLGqz27iH4E=DVb%Ng?y+^Hk&q#AHoqI>gzt#s{zUM;r~JU1SzM?(1K3E@YC%Z0%`s=8XPN# zmGvIY5Aw6Y?Vc?T{c{Y8f#CCUZDodTo!K7>o*fH*KE!ANG*TpvPkkJ(a9b!wwyYQQ z?Au1B6lg}&$!tYw8aDoVO6(Oz7uEP@7po{)WNSEW6;D9o!9A75#^vKI;-5CEHT==~ H(vSQD=`M1i literal 0 HcmV?d00001 diff --git a/mods/cnc/ti4.tem b/mods/cnc/ti4.tem new file mode 100644 index 0000000000000000000000000000000000000000..3ecc6e643a3b0f4013d9bbe642a77f8c3bce308a GIT binary patch literal 1491 zcmbW1UuYaf9LHz&&+Xl%wlS%Cv1vUi1O#7v^Wwp#Q7 zBsKj0wsLI0tCD04?N3koT~(a^_ru9yj*vOyGBdWXlcH&vX}wz@bC*q)+V%-I$O{~H zt`ls&CWm(jDKe8W*!r9lm}${hwp_~L*$Er;Ee}V8?smu_BZQOuFA6{!JedtfYzj4% zStGl?@8F`kvC_S7lCZS8Mg8 z(b4JqHL2X<>ZCkT;x(;zC3?`}&EJJ@4Bsz0VJ(Um`mNV53g?#J-KjP=gmcTUd!0WH z(ooTu75-Fu5{Tf1bIU^Kne@}n`-&5w^EgHjgl!)qslyT%#_8H3 z)zu>AEx1zm^y6S4J68341^uvIXb0Ut&n@QZ55 zRW#Bte;R>a>Gc~;6OTzj>5Ra-+4*D~(Xmt-N~e$EHW04ZQ2uwoC>2E{7xiPB%mi0s zQw%_dng-0AGIi8Xa9hP094SsS3~U-y_OII7o-fyW`2{d6V@2eTag%bTjl4UOf19Y+DaSBz94X>2# zR)Awnb0X1gdzq}59vYsV9nf7>gbevD!E-~P^h3vi+oz65g0teQ4$MCTq3Sm=^traL zK=}-?``>hb#UzC&+!WjzM3A1_^$!foVgl_gWF2l+OKS&dEDK~?LLpnx0aebVj7l8v zk057qDZ{A5FonLe5#n?VQHGAcE-GMZ+INa=A1fecPWxf#grQ!b!F&vt`0ci@>-Jxm zKhW^UVwp_0pW^Kt->dMyu?Gr-&Wab=n=Fi7a@@$|xeE`*`flWM^UqO4Sf!0cdXLjL>dLuQeQgb%7 literal 0 HcmV?d00001 diff --git a/mods/cnc/ti5.tem b/mods/cnc/ti5.tem new file mode 100644 index 0000000000000000000000000000000000000000..95f87dba09a05d3dac41c86778d194df1e99d9b2 GIT binary patch literal 1515 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 literal 0 HcmV?d00001 diff --git a/mods/cnc/ti8.tem b/mods/cnc/ti8.tem new file mode 100644 index 0000000000000000000000000000000000000000..95cecd04b39c9794c0c8b752971869aa19e6d7d9 GIT binary patch literal 1415 zcma)5UuauZ82`>a_a<#qyEJ3kNVW!t^Tmhm!H3pJqW8d^?BOg>Zpc>2q$-Fn6%=%( zBj+x;T>`6Vl2*8=sqK=z>x1jukfz>X?b4)w;)aFbh9XKq=Yykt7=Cvh=!1yo!uig} zJ>U2Je&_pr-7o-2=)-T20GtPOaMd4KjX=aX*9Zh9fD^~1N4^9>8U1^Y>~nPA|Ag+x ze|N229V(S;dJKwwp53U0UNMgFTFdbvdrp+2>z|{EHmT9fM4Hq@e zY}2msdKNO8&aGOFu~2;hFYEDmj5n@<_uRLO06iky*n&x5T#s_r*ad^@a9r@Uc}PJt zuEUAueSnOi^UeFP`6oQU7_8iqP1Cjta#h5sAV%I@ZApPZVrg2+R)wO{NJdP%Tf-fD zRZ+Q0SV|gaIXCn8-M3bRAnb!K?)OcK_DajcraaM(1I=n#7~|vYk|!GX`Id8;Hab&o z1bf)$8xvBPHQIuNk1-V+?D;MNuG4K$)Ybj0xfss5Z2w6?gkpgKO(r!EXlT+#j zDbLDg#V!}RD&oi2RN5|MF?s2B<|QN=-gc_}fTUazRn4@`sjl8$F}z1bb@ySdPYDys zc6G1Ka-D4Zx8Lt=2;(9Bd)r2}mD#8NQB&+04&zI1qhj(NR zHCR;im>zO|=zI{3hC3@#jj_v4j-NsH_>Oq6bJHDMKjia_d5}*ue&FDno^k9=2XpuM zol`*`$9+Rav9SW>UYCI(3Xl0WHw78T;Mn7vD-)FEDC1rspQjUST4LOgCfEWN60nO~ zdGi^#fKLujuDt-+iamG5uFX|S_UbE;O_yq>RVmF?(yQ-6_KIoSH8WkY%+*UUscUO% zA=`!{H%B0Y(qRnwv9mr=iufl{->4E6@#DB)2Q7Fk!*#Z7oKgY_YN~vPkm?L`A zw4f_^(iw%1)23D94EoXxXUH1pGoo>CD%b<(QgL19r}|R5W!2!2w+E&NItS*)j;($L z-@Hod?-LO^^~Fk&m|RPnwpPDPF7lY2vg~xIaf77Ibj>p1Wc?Nq+`GKCLo$rVuq&a^ zV7*05rfDoRxN=xZCY$j8^tvOr7ptP67)Jx6)x0Yq_0#@qc~>Ap1FFa?*+hgUt~=dq zfYj}uQJTj_hx&@rQ%Z6kNN|SC3$idngh7m1GP>nlyb9#>tkQi4rzNlax^mwibY|Uk ocjWbd8JF+KTv55xUVKp$Tt+f5di(A)VsM>)dT<{@@Shm|0tgoSL;wH) literal 0 HcmV?d00001 diff --git a/mods/cnc/ti9.tem b/mods/cnc/ti9.tem new file mode 100644 index 0000000000000000000000000000000000000000..d8240ddf382b0552a742aa09a0136f90a930c564 GIT binary patch literal 1184 zcmaJ=U1%It6h3EucJueJ32JxS(5{w>;Da^z&@rnwaZi}M4FTDuv`~HVMIQvE1edLQ zCp)ugOibL}P#79FQg%dNtb$+)LU!V8-Lx^g)d)geqXq;;LEjQ=;+-UdFZK-FbI#?S zd%pXfZ+c)9au5~YE&yBtkqGuq>3gQnD;u65<3F#nTmLRT({NABIB_HJHo=iboHfX@*;kuj8YzfPFpV`o0nXq^^CrYIyKew| z^DO2mW$4Y%QC$8IPqe;8E2R@@>wlm{Mq2d!9XYN3hPj*vNT$;M+4JW*sn9Alj-Ra2 zY?n7xY1AHJOBtH!q;z9`Wy;(6nZy}Uftf~QkK2lMFugJ$z~bNB26eHY*PeC z#W3~7UdzZd*P(ZG$jeLPG}o#3#xgZe&C;w)-BDAysES>QWK$j=r^%ccf)8r@nUhIl zwyQ9bywKkt%GGG5#|xi3mrP1;J}mG|E48(u5iZNgB$szYt`-|tFUTCvb7eaeV$%w> zH%vV$t6e4eUOSRt#6aV@a->L?zY?%DLfcAhDvwiJ8tO$UMB^)kG?g&S@Ea`(B zk6w{9bpjXfVPzhdIS!VUV~gzC73pbd9?zIqEo1mb@VZG*0_~O6edU$ZKzFR9>SCp` zEM$>;9{)Y}V7FXW`!JTt6hr#)-flHh4C}oe*-VxMbR*K8O;AxKof4EA461}m3x_Jb zD70-P68ft#uAUATbVH}Sm54_tNhNYz+l@!zi8;$oXaufpyH3@vELf3K1)<2aVQBE= zTh@Y8@$2fMW3zZHuM2FE(J9NRyOp|ctA0HC0!|Co{kq_~E|kAo0(ih?jA@#7s}G?8 zk44s2AIGhikXP=!4il literal 0 HcmV?d00001 diff --git a/mods/ra/rules.yaml b/mods/ra/rules.yaml index 6d7e6c569a..03132a1fb3 100644 --- a/mods/ra/rules.yaml +++ b/mods/ra/rules.yaml @@ -216,6 +216,24 @@ World: SellButton: RepairButton: PowerDownButton: + WallLoadHook@sbag: + ActorType: sbag + OverlayIndices: 0,24 + WallLoadHook@cycl: + ActorType: cycl + OverlayIndices: 1 + WallLoadHook@brik: + ActorType: brik + OverlayIndices: 2 + WallLoadHook@fenc: + ActorType: fenc + OverlayIndices: 3 + WallLoadHook@wood: + ActorType: wood + OverlayIndices: 4 + WallLoadHook@barb: + ActorType: barb + OverlayIndices: 23 MGG: GeneratesGap: