hm, ich bin was das unter vielem angeht selbst ein noob :-)
Aber meines Wissens sind die Pointer nur max. so lang gültig, wie die Engine läuft, danach wird der Speicher bereinigt.
Ich hab auch ein Speichersystem, das Gegenstände und Fertigkeiten (beides selbst erstellte Structs) speichert.
Dort habe ich es so gemacht, dass ich nicht die Pointer speichere, sondern die Dinge an sich.
Also z.B alle Eigenschaften eines Gegenstandes in eine txt-Datei einschreibe.
Beim Laden wird ein neues Gegenstands-scruct erzeugt und die Eigenschaften aus der txt-Datei ausgelesen und in den Struct reingeschrieben. Die Speicherzuweisung zu dem Struct dann ist der neue "pointer".
Ich hoffe, ich konnte dir weiterhelfen
