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>
This adds a true copy constructor to StdBuf and StdStrBuf.
Unfortunately, this constructor is sometimes prefered to the
move constructor when it wasn't with older compilers, always
referencing the original instead of copying makes the engine
crash, and omitting the copy constructor just creates an
implicit one which also causes crashes.
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 is mainly intended to fill the proplist of the definition and replace
the defcore, but other one time initialisation could also be done at that
point.
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.