Add options to set colouring, behind existing land, and horizontal/vertical flipping to PlaceSprite
authornemo
Wed, 08 Apr 2015 15:04:48 -0400
changeset 10897 8ea636ce120a
parent 10895 bce67defd804
child 10899 de52c2b8b773
Add options to set colouring, behind existing land, and horizontal/vertical flipping to PlaceSprite
hedgewars/uGearsHandlersMess.pas
hedgewars/uLandGraphics.pas
hedgewars/uScript.pas
share/hedgewars/Data/Scripts/Multiplayer/Construction_Mode.lua
share/hedgewars/Data/Scripts/Multiplayer/TechRacer.lua
--- a/hedgewars/uGearsHandlersMess.pas	Sun Apr 05 16:41:39 2015 -0400
+++ b/hedgewars/uGearsHandlersMess.pas	Wed Apr 08 15:04:48 2015 -0400
@@ -2851,7 +2851,7 @@
 
     for y:= ty downto ty - ytol do
         begin
-        if TryPlaceOnLand(lx, y, sprHHTelepMask, 0, false, not hasBorder, false, 0) then
+        if TryPlaceOnLand(lx, y, sprHHTelepMask, 0, false, not hasBorder, false, false, false, false, 0, $FFFFFFFF) then
             begin
             valid:= true;
             break;
--- a/hedgewars/uLandGraphics.pas	Sun Apr 05 16:41:39 2015 -0400
+++ b/hedgewars/uLandGraphics.pas	Wed Apr 08 15:04:48 2015 -0400
@@ -20,7 +20,7 @@
 
 unit uLandGraphics;
 interface
-uses uFloat, uConsts, uTypes;
+uses uFloat, uConsts, uTypes, Math, uRenderUtils;
 
 type
     fillType = (nullPixel, backgroundPixel, ebcPixel, icePixel, setNotCurrentMask, changePixelSetNotCurrent, setCurrentHog, changePixelNotSetNotCurrent);
@@ -49,8 +49,8 @@
 procedure DrawIceBreak(x, y, iceRadius, iceHeight: Longint);
 function TryPlaceOnLandSimple(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt; doPlace, indestructible: boolean): boolean; inline;
 function TryPlaceOnLand(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt; doPlace: boolean; LandFlags: Word): boolean; inline;
-function ForcePlaceOnLand(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt; LandFlags: Word): boolean; inline;
-function TryPlaceOnLand(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt; doPlace, outOfMap, force: boolean; LandFlags: Word): boolean;
+function ForcePlaceOnLand(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt; LandFlags: Word; Tint: LongWord; Behind, flipHoriz, flipVert: boolean): boolean; inline;
+function TryPlaceOnLand(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt; doPlace, outOfMap, force, behind, flipHoriz, flipVert: boolean; LandFlags: Word; Tint: LongWord): boolean;
 function GetPlaceCollisionTex(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt): PTexture;
 
 implementation
@@ -679,37 +679,37 @@
     lf:= lfIndestructible
 else
     lf:= 0;
-TryPlaceOnLandSimple:= TryPlaceOnLand(cpX, cpY, Obj, Frame, doPlace, false, false, lf);
+TryPlaceOnLandSimple:= TryPlaceOnLand(cpX, cpY, Obj, Frame, doPlace, false, false, false, false, false, lf, $FFFFFFFF);
 end;
 
 function TryPlaceOnLand(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt; doPlace: boolean; LandFlags: Word): boolean; inline;
 begin
-TryPlaceOnLand:= TryPlaceOnLand(cpX, cpY, Obj, Frame, doPlace, false, false, LandFlags);
+TryPlaceOnLand:= TryPlaceOnLand(cpX, cpY, Obj, Frame, doPlace, false, false, false, false, false, LandFlags, $FFFFFFFF);
 end;
 
-function ForcePlaceOnLand(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt; LandFlags: Word): boolean; inline;
+function ForcePlaceOnLand(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt; LandFlags: Word; Tint: LongWord; Behind, flipHoriz, flipVert: boolean): boolean; inline;
 begin
-    ForcePlaceOnLand:= TryPlaceOnLand(cpX, cpY, Obj, Frame, true, false, true, LandFlags)
+    ForcePlaceOnLand:= TryPlaceOnLand(cpX, cpY, Obj, Frame, true, false, true, behind, flipHoriz, flipVert, LandFlags, Tint)
 end;
 
-function TryPlaceOnLand(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt; doPlace, outOfMap, force: boolean; LandFlags: Word): boolean;
+function TryPlaceOnLand(cpX, cpY: LongInt; Obj: TSprite; Frame: LongInt; doPlace, outOfMap, force, behind, flipHoriz, flipVert: boolean; LandFlags: Word; Tint: LongWord): boolean;
 var X, Y, bpp, h, w, row, col, gx, gy, numFramesFirstCol: LongInt;
     p: PByteArray;
     Image: PSDL_Surface;
-    indestructible: boolean;
+    pixel: LongWord;
 begin
 TryPlaceOnLand:= false;
 numFramesFirstCol:= SpritesData[Obj].imageHeight div SpritesData[Obj].Height;
 
-// make land indestructible if lfIndestructible is passed
-indestructible:= (LandFlags and lfIndestructible <> 0);
-
 if outOfMap then doPlace:= false; // just using for a check
 
 TryDo(SpritesData[Obj].Surface <> nil, 'Assert SpritesData[Obj].Surface failed', true);
+
 Image:= SpritesData[Obj].Surface;
 w:= SpritesData[Obj].Width;
 h:= SpritesData[Obj].Height;
+if flipVert then flipSurface(Image, true);
+if flipHoriz then flipSurface(Image, false);
 row:= Frame mod numFramesFirstCol;
 col:= Frame div numFramesFirstCol;
 
@@ -765,17 +765,32 @@
                     gY:= cpY + y;
                     end
                 else
-                     begin
-                     gX:= (cpX + x) div 2;
-                     gY:= (cpY + y) div 2;
+                    begin
+                    gX:= (cpX + x) div 2;
+                    gY:= (cpY + y) div 2;
+                    end;
+		if not behind or (Land[cpY + y, cpX + x] and lfLandMask = 0) then
+                    begin
+                    if (LandFlags and lfBasic <> 0) or 
+                       (((LandPixels[gY, gX] and AMask) shr AShift = 255) and  // This test assumes lfBasic and lfObject differ only graphically
+                         (LandFlags or lfObject = 0)) then
+                         Land[cpY + y, cpX + x]:= lfBasic or LandFlags
+                    else Land[cpY + y, cpX + x]:= lfObject or LandFlags
                     end;
-                if indestructible then
-                    Land[cpY + y, cpX + x]:= {lfIndestructible or }LandFlags
-                else if (LandPixels[gY, gX] and AMask) shr AShift = 255 then  // This test assumes lfBasic and lfObject differ only graphically
-                    Land[cpY + y, cpX + x]:= lfBasic or LandFlags
-                else
-                    Land[cpY + y, cpX + x]:= lfObject or LandFlags;
-                LandPixels[gY, gX]:= PLongword(@(p^[x * 4]))^
+		if not behind or (LandPixels[gY, gX] = 0) then
+                    begin
+                    if tint = $FFFFFFFF then
+                        LandPixels[gY, gX]:= PLongword(@(p^[x * 4]))^
+                    else 
+                        begin
+                        pixel:= PLongword(@(p^[x * 4]))^;
+                        LandPixels[gY, gX]:= 
+                           ceil((pixel shr RShift and $FF) * ((tint shr 24) / 255)) shl RShift or
+                           ceil((pixel shr GShift and $FF) * ((tint shr 16 and $ff) / 255)) shl GShift or
+                           ceil((pixel shr BShift and $FF) * ((tint shr  8 and $ff) / 255)) shl BShift or
+                           ceil((pixel shr AShift and $FF) * ((tint and $ff) / 255)) shl AShift;
+                        end
+                    end
                 end;
         p:= PByteArray(@(p^[Image^.pitch]));
         end;
@@ -783,6 +798,9 @@
 if SDL_MustLock(Image) then
     SDL_UnlockSurface(Image);
 
+if flipVert then flipSurface(Image, true);
+if flipHoriz then flipSurface(Image, false);
+
 x:= Max(cpX, leftX);
 w:= Min(cpX + Image^.w, LAND_WIDTH) - x;
 y:= Max(cpY, topY);
--- a/hedgewars/uScript.pas	Sun Apr 05 16:41:39 2015 -0400
+++ b/hedgewars/uScript.pas	Wed Apr 08 15:04:48 2015 -0400
@@ -2202,19 +2202,29 @@
 function lc_placesprite(L : Plua_State) : LongInt; Cdecl;
 var spr   : TSprite;
     lf    : Word;
+    tint  : LongWord;
     i, n : LongInt;
-    placed: boolean;
+    placed, behind, flipHoriz, flipVert : boolean;
 const
     call = 'PlaceSprite';
-    params = 'x, y, sprite, frameIdx [, landFlag, ... ]';
+    params = 'x, y, sprite, frameIdx, tint, behind, flipHoriz, flipVert, [, landFlag, ... ]';
 begin
     placed:= false;
     if CheckAndFetchLuaParamMinCount(L, 4, call, params, n) then
         begin
+        if not lua_isnoneornil(L, 5) then
+	     tint := lua_tointeger(L, 5)
+        else tint := $FFFFFFFF;
+        if not lua_isnoneornil(L, 6) then
+	     flipHoriz := lua_toboolean(L, 6)
+        else flipHoriz := false;
+        if not lua_isnoneornil(L, 6) then
+	     flipVert := lua_toboolean(L, 6)
+        else flipVert := false;
         lf:= 0;
 
-        // accept any amount of landflags, loop is never executed if n>5
-        for i:= 5 to n do
+        // accept any amount of landflags, loop is never executed if n>6
+        for i:= 6 to n do
             lf:= lf or lua_tointeger(L, i);
 
         n:= LuaToSpriteOrd(L, 3, call, params);
@@ -2227,7 +2237,7 @@
                 placed:= ForcePlaceOnLand(
                     lua_tointeger(L, 1) - SpritesData[spr].Width div 2,
                     lua_tointeger(L, 2) - SpritesData[spr].Height div 2,
-                    spr, lua_tointeger(L, 4), lf);
+                    spr, lua_tointeger(L, 4), lf, tint, behind, flipHoriz, flipVert);
             end;
         end;
 
--- a/share/hedgewars/Data/Scripts/Multiplayer/Construction_Mode.lua	Sun Apr 05 16:41:39 2015 -0400
+++ b/share/hedgewars/Data/Scripts/Multiplayer/Construction_Mode.lua	Wed Apr 08 15:04:48 2015 -0400
@@ -1217,7 +1217,7 @@
 			PlaceGirder(x, y, CGR)
 			placedSpec[placedCount] = CGR
 		elseif cat[cIndex] == "Rubber Placement Mode" then
-			PlaceSprite(x,y, sprAmRubber, CGR, lfBouncy)
+			PlaceSprite(x,y, sprAmRubber, CGR, nil, nil, nil, nil, lfBouncy)
 			--PlaceGirder(x, y, CGR)
 			placedSpec[placedCount] = CGR
 		elseif cat[cIndex] == "Target Placement Mode" then
@@ -1320,7 +1320,7 @@
 
 		elseif cat[cIndex] == "Sprite Placement Mode" then
 
-			PlaceSprite(x,y, reducedSpriteIDArray[pIndex], 1, landType)
+			PlaceSprite(x,y, reducedSpriteIDArray[pIndex], 1, nil, nil, nil, nil, landType)
 			--PlaceGirder(x, y, CGR)
 			placedSpec[placedCount] = reducedSpriteTextArray[pIndex]
 			placedSuperSpec[placedCount] = landType
--- a/share/hedgewars/Data/Scripts/Multiplayer/TechRacer.lua	Sun Apr 05 16:41:39 2015 -0400
+++ b/share/hedgewars/Data/Scripts/Multiplayer/TechRacer.lua	Wed Apr 08 15:04:48 2015 -0400
@@ -483,96 +483,96 @@
 
 			--simple testmap
 			------ GIRDER LIST ------
-			PlaceSprite(306, 530, sprAmGirder, 7, lfNormal)
-			PlaceSprite(451, 474, sprAmGirder, 4, lfNormal)
-			PlaceSprite(595, 531, sprAmGirder, 5, lfNormal)
-			PlaceSprite(245, 679, sprAmGirder, 6, lfNormal)
-			PlaceSprite(305, 822, sprAmGirder, 5, lfNormal)
-			PlaceSprite(449, 887, sprAmGirder, 4, lfNormal)
-			PlaceSprite(593, 825, sprAmGirder, 7, lfNormal)
-			PlaceSprite(657, 681, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1063, 682, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1121, 532, sprAmGirder, 7, lfNormal)
-			PlaceSprite(1266, 476, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1411, 535, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1472, 684, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1415, 828, sprAmGirder, 7, lfNormal)
-			PlaceSprite(1271, 892, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1126, 827, sprAmGirder, 5, lfNormal)
-			PlaceSprite(841, 1079, sprAmGirder, 4, lfNormal)
-			PlaceSprite(709, 1153, sprAmGirder, 7, lfNormal)
-			PlaceSprite(975, 1154, sprAmGirder, 5, lfNormal)
-			PlaceSprite(653, 1265, sprAmGirder, 2, lfNormal)
-			PlaceSprite(1021, 1266, sprAmGirder, 2, lfNormal)
-			PlaceSprite(713, 1369, sprAmGirder, 5, lfNormal)
-			PlaceSprite(960, 1371, sprAmGirder, 7, lfNormal)
-			PlaceSprite(835, 1454, sprAmGirder, 4, lfNormal)
-			PlaceSprite(185, 1617, sprAmGirder, 2, lfNormal)
-			PlaceSprite(1317, 1399, sprAmGirder, 2, lfNormal)
-			PlaceSprite(1711, 1811, sprAmGirder, 2, lfNormal)
-			PlaceSprite(2087, 1424, sprAmGirder, 2, lfNormal)
-			PlaceSprite(2373, 1804, sprAmGirder, 2, lfNormal)
-			PlaceSprite(2646, 1434, sprAmGirder, 2, lfNormal)
-			PlaceSprite(1876, 667, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1934, 517, sprAmGirder, 7, lfNormal)
-			PlaceSprite(2079, 461, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2224, 519, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1935, 810, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2080, 875, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2224, 811, sprAmGirder, 7, lfNormal)
-			PlaceSprite(2370, 582, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2370, 759, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2530, 582, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2690, 582, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2530, 759, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2690, 759, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2836, 634, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2835, 822, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2951, 751, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2950, 939, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2964, 1054, sprAmGirder, 7, lfNormal)
-			PlaceSprite(2978, 1172, sprAmGirder, 5, lfNormal)
-			PlaceSprite(3095, 1185, sprAmGirder, 7, lfNormal)
-			PlaceSprite(3211, 1069, sprAmGirder, 7, lfNormal)
-			PlaceSprite(3038, 843, sprAmGirder, 1, lfNormal)
-			PlaceSprite(3126, 825, sprAmGirder, 7, lfNormal)
-			PlaceSprite(3271, 768, sprAmGirder, 4, lfNormal)
-			PlaceSprite(3357, 1014, sprAmGirder, 4, lfNormal)
-			PlaceSprite(3416, 826, sprAmGirder, 5, lfNormal)
-			PlaceSprite(3454, 969, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3439, 369, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3500, 220, sprAmGirder, 7, lfNormal)
-			PlaceSprite(3502, 513, sprAmGirder, 5, lfNormal)
-			PlaceSprite(3646, 162, sprAmGirder, 4, lfNormal)
-			PlaceSprite(3791, 224, sprAmGirder, 5, lfNormal)
-			PlaceSprite(3851, 374, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3792, 518, sprAmGirder, 7, lfNormal)
-			PlaceSprite(3994, 1731, sprAmGirder, 7, lfNormal)
-			PlaceSprite(3877, 1848, sprAmGirder, 7, lfNormal)
-			PlaceSprite(3789, 1942, sprAmGirder, 3, lfNormal)
-			PlaceSprite(3986, 1929, sprAmGirder, 2, lfNormal)
-			PlaceSprite(2837, 1937, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2997, 1938, sprAmGirder, 4, lfNormal)
-			PlaceSprite(3157, 1938, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1152, 1844, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1299, 1898, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1005, 1900, sprAmGirder, 7, lfNormal)
-			PlaceSprite(3578, 575, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3714, 576, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3579, 740, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3714, 741, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3580, 903, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3715, 904, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3552, 452, sprAmGirder, 1, lfNormal)
-			PlaceSprite(3528, 370, sprAmGirder, 2, lfNormal)
-			PlaceSprite(3568, 297, sprAmGirder, 3, lfNormal)
-			PlaceSprite(3736, 455, sprAmGirder, 3, lfNormal)
-			PlaceSprite(3757, 378, sprAmGirder, 2, lfNormal)
-			PlaceSprite(3725, 299, sprAmGirder, 1, lfNormal)
-			PlaceSprite(3646, 261, sprAmGirder, 0, lfNormal)
-			PlaceSprite(3648, 997, sprAmGirder, 4, lfNormal)
-			PlaceSprite(3649, 1275, sprAmGirder, 2, lfNormal)
-			PlaceSprite(3514, 1750, sprAmGirder, 0, lfNormal)
+			PlaceSprite(306, 530, sprAmGirder, 7)
+			PlaceSprite(451, 474, sprAmGirder, 4)
+			PlaceSprite(595, 531, sprAmGirder, 5)
+			PlaceSprite(245, 679, sprAmGirder, 6)
+			PlaceSprite(305, 822, sprAmGirder, 5)
+			PlaceSprite(449, 887, sprAmGirder, 4)
+			PlaceSprite(593, 825, sprAmGirder, 7)
+			PlaceSprite(657, 681, sprAmGirder, 6)
+			PlaceSprite(1063, 682, sprAmGirder, 6)
+			PlaceSprite(1121, 532, sprAmGirder, 7)
+			PlaceSprite(1266, 476, sprAmGirder, 4)
+			PlaceSprite(1411, 535, sprAmGirder, 5)
+			PlaceSprite(1472, 684, sprAmGirder, 6)
+			PlaceSprite(1415, 828, sprAmGirder, 7)
+			PlaceSprite(1271, 892, sprAmGirder, 4)
+			PlaceSprite(1126, 827, sprAmGirder, 5)
+			PlaceSprite(841, 1079, sprAmGirder, 4)
+			PlaceSprite(709, 1153, sprAmGirder, 7)
+			PlaceSprite(975, 1154, sprAmGirder, 5)
+			PlaceSprite(653, 1265, sprAmGirder, 2)
+			PlaceSprite(1021, 1266, sprAmGirder, 2)
+			PlaceSprite(713, 1369, sprAmGirder, 5)
+			PlaceSprite(960, 1371, sprAmGirder, 7)
+			PlaceSprite(835, 1454, sprAmGirder, 4)
+			PlaceSprite(185, 1617, sprAmGirder, 2)
+			PlaceSprite(1317, 1399, sprAmGirder, 2)
+			PlaceSprite(1711, 1811, sprAmGirder, 2)
+			PlaceSprite(2087, 1424, sprAmGirder, 2)
+			PlaceSprite(2373, 1804, sprAmGirder, 2)
+			PlaceSprite(2646, 1434, sprAmGirder, 2)
+			PlaceSprite(1876, 667, sprAmGirder, 6)
+			PlaceSprite(1934, 517, sprAmGirder, 7)
+			PlaceSprite(2079, 461, sprAmGirder, 4)
+			PlaceSprite(2224, 519, sprAmGirder, 5)
+			PlaceSprite(1935, 810, sprAmGirder, 5)
+			PlaceSprite(2080, 875, sprAmGirder, 4)
+			PlaceSprite(2224, 811, sprAmGirder, 7)
+			PlaceSprite(2370, 582, sprAmGirder, 4)
+			PlaceSprite(2370, 759, sprAmGirder, 4)
+			PlaceSprite(2530, 582, sprAmGirder, 4)
+			PlaceSprite(2690, 582, sprAmGirder, 4)
+			PlaceSprite(2530, 759, sprAmGirder, 4)
+			PlaceSprite(2690, 759, sprAmGirder, 4)
+			PlaceSprite(2836, 634, sprAmGirder, 5)
+			PlaceSprite(2835, 822, sprAmGirder, 5)
+			PlaceSprite(2951, 751, sprAmGirder, 5)
+			PlaceSprite(2950, 939, sprAmGirder, 5)
+			PlaceSprite(2964, 1054, sprAmGirder, 7)
+			PlaceSprite(2978, 1172, sprAmGirder, 5)
+			PlaceSprite(3095, 1185, sprAmGirder, 7)
+			PlaceSprite(3211, 1069, sprAmGirder, 7)
+			PlaceSprite(3038, 843, sprAmGirder, 1)
+			PlaceSprite(3126, 825, sprAmGirder, 7)
+			PlaceSprite(3271, 768, sprAmGirder, 4)
+			PlaceSprite(3357, 1014, sprAmGirder, 4)
+			PlaceSprite(3416, 826, sprAmGirder, 5)
+			PlaceSprite(3454, 969, sprAmGirder, 6)
+			PlaceSprite(3439, 369, sprAmGirder, 6)
+			PlaceSprite(3500, 220, sprAmGirder, 7)
+			PlaceSprite(3502, 513, sprAmGirder, 5)
+			PlaceSprite(3646, 162, sprAmGirder, 4)
+			PlaceSprite(3791, 224, sprAmGirder, 5)
+			PlaceSprite(3851, 374, sprAmGirder, 6)
+			PlaceSprite(3792, 518, sprAmGirder, 7)
+			PlaceSprite(3994, 1731, sprAmGirder, 7)
+			PlaceSprite(3877, 1848, sprAmGirder, 7)
+			PlaceSprite(3789, 1942, sprAmGirder, 3)
+			PlaceSprite(3986, 1929, sprAmGirder, 2)
+			PlaceSprite(2837, 1937, sprAmGirder, 4)
+			PlaceSprite(2997, 1938, sprAmGirder, 4)
+			PlaceSprite(3157, 1938, sprAmGirder, 4)
+			PlaceSprite(1152, 1844, sprAmGirder, 4)
+			PlaceSprite(1299, 1898, sprAmGirder, 5)
+			PlaceSprite(1005, 1900, sprAmGirder, 7)
+			PlaceSprite(3578, 575, sprAmGirder, 6)
+			PlaceSprite(3714, 576, sprAmGirder, 6)
+			PlaceSprite(3579, 740, sprAmGirder, 6)
+			PlaceSprite(3714, 741, sprAmGirder, 6)
+			PlaceSprite(3580, 903, sprAmGirder, 6)
+			PlaceSprite(3715, 904, sprAmGirder, 6)
+			PlaceSprite(3552, 452, sprAmGirder, 1)
+			PlaceSprite(3528, 370, sprAmGirder, 2)
+			PlaceSprite(3568, 297, sprAmGirder, 3)
+			PlaceSprite(3736, 455, sprAmGirder, 3)
+			PlaceSprite(3757, 378, sprAmGirder, 2)
+			PlaceSprite(3725, 299, sprAmGirder, 1)
+			PlaceSprite(3646, 261, sprAmGirder, 0)
+			PlaceSprite(3648, 997, sprAmGirder, 4)
+			PlaceSprite(3649, 1275, sprAmGirder, 2)
+			PlaceSprite(3514, 1750, sprAmGirder, 0)
 
 			------ AMMO CRATE LIST ------
 			tempG = SpawnAmmoCrate(1707, 1755, amBazooka)
@@ -605,34 +605,34 @@
 
 			-- simple land flags test map
 			------ GIRDER LIST ------
-			PlaceSprite(335, 622, sprAmGirder, 16,16384)
-			PlaceSprite(474, 569, sprAmGirder, 13,16384)
-			PlaceSprite(343, 748, sprAmGirder, 14,16384)
-			PlaceSprite(466, 756, sprAmGirder, 16,16384)
-			PlaceSprite(609, 702, sprAmGirder, 13,16384)
-			PlaceSprite(635, 570, sprAmGirder, 13,16384)
-			PlaceSprite(770, 702, sprAmGirder, 13,16384)
-			PlaceSprite(960, 730, sprAmGirder, 18,2048)
-			PlaceSprite(1061, 608, sprAmGirder, 16,16384)
-			PlaceSprite(1207, 552, sprAmGirder, 13,16384)
-			PlaceSprite(1205, 409, sprAmGirder, 13,16384)
-			PlaceSprite(2312, 637, sprAmGirder, 6,0)
-			PlaceSprite(2312, 472, sprAmGirder, 6,0)
-			PlaceSprite(2311, 308, sprAmGirder, 6,0)
-			PlaceSprite(2292, 155, sprAmGirder, 6,0)
-			PlaceSprite(727, 611, sprAmGirder, 6,0)
-			PlaceSprite(1298, 480, sprAmGirder, 6,0)
+			PlaceSprite(335, 622, sprAmGirder, 16, nil, nil, nil, nil, 16384)
+			PlaceSprite(474, 569, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(343, 748, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(466, 756, sprAmGirder, 16, nil, nil, nil, nil, 16384)
+			PlaceSprite(609, 702, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(635, 570, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(770, 702, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(960, 730, sprAmGirder, 18, nil, nil, nil, nil, 2048)
+			PlaceSprite(1061, 608, sprAmGirder, 16, nil, nil, nil, nil, 16384)
+			PlaceSprite(1207, 552, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(1205, 409, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(2312, 637, sprAmGirder, 6)
+			PlaceSprite(2312, 472, sprAmGirder, 6)
+			PlaceSprite(2311, 308, sprAmGirder, 6)
+			PlaceSprite(2292, 155, sprAmGirder, 6)
+			PlaceSprite(727, 611, sprAmGirder, 6)
+			PlaceSprite(1298, 480, sprAmGirder, 6)
 
 			------ RUBBER BAND LIST ------
-			PlaceSprite(1411, 625, sprAmRubber, 1, lfBouncy)
-			PlaceSprite(1525, 739, sprAmRubber, 1, lfBouncy)
-			PlaceSprite(1638, 852, sprAmRubber, 1, lfBouncy)
-			PlaceSprite(1754, 963, sprAmRubber, 1, lfBouncy)
-			PlaceSprite(1870, 1076, sprAmRubber, 1, lfBouncy)
-			PlaceSprite(2013, 1131, sprAmRubber, 0, lfBouncy)
-			PlaceSprite(2159, 1070, sprAmRubber, 3, lfBouncy)
-			PlaceSprite(2268, 952, sprAmRubber, 3, lfBouncy)
-			PlaceSprite(2315, 802, sprAmRubber, 2, lfBouncy)
+			PlaceSprite(1411, 625, sprAmRubber, 1, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(1525, 739, sprAmRubber, 1, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(1638, 852, sprAmRubber, 1, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(1754, 963, sprAmRubber, 1, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(1870, 1076, sprAmRubber, 1, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(2013, 1131, sprAmRubber, 0, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(2159, 1070, sprAmRubber, 3, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(2268, 952, sprAmRubber, 3, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(2315, 802, sprAmRubber, 2, nil, nil, nil, nil, lfBouncy)
 
 			------ AMMO CRATE LIST ------
 			tempG = SpawnAmmoCrate(472, 711, amBazooka)
@@ -646,124 +646,124 @@
 
 			-- more detailed landflag test map
 			------ GIRDER LIST ------
-			PlaceSprite(396, 665, sprAmGirder, 1,0)
-			PlaceSprite(619, 665, sprAmGirder, 3,0)
-			PlaceSprite(696, 635, sprAmGirder, 0,0)
-			PlaceSprite(319, 637, sprAmGirder, 0,0)
-			PlaceSprite(268, 604, sprAmGirder, 2,0)
-			PlaceSprite(746, 603, sprAmGirder, 2,0)
-			PlaceSprite(325, 495, sprAmGirder, 7,0)
-			PlaceSprite(689, 493, sprAmGirder, 5,0)
-			PlaceSprite(504, 422, sprAmGirder, 6,0)
-			PlaceSprite(595, 422, sprAmGirder, 4,0)
-			PlaceSprite(412, 422, sprAmGirder, 4,0)
-			PlaceSprite(320, 696, sprAmGirder, 4,0)
-			PlaceSprite(249, 786, sprAmGirder, 6,0)
-			PlaceSprite(249, 948, sprAmGirder, 6,0)
-			PlaceSprite(191, 785, sprAmGirder, 6,0)
-			PlaceSprite(191, 946, sprAmGirder, 6,0)
-			PlaceSprite(191, 1107, sprAmGirder, 6,0)
-			PlaceSprite(249, 1109, sprAmGirder, 6,0)
-			PlaceSprite(130, 1251, sprAmGirder, 7,0)
-			PlaceSprite(306, 1251, sprAmGirder, 5,0)
-			PlaceSprite(72, 1360, sprAmGirder, 2,0)
-			PlaceSprite(364, 1360, sprAmGirder, 2,0)
-			PlaceSprite(132, 1462, sprAmGirder, 5,0)
-			PlaceSprite(304, 1463, sprAmGirder, 7,0)
-			PlaceSprite(182, 1616, sprAmGirder, 6,0)
-			PlaceSprite(255, 1613, sprAmGirder, 6,0)
-			PlaceSprite(217, 1796, sprAmGirder, 4,0)
-			PlaceSprite(221, 1381, sprAmGirder, 0,0)--
-			PlaceSprite(154, 669, sprAmGirder, 1,0)
-			PlaceSprite(124, 553, sprAmGirder, 6,0)
-			PlaceSprite(326, 467, sprAmGirder, 3,0)
-			PlaceSprite(223, 592, sprAmGirder, 3,0)
+			PlaceSprite(396, 665, sprAmGirder, 1)
+			PlaceSprite(619, 665, sprAmGirder, 3)
+			PlaceSprite(696, 635, sprAmGirder, 0)
+			PlaceSprite(319, 637, sprAmGirder, 0)
+			PlaceSprite(268, 604, sprAmGirder, 2)
+			PlaceSprite(746, 603, sprAmGirder, 2)
+			PlaceSprite(325, 495, sprAmGirder, 7)
+			PlaceSprite(689, 493, sprAmGirder, 5)
+			PlaceSprite(504, 422, sprAmGirder, 6)
+			PlaceSprite(595, 422, sprAmGirder, 4)
+			PlaceSprite(412, 422, sprAmGirder, 4)
+			PlaceSprite(320, 696, sprAmGirder, 4)
+			PlaceSprite(249, 786, sprAmGirder, 6)
+			PlaceSprite(249, 948, sprAmGirder, 6)
+			PlaceSprite(191, 785, sprAmGirder, 6)
+			PlaceSprite(191, 946, sprAmGirder, 6)
+			PlaceSprite(191, 1107, sprAmGirder, 6)
+			PlaceSprite(249, 1109, sprAmGirder, 6)
+			PlaceSprite(130, 1251, sprAmGirder, 7)
+			PlaceSprite(306, 1251, sprAmGirder, 5)
+			PlaceSprite(72, 1360, sprAmGirder, 2)
+			PlaceSprite(364, 1360, sprAmGirder, 2)
+			PlaceSprite(132, 1462, sprAmGirder, 5)
+			PlaceSprite(304, 1463, sprAmGirder, 7)
+			PlaceSprite(182, 1616, sprAmGirder, 6)
+			PlaceSprite(255, 1613, sprAmGirder, 6)
+			PlaceSprite(217, 1796, sprAmGirder, 4)
+			PlaceSprite(221, 1381, sprAmGirder, 0)--
+			PlaceSprite(154, 669, sprAmGirder, 1)
+			PlaceSprite(124, 553, sprAmGirder, 6)
+			PlaceSprite(326, 467, sprAmGirder, 3)
+			PlaceSprite(223, 592, sprAmGirder, 3)
 
-			PlaceSprite(638, 791, sprAmGirder, 5,0)
-			PlaceSprite(752, 907, sprAmGirder, 5,0)
-			PlaceSprite(866, 1022, sprAmGirder, 5,0)
-			PlaceSprite(402, 1863, sprAmGirder, 18,2048)
-			PlaceSprite(442, 1863, sprAmGirder, 22,2048)
-			PlaceSprite(2067, 1945, sprAmGirder, 15,16384)
-			PlaceSprite(2005, 1797, sprAmGirder, 14,16384)
-			PlaceSprite(1943, 1653, sprAmGirder, 15,16384)
-			PlaceSprite(1999, 1504, sprAmGirder, 16,16384)
-			PlaceSprite(2143, 1445, sprAmGirder, 13,16384)
-			PlaceSprite(2288, 1503, sprAmGirder, 14,16384)
-			PlaceSprite(2432, 1565, sprAmGirder, 13,16384)
-			PlaceSprite(2593, 1565, sprAmGirder, 13,16384)
-			PlaceSprite(2752, 1565, sprAmGirder, 13,16384)
-			PlaceSprite(2206, 1949, sprAmGirder, 15,16384)
-			PlaceSprite(2262, 1800, sprAmGirder, 16,16384)
-			PlaceSprite(2407, 1745, sprAmGirder, 13,16384)
-			PlaceSprite(2569, 1745, sprAmGirder, 13,16384)
-			PlaceSprite(2715, 1802, sprAmGirder, 14,16384)
-			PlaceSprite(2898, 1624, sprAmGirder, 14,16384)
-			PlaceSprite(3014, 1740, sprAmGirder, 14,16384)
-			PlaceSprite(2830, 1919, sprAmGirder, 14,16384)
-			PlaceSprite(3131, 1856, sprAmGirder, 14,16384)
-			PlaceSprite(3191, 1968, sprAmGirder, 11,16384)
-			PlaceSprite(3264, 2021, sprAmGirder, 13,16384)
-			PlaceSprite(2840, 2006, sprAmGirder, 12,16384)
-			PlaceSprite(1505, 395, sprAmGirder, 7,0)
-			PlaceSprite(1445, 544, sprAmGirder, 6,0)
-			PlaceSprite(1506, 686, sprAmGirder, 5,0)
-			PlaceSprite(1650, 339, sprAmGirder, 4,0)
-			PlaceSprite(1797, 397, sprAmGirder, 5,0)
-			PlaceSprite(1857, 547, sprAmGirder, 6,0)
-			PlaceSprite(1797, 688, sprAmGirder, 7,0)
-			PlaceSprite(1652, 754, sprAmGirder, 4,0)
-			PlaceSprite(3326, 863, sprAmGirder, 4,0)
-			PlaceSprite(3474, 921, sprAmGirder, 5,0)
-			PlaceSprite(3180, 921, sprAmGirder, 7,0)
-			PlaceSprite(3120, 1071, sprAmGirder, 6,0)
-			PlaceSprite(3183, 1214, sprAmGirder, 5,0)
-			PlaceSprite(3536, 1071, sprAmGirder, 6,0)
-			PlaceSprite(3480, 1214, sprAmGirder, 7,0)
-			PlaceSprite(3330, 1279, sprAmGirder, 4,0)
-			PlaceSprite(2502, 556, sprAmGirder, 16,16384)
-			PlaceSprite(2601, 634, sprAmGirder, 16,16384)
-			PlaceSprite(2616, 441, sprAmGirder, 16,16384)
-			PlaceSprite(2716, 519, sprAmGirder, 16,16384)
-			PlaceSprite(2756, 379, sprAmGirder, 13,16384)
-			PlaceSprite(2862, 466, sprAmGirder, 13,16384)
-			PlaceSprite(2918, 379, sprAmGirder, 13,16384)
-			PlaceSprite(3023, 467, sprAmGirder, 13,16384)
-			PlaceSprite(3080, 378, sprAmGirder, 13,16384)
-			PlaceSprite(3172, 527, sprAmGirder, 14,16384)
-			PlaceSprite(3232, 428, sprAmGirder, 14,16384)
-			PlaceSprite(3289, 647, sprAmGirder, 14,16384)
-			PlaceSprite(3350, 545, sprAmGirder, 14,16384)
-			PlaceSprite(3406, 764, sprAmGirder, 14,16384)
-			PlaceSprite(3469, 556, sprAmGirder, 16,16384)
-			PlaceSprite(3616, 503, sprAmGirder, 13,16384)
-			PlaceSprite(3552, 828, sprAmGirder, 13,16384)
-			PlaceSprite(3696, 763, sprAmGirder, 16,16384)
-			PlaceSprite(3708, 575, sprAmGirder, 15,16384)
-			PlaceSprite(3705, 680, sprAmGirder, 10,16384)
+			PlaceSprite(638, 791, sprAmGirder, 5)
+			PlaceSprite(752, 907, sprAmGirder, 5)
+			PlaceSprite(866, 1022, sprAmGirder, 5)
+			PlaceSprite(402, 1863, sprAmGirder, 18, nil, nil, nil, nil, 2048)
+			PlaceSprite(442, 1863, sprAmGirder, 22, nil, nil, nil, nil, 2048)
+			PlaceSprite(2067, 1945, sprAmGirder, 15, nil, nil, nil, nil, 16384)
+			PlaceSprite(2005, 1797, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(1943, 1653, sprAmGirder, 15, nil, nil, nil, nil, 16384)
+			PlaceSprite(1999, 1504, sprAmGirder, 16, nil, nil, nil, nil, 16384)
+			PlaceSprite(2143, 1445, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(2288, 1503, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(2432, 1565, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(2593, 1565, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(2752, 1565, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(2206, 1949, sprAmGirder, 15, nil, nil, nil, nil, 16384)
+			PlaceSprite(2262, 1800, sprAmGirder, 16, nil, nil, nil, nil, 16384)
+			PlaceSprite(2407, 1745, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(2569, 1745, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(2715, 1802, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(2898, 1624, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(3014, 1740, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(2830, 1919, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(3131, 1856, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(3191, 1968, sprAmGirder, 11, nil, nil, nil, nil, 16384)
+			PlaceSprite(3264, 2021, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(2840, 2006, sprAmGirder, 12, nil, nil, nil, nil, 16384)
+			PlaceSprite(1505, 395, sprAmGirder, 7)
+			PlaceSprite(1445, 544, sprAmGirder, 6)
+			PlaceSprite(1506, 686, sprAmGirder, 5)
+			PlaceSprite(1650, 339, sprAmGirder, 4)
+			PlaceSprite(1797, 397, sprAmGirder, 5)
+			PlaceSprite(1857, 547, sprAmGirder, 6)
+			PlaceSprite(1797, 688, sprAmGirder, 7)
+			PlaceSprite(1652, 754, sprAmGirder, 4)
+			PlaceSprite(3326, 863, sprAmGirder, 4)
+			PlaceSprite(3474, 921, sprAmGirder, 5)
+			PlaceSprite(3180, 921, sprAmGirder, 7)
+			PlaceSprite(3120, 1071, sprAmGirder, 6)
+			PlaceSprite(3183, 1214, sprAmGirder, 5)
+			PlaceSprite(3536, 1071, sprAmGirder, 6)
+			PlaceSprite(3480, 1214, sprAmGirder, 7)
+			PlaceSprite(3330, 1279, sprAmGirder, 4)
+			PlaceSprite(2502, 556, sprAmGirder, 16, nil, nil, nil, nil, 16384)
+			PlaceSprite(2601, 634, sprAmGirder, 16, nil, nil, nil, nil, 16384)
+			PlaceSprite(2616, 441, sprAmGirder, 16, nil, nil, nil, nil, 16384)
+			PlaceSprite(2716, 519, sprAmGirder, 16, nil, nil, nil, nil, 16384)
+			PlaceSprite(2756, 379, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(2862, 466, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(2918, 379, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(3023, 467, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(3080, 378, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(3172, 527, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(3232, 428, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(3289, 647, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(3350, 545, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(3406, 764, sprAmGirder, 14, nil, nil, nil, nil, 16384)
+			PlaceSprite(3469, 556, sprAmGirder, 16, nil, nil, nil, nil, 16384)
+			PlaceSprite(3616, 503, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(3552, 828, sprAmGirder, 13, nil, nil, nil, nil, 16384)
+			PlaceSprite(3696, 763, sprAmGirder, 16, nil, nil, nil, nil, 16384)
+			PlaceSprite(3708, 575, sprAmGirder, 15, nil, nil, nil, nil, 16384)
+			PlaceSprite(3705, 680, sprAmGirder, 10, nil, nil, nil, nil, 16384)
 
-			PlaceSprite(1481, 1133, sprAmGirder, 7,0)
-			PlaceSprite(1626, 1078, sprAmGirder, 4,0)
-			PlaceSprite(1772, 1135, sprAmGirder, 5,0)
-			PlaceSprite(1422, 1280, sprAmGirder, 6,0)
-			PlaceSprite(1831, 1286, sprAmGirder, 6,0)
-			PlaceSprite(1773, 1429, sprAmGirder, 7,0)
-			PlaceSprite(1627, 1492, sprAmGirder, 4,0)
-			PlaceSprite(1482, 1427, sprAmGirder, 5,0)
-			PlaceSprite(587, 855, sprAmGirder, 4,0)
-			PlaceSprite(425, 855, sprAmGirder, 4,0)
-			PlaceSprite(302, 822, sprAmGirder, 1,0)
+			PlaceSprite(1481, 1133, sprAmGirder, 7)
+			PlaceSprite(1626, 1078, sprAmGirder, 4)
+			PlaceSprite(1772, 1135, sprAmGirder, 5)
+			PlaceSprite(1422, 1280, sprAmGirder, 6)
+			PlaceSprite(1831, 1286, sprAmGirder, 6)
+			PlaceSprite(1773, 1429, sprAmGirder, 7)
+			PlaceSprite(1627, 1492, sprAmGirder, 4)
+			PlaceSprite(1482, 1427, sprAmGirder, 5)
+			PlaceSprite(587, 855, sprAmGirder, 4)
+			PlaceSprite(425, 855, sprAmGirder, 4)
+			PlaceSprite(302, 822, sprAmGirder, 1)
 
 			------ RUBBER BAND LIST ------
-			PlaceSprite(505, 708, sprAmRubber, 0, lfBouncy)
-			PlaceSprite(175, 451, sprAmRubber, 0, lfBouncy)
-			PlaceSprite(822, 1693, sprAmRubber, 0, lfBouncy)
-			PlaceSprite(982, 1691, sprAmRubber, 0, lfBouncy)
-			PlaceSprite(1142, 1688, sprAmRubber, 0, lfBouncy)
-			PlaceSprite(1302, 1684, sprAmRubber, 0, lfBouncy)
-			PlaceSprite(1450, 1750, sprAmRubber, 1, lfBouncy)
-			PlaceSprite(1566, 1860, sprAmRubber, 1, lfBouncy)
-			PlaceSprite(1680, 1973, sprAmRubber, 1, lfBouncy)
+			PlaceSprite(505, 708, sprAmRubber, 0, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(175, 451, sprAmRubber, 0, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(822, 1693, sprAmRubber, 0, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(982, 1691, sprAmRubber, 0, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(1142, 1688, sprAmRubber, 0, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(1302, 1684, sprAmRubber, 0, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(1450, 1750, sprAmRubber, 1, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(1566, 1860, sprAmRubber, 1, nil, nil, nil, nil, lfBouncy)
+			PlaceSprite(1680, 1973, sprAmRubber, 1, nil, nil, nil, nil, lfBouncy)
 
 			------ AMMO CRATE LIST ------
 			tempG = SpawnAmmoCrate(324, 613, amFirePunch)
@@ -844,251 +844,251 @@
 
 			-- first test epic multi map
 			------ GIRDER LIST ------
-			PlaceSprite(430, 1871, sprAmGirder, 2, lfNormal)
-			PlaceSprite(1249, 1914, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1394, 1849, sprAmGirder, 7, lfNormal)
-			PlaceSprite(1522, 1848, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1578, 1959, sprAmGirder, 2, lfNormal)
-			PlaceSprite(1545, 2011, sprAmGirder, 0, lfNormal)
-			PlaceSprite(430, 1749, sprAmGirder, 6, lfNormal)
-			PlaceSprite(430, 1589, sprAmGirder, 6, lfNormal)
-			PlaceSprite(358, 1499, sprAmGirder, 4, lfNormal)
-			PlaceSprite(198, 1499, sprAmGirder, 4, lfNormal)
-			PlaceSprite(72, 1571, sprAmGirder, 7, lfNormal)
-			PlaceSprite(339, 1618, sprAmGirder, 4, lfNormal)
-			PlaceSprite(520, 1499, sprAmGirder, 4, lfNormal)
-			PlaceSprite(680, 1499, sprAmGirder, 4, lfNormal)
-			PlaceSprite(839, 1499, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1000, 1499, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1404, 1730, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1288, 1613, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1200, 1529, sprAmGirder, 1, lfNormal)
-			PlaceSprite(1125, 1495, sprAmGirder, 0, lfNormal)
-			PlaceSprite(1667, 2011, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1812, 1951, sprAmGirder, 7, lfNormal)
-			PlaceSprite(1964, 2024, sprAmGirder, 0, lfNormal)
-			PlaceSprite(1957, 1892, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2103, 1949, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2242, 2017, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2404, 2017, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2548, 1955, sprAmGirder, 7, lfNormal)
-			PlaceSprite(2635, 1871, sprAmGirder, 3, lfNormal)
-			PlaceSprite(2749, 1836, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2751, 1999, sprAmGirder, 2, lfNormal)
-			PlaceSprite(2749, 1947, sprAmGirder, 0, lfNormal)
-			PlaceSprite(2865, 1870, sprAmGirder, 1, lfNormal)
-			PlaceSprite(2954, 1954, sprAmGirder, 5, lfNormal)
-			PlaceSprite(3061, 2017, sprAmGirder, 0, lfNormal)
-			PlaceSprite(3137, 1984, sprAmGirder, 3, lfNormal)
-			PlaceSprite(3169, 1864, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3169, 1702, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3170, 1540, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3170, 1418, sprAmGirder, 2, lfNormal)
-			PlaceSprite(3138, 1339, sprAmGirder, 1, lfNormal)
-			PlaceSprite(3107, 1260, sprAmGirder, 2, lfNormal)
-			PlaceSprite(3153, 1194, sprAmGirder, 3, lfNormal)
-			PlaceSprite(3230, 1163, sprAmGirder, 0, lfNormal)
-			PlaceSprite(3305, 1201, sprAmGirder, 1, lfNormal)
-			PlaceSprite(3334, 1277, sprAmGirder, 2, lfNormal)
-			PlaceSprite(3227, 1540, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3228, 1419, sprAmGirder, 2, lfNormal)
-			PlaceSprite(3334, 1358, sprAmGirder, 2, lfNormal)
-			PlaceSprite(3280, 1387, sprAmGirder, 0, lfNormal)
-			PlaceSprite(3227, 1702, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3227, 1864, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3253, 1981, sprAmGirder, 1, lfNormal)
-			PlaceSprite(3366, 2017, sprAmGirder, 4, lfNormal)
-			PlaceSprite(3528, 2018, sprAmGirder, 4, lfNormal)
-			PlaceSprite(3689, 2018, sprAmGirder, 4, lfNormal)
-			PlaceSprite(246, 1262, sprAmGirder, 4, lfNormal)
-			PlaceSprite(407, 1262, sprAmGirder, 4, lfNormal)
-			PlaceSprite(568, 1262, sprAmGirder, 4, lfNormal)
-			PlaceSprite(731, 1262, sprAmGirder, 4, lfNormal)
-			PlaceSprite(894, 1261, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1056, 1261, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1179, 1262, sprAmGirder, 0, lfNormal)
-			PlaceSprite(1288, 1314, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1406, 1433, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1525, 1549, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1642, 1666, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1749, 1728, sprAmGirder, 0, lfNormal)
-			PlaceSprite(1956, 1802, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1956, 1640, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1782, 1638, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1835, 1487, sprAmGirder, 7, lfNormal)
-			PlaceSprite(1942, 1430, sprAmGirder, 0, lfNormal)
-			PlaceSprite(2051, 1486, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2109, 1639, sprAmGirder, 6, lfNormal)
-			PlaceSprite(2177, 1778, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2323, 1840, sprAmGirder, 4, lfNormal)
-			PlaceSprite(49, 1029, sprAmGirder, 0, lfNormal)
-			PlaceSprite(499, 1172, sprAmGirder, 6, lfNormal)
-			PlaceSprite(527, 1054, sprAmGirder, 3, lfNormal)
-			PlaceSprite(604, 1026, sprAmGirder, 0, lfNormal)
-			PlaceSprite(680, 1056, sprAmGirder, 1, lfNormal)
-			PlaceSprite(719, 1168, sprAmGirder, 6, lfNormal)
-			PlaceSprite(89, 728, sprAmGirder, 4, lfNormal)
-			PlaceSprite(251, 728, sprAmGirder, 4, lfNormal)
-			PlaceSprite(412, 728, sprAmGirder, 4, lfNormal)
-			PlaceSprite(572, 728, sprAmGirder, 4, lfNormal)
-			PlaceSprite(733, 728, sprAmGirder, 4, lfNormal)
-			PlaceSprite(894, 728, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1016, 728, sprAmGirder, 0, lfNormal)
-			PlaceSprite(1067, 799, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1139, 891, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1067, 1171, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1067, 1049, sprAmGirder, 2, lfNormal)
-			PlaceSprite(1136, 999, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1005, 854, sprAmGirder, 2, lfNormal)
-			PlaceSprite(972, 803, sprAmGirder, 0, lfNormal)
-			PlaceSprite(920, 780, sprAmGirder, 2, lfNormal)
-			PlaceSprite(891, 1206, sprAmGirder, 2, lfNormal)
-			PlaceSprite(887, 1150, sprAmGirder, 0, lfNormal)
-			PlaceSprite(3018, 1311, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2871, 1369, sprAmGirder, 7, lfNormal)
-			PlaceSprite(2809, 1523, sprAmGirder, 6, lfNormal)
-			PlaceSprite(2809, 1647, sprAmGirder, 2, lfNormal)
-			PlaceSprite(2469, 1777, sprAmGirder, 7, lfNormal)
-			PlaceSprite(2612, 1715, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2809, 1702, sprAmGirder, 0, lfNormal)
-			PlaceSprite(2727, 1694, sprAmGirder, 0, lfNormal)
+			PlaceSprite(430, 1871, sprAmGirder, 2)
+			PlaceSprite(1249, 1914, sprAmGirder, 4)
+			PlaceSprite(1394, 1849, sprAmGirder, 7)
+			PlaceSprite(1522, 1848, sprAmGirder, 5)
+			PlaceSprite(1578, 1959, sprAmGirder, 2)
+			PlaceSprite(1545, 2011, sprAmGirder, 0)
+			PlaceSprite(430, 1749, sprAmGirder, 6)
+			PlaceSprite(430, 1589, sprAmGirder, 6)
+			PlaceSprite(358, 1499, sprAmGirder, 4)
+			PlaceSprite(198, 1499, sprAmGirder, 4)
+			PlaceSprite(72, 1571, sprAmGirder, 7)
+			PlaceSprite(339, 1618, sprAmGirder, 4)
+			PlaceSprite(520, 1499, sprAmGirder, 4)
+			PlaceSprite(680, 1499, sprAmGirder, 4)
+			PlaceSprite(839, 1499, sprAmGirder, 4)
+			PlaceSprite(1000, 1499, sprAmGirder, 4)
+			PlaceSprite(1404, 1730, sprAmGirder, 5)
+			PlaceSprite(1288, 1613, sprAmGirder, 5)
+			PlaceSprite(1200, 1529, sprAmGirder, 1)
+			PlaceSprite(1125, 1495, sprAmGirder, 0)
+			PlaceSprite(1667, 2011, sprAmGirder, 4)
+			PlaceSprite(1812, 1951, sprAmGirder, 7)
+			PlaceSprite(1964, 2024, sprAmGirder, 0)
+			PlaceSprite(1957, 1892, sprAmGirder, 4)
+			PlaceSprite(2103, 1949, sprAmGirder, 5)
+			PlaceSprite(2242, 2017, sprAmGirder, 4)
+			PlaceSprite(2404, 2017, sprAmGirder, 4)
+			PlaceSprite(2548, 1955, sprAmGirder, 7)
+			PlaceSprite(2635, 1871, sprAmGirder, 3)
+			PlaceSprite(2749, 1836, sprAmGirder, 4)
+			PlaceSprite(2751, 1999, sprAmGirder, 2)
+			PlaceSprite(2749, 1947, sprAmGirder, 0)
+			PlaceSprite(2865, 1870, sprAmGirder, 1)
+			PlaceSprite(2954, 1954, sprAmGirder, 5)
+			PlaceSprite(3061, 2017, sprAmGirder, 0)
+			PlaceSprite(3137, 1984, sprAmGirder, 3)
+			PlaceSprite(3169, 1864, sprAmGirder, 6)
+			PlaceSprite(3169, 1702, sprAmGirder, 6)
+			PlaceSprite(3170, 1540, sprAmGirder, 6)
+			PlaceSprite(3170, 1418, sprAmGirder, 2)
+			PlaceSprite(3138, 1339, sprAmGirder, 1)
+			PlaceSprite(3107, 1260, sprAmGirder, 2)
+			PlaceSprite(3153, 1194, sprAmGirder, 3)
+			PlaceSprite(3230, 1163, sprAmGirder, 0)
+			PlaceSprite(3305, 1201, sprAmGirder, 1)
+			PlaceSprite(3334, 1277, sprAmGirder, 2)
+			PlaceSprite(3227, 1540, sprAmGirder, 6)
+			PlaceSprite(3228, 1419, sprAmGirder, 2)
+			PlaceSprite(3334, 1358, sprAmGirder, 2)
+			PlaceSprite(3280, 1387, sprAmGirder, 0)
+			PlaceSprite(3227, 1702, sprAmGirder, 6)
+			PlaceSprite(3227, 1864, sprAmGirder, 6)
+			PlaceSprite(3253, 1981, sprAmGirder, 1)
+			PlaceSprite(3366, 2017, sprAmGirder, 4)
+			PlaceSprite(3528, 2018, sprAmGirder, 4)
+			PlaceSprite(3689, 2018, sprAmGirder, 4)
+			PlaceSprite(246, 1262, sprAmGirder, 4)
+			PlaceSprite(407, 1262, sprAmGirder, 4)
+			PlaceSprite(568, 1262, sprAmGirder, 4)
+			PlaceSprite(731, 1262, sprAmGirder, 4)
+			PlaceSprite(894, 1261, sprAmGirder, 4)
+			PlaceSprite(1056, 1261, sprAmGirder, 4)
+			PlaceSprite(1179, 1262, sprAmGirder, 0)
+			PlaceSprite(1288, 1314, sprAmGirder, 5)
+			PlaceSprite(1406, 1433, sprAmGirder, 5)
+			PlaceSprite(1525, 1549, sprAmGirder, 5)
+			PlaceSprite(1642, 1666, sprAmGirder, 5)
+			PlaceSprite(1749, 1728, sprAmGirder, 0)
+			PlaceSprite(1956, 1802, sprAmGirder, 6)
+			PlaceSprite(1956, 1640, sprAmGirder, 6)
+			PlaceSprite(1782, 1638, sprAmGirder, 6)
+			PlaceSprite(1835, 1487, sprAmGirder, 7)
+			PlaceSprite(1942, 1430, sprAmGirder, 0)
+			PlaceSprite(2051, 1486, sprAmGirder, 5)
+			PlaceSprite(2109, 1639, sprAmGirder, 6)
+			PlaceSprite(2177, 1778, sprAmGirder, 5)
+			PlaceSprite(2323, 1840, sprAmGirder, 4)
+			PlaceSprite(49, 1029, sprAmGirder, 0)
+			PlaceSprite(499, 1172, sprAmGirder, 6)
+			PlaceSprite(527, 1054, sprAmGirder, 3)
+			PlaceSprite(604, 1026, sprAmGirder, 0)
+			PlaceSprite(680, 1056, sprAmGirder, 1)
+			PlaceSprite(719, 1168, sprAmGirder, 6)
+			PlaceSprite(89, 728, sprAmGirder, 4)
+			PlaceSprite(251, 728, sprAmGirder, 4)
+			PlaceSprite(412, 728, sprAmGirder, 4)
+			PlaceSprite(572, 728, sprAmGirder, 4)
+			PlaceSprite(733, 728, sprAmGirder, 4)
+			PlaceSprite(894, 728, sprAmGirder, 4)
+			PlaceSprite(1016, 728, sprAmGirder, 0)
+			PlaceSprite(1067, 799, sprAmGirder, 6)
+			PlaceSprite(1139, 891, sprAmGirder, 4)
+			PlaceSprite(1067, 1171, sprAmGirder, 6)
+			PlaceSprite(1067, 1049, sprAmGirder, 2)
+			PlaceSprite(1136, 999, sprAmGirder, 4)
+			PlaceSprite(1005, 854, sprAmGirder, 2)
+			PlaceSprite(972, 803, sprAmGirder, 0)
+			PlaceSprite(920, 780, sprAmGirder, 2)
+			PlaceSprite(891, 1206, sprAmGirder, 2)
+			PlaceSprite(887, 1150, sprAmGirder, 0)
+			PlaceSprite(3018, 1311, sprAmGirder, 4)
+			PlaceSprite(2871, 1369, sprAmGirder, 7)
+			PlaceSprite(2809, 1523, sprAmGirder, 6)
+			PlaceSprite(2809, 1647, sprAmGirder, 2)
+			PlaceSprite(2469, 1777, sprAmGirder, 7)
+			PlaceSprite(2612, 1715, sprAmGirder, 4)
+			PlaceSprite(2809, 1702, sprAmGirder, 0)
+			PlaceSprite(2727, 1694, sprAmGirder, 0)
 
-			PlaceSprite(3334, 1481, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3334, 1643, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3334, 1804, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3403, 1940, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1120, 944, sprAmGirder, 2, lfNormal)
-			PlaceSprite(1163, 945, sprAmGirder, 2, lfNormal)
-			PlaceSprite(1141, 781, sprAmGirder, 5, lfNormal)
-			PlaceSprite(81, 629, sprAmGirder, 1, lfNormal)
-			PlaceSprite(102, 498, sprAmGirder, 3, lfNormal)
-			PlaceSprite(81, 373, sprAmGirder, 1, lfNormal)
-			PlaceSprite(179, 453, sprAmGirder, 6, lfNormal)
-			PlaceSprite(100, 260, sprAmGirder, 3, lfNormal)
-			PlaceSprite(179, 330, sprAmGirder, 2, lfNormal)
-			PlaceSprite(249, 544, sprAmGirder, 4, lfNormal)
-			PlaceSprite(410, 545, sprAmGirder, 4, lfNormal)
-			PlaceSprite(571, 543, sprAmGirder, 4, lfNormal)
-			PlaceSprite(731, 543, sprAmGirder, 4, lfNormal)
-			PlaceSprite(891, 544, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1014, 544, sprAmGirder, 0, lfNormal)
-			PlaceSprite(1779, 1321, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1779, 1159, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1779, 997, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1779, 836, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1722, 684, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1137, 545, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1298, 545, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1460, 546, sprAmGirder, 4, lfNormal)
-			PlaceSprite(1608, 600, sprAmGirder, 5, lfNormal)
-			PlaceSprite(1508, 1005, sprAmGirder, 4, lfNormal)
-			PlaceSprite(160, 246, sprAmGirder, 1, lfNormal)
-			PlaceSprite(1821, 1356, sprAmGirder, 3, lfNormal)
-			PlaceSprite(1938, 1323, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2086, 1381, sprAmGirder, 5, lfNormal)
-			PlaceSprite(4004, 2018, sprAmGirder, 4, lfNormal)
-			PlaceSprite(3934, 1926, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3965, 1835, sprAmGirder, 0, lfNormal)
-			PlaceSprite(4015, 1763, sprAmGirder, 6, lfNormal)
-			PlaceSprite(4015, 1603, sprAmGirder, 6, lfNormal)
-			PlaceSprite(4015, 1442, sprAmGirder, 6, lfNormal)
-			PlaceSprite(4015, 1280, sprAmGirder, 6, lfNormal)
-			PlaceSprite(4014, 1118, sprAmGirder, 6, lfNormal)
-			PlaceSprite(4014, 956, sprAmGirder, 6, lfNormal)
-			PlaceSprite(4014, 793, sprAmGirder, 6, lfNormal)
-			PlaceSprite(4014, 632, sprAmGirder, 6, lfNormal)
-			PlaceSprite(4014, 469, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3981, 351, sprAmGirder, 1, lfNormal)
-			PlaceSprite(3985, 204, sprAmGirder, 3, lfNormal)
-			PlaceSprite(4045, 156, sprAmGirder, 0, lfNormal)
-			PlaceSprite(3667, 344, sprAmGirder, 0, lfNormal)
-			PlaceSprite(4016, 1925, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3998, 1926, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3980, 1925, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3957, 1926, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3843, 1832, sprAmGirder, 4, lfNormal)
-			PlaceSprite(3682, 1832, sprAmGirder, 4, lfNormal)
-			PlaceSprite(3561, 1833, sprAmGirder, 0, lfNormal)
-			PlaceSprite(3484, 1796, sprAmGirder, 1, lfNormal)
-			PlaceSprite(3455, 1675, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3455, 1513, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3455, 1351, sprAmGirder, 6, lfNormal)
-			PlaceSprite(1601, 476, sprAmGirder, 7, lfNormal)
-			PlaceSprite(1706, 421, sprAmGirder, 0, lfNormal)
-			PlaceSprite(1888, 366, sprAmGirder, 6, lfNormal)
+			PlaceSprite(3334, 1481, sprAmGirder, 6)
+			PlaceSprite(3334, 1643, sprAmGirder, 6)
+			PlaceSprite(3334, 1804, sprAmGirder, 6)
+			PlaceSprite(3403, 1940, sprAmGirder, 5)
+			PlaceSprite(1120, 944, sprAmGirder, 2)
+			PlaceSprite(1163, 945, sprAmGirder, 2)
+			PlaceSprite(1141, 781, sprAmGirder, 5)
+			PlaceSprite(81, 629, sprAmGirder, 1)
+			PlaceSprite(102, 498, sprAmGirder, 3)
+			PlaceSprite(81, 373, sprAmGirder, 1)
+			PlaceSprite(179, 453, sprAmGirder, 6)
+			PlaceSprite(100, 260, sprAmGirder, 3)
+			PlaceSprite(179, 330, sprAmGirder, 2)
+			PlaceSprite(249, 544, sprAmGirder, 4)
+			PlaceSprite(410, 545, sprAmGirder, 4)
+			PlaceSprite(571, 543, sprAmGirder, 4)
+			PlaceSprite(731, 543, sprAmGirder, 4)
+			PlaceSprite(891, 544, sprAmGirder, 4)
+			PlaceSprite(1014, 544, sprAmGirder, 0)
+			PlaceSprite(1779, 1321, sprAmGirder, 6)
+			PlaceSprite(1779, 1159, sprAmGirder, 6)
+			PlaceSprite(1779, 997, sprAmGirder, 6)
+			PlaceSprite(1779, 836, sprAmGirder, 6)
+			PlaceSprite(1722, 684, sprAmGirder, 5)
+			PlaceSprite(1137, 545, sprAmGirder, 4)
+			PlaceSprite(1298, 545, sprAmGirder, 4)
+			PlaceSprite(1460, 546, sprAmGirder, 4)
+			PlaceSprite(1608, 600, sprAmGirder, 5)
+			PlaceSprite(1508, 1005, sprAmGirder, 4)
+			PlaceSprite(160, 246, sprAmGirder, 1)
+			PlaceSprite(1821, 1356, sprAmGirder, 3)
+			PlaceSprite(1938, 1323, sprAmGirder, 4)
+			PlaceSprite(2086, 1381, sprAmGirder, 5)
+			PlaceSprite(4004, 2018, sprAmGirder, 4)
+			PlaceSprite(3934, 1926, sprAmGirder, 6)
+			PlaceSprite(3965, 1835, sprAmGirder, 0)
+			PlaceSprite(4015, 1763, sprAmGirder, 6)
+			PlaceSprite(4015, 1603, sprAmGirder, 6)
+			PlaceSprite(4015, 1442, sprAmGirder, 6)
+			PlaceSprite(4015, 1280, sprAmGirder, 6)
+			PlaceSprite(4014, 1118, sprAmGirder, 6)
+			PlaceSprite(4014, 956, sprAmGirder, 6)
+			PlaceSprite(4014, 793, sprAmGirder, 6)
+			PlaceSprite(4014, 632, sprAmGirder, 6)
+			PlaceSprite(4014, 469, sprAmGirder, 6)
+			PlaceSprite(3981, 351, sprAmGirder, 1)
+			PlaceSprite(3985, 204, sprAmGirder, 3)
+			PlaceSprite(4045, 156, sprAmGirder, 0)
+			PlaceSprite(3667, 344, sprAmGirder, 0)
+			PlaceSprite(4016, 1925, sprAmGirder, 6)
+			PlaceSprite(3998, 1926, sprAmGirder, 6)
+			PlaceSprite(3980, 1925, sprAmGirder, 6)
+			PlaceSprite(3957, 1926, sprAmGirder, 6)
+			PlaceSprite(3843, 1832, sprAmGirder, 4)
+			PlaceSprite(3682, 1832, sprAmGirder, 4)
+			PlaceSprite(3561, 1833, sprAmGirder, 0)
+			PlaceSprite(3484, 1796, sprAmGirder, 1)
+			PlaceSprite(3455, 1675, sprAmGirder, 6)
+			PlaceSprite(3455, 1513, sprAmGirder, 6)
+			PlaceSprite(3455, 1351, sprAmGirder, 6)
+			PlaceSprite(1601, 476, sprAmGirder, 7)
+			PlaceSprite(1706, 421, sprAmGirder, 0)
+			PlaceSprite(1888, 366, sprAmGirder, 6)
 
-			PlaceSprite(3997, 1743, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3979, 1742, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3962, 1741, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3943, 1741, sprAmGirder, 6, lfNormal)
-			PlaceSprite(2199, 393, sprAmGirder, 7, lfNormal)
-			PlaceSprite(2304, 337, sprAmGirder, 0, lfNormal)
-			PlaceSprite(2409, 392, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2470, 502, sprAmGirder, 2, lfNormal)
-			PlaceSprite(2412, 606, sprAmGirder, 7, lfNormal)
-			PlaceSprite(2308, 673, sprAmGirder, 0, lfNormal)
-			PlaceSprite(2202, 612, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2138, 507, sprAmGirder, 2, lfNormal)
-			PlaceSprite(2739, 378, sprAmGirder, 7, lfNormal)
-			PlaceSprite(2847, 322, sprAmGirder, 0, lfNormal)
-			PlaceSprite(2953, 378, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2680, 489, sprAmGirder, 2, lfNormal)
-			PlaceSprite(3012, 489, sprAmGirder, 2, lfNormal)
-			PlaceSprite(2736, 594, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2841, 657, sprAmGirder, 0, lfNormal)
-			PlaceSprite(2949, 594, sprAmGirder, 7, lfNormal)
-			PlaceSprite(2448, 837, sprAmGirder, 7, lfNormal)
-			PlaceSprite(2594, 779, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2739, 836, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2390, 950, sprAmGirder, 2, lfNormal)
-			PlaceSprite(2789, 950, sprAmGirder, 2, lfNormal)
-			PlaceSprite(2593, 904, sprAmGirder, 4, lfNormal)
-			PlaceSprite(2727, 1056, sprAmGirder, 7, lfNormal)
-			PlaceSprite(2452, 1058, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2510, 1215, sprAmGirder, 6, lfNormal)
-			PlaceSprite(2663, 1208, sprAmGirder, 6, lfNormal)
-			PlaceSprite(2510, 1378, sprAmGirder, 6, lfNormal)
-			PlaceSprite(2664, 1369, sprAmGirder, 6, lfNormal)
-			PlaceSprite(300, 275, sprAmGirder, 0, lfNormal)
-			PlaceSprite(439, 274, sprAmGirder, 0, lfNormal)
-			PlaceSprite(628, 273, sprAmGirder, 4, lfNormal)
-			PlaceSprite(811, 271, sprAmGirder, 0, lfNormal)
-			PlaceSprite(737, 373, sprAmGirder, 4, lfNormal)
-			PlaceSprite(934, 440, sprAmGirder, 0, lfNormal)
-			PlaceSprite(1075, 439, sprAmGirder, 0, lfNormal)
-			PlaceSprite(1209, 438, sprAmGirder, 0, lfNormal)
-			PlaceSprite(1383, 439, sprAmGirder, 4, lfNormal)
-			--PlaceSprite(2159, 1525, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3547, 344, sprAmGirder, 4, lfNormal)
-			PlaceSprite(3584, 254, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3508, 132, sprAmGirder, 5, lfNormal)
-			PlaceSprite(3335, 1117, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3335, 956, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3335, 795, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3335, 634, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3335, 513, sprAmGirder, 2, lfNormal)
-			PlaceSprite(3401, 404, sprAmGirder, 7, lfNormal)
-			PlaceSprite(3455, 1190, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3455, 1029, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3455, 868, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3455, 705, sprAmGirder, 6, lfNormal)
-			PlaceSprite(3455, 582, sprAmGirder, 2, lfNormal)
-			PlaceSprite(3485, 503, sprAmGirder, 3, lfNormal)
-			PlaceSprite(3601, 475, sprAmGirder, 4, lfNormal)
-			PlaceSprite(3719, 444, sprAmGirder, 3, lfNormal)
-			PlaceSprite(3094, 828, sprAmGirder, 5, lfNormal)
-			PlaceSprite(2064, 947, sprAmGirder, 7, lfNormal)
-			PlaceSprite(1826, 512, sprAmGirder, 7, lfNormal)
+			PlaceSprite(3997, 1743, sprAmGirder, 6)
+			PlaceSprite(3979, 1742, sprAmGirder, 6)
+			PlaceSprite(3962, 1741, sprAmGirder, 6)
+			PlaceSprite(3943, 1741, sprAmGirder, 6)
+			PlaceSprite(2199, 393, sprAmGirder, 7)
+			PlaceSprite(2304, 337, sprAmGirder, 0)
+			PlaceSprite(2409, 392, sprAmGirder, 5)
+			PlaceSprite(2470, 502, sprAmGirder, 2)
+			PlaceSprite(2412, 606, sprAmGirder, 7)
+			PlaceSprite(2308, 673, sprAmGirder, 0)
+			PlaceSprite(2202, 612, sprAmGirder, 5)
+			PlaceSprite(2138, 507, sprAmGirder, 2)
+			PlaceSprite(2739, 378, sprAmGirder, 7)
+			PlaceSprite(2847, 322, sprAmGirder, 0)
+			PlaceSprite(2953, 378, sprAmGirder, 5)
+			PlaceSprite(2680, 489, sprAmGirder, 2)
+			PlaceSprite(3012, 489, sprAmGirder, 2)
+			PlaceSprite(2736, 594, sprAmGirder, 5)
+			PlaceSprite(2841, 657, sprAmGirder, 0)
+			PlaceSprite(2949, 594, sprAmGirder, 7)
+			PlaceSprite(2448, 837, sprAmGirder, 7)
+			PlaceSprite(2594, 779, sprAmGirder, 4)
+			PlaceSprite(2739, 836, sprAmGirder, 5)
+			PlaceSprite(2390, 950, sprAmGirder, 2)
+			PlaceSprite(2789, 950, sprAmGirder, 2)
+			PlaceSprite(2593, 904, sprAmGirder, 4)
+			PlaceSprite(2727, 1056, sprAmGirder, 7)
+			PlaceSprite(2452, 1058, sprAmGirder, 5)
+			PlaceSprite(2510, 1215, sprAmGirder, 6)
+			PlaceSprite(2663, 1208, sprAmGirder, 6)
+			PlaceSprite(2510, 1378, sprAmGirder, 6)
+			PlaceSprite(2664, 1369, sprAmGirder, 6)
+			PlaceSprite(300, 275, sprAmGirder, 0)
+			PlaceSprite(439, 274, sprAmGirder, 0)
+			PlaceSprite(628, 273, sprAmGirder, 4)
+			PlaceSprite(811, 271, sprAmGirder, 0)
+			PlaceSprite(737, 373, sprAmGirder, 4)
+			PlaceSprite(934, 440, sprAmGirder, 0)
+			PlaceSprite(1075, 439, sprAmGirder, 0)
+			PlaceSprite(1209, 438, sprAmGirder, 0)
+			PlaceSprite(1383, 439, sprAmGirder, 4)
+			--PlaceSprite(2159, 1525, sprAmGirder, 6)
+			PlaceSprite(3547, 344, sprAmGirder, 4)
+			PlaceSprite(3584, 254, sprAmGirder, 6)
+			PlaceSprite(3508, 132, sprAmGirder, 5)
+			PlaceSprite(3335, 1117, sprAmGirder, 6)
+			PlaceSprite(3335, 956, sprAmGirder, 6)
+			PlaceSprite(3335, 795, sprAmGirder, 6)
+			PlaceSprite(3335, 634, sprAmGirder, 6)
+			PlaceSprite(3335, 513, sprAmGirder, 2)
+			PlaceSprite(3401, 404, sprAmGirder, 7)
+			PlaceSprite(3455, 1190, sprAmGirder, 6)
+			PlaceSprite(3455, 1029, sprAmGirder, 6)
+			PlaceSprite(3455, 868, sprAmGirder, 6)
+			PlaceSprite(3455, 705, sprAmGirder, 6)
+			PlaceSprite(3455, 582, sprAmGirder, 2)
+			PlaceSprite(3485, 503, sprAmGirder, 3)
+			PlaceSprite(3601, 475, sprAmGirder, 4)
+			PlaceSprite(3719, 444, sprAmGirder, 3)
+			PlaceSprite(3094, 828, sprAmGirder, 5)
+			PlaceSprite(2064, 947, sprAmGirder, 7)
+			PlaceSprite(1826, 512, sprAmGirder, 7)
 
-			PlaceSprite(3420, 49, sprAmGirder, 1, lfNormal)
-			PlaceSprite(410, 682, sprAmGirder, 3, lfNormal)
-			PlaceSprite(528, 653, sprAmGirder, 4, lfNormal)
-			PlaceSprite(688, 653, sprAmGirder, 4, lfNormal)
-			PlaceSprite(805, 684, sprAmGirder, 1, lfNormal)
-			PlaceSprite(528, 672, sprAmGirder, 4, lfNormal)
-			PlaceSprite(688, 672, sprAmGirder, 4, lfNormal)
-			PlaceSprite(500, 696, sprAmGirder, 4, lfNormal)
-			PlaceSprite(701, 696, sprAmGirder, 4, lfNormal)
+			PlaceSprite(3420, 49, sprAmGirder, 1)
+			PlaceSprite(410, 682, sprAmGirder, 3)
+			PlaceSprite(528, 653, sprAmGirder, 4)
+			PlaceSprite(688, 653, sprAmGirder, 4)
+			PlaceSprite(805, 684, sprAmGirder, 1)
+			PlaceSprite(528, 672, sprAmGirder, 4)
+			PlaceSprite(688, 672, sprAmGirder, 4)
+			PlaceSprite(500, 696, sprAmGirder, 4)
+			PlaceSprite(701, 696, sprAmGirder, 4)
 
 			------ AMMO CRATE LIST ------
 			tempG = SpawnAmmoCrate(889, 1126, amBaseballBat)