Fix BinarySearchFirst algorithm.

This commit is contained in:
2022-11-28 11:53:13 +08:00
parent c7201dd62c
commit d16548e570

View File

@@ -89,10 +89,12 @@ namespace Cryville.Crtr {
int num3 = num + (num2 - num >> 1); int num3 = num + (num2 - num >> 1);
int num4 = -list[num3].Definition.stack.CompareTo(stack); int num4 = -list[num3].Definition.stack.CompareTo(stack);
if (num4 == 0) num4 = list[num3].StartClip.CompareTo(time); if (num4 == 0) num4 = list[num3].StartClip.CompareTo(time);
if (num4 >= 0) num2 = num3 - 1; if (num4 > 0) num2 = num3 - 1;
else num = num3 + 1; else if (num4 < 0) num = num3 + 1;
else if (num != num3) num2 = num3;
else return num;
} }
return num + 1; return ~num;
} }
public void Feed(Identifier target, float ft, float tt) { public void Feed(Identifier target, float ft, float tt) {
Forward(target, tt); Forward(target, tt);