• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

src/cannonball/src/SaveState.cpp

Go to the documentation of this file.
00001 #include "main.h"
00002 
00003 SaveState::SaveState(void)
00004 {
00005         m_saveAvailable = false;
00006 }
00007 
00008 SaveState::~SaveState(void)
00009 {
00010 }
00011 
00012 bool SaveState::saveToFile(wchar* filename) 
00013 {
00014         FILE* file;
00015 
00016         if(_wfopen_s(&file, filename, TEXT("w")) != 0)
00017                 return false;
00018 
00019         if(fwrite(&m_ballCount, sizeof(int), BALL_TYPE_COUNT, file) != BALL_TYPE_COUNT)
00020                 return fclose(file), false;
00021 
00022         if(fwrite(&m_selectedBall, sizeof(int), 1, file) != 1)
00023                 return fclose(file), false;
00024 
00025         if(fwrite(&m_level, sizeof(int),1 , file) != 1)
00026                 return fclose(file), false;
00027 
00028         if(fwrite(&m_ballPosition, sizeof(float3), 1, file) != 1)
00029                 return fclose(file), false;
00030         
00031         if(fwrite(&m_cameraPosition, sizeof(float3), 1, file) != 1)
00032                 return fclose(file), false;
00033 
00034         fclose(file);
00035         return true;
00036 
00037 }
00038 
00039 bool SaveState::loadFromFile(wchar* filename)
00040 {
00041         FILE* file;
00042         if(_wfopen_s(&file, filename, TEXT("r")) != 0)
00043                 return false;
00044 
00045         if(fread(&m_ballCount, sizeof(int), BALL_TYPE_COUNT, file) != BALL_TYPE_COUNT)
00046                 return fclose(file), false;
00047 
00048         if(fread(&m_selectedBall, sizeof(int), 1, file) != 1)
00049                 return fclose(file), false;
00050 
00051         if(fread(&m_level, sizeof(int), 1, file) != 1)
00052                 return fclose(file), false;
00053 
00054         if(fread(&m_ballPosition, sizeof(float3), 1, file) != 1)
00055                 return fclose(file), false;
00056 
00057         if(fread(&m_cameraPosition, sizeof(float3), 1, file) != 1)
00058                 return fclose(file), false;
00059 
00060         fclose(file);
00061         m_saveAvailable = true;
00062         return true;
00063 }

Generated on Fri Jun 18 2010 17:48:39 for Cannonball by  doxygen 1.7.0