Load the basic info of the bible. You would probably always call this method after initializing a BiblePlus instance
Source
void loadVersionInfo() { _failReason = SUCCESS; try { _header = _pdbAccess.header; } on Exception { _failReason = ERR_NOT_PDB_FILE; throw new Exception('ERR_NOT_PDB_FILE'); } if (_pdbAccess.isCorrupted == true) { _failReason = ERR_FILE_CORRUPTED; throw new Exception('ERR_FILE_CORRUPTED'); } if (_header.type != 'bibl') { _failReason = ERR_NOT_BIBLE_PLUS_FILE; throw new Exception('ERR_NOT_BIBLE_PLUS_FILE'); } PdbRecord version = _pdbAccess.readRecord(0); Uint8List data = version.data; int index = 0; _versionName = data.sublist(index, index + 16); index += 16; _versionInfo = data.sublist(index, index + 128); index += 128; _sepChar = data.sublist(index, index + 1); index++; _versionAttr = data[index] & 0xff; index++; _wordIndex = Util.readShort(data, index); index += 2; _totalWordRec = Util.readShort(data, index); index += 2; if (_wordIndex + _totalWordRec >= _header.totalRecords) { _failReason = ERR_FILE_CORRUPTED; throw new Exception('ERR_FILE_CORRUPTED'); } int totalBooks = Util.readShort(data, index); index += 2; if (totalBooks < 0) { _failReason = ERR_FILE_CORRUPTED; throw new Exception('ERR_FILE_CORRUPTED'); } _books = new List(totalBooks); for (int i = 0; i < totalBooks; i++) { if (index + _bookRecSize > data.length) { _failReason = ERR_FILE_CORRUPTED; throw new Exception('ERR_FILE_CORRUPTED'); } try { _books[i] = new BibleBook(this, data, index); } on Exception { _failReason = ERR_FILE_CORRUPTED; throw new Exception('ERR_FILE_CORRUPTED'); } index += _bookRecSize; } _pdbAccess.removeFromCache(0); }