restore_object()
================

SYNOPSIS
--------
::

        mixed restore_object(string name);

BESCHREIBUNG
------------
::

        Diese Simul-Efun unterscheidet sich in einigen Details von der
        Driver-Efun restore_object() (s. auch dort! Wichtig!).

        1. diese sefun restauriert auch die mit F_SAVE markierten Properties
        eines Objektes, sofern das Savefile von sefun save_object erstellt
        wurde (was die efun des Driver nicht tut!).
        2. Sofern ein Pfad angegeben wird und dieser NICHT mit /data/ beginnt,
        wird das Savefile als erstes immer unter /data/+name gesucht. Erst wenn es
        dort nicht gefunden wird, wird unter name gesucht.

SIEHE AUCH
----------
::

        save_object(E), restore_object(E), save_value(E)
29.01.2017, Zesstra

