//add a sequence to the list to be played void seq_AddSeqToList(const char *pSeqName, const char *pAudioName, const char *pTextName, bool bLoop) { currentSeq++; ASSERT_OR_RETURN(, currentSeq < MAX_SEQ_LIST, "too many sequences"); //OK so add it to the list aSeqList[currentSeq].pSeq = pSeqName; aSeqList[currentSeq].pAudio = pAudioName; aSeqList[currentSeq].bSeqLoop = bLoop; if (pTextName != NULL) { // Ordinary text shouldn't be justified seq_AddTextFromFile(pTextName, SEQ_TEXT_POSITION); } if (bSeqSubtitles) { char aSubtitleName[MAX_STR_LENGTH]; sstrcpy(aSubtitleName, pSeqName); // check for a subtitle file char *extension = strrchr(aSubtitleName, '.'); if (extension) { *extension = '\0'; } sstrcat(aSubtitleName, ".txt"); // Subtitles should be center justified seq_AddTextFromFile(aSubtitleName, SEQ_TEXT_JUSTIFY); } }
//add a sequence to the list to be played void seq_AddSeqToList(const char *pSeqName, const char *pAudioName, const char *pTextName, BOOL bLoop) { currentSeq++; ASSERT(currentSeq < MAX_SEQ_LIST, "too many sequences"); if (currentSeq >= MAX_SEQ_LIST) { return; } //OK so add it to the list aSeqList[currentSeq].pSeq = pSeqName; aSeqList[currentSeq].pAudio = pAudioName; aSeqList[currentSeq].bSeqLoop = bLoop; if (pTextName != NULL) { // Ordinary text shouldn't be justified seq_AddTextFromFile(pTextName, SEQ_TEXT_POSITION); } if (bSeqSubtitles) { char aSubtitleName[MAX_STR_LENGTH]; size_t check_len = sstrcpy(aSubtitleName, pSeqName); char* extension; ASSERT(check_len < sizeof(aSubtitleName), "given sequence name (%s) longer (%lu) than buffer (%lu)", pSeqName, (unsigned long) check_len, (unsigned long) sizeof(aSubtitleName)); // check for a subtitle file extension = strrchr(aSubtitleName, '.'); if (extension) *extension = '\0'; check_len = sstrcat(aSubtitleName, ".txt"); ASSERT(check_len < sizeof(aSubtitleName), "sequence name to long to attach an extension too"); // Subtitles should be center justified seq_AddTextFromFile(aSubtitleName, SEQ_TEXT_JUSTIFY); } }