| 51 | self.result_optimized_repeats = None |
| 52 | |
| 53 | def scale_activation(self, duration, capNeed): |
| 54 | for res in self.scale_resolutions: |
| 55 | mod = duration % res |
| 56 | if mod: |
| 57 | if mod > res / 2.0: |
| 58 | mod = res - mod |
| 59 | else: |
| 60 | mod = -mod |
| 61 | |
| 62 | if abs(mod) <= duration / 100.0: |
| 63 | # only adjust if the adjustment is less than 1% |
| 64 | duration += mod |
| 65 | capNeed += float(mod) / duration * capNeed |
| 66 | break |
| 67 | |
| 68 | return duration, capNeed |
| 69 | |
| 70 | def init(self, modules): |
| 71 | """prepare modules. a list of (duration, capNeed, clipSize, disableStagger, reloadTime, isInjector) tuples is |