Skip to content

Releases: vawser/Smithbox

1.0.24

22 Jan 03:29
Compare
Choose a tag to compare

General

  • Implemented thefifthmatt's changes to SoapstoneLib so their latest tools interface correctly.
  • The WIP editors are automatically hidden again (e.g. ESD and EMEVD Editors).

Param Editor

  • Added complete Param META for DES, DS1 and DS1R.
  • Added partial Param META for AC6 (will complete for next release).
  • Added proper AC6 paramdef (credit to TKGP).
  • Added quick toggles in the View dropdown menu for toggling various param editor settings.
  • Added ability to see field description and min, max and increment when hovering over field name.
  • Added ability to see min, max and increment in help icon hover text.
  • Implemented IsPadding meta tag. This tags all fields that are considered padding. Added toggle to show/hide these fields.
  • Implemented IsObsolete meta tag. This tags all fields that are considered obsolete (when noted in the paramdef). Added toggle to show/hide these fields.
  • Implemented Separator meta tag, adds a imgui separator above the tagged field in the Smithbox UI.
  • Added translated BB name lists (credit to ashenhunter021)
  • Added support for 'developer' row names (currently BB and AC6 only), which are the raw japanese and machine-translated english row names. This means these names can be kept as an option, whilst allowing the community names to be improved.
  • Added setting to change duplicate ID offset to values other than 1 in the Param Editor (useful for ItemLots mainly, so you can duplicate them without explicitly defining the 10 ID gap each time)
  • Added option to export all modified params
  • Added toggle to allow for merging of regulations by modified IDs only, not modified and unique IDs
  • Added a new tool to the Param Editor: Search Field Instances. Allows the user to quickly search for any instances of a string with the field defs, and displays matches.
  • Added "Find Row Name Instances" tool to Param Editor (similar to row ID tool, but for the row names)
  • Added support for a range search to the Field Value searcher tool in the Param Editor.
  • Added "value" field search term, to filter the fields to those with only that exact value.
  • Added "range" field search term, to filter the fields to those with only a value between the two specified values.
  • Added "Include Community Name in Search" option to Field Name Finder. This lets the user toggles the inclusion of the community name in the matching process.
  • Added "Complete Word Match" option to Field Name Finder, this lets the user force matches to only return true if the whole word segment matches the search term. For internal names, capitalization within the string is treated as a spacer for a new term.
  • Added support for Deep Copy to the duplicate action. This allows the offset to be applied to specific 'tagged' fields within the duplicated row. For example, this makes it easier to duplicate a set of bullets, as the internal bullet IDs for each row will be updated as well.
  • Added support for displaying 'community' names to the param list. Includes support for multiple param strings, so params that share a single param meta can all be covered.
  • Added toggle for display 'community' names in the param list (default is off).
  • Added support for param categories: these are groups of params under a collapsible header in the param list.
  • Added the ability for users to edit and define project-specific param categories (these will override the base categories set by Smithbox).

Map Editor

  • Implemented a MSB Meta system, similar to the Param META, for providing documentation to MSB properties.
  • All project types have basic coverage.
  • Added quick toggles in the View dropdown menu for toggling various map editor settings.
  • Added ability to import the AC6 msb map object names (in either Japanese or machine translated English).
  • Only works properly for map files with no additions/deletions.
  • Improved the copy asset menu to allow for more flexible copying
  • Added "Copy Property Name" to MSB field context menu so the user can easily copy the internal name to clipboard
  • Added search bar for filtering the MSB fields.

Project

  • Added the ability to edit the project.json in a simple way via the Project Configuration.
  • Added tooltips to explain each aspect of the project configuration lines.

Logger

  • Split the logger into action and warning logger.
  • Added toggles for the display of the loggers in the menu bar
  • Warning Logger holds warnings (e.g. issue with reading file) or errors (e.g. save failed)
  • Action Logger holds all other messages.
  • Made lots of log messages more descriptive.
  • Added theme options for editing the logger text colors.
  • Adjusted the LiveTasks so they are more descriptive, plus made the ID aspect explicit
  • Added fade time CFG vars for logger menu bar text visibility
  • Made read failures a warning log in most cases

Interface

  • Added a tab in the Interface settings for easily storing the current imgui.ini layout, setting to the stored version, and setting it to the default version.
  • Enabled the IME support (credit to FBplus).

Bugfixes

  • Added fix for Local Property Search when clicking 'Search' on an array member.
  • Fixed issue where using the Data menubar without a selected Text File would cause a crash.
  • Added safeguard to potential issue in Viewport Action.
  • Fixed issue with Text Search if a number greater than int was entered.
  • Fixed the display of Blood Gem Effects fmg, removing it from the text entry group as it doesn't follow the Blood Gem ID format.
  • Fixed the handling for PropertiesChangedAction and MultiplePropertiesChangedAction so it can handle value and valType being null.
  • Fixed issue with Copy Position/Rotation action in Map Editor that caused a crash.
  • Fixed a potential CTD if the Texture Viewer is disabled but the Image Preview in the Param Editor is enabled.
  • Fixed GameAreaParam map quick link for DS1 and DS1R
  • Fixed a bug with the Global Map Engine for DS1 and DS1R
  • Fixed crash issue when entering a name in the Map Editor.

1.0.23

29 Oct 23:29
Compare
Choose a tag to compare

General

  • Added basic support for Armored Core: For Answer, Armored Core 5 and Armored Core: Verdict Day (credit to WarpZephyr)
  • Added the ability to toggle which editors are presented to you in Smithbox.
    • Includes supports for work-in-progress editors: EMEVD, ESD and Cutscene.
      • EMEVD: supports basic property editing.
      • ESD: read-only.
      • Cutscene: read-only.
    • These are useful for data discovery, but editing features are not complete or not present at all.
  • Restored Soapstone support for DarkScript data linking (e.g. selecting an entity from DarkScript if the map is loaded).
    • You need to use the DarkScript build present in the Smithbox discord server however.
  • Pinned the search filter section in all editors that use it, so it doesn't disappear on scroll.

Param Editor

  • Added new BB Paramdex Meta.
  • Added new SDT Paramdex Meta (credit to MyMaidisKitchenAid).
  • Added new potential shortcuts for exporting param data via CSV. Unbounded by default.
  • Added support for AC6 regulation 1.07.2 to the Upgrader.

Model Editor

  • Added basic tools for model mesh translation, rotation and scaling to the Model Editor.

Text Editor

  • Text Search tool can now search for entry ID instead of only text.
  • Added "From external file" action for Text Import to allow the user to select the specific JSON to import instead of relying on the project-local lists.

Bugfixes

  • Text Editor: fixed issue with the fmg reference finder so it accounts for passed ID offset from the Paramdex meta again.
  • Text Editor: added null safeguards to Text Difference Manager.
  • Text Editor: blocked ability to change project whilst vanilla text bank is loading (preventing a crash).
  • Text Editor: fixed issue with container-level export actions.
  • Text Editor: fixed crash when multi-selecting in the File or Text File lists.
  • Text Editor: fixed issue with the naming templates being stored incorrectly.
  • Text Editor: fixed issue with the Text Creation menu creating entries incorrectly.
  • Text Editor: fixed issue with the Select-All shortcut applying outside of focus on the Text Entry window.
  • Model Editor: fixed issue that caused DS2 objects not to load in the model editor.

1.0.22.1

22 Oct 21:53
7d1f7d3
Compare
Choose a tag to compare

Text Editor

  • Added Simple File List view: displays containers used by the game (enabled by default).
  • Added Simple Text File List view: displays the text files in a simple form, split by base, DLC1 and DLC2 if relevant.
  • Overhauled Text Import and Export. Append adds unique entries, but ignores existing ones. Replace will add unique entries and replace the text contents of existing entries.
  • Text Export will include grouped entries (unless disabled in the options).
  • Creating new entries will now create all associated group text entries if applicable (e.g. you select a Title entry, creating off it will create a Title, Summary, Description and Effect entry if applicable).
  • Simplified the Text Import/Export menu options to make it clearer what they do.
  • Added 'Text Merge' tool that will merge a target project's text files (e.g. unique and modified entries) into the currently loaded project.
  • Added 'Language Sync' tool that will add all unique entries from the current primary category into the targeted category (e.g. add all uniqu entries from English into French).

Param Editor

  • Added AC6 Paramdex discoveries (credit to ndur).
  • Fixed the FMG quick-link functionality.
  • Restored the row re-name functionality (from FMG ref).
  • Restored the FMG ref re-name functionality (from row name).

Map Editor

  • Added an explicit 'Search' button to Local Property Search in the map editor so input in the Property Name field isn't constantly polled, instead only once when the button is pressed.

Bugfixes

  • Fixed language detection for DS1R for Neutral Spanish, Portuguese and Simple Chinese
  • Fixed issue with saving FMG files with DS2 projects.
  • Fixed issue with text input being cleared when selecting text entries or the ID field.
  • Fixed issue where Duplicate/Delete shortcut didn't respect the current user context, causing accidently usage.
  • Fixed issue where Text Difference checks were ignore null vanilla entries when checking project entries.
  • Fixed issue with Duplicate Selected to Map menu item.

1.0.22

18 Oct 21:07
Compare
Choose a tag to compare

General

  • Added missing map aliases for ER.
  • Adjusted the menubar to make the settings, help, etc more visible.
  • Moved all menubar entries that were in the 'Actions' submenu to 'Edit'.
  • Added character/part aliases for DES

Text Editor

  • The editor has been completely rewritten: you can now view all text files available, and navigate between the supported languages with ease.
  • Entry creation has been improved, you can now easily create multiple entries that follow a pattern or template.
  • Existing tools have been retained and improved.
  • Import and Export actions are now per FMG or by selected FMG.Entries. This means you can more easily mix and match what you want to import. Exports are now stored within the project's .smithbox folder. Imports are populated from this folder.
  • Added 'modified' entry filter command: filters the list to only rows that have been edited from vanilla.
  • Added 'unique' entry filter command: filters the list to only rows that have been added and aren't in vanilla.
  • Added color coding for modified and unique rows in the list.

Param Editor

  • Support for AC6 1.07.1 regulation in the Param Upgrader.
  • Support for ER 1.16.0 regulation in the Param Upgrader.
  • Added Row Name strip options for all project types (enabled for DS2 and ER by default).
  • Paramdex updates and contributions (credit to LordExelot).
  • FMG references now update instantly, and follow your primary language selection.
  • Param Comparison Report now accounts for indexed rows

Model Editor

  • Added the ability to export models in the .OBJ format.
  • Mesh visibility is now properly handled in the viewport when they change.
  • Added Model Mask Toggler tool: quickly toggle between model mask combinations by selecting a NPC Param entry.

Gparam Editor

  • Fixed an issue where Quick Edit didn't flag the gparam as modified, which meant Save All didn't save them.

Bugfixes

  • Removed strict resource checking: this caused a throw to occur, which caused the hanging on map loads whenever a texture could not be assigned a texture descriptor. Now it simply prints a log message and returns false.
  • Added some handling for BB PS4 textures with R16G16B16A16_FLOAT format, so they are ignored and don't cause a crash.
  • Fixed an issue where Image Preview could cause a crash.
  • Fixed lots of Model Editor issues.
  • Fixed issue in Time Act Editor with imeActCommandQueue.Parse
  • Fixed issue in ER/AC6 MQB (credit to alson041)
  • Fixed issue with loading Loose FLVER files
  • Fixed issue in the TAE Editor where animation create/duplicate/delete didn't work
  • Fixed issue where duplicating Time Act didn't work
  • Fixed oversight where the local prop search was constantly being reset, breaking some functionality.

1.0.21

03 Oct 02:30
Compare
Choose a tag to compare

Map Editor

  • Added support for the Lightmap Atlas Editor (BTAB files) for DS3 projects.

Model Editor

  • Added "Associated Files" panel in the Model Editor so the user can pick between each FLVER within a FLVER container, e.g. a barrel will have one FLVER for it's intact state, and another for its broken state.
  • Added visible collision for Assets for ER projects.
  • Added handling for map piece textures so they display in the Model Editor.
  • Map Piece lists with zero entries are hidden in the Model Editor asset browser list.

Param Editor

  • Updated the Paramdex.
  • Mass Edit input now ignores ; usage in mass edit instead of truncating the command.
  • Added "positive" and "negative" search engine commands that act as shorthand for proprange 0.00001 +Infinity and proprange -0.00001 -Infinity respectively when searching.
  • Added support for graphics config editing for SDT in the Param Editor.
  • Added Param Field Offset meta, that assists with the MenuPropertySpecParam offset field.
  • Added support for 1.15 regulation update for ER projects.
  • Added toggle to the Param Comparison Report for ignoring row indexed params as they show erroneously show diffs as row indexing isn't handled.
  • Added current param line to the in progress text for the Param Comparison Report so the user can see the report is actually progressing.

Time Act Editor

  • Added search filter to the Event Creation sub-menu.

Miscellaneous

  • Added a toggle within the Resource List panel that allows the resource load window to be toggled off (hiding it).

Bugfixes

  • Fixed the movement increment settings so it actually updates the CFG var.
  • Fixed crash when material index is set to -1 when viewing Mesh properties in the Model Editor.
  • Fixed various crashes in the Model Editor.
  • Added null check in TexRefSelectable in case the ImagePreview isn't yet initialized.
  • Fixed the handling of BB models in the Model Editor.
  • Fixed the texture locators for BB, meaning textures display for characters, objects, parts and map pieces (mostly).

1.0.20.1

20 Sep 21:02
Compare
Choose a tag to compare

Editors

  • Added the ability to hold the undo key and undo continuously without having to spam-click (uses a new shortcut: Ctrl+Alt+Z). Mainly for continuous actions that generate an action per frame, to make it easier to roll them back.
  • Added the ability to hold the redo key and redo continuously without having to spam-click (uses a new shortcut: Ctrl+Alt+Y).

Map Editor

  • Added "Rename Map Objects" tool for AC6 in the Map Editor to quickly apply names to the blank map objects.
  • Added Rotation Increments:
    • Added the ability to define 5 rotation increments for usage with the "Rotate Selection on X/Y axis" actions in the Map Editor.
    • Added shortcut to cycle through each rotation increment.
  • Added Viewport Information Panel:
    • Added transparent panel to the top-left of the viewport, displaying status of various tools: currently just which rotate increment the user is on.
    • Added shortcut to toggle display of viewport info panel
  • Added Movement Increments:
    • Added the ability to move map objects via the key arrows instead of requiring movement within the viewport with the gizmo element.
    • Added 5 profiles for movement increment, similar to the rotation increment stuff
  • Added a "Go to Model" button below the ModelName field in the map editor for Assets/Objects/Enemies that will jump to the Model Editor and load the associated model when pressed.
  • Scale property is now disabled for Enemy map object types to indicate that it does not work for them.

Model Editor

  • Added support for handling multiple internal FLVER files to the Model Editor
  • Internal Files within a container are now listed. Selecting between them will load the relevant underlying FLVER and update the viewport model
  • Disabled the 'data integrity' warning in the Model Editor since it is more confusing than helpful for users.

Param Editor

  • Added prompt to save the params immediately after a param upgrade.
  • Characters after the ; character will now be ignored when parsing the command.
  • Added param upgrade stuff for latest AC6 regulation
  • Added orbitActiveHeatBuildup discovery to Paramdex.
  • Added a "param comparison" report to the Comparison sub-menu. This will detail the differences between two sets of param banks.

Bugfixes

  • Fixed issue where created map objects (via the Create action) would not be saved correctly.
  • Removed the disambiguation name appends for AC6 (instead this is done via a map editor action, rather than within the MSB read process)
  • Removed line that caused an exception when framing a selection group in the viewport.

1.0.20

11 Sep 17:22
Compare
Choose a tag to compare

Map Editor

  • Fixed AC6 MSB implementation, which fixes the lighting bug and crash bugs that could occur when saving a map.
    • Maps saved via Smithbox before this release may not load correctly, if so then enable the "Ignore asserts" option in the settings, which should allow you to re-save them.

Param Editor

  • Added support for ER regulation.bin 1.14.1 (credit to ivi)

Settings

  • Added CFG toggle for displaying Debug tool windows (disabled by default)

Bugfixes

  • Fix crash when trying to load DS1R collision but no PTDE collision root is set (credit to GoogleBen)
  • Fix map property editor not handling arrays correctly (credit to GoogleBen)
  • When loading a DS1R project, users may now be warned if CFG.Current.PTDE_Collision_Root is an empty string, or if the directory it points to does not exist. (credit to GoogleBen)
  • Hidden "Upgrade Text Files" for non-ER projects in Text Editor tool list.
  • Fixed issue with model container not being closed when saving, causing the save to fail in the Model Editor.

1.0.19.1

03 Sep 21:20
Compare
Choose a tag to compare

Map Editor

  • Added toggle for disabling the map query feature.
  • Map Query tool now waits for the user to explicitly choose to load the map data before running the async map loads.
  • Map Pieces now load correctly in DS2 (credit to GoogleBen).

Param Editor

  • Added GameSystemCommonParam discoveries by ElaDiDu.
  • Added discoveries reported by Drakrylos, Moonlight Ruin, Big MP, Lord Exelot.
  • Added CFG option that lets the user decide whether the ER regulation.bin is saved as DCX_DFLT_11000_44_9_15 if working with a post 1.12.1 regulation. The default is DCX_ZSTD, but other tools may not support that.

Model Editor

  • Added forward and upward display to the dummy polygons in the Model Editor (credt to GoogleBen).

Text Editor

  • Added the multi-select keybinds to the keybind window for the Text Editor.
  • Added "Select All" keybind in the Text Editor.

Bugfixes

  • Added safeguard to the map query load so it doesn't try and load bad filepaths.
  • Fixed to BB map load in Param quicklinks to use the correct MSB
  • Changed Keybinds window toggle keybind to F6 (was F5 by accident)
  • Search action in map properties will now open the Local Property Search tab
  • The currently viewed texture is disposed when switching projects in the Texture Viewer.
  • Fixed issue where List actions was never actually initialized in the Text Editor.
  • Fixed lag issue when using multi-select in the Text Editor.
  • Fixed duplicate name handling for games that don't use InstanceID so it still increments the postfix numbers properly.
  • Added 'during loading' property panel state whilst maps are loading to prevent a concurrency crash due to some of the property decorators accessing the current map lists.
  • Previously, LoadBinderResourcesAction.ProcessBinder would dispose of its BinderReader upon return in some cases, which is an error because that BinderReader could still be referenced by pending resource actions. This is fixed by using a ref counted wrapper around the reader and all values that potentially reference its Memory<byte> (credit to GoogleBen).
  • Model Editor now correctly cleans up on project switch (credit to GoogleBen).
  • Fixed a potential crash with Image Preview in Low Requirements mode.

1.0.19

22 Aug 15:05
Compare
Choose a tag to compare

Project

  • ProjectJsonPath is now set when the Create button is pressed, instead of within the Game Root section.
    • This prevents an issue where inputting Game Root, then Project Directory would result in an empty Project Root upon creation.
  • Added a tooltip to the project menu options so the blockers can be seen by the user.
  • Import Rows is now enabled by default when creating a new project.
    • Adjusted how it is handled in the Param Bank so the import action doesn't 'spread' like before.
  • Blocked F4 from being bound in the keybinds, allowing Alt F4 to work.

Alias Tabs

  • Fixed the Go to Alias action so it properly opens the Settings menu, and allows the Alias Tabs to be initialized.
  • Alias Tab text inputs are now normal inputs, not multiline.
  • Fixed tab selection when using Go to Alias action
  • If an alias doesn't exist, Go to Alias action will automatically add the name to the ID section of the Add panel

Paramdex

  • Added Bloodborne character aliases.
  • Added full Bloodborne Param META support.
  • Added allowMagicCast naming for EquipParamWeapon unknown_0x17c_7
  • Added several AC6 field discoveries (mainly from Drakrylos).
  • Changed ER PostureControlParam_WepRight/Left to account for the structure change reported by RashFever.
  • Added lots of names for Behavior, Bullet and AtkParam rows in the ER name lists.

Param Editor

  • Added map alias support for DS2 params that have Map IDs within their names.
  • Added support for ZSTD compression when saving ER params. (credit to ivi). Smithbox will automatically save ER params over param version 1.12 with ZSTD.
  • Added skips for the bad param loads instead of catching them with an exception, meaning DS1 and DS2 params load much quicker.
  • Added map link support for ReturnPointParam within a Bloodborne project.
  • Introduced param re-ordering (credit to GoogleBen):
    • Added the ability to reorder param rows.
    • Added GUI for reordering param rows & fields while in Editor Mode.

Map Editor

  • Restored arrow key navigation to the Map Object List.
  • Changed the toolbar actions so they follow the new collapsible window design the other editors use.
  • Import/Export Prefab panels are now collapsible windows within the Toolbar panel.
  • Selection Group panel is now a collapsible window within the Toolbar panel.
  • Local Property Search is now a collapsible window within the Toolbar panel.
  • Added support for DS2 MapObjectInstanceParam and TreasureBoxParam refs in the Map Editor.
  • Added a workaround that allows DS1R maps to display DS1 collisions in the editor.
    • Within a DS1R project, go to the Project Status window (under Settings) and point the Project Collision Directory to the PTDE .exe.
    • Smithbox will now use PTDE collisions when rendering the collisions within the Map Editor.
  • Added "Global Property Search" action: allows you to search all maps for specific property values.
    • Has three filters: Map, Property and Value. All support regex.
    • Map will filter which maps it searches (e.g. m61 will narrow the search to only the maps with m61 in the name).
    • Property will specify which property you want to target during the search (e.g. ModelName).
      • For array properties, add the index in square braces (e.g. EntityGroupIds[1]).
    • Value will specify which value you want to target during the search (e.g. c3000).
    • Searching will then produce a list of maps and the matches within them.

Model Editor

  • Added arrow key navigation to the column lists within the editor.
  • Added "Global Model Search" tool, which lets the user quickly search all maps for usage of a model,.
    • Lists the maps in which it is used, with a quicklink to load and select the map object that uses the model.

Gparam Editor

  • Added arrow key navigation to the column lists within the editor.

Time Act Editor

  • Added arrow key navigation to the column lists within the editor.
  • Added auto-select of lower tiers when changing selection.
    • For example, changing Time Act will auto-select the first Animation and first Event of that animation, instead of requiring the user to select.
  • Saving in the Time Act Editor is now done asynchronously, meaning Smithbox no longer hangs until the save is finished.
    • You cannot edit the TAE whilst it is saving however.
  • Saving an individual Time Act container will always occur (used to require a modification first). Save All will still only save modified containers.
  • Updated TAE Template for ER.
  • Updated TAE Template for BB.
  • Blocked saving in the Time Act Editor for AC6 until the TAE implementation is updated to properly support saving it.
  • Added support for creating, duplicating and delete Time Acts (including undo).
  • Added support for creating, duplicating and delete Animations (including multi-select and undo).
  • Added support for creating, duplicating and delete Events (including multi-select and undo).

Texture Viewer

  • Added arrow key navigation to the column lists within the editor.

Misc

  • Removed the input switch buttons and added the ImGui shortcut for raw input to the hover tooltips.

Bugfixes

  • Fixed exception if import project row names is used but the project names directory doesn't exist
  • Fixed an issue that prevented the duplication of lights in the Map Editor.
  • Fixed an oversight in the Text Editor that mean the Search and Replace tool would only affect the description text if targeting all categories.
  • Applied vertex fix from SoulsFormatsNEXT (credit ivi).
  • Fixed issue where MassEditScript tried to load when project type is Undefined.
  • Fixed an issue where the Map Query Bank would never been deemed initialized if the project type was Undefined, which blocked the project menu options.
  • Fixed issue where switching project would mess up the TAE Template used by the Time Act Editor.
  • Fixed "Toggle Selection Outline" keybind functionality so it actually switches the CFG var.

1.0.18.2

13 Aug 02:26
Compare
Choose a tag to compare

Map Editor

  • Restored regular Name field in map editor properties (credit to Strackeror).
  • Duplicating map objects now correctly uses the instance ID within the Name field as it did before 1.0.18.
  • Added UnkT04 discovery for SoundRegion (WwiseEnvPlaceTypeID).

Param Editor

  • Added task log when Sort Rows action occurs.

Time Act Editor

  • Added "Search for Value" tool: supports Animation ID, Event ID, Event Name and Event Value, lets you jump to the value location immediately.
  • Added "Duplicate" and "Delete" for Time Act and Animation entries (WIP, does not support Undo yet).
  • Saving in the Time Act Editor will now correctly save only modified files.

Bugfixes

  • Fixed PartsDrawParamID type in MSBE (credit to ivi).
  • Cleared the default keybinds for toggling "Show Pinned Params/Rows/Fields only" and "Sort Rows".
  • Fixed an exception when looking up the MSB Enums if the enum list is empty.
  • Fixed potential issues when loading prefabs during the import and list functions.
  • Fixed issue in the Param editor so it doesn't crash when a param is deleted entirely but also pinned.