game_save(STRING* name, var num, var mode)

Speichert den aktuellen Zustand des Spiels im savedir-Ordner für eine spätere Wiederaufnahme des Spiels an der gegenwärtigen Position.

Parameter:

name Name der zu speichernden Datei ohne Extension und Pfad
num STRING* oder char*, maximal dreistellige Nummer, die dem Dateinamen zugefügt wird. Die Extension ".sav" wird automatisch angehängt.
mode

Speicher-Modus; kann durch Hinzufügen oder Wegnehmen der folgenden Modi kombiniert werden:

SV_VARS speichert alle globalen, benutzerdefinierten Variablen, mit Ausnahme von var_info und var_nsave-Variablen (C-Skript) bzw. ausser Variablen, die auf _i or _n enden (lite-C).
SV_INFO speichert alle globalen var_info-Variablen (C-Skript) bzw. alle globalen Variablen, die auf _i enden (lite-C).
SV_SYS speichert alle vordefinierten Engine-Variablen.
SV_STRINGS speichert alle modifizierten Strings.
SV_POINTERS speichert alle Pointer (nur in C-Skript). Unter lite-C nehmen Sie als Speicherverweise auf Objekte Handles.
SV_BMAPS speichert alle per bmap_for_screen modifizierten bmaps. Andere Bitmap-Manipulationen werden nicht gespeichert.
SV_KEYS speichert alle Funktionen, die Tastatur, Maus, Joystick oder anderen Events zugewiesen wurden.
SV_FUNCTIONS speichert den Zustand aller laufender Funktionen und aller lokaler Variablen.
SV_PANELS speichert alle Panel- und Text-Objekte.
SV_VIEWS speichert alle Views.
SV_SKY speichert alle Sky-Entities,
SV_LEVEL speichert den aktuellen Level und alle Level Entities. Die Ausrichtung von Modell-Bones und die Deformationen von Modell- oder Terrain-Meshes wird nicht gespeichert.
SV_MATERIAL speichert alle Materialien. Effekt-Code wird nicht gespeichert.
SV_PATH speichert alle Pfade die durch path_setnode oder path_setedge verändert wurden.
SV_STRUCT speichewrt alle durch add_struct markierten Speicherbereiche.
SV_PHYSICS speichert den Zustand der Physik-Engine. Benutzen Sie dies in Kombination mit SV_LEVEL, wenn Ihr Level Physik-Entities enthält.
SV_ALL speichert alles.

Rückgabewert:

> 0 - erfolgreich gespeichert, <= 0 - Speichern fehlgeschlagen.

Geschwindigkeit:

Langsam

Bemerkungen:

Beispiel

// Save everything except the var_info variables
// is doing the same as the save() instruction of older versions
result = game_save("test",7,SV_ALL-SV_INFO);
if (result <= 0) { error("Save Error!"); } 

// save var_info, strings and bitmap after"info0.sav"
// is doing the same as the save_info() instruction of older versions
game_save("info",0,SV_INFO+SV_STRINGS+SV_BMAPS);

Siehe auch:

game_load, savedir, add_struct

► Aktuelle Version Online