(svn r27989) -Fix (r27985): VA2 optimisation failed in various special cases:

- nvar=0 is meant to return the calculated result.
  - Missing references resolve to NULL and got identified with the default result.
  - Missing 'break' broke overlapping cases.
  - Splitting into non-overlapping cases could result in more than 256 cases.
This commit is contained in:
frosch
2018-03-11 15:08:51 +00:00
parent c6eb633d18
commit 55a503e6f2
3 changed files with 8 additions and 4 deletions

View File

@@ -174,7 +174,8 @@ struct DeterministicSpriteGroup : SpriteGroup {
VarSpriteGroupScope var_scope;
DeterministicSpriteGroupSize size;
uint num_adjusts;
byte num_ranges;
uint num_ranges;
bool calculated_result;
DeterministicSpriteGroupAdjust *adjusts;
DeterministicSpriteGroupRange *ranges; // Dynamically allocated