void MapObject::loadFromBackup(mobj_backup_t* backup) { // Check type match if (backup->type != type) { wxLogMessage("loadFromBackup: Mobj type mismatch, %d != %d", type, backup->type); return; } // Check id match if (backup->id != id) { wxLogMessage("loadFromBackup: Mobj id mismatch, %d != %d", id, backup->id); return; } // Load general properties from list properties.clear(); backup->properties.copyTo(properties); // Object-specific properties readBackup(backup); // Update modified time setModified(); }
int main() { //_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF | _CRTDBG_CHECK_ALWAYS_DF); //omp_set_num_threads(numThreads); printf("start\n"); printf("random initialize\n"); srand(time(NULL)); bool startNew = true; if (startNew) { printf("open input\n"); FILE* inputFile = fopen("../input/input.dat", "r"); printf("read input\n"); Simulation simulation = readInput(inputFile); printf("close input\n"); fclose(inputFile); printf("simulate\n"); simulation.simulate(); printf("end\n"); } else { printf("reading backup\n"); FILE* backupGeneralFile = fopen("./backup/general.dat", "r"); FILE* backupEfieldFile = fopen("./backup/Efield.dat", "r"); FILE* backupBfieldFile = fopen("./backup/Bfield.dat", "r"); FILE* backupParticlesFile = fopen("./backup/particles.dat", "r"); Simulation simulation = readBackup(backupGeneralFile, backupEfieldFile, backupBfieldFile, backupParticlesFile); fclose(backupGeneralFile); fclose(backupEfieldFile); fclose(backupBfieldFile); fclose(backupParticlesFile); printf("simulate\n"); simulation.simulate(); printf("end\n"); } }