The corruption is only on high index globalsaccums.
Regular accums are fine;
180 #define G_MAX_SCRIPT_ACCUM_BUFFERS 10
409 int scriptAccumBuffer[G_MAX_SCRIPT_ACCUM_BUFFERS];
so accum 8 and 9 can be used.
That being said use the lower indexes first because they are easier to debug as Printaccum does not work above index 7 (see g_script_actions.c 3454)
That I understand. Why wezelkrozum is changing his accums at 4 ms intervals I do not understand…
Ah Ha well you better not use bitset or bitresets like
accum 9 bitset 35
. . .
accum 9 bitset 36
I didn’t see any range checking in g_script_actions for bit operations. If you exceed bit index 31 you may or may not corrupt, but you certainly won’t get the value you expect.
Also wezelkrozum, you appear to be using accum 9 for 2 different tasks. If I understand your code accum 9 set Values 1, 2 and 3 are sort of a who’s turn it is. And the bitsets are who holds a square on the board. In which case the former sets are wiping out any bitsets. And your bits and sets are overlapping. ET script does not support masking so stick to doing just one of these tasks for now. You have 9 more accums you can use.