1 // This file is part of e93. 2 // 3 // e93 is free software; you can redistribute it and/or modify 4 // it under the terms of the e93 LICENSE AGREEMENT. 5 // 6 // e93 is distributed in the hope that it will be useful, 7 // but WITHOUT ANY WARRANTY; without even the implied warranty of 8 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9 // e93 LICENSE AGREEMENT for more details. 10 // 11 // You should have received a copy of the e93 LICENSE AGREEMENT 12 // along with e93; see the file "LICENSE.TXT". 13 14 15 bool UniverseSanityCheck(TEXT_UNIVERSE *universe); 16 void PositionToChunkPositionPastEnd(TEXT_UNIVERSE *universe,UINT32 position,CHUNK_HEADER **chunk,UINT32 *offset); 17 void PositionToChunkPosition(TEXT_UNIVERSE *universe,UINT32 position,CHUNK_HEADER **chunk,UINT32 *offset); 18 void PositionToLinePosition(TEXT_UNIVERSE *universe,UINT32 position,UINT32 *line,UINT32 *lineOffset,CHUNK_HEADER **chunk,UINT32 *chunkOffset); 19 void LineToChunkPosition(TEXT_UNIVERSE *universe,UINT32 line,CHUNK_HEADER **chunk,UINT32 *offset,UINT32 *position); 20 void AddToChunkPosition(TEXT_UNIVERSE *universe,CHUNK_HEADER *chunk,UINT32 offset,CHUNK_HEADER **newChunk,UINT32 *newOffset,UINT32 distanceToMove); 21 void ChunkPositionToNextLine(TEXT_UNIVERSE *universe,CHUNK_HEADER *chunk,UINT32 offset,CHUNK_HEADER **newChunk,UINT32 *newOffset,UINT32 *distanceMoved); 22 bool InsertUniverseChunks(TEXT_UNIVERSE *universe,UINT32 position,CHUNK_HEADER *textChunk,UINT32 textOffset,UINT32 numBytes); 23 bool InsertUniverseText(TEXT_UNIVERSE *universe,UINT32 position,UINT8 *text,UINT32 numBytes); 24 bool ExtractUniverseText(TEXT_UNIVERSE *universe,CHUNK_HEADER *chunk,UINT32 offset,UINT8 *text,UINT32 numBytes,CHUNK_HEADER **nextChunk,UINT32 *nextOffset); 25 bool DeleteUniverseText(TEXT_UNIVERSE *universe,UINT32 position,UINT32 numBytes); 26 TEXT_UNIVERSE *OpenTextUniverse(); 27 void CloseTextUniverse(TEXT_UNIVERSE *universe); 28