Recent and upcoming engine changes

All releases can be found here.

“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”
— Steve Jobs.
My UI Mods

Thanks for the work on improving things!
A few queries on the changes:

@azath0th said in Recent and upcoming engine changes:

ForkThread crashes with cfunction, so we forbid this

Does this mean it no longer crashes, or that ForkThread itself is forbidden? (The latter would mean all my mods would break)

Unit:GetCommandQueue returns a list of commands of a given unit

Will this still be in the format of a table, with 1 entry for each command/order, and with a sequential numerical index (i.e. 1, 2....x) such taht table.getn will work on the result?

GetFractionComplete returns float from 0 to 1

Sometimes when dealing with what I presume are floats in other contexts with FAF I've noted FAF can fail to round things - will a complete unit always return 1 when complete, rather htan e.g. 0.9999999 or 1.00000001/similar?

@maudlin27
Forkthread works as before except it doesn’t accept cfunction anymore.

You can see the way @Jip used GetCommandQueue for distribute orders, I wasn’t the one who made this change.

Once unit reaches complete state (that means it received enough build time) this value must become 1.

“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”
— Steve Jobs.
My UI Mods

Interesting fact: all launchers are loading based on integer progress value. Due to this progress never advances when you stall resources. I think I can fix it at some point, but I may break something eventually:D

“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”
— Steve Jobs.
My UI Mods

@Azath0th I don't believe it is purely integer. Past effort to identify what goes one with building missiles can be found here. https://github.com/FAForever/fa/issues/711#issuecomment-303080789

And it was determined to be intentional so might want to discuss with others before changing it

@sheikah it is, it checks for enough income and increments counter.

“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”
— Steve Jobs.
My UI Mods

@sheikah I know, might require separate thread and minds of other people patching engine

“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”
— Steve Jobs.
My UI Mods

New ui drawing functions
Bitmap SetColorMask
IssueBuildMobile fix

“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”
— Steve Jobs.
My UI Mods

Added some pictures

“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”
— Steve Jobs.
My UI Mods

added info about CopyToClipboard.
https://github.com/FAForever/FA-Binary-Patches/pull/50

“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”
— Steve Jobs.
My UI Mods

Custom world rendering was reworked (fixed tbh), now it works as flag for WorldView control. See PR

“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”
— Steve Jobs.
My UI Mods

Also there was optimized VDist3 function.

“Be a yardstick of quality. Some people aren’t used to an environment where excellence is expected.”
— Steve Jobs.
My UI Mods