GE Lua Documentation

Press F to search!

upgradeAction

Definition


-- @/lua/ge/extensions/core/input/actions.lua:170

-- check if an action has been deprecated or replaced, and return the new version when possible
local function upgradeAction(action)
  if action == nil then
    log('E', 'bindings', "Cannot parse null action")
    return
  end
  if getActions(true)[action] == nil then
    if getActions(false)[action] ~= nil then
      -- ignoring action, as it's currently inactive
      return
    end

    if core_input_deprecatedActions[action] == nil then
      log('E', 'bindings', "Couldn't find action "..tostring(action).." in actions lookup table")
      return
    end

    if core_input_deprecatedActions[action]["replacement"] ~= nil then
      log('D', 'bindings', "Replacing deprecated action "..action.." with new action "..core_input_deprecatedActions[action]["replacement"]);
      return upgradeAction(core_input_deprecatedActions[action]["replacement"])
    end
    if core_input_deprecatedActions[action]["obsolete"] == true then
      log('D', 'bindings', "Ignoring deprecated action: "..action)
      return
    end
    log('E', 'bindings', "Couldn't process deprecated action "..action..": "..dumps(core_input_deprecatedActions[action]))
    return
  end
  return action
end

Callers

@/lua/ge/extensions/core/input/actions.lua
      log('D', 'bindings', "Replacing deprecated action "..action.." with new action "..core_input_deprecatedActions[action]["replacement"]);
      return upgradeAction(core_input_deprecatedActions[action]["replacement"])
    end
@/lua/ge/extensions/core/input/bindings.lua
    local b = deepcopy(binding)
    b.action = core_input_actions.upgradeAction(b.action)
    if not b.action then
          local action = core_input_actions.nameToUniqueName(b.action, vehicleName) -- this name-mangling is needed to prevent collisions with other vehicles' action names
          action = core_input_actions.upgradeAction(action)
          if not action then
          local action = core_input_actions.nameToUniqueName(b.action, vehicleName) -- this name-mangling is needed to prevent collisions with other vehicles' action names
          action = core_input_actions.upgradeAction(action)
          if not action then
            -- find the correction action
            lnk.inputAction = core_input_actions.upgradeAction(lnk.inputAction)
            for actionName, action in pairs(activeActions) do