- // using wasfreed, as we don't actually clear gunaligns yet
- if(!gunaligns[preferred_align] || wasfreed(gunaligns[preferred_align]) || gunaligns[preferred_align] == this)
- {
- gunaligns[preferred_align] = this;
- return preferred_align; // fall back if the good one is already choosable
- }
-
- for(int j = 4; j > 0; --j)
- {
- if(!gunaligns[j] || wasfreed(gunaligns[j]) || gunaligns[j] == this)
- {
- gunaligns[j] = this;
- return j;
- }
- }
-
- gunaligns[preferred_align] = this;
- return preferred_align; // no other choice