summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/ContentManagers
AgeCommit message (Collapse)Author
2023-04-02adjust ModContentManager.HandleUnknownFileTypes to let mods patch itJesse Plamondon-Willard
2022-10-09drop UseRawImageLoading optionJesse Plamondon-Willard
Raw image loading is now always enabled, except in PyTK compatibility mode.
2022-10-09split PyTK raw-image-load check into a separate method so it can be patched ↵Jesse Plamondon-Willard
by mods like SpriteMaster
2022-10-09set texture name earlier to support mods like SpriteMasterJesse Plamondon-Willard
2022-10-08tweak new codeJesse Plamondon-Willard
2022-10-08 use try..finally to make sure rented arrays are returnedJesse Plamondon-Willard
2022-10-08Partially revert "Favor record structs when there are four or fewer elements."atravita-mods
This reverts commit f5d49515c4eddfb415903a89d70654cf9b6de299.
2022-10-08hide throwhelper from stack trace in dotnet 6atravita-mods
2022-10-08Favor record structs when there are four or fewer elements.atravita-mods
2022-10-08arraypool in the modcontentmanager, a bit of fussingatravita-mods
2022-08-29deprecate PyTK compatibility modeJesse Plamondon-Willard
2022-08-29update compatibility workaround for the recent PyTK updateJesse Plamondon-Willard
2022-08-08tweak new error textJesse Plamondon-Willard
2022-08-05Adds an error message for an invaild pngatravita-mods
2022-07-06update code annotationsJesse Plamondon-Willard
2022-07-05fix PyTK compatibility mode not handling some edge casesJesse Plamondon-Willard
2022-06-20add flag to disable deprecated codeJesse Plamondon-Willard
2022-06-10add image compatibility mode for PyTKJesse Plamondon-Willard
2022-06-10fix accidental case-sensitivity changeJesse Plamondon-Willard
2022-06-10use IRawTextureData instead of intermediate tupleJesse Plamondon-Willard
2022-06-10simplify asset type validaitonJesse Plamondon-Willard
2022-06-10apply style conventionsJesse Plamondon-Willard
2022-06-10Refactored ModContentManager.cs so it actually fit on my 1440p screens.Ameisen
Changed LocalTilesheetExtensions into an array. Marked 'CreateTemporary' as 'Obsolete' which is conventional for methods that only throw. Moved the type validation logic into its own method as it's largely shared for each loader. Changed allocators to use `GC.AllocateUninitializedArray`, as the data does not need to be initialized. Changed `LoadRawImageData` to use a `ValueTuple` return instead of returning with multiple `out`s, which is bad practice. Preferred rethrowing handlers rather than exception filters (which generate bizarre and _very difficult to patch_ code). Marked GetLoadError as debugger step through and hidden, as it's just an exception generator. Marked PremultiplyTransparency, GetContentKeyForTilesheetImageSource, and LoadRawImageData as static as they have no dependency on instance data (nor should they). Fixed `.xnb` extension search to properly use OrdinalIgnoreCase.
2022-06-10simplify pixel conversion loopJesse Plamondon-Willard
2022-06-10encapsulate loading the raw image data for mod patchingJesse Plamondon-Willard
2022-06-10add validation error when loading XNB file as IRawTextureDataJesse Plamondon-Willard
2022-06-10enable raw image loading by default, rename settingJesse Plamondon-Willard
2022-06-10add IRawTextureData asset typeJesse Plamondon-Willard
2022-06-10add experimental image load rewriteJesse Plamondon-Willard
2022-05-27fix typoJesse Plamondon-Willard
2022-05-24fix split-screen error when a mod provides a localized asset in one screen ↵Jesse Plamondon-Willard
but not another
2022-05-18simplify asset propagation a bit to prepare for the upcoming SDV 1.6Jesse Plamondon-Willard
2022-05-18fix asset type when checking if a mod asset existsJesse Plamondon-Willard
2022-05-15fix typoJesse Plamondon-Willard
2022-05-15reduce performance impact of deprecation warningsJesse Plamondon-Willard
Creating a stack is *very* slow, so it should be avoided if possible until after the duplicate-warning check.
2022-05-11rewrite asset operations to reduce allocationsJesse Plamondon-Willard
• When raising AssetRequested, SMAPI now creates a single event args model and reuses it for each handler. • There's now a single AssetOperationGroup per asset, which tracks the loaders/editors registered by every mod for that asset. • The operation group's loader/editor lists are now used directly instead of querying them.
2022-05-11add error code to SContentLoadExceptionJesse Plamondon-Willard
2022-05-07simplify and rewrite case-insensitive file path featureJesse Plamondon-Willard
2022-05-06fix content managers' LoadBaseString not recognizing localized mod assetsJesse Plamondon-Willard
2022-05-04remove aggressive memory optimizations optionJesse Plamondon-Willard
2022-05-04disable case-insensitive paths by default pending performance reworkJesse Plamondon-Willard
2022-04-19move deprecation code into namespaceJesse Plamondon-Willard
2022-04-16move case-insensitive path lookup into toolkit for reuseJesse Plamondon-Willard
2022-04-16use specified nullability in reflection API (#837)Jesse Plamondon-Willard
2022-04-13remove reflection no longer needed after migration to MonoGameJesse Plamondon-Willard
2022-04-13enable nullable annotations in the rest of SMAPI core (#837)Jesse Plamondon-Willard
2022-04-13enable nullable annotations in SMAPI where no logic changes are needed (#837)Jesse Plamondon-Willard
2022-04-11add IAssetDataForMap.ExtendMapJesse Plamondon-Willard
2022-04-06fix all warnings to simplify migration to nullable annotations (#837)Jesse Plamondon-Willard
2022-04-06enable nullable annotations by default (#837)Jesse Plamondon-Willard
This adds `#nullable disable` to all existing code (except where null is impossible like enum files), so it can be migrated incrementally.