2025-06-24 21:55 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0001844Spring engineGeneralpublic2013-10-27 22:46
ReporterGoogle_Frog 
Assigned ToKloot 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
Product Version0.81.1.3 
Target VersionFixed in Version 
Summary0001844: Nanoframe movement bugs
DescriptionThe new implementation of nanoframe movement is buggy. Probably stems from the same thing. As far as I know these bugs were not present in previous versions.

1. Gunship nanoframes float to their cruise alt and jiggle there if they either have no factory or their factory is partially reverse built. Gunships in factories jiggle up and down in an ugly manner.

2. All nanoframes except planes obey some orders given by lua, as in they obey before they are completed. If the unit is inside a factory the factory holds it in place but they jiggle, if the unit is in a partially reverse built factory or is not being built by a factory the nanoframe will move.

Bug 2 seems to be caused by CMD.INSERT.
Additional InformationFor example this widget does not cause bug number 2:

function widget:GetInfo()
  return {
    name = "Commands to lua",
    desc = "Turns all commands to lua given commands",
    author = "Google Frog",
    date = "Feb 19, 2010",
    license = "GNU GPL, v2 or later",
    layer = 0,
    enabled = true -- loaded by default?
  }
end

local spGetSelectedUnits = Spring.GetSelectedUnits
local spGiveOrderToUnit = Spring.GiveOrderToUnit


function widget:CommandNotify(id, params, options)
    local units = spGetSelectedUnits()
    for _,sid in ipairs(units) do
        spGiveOrderToUnit(sid, id, params, options )
    end
    return true
end

The next one does cause bug number 2. The params field is put together in an ugly way but that does not matter:

function widget:GetInfo()
  return {
    name = "Commands to lua",
    desc = "Turns all commands to lua given commands",
    author = "Google Frog",
    date = "Feb 19, 2010",
    license = "GNU GPL, v2 or later",
    layer = 0,
    enabled = true -- loaded by default?
  }
end

local spGetSelectedUnits = Spring.GetSelectedUnits
local spGiveOrderToUnit = Spring.GiveOrderToUnit

function widget:CommandNotify(id, params, options)
    local units = spGetSelectedUnits()
    for _,sid in ipairs(units) do
        spGiveOrderToUnit(sid, CMD.INSERT, {0, id, CMD.OPT_SHIFT, params[1],params[2],params[3] }, {"alt"} )
    end
    return true
end
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
+Relationships

-Notes

~0005181

zerver (reporter)

I partially fixed this
http://github.com/spring/spring/commit/191281dc891d1d80720de7db541fbd68b142e291

Bots and vehicles are much less nervous and I was unable to get any significant wiggles even when issuing move orders with your widget.

~0011868

Kloot (developer)

no longer an issue
+Notes

-Issue History
Date Modified Username Field Change
2010-02-18 14:44 Google_Frog New Issue
2010-07-30 00:38 zerver Note Added: 0005181
2013-10-27 22:46 Kloot Note Added: 0011868
2013-10-27 22:46 Kloot Status new => closed
2013-10-27 22:46 Kloot Assigned To => Kloot
2013-10-27 22:46 Kloot Resolution open => fixed
+Issue History