share/hedgewars/Data/Scripts/Multiplayer/HedgeEditor.lua
changeset 13125 c8c8f856e236
parent 13033 a823de31240e
child 13126 b1de2f84e130
equal deleted inserted replaced
13124:991db8fc45eb 13125:c8c8f856e236
   567 
   567 
   568  local reducedSpriteIDArray = {
   568  local reducedSpriteIDArray = {
   569   sprTargetBee, sprAmGirder, sprAmRubber, sprIceTexture, sprHHTelepMask,
   569   sprTargetBee, sprAmGirder, sprAmRubber, sprIceTexture, sprHHTelepMask,
   570   sprAMAmmos, sprAMAmmosBW, sprAMSlot, sprAMCorners, sprTurnsLeft, sprBotlevels,
   570   sprAMAmmos, sprAMAmmosBW, sprAMSlot, sprAMCorners, sprTurnsLeft, sprBotlevels,
   571   sprSpeechCorner, sprSpeechEdge, sprSpeechTail, sprThoughtCorner, sprThoughtEdge, sprThoughtTail,
   571   sprSpeechCorner, sprSpeechEdge, sprSpeechTail, sprThoughtCorner, sprThoughtEdge, sprThoughtTail,
   572   sprShoutCorner, sprShoutEdge, sprShoutTail, sprCustom1, sprCustom2, }
   572   sprShoutCorner, sprShoutEdge, sprShoutTail, }
   573 
   573 
   574  -- Set in onGameInit
   574  -- Set in onGameInit
   575  local reducedSpriteIDArrayFrames
   575  local reducedSpriteIDArrayFrames
   576 
   576 
   577  local reducedSpriteTextArray = {
   577  local reducedSpriteTextArray = {
   578   "sprTargetBee", "sprAmGirder", "sprAmRubber", "sprIceTexture", "sprHHTelepMask",
   578   "sprTargetBee", "sprAmGirder", "sprAmRubber", "sprIceTexture", "sprHHTelepMask",
   579   "sprAMAmmos", "sprAMAmmosBW", "sprAMSlot",  "sprAMCorners", "sprTurnsLeft", "sprBotlevels",
   579   "sprAMAmmos", "sprAMAmmosBW", "sprAMSlot",  "sprAMCorners", "sprTurnsLeft", "sprBotlevels",
   580   "sprSpeechCorner", "sprSpeechEdge", "sprSpeechTail", "sprThoughtCorner", "sprThoughtEdge", "sprThoughtTail",
   580   "sprSpeechCorner", "sprSpeechEdge", "sprSpeechTail", "sprThoughtCorner", "sprThoughtEdge", "sprThoughtTail",
   581   "sprShoutCorner", "sprShoutEdge", "sprShoutTail", "sprCustom1", "sprCustom2", }
   581   "sprShoutCorner", "sprShoutEdge", "sprShoutTail", }
   582 
   582 
   583 ----------------------------
   583 ----------------------------
   584 -- placement shite
   584 -- placement shite
   585 ----------------------------
   585 ----------------------------
   586 
   586 
   591 mapID = 1
   591 mapID = 1
   592 local portalDistance = 5000/5
   592 local portalDistance = 5000/5
   593 local helpDisabled = false  --determines whether help popups pop up
   593 local helpDisabled = false  --determines whether help popups pop up
   594 local CG = nil -- this is the visual gear displayed at CursorX, CursorY
   594 local CG = nil -- this is the visual gear displayed at CursorX, CursorY
   595 local crateSprite = nil-- this is a visual gear aid for crate placement
   595 local crateSprite = nil-- this is a visual gear aid for crate placement
   596 local tSpr = {}
   596 local crateSpriteBorer = nil
   597 
   597 
   598 local cGear = nil -- detects placement of girders and objects (using airattack)
   598 local cGear = nil -- detects placement of girders and objects (using airattack)
   599 local curWep = amNothing
   599 local curWep = amNothing
   600 local leftHeld = false
   600 local leftHeld = false
   601 local rightHeld = false
   601 local rightHeld = false
  2848 function HandleHedgeEditor()
  2848 function HandleHedgeEditor()
  2849 	if CurrentHedgehog ~= nil then
  2849 	if CurrentHedgehog ~= nil then
  2850 
  2850 
  2851 		genTimer = genTimer + 1
  2851 		genTimer = genTimer + 1
  2852 
  2852 
  2853 
       
  2854 		tSprCol = 0x00000000
  2853 		tSprCol = 0x00000000
  2855 		tempFrame = 0
  2854 		tempFrame = 0
  2856 		xDisplacement = 42
  2855 		xDisplacement = 42
  2857 		yDisplacement = 42
  2856 		yDisplacement = 42
  2858 
  2857 
  2861 			--wowaweewa, holyeeeee shite this is badly hacked (please rewrite when less lazy/morefeatures)
  2860 			--wowaweewa, holyeeeee shite this is badly hacked (please rewrite when less lazy/morefeatures)
  2862 			dCol = 0xFFFFFFFF
  2861 			dCol = 0xFFFFFFFF
  2863 			dFrame = 0
  2862 			dFrame = 0
  2864 			dAngle = 0
  2863 			dAngle = 0
  2865 			if (cat[cIndex] == loc("Mine Placement Mode")) then
  2864 			if (cat[cIndex] == loc("Mine Placement Mode")) then
  2866 				dSprite = sprBotlevels--sprMineOff
  2865 				dSprite = sprCustom2
  2867 				dFrame = 1
       
  2868 			elseif (cat[cIndex] == loc("Dud Mine Placement Mode")) then
  2866 			elseif (cat[cIndex] == loc("Dud Mine Placement Mode")) then
  2869 				dSprite = sprBotlevels--sprMineDead
  2867 				dSprite = sprCustom4
  2870 				dFrame = 3
       
  2871 			elseif (cat[cIndex] == loc("Sticky Mine Placement Mode")) then
  2868 			elseif (cat[cIndex] == loc("Sticky Mine Placement Mode")) then
  2872 				dSprite = sprBotlevels--sprSMineOff
  2869 				dSprite = sprCustom3
  2873 				dFrame = 2
       
  2874 			elseif (cat[cIndex] == loc("Air Mine Placement Mode")) then
  2870 			elseif (cat[cIndex] == loc("Air Mine Placement Mode")) then
  2875 				dSprite = sprAirMine
  2871 				dSprite = sprAirMine
  2876 			elseif (cat[cIndex] == loc("Barrel Placement Mode")) then
  2872 			elseif (cat[cIndex] == loc("Barrel Placement Mode")) then
  2877 				dSprite = sprExplosives
  2873 				dSprite = sprExplosives
  2878 			elseif (cat[cIndex] == loc("Health Crate Placement Mode")) then
  2874 			elseif (cat[cIndex] == loc("Health Crate Placement Mode")) then
  2905 
  2901 
  2906 
  2902 
  2907 
  2903 
  2908 			if crateSprite == nil then
  2904 			if crateSprite == nil then
  2909 				crateSprite = AddVisualGear(CursorX, CursorY-35, vgtStraightShot,0,true,3)
  2905 				crateSprite = AddVisualGear(CursorX, CursorY-35, vgtStraightShot,0,true,3)
  2910 				for i = 1, 4 do
  2906 				crateSpriteBorder = AddVisualGear(CursorX, CursorY-35, vgtStraightShot,0,true,3)
  2911 					tSpr[i] = AddVisualGear(CursorX, CursorY-35, vgtStraightShot,0,true,3)
       
  2912 				end
       
  2913 			end
  2907 			end
  2914 
  2908 
  2915 
  2909 
  2916 			if (cat[cIndex] == loc("Weapon Crate Placement Mode")) or (cat[cIndex] == loc("Utility Crate Placement Mode")) then
  2910 			if (cat[cIndex] == loc("Weapon Crate Placement Mode")) or (cat[cIndex] == loc("Utility Crate Placement Mode")) then
  2917 				if (cat[cIndex] == loc("Weapon Crate Placement Mode")) then
  2911 				if (cat[cIndex] == loc("Weapon Crate Placement Mode")) then
  2936 				SetVisualGearValues(CG, 0, 0, 0, 0, 0, 0, 1000, sprArrow, 1000, 0xFFFFFF00)
  2930 				SetVisualGearValues(CG, 0, 0, 0, 0, 0, 0, 1000, sprArrow, 1000, 0xFFFFFF00)
  2937 			end
  2931 			end
  2938 		end
  2932 		end
  2939 
  2933 
  2940 		SetVisualGearValues(crateSprite, CursorX+xDisplacement, CursorY+yDisplacement, 0, 0, dAngle, tempFrame, 1000, sprAMAmmos, 1000, tSprCol)
  2934 		SetVisualGearValues(crateSprite, CursorX+xDisplacement, CursorY+yDisplacement, 0, 0, dAngle, tempFrame, 1000, sprAMAmmos, 1000, tSprCol)
  2941 		SetVisualGearValues(tSpr[1], CursorX+xDisplacement-2, CursorY+yDisplacement-2, 0, 0, dAngle, 1, 1000, sprTarget, 1000, tSprCol)
  2935 		SetVisualGearValues(crateSpriteBorder, CursorX+xDisplacement, CursorY+yDisplacement, 0, 0, 0, 0, 1000, sprCustom1, 1000, tSprCol)
  2942 		SetVisualGearValues(tSpr[2], CursorX+xDisplacement-2, CursorY+yDisplacement+2, 0, 0, dAngle, 1, 1000, sprTarget, 1000, tSprCol)
       
  2943 		SetVisualGearValues(tSpr[3], CursorX+xDisplacement+2, CursorY+yDisplacement-2, 0, 0, dAngle, 1, 1000, sprTarget, 1000, tSprCol)
       
  2944 		SetVisualGearValues(tSpr[4], CursorX+xDisplacement+2, CursorY+yDisplacement+2, 0, 0, dAngle, 1, 1000, sprTarget, 1000, tSprCol)
       
  2945 
       
  2946 
  2936 
  2947 		if genTimer >= 100 then
  2937 		if genTimer >= 100 then
  2948 
  2938 
  2949 			genTimer = 0
  2939 			genTimer = 0
  2950 
  2940