Skip to content

Releases: vawser/Smithbox

2.2.1

07 Jun 20:53

Choose a tag to compare

Program

Fixes

  • Adjusted some asserts in the BinderHashTable for BND4 to reads.
  • Fixed various crashes when no project is defined.

Map Editor

Adjustments

  • Made the name input in the Map Editor only apply on exiting the input box, rather than instantly updating the name per character change.

Fixes

  • Fixed a crash on duplicating a PartPose map object.
  • Fixed the PartPose entries having an empty string rather than the Entry X naming.
  • Fixed a ImGui crash with the Name input box within the PropEditorNameWithRef function.
  • Fixed a bug with map saves where newly-defined models weren't being added to the MSB properly.
  • Fixed bug with the wireframe placeholders not displaying correctly.

Param Editor

Features

  • Added row list header option to toggle row FMG decorator.

Adjustments

  • Externalized the param row FMG annotation parameters so it is easier and more obvious how the params match to the FMGs. This also allows for per project tweaking in a cleaner way.
  • Added option to prefer base FMG entries over DLC1/DLC2 entries when finding matches.

Fixes

  • Added more guards to the Param Reloader draw function so it doesn't throw an exception if the project state is odd.
  • Fixed the Param Merger behavior so it properly merges in added rows and overwrites modified rows.
  • Fixed PlayerStatusParam fields order: Adaptability and Durability

Text Editor

Features

  • Added split ID and Text columns to the FMG Entry section
  • Added support for drag and drop reordering via the ID column
  • Includes support for moving grouped entries together (i.e. moving the title entry will move the summary/description/effect entries too)

Adjustments

Fixes

  • Fixed an issue with GetFmgInternalName function for DS2.

Material Editor

Adjustments

  • Added back property edit support for MATBIN properties.
  • Added toggle for the file list name display (full / filename).

2.2.0

04 Jun 19:52
62046d6

Choose a tag to compare

Program

Features

  • Added a project 'editor' window that holds all of the project selection and configuration features.
  • Removed the dropdown project menu.
  • Added buttons to the Shortcuts menu that clear the keybind for a keybind entry.
  • Added a toggle for the inclusion of the scope in the log message.
  • Added child sections to all the tool window sections so they are scrollable.
  • Added user-facing configuration for the section heights for the left-most panels in editors with multiple internal windows.

Adjustments

  • Standardised the UI and UX design between all editors so each follows the same design principles.

Fixes

  • Fixed some project creation/edit bugs that caused unintentional edits to the project state.
  • Fixed some sd folder file entries appearing incorrectly in file lists (mainly affected AC6).
  • Fixed a crash issue with keybinds when a Keybinds.json contains an old key that has since been removed from the internal key lists.
  • Fixed a crash issue when unloading a project when only one is loaded.
  • Added a bugfix for Linux systems when writing out a file via the VFS

Map Editor

Features

  • Overhauled how the Map Editor metadata is structured (folder and file wise).
  • Added selection outline color preference.
  • Updated the MSB implementation for DS2 projects, exposing new properties.
  • Added support for DS2 projects to load the BTAB and BTPB data
  • Updated NVA implementation (credit: Nordgaren)
  • Allowed NVA save for ER and NR projects.
  • Added the ability to change the color of the viewport background.

Adjustments

  • Restored the original approach to the untextured mesh shading.
  • Adjusted the simple flver shader to give the untextured look a more uniform white to gray gradient.
  • Reset the flat model brightness default to 0.5.
  • Made the untextured selected shader mix the selection color with the normal-derived color so a selection is more obvious in the untextured state.
  • Restored option to have a selection outline (applies alongside the selection tint).
  • Moved several of the existing Tools into a Common Actions tool, and made the individual elements tabs.
  • Moved the model/texture extraction tool into the Data Transfer tool section.
  • Changed all the popup messages for no object errors to normal ErrorLog messages.
  • Adjusted the Local Map Search to allow for partial string matches.
  • Added aliases to the Entity ID validator.
  • Exposed more of the contexual actions within the Tool window in two new grouped sections (Select and Visibility).
  • Added the viewport filter toggles to a tab in the Visibility section.

Fixes

  • Fixed a crash when an Entity's name was null.
  • Stopped the Map Editor color property edit spamming an error message.
  • Fixed issue that caused DS2 BTLs not to be detected and not to be saved.
  • Fixed an issue that meant the AC6 MSB wouldn't save changes to the Shape property of a Region.
  • Small fixes in Entity.cs.
  • Fixed ImGui ID bug in the map editor content list for the visibility icons.
  • Fixed usage of Param.Row.Cells in MapPropertyView (credit: Axi)
  • Fixed regression with nameProp and idProp in the map property view.
  • Fixed an issue with the Duplicate to Map tool if the map object type didn't already exist in the target map.
  • Fixed a bug that stopped the entity ID, instance ID and entity group ID assignement from working in the AddMapObjectsAction.
  • Fixed some task blocking in the DrawableHelper class that was slowing down map loading.
  • Fixed regression with MeshRenderableProxy where it could throw an enumeration exception on certain map loads.

Model Editor

Features

  • Added the ability to select only primitive entities (i.e. dummies and bones) by holding Z down whilst picking in the viewport.

Adjustments

  • Made the auto-select option instead auto-load the first entry in the selection list.
  • Made the content tree open by default.
  • Adjust the mesh entry name to include the linked material and node (with option to toggle node inclusion).

Fixes

  • Fixed a crash when an Entity's name was null.
  • Made the Model Instance Finder result list scrollable.
  • Fix model editor trying to read DS2 flvpwv files (credit: GoogleBen)
  • Fixed the deletion action handling in the Model Editor.
  • Fixed the action manager handling (changed it to ViewportActionManager which is what the Model Editor uses most of the time)
  • Fixed the clone action handling in the Model Editor (clone inherits the submesh state).
  • Enabled the gizmos for the dummies/bones in the Model Editor.
  • Fixed the Model Editor saving process so it includes additions in the save output.

Param Editor

Features

  • Overhauled how the Param Editor metadata is structured (folder and file wise).
  • Externalized the param field name and description information for all projects into a new format: Param Annotations.
  • These are associated by Param Type, rather than Param Name.
  • Split the param enums into individual files per enum.
  • Added multi-language support to Row Names.
  • Added multi-language support to Field Names.
  • Added multi-language support to Param Categories (the category names).
  • Added multi-language support to Field Layouts (the section names).
  • Added multi-language support to Param Enums.
  • Added Reference Groups: used to display multiple references for one field in a more useful and readable manner, mainly for DS2.
  • Added Field Layouts, determines how sets of fields are displayed. Basically a better form of AlternativeOrder.
  • Converted most AlternativeOrders into Field Layouts (missing SDT currently).
  • Added support for displaying item lot chances via Field Layouts.
  • Added full English field annotations and meta for DS2 projects.
  • Added param categories and param community names toggle buttons to the Param List window.
  • Added support for NR 1.03.5 regulation to upgrader.
  • Added "paramtype" filter to the param search engine to more easily filter the list to params that share a common ParamType.
  • Split the Row List entry into two parts (ID and Name), rather than just one.
  • Added ability to right-click and edit the row ID (like with the Name in the context menu)
  • Added ability to press Alt and right-click to enter 'edit' mode when clicking on the ID or Name part, allowing direct editing without having to move to the Field List window.
  • Added the ability to reorder the rows by dragging and dropping (supports multiselection).
  • Added pref to toggle the cell borders for data tables.
  • Added context action in Param List to export a param as a discrete .param file.
  • Param Delta Patcher: Fixed a oversight that mean importing params from one project type to another wouldn't work properly (selected export was setting Modified rather than Added row delta state)
  • Param Delta Patcher: Added Import type selection (Simple for basic row add/overwrite, Complex for conditional changes based on the Row Delta type)
  • Param Delta Patcher: Added option to allow row overwrite for Simple import.
  • Added Copy ID, Copy Name, Copy ID and Name actions under a Information submenu in the row context menu.

Adjustments

  • Param def, meta and row names contributions: PositronCannon, homoradahn, Natalie Weizenbaum, Maybe Birb, El Fonz0, Radai, BoatMonkey678, moitt2, Supuritto, Kirby7871
  • Implemented proper DS2 param definitions.
  • Comparison column header in Row List now checks the Field Display mode to determine what to display as the header text.
  • Added some of the dropdown only features into the Tool window for better discoverability and ease of use.
  • Improved the CSV import so it is more flexible: it will now import partially if the header or value line is incomplete (this means minor differences between paramdef versions should no longer cause issues with importing).
  • CSV construction now uses StringBuilder, making it quicker than before.
  • Added 2.6.2.0 entry for ER ItemGib.

Fixes

  • Enabled row name stripping for DS2 projects by default.
  • Added RandomAppearParam to the table param definitions for ER projects.
  • Fixed a bug with the param row operations that was messing up the row name adjustments.
  • Fixed row name inherit and propagate actions so they work with RefGroups.
  • Restored the ability to configure if CSV import can overwrite existing rows.
  • Fixed a bug that meant the inverted percentages behavior in the Param Editor was being applied when it was disabled.
  • Fixed Row Name Export (Text) exporting JSON rather than txt.
  • Fixed the export flow (All/Selected Params) being inverted.
  • Fixed the field padding toggle tooltip in the Param Editor.
  • Fixed a bug that caused the param offset meta hint not to appear for AC6 projects.
  • Fixes magic param in DeS project showing good names, since it would show you consumables and upgrade materials rather then the sorceries and miracles (credit: GercoDutch).
  • Fixed a crash when a field is pinned whilst Field Layouts are enabled.
  • Fixed a pinned field being duplicated in the top section when Field Layouts are disabled.
  • Fixed potential ImGui ID conflicts for info rows.
  • Fixed an issue with All Text Row name export.
  • Fixed slow comparison in the Param Comparison tool (credit: Axi)
  • Fixed the Sort Rows feature so it works correctly for row indexed rows (i.e. it doesn't squish them all into one row).
  • Added a missing param upgrader entry for ER 1.04.2
  • Fixed bug in the data finder range search where a float was handled as a double incorrectly.

Text Editor

Features

  • Added Data Transfer tool.

Adjustments

  • Moved the Language Sync feature into the Tool Window
  • Added Text Entry Creator tool to Tool Window.

Fixes

  • Added an exception for files in the workflow text directory that cannot be deserialized (credit: GercoDutch).
  • Fixed an issue with DS2 FMG refs that caused some not to work correctly.
  • Fixed the sync prefix not applying properly in some cases.
  • Fixed ...
Read more

2.1.2

16 Feb 22:37

Choose a tag to compare

Program

Features

  • Overhauled the Logging system (credit to GoogleBen).
  • Exposed the row/field modified background colors in the Interface prefs.
  • Added support for rebinding the mouse button actions (that relate to the viewport).

Fixes

  • Stopped the Key.Unknown being detected as an actual press (since the Windows key seems to trigger it).
  • The keybind load now silently fails rather than throws an exception if the keybind ids change. This means the keybinds revert to their defaults when that occurs.

Project

Features

  • Added CFG var to control the level of strictness for the project directory scan. If enabled, the strict scan is used. Otherwise, the older loose scan is used.
  • Improved the speed of the Project File Locator step in the project load flow (credit to Axi).
  • Made the preferences and shortcut windows automatically save changes when closed.

Fixes

  • Fixed crash during first time launch where the Configuration folder wasn't checked for and created if missing (for Keybinds).
  • Added a fallback for creating a project from a legacy json in the case the legacy json is malformed.
  • Fixed Auto-Load being disabled also stopping the projects list from being filled.
  • Fixed the project update action failing if no project had already been loaded.
  • Program name is now reset to the default if a project is unloaded.
  • Fixed the project meta data pref crashing if changed when a project hasn't been loaded.
  • Fixed a clipper list issue: the filtering is now correctly done before the clipper list starts, rather than within it.

Map Editor

Features

  • Added Lord Exelot's MSBE asset destruction unk discovery.
  • Added Selection submenu to Viewport menubar
  • Added ability to filter which map object types the box selection picks up.
  • Switched box select to Ctrl + Alt + left click so it doesn't conflict with the normal picking.
  • Box select now just adds to selection (stops some odd behavior where it would remove some elements in the midst of a selection)
  • Added ability to control strength of the selection tint
  • Added a 0.25 second cooldown for picking if a box selection or a gizmo action has occurred. This stops an annoying behavior where a pick would occur immediately after a selection or gizmo action, resetting the current selection.
  • The viewport should now be able to handle more renderables than before.
  • Changed the untextured mesh shader so the meshes are subtle white rather than a garish white/purple mix.
  • Added a separate tint for the untextured mesh selection to fit the new base color.
  • Added new action with shortcut to quickly select all parts that reference the currently selected collision.
  • Added new action with shortcut to quickly select the collision referenced by the currently selected part.
  • Added scale gizmo and the requisite shortcuts.
  • Improved the behavior of the Duplicate and Delete actions with large selections.
  • Adjusted some map editor shortcuts so the defaults are better suited for a standard workflow.
  • Added ability to select all map objects that share a map layer value (mainly useful for DS3)
  • Added refresh icon button to the Map Contents section so the user can force map object mesh and texture updates.
  • Removed the automatic texture update occurring when a render model updates, as it slowed down actions such as duplication.
  • Added picking delay to the select all actions.
  • Added option to place duplicated entity at end of the sublist it belongs to, instead of being placed after its source entity.
  • Added Escape as a shortcut for clearing the viewport selection in the Map Editor.
  • Added a viewport context menu (with the same actions as the Map Contents list menu). Appears when mouse button 1 (side bottom) is pressed.
  • Added option to exclude dummy objects/enemies from the results in the Global Map Search.
  • Added an explicit havok load skip setting for ER/NR projects (which are the 2 projects that use the havok load).

Fixes

  • Fixed the drag selection in the Map Editor.
  • Stopped the box selection picking up random map objects due to the standard picking occurring simultaneously.
  • Fixed the selection outline bug, and changed what occurs when selecting a map object. The map object is now tinted the selection outline color.
  • Fixed missing AssetInnnerStruct creation for NR Part.Asset.
  • Fixed issues with the Delete action with massive selections where it would fail to undo properly.
  • Fixed crash when manually inputting some of the camera settings into invalid values.
  • Stopped the loading modal from appearing when duplicating map objects
  • Fixed the scene filter preset not being saved between sessions.
  • Fixed an issue that caused the DS2 collisions not to render.
  • Fixed ImGui ID collision in the Prefab tree list.
  • Made some of the map editor shortcuts only trigger if the viewport is focused.
  • Blocked the map editor shortcuts from being detected if the right-mouse button is being pressed down for the camera.
  • Added picking delays to the menus that overlap the viewport so clicking them doesn't cause a picking action to occur behind the button.
  • Fixed exception in MapCommandQueue when using the right-click functionality in DarkScript.
  • Changed the Havok Load InvalidDataException catch to instead log the error rather than attempting to load in XML form.

Model Editor

Fixes

  • Fixed crash with the color input in the Model Editor.

Param Editor

Features

  • Param META updates (credit to Kirby7871)
  • Updated the TalkParam so it includes the DLC dialogue for ER projects.
  • Updated the SwordArtsParam row names for ER projects.
  • Restored visibility of the Param Merger.
  • Adjusted the row modified background color fill to be disabled by default.

Fixes

  • Fixed the param row FMG refs grabbing from the weapon effect fmg.
  • Fixed unused containers being searched when building the row FMG refs.
  • Fixed the Go to Text action pointing to unused containers if it found the entry there first.
  • Switched the Magic param row fmg refs to lookup the Goods fmg entries rather than the Spells entries.
  • Corrected a logic error in the DS2 param save function that meant the standard split save wasn't occurring correctly, and was tied to the name strip option.
  • Changed the 'any ref' coloring back to the pink text.
  • Switched CacheBank to ConcurrentDictionary.
  • Fixed the FMG lookup when using the fmg search filter command.
  • Moved the row name import from project descriptor toggle to occur in the Param Editor OnGui loop rather than within the project loading flow.
  • Disambiguate duplicate param names for Sekiro's FogBank (cedit to nex3)

Text Editor

Features

  • Changed the DS2 container list to use Simple Headers for the language sections for more clarity.

Fixes

  • Fixed an oversight that meant the non-English fmgs for DS2 projects weren't being displayed or loaded.

2.1.1

07 Feb 20:39

Choose a tag to compare

Program

Features

  • Overhauled the Keybinds system.

    • You can now easily filter the keybind list, and re-assign them with modifier keys.
    • You can easily revert a keybind to its default binding.
  • Overhauled the Settings system (now called Preferences).

    • You can now easily filter the preferences list.
    • Improved the presentation of the preferences.
    • Decluttered the preferences, removing some unused ones and introducing several new ones.
  • Added a toggle in the System Preferences for switching which rendering backend is used.

    • If Vulkan fails, the program now fallbacks to OpenGL automatically.
  • Added global shortcut for toggling the visibility of the Tools menu in any editor.

Fixes

  • Restored the program update hint in the top-bar.

Project

Features

  • Added loading progress modal during project load.
  • Overhauled the presentation of the Alias Editor.
  • Overhauled the presentation of the Enum Editor.
  • Added action to quickly create a project from a legacy project.json.
  • Changed the automatic loading behavior to automatically set the latest loaded project as the one that will be automatically loaded if Smithbox is restarted.
  • If the PTDE steam install is found during a project creation, set the PTDE Data Path for collisions automatically for the user.
  • Added "Open Project Folder" to the current project actions

Fixes

  • Fixed VFS saving on Linux (credit to zebubull)
  • Fixed automatic saving applying on unfocused editors, which may have never run the OnGui function, leading to unexpected state, causing a throw.
  • Fixed a crash on project switch due to the editor draw still being called even during the initialization process
  • Adjusted the project file directory builder so it doesn't capture inappropriate files as much.

Map Editor

Features

  • Added support for multiple editor views.
  • Added support for multiple viewports within one editor view.
  • Added support for Orthographic and Oblique camera modes.

Fixes

  • Added byte check in Navmesh save process so a file is only generated if there is a change

Model Editor

Features

  • Added support for multiple editor views.

Param Editor

Features

  • Implemented the Param Delta Patcher tool:

    • This is a tool to help with merging params, rows and field edits between different mods.
    • Allows you to easily export all changes within a loaded project, and then to import them into another project.
    • Exposes granular options for export and import, so the user can adjust what is imported/exported.
    • Please use this instead of CSV files.
  • Paramdef, meta and row name contributions (Supuritto, El Fonz0, Axi, 1recyclebin1)

  • Added param upgrader support for NR params 1.03.4

  • Icon Preview:

    • No longer requires the Texture Viewer to be enabled.
    • For empty icons, a dummy image is shown so the field list doesn't jump around.
    • Added support for DS2 icon previews.
  • Improved the multiple editor view functionality with regards to focus context and keybinds.

Fixes

  • Renamed the Param Categories stuff to Param List Categories to make it more obvious what the tool is for.
  • Added try catch around the ApplyCSV function usage since it can throw due to values exceeding the data type limits.
  • Restored the ability to change the DCX compression the params are saved with (mainly require for ER regulations so they work properly with some other tools)
    • Allowed any of the DCX types to be chosen when overriding the save compression type. Default will use the compression type already used by the file.
  • Added adjustments so ER 1.0.0 regulation can be loaded and upgraded.
  • Fixed concurrency issue with UICache.

Text Editor

Features

  • Added support for multiple editor views.
  • Moved the FMG loading to a lazy-load model (with only the English containers being auto-loaded). Significantly reduces load time for the Text Editor.

Graphics Param Editor

Features

  • Added support for multiple editor views.

Material Editor

Features

  • Added support for multiple editor views.
  • Removed the Vanilla Bank in the Material Data setup to reduce project loading times (as it isn't used at all yet)

File Browser

Features

  • Added support for multiple editor views.

Texture Viewer

Features

  • Added support for multiple editor views.

2.1.0

03 Jan 19:29

Choose a tag to compare

Project

Features

  • Added the ability to configure which output occurs upon manual and automatic saving.
  • Added option in System settings to clear the primary project (which stops the auto-load of said project on Smithbox start).

Fixes

  • Stopped the auto-save from occurring immediately on project init.
  • Folder Tag is now actually saved on project creation if set.

Map Editor

Features

  • Added support for the PartPose map objects in the Map Editor for DS2 and DS3 projects. Allows new corpses to be given proper poses.
  • Added BTAB (Light Atlas) and BTPB (Light Probe) support in the Map Editor for projects that use them.
  • Added specific alias word wrap bools for the Map and Model Editor.
  • Updated the GrassConfigStruct in ER MSB (credit to Axi)
  • Mass Edit: added bool support
  • Mass Edit: added more detailed logging when a MSB mass edit fails so the user has some chance to understand what is going wrong.
  • Mass Edit: added bool support to the variance toggle
  • Mass Edit: added variance support to the array values
  • Mass Edit: added bool support to the array values
  • Split normal collisions and connect collisions into two differently colored meshes and added a separate render type for connect collisions.
  • Added the ability to configure the coloring of collisions, connect collisions and navmeshes.
  • Added support for viewing the f collisions (called Fall Protection in the Collision Type menu) in ER and NR projects.
  • Moved the Model Insight stuff for the Map Editor into the Tool Window to match the presentation from the Model Editor.

Fixes

  • Enabled the ignoreEmpty bool to the Collision validation in the Map Validator tool.
  • Fixed tooltip for property padding toggle in Map Editor property view
  • Added a guard to AddWorldMapLoadTask incase Project is null.
  • Connect Collision mesh will always use the low mesh.
  • Fixed the rendering of map collision in DS1R projects.
  • Fixed the display of navmesh in DS1/DS1R projects.
  • Fixed the model loading for DES projects.
  • Fixed the map piece texture loading for DES projects.
  • Fixed navmesh visibility for DES projects.

Model Editor

Features

  • Added a Mesh Provider tab to the Resource List window so which providers have been created can be tracked.

Fixes

  • Fixed issue with Go to Model action in Map Editor property view where it would fail to find the model entry and then throw an exception.
  • Fixed bug with extracting part models with the Model Insight tool.
  • Fixed dummy and node positions in the viewport, the entities are now correctly parented.
  • Fixed the model loading for DES projects.

Param Editor

Features

  • Param Def and Meta updates by MaybeBirb, Supuritto and El Fonz0
  • Updated Param Upgrader for NR 1.03.3
  • Added handling for copying a FXR ID directly into a param row property input (if valid) - it will strip the f character and trim the leading zeros.

Fixes

  • Make regulation encryption use vanilla IV (credit to Axi)

File Browser

Features

  • Changed the source list to use tabs instead of collapsible headers.

Texture Viewer

Features

  • Changed the source list to use tabs instead of collapsible headers.

Material Editor

Features

  • Switched the property edit implementation. This supports MTD but MATBIN support has regressed temporarily.
  • Changed the source list to use tabs instead of collapsible headers.

Fixes

  • DS2S projects now display the mtd files properly.
  • Hidden the MATBIN tab for projects that don't support MATBINs.

2.0.9

22 Dec 15:14

Choose a tag to compare

Project

Features

  • Added auto-save support for Map/Param/Text/Gparam/Material Editors.
  • Added toggle for creating the backup saves (.bak/.prev).
  • Added the ability to set a 'folder tag' for a project. If a project has one, it will be displayed under a dropdown of that tag's string. Can be used to group related projects together and keep them in a 'folder' within the project list.

Fixes

  • Restored the PTDE Collision editor setting.
  • Fixed the ME3 mod launch action.
  • Adjusted the project init process so projects load faster.

Map Editor

Features

  • Added VFS support for models and textures. This means you no longer need to unpack the game.
  • MSB contributions from Axi, TKGP
  • Added AutoInvadePoint (AIP) support for ER projects, allowing you to view and edit them.
  • Added Navmesh Configuration (NVA) support for SDT, BB, ER and NR projects. Viewing only for ER and NR projects.
  • Added visible navmeshes for SDT, ER and NR projects.
  • Global Search Tool: added button to copy the result list to the text clipboard.
  • Global Search Tool: added options to configure what from the result list is included in the text clipboard output.
  • Property View: added the ability to see a map object reference's entity ID in the red text.
  • Property View: added toggles for what is displayed in the red text for a map object reference (Name, Entity ID, Alias).
  • Property View: added an in-line frame button for the map object reference preceding the red text.
  • Map List Filters: added the ability to create user-defined map list filter lists that accept both specific and regex filter terms, and can check for all or any matches. You can edit and delete the filters post-creation.
  • Viewport: added the ability to toggle which model types and texture types are loaded during a map load. Can be used to reduce the resources needed when loading maps.
  • Model Data: added a new tab to the Resource List window. This displays all the models and texture listeners the current selection uses. Allows the user to quickly extract the FLVER, DDS texture files and material (MTD/MATBIN) files for said selection.
  • Movement Increments: added the ability to toggle between continuous and discrete movement with the keyboard move shortcuts.
  • Movement Increments: added a shortcut for toggling the keyboard move discrete movement state.
  • MSB Mass Edit: added support for Vector3 properties.
  • MSB Mass Edit: added support for random spread to any numeric property.
  • MSB Mass Edit: added button in the Selection Criteria that will select the targets of that criteria (in the local map).
  • Map Validator Tool: added a new tool in the Tool window that lets the user quickly check duplicate entity IDs, missing collision and walk route names, and invalid param references (for the commonly used ones).

Fixes

  • Fixed the Game Visibility Actions (Toggle Dummy State) so the shortcuts are actually checked.
  • Changed default name display type to Internal_FMG so the aliases display as they did before by default.
  • Enabled the ER map offset handling by default (removed the setting toggle).
  • NR maps should now be positioned correctly when loading multiple at once.
  • Added a fixed window size for the edit actions that spawn a new window, so they don't extend endlessly in some cases.
  • Fixed issue with the collision locator for DS3, BB and SDT projects.
  • Fixed lots of small issues with model and texture locating.
  • Fixed the map peek functionality for the map quick links in the Param Editor.
  • Made the map quick-link select the newly loaded map.
  • Added a fix for the invalid state the map content list enters after a map reload where the viewport didn't connect properly to the entities that made up the map content list.
  • Fixed a crash if a texture virtual path was sent to the job builder malformed (missing the id section).
  • Fixed bug with the Entity Identifier Tool for ER/NR projects where the base ID used was wrong.

Model Editor

Features

  • Rebuilt the Model Editor to follow the same internal structure as the Map Editor.
  • Added VFS support for models and textures.
  • Model Insight: added a new tab to the Tool window. This displays all the models and texture listeners the currently loaded model uses. Allows the user to quickly extract the FLVER, DDS texture files and material (MTD/MATBIN) files for said model.
  • Internal File View: added auto-select and load for sources that only contain one FLVER.
  • Property View: added quick-link references for Dummy / Node / Material references.
  • File List View: added ability to update the alias of the model quickly in the right-click context menu.
  • Viewport: added ability to control the size of the Dummy and Node polygons.

Fixes

  • Fixed a bug in FlverResource that would throw and then cause the models not to load if the Model Editor was disabled.

Param Editor

Features

  • Updated the Param Upgrader for NR.
  • Updated the paramdefs for the NR updates 1.03.1 and 1.03.2.
  • Paramdex and alias contributions form Supuritto, El Fonz0, Axi, moitt22, phoriah, TKGP, nex3, Valerie
  • Moved the Param Upgrader into the Tool window.

Text Editor

Features

  • Added support for the new NR fmg files to the Text Editor.
  • Added an option to allow loading of the obsolete fmg containers (item/menu) for NR projects, as the new baseline means those files don't exist.
  • Entry View: Added a button that lets you quickly focus the current selection.
  • Entry View: Made the search bar automatically focus the current selection when cleared.
  • Text Search: Added the ability to export the results as JSON.

Fixes

  • Fixed the text editor search tool so the quick-link work correctly again.
  • Fixed DS1 fmgs not being read properly

Graphics Param Editor

Features

  • Updated the GPARAM implementation (credit to TKGP and kotn3l).
  • Enabled Gparam Editor for NR projects.

File Browser

Features

  • Added a VFS category to the File Browser. Allows you to browse through the files, view their internal contents, and extract them or individual files if desired. Similar to Selective UXM Unpack.

2.0.8

01 Nov 20:08

Choose a tag to compare

Project

  • Added stubs that contain the editor window display handling. These are immediately displayed on project init, and then the actual contents of the editor is shown when the init has finished for said editor. This stops the forced window focus switch that occurred as a project loaded.
  • Allowed the project creation and settings window to be moved
  • Allowed the alias and enum window to be handled normally.
  • Removed the forced sizing of the alias and enum window.
  • Adjusted the layout of the alias and enum window to allow resizing to make it more useful
  • Switched the project display to tab groups, so large lists are less overwhelming to browse.
  • Added DS3 and SDT to the ME3 support check as it now supports them, and removed the ME2 actions.

Map Editor

  • Added byte-perfect write and various corrections for NR MSB (credit to colaaaaaa123)
  • Adjusted the Render Group view so it fits better in a vertical configuration, and adjusted the default imgui.ini to place it in the sidebar windows instead of by itself.
  • Added a toggle for the model mask handling to the viewport dropdown settings menu
  • Made the "Texturing" toggle forcefully refresh the map entities so their texturing changes (i.e. you can swap between textured and flat normals without reloading).

Mass Edit

  • Added the ability to edit string fields (this was somehow missing) via the edit command in the MSB Mass Edit tool.
  • Added ability to invert the selection logic for the map object layer in the MSB Massedit by preceding the command with a ! symbol

Map Content View

  • Adjusted how the visibility toggles for each map object are displayed (now as a proper button), which means they now work again.
  • Added a CFG toggle for the appearance of these visibility toggle buttons
  • Adjusted the visibility buttons in the Map Editor Contents list so they work correctly and appear at the start of the list entry.
  • Added the ability to hold A whilst pressing the visibility button in the Map Object List to toggle the visibility state for all map objects of the same type (e.g. Part.Enemy)

Tools Window

  • Restructured the Map Editor actions and tools to make it easier to work with them.
  • Renamed the Asset Browser to the Model Selector (more accurate to what it is), and made it a Tool window section rather than a separate window.
  • Adjusted the Model Selector tool so it adjusts what is displayed based on the internal type of the current selection
  • Allowed arrow selection in the Model Selector lists
  • Added sensible heights to some tool sub-sections so they don't consume all possible vertical space when displayed.
  • Cleaned up the interface design for the tool sections so they look more internally consistent
  • Allowed -360 degree minimums for the rotation configuration

Map Grid

  • Added three grids for the Map and Model Editor, called Primary, Secondary and Tertiary. They can be displayed simultaneously.
  • The Grid Configuration windows in both editors now allow the user to configure the three types of grids individually, and to toggle their display.
  • Allowed for decimal values in the grid section size.
  • Moved the viewport configuration elements into a section in the Tool windows for the Map and Model Editor
  • Added the ability to configure the position (X, Y, Z) and rotation (X, Y, Z) of the grid in the configuration window
  • Made adjustments to the grid color or size immediately regenerate the grid
  • Removed the grid settings in the editor settings.
  • Added the Adjust to Grid action (B) which sets the current selection to the primary grid according to the current grid configuration.
  • Added the Grid Configuration action (Ctrl + B) to open the Adjust to Grid placement parameters adjustment menu.
  • Adjust to Grid configuration allows the selection to be set based on Position X, Y, Z and/or Rotation X, Y, Z
  • Added ability to target which grid to adjust to (Primary, Secondary or Tertiary)
  • Added ability to switch which axis is considered the 'floor' when adjusting the entity to the grid (this is the axis where it sets the co-ordinate to a flat value, rather than the closest intersection on the grid.
  • The grid adjustment parameters are now persistent across sessions and saved per grid type
  • Added shortcuts for secondary / tertiary adjust to grid

Select All

  • Added Select All by Map Object Type (Ctrl + A): this selects all of the map objects within a type list (i.e. Part.Enemy) that share a type with the current selection
  • Added Select All by Model Name (Shift + A): this selects all of the part map objects that share the same Model Name
  • Added Select All by Configuration (Alt + A): this lets you select map objects in the same manner as the MSB mass edit selects them.
  • Added ability to invert the selection logic for the map object layer in Select All by preceding the command with a ! symbol

Duplicate

  • Added proper support for NR map edits to the duplicate action processes (increment type ID, entity group ID, etc)

Fixes

  • Wrapped the InvalidDataException throws in the MSB reads with !BinaryReaderEx.IgnoreAsserts so they are ignored if the "Ignore Read Asserts" option is enabled. This lets the MSB load even if the offset values have been tampered with.
  • Fixed the save process for the Selection Groups so changes are immediately saved.
  • Fixed the button width for some of the buttons in the Selection Groups section.
  • Fixed ER CNT MSB loading issues (credit to ividyon).
  • Fixed a regression in the model mask handling that caused most models not to appear properly if the handling was enabled.
  • Fixed issue where UnkT54PartName in ER projects wasn't handled properly during duplicating.
  • Fix for ItemLotParam_DS3 CTD if the GetMapMSB returns a ResourceDescriptor with a null AssetPath.
  • Stopped the autoroute MSB file entries from being displayed in the map list for AC6 projects.
  • Fix memory mapped file access, BTLs (credit to ividyon and Gary Tierney)

Model Editor

  • Adjusted the visibility buttons in the Model Contents list so they work correctly and appear at the start of the list entry.

Param Editor

  • Added option for param row name import to only replace empty names (where name is "" or null), allowing for partial imports
  • Adjusted mass edit script directory construction
  • Added blank Table Group Names when a project doesn't have any base names so a user can still add names.
  • The param upgrader warning in the menubar will only show for project types that support it
  • Made the Developer Row Names check more flexible so it simply checks for the presence of the right folder before showing the import options
  • Added hover context tracking so certain shortcuts only apply when the user is hovering within a specific column of the Param Editor
  • Added the offset/amount mini-menu to the normal Duplicate context menu

Table Groups

  • Added Duplicate and Delete support within the Table Group column
  • Added these two actions to the context menu when a Table Group is selected
  • Added shortcut support for these actions when hovering in the Table Group column (uses the same shortcut as the normal Duplicate and Delete)
  • Added a toggle for table group duplicate behavior. By default it will block duplicates that would 'inject' rows into an existing group, which is likely unwanted and difficult to spot for a user.

Search Engine

  • Added "named" row filter that matches if a row's name is not blank or null
  • Added "selected" row filter that matches if a row is already selected. Useful for filtering the view down to your current selection

Paramdex

  • Added Param Upgrader support for the latest NR param versions.
  • Added ChrPhysicsVelocityChangeParam and FallControlParam defs reported by Pav (for NR)
  • Added NR defs, meta and row names (credit to Supuritto)
  • Added NR meta and row names (credit to PositronCannon)
  • Added Developer Row Names for DS2S projects (credit to Radai for the dump)
  • Added DS2S def/meta updates (credit to Moonlight Ruin)

Fixes

  • Fixed an issue with the Legacy Row Names import than didn't remove the ID segment when assigning the row name.
  • Fixed the issue with the Delete action when in Table Group view so the display state updates correctly after an undo/redo.

Text Editor

  • Added the ability to sync modified entries and default entries with the Language Sync tool
  • Added a FMG-specific level context action for Language Sync, which will sync that FMG only
  • Supported the Language Sync additions/changes in the undo/redo stack.
  • Added Language Sync menubar dropdown with toggles for applying the language prefix to synced entries, include modified/added/default entries in the sync.
  • Added Mass Language Sync window (opened via the Language Sync drop down). Lets the user quickly sync all languages (e.g. add to all non-English languages the added entries done in the English FMGs).
  • Implemented a configurable duplicate popup for the Text Editor.

Fixes

  • Fixed ER FMG lookup issue (credit to ividyon).
  • Fixed the FMG Entry list shortcuts from applying when the user hasn't focused on the FMG Entry list window
  • Added PortugueseLatin to NR supported languages (removed Portuguese) as NR uses porbr not porpt
  • Fixed bug where multiple usage of the Mass Language Sync would keep adding the 'addition' entries. It now switches to modifying the existing entry as it should.

General Bugfixes

  • Fixed non-NR project types throwing an error on param save due to the WriteTableGroupNames function
  • Fixed an issue with the UpdateModelMasks() function in FlverMeshProvider where the ModelMasks list could be accessed with an invalid index
  • Added a guard clause in-case the ME3 profile directory is invalid.
  • Fixed issue with the Color Picker display when multiple overviews are present.
  • Fixed CTD when Project.MaterialData.PrimaryBank is null in MaterialBinderList

2.0.7

13 Sep 23:03

Choose a tag to compare

Project

  • Added a "Set as Primary" action to the context menu for a project entry so the user can quickly switch which project is automatically loaded upon Smithbox start.
  • Fixed legacy JSON saving the GameRoot path incorrectly.

Paramdex

  • Added lots of row names for NR projects.
  • Updated various paramdefs to include more useful field names.
  • Contributions from Natalie, El Fonz0 and Supurrito.

Map Editor

  • Implemented support for NR MSB saving.
  • Changed the default binding for "Cycle Rotation Increment Type (Forward)" to C + Ctrl + Alt
  • Fixed map editor property name sync (credit to colaaaaaa123).
  • Added support for naming map objects with an external 'community' name.
  • Added cycle button for switching name display type for map objects in the map content list.

Param Editor

  • Implemented Table Group view for ER, AC6 and NR projects. This lets the user view tabled params in a more fluid way.
    • Added support for displaying the roll chances for each entry in these params.
    • Each group can be named separately from the rows.
  • Restored support for Icon Previews for ER, AC6 and NR.
  • Added support for Icon Previews for DS3 and SDT projects.
  • Added quick toggle button for Icon Previews.
  • Added project-specific support for Graph Legends, Icon Configurations and Shared Param Enums, allowing a project to override these JSONs.
  • Added Value Set Finder for the param editor: for searching if a param field uses X, Y, Z (.or more) values.
  • Rolled the ID/Name copy to clipboard behavior into the normal Ctrl+C behavior
  • Added a toggle button in the param row header section to switch what the Ctrl+C behavior copies to the the text clipboard (ID, Name or ID and Name).
  • Added param row context menu action: Inherit Row Name from Alias.
  • Added information on the amount of rows selected in the row context menu.
  • Fixed major bug with the row name strip/restore process. Saving more than once would cause the param saving process to occur more than once, with the second save onwards using the blank row names when creating the stripped row name files. This destroyed all the row name data. There is now a save lock mechanism that prevents this from happening.
  • Updated the Param Upgrader mass edit commands for ER and NR so they fully update all relevant rows.
  • Included support for the latest NR param versions to the Param Upgrader.
  • Implemented colaaaaaa123's fix to param decryption so that some hostile modders don't break the decryption process.
  • Implemented various minor bugfixes.

Material Editor

  • Implemented various minor bugfixes.

Model Editor

  • Fixed model editor saving process (credit to ividyon).

Text Editor

  • Fixed Ctrl+Left Click for the FmgRef decorator so it properly goes to the Text Editor and selects the FMG entry.
  • Implemented various minor bugfixes.

2.0.6

21 Aug 09:54

Choose a tag to compare

Program

  • Added OSX and Linux builds of Smithbox (credit to EclipsedButter).

Paramdex

  • Updated the param upgrader for the latests Elden Ring and Nightreign param versions.
  • Updated the paramdef for Nightreign.
  • Credit to Axi, treacherousfiend, EvilCookie, Natalie, PositronCannon, El Fonz0, thefifthmatt, WildBunnie for lots of contributions to the paramdefs, row names and aliases.

Project Management

  • Project List is now a dropdown menu on the main menubar.
  • Adjusted the auto-Steam detection to fail silent rather than throwing an exception if no Steam install is present
  • Adjusted the steam directory finder to account for Linux usage, and to avoid invoking the Windows-specific functions when running on Linux
  • Added legacy project.json generation for other tools to use.
  • Adjusted legacy project.json creation so only it doesn't overwrite existing ones.
  • Added action to reload project fully.
  • Import existing project.json on project creation (credit to ividyon)
  • Added option to display project list by project type, with the individual projects under these collapsible sections
  • Added filter bar for filtering the project list

Param Editor

  • Implemented ItemGib for Elden Ring projects (credit to Axi)
  • Fixed an issue with the Param Upgrader that caused pre-DLC Elden Ring projects not to upgrade properly sometimes.
  • Fixed crash for project types that lack param reloader offsets when opening the Param Editor settings.
  • Prevent Import/Export CSV shortcuts without a selected param (credit to treacherousfiend).
  • Added message box for user to decide on automatic row name import (to prevent the program from messing up existing row names if the user creates a new project for an existing set of data)
  • Added ability to select which params to merge with the Param Merger.
  • Added checks for the System/Graphics/Event params so those separate files are only written if the params they contain were edited differently from vanilla
  • Removed error warnings for the Event param load/save for Nightreign projects as it is no longer present.
  • Fix for the param comparison report where it would throw CTD if TargetProjectName wasn't set to anything.
  • Adjusted the automatic row name import so only specific params are imported by index for ER/AC6/NR projects, namely those where the names really must be imported by index for them to make sense.
  • Row Name JSON exports now export the proper characters instead of the unicode representation when the string contains non-ASCII characters.
  • Adjusted the row name storage arrangement to allow for easier PRs (converted all existing to new arrangement)
  • Added legacy support for older Stripped Row Names.json files so older projects can still restore row names if stripped
  • Added prompt to delete the legacy Stripped Row Names.json file once they've been converted into the new structure.
  • Added granular param pin stay options (credit to ividyon)
  • Added setting to change the width of the param editor field context menu
  • Fixed the usage of the Row context menu CFG var so it actually affects the param editor row context menu.
  • Added list height multiplier for the enum/alias lists in the param editor field context menu
  • The game offset index used by the Param Reloader and Item Gib is set to the latest version whenever the Param Editor is initialized
  • Added a CFG var to toggle this behavior (mainly if somebody wants to set it to an older version when working with a older executable and doesn't want the auto-setting behavior).

Map Editor

  • Restored Nightreign MSB read support (credit to colaaaaaa123)
  • Fixed issue with Prefabs never being populated in the Import Prefab section
  • Fixed issue with Prefabs failing to export correctly due to the export directory not being set properly
  • Added ability to import prefab at the placement orb location, rather than at the stored co-ordinates for the prefab.
  • Fixed CTD from using the selection group shortcuts
  • Added toggle for the detection of selection group shortcuts (in-case the user wants to use the keypad for other purposes)
  • Fixed the selection group tool window never displaying when the Resources list was empty.
  • Added stricter checking in the GetModelMasks function so it doesn't throw if NpcParam or the row Id cannot be found.
  • Fix DS1 & DeS CTD regression in GetModelMasks (credit to treacherousfiend)
  • Fixed the map offsets not being applied when loading maps.
  • Set tile display to false by default for the World Map.
  • Fuzzy filter for map search (credit to Pear)
  • Fixed map load check so the "Create" tool section is visible when a map is loaded
  • Sort map list and change filter when typing (credit to ividyon)

Text Editor

  • The loose FMG dictionary is only populated for DS2 project types when building the project directory file lists.
  • Fixed issue with PersonalScenarioObjective and PersonalScenarioBody FMGs not appearing correctly for Nightreign projects.

File Browser

  • Added ability to set the unpack directory for the Unpack Game Data tool

Interface

  • Restored the font rebuild request to the UI scale and Font size change sliders.
  • Made most of the buttons scale correctly when the UI scale changes.
  • Adjusted how the world map is displayed so parts are not cut off for users with small display resolutions.

Removals

  • Removed the Smithbox self-updater functionality.
  • Removed the Icon Preview functionality in the Param Editor (for now, will be re-implemented in the future). This fixes the memory leak that occured in 2.05.

2.0.5

10 Jun 20:45

Choose a tag to compare

General

  • Added support for in-place Smithbox updates.
  • The update button will now download the latest release, remove the old release, and then replace it with the new release and launch the latest Smithbox.
  • This process deletes files and folders, so if you interrupt it, you may need to re-install the latest manually.

Project

  • Added the ability to quickly create ME3 profiles for a project, and to then launch the project from Smithbox.
  • Limited the ME2 support to DS3
  • Properly handled the visibility of the project context menu.
  • Added a green bolt symbol to loaded projects.

Map Editor

  • Fixed configuration issue that caused ER world maps to break.

Param Editor

  • Fixed all rows CSV export option causing a crash

Model Editor

  • Added fix for ExportModel if FLVER or Internal File is not selected.

Text Editor

  • Made the text merge set the IsModified bool so Save All functions correctly and saves the merge result.