Custom Assets Library Plugin
By LordAshes and Hollofox, Custom Assets Library Plugin is a new tool to bring TaleWeaver (custom assets) support early
Date uploaded | 2 years ago |
Version | 3.5.0 |
Download link | PluginMasters-Custom_Assets_Library_Plugin-3.5.0.zip |
Downloads | 4678 |
Dependency string | PluginMasters-Custom_Assets_Library_Plugin-3.5.0 |
This mod requires the following mods to function
bbepisTaleSpire-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.10LordAshes-FileAccessPlugin
Provides standardized methods for accessing both local file and url resources. Automatically handles searching local folders for assets.
Preferred version: 1.7.0README
Custom Assets Library Plugin
The Custom Assets Library Plugin (CALP) is the successor to EAL and EAR which converts packs to use the TaleWeave Interface. Supplementary functionality like Auras, Effects, Filters, Transformations, Animations and Sound has been moved to the new Custom Assets Library Plugin Integrated Extension (CALPIE) plugin.
Installing With R2ModMan
This package is designed specifically for R2ModMan and Talespire. You can install them via clicking on "Install with Mod Manager" or using the r2modman directly.
This is the Baby Edition for users that don't read the documentation <gasp>. It defaults to always reregistering assets
so that, if there is a guid change, the assets will be automatically re-registered and the users won't cry about it.
For those of you who do read the documentation <clap> please go into your R2ModMan configuration for the plugin and set
the Registration Mode to rebuildIfMissing
.
Please note that the configuration files has changed to org.pluginmasters.plugins.customassetslibraryplugin.cfg
. The
old config file can be deleted so as to not cause confusion in the future.
Player Usage
This plugin used for players allows TaleSpire to search for TaleWeaver content in the R2Modman Directory. This will allow direct download of TaleWeaver packs via R2Modman.
Use of variants required CALPIE.
Default Keyboard Shortcuts
CALP has a bunch of keyboard shortcuts for triggering additional functionality. The default keys can be reconfigured to other keys by editing the R2ModMan configuration for the CALP plugin. Keyboard shortcuts are divided into two sub-sections: functionality triggers and asset spawn modifeirs.
Asset Types
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
| Kind | Armature | Shader | Transparency | Hide | Comments |
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
| Any | Yes | From Asset Bundle | Supported | Not Supported | Applies to the armature meshes only |
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
| Creature | No | TS/Creature | Not Supported | Supported | This is the default for minis |
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
| Audio | No | TS/Creature | Not Supported | Supported | Mini starts playing audio when place on board* |
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
| Auras | No | From Asset Bundle | Supported | Supported* | Not yet implemented in CAPL* |
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
| Effect | No | From Asset Bundle | Supported | Supported* | Used to create minis with non-TS shaders* |
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
| Transform | No | TS/Creature | Not Supported | Supported | Not yet implemented in CAPL* |
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
| Prop | No | TS/Placeable | Not Supported | Supported | Not yet implemented in CAPL |
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
| Tile | No | TS/Placable | Not Supported | Not Supported | Not yet implemented in CAPL |
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
| (Multi) Slab | N/A | TS/Placable | Not Supported | Not Supported | Partially supported. Height bar does not work* |
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
| Encounter | N/A | Based On Asset | Based On Asset | Supported | Not yet implemented in CAPL* |
+-----------------+-----------+-------------------+--------------------+--------------------+----------------------------------------------------+
Functionality marked by *
required CALPIE to function.
Developer Usage (Asset Creators)
Inbuilt into this package is a Binary Index writer which will generate a TaleWeaver compliant index file mimicing the interface of TaleWeaver. This is incredibly experimental and is being worked on. With CALP, EAR compliant files can be converted to TW compliance. This allows asset creators to keep their current workflow.
After CALP runs, an index.json
and index
files will be generated with some re-organizing. In the root of index.json
file will contain an assetPackId
variable which can be used to copy over into TaleWeaver's Steamapps folder.
Unregister Batch File
If you update an asset (e.g. custom mini) you may or may not need to re-register it. If the asset's info.txt file and portrait.png file remained the same, you can just copy your new asset over the old one and the next time TS runs, it will use the updated version. If you did modify the info.txt or portrait.png file or added new assets to the pack then you will need to re-register the pack. To make this process easier, the Unregister batch file is provdied. Double click on this batch file to return the pack to its unregistered condition and it will get re-registered when TS is started again.
Tweaking Packs
As of version 3.2.0 there is a new tweak option. This option allows you to override settings in an assets' info.txt file without needing to modify the asset bundle. The most common use for this is to place the assets in different categories or groups but any property in the info.txt file can be tweaked. To use this feature, follow these steps:
1. Create a single CALP.Tweaks.rom file. This should be a plain text file.
2. Enter one or more lines of tweaks using the following format:
Asset Name:Property=Value
For example:
Modern Soldier:groupName=Military
3. Save the file.
4. Make sure all asset packs with assets to be tweaked are unregistered.
5. Run TS.
Notes:
1. All tweaks are contained in one common Tweak file for all assets.
2. Comment lines can be made by starting the line with ' or # or //
3. Empty lines are ignored.
4. If you run TS with at least one modification (could be a dummy entry) then it will log the name of each asset as it registers it (which is the name that should be used to make tweaks).
5. The property name is the same as in the info.txt file.
Register For Vanilla Batch File
To help content developers use their custom assets even on Vanilla Talespire (non-modded Talespire), CALP generates a RegisterForVanilla.Bat file in the root of each pack. Using this batch file creates a directory link to be created in the Taleweaver directory that points to the pack location. Talespire will be convinced that the content is in the Taleweaver folder even though it is actually elsewhere. In order to use this batch file, you will need to do the following:
1. Open up a Command Prompt using the Run As Administrator. A normal Command Prompt does not have permissions to make links.
2. Execute the batch file with the location of your Taleweaver directory. For example: RegisterForVanilla E:\Steam\steamapps\common\TaleSpire\Taleweaver
To remove the link, just go to the Talwweaver folder and delete the corresponding sub-folder (not the d71427a1-5535-4fa7-82d7-4ca1e75edbfd folder since that is the core TS folder).
Info.Txt Files
Below is a list of the currently supported proeprties in the info.txt file. Any of the old EAR properties (which are not yet listed here) are accepted but will be ignored.
{
"name": "Assasin",
"prefab": "",
"kind": "Effect",
"category": "Creature",
"groupName": "Human",
"description": "Assasin",
"tags": "Human,Rogue,Assasin",
"author": "Lord Ashes",
"version": "1.0",
"comment": "Maximo source",
"size": 1.0,
"prefab": "laassasin01"
"variants": [ "laassasin01_crouch", "laassasin01_fire", "laassasin01_death" ]
}
All properties are optional and will take the default if not provided. The "prefab" property allow using a different prefab name than the asset bundle name. If empty the prefab will default to the asset bundle name.
Asset Bundle Contents
When making a single asset with no variants then the prefab should have the same name as the asset bundle name, which should have the same name as the asset bundle file name. CALP uses the file name to determine the prefab name unless the prefab property is set in which case it uses that instead. If this rule is not followed a warning will appear on startup indicating that the Prime Direction has been violated.
When making asset which have variants, the single asset bundle should have multiple prefabs with one matching the asset bundle file name or the prefab property. The rest of the prefabs can be named as desired and this is the name that is used in the variants property (which is a list) to automatically create the variants and link them to the morph list (which is done by CALPIE).
Binary index writer usage (BepInEx Dev)
the index writer as a supplied interface and method to write the pack. PackContent data structure does not use blob references or ECS upon initial construction.
CustomAssetsLibrary.CustomAssetLib.generate(folder);
After completion, the WritePack method will convert it into the ECS Blob structure and write the index file into the modpack directory.
Changelog
3.5.0: Attachment Point patch
3.4.0: CAL & CAC optimization, optional zeus file generated for content creators, removed deprecated dll
3.3.2: Bug fix for hit locations on non-invariat cultures
3.3.1: Bug fix for variants preventing aura/effects
3.3.0: Added support for hit locations
3.3.0: Baby Edition: Defaults to always re-registering assets
3.3.0: Corrected namespace and guid
3.2.1: Added option to hide or not hide variants.
3.2.1: Move to a less static implementation.
3.2.0: Added new tweak support to locally modify info.txt file for assets without modifying the asset bundle
3.1.0: Updated to use memory index writing via CAC instead of index.json writing via CAL. (Performance Increase)
3.1.0: Changed Delete JSON files (no longer needed) to Create JSON reference files
3.0.0: Repack with CAL broken into different libraries
2.7.0: Re-implemented variants feature
2.6.0: Working region indepepndent version of CALP.
2.5.6: Bug fix for default mini orientation
2.5.5: More region settings fixed
2.5.2: Corrected dependencies to use SmartConvert dependency plugin instead of local SmartConvert library
2.5.1: More localization of region setting fixes.
2.4.0: Localization of region setting fix.
2.3.1: Corrected asset pack hierarchy. No plugin or library change.
2.3.0: Bug fix for Cyberpunk update
2.2.0: Bug fix for assets without info.txt and/or portrait.png
2.2.0: Improved registration logging
2.1.0: Added SmartJsonConvert to allow plugin to work in different locale regions without needing to switch region settings before running Talespire.
2.0.0: Moved supplementary functionality to CALPIE.
1.6.0: Added Effect hide functionality.
1.6.0: Added checks for improper asset bundles with visual warning and list in the logs.
1.5.0: Added scripts for unregistering and registering for vanilla.
1.5.0: Added option to tweak index.json files.
1.4.1: Updated documentation. No plugin change.
1.4.0: Added animation functionality
1.4.0: Added sound functionality
1.4.0: Added spawn modification keys
1.3.1: Improved logs
1.3.1: Bug Fix: Null Reference on ghosts
1.3.0: Bug Fix: Endless bases on load
1.3.0: Bug Fix: Spawn size for non-medium creatures
1.2.1: Corrected Thunderstore posting
1.2.0: Effects support trasparency.
1.2.0: Effects are restored on board load.
1.2.0: Bug Fix: AssetBundle Shader is not applied to Creature.
1.1.0: Fixed Effects support.
1.1.0: Fixed Index Out Of Bounds issue.
1.1.0: Added pre and post callbacks to implement additional features.
1.1.0: Temporarily removed dependency on Asset Data plugin.
1.0.1: Added missing Default Portrait into pack. No plugin change.
1.0.0: Official Release, CAL & CAP integrated and working.
Shoutout to Hollofoxes Patreons recognising their mighty contribution to his caffeine addiction:
- John Fuller
- Tales Tavern - MadWizard
Also checkout LordAshes donation page
CHANGELOG
Changelog
3.5.5: Added FileAccessPlugin request to reload cache after registration (since registration process renames folders)
3.5.4: Seperate Changelog
3.5.3: Update minor logging and reference settings to remove errors from CAL & CAC
3.5.2: Updated Index Compiler to v2 format to fix the Slab update. Index files will need to be recompiled
3.5.1: Corrected pack layout to fix Default Portrait error. No CALP plugin version change.
3.5.0: Attachment Point patch. No CALP plugin change.
3.4.0: CAL & CAC optimization, optional zeus file generated for content creators, removed deprecated dll. No CALP plugin version change.
3.3.2: Bug fix for hit locations on non-invariat cultures
3.3.1: Bug fix for variants preventing aura/effects
3.3.0: Added support for hit locations
3.3.0: Baby Edition: Defaults to always re-registering assets
3.3.0: Corrected namespace and guid
3.2.1: Added option to hide or not hide variants.
3.2.1: Move to a less static implementation.
3.2.0: Added new tweak support to locally modify info.txt file for assets without modifying the asset bundle
3.1.0: Updated to use memory index writing via CAC instead of index.json writing via CAL. (Performance Increase)
3.1.0: Changed Delete JSON files (no longer needed) to Create JSON reference files
3.0.0: Repack with CAL broken into different libraries
2.7.0: Re-implemented variants feature
2.6.0: Working region indepepndent version of CALP.
2.5.6: Bug fix for default mini orientation
2.5.5: More region settings fixed
2.5.2: Corrected dependencies to use SmartConvert dependency plugin instead of local SmartConvert library
2.5.1: More localization of region setting fixes.
2.4.0: Localization of region setting fix.
2.3.1: Corrected asset pack hierarchy. No plugin or library change.
2.3.0: Bug fix for Cyberpunk update
2.2.0: Bug fix for assets without info.txt and/or portrait.png
2.2.0: Improved registration logging
2.1.0: Added SmartJsonConvert to allow plugin to work in different locale regions without needing to switch region settings before running Talespire.
2.0.0: Moved supplementary functionality to CALPIE.
1.6.0: Added Effect hide functionality.
1.6.0: Added checks for improper asset bundles with visual warning and list in the logs.
1.5.0: Added scripts for unregistering and registering for vanilla.
1.5.0: Added option to tweak index.json files.
1.4.1: Updated documentation. No plugin change.
1.4.0: Added animation functionality
1.4.0: Added sound functionality
1.4.0: Added spawn modification keys
1.3.1: Improved logs
1.3.1: Bug Fix: Null Reference on ghosts
1.3.0: Bug Fix: Endless bases on load
1.3.0: Bug Fix: Spawn size for non-medium creatures
1.2.1: Corrected Thunderstore posting
1.2.0: Effects support trasparency.
1.2.0: Effects are restored on board load.
1.2.0: Bug Fix: AssetBundle Shader is not applied to Creature.
1.1.0: Fixed Effects support.
1.1.0: Fixed Index Out Of Bounds issue.
1.1.0: Added pre and post callbacks to implement additional features.
1.1.0: Temporarily removed dependency on Asset Data plugin.
1.0.1: Added missing Default Portrait into pack. No plugin change.
1.0.0: Official Release, CAL & CAP integrated and working.