Accordingly, SetVisibility and GetVisibility have been removed.
Specify visibility like obj->SetProperty("Visibility", VIS_Allies).
VIS_Local has been renamed VIS_Select and uses an array:
obj->SetProperty("Visibility", [VIS_Select, Plr0Visible, Plr1Visible, ...])
where Plr*Visible are of type bool.
One can now start the developer mode and every scenario without
a registration, but the game still complains about not being registered.
committer: Günther Brammer <gbrammer@gmx.de>
Instead, C4IDs are converted from/to C4PropLists. This will have to change,
of course.
Objects can be created from prototypes which only inherit from C4Def
The DefCore was only used by the editor and to get an id from a filename
for the drag and drop code. The former is dead, the latter does not need
the separation.
This saves some typing and better reflects the role of the object:
It's no longer the list of strings that has to be saved in the savegame,
but is only used to ensure that no string is duplicated.
A Proplist is a map of C4Strings to C4Values which can chain lookups
to "Prototype" Proplists. This can be used to implement inheritance.
Proplists can be stored in C4Values.
C4Object now inherits from C4Proplist, C4Values can be converted between
those two.