To say that the fat is created out of nothing is a bit of a misrepresentation;
Functionally that’s what it does. The belly, breasts and hips did not have fat distributed to them, it has fat created to them. generic.fat gets set by digestion and what not, and then more fat is created for those organs. If you in devmode or through an item alter any of the fat.* stats and then wait an hour the characters weight will change significantly since belly fat for example is tied to what generic.fat is and not what the character has eaten. It would be different if the fat added to each area was subtracted from generic.fat.
the fat.[organ] stats are supposed to represent a percentage for distribution. It doesn’t always work that way, of course; there’s no checks in place to weight the percentages down if their total exceeds 100%.
The way i do it is pretty simple. probably not very efficient, but it works. This is basically the math i do cut down for readability:
new_fat = (current fat - old fat);
total_fat_dist = (fat.belly + fat.ass + fat.body + fat.breasts + fat.hips);
abdomen.fat += (new_fat*(fat.belly/ total_fat_dist));
And that last line i do for each of the 5 fat.* stats (the three old ones + two new ones.). On a very basic level it finds what percentage fat.belly is of all the fat.* stats and then adds that percentage of fat to the relevent area.
So fat.belly does not represent a percentage of fat going to a place, but it does now represent the share of fat that goes to that particular place. In my opinion that is more important than having the specific number represent an actual percentage. I don’t know how I would make that work without tearing a bunch of stuff up.
There’s pros and cons in untying distribution from existing weight, too; I’m sure there’s something it’ll break but that’s always the risk when doing larger overhauls.
I’d say it’s tied more strongly to existing weights now. Fat gained or lost is now tied entirely to eating or exercise. Also it opens up a bunch of cool new things. As a consequence of this new system, you will gain weight in particular areas, but you will also be able to lose weight from that same area just as quick. But if one of your fat.* skills get lower or the other get higher it gets harder to lose weight from that area.
This opens up some cool possibilities. For example pregnancy could now give an effect that buffs fat.hips and fat.breasts. This wouldn’t cause a sudden increase in weight any more and it has the added benefit of modeling a fertile figure AND it provided a model for having hard to loose baby weight.
And that’s just cool to be able to represent so simply.