2 Years Ago
Add a basic asset.party location to the asset browser, remote assets have the drag data of `https://asset.party/{ Org }/{ Ident }` Move ManifestMount to Sandbox.Engine Static ToolRender class uses the current CToolRenderContext context Dropping an asset.party asset on a map view creates an empty prop_static that downloads and sets its model asynchronously Create a remote asset manifest within a map doc, save/load remote assets used within the map Simplify mapdoc remote asset manifest, no need for all these C++ bindings ResourceCompilerMap: parse the remote asset manifest and symlink mount any transient assets just before `CResourceCompilerMap::CollectMapDependencies` ResourceCompilerMap: Put the transient asset manifest in the .vpk - this will serve two purposes: publishing should mount before collecitng dependencies of the map, when loading the map locally we need to fetch/mount these transient assets Mount transient assets in resourcecompiler even earlier with a vmap.meta file, any later and the references get fucked up Clean up all this dmx crap and use Asset.MetaData on the vmap for our transient asset manifest Small cleanup in compilemap, it's okay not to have a .meta file, remove some debug logs Get the debug download text working again, use static dirtying this time so its safer / easier Fix null ref on new maps Use AssetSystem.InstallAsync when dropping a package on the map, delete all the old bullshit ManifestMount around here No need for CResourceCompilerMap::MountMapTransientAssets now, asset system mounts cloud automatically Save distinct Asset.Package idents of referenced assets on map save into the Asset.Meta, and make sure they are installed on map load Revert "Move ManifestMount to Sandbox.Engine" This reverts commit c1cbe1e2c3ce181ddde6f9633fe1861c04576bbf. Set the bounding box based on package metadata so you know how big the model is while it's still downloading - I think this metadata probably belongs in the Qt drop data Remove bad using When we're dragging on the map view with Qt, start a QTimer to run tool frames manually. This makes dragging packaged assets able to async properly since we can run our main thread synccontext and dirtied map nodes will actually re-render. Early out if the cloud assets already has the package, don't bother with any unnecessary remote fetching. Refactor and comment. Add Install to context menu of a packaged asset, have already found myself wanting this Icon indicators for installed cloud packages Remove the danger from this async code by using a reference to the CMapNode ID instead, can refactor this further but it's much less shit now Fix model getting stomped whilst dragging it around, for some reason the native free drag code restores from a baseline copy every drag event