MCPcopy Create free account
hub / github.com/ClassiCube/ClassiCube / SaveLevelScreen_SaveMap

Function SaveLevelScreen_SaveMap

src/Menus.c:1390–1405  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1388}
1389
1390static cc_result SaveLevelScreen_SaveMap(const cc_string* path) {
1391 struct GZipState* state;
1392 cc_result res;
1393
1394 state = (struct GZipState*)Mem_TryAlloc(1, sizeof(struct GZipState));
1395 res = ERR_OUT_OF_MEMORY;
1396 if (!state) { Logger_SysWarn(res, "allocating temp memory"); return res; }
1397
1398 res = DoSaveMap(path, state);
1399 Mem_Free(state);
1400 if (res) return res;
1401
1402 World.LastSave = Game.Time;
1403 Gui_ShowPauseMenu();
1404 return 0;
1405}
1406
1407static void SaveLevelScreen_Save(void* screen, void* widget) {
1408 struct SaveLevelScreen* s = (struct SaveLevelScreen*)screen;

Callers 2

SaveLevelScreen_SaveFunction · 0.85

Calls 5

Logger_SysWarnFunction · 0.85
DoSaveMapFunction · 0.85
Gui_ShowPauseMenuFunction · 0.85
Mem_TryAllocFunction · 0.70
Mem_FreeFunction · 0.70

Tested by

no test coverage detected