static void writeUri(const Uri* uri, Writer* writer, int omitComponents = 0) { SELF_CONST(uri); if(omitComponents & UCF_SCHEME) { ddstring_t emptyString; Str_InitStatic(&emptyString, ""); Str_Write(&emptyString, writer); } else { Str_Write(DualString(self->scheme()).toStrUtf8(), writer); } Str_Write(DualString(self->path()).toStrUtf8(), writer); }
void SaveInfo_Write(SaveInfo *info, Writer *writer) { saveheader_t *hdr; DENG_ASSERT(info != 0); hdr = &info->header; Writer_WriteInt32(writer, hdr->magic); Writer_WriteInt32(writer, hdr->version); Writer_WriteInt32(writer, hdr->gameMode); Str_Write(&info->name, writer); Writer_WriteByte(writer, hdr->skill); Writer_WriteByte(writer, hdr->episode); Writer_WriteByte(writer, hdr->map); Writer_WriteByte(writer, hdr->deathmatch); Writer_WriteByte(writer, hdr->noMonsters); #if __JHEXEN__ Writer_WriteByte(writer, hdr->randomClasses); #else Writer_WriteByte(writer, hdr->respawnMonsters); Writer_WriteInt32(writer, hdr->mapTime); { int i; for(i = 0; i < MAXPLAYERS; ++i) { Writer_WriteByte(writer, hdr->players[i]); }} #endif Writer_WriteInt32(writer, info->gameId); }
void StringArray_Write(const StringArray *ar, Writer *writer) { assert(ar); Writer_WriteUInt32(writer, ar->array.size()); // Write each of the strings. for(StringArray::Strings::const_iterator i = ar->array.begin(); i != ar->array.end(); ++i) { Str_Write(**i, writer); } }