share/hedgewars/Data/Scripts/Animate.lua
changeset 12594 d8adae379d3c
parent 12088 1da37e2ba6fd
child 12778 cb29ec085767
equal deleted inserted replaced
12590:b4b5484be651 12594:d8adae379d3c
     3 local needtoDecrease
     3 local needtoDecrease
     4 local AnimList, AnimListNum
     4 local AnimList, AnimListNum
     5 local FunctionList, FunctionListNum
     5 local FunctionList, FunctionListNum
     6 local skipFuncList
     6 local skipFuncList
     7 local skipping
     7 local skipping
       
     8 local baseInputMask = 0xFFFFFFFF
       
     9 local extraInputMask = baseInputMask
     8 --------------------------------Animation---------------------------------
    10 --------------------------------Animation---------------------------------
     9 --------------------------(In-game cinematics)----------------------------
    11 --------------------------(In-game cinematics)----------------------------
    10 
    12 
    11 function AddSkipFunction(anim, func, args)
    13 function AddSkipFunction(anim, func, args)
    12   skipFuncList[anim] = {sfunc = func, sargs = args}
    14   skipFuncList[anim] = {sfunc = func, sargs = args}
    48   end
    50   end
    49   FunctionList[1].func(unpack(FunctionList[1].args))
    51   FunctionList[1].func(unpack(FunctionList[1].args))
    50   RemoveFunction()
    52   RemoveFunction()
    51 end
    53 end
    52 
    54 
       
    55 local function updateInputMask()
       
    56      SetInputMask(band(baseInputMask, extraInputMask))
       
    57 end
       
    58 
    53 local function startCinemaLock()
    59 local function startCinemaLock()
    54      SetCinematicMode(true)
    60      SetCinematicMode(true)
    55      SetInputMask(bnot(gmAnimate+gmAttack+gmDown+gmHJump+gmLeft+gmLJump+gmRight+gmSlot+gmSwitch+gmTimer+gmUp+gmWeapon))
    61      baseInputMask = bnot(gmAnimate+gmAttack+gmDown+gmHJump+gmLeft+gmLJump+gmRight+gmSlot+gmSwitch+gmTimer+gmUp+gmWeapon)
       
    62      updateInputMask()
    56 end
    63 end
    57 
    64 
    58 local function stopCinemaLock()
    65 local function stopCinemaLock()
    59      SetInputMask(0xFFFFFFFF)
    66      baseInputMask = 0xFFFFFFFF
       
    67      updateInputMask()
    60      SetCinematicMode(false)
    68      SetCinematicMode(false)
       
    69 end
       
    70 
       
    71 function AnimSetInputMask(newExtraInputMask)
       
    72      extraInputMask = newExtraInputMask
       
    73      updateInputMask()
    61 end
    74 end
    62 
    75 
    63 function AnimInit(startAnimating)
    76 function AnimInit(startAnimating)
    64   lastx = 0
    77   lastx = 0
    65   lasty = 0
    78   lasty = 0