2025-07-21 09:42 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0003060Spring engineGeneralpublic2012-04-22 18:52
Reporterzerver 
Assigned Tozerver 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
Product Version89.0 
Target VersionFixed in Version89.0 
Summary0003060: Spring.GiveOrderArrayToUnitArray (pairwise)
DescriptionTitle says it all
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
+Relationships

-Notes

~0008604

Google_Frog (reporter)

What do you mean corresponding to customFormations2? Custom formations does a lot now and the Zero-K version handles custom commans (Jump and Target). An engine implementation of the widget would not be useful, what would be useful is some sort of Spring.GiveOrderListToUnitList that would give a a single order from the list to each unit and do it in such a way to avoid packet limit.

If 1000 commands each with 3 parameters causes packet limit but a single command with 4000 parameters does not I could implement this in lua.

~0008607

zerver (reporter)

I will replace/complement the "front move" (the one that allows units to be distributed along a straight line) so you can draw a shape instead. If CF2 is more advanced that is very cool, but I think move orders are the only culprit. The new move command should indeed be accessible from Lua.

~0008608

Google_Frog (reporter)

That doesn't even do all of what custom formations does for move and it will be visually inconsistent with the rest of the widget. The most useful thing to do would be to implement Spring.GiveParamArrayToUnitArrayPairwise which would give all units a single order each with a distinct parameter matched to each unit in the array. This could be directly used in custom formations for all types of command giving.

~0008630

zerver (reporter)

I had no idea, but these already exist:

GiveOrderToUnit
GiveOrderToUnitMap
GiveOrderToUnitArray
GiveOrderArrayToUnitMap
GiveOrderArrayToUnitArray

If I'm not mistaken, the bottom two should solve the problem (although you can only issue a few hundred move orders at a time due to message size restrictions). Customformations2 is just badly written is seems...

~0008635

zerver (reporter)

I was wrong, GiveOrderArrayToUnitArray did not support pairwise mode but it does now. You can move approx 150 units per second with CF2 without hitting BW limit. (needs modified CF2)

https://github.com/spring/spring/commit/6bcb37e1b623ff06c72231d83e3837e1df83f35f
+Notes

-Issue History
Date Modified Username Field Change
2012-04-13 03:20 zerver New Issue
2012-04-13 03:20 zerver Status new => assigned
2012-04-13 03:20 zerver Assigned To => zerver
2012-04-13 03:20 zerver Summary Engine need built-in functionality corresponding to CustomFormation2, to avoid packet limit. => Engine needs built-in functionality corresponding to CustomFormation2, to avoid packet limit.
2012-04-13 03:21 zerver Summary Engine needs built-in functionality corresponding to CustomFormation2, to avoid packet limit. => Engine needs built-in functionality corresponding to CustomFormations2, to avoid packet limit.
2012-04-13 06:21 Google_Frog Note Added: 0008604
2012-04-13 17:03 zerver Note Added: 0008607
2012-04-13 17:34 Google_Frog Note Added: 0008608
2012-04-17 23:58 zerver Note Added: 0008630
2012-04-22 17:39 zerver Summary Engine needs built-in functionality corresponding to CustomFormations2, to avoid packet limit. => Spring.GiveOrderArrayToUnitArray (pairwise)
2012-04-22 18:52 zerver Note Added: 0008635
2012-04-22 18:52 zerver Status assigned => resolved
2012-04-22 18:52 zerver Fixed in Version => 89.0
2012-04-22 18:52 zerver Resolution open => fixed
+Issue History