/* ================ idCameraDef::addTarget ================ */ void idCameraDef::addTarget(const char *name, idCameraPosition::positionType type) { const char *text = (name == NULL) ? va("target0%d", numTargets()+1) : name; idCameraPosition *pos = newFromType(type); if (pos) { pos->setName(name); targetPositions.Append(pos); activeTarget = numTargets()-1; if (activeTarget == 0) { // first one addEvent(idCameraEvent::EVENT_TARGET, name, 0); } } }
void idCameraDef::save(const char *filename) { fileHandle_t file = FS_FOpenFileWrite(filename); if(file) { int i; idStr s = "cameraPathDef { \n"; FS_Write(s.c_str(), s.length(), file); s = va("\ttime %f\n", baseTime); FS_Write(s.c_str(), s.length(), file); cameraPosition->write(file, va("camera_%s", cameraPosition->typeStr())); for(i = 0; i < numTargets(); i++) { targetPositions[i]->write(file, va("target_%s", targetPositions[i]->typeStr())); } for(i = 0; i < events.Num(); i++) { events[i]->write(file, "event"); } fov.write(file, "fov"); s = "}\n"; FS_Write(s.c_str(), s.length(), file); } FS_FCloseFile(file); }
/* ================ idCameraDef::save ================ */ void idCameraDef::save(const char *filename) { idFile *f = fileSystem->OpenFileWrite( filename, "fs_devpath" ); if ( f ) { int i; f->Printf( "cameraPathDef { \n" ); f->Printf( "\ttime %f\n", baseTime ); cameraPosition->write( f, va("camera_%s",cameraPosition->typeStr()) ); for (i = 0; i < numTargets(); i++) { targetPositions[i]->write( f, va("target_%s", targetPositions[i]->typeStr()) ); } for (i = 0; i < events.Num(); i++) { events[i]->write( f, "event" ); } fov.write( f, "fov" ); f->Printf( "}\n" ); } fileSystem->CloseFile( f ); }