This repository has been archived by the owner on Dec 16, 2019. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Setting Record::IsCompressed flag internally no longer requires speci…
…al treatment Previously, it required code to prevent it from being out of sync with later reads Otherwise, CBash could attempt to decompress a non-compressed record or fail to decompress a compressed record Now reading explicitly checks the original flags, and Record::IsCompressed is only used on writing Records may now be undeleted! Simply toggle the Record::IsDeleted flag Deleted records are automatically filled in with the last known good record data from that mod's history when read Fixed potential future bug in writing records if a record's flags was changed internally and the record was not marked as changed These conditions were never satisified in the previous code, but might in the future due to the change in IsCompressed and IsDeleted. Now it checks to see if the flags have changed, and if so, fully writes the record rather than copying it from the original buffer Simplified Collection::NextFreeExpandedFormID Added virtual Record::SetEditorIDKey to match GetEditorIDKey Simplified FileReader FileReader::peek_around now takes an optional position arg (defaults to current pos) FormIDHandlerClass::NextExpandedFormID should work with objectID 0x00FFFFFF now Documented FormIDHandlerClass in depth (likely too well...) Support in progress for FNV::BPDT, and FNV::PERK records FNVRecordProcessor no longer inherits from RecordProcessor Simplified GRUP record processing Moved several error checks out of the main loop, so it should load somewhat faster Added and exported RedirectMessages(SINT32 (*_LoggingCallback)(const STRING)) function CBash now prints its error messages to Python's stdout by default whenever cint is used Removed remnants of old logging experiment cint now checks the error return codes of several functions CBashError is raised if an error is returned Checked functions include CreateCollection, DeleteCollection, LoadCollection, etc High use functions like GetField, GetFieldAttribute, SetField, etc are NOT checked to avoid performance hits Variety of minor type mismatches fixed Aborted attempt to replace std::map indexing Custom indexing used ~2x as much memory (~55 bytes per record vs ~23 bytes per record) Left much of it in place, commented out, for future work Added debugging macro CBASH_CHUNK_DEBUG to all records
- Loading branch information