docs: public static int combine(int curTint, int tint) {
      int newA = ((((curTint >> 24) & 0xFF) * (((tint >> 24) & 0xFF)+1)) & 0xFF00) << 16;
      if ((tint & 0xFFFFFF) == 0xFFFFFF) { // fast path to just combine alpha
        return newA | (curTint & 0xFFFFFF);
      }
  
      // otherwise combine all the channels (beware the bit mask-and-shiftery!)
      int newR = ((((curTint >> 16) & 0xFF) * (((tint >> 16) & 0xFF)+1)) & 0xFF00) << 8;
      int newG =  (((curTint >>  8) & 0xFF) * (((tint >>  8) & 0xFF)+1)) & 0xFF00;
      int newB =  (((curTint        & 0xFF) * ((tint         & 0xFF)+1)) >> 8) & 0xFF;
      return newA | newR | newG | newB;
    }