void Journal::processNextJournalEntry() { if(mCurrentMode != Playback) return; #ifdef TNL_ENABLE_BIG_JOURNALS U16 token; TNL_JOURNAL_READ( (&token) ); if(token != 0x1234) TNL_DEBUGBREAK(); #endif U32 index = mReadStream.readRangedU32(0, JournalEntryRecord::mEntryVector->size()); JournalEntryRecord *theEntry = (*JournalEntryRecord::mEntryVector)[index]; // check for errors... if(!theEntry) { TNLAssert(0, "blech!"); } theEntry->mFunctor->read(mReadStream); #ifdef TNL_ENABLE_BIG_JOURNALS TNL_JOURNAL_READ( (&token) ); if(token != 0x5678) TNL_DEBUGBREAK(); #endif checkReadPosition(); mInsideEntrypoint = true; theEntry->mFunctor->dispatch(this); mInsideEntrypoint = false; }
S32 autodetectJoystickType() { S32 ret = -1; TNL_JOURNAL_READ_BLOCK(JoystickAutodetect, TNL_JOURNAL_READ((&ret)); return ret; )
void Journal::beginBlock(U32 blockId, bool writeBlock) { if(writeBlock) { #ifdef TNL_ENABLE_BIG_JOURNALS TNL_JOURNAL_WRITE( (U16(0x1234 ^ blockId)) ); #endif } else { mBlockIndex++; if(mBreakBlockIndex && mBlockIndex >= mBreakBlockIndex) TNL_DEBUGBREAK(); #ifdef TNL_ENABLE_BIG_JOURNALS U16 startToken; TNL_JOURNAL_READ( (&startToken) ); if((startToken ^ 0x1234) != blockId) { logprintf("Expected token %s - got %s", JournalBlockTypeToken::findName(blockId), JournalBlockTypeToken::findName(startToken ^ 0x1234)); TNL_DEBUGBREAK(); } #endif } }
void Journal::endBlock(U32 blockId, bool writeBlock) { if(writeBlock) { #ifdef TNL_ENABLE_BIG_JOURNALS TNL_JOURNAL_WRITE( (U16(0x5678 ^ blockId)) ); #endif syncWriteStream(); } else { #ifdef TNL_ENABLE_BIG_JOURNALS U16 endToken; TNL_JOURNAL_READ( (&endToken) ); if((endToken ^ 0x5678) != blockId) { logprintf("Expected token %s - got %s", JournalBlockTypeToken::findName(blockId), JournalBlockTypeToken::findName(endToken ^ 0x5678)); TNL_DEBUGBREAK(); } #endif checkReadPosition(); } }