void CGCam_NotetrackProcessFovZoom(const char *addlArg) { int a = 0; float beginFOV = 0, endFOV = 0, fovTime = 0; if (!addlArg || !addlArg[0]) { Com_Printf("camera roff 'fovzoom' notetrack missing arguments\n", addlArg); return; } // // "fovzoom <begin fov> <end fov> <time>" // char t[64]; int d = 0, tsize = 64; memset(t, 0, tsize*sizeof(char)); while (addlArg[a] && !isspace(addlArg[a]) && d < tsize) { t[d++] = addlArg[a++]; } if (!isdigit(t[0])) { // assume a non-number here means we should start from our current fov beginFOV = client_camera.FOV; } else { // now the contents of t represent our beginning fov beginFOV = atof(t); } // eat leading whitespace while (addlArg[a] && addlArg[a] == ' ') { a++; } if (addlArg[a]) { d = 0; memset(t, 0, tsize*sizeof(char)); while (addlArg[a] && !isspace(addlArg[a]) && d < tsize) { t[d++] = addlArg[a++]; } // now the contents of t represent our end fov endFOV = atof(t); // eat leading whitespace while (addlArg[a] && addlArg[a] == ' ') { a++; } if (addlArg[a]) { d = 0; memset(t, 0, tsize*sizeof(char)); while (addlArg[a] && !isspace(addlArg[a]) && d < tsize) { t[d++] = addlArg[a++]; } // now the contents of t represent our time fovTime = atof(t); } else { Com_Printf("camera roff 'fovzoom' notetrack missing 'time' argument\n", addlArg); return; } #ifndef FINAL_BUILD if (cg_roffdebug.integer) { if (fabs(cg_roffval1.value) > 0.001f) { beginFOV = cg_roffval1.value; } if (fabs(cg_roffval2.value) > 0.001f) { endFOV = cg_roffval2.value; } if (fabs(cg_roffval3.value) > 0.001f) { fovTime = cg_roffval3.value; } } #endif if (cg_roffdebug.integer) { Com_Printf("notetrack: 'fovzoom %2.2f %2.2f %5.1f' on frame %d\n", beginFOV, endFOV, fovTime, client_camera.roff_frame); } CGCam_Zoom2(beginFOV, endFOV, fovTime); } else { Com_Printf("camera roff 'fovzoom' notetrack missing 'end fov' argument\n", addlArg); return; } }
void CGCam_NotetrackProcessFovZoom(const char *addlArg) { int a = 0; float beginFOV = 0, endFOV = 0, fovTime = 0; char t[64]; int d = 0, tsize = 64; if (!addlArg || !addlArg[0]) { Com_Printf("camera roff 'fovzoom' notetrack missing arguments\n", addlArg); return; } // // "fovzoom <begin fov> <end fov> <time>" // memset(t, 0, tsize*sizeof(char)); while (addlArg[a] && !isspace(addlArg[a]) && d < tsize) { t[d++] = addlArg[a++]; } if (!isdigit(t[0])) { // assume a non-number here means we should start from our current fov beginFOV = client_camera.FOV; } else { // now the contents of t represent our beginning fov beginFOV = atof(t); } // eat leading whitespace while (addlArg[a] && addlArg[a] == ' ') { a++; } if (addlArg[a]) { d = 0; memset(t, 0, tsize*sizeof(char)); while (addlArg[a] && !isspace(addlArg[a]) && d < tsize) { t[d++] = addlArg[a++]; } // now the contents of t represent our end fov endFOV = atof(t); // eat leading whitespace while (addlArg[a] && addlArg[a] == ' ') { a++; } if (addlArg[a]) { d = 0; memset(t, 0, tsize*sizeof(char)); while (addlArg[a] && !isspace(addlArg[a]) && d < tsize) { t[d++] = addlArg[a++]; } // now the contents of t represent our time fovTime = atof(t); } else { Com_Printf("camera roff 'fovzoom' notetrack missing 'time' argument\n", addlArg); return; } CGCam_Zoom2(beginFOV, endFOV, fovTime); } else { Com_Printf("camera roff 'fovzoom' notetrack missing 'end fov' argument\n", addlArg); return; } }