bool AnimateCompile::Append(std::shared_ptr<AnimateCommand> cmd, const ContToken *token) { bool clipped; if (beats_rem < cmd->NumBeats()) { RegisterError(ANIMERR_OUTOFTIME, token); if (beats_rem == 0) { return false; } cmd->ClipBeats(beats_rem); clipped = true; } else { clipped = false; } cmds.push_back(cmd); beats_rem -= cmd->NumBeats(); cmd->ApplyForward(pt); // Move current point to new position SetVarValue(CONTVAR_DOF, cmd->MotionDirection()); SetVarValue(CONTVAR_DOH, cmd->RealDirection()); return true; }