**System Information**
Elementary OS Luna, Nvidia GTX 560Ti
**Blender Version**
Broken: 2.75
**Short description of error**
Loading and then resaving an obj file results in darker material ambient, diffuse and specular values.
Upon load the obj .mtl Ka and Kd values are loaded directly in as the material `mirror_color` (ambient) and `diffuse_color`.
However when saved they are also multiplied by `world.ambient_color` and `diffuse_intensity`.
The diffuse intensity is left at the default of 0.8, resulting in values loading and then saving as slightly darker each time, and world.ambient is (0,0,0) by default, removing any ambient color.
It seems that `diffuse_intensity` should probably be set to 1.0 on load, so the Kd value is properly honoured, and loading/saving is consistent. `world.ambient_color` is trickier. It could be ignored when saving to avoid this inconsistency, but it's unclear if this is the best course of action.
Lastly the specular hardness values are not honoured between load and save. There appears to be a typo loading the values. They are loaded as `specular_hardness = int(value * 0.51)`, but saved as `(specular_hardness - 1) * 1.9607843137254901`. Resulting in their values decreasing slightly on save. It seems load should probably read `specular_hardness = int(value * 0.51) + 1` but the +1 was missed out by mistake.
**Exact steps for others to reproduce the error**
Load an .obj model with ambient, diffuse material colours and/or specular hardness values
Re-save the model
All `Kd` values in the obj .mtl file will now be darker, all `Ka` values will be 0.0 0.0 0.0, and all `Ns` values will be lower.