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;
}
Esempio n. 2
0
/* 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();
}