Data Structures |
|
struct | RwChunkHeaderInfo |
struct | RwMemory |
struct | RwStream |
struct | RwStreamCustom |
union | RwStreamFile |
struct | RwStreamMemory |
union | RwStreamUnion |
Enumerations |
|
enum | RwCorePluginID { rwID_NAOBJECT = 0x00, rwID_STRUCT = 0x01, rwID_STRING = 0x02, rwID_EXTENSION = 0x03, rwID_CAMERA = 0x05, rwID_TEXTURE = 0x06, rwID_MATERIAL = 0x07, rwID_MATLIST = 0x08, rwID_ATOMICSECT = 0x09, rwID_PLANESECT = 0x0A, rwID_WORLD = 0x0B, rwID_SPLINE = 0x0C, rwID_MATRIX = 0x0D, rwID_FRAMELIST = 0x0E, rwID_GEOMETRY = 0x0F, rwID_CLUMP = 0x10, rwID_LIGHT = 0x12, rwID_UNICODESTRING = 0x13, rwID_ATOMIC = 0x14, rwID_TEXTURENATIVE = 0x15, rwID_TEXDICTIONARY = 0x16, rwID_ANIMDATABASE = 0x17, rwID_IMAGE = 0x18, rwID_SKINANIMATION = 0x19, rwID_GEOMETRYLIST = 0x1A, rwID_HANIMANIMATION = 0x1B, rwID_TEAM = 0x1C, rwID_CROWD = 0x1D, rwID_DMORPHANIMATION = 0x1E, rwID_RIGHTTORENDER = 0x1f, rwID_MTEFFECTNATIVE = 0x20, rwID_MTEFFECTDICT = 0x21, rwID_TEAMDICTIONARY = 0x22, rwID_PITEXDICTIONARY = 0x23, rwID_TOC = 0x24, rwID_PRTSTDGLOBALDATA = 0x25, rwID_ALTPIPE = 0x26, rwID_PIPEDS = 0x27, rwID_PATCHMESH = 0x28, rwID_COREPLUGINIDMAX = 0x29, rwCOREPLUGINIDFORCEENUMSIZEINT = RWFORCEENUMSIZEINT } |
enum | RwStreamType { rwNASTREAM = 0, rwSTREAMFILE, rwSTREAMFILENAME, rwSTREAMMEMORY, rwSTREAMCUSTOM, rwSTREAMTYPEFORCEENUMSIZEINT = RWFORCEENUMSIZEINT } |
enum | RwStreamAccessType { rwNASTREAMACCESS = 0, rwSTREAMREAD, rwSTREAMWRITE, rwSTREAMAPPEND, rwSTREAMACCESSTYPEFORCEENUMSIZEINT = RWFORCEENUMSIZEINT } |
Functions |
|
RwBool | RwStreamFindChunk (RwStream *stream, RwUInt32 type, RwUInt32 *lengthOut, RwUInt32 *versionOut) |
RwStream * | RwStreamWriteReal (RwStream *stream, const RwReal *reals, RwUInt32 numBytes) |
RwStream * | RwStreamWriteInt32 (RwStream *stream, const RwInt32 *ints, RwUInt32 numBytes) |
RwStream * | RwStreamWriteInt16 (RwStream *stream, const RwInt16 *ints, RwUInt32 numBytes) |
RwStream * | RwStreamReadInt16 (RwStream *stream, RwInt16 *ints, RwUInt32 numBytes) |
RwStream * | RwStreamReadReal (RwStream *stream, RwReal *reals, RwUInt32 numBytes) |
RwStream * | RwStreamReadInt32 (RwStream *stream, RwInt32 *ints, RwUInt32 numBytes) |
RwStream * | RwStreamReadChunkHeaderInfo (RwStream *stream, RwChunkHeaderInfo *chunkHeaderInfo) |
RwStream * | RwStreamWriteChunkHeader (RwStream *stream, RwInt32 type, RwInt32 size) |
void | RwStreamSetFreeListCreateParams (RwInt32 blockSize, RwInt32 numBlocksToPrealloc) |
RwUInt32 | RwStreamRead (RwStream *stream, void *buffer, RwUInt32 length) |
RwStream * | RwStreamWrite (RwStream *stream, void const *buffer, RwUInt32 length) |
RwStream * | RwStreamSkip (RwStream *stream, RwUInt32 offset) |
RwBool | RwStreamClose (RwStream *stream, void *pData) |
RwStream * | RwStreamOpen (RwStreamType type, RwStreamAccessType accessType, const void *pData) |
Represents a RenderWare Binary Stream.
RenderWare has only one primary file format: the RenderWare Binary Stream. Serializable objects can be read from and written to these streams. The resulting data files are generally platform-neutral. (An exception to this is RwTexDictionary, which is platform-dependent.)
Serializable objects have dedicated RenderWare Binary Stream read/write functions in their respective APIs. The RwStream API itself is used by these functions to perform the low-level work. Developers can also use these functions to interrogate RenderWare Binary Streams and learn their contents.
Developers should note that major version updates to RenderWare may require re-exporting and/or rebuilding of data as the RenderWare Binary Stream system includes a versioning system to prevent RenderWare from attempting to load incomplete data structures.
|
A chunk is a block of binary stream data containing objects. These objects are referenced using object IDs which are listed below. Before an object stream is read, a chunk needs to be obtained containing the object ID. These IDs are used with the function RwStreamFindChunk. To write a chunk into a stream RwStreamWriteChunkHeader is used with one of the following object IDs.
|
|
RwStreamAccessType This type represents the options available for accessing a stream when it is opened. See API section RwStream |
|
RwStreamType This type represents the different types of stream that can be used. See API section RwStream |
|
RwStreamClose is used to close the specified binary stream. For streams of type rwSTREAMMEMORY the stream specific argument should point to a RwMemory structure that will receive the position and size of the memory block used by the stream. For other stream types set the argument to NULL.
|
|
RwStreamFindChunk is used to scan through the specified stream looking for the first occurrence of a chunk of the given type. This function can be used in conjunction with the appropriate stream read function to load objects and data from RenderWare binary files. This function will produce warning messages if old binary files are streamed in. Depending on the binary file's version stamp, it may be still be read successfully or fail. It is recommended that all old binary files be updated to newer versions, by re-exporting, if the warning messages appears.
|
|
RwStreamOpen is used to open and initialize a new binary stream according to the specified stream type and access mode.
|
|
RwStreamRead is used to read a number of bytes from the specified stream into the given data buffer. This function can only be used on a stream that has been opened for reading using the rwSTREAMREAD flag.
|
|
RwStreamReadChunkHeaderInfo reads the Chunk Header information and stores it in the structure provided.
|
|
RwStreamReadInt16 is used to read an array of RwInt16 data values from the specified stream. The data is read from the stream in and converted automatically to little-endian or big-endian representation, as appropriate for the platform. (RenderWare Streams use little-endian format internally.)
|
|
RwStreamReadInt32 is used to read an array of RwInt32 data values from the specified stream. The data is read from the stream in and converted automatically to little-endian or big-endian representation, as appropriate for the platform. (RenderWare Streams use little-endian format internally.)
|
|
RwStreamReadReal is used to read an array of RwReal data values from the specified stream. The data is read from the stream and converted automatically to little-endian or big-endian format as appropriate for the platform. (RenderWare Streams use little-endian format internally.)
|
|
RwStreamSetFreeListCreateParams allows the developer to specify how many RwStream s to preallocate space for. Call before RwEngineInit.
|
|
RwStreamSkip is used to skip the specified number of bytes in the given stream. This function can only be used on a stream opened for reading and after calling RwStreamSkip subsequent reads will begin from the new position within the stream.
|
|
RwStreamWrite is used to write a number of bytes to the specified stream from the given data buffer. This function can only be used on a stream which has been opened for writing or appending using the rwSTREAMWRITE or rwSTREAMAPPEND flags, respectively.
|
|
RwStreamWriteChunkHeader is used to write a chunk header to the specified stream. This function would typically be used by an application wishing to write application specific data to a file. The chunk identifier is a 32 bit value which identifies the type of data to be written in a universally unique way. The three highest order bytes (24 most significant bits) should be the developers ID. The developers ID is the number that is used by that developer as a username to log on to the RenderWare developers website. The low-order byte (8 least significant bits) is used for each custom chunk type, and are allocated by the individual developer. If more than 256 custom data types are required then Criterion would then supply you with further developers IDs. RwStreamWriteChunkHeader is currently implemented as a macro.
|
|
RwStreamWriteInt16 is used to write the given array of RwInt16 data values to the specified stream. For compatibility across multiple platforms, the data is automatically converted to little-endian format if necessary. This process is reversed upon reading the stream data so no platform-specific conversion is needed.
|
|
RwStreamWriteInt32 is used to write the given array of RwInt32 data values to the specified stream. For compatibility across multiple platforms, the data is automatically converted to little-endian format if necessary. This process is reversed upon reading the stream data so no platform-specific conversion is needed.
|
|
RwStreamWriteReal is used to write the given array of RwReal data values to the specified stream. For compatibility across multiple platforms, the data is automatically converted to little-endian format if necessary. This process is reversed upon reading the stream data so no platform-specific conversion work is needed.
|
Converted from CHM to HTML with chm2web Pro 2.85 (unicode) |