3509 |
|
|
3510 |
// delete temporary region |
// delete temporary region |
3511 |
delete tempRgn; |
delete tempRgn; |
3512 |
|
|
3513 |
|
UpdateVelocityTable(); |
3514 |
} |
} |
3515 |
|
|
3516 |
/** @brief Divide split zone of a dimension in two (increment zone amount). |
/** @brief Divide split zone of a dimension in two (increment zone amount). |
3648 |
|
|
3649 |
// delete temporary region |
// delete temporary region |
3650 |
delete tempRgn; |
delete tempRgn; |
3651 |
|
|
3652 |
|
UpdateVelocityTable(); |
3653 |
} |
} |
3654 |
|
|
3655 |
DimensionRegion* Region::GetDimensionRegionByBit(const std::map<dimension_t,int>& DimCase) { |
DimensionRegion* Region::GetDimensionRegionByBit(const std::map<dimension_t,int>& DimCase) { |
3743 |
} |
} |
3744 |
bitpos += pDimensionDefinitions[i].bits; |
bitpos += pDimensionDefinitions[i].bits; |
3745 |
} |
} |
3746 |
DimensionRegion* dimreg = pDimensionRegions[dimregidx]; |
DimensionRegion* dimreg = pDimensionRegions[dimregidx & 255]; |
3747 |
|
if (!dimreg) return NULL; |
3748 |
if (veldim != -1) { |
if (veldim != -1) { |
3749 |
// (dimreg is now the dimension region for the lowest velocity) |
// (dimreg is now the dimension region for the lowest velocity) |
3750 |
if (dimreg->VelocityTable) // custom defined zone ranges |
if (dimreg->VelocityTable) // custom defined zone ranges |
3751 |
bits = dimreg->VelocityTable[DimValues[veldim]]; |
bits = dimreg->VelocityTable[DimValues[veldim] & 127]; |
3752 |
else // normal split type |
else // normal split type |
3753 |
bits = uint8_t(DimValues[veldim] / pDimensionDefinitions[veldim].zone_size); |
bits = uint8_t((DimValues[veldim] & 127) / pDimensionDefinitions[veldim].zone_size); |
3754 |
|
|
3755 |
dimregidx |= bits << velbitpos; |
const uint8_t limiter_mask = (1 << pDimensionDefinitions[veldim].bits) - 1; |
3756 |
dimreg = pDimensionRegions[dimregidx]; |
dimregidx |= (bits & limiter_mask) << velbitpos; |
3757 |
|
dimreg = pDimensionRegions[dimregidx & 255]; |
3758 |
} |
} |
3759 |
return dimreg; |
return dimreg; |
3760 |
} |
} |