jubeat_online::ImageSequenceResult jubeat_online::ImageSequence::LoadSequence(const char * filename){ //*********************************************************************** //関数名:LoadSeqeunce //説 明:独自形式の連続版画像の読み込み命令を発生させます // この関数が呼ばれるまでに、DxLib::SetUseASyncLoadFlag(TRUE)が // 呼ばれている必要があります。呼ばない場合はこの関数内で // 完全にロードが完了します。 //戻り値:ImageSequenceResult型 //*********************************************************************** ImageSequenceResult ret = ImageSequenceResult::OK; //シーケンス画像ファイルのファイル名の処理 if (filename != NULL) { ImageSequenceResult fret = SetSequenceFilename(filename); if(fret != ImageSequenceResult::OK) return fret; } else if (filename_ == NULL) return ImageSequenceResult::NULL_FILEPATH; //ファイル名を指定しろ if (is_allocated_) DeleteSequence(); OutputLogtext::OutputS("読み込みスレッドを開始します:" + static_cast<std::string>(filename),"ImageSequence"); std::thread th(&jubeat_online::ImageSequence::LoadThread, this); th.detach(); is_allocated_ = true; return ret; }
/* check if adding same sequence name, if are, remove previous seq */ void RemoveDuplicateSeq(Tcl_Interp *interp, char *name) { int n_seqs; int i; /* * need to check if entry_name already exists in the database. If it does * then must delete current sequence (and all its results) and add the * new entry_name */ n_seqs = NumSequences(); for (i = 0; i < n_seqs; i++) { if (strcmp(name, GetSeqName(i)) == 0) { verror(ERR_WARN, "RemoveDuplicateSeq", "%s already exists in. Removing previous sequence and adding new sequence\n", name); DeleteSequence(interp, i--); n_seqs--; } } }
jubeat_online::ImageSequence::~ImageSequence() { DeleteSequence(); }