share/hedgewars/Data/Scripts/Multiplayer/HedgeEditor.lua
changeset 13665 5664650befcd
parent 13664 85506d95977d
child 13687 a8b2a5e7e9db
equal deleted inserted replaced
13664:85506d95977d 13665:5664650befcd
   776 			portalDistance = div(specialPointsX[i],5)
   776 			portalDistance = div(specialPointsX[i],5)
   777 			ufoFuel = specialPointsY[i]
   777 			ufoFuel = specialPointsY[i]
   778 
   778 
   779 		-- Normal Girders
   779 		-- Normal Girders
   780 		elseif specialPointsFlag[i] == 100 then
   780 		elseif specialPointsFlag[i] == 100 then
   781 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 0, 4294967295, nil, nil, nil, lfNormal)
   781 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 0, U_LAND_TINT_NORMAL, nil, nil, nil, lfNormal)
   782 		elseif specialPointsFlag[i] == 101 then
   782 		elseif specialPointsFlag[i] == 101 then
   783 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 1, 4294967295, nil, nil, nil, lfNormal)
   783 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 1, U_LAND_TINT_NORMAL, nil, nil, nil, lfNormal)
   784 		elseif specialPointsFlag[i] == 102 then
   784 		elseif specialPointsFlag[i] == 102 then
   785 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 2, 4294967295, nil, nil, nil, lfNormal)
   785 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 2, U_LAND_TINT_NORMAL, nil, nil, nil, lfNormal)
   786 		elseif specialPointsFlag[i] == 103 then
   786 		elseif specialPointsFlag[i] == 103 then
   787 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 3, 4294967295, nil, nil, nil, lfNormal)
   787 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 3, U_LAND_TINT_NORMAL, nil, nil, nil, lfNormal)
   788 		elseif specialPointsFlag[i] == 104 then
   788 		elseif specialPointsFlag[i] == 104 then
   789 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 4, 4294967295, nil, nil, nil, lfNormal)
   789 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 4, U_LAND_TINT_NORMAL, nil, nil, nil, lfNormal)
   790 		elseif specialPointsFlag[i] == 105 then
   790 		elseif specialPointsFlag[i] == 105 then
   791 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 5, 4294967295, nil, nil, nil, lfNormal)
   791 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 5, U_LAND_TINT_NORMAL, nil, nil, nil, lfNormal)
   792 		elseif specialPointsFlag[i] == 106 then
   792 		elseif specialPointsFlag[i] == 106 then
   793 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 6, 4294967295, nil, nil, nil, lfNormal)
   793 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 6, U_LAND_TINT_NORMAL, nil, nil, nil, lfNormal)
   794 		elseif specialPointsFlag[i] == 107 then
   794 		elseif specialPointsFlag[i] == 107 then
   795 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 7, 4294967295, nil, nil, nil, lfNormal)
   795 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 7, U_LAND_TINT_NORMAL, nil, nil, nil, lfNormal)
   796 
   796 
   797 		-- Invulnerable Girders
   797 		-- Invulnerable Girders
   798 		elseif specialPointsFlag[i] == 108 then
   798 		elseif specialPointsFlag[i] == 108 then
   799 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 0, 2516582650, nil, nil, nil, lfIndestructible)
   799 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 0, U_LAND_TINT_INDESTRUCTIBLE, nil, nil, nil, lfIndestructible)
   800 		elseif specialPointsFlag[i] == 109 then
   800 		elseif specialPointsFlag[i] == 109 then
   801 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 1, 2516582650, nil, nil, nil, lfIndestructible)
   801 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 1, U_LAND_TINT_INDESTRUCTIBLE, nil, nil, nil, lfIndestructible)
   802 		elseif specialPointsFlag[i] == 110 then
   802 		elseif specialPointsFlag[i] == 110 then
   803 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 2, 2516582650, nil, nil, nil, lfIndestructible)
   803 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 2, U_LAND_TINT_INDESTRUCTIBLE, nil, nil, nil, lfIndestructible)
   804 		elseif specialPointsFlag[i] == 111 then
   804 		elseif specialPointsFlag[i] == 111 then
   805 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 3, 2516582650, nil, nil, nil, lfIndestructible)
   805 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 3, U_LAND_TINT_INDESTRUCTIBLE, nil, nil, nil, lfIndestructible)
   806 		elseif specialPointsFlag[i] == 112 then
   806 		elseif specialPointsFlag[i] == 112 then
   807 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 4, 2516582650, nil, nil, nil, lfIndestructible)
   807 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 4, U_LAND_TINT_INDESTRUCTIBLE, nil, nil, nil, lfIndestructible)
   808 		elseif specialPointsFlag[i] == 113 then
   808 		elseif specialPointsFlag[i] == 113 then
   809 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 5, 2516582650, nil, nil, nil, lfIndestructible)
   809 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 5, U_LAND_TINT_INDESTRUCTIBLE, nil, nil, nil, lfIndestructible)
   810 		elseif specialPointsFlag[i] == 114 then
   810 		elseif specialPointsFlag[i] == 114 then
   811 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 6, 2516582650, nil, nil, nil, lfIndestructible)
   811 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 6, U_LAND_TINT_INDESTRUCTIBLE, nil, nil, nil, lfIndestructible)
   812 		elseif specialPointsFlag[i] == 115 then
   812 		elseif specialPointsFlag[i] == 115 then
   813 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 7, 2516582650, nil, nil, nil, lfIndestructible)
   813 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 7, U_LAND_TINT_INDESTRUCTIBLE, nil, nil, nil, lfIndestructible)
   814 
   814 
   815 		-- Icy Girders
   815 		-- Icy Girders
   816 		elseif specialPointsFlag[i] == 116 then
   816 		elseif specialPointsFlag[i] == 116 then
   817 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 0, 16448250, nil, nil, nil, lfIce)
   817 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 0, U_LAND_TINT_ICE, nil, nil, nil, lfIce)
   818 		elseif specialPointsFlag[i] == 117 then
   818 		elseif specialPointsFlag[i] == 117 then
   819 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 1, 16448250, nil, nil, nil, lfIce)
   819 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 1, U_LAND_TINT_ICE, nil, nil, nil, lfIce)
   820 		elseif specialPointsFlag[i] == 118 then
   820 		elseif specialPointsFlag[i] == 118 then
   821 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 2, 16448250, nil, nil, nil, lfIce)
   821 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 2, U_LAND_TINT_ICE, nil, nil, nil, lfIce)
   822 		elseif specialPointsFlag[i] == 119 then
   822 		elseif specialPointsFlag[i] == 119 then
   823 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 3, 16448250, nil, nil, nil, lfIce)
   823 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 3, U_LAND_TINT_ICE, nil, nil, nil, lfIce)
   824 		elseif specialPointsFlag[i] == 120 then
   824 		elseif specialPointsFlag[i] == 120 then
   825 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 4, 16448250, nil, nil, nil, lfIce)
   825 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 4, U_LAND_TINT_ICE, nil, nil, nil, lfIce)
   826 		elseif specialPointsFlag[i] == 121 then
   826 		elseif specialPointsFlag[i] == 121 then
   827 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 5, 16448250, nil, nil, nil, lfIce)
   827 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 5, U_LAND_TINT_ICE, nil, nil, nil, lfIce)
   828 		elseif specialPointsFlag[i] == 121 then
   828 		elseif specialPointsFlag[i] == 121 then
   829 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 6, 16448250, nil, nil, nil, lfIce)
   829 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 6, U_LAND_TINT_ICE, nil, nil, nil, lfIce)
   830 		elseif specialPointsFlag[i] == 123 then
   830 		elseif specialPointsFlag[i] == 123 then
   831 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 7, 16448250, nil, nil, nil, lfIce)
   831 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmGirder, 7, U_LAND_TINT_ICE, nil, nil, nil, lfIce)
   832 
   832 
   833 		-- Rubber Bands
   833 		-- Rubber Bands
   834 		elseif specialPointsFlag[i] == 124 then
   834 		elseif specialPointsFlag[i] == 124 then
   835 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmRubber, 0, 4294967295, nil, nil, nil, lfBouncy)
   835 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmRubber, 0, U_LAND_TINT_NORMAL, nil, nil, nil, lfBouncy)
   836 		elseif specialPointsFlag[i] == 125 then
   836 		elseif specialPointsFlag[i] == 125 then
   837 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmRubber, 1, 4294967295, nil, nil, nil, lfBouncy)
   837 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmRubber, 1, U_LAND_TINT_NORMAL, nil, nil, nil, lfBouncy)
   838 		elseif specialPointsFlag[i] == 126 then
   838 		elseif specialPointsFlag[i] == 126 then
   839 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmRubber, 2, 4294967295, nil, nil, nil, lfBouncy)
   839 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmRubber, 2, U_LAND_TINT_NORMAL, nil, nil, nil, lfBouncy)
   840 		elseif specialPointsFlag[i] == 127 then
   840 		elseif specialPointsFlag[i] == 127 then
   841 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmRubber, 3, 4294967295, nil, nil, nil, lfBouncy)
   841 			PlaceSprite(specialPointsX[i], specialPointsY[i], sprAmRubber, 3, U_LAND_TINT_NORMAL, nil, nil, nil, lfBouncy)
   842 
   842 
   843 		-- Waypoints
   843 		-- Waypoints
   844 		else -- 0 / no value
   844 		else -- 0 / no value
   845 			PlaceWaypoint(specialPointsX[i],specialPointsY[i])
   845 			PlaceWaypoint(specialPointsX[i],specialPointsY[i])
   846 		end
   846 		end
   970 		silent = false
   970 		silent = false
   971 	end
   971 	end
   972 
   972 
   973 	if landType == lfIce then
   973 	if landType == lfIce then
   974 		placedLandFlags[pID] = "lfIce"
   974 		placedLandFlags[pID] = "lfIce"
   975 		placedTint[pID] = 250 + (250*0x100) + (250*0x10000) + (0*0x1000000) -- A BGR
   975 		placedTint[pID] = U_LAND_TINT_ICE
   976 	elseif landType == lfIndestructible then
   976 	elseif landType == lfIndestructible then
   977 		placedLandFlags[pID] = "lfIndestructible"
   977 		placedLandFlags[pID] = "lfIndestructible"
   978 		placedTint[pID] = 250 + (0*0x100) + (0*0x10000) + (150*0x1000000) -- A BGR
   978 		placedTint[pID] = U_LAND_TINT_INDESTRUCTIBLE
   979 	elseif landType == lfBouncy then
   979 	elseif landType == lfBouncy then
   980 		placedLandFlags[pID] = "lfBouncy"
   980 		placedLandFlags[pID] = "lfBouncy"
   981 		placedTint[pID] = 250 + (0*0x100) + (250*0x10000) + (0*0x1000000) -- A BGR
   981 		placedTint[pID] = U_LAND_TINT_BOUNCY
   982 	else
   982 	else
   983 		placedLandFlags[pID] = "lfNormal"
   983 		placedLandFlags[pID] = "lfNormal"
   984 		--placedTint[pID] = nil
   984 		placedTint[pID] = U_LAND_TINT_NORMAL
   985 		placedTint[pID] = 255 + (255*0x100) + (255*0x10000) + (255*0x1000000) -- A BGR
       
   986 	end
   985 	end
   987 
   986 
   988 	-- Special case: Placing amAirAttack of the ammos sprite (since this one is overwritten)
   987 	-- Special case: Placing amAirAttack of the ammos sprite (since this one is overwritten)
   989 	local actualDisplayedImage = placedFrame[pID]
   988 	local actualDisplayedImage = placedFrame[pID]
   990 	if (placedSprite[pID] == sprAMAmmos or placedSprite[pID] == sprAMAmmosBW) and (actualDisplayedImage == (amAirAttack - 1)) then
   989 	if (placedSprite[pID] == sprAMAmmos or placedSprite[pID] == sprAMAmmosBW) and (actualDisplayedImage == (amAirAttack - 1)) then
  1145 			placedFrame[placedCount] = CGR
  1144 			placedFrame[placedCount] = CGR
  1146 			placedSprite[placedCount] = sprAmRubber
  1145 			placedSprite[placedCount] = sprAmRubber
  1147 
  1146 
  1148 			--new ermagerd
  1147 			--new ermagerd
  1149 			placedLandFlags[placedCount] = "lfBouncy"
  1148 			placedLandFlags[placedCount] = "lfBouncy"
  1150 			placedTint[placedCount] = 255 + (255*0x100) + (255*0x10000) + (255*0x1000000) -- A BGR
  1149 			placedTint[placedCount] = U_LAND_TINT_NORMAL
  1151 			placementSucceeded = PlaceSprite(placedX[placedCount], placedY[placedCount], placedSprite[placedCount], placedFrame[placedCount],
  1150 			placementSucceeded = PlaceSprite(placedX[placedCount], placedY[placedCount], placedSprite[placedCount], placedFrame[placedCount],
  1152 				placedTint[placedCount],
  1151 				placedTint[placedCount],
  1153 				nil,
  1152 				nil,
  1154 				nil, nil,
  1153 				nil, nil,
  1155 				landType)
  1154 				landType)
  2005 
  2004 
  2006 	WriteLnToConsole("")
  2005 	WriteLnToConsole("")
  2007 
  2006 
  2008 	WriteLnToConsole("HedgewarsScriptLoad(\"/Scripts/Locale.lua\")")
  2007 	WriteLnToConsole("HedgewarsScriptLoad(\"/Scripts/Locale.lua\")")
  2009 	WriteLnToConsole("HedgewarsScriptLoad(\"/Scripts/Tracker.lua\")")
  2008 	WriteLnToConsole("HedgewarsScriptLoad(\"/Scripts/Tracker.lua\")")
       
  2009 	WriteLnToConsole("HedgewarsScriptLoad(\"/Scripts/Utils.lua\")")
  2010 
  2010 
  2011 	WriteLnToConsole("")
  2011 	WriteLnToConsole("")
  2012 	WriteLnToConsole("local hhs = {}")
  2012 	WriteLnToConsole("local hhs = {}")
  2013 	WriteLnToConsole("")
  2013 	WriteLnToConsole("")
  2014 
  2014 
  2080 			table.insert(hFlagList, "	" .. placedX[i] .. " " .. placedY[i] .. " " .. "0")
  2080 			table.insert(hFlagList, "	" .. placedX[i] .. " " .. placedY[i] .. " " .. "0")
  2081 			table.insert(previewDataList, "--	PreviewWayPoint(" .. placedX[i] ..", " ..	placedY[i] .. ")")
  2081 			table.insert(previewDataList, "--	PreviewWayPoint(" .. placedX[i] ..", " ..	placedY[i] .. ")")
  2082 		end
  2082 		end
  2083 	end
  2083 	end
  2084 
  2084 
       
  2085 	-- Helper table to convert tint color value to printable string
       
  2086 	local tint2String = {
       
  2087 		[U_LAND_TINT_INDESTRUCTIBLE] = "U_LAND_TINT_INDESTRUCTIBLE",
       
  2088 		[U_LAND_TINT_ICE] = "U_LAND_TINT_ICE",
       
  2089 		[U_LAND_TINT_BOUNCY] = "U_LAND_TINT_BOUNCY",
       
  2090 		[U_LAND_TINT_NORMAL] = "U_LAND_TINT_NORMAL",
       
  2091 	}
  2085 	for i = 0, (placedCount-1) do
  2092 	for i = 0, (placedCount-1) do
  2086 		if placedType[i] == loc("Girder Placement Mode") then
  2093 		if placedType[i] == loc("Girder Placement Mode") then
  2087 			table.insert(girderList,
  2094 			table.insert(girderList,
  2088 			"	LoadSprite(" ..
  2095 			"	LoadSprite(" ..
  2089 				placedX[i] ..", " ..
  2096 				placedX[i] ..", " ..
  2090 				placedY[i] ..", sprAmGirder, " ..
  2097 				placedY[i] ..", sprAmGirder, " ..
  2091 				placedFrame[i] ..			-- the rotation/frame
  2098 				placedFrame[i] ..			-- the rotation/frame
  2092 				", " ..
  2099 				", " ..
  2093 				placedTint[i] ..", " .. -- color
  2100 				tint2String[placedTint[i]] ..", " .. -- color
  2094 				"nil, nil, nil, " ..
  2101 				"nil, nil, nil, " ..
  2095 				placedLandFlags[i] .. ")" --the landType
  2102 				placedLandFlags[i] .. ")" --the landType
  2096 				)
  2103 				)
  2097 			table.insert(hFlagList, "	" .. placedX[i] .. " " .. placedY[i] .. " " .. placedHWMapFlag[i])
  2104 			table.insert(hFlagList, "	" .. placedX[i] .. " " .. placedY[i] .. " " .. placedHWMapFlag[i])
  2098 			table.insert(previewDataList, "	PreviewGirder(" .. placedX[i] ..", " ..	placedY[i] .. ", " .. placedFrame[i] .. ")")
  2105 			table.insert(previewDataList, "	PreviewGirder(" .. placedX[i] ..", " ..	placedY[i] .. ", " .. placedFrame[i] .. ")")
  2105 				"	LoadSprite(" ..
  2112 				"	LoadSprite(" ..
  2106 				placedX[i] ..", " ..
  2113 				placedX[i] ..", " ..
  2107 				placedY[i] ..", sprAmRubber, " ..
  2114 				placedY[i] ..", sprAmRubber, " ..
  2108 				placedFrame[i] ..
  2115 				placedFrame[i] ..
  2109 				", " ..
  2116 				", " ..
  2110 				placedTint[i] ..", " .. -- color
  2117 				tint2String[placedTint[i]] ..", " .. -- color
  2111 				"nil, nil, nil, " ..
  2118 				"nil, nil, nil, " ..
  2112 				"lfBouncy)" --the landType
  2119 				"lfBouncy)" --the landType
  2113 				)
  2120 				)
  2114 			table.insert(hFlagList, "	" .. placedX[i] .. " " .. placedY[i] .. " " .. placedHWMapFlag[i])
  2121 			table.insert(hFlagList, "	" .. placedX[i] .. " " .. placedY[i] .. " " .. placedHWMapFlag[i])
  2115 			table.insert(previewDataList, "	PreviewRubber(" .. placedX[i] ..", " ..	placedY[i] .. ", " .. placedFrame[i] .. ")")
  2122 			table.insert(previewDataList, "	PreviewRubber(" .. placedX[i] ..", " ..	placedY[i] .. ", " .. placedFrame[i] .. ")")
  2122 				"	LoadSprite(" ..
  2129 				"	LoadSprite(" ..
  2123 				placedX[i] ..", " ..
  2130 				placedX[i] ..", " ..
  2124 				placedY[i] ..", " .. placedSprite[i] .. ", " ..
  2131 				placedY[i] ..", " .. placedSprite[i] .. ", " ..
  2125 				placedFrame[i] .. -- I think this is the frame, can't remember
  2132 				placedFrame[i] .. -- I think this is the frame, can't remember
  2126 				", " ..
  2133 				", " ..
  2127 				placedTint[i] ..", " .. -- color
  2134 				tint2String[placedTint[i]] ..", " .. -- color
  2128 				"nil, nil, nil, " ..
  2135 				"nil, nil, nil, " ..
  2129 				placedLandFlags[i] .. ")" --the landType
  2136 				placedLandFlags[i] .. ")" --the landType
  2130 				)
  2137 				)
  2131 		end
  2138 		end
  2132 	end
  2139 	end