View Issue Details

IDProjectCategoryView StatusLast Update
0005129Spring engineGeneralpublic2016-03-19 15:21
Reporterbanana_Ai Assigned Tohokomoko  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version101.0 
Summary0005129: Units get CMD.WAIT order after compliting some orders
DescriptionUnit get double CMD.WAIT order after finishing all its orders unless last order is a build order.
Steps To ReproduceTake a spring game. Delete all widgets from it and put this test widget instead. In game disable luarules. Than spam any unit and try to move and look on the output.
However, you cannot build without lua rules.
In order to test this bug with build order, do everything like before, but don't disable lua rules. Spam any con and order it to build something. Look at the output.
Additional InformationMove command output:
[f=0000362] Command added
[f=0000362] Unit 11555
[f=0000362] ID 10 params
[f=0000362] Command added
[f=0000362] Unit 11555
[f=0000362] ID 10 params 892.847656 132.258331 540.066895
[f=0000362] ID 70 params
[f=0000390] Command is done
[f=0000390] Unit 11555
[f=0000390] ID 70 params 1.70000005
[f=0000390] Command is done
[f=0000390] Unit 11555
[f=0000404] Command added
[f=0000404] Unit 11555
[f=0000404] ID 5 params
[f=0000404] Command added
[f=0000404] Unit 11555
[f=0000404] ID 5 params
[f=0000404] ID 5 params

Build command output:
[f=0000759] Command added
[f=0000759] Unit 11555
[f=0000759] ID -65 params
[f=0000759] Command added
[f=0000759] Unit 11555
[f=0000759] ID -65 params 936 132.383118 536 0
[f=0000759] ID 70 params
[f=0000915] Command is done
[f=0000915] Unit 11555
[f=0000915] ID 70 params 1.70000005
[f=0000915] Command is done
[f=0000915] Unit 11555

Unlike build command, after move command unit get double wait command.
TagsNo tags attached.
Attached Files
dbg_order.lua (Attachment missing)
Checked infolog.txt for Errors

Activities

Google_Frog

2016-03-02 02:11

reporter   ~0015953

Removing the WAITWAIT from the engine will not be useful unless there is also a way to remove it from luarules. A callin could be provided to replace WAITWAIT in luarules. For example Spring.RefreshCommand(unitID).

Kloot

2016-03-02 14:09

developer   ~0015957

There will not ever be a callout to officially endorse the double-wait hack.

The underlying CAI issue will eventually be fixed when someone gets bored enough, but for now WAITWAIT has to stay (including the single instance where the engine relies on it).

hokomoko

2016-03-19 15:21

developer   ~0016120

Fix db1eaf13db871ea4face771462eb3a2069efed8f committed to develop branch: Fix 0005129

I think it should work now, if not, let's see what breaks., repo: spring changeset id: 6861

Issue History

Date Modified Username Field Change
2016-03-02 02:04 banana_Ai New Issue
2016-03-02 02:04 banana_Ai File Added: dbg_order.lua
2016-03-02 02:11 Google_Frog Note Added: 0015953
2016-03-02 14:09 Kloot Note Added: 0015957
2016-03-19 15:21 hokomoko Changeset attached => spring develop db1eaf13
2016-03-19 15:21 hokomoko Note Added: 0016120
2016-03-19 15:21 hokomoko Assigned To => hokomoko
2016-03-19 15:21 hokomoko Status new => resolved
2016-03-19 15:21 hokomoko Resolution open => fixed