When that value was copied it went from Enum 0 to nil. While this could
be fixed by making C4V_Enum a NullableType, counting from 1 is a tiny bit
less code overall.
Scenarios are now loaded with the same flags they were saved with. Thus,
the objectlist is told to skip player objects while loading. But this can
be safely ignored, because the scenario shouldn't contain any player
objects that could be ignored in the first place. But checking that loading
and saving is done with the same flag would be nice.
The previous commit made the two instances more similar, but the
duplication will always invite bugs.
Also always initialize the MusicSystem, and start the Frontend music
a little bit earlier.
Previously, smooth materials would get extra triangles at the top to create
slopes instead of steps. Now those also appear at the bottom.
Smooth also gets generally smoother at the bottom, while Rough gets rougher
at the top. The new Smoother material is somewhere between Flat and Smooth.
Octagon is like Flat but also gets straight slope triangles.
In OC, actually every material has its predefined set of textures, so the default texturing of >=CR is obsolete. The "Smooth" texture is a relic of that which is currently only used because of the "Vehicle" material.
This makes it easier to stay in sync to the TexMap, especially if
using an animated texture. I only changed it for Water, but I
think it would make sense for just about every material.
Actually more chatty than ever before, logging exactly what its
internal configuration was, together with some statistics. I feel
we might need them once we release.
Also we now test all *combinations* of workarounds.
The idea is that for some materials (e.g. earth chunks) it really
doesn't make sense to not immediately collect them - they would just
collide with something and recreate the material you just dug out.
So instead, this allows materials to specify that they want their
dug out objects to be collected immediately - if not, they simply
don't get created.
Note that this doesn't mean that material is lost, as it will simply
acumulate in the digger's material list instead. We might want to
cap that at some point though.
Just noise, as the previous liquid shader by Günther. It's quite
hard to find the right compromise between making it too subtle and
starting to get a "blinking" look. This is now three phases at
300ms each.
Use by having texmap entries of the form "Mat-Tex1-Tex2-...". Right
now the speed is hard-coded to one phase per second.
The general idea is that the 3D texture contains all texture
transitions somewhere in the form of two textures with neighbouring
3D coordinates. There's some room for optimization here, of which
the code exploits some. Being smart can be arbitrarily hard actually.
at 1280px width of the viewport, the gui objects (C4D_Foreground, mouse cursor, selection marks etc) are shown at 100%.
At resolutions above that, too. At 640px width, those graphics are rendered at 50% of the size, the graphics are never
rendered smaller (which makes 640x480 the smallest reasonable resolution for one player / 1280x1024 for four players).
The text is not zoomed, also not zoomed are message windows (those with portraits), only their position is adapted