Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
OAR enhancements, including support for recursive scan/loading and IW…
… OARs opt-in (#54) * Changes to support filtered OAR loading, minus actual filtering. * Added `scan iwoar`, without the database storage (yet). * creator_assets storage, basic filtering of assets, root prim/objects * Actually does the filtering, plus semantic changes on some commands. saves creators on SCAN by default, doesn't remap uuids by default on load (unless --allow-reassign is used), a bit of cleanup on parameters. * Oops, gotta filter the contents objects, not outer objects. And void null reference exception * Fixed null reference and return value for unfiltered case. * Fixed counter for case where opt-in was unknown. * work in progress. first attempt to reserialize modified objects. * Changes to support filtered OAR loading, minus actual filtering. * Added `scan iwoar`, without the database storage (yet). * creator_assets storage, basic filtering of assets, root prim/objects * Actually does the filtering, plus semantic changes on some commands. saves creators on SCAN by default, doesn't remap uuids by default on load (unless --allow-reassign is used), a bit of cleanup on parameters. * Oops, gotta filter the contents objects, not outer objects. And void null reference exception * Fixed null reference and return value for unfiltered case. * Fixed counter for case where opt-in was unknown. * work in progress. first attempt to reserialize modified objects. * I didn't need this user asset remapping after all. * Fixed the EOF error handling in TarArchiveReader to return null on EOF. * Use more member variables for runtime context, inc m_inventorySerializer * Track nested depth and replace asset on filtering. * Doh. Put the Equals test back in to FilterContents, and disable depth. The latter is just a test for now for tracing. * Fixed the owner checks not to use the (old, wrong) serialized OwnerID * Added ConsoleMode class and call to disable Quick Edit mode on consoles. Was causing consoles to hang if someone clicked on one with the mouse. (I thought this was already coded, it's like a change was lost.) This implementation is probably cleaner than any previous one anyway. * Added a runtime check to set the console mode only under Windows. Should allow safe Windows execution, while also allowing a clean Linux startup again. * Simple URL change in sample INI file * NUnit to 3 series from NuGet * Cleanup and fix LRUCache implementation and tests Some modernization refactoring, documentation, and some bugfixing as revealed by the unit tests. Removed the bool that Mike had added to LRUCache in favor of just checking the null status of the objectSizes object, like is done elsewhere in the code. Had to fix the size accumulator not getting size amounts when objectSizes wasn't active: the rest of the code assumed it would be incremented by a size of 1 and it wasn't. * Inline wait in unit test This allows for cleaner reporting of aggregate exceptions. * Cleaning up NREs exposed by updated tests All because the tests are doing things for simplified setup that the code doesn't really support... * Fixed remote presence tests Needed the regions to actually be there so that they could be contacted and respond that they got the agent. * Enable unit tests in Appveyor * Document netsh commands needed to pass the unit tests * Disable the error reports "Failure storing asset" due to already exists. And "Not storing asset that already exists" * Fixed inappropriate "ServerWeight is -1 after delta of 0" messages. * Fixed incorrect nested foreach scaning objects, added counters. * Factor ReplacePartWithDefaultPrim, filter sculpt/mesh assets. * Add mesh to scan + counters, fix null reference on unrecognized assets More error reporting for asset filters and failures * Terrain texture filtering added. No recognition of library assets yet though. * Not InWorldz Library (this gets overridden by User's XML anyway. * Don't filter Library assets. * Coded but untested, support for coalesced Contents items (mutable!). * For easier load iwoar testing, support 'all' variant on nuke command. * Fixed breakage of OriginalBackupIDs tracking, new UUIDs. * Let's substitute a plywood texture rather than white. To avoid masking/hiding replacement cases and making them more difficult to spot. * Cleaned up noisy logging (commented out for now). * When reserializing items, ensure they have (correct) owner ID specified. * Fix viewer textures, texture filtering, default faces, object owners, and lots of debugging * Lowered the threshold for reporting "Low physics" to 25fps * Added progress updates during load, and disabled debug messages. * optional oar debugging ("debug oars {level}" command) * Oar debugging, also fixed nuke to avoid attachments in wildcard case. * Removed the special cases for mesh textures. All filtering is consistent now with plywood. There's a lot of plywood. :(
- Loading branch information