A one stop shop for your 7d2d xml mods or modlets. Create new objects, edit existing ones, search the files for information, easily discover issues in the files, switch between mods easily, support for localization.txt and ModInfo.xml If you are curious on how to mod 7d2d this app is for you.
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou must get permission from me before you are allowed to modify my files to improve it
Conversion permissionYou are not allowed to convert this file to work on other games under any circumstances
Asset use permissionYou are allowed to use the assets in this file without permission as long as you credit me
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
The Fun Pimps and .Net
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version 1.7.6
- Bug Fix: Published the application targeting 64 bit systems. Versions 1.7.4 and 1.7.5 were published targeting 32 bit systems. This was problematic because large search trees cannot be loaded and crash the application due to memory limits.
- Added Find/Replace functionality to the localization window.
- Trimmed the unsaved changes popup message in the localization window.
=========================|
1.7.5
=========================|
Bug fix: Display name was not being saved in the Create/Edit Modinfo view.
Bug Fix: Name regex validation string is now identical to Game regex. The only difference was the name cannot have spaces.
=========================|
1.7.4
=========================|
- Updated the project using visual studio community and changed the repo.
- Added support for the XUI_Common folder.
- Added the XUI files to the file validation function.
- Ignore the Localization.txt when running the validate files function.
- Removed the auto copy from search boxes in the TreeView. Now when clicking into a search box it will not copy that value.
- Added find and replace functionality to the Direct Edit views.
- Fixed the already open prompt to not trigger when a window is closed.
- Added proper validation and error messages for the new ModInfo.xml format.
- Added a checkbox for switching between ModInfo.xml v1 and v2 formats in the Create/Edit window.
- Added a function to automatically update all ModInfo.xml files to the new version.
- Changed the icon to be better dicernable from the 7d2d icon.
- Added a checkbox to lock the mod output box from updating when working on new objects.
- Added game files drop down action to display the file in the Mod Output View.
Version 1.7.5
Bug fix: Display name was not being saved in the Create/Edit Modinfo view.
Bug Fix: Name regex validation string is now identical to Game regex. The only difference was the name cannot have spaces.
1.7.4
=========================|
- Updated the project using visual studio community and changed the repo.
- Added support for the XUI_Common folder.
- Added the XUI files to the file validation function.
- Ignore the Localization.txt when running the validate files function.
- Removed the auto copy from search boxes in the TreeView. Now when clicking into a search box it will not copy that value.
- Added find and replace functionality to the Direct Edit views.
- Fixed the already open prompt to not trigger when a window is closed.
- Added proper validation and error messages for the new ModInfo.xml format.
- Added a checkbox for switching between ModInfo.xml v1 and v2 formats in the Create/Edit window.
- Added a function to automatically update all ModInfo.xml files to the new version.
- Changed the icon to be better dicernable from the 7d2d icon.
- Added a checkbox to lock the mod output box from updating when working on new objects.
- Added game files drop down action to display the file in the Mod Output View.
Version 1.7.4
Updated the project using visual studio community and changed the repo.
Added support for the XUI_Common folder.
Added the XUI files to the file validation function.
Ignore the Localization.txt when running the validate files function.
Removed the auto copy to clipboard from search boxes in the TreeView. Now when clicking into a search box it will not copy that value.
Added find and replace functionality to the Direct Edit views.
Fixed the already open prompt to not trigger when a window is closed.
Added proper validation and error messages for the new ModInfo.xml format.
Added a checkbox for switching between ModInfo.xml v1 and v2 formats in the Create/Edit window.
Added a function to automatically update all ModInfo.xml files to the new version.
Changed the icon to be better dicernable from the 7d2d icon.
Added a checkbox to lock the mod output box from updating when working on new objects.
Added game files drop down action to display the file in the Mod Output View.
Version 1.7.3
-Removed new mod prompt when losing focus in the main app mod combo box. Making a new mod in the main app can still be accomplished by pressing enter.
-Refined the "Already open" functionality for direct edit views. The prompt would popup when the window was not open after the first time opening.
-Preview of a file will be placed in the center view when selecting mod files in the search view dropdown, before this functionality only existed with the center view mod file combo box.
Separated the app into three different deployments to help with any issues. There are two self contained files for 32 bit and 64 bit systems. There is a third file Non self contained targeted at 32 bit systems.
Version 1.7.2
-There was a major issue in the direct edit view functionality after update 1.7.1. Specifically you could not open game file's and if closing the first window the "Already Open Window" no longer worked.
-This version is simply the fix for those issues, and since there were "multiple" 1.7.1 due to other bugs I'm upgrading the version for clarity as I believe the app is back to stable.
============================
Version1.7.1
-Fixed when making external changes to a file and coming back into a direct edit window the popup would continue to popup even if no is clicked.
-Changed when opening a "Direct Edit Window", if the file is already open the user is prompted to switch focus to the window, open a new window, or cancel the operation entirely.
-Fixed bug that changed the window title for the "Direct Edit View" incorrectly, removing the mod name and leaving only the file name.
-Changed the Mod selection boxes to be editable, making them easier to use with many mods loaded. Now you can start typing and existing mods will be auto-filled.
- With this change comes the ability to easily create a new mod. All you need to do is type any value into the box and you will be prompted with an appropriate message.
- With this change there are two new "Lock" buttons to the UI to toggle the typing ability of the combo boxes. These buttons are tied to properties so the last state when closing the app will be persisted.
-Changed when opening a direct edit view the Main Text Box in the window gets focus. This is nice for opening a direct edit window and being able to search(ctrl-f) without needed to click in to the window.
-Fixed when adding a new mod to the output location manually and clicking reload. On selecting files and an error pops-up saying the xml is invalid. After using the tool to validate the xml the error would disappear . This was an internal issue of the files not being loaded correctly when clicking Reload, that would happen when clicking validate. This is now fixed and clicking reload will also reload the internal map for the files that was causing the error.
-Changed moved "Validate Mod Files" menu item to "Tools" menu. From "File" menu.
-Fixed localization window issue when directly editing the CSV, on occasion some rows would be unintentionally combined. This is now fixed.
-Changed Create/Edit ModInfo window is better about displaying issues.
-Changed Create/Edit ModInfo on saving the New Mod Name Box is cleared.
-Fix added missing tooltip to combine function in direct edit view.
-Reorganized main app center view so the Mod Selection box is not hidden as easily when resizing the window.
-Revisted code completion in direct edit view and made adding tags more user friendly.
-Filter any numbers from the code completion as this uses unfiltered attribute maps of the XML.
-Save All XML tooltip has been changed
-Changed tooltip for the reload button
-Auto Move Directory Prompt has been cleaned up
-Changed Setting Header for the Auto Move Directory from "Game Mods Directory" to "Auto Move Directory"
-Remove the mod and file name label from the direct edit view as the title contains the information.
-Made combo box in the localization window editable for eaiser mod selection. This comes with a lock button. The lock button in the localization window does not persist like it's cousins in the main application.
-Added crash handling to the localization window. If ANY window is open when the app crashes, whatever localization is there is written to the log.
Version 1.7.1
-Fixed when making external changes to a file and coming back into a direct edit window the popup would continue to popup even if no is clicked.
-Changed when opening a "Direct Edit Window", if the file is already open the user is prompted to switch focus to the window, open a new window, or cancel the operation entirely.
-Fixed bug that changed the window title for the "Direct Edit View" incorrectly, removing the mod name and leaving only the file name.
-Changed the Mod selection boxes to be editable, making them easier to use with many mods loaded. Now you can start typing and existing mods will be auto-filled.
- With this change comes the ability to easily create a new mod. All you need to do is type any value into the box and you will be prompted with an appropriate message.
- With this change there are two new "Lock" buttons to the UI to toggle the typing ability of the combo boxes. These buttons are tied to properties so the last state when closing the app will be persisted.
-Changed when opening a direct edit view the Main Text Box in the window gets focus. This is nice for opening a direct edit window and being able to search(ctrl-f) without needed to click in to the window.
-Fixed when adding a new mod to the output location manually and clicking reload. On selecting files and an error pops-up saying the xml is invalid. After using the tool to validate the xml the error would disappear . This was an internal issue of the files not being loaded correctly when clicking Reload, that would happen when clicking validate. This is now fixed and clicking reload will also reload the internal map for the files that was causing the error.
-Changed moved "Validate Mod Files" menu item to "Tools" menu. From "File" menu.
-Fixed localization window issue when directly editing the CSV, on occasion some rows would be unintentionally combined. This is now fixed.
-Changed Create/Edit ModInfo window is better about displaying issues.
-Changed Create/Edit ModInfo on saving the New Mod Name Box is cleared.
-Fix added missing tooltip to combine function in direct edit view.
-Reorganized main app center view so the Mod Selection box is not hidden as easily when resizing the window.
-Revisted code completion in direct edit view and made adding tags more user friendly.
-Filter any numbers from the code completion as this uses unfiltered attribute maps of the XML.
-Save All XML tooltip has been changed
-Changed tooltip for the reload button
-Auto Move Directory Prompt has been cleaned up
-Changed Setting Header for the Auto Move Directory from "Game Mods Directory" to "Auto Move Directory"
-Remove the mod and file name label from the direct edit view as the title contains the information.
-Made combo box in the localization window editable for eaiser mod selection. This comes with a lock button. The lock button in the localization window does not persist like it's cousins in the main application.
-Added crash handling to the localization window. If ANY window is open when the app crashes, whatever localization is there is written to the log.
Version 1.7
- Fixed small typo in tooltip in the localization window.
- Added a Reload Mods button to the main ui
- This is to easily refreshes the mod output folder. Mostly useful and necessary when deleting mods.
- Added an Open Mods Folder button to the main UI to quickly open the application mods output folder in explorer.
- Verified and changed unworking shortcuts. These are easily identified in app by holding alt.
Version 1.6.9
- Added small fix to loading the output path to prevent crashing if directories are modified manually incorrectly.
- Completely refactored and rebuit the create/edit mod window. Comes with a varety of changes.
- Change mod tag is now a seperate button. This comes with a tag name find and replace to easily change the mod name without the hassle of changeing the name in every file.
- New mods can be created here using existig modinfo values or new ones. This is done by adding a new name to the mod name combo box and clicking save.
- Now displays a preview of the ModInfo.xml before saving.
- Note: After testing the functions of the window worked more reliably and should be easier to understand.
- Removed the ModInfo popup when starting the app for the first time ( or on a version update ).
- New Object trees from certain xpath commands used on a search tree could not be removed individually or ignored. This is now fixed and any object tree should have these menu options.
- Added full xpath command capabilities to Mod search Trees where appropriate.
- Generate xpath to mod objects easily using the mod search trees.
- Special Note: It was discovered to be possible to target objects added from MODS with xpath. Before, the app would not give users the options to target appropriate objects for xpath generation. Now it will provide those options in appropriate cases.
- Added an expand/collapse all children context menu to search trees.
- When clicked it will expand or collapse all children trees of the clicked tree.
- Changed search tree attributes to be in rows rather than staggered trees. This is a purely visual change.
- When including comments is checked, comment trees are auto expanded, this is helpful with well documented mod files and the search trees.
Version 1.6.8
-Added a new menu to change the color theme.
- Comes in three categories:
- Normal: White backgrounds
- Medium: Bisque backgrounds
- Dark: Silver backgrounds
-Fixed typo in tooltip.
-Refactored code based on Visual Stdio Suggestions
Version 1.6.7
1.6.7
-Fixed small bugs from 1.6.6
-Set command was broken, and would crash the app.
-Other xpath comnds were auto hiding attributes. This is undesired behavior.
1.6.6
-Added full Localization support! Open the settings menu -> Open Localization
- This opens up a new window spit in 3 parts.
- Localization Output (Location top left): A text box that displays the localization for a selected mod and can be directly edited.
- Game Localization Record (Location top right): Includes a combo box with every key from the original file. A grid to view a game record using the key combo box to select a record. A copy button to 1 click copy a game record into the mod localization.
- Current Mod Grid (Bottom half): An easier way to view and modify the locaization. Using this view I easily discovered bugs in my current localizations.
-Reworked the object trees, fixes, new functionality and general improvments.
-Added a new context menu item to Object Trees. Hide All Unused attributes that goes through the tree and every child and hides unused attribites. More useful when copying objects.
-Added a new checkbox to Auto Ignore All Unused attributes when using the "Copy" functionality.
-Added the ability to IGNORE ANY object tree FROM any command in the application. Meaning you can easily ignore certain children. Rather than only entire objects.
-Added the ability to REMOVE ANY object tree. Meaning you can remove particular children and object generated from Xpath commands.
- DISCLAIMER: This does not discriminate whatsoever. Meaning if you remove the last ingredient from a new Object TRee, there will be no way to add ingredients back to that particular tree through the UI.
-Fixed Hide Unused Attributes not working for Mod Combo Boxes.
- Before, if the Mod Combo Box had a value and not the Game box and you selected "hide unused attributes" the mod box would be effectively "hidden" when it should not have been.
-Fixed: Extra remove object context menus on new object trees. They will now only have one.
-Fixed: Crashing when trying to edit an existing mod tag.
- More details: In the Mod Info window when selecting the check box to change an existing tag I observed it working sometimes and other times failing due to permission issues.
I tried running the app as an admin but that didnt work. For now, it may or may not work for you but at least the app will not crash.
-Fixed issue when loading Game files and selecting anything other than an xml file the app would crash. Now the app actualy uses that functionaity to load the Localization.txt file.
Version 1.6.6
-Added full Localization support! Open the settings menu -> Open Localization
- This opens up a new window split in 3 parts.
- Localization Output (Location top left): A text box that displays the localization for a selected mod and can be directly edited.
- Game Localization Record (Location top right): Includes a combo box with every key from the original file. A grid to view a game record using the key combo box to select a record. A copy button to 1 click copy a game record into the mod localization.
- Current Mod Grid (Bottom half): An easier way to view and modify the localization. Using this view I easily discovered bugs in my current localizations.
-Reworked the object trees, fixes, new functionality and general improvments.
-Added a new context menu item to Object Trees. Hide All Unused attributes that goes through the tree and every child and hides unused attribites. More useful when copying objects.
-Added a new checkbox to Auto Ignore All Unused attributes when using the "Copy" functionality.
-Added the ability to IGNORE ANY object tree FROM any command in the application. Meaning you can easily ignore certain children. Rather than only entire objects.
-Added the ability to REMOVE ANY object tree. Meaning you can remove particular children and object generated from Xpath commands.
- DISCLAIMER: This does not discriminate whatsoever. Meaning if you remove the last ingredient from a new Object TRee, there will be no way to add ingredients back to that particular tree through the UI.
-Fixed Hide Unused Attributes not working for Mod Combo Boxes.
- Before, if the Mod Combo Box had a value and not the Game box and you selected "hide unused attributes" the mod box would be effectively "hidden" when it should not have been.
-Fixed: Extra remove object context menus on new object trees. They will now only have one.
-Fixed: Crashing when trying to edit an existing mod tag.
- More details: In the Mod Info window when selecting the check box to change an existing tag I observed it working sometimes and other times failing due to permission issues.
I tried running the app as an admin but that didnt work. For now, it may or may not work for you but at least the app will not crash.
-Fixed issue when loading Game files and selecting anything other than an xml file the app would crash. Now the app actualy uses that functionaity to load the Localization.txt file.
Version 1.6.5
-Changed ModInfo save button to not close the window. This is to easily change and save ModInfo.xml information easily for multiple mods.
-Added a close button to the ModInfo view. More for convenience.
-Fixed bug. There was test code in the live build (*insert facepalm meme). This was forcing the ModTag to be something else everytime on startup.
-Made quite a few improvements to code completion.
-Changed two CC commands. Changed " "(Spacebar) to be CTRL+" "(Spacebar). Changed "=" to """(Double Quote)
-Added xpath tags to the code completion. I.E. Append, Set, Remove, ect.
Version 1.6.4
- Refactored xml validation code to XmlXpathGenerator.
- Completely refectored the code for the controllers. The seperation is better and there is no longer a weird coupling of the controllers.
- Removed Garbage Collector call. After enough testing I have enough evidence to know that this was not helping. It made removing views incredibly slow.
- Added a delete mod file button to the main UI.
- When changing the tag name (Ceate/Edit Mod) for a mod all files in that mod have the top tags replaced with the new tag name.
- Added full ModInfo.xml file support.
- Added code completion to the direct edit view. This comes with a help menu item in the window for the keys used. I find it intuative personally.
Version 1.6.3
- Fixed all issues from 1.6.2
- Fixed issues:
- Issue with extra top tag when saving a file.
- Issue, hiding un-used attributes (*) in the header was causing the object to be ignored by the xml xpath generation.
- Crashing issue when trying to copy an invalid tag in a mod tree.
- Crash when trying to copy a valid loot object.
- Issue on copy perk object, users were unable to click the correct item in the progressions tree.
- Error with access key fix. Any tags with underscores would include too many underscores in the output xml..
Version 1.6.2
- Fixed, sound xml did not add all objects correctly.
- Fixed bug, buttons in new object window were using access keys, potentially blocking the defined access keys.
- Fixed, when loading a mod, the search tree mod file combo box does not update.
- Added code to reuse context menu in the mod search trees. This was something that was done on the regular search trees to conserve used memory.
- Added the edit object function to game trees. Also changed the function name to "Copy Object" in the UI.
- Added functionality for empty tags, before there was no application way to add these tags. Now there is a checkbox to add an empty tag. Example, recipes.xml wildforgecard category has a checkbox to be added in generated xml.
- Added a combine feature to direct edit windows. This allows users to combine top level append tags into the same tag. For example all seperate <append xpath="/recipes"> will be auto combined into a single <append xpath="/recipes"> This is to optimize search trees so app generated appends can be combined into a single tag so they can be searched correctly in the tree.
- Added an undo all menu button to the DirectEditWindow. This undos any changes in the file since the time of opening the window.
- Added a new context menu item to new object trees, to flag for ignoring the tree when saving.
- Added an auto move button to the main UI, this uses the same function as the stage all menu item
- Added access keys to the main ui for save and stage. To save all xml files users can press alt-s, to stage all mod files users can press alt-a.
- Added a new combo box in the new object window that fills with common attributes from all mod files or the current slected mod. This includes a CheckBox to decide for each added object. You should note that even objects added from the search trees will use the checkbox.
- Added drag and drop option to direct edit view. Users can select text and dag and drop it elsewhere in the doc.
- Added the show tabs option to the direct edit view.
- Added current line highlighting to the direct edit view.
- Added rectangular selection to the direct edit view as well. Just press alt when clicking.
- Added context menu to New Object Trees to hide any unused attributes. This is useful when creating objects that are all similiar and you don't need the attributes. If a node has hidden attributes you will see a (*) in the tree name.
- Re-added the call to the Garbage Collector on removal of ui generated view items. This makes it so that on removal of any object memory should be freed. That means that as you work in the app, memory used should be freed more regularly. Originally I removed this due to recommendations against it. However, I have not noticed a negative impact on performance, only a positive impact. Therefore I'm keeping it.
- Changed splash screen popup to be yes or no.
- Removed children from onHover in search boxes in the search trees. It was really annoying in the main search box to have the on hover popup blocking the entries.
- Reorganized the direct edit ui elements to be next to each other.
KNOWN ISSUES:
- Issue with extra top tag when saving a file.
- Issue, hiding un-used attributes (*) in the header was causing the object to be ignored by the xml xpath generation.
- Crashing issue when trying to copy an invalid tag in a mod tree.
- Crash when trying to copy a valid loot object.
- Issue on copy perk object, users were unable to click the correct item in the progressions tree.
- Error with access key fix. Any tags with underscores will include too many underscores in the output xml..
Version 1.6.1
- Fixed crashing issue when using the edit object function on a Mod Search Tree
- Fixed crashing issue when clicking add mod search tree when the selected file is blank.
- Fixed issue with the edit functionality was displaying to many times. Also modifies the error message to be more descriptive as to the issue.
- Fixed issue with the Auto Move feature. If the mod had other directories and a localization.txt, these files and directories were ignored, this is now fixed.
- Fixed combo boxes from set attribute trees, from the New Object view, did not zoom in and out correctly.
- Fixed insert Before and insert after not working properly on attributes in search trees.
- Added mod name to direct edit window title when opening a mod file in the direct edit window.
- Added the horizontal scroll bar to the New Object View.
- Added children to the on hover in the search tree. With this comes a new checkbox to decide for each tree.
- Added a checkbox to include comments or not in newly generated search trees.
- Added an option to overwrite local files when loading a mod. This is so you can reload mods. Warning does not MERGE. Any changes to the mod by you will be overritten.
- Added the Collapse parent right click menu to the mod search trees.
- Added functionality clicking on an objects, in search trees, copies the first attribute. Now you can click the main object for the first attribute or open it and click individual attributes.
- Added the ability to expand and collapse xml nodes in the direct edit view. Includes a context menu to expand or collapse all nodes in the document.
- Changed all xaml ui elements in main wndow to be center aligned. This is to have better consistancy in the app.
- All generated attribute values are trimmed. Meaning accidental white spaces in the new object view input boxes are automatically removed.
- When adding a mod object, the app reloads all wrappers to ensure any xml updates are reflected in the search tree.
- On saving in direct edit view, xml is validated and warns the user if the xml is invalid.
- Removed warning pop-up when saving in the direct-edit view.
Version 1.6
- Fixed a small issue when loading a mod with the boxes in the view not updating correctly.
- Fixed crashing issue if the user did not set the custom tag with a new install.
- Fixed font when using xpath commands. Now it should be uniform when adding new objects to the view.
- Title for CustomTag popup was incorrect when editing a mod name.
- Added better resolution handling for the CustomTag popup. Also cleaned up the pop up view to fill the space better.
Version 1.5.9
- Fixed app crashing when selecting a mod for direct edit opening. There was an issue when you click save it updated the mod files combo box incorrectly.
- Fixed issue with the center game file combo box was not updating when loading a new game file.
- Adding a setting to turn writing the timestamp on/off when saving xml. Off by default.
- Added missing tooltips to the new view elements from v1.5.8
Version 1.5.8
- Made direct edit view resolution friendly.
- Changed label to be purple in direct edit view.
- Added appropriate title to the Custom Tag Popups
- Added better resolution handling to Custom Tag Popup.
- Added zooming to the New Object view. Now all views can become bigger or smaller.
- Removed width setting on New Objects Combo boxs. The width will adjust itself based on contents.
- Cleaned up the zooming to ensure no issues with zooming too small.
- Added error handling if users select the config directory and not the main mod directory when adding new mods.
- Removed all width attributes. Now view objects' width is based on text within.
- Added the ability to copy objects from mods directly into the new object view.
- In the mod search tree users can now right click on an object in the tree, then click "edit" and the object is moved into the new object window.
- This feature allows users to change other mods much easier and add those changes into their own mods or even the existing mod easily.
- BEWARE: The feature does not Auto remove the original entry so it may need to be removed manually if you want to replace it.
- Moved the mod file selection ui elements from the search tree panel, into the file selection panel.
- Added new UI elements to open game files directly.
- Fixed small issue in the center view. If the xml was invalid for a mod file then the app would crash when selecting that file.
Version 1.5.7
- Changed xaml to use correct Auto and fill values, rather than hardcoded numbers. This will fix any screen resolution issues.Tested with multiple resolutions. including 800 x 600 to 1366 x 768.
Version 1.5.6
- Made removing an item in the object view more usable. Now users can remove specific tags, rather than the whole object.
1)Clicking remove on an object that is the last one in the tree will try to remove the top tree. A warning is displayed and users chooses.
- Memory optimization done right.
1) Added optimization by reducing new ToolTips. Now the app reuses tooltips when they are the same.
2) Added optimization on the ContextMenu used in the search view. This reduces used memory and load times by 60%!
MORE INFO on Memory: After profiling the app I determined the MenuItems in ContextMenus were using a considerable amount of memory. The search trees used two seperate ContextMenus that were generated and recreated for every treeview. This was terribly inefficent on memory, after making some small edits to reuse a ContextMenu when possible, a search views memory was reduced by 60%, which in turn reduces loading times considerably. En example is the items.xml file, version 1.5.5 memory usage was 2.8 gb (Yes, Giga bytes). Version 1.5.6 is less than 800mb.
- Removed calls to Garbage collector. After significant research the calls were unnecessary.
1) These calls were cleaning up memory faster without a noticable performance impact, however, all of the documentation recommends against this. The memory should be cleaned up automatically by c#.
Collapsing parent was only collapsing the top most tree. Now it collapses just the immediate parent.
Reduced search box threshold to 15, now any treeview with 15 or more children will have a search box.
Made all combo boxes sorted in abc order. Now it should be much easier to find things.
Version 1.5.5
- Fixed issues in generated XML for Xpath commands. I have tested every xpath command and the generated XML is very accurate, I'm hoping perfect!
- Fixed a bug with the Help menu item, it was returning invalid file contents when the file didn't exist.
- Fixed quick commands for Menu items, the File menu was not working with quick commands.
- Fixed direct edit view Menu. It was off when side by side.
- Fixed Direct Edit windows close when main app closes.
Version 1.5.4
A bunch of bug fixes! I hope I got them all. Either way the app should be much more stable after this version.
I'm going to tinker with it and stop adding features until I'm sure everything is solid.
- Fixed bug in ui where the mod files combo box in the center view would not show correctly on startup.
- Fixed bug with saving the xml, a newline was continually added at the last tag to the xml pushing the last tag further away.
- Fixed bug where empty files were being generated.
- Fixed bug where saving files would add content from other files to a Xui file due to the folder nesting.
- Fixed bug with any one liner xpath actions, before the inner text and contents where generated with new lines. Now the app generates the xml like the game expects.
- Fixed issue with the setattribute command. Before it would generate the xml incorrectly and put a closing quote(") in the wrong place.
- Fixed default Help message
- Fixed issues in the generated xml, with appends and inserts before and after on attributes were not one liners.
Also some new features for the XmlOutputView
- Added shortcuts for every Menu in the app. Just press alt and the letter that is underlined is the next key to press. For example alt-f,alt-s will save all files.
- Changed the way DirectEditing works. Now direct edit windows can be open without locking the app.
- This comes with many new features to handle direct edits.
- In the direct edit view users can reload the file from disk.
- The file can also be validated directly in the view for Xml issues.
- Added a context menu, remove tree, to the search trees.
- Added in line numbers to the Xml Views.
Version 1.5.3
Removed the memory optimization to fix crashing issues with large files.
Version 1.5.2
- Fixed another bug in xml generation. AppendBefore and appendAfter were missing a closing tag.
- Fixed a small bug after editing/changing a Mod name the search tree combo box was not updated.
- Added the missing tooltips to the new menu items from v1.5.1.
- Added a new context menu item in the search view to collapse the parent tree.
- I found this to be incredibly useful for large trees.
- Cleaned up the ToolTips.
- Fixed the label display bug in the direct edit view. The label was cut off when opening initially.
Version 1.5.1
- Fixed small bugs in xml generation output.
- New Objects were not being tabbed like Commands from the search tree.
- Some commands were not generating the closing tag.
- Fixed crashing issue with bad Mod names when trying to generate a search tree for a mod file.
- Added new menu item to validate the xml.
- This uses the current selected mod and validates all xml files for the mod.
- For any invalid xml, the application gives you the exact xml issue. No logs needed.
- Added a new menu item to Edit a tag name.
- This is to fix any issues with loaded mods without needing to leave the application to change directory names.
- Changing a mods directory name in the output folder will still modify the name of the Mod when loaded.
- Changed the location of new objects when clicking a button on an existing object form.
- Now when adding a new object the object will go directly below. This has no effect on xml correctness. This just makes the generated xml cleaner.
- Added a huge optimization to the used memory. For large files the memory used is still high but clearing the views clears the used memory as well.
Version 1.5
- Remove the help feature from the search tree contet menu and add ToolTips to the content menu instead.
- Added a mouse scroll feature to the xml output field. Now users can increase/decrease the font of the output box by just ctrl-scrolling on the mouse wheel.
- Added a mouse scroll feature to the search tree view. Now users can increase/decrease the font of the search trees by just ctrl-scrolling on the mouse wheel.
- Added features to support external mods.
- In the search view there is a new combo box filled with any loaded mods. When used the selected mod displays another combo box and button that can be used to create search trees for Mod files.
- There is also a new combo box in the center view for switching between custom tags/mods easily.
- This is still tied to the custom tag setting.
- By switching to the mod using the custom tag setting you can add items directly to that mods files.
- Warning if the mod is not using custom tags you may need to alter the xml to use custom tags.
- If you want to edit the mods files directly change the custom tag to the Mod and you can open that mods files.
-Added a Menu Item for loading a mod directory. The mod directory loaded is supposed to be the main mod folder with the name of the mod. Typically the folder that comes out of archives from the nexus.
- Added color coding to the search tree and new object window. This uses similiar coloring as the xml.
- Fixed the center button and combo boxes to be fixed to the panel size. They should shrink and grow with the center view.
- Fixed bug where empty files would be generated on saving.
- Fixed a major issue in the object add view for severly complex xml files.
If the user tries to load Xui/Controls, for instance, the program would loop endlessly due to child nodes being the same name as parents.
Added comments to the search tree. Now any comments in the xml files will also appear in search trees.
Version 1.4.1
- Small Bug Fixes
Fix bug in new object window where the top button was not working.
Fixed problem in search tree with children that are search boxes. The search boxes were not displaying when using the search feature.
Improved the Search Box Logic to search for relevant children. Before it was unreliable as it was including any nodes with XmlWhitspace comments.
Added a file threshold for the large search views. If the file is over 1mb it uses a considerable amount of ramm when creating the search view. This refers to the threshold for determining the search box. (Plans to make this a setting)
- The user is given the option when trying to add multiple large search trees into the view.
- Font Size change in the Search View.
- Changed the output xml to close children-less tags with the "/>" instead of a full closing tag.
Version 1.4
- Update to the search tree.
- Now the search tree has better logic for adding search boxes to the tree.
- The logic for determining when to add a search box is now based on number of children.
- The search box is also guaranteed to contain only direct children.
- Full Xpath capabilities.
- Now the application allows users to perform any simple Xpath command(Set, Set Attribute, Remove, Append, Insert Before, and Insert After) simply by right clicking on an object in the search tree.
- This does mean that the insert function has been changed and the tree buttons removed. Technically, before, each button created an append command.
Version 1.3
- Added more reliable Xpath Targeting.
- I did some tests with more xml files and discovered some oddities in the search trees generated.
I fixed the issues and in the process created a better Xpath generation for item targeting.
Now the Xpath generated is guaranteed to target the specific item selected.
- Added xml text coloring to the output text box. Thanks to an excellent Nuget package called AvalonEdit!
- Also has a nice find feature as well. Just hit ctrl-f.
- Added an OnFocused event to the XmlOutput box to update the output when it is focused.
- This is to make viewing the xml output easier
- Try to fix the resolution issue with the menu.
- I added in some margin spacing to the menu in hopes this fixes the resolution issue.
Version 1.2.1
- Added better handling of issues. Any issues will now be written to the log before the application shuts-down. This is to aid the end-user determine issues or they can just send me the log and I can better determine the issue.
Version 1.2
- Changed the publish parameters to make the application fully self-contained and into a single file.
- Full code base refector and cleanup.
- Fixed the log output time.
- Now displays the correct date and time.
- Added in the direct editor view and actions
- With this functionality the user can make direct XML edits to the file without leaving the application
- Added an Application Menu
- File Menu
- Load (Moved from center view to menu)
- Save (Extra save button, does same thing as center view save all)
- Move (Performs the auto move function once on command)
- Essentially allows the user to stage the generated mod files to the game directory chosen
- Settings Menu
- Auto Move (Activate or Deactivate)
- A feature to make modding easier.
With one click you can save your generated xml to the appropriate files and the application will automatically move those files to a directory of your choice.
Very useful if set to the actual Game "Mods" Folder. You can create the mod click save and it's almost ready to go.
- Game Mod Directory
- Completely tied to the move functionality and necessary for that feature to work.
This is the directory that the files can be "Auto Moved" to every time you click "Save"
or the directory files will be moved to if the File Menu "Move" is clicked.
- Custom Tag
- View All Settings
- Help Menu
- Displays the README.txt or another message if the README.txt is missing.
Version 1.1.1
- Fixed a crashing issue with the Progressions Target Object Tree
- Fixed the issue with the Vertical Bar not being visible in the XML output view
- Increased the XML Ouput view Font Size
- Added a Right Click Menu to allow the removal of single items in the New Object view.
This is to introduce a better flow to mod creation.
- Fixed log file issue.
Version 1.1
- Fixed an issue with the xml output view not displaying correctly with objects of multiple top tags (such as progressions)
- Added a message to the xml output view to help users understand how to make changes.
- Put the project on a repo.
- Added a search box to the TreeView panel. Now you can filter the TreeView for specific items in the game xml files.
- Also added the ability to add objects to existing objects within the game files.
The application generates the appropriate Xpath expression.
- Created a system for adding to existing xml.
- Cleaned up the output xml to have tabs, correctly formatted in the file and output view.
Version 1.0.1
Changed the xml viewing page to be editable, however any changes made there are not persisted.
Fixed issue with crashing if trying to load an xml file with the same name.
Fixed a Bug in the xml output field where all loaded xml wrappers in the object view did not display all saved xml in the output files.
Version 1.0
Initial Release
Welcome to 7 days to Die Mod Edit!
DISCLAIMER This application is developed around XML is SHOULD BE compatible with any new release of 7d2d; however as with all things that is not a guarantee. I can not possibly foresee all changes made to the xml in future releases. In my experience, I have not had problems (with the exception of a few in version 1.7.3) when using the app with later 7d2d versions. With update 1.7.4 the application has no newly discovered errors with Alpha 21 files. If you encounter one don't hesitate to message me.
DESCRIPTION A one stop shop for your 7d2d xml mods or modlets. Create new objects, edit existing ones, search the files for information, easily discover issues in the files, switch between mods easily, and even support for the localization.txt and ModInfo.xml. If you are curious on how to mod 7d2d this app is for you.
With this app you trade long wording xml files for tree views. The tree views are color coded appropriately and come with a variety of features. You can generate XPath to the in game xml objects, with minimal user input and even copy object with a few clicks. All input boxes are also automatically filled with common used attributes from the original file for easier discovery and addition of those common attribute in the generated xml. Preview the xml that would be generated, for multiple objects at once, and save everything with just a few clicks.
With three color themes and everything color coded it's easy to understanding and easy on the eyes as well!
A true Mod editor for 7 Days to Die!
HOW IT WORKS Launch SevenDaysToDieModCreator.exe A typical program flow: - Start the application - Load necessary files from the Game Config directory. Example: Load the recipes.xml file - Click "File" -> "Load Game File(s)" - Navigate to C:/GameDirectory/7 days to die/config/ - Select the desired game files. You can select all in the folder including the Localization.txt - Load any mods - Click "File" > "Load Mod" - Select the top folder for the mod. This is typically a folder structure like MyCoolMod/config/"xml files here" and you would select the folder "MyCoolMod". - Mods can be loaded manually into the output folder for the application. However, after doing so you must click "Reload Mods" if the application is running. - WARNING: If the mod structure is incorrect, or there are garbage files in the application output, there could be problems within the application. If unsure, it is recommended that manually loading be avoided or done with caution. - Create a mod - Click "Settings" -> "Create/Edit Mod". This will open a new window. - In the editable drop down next to the "Change Mod Name" button, add your desired mod name. -Click "Save" -Close the window. -reopen the window -select your mod from the drop down list -fill in all of the appropriate modinfo.xml info -you will see the preview of the generated xml in the Center View -when all modinfo boxes are filled click "Save" -Close the window -Select a mod -In the main ui, in the center view panel, top drop down box, you can easily select the current mod to work on. If you created a new mod the name should appear there. -IMPORTANT: It is good to know that any saved app generated xml goes to the files for the mod selected here. - Add completely new objects - In the main window on the left you can easily add new objects by simply selecting a game file from the drop down and clicking "Add New Object" -The application will generate a tree view with all possible xml tags and attributes using the game file loaded. -Get an instants snapshot of the xml as you you fill in values. -Work with multiple game files and objects at once. -When the xml is ready click 'Save All XML' and the xml will be saved to the appropriate files for the current selected mod. - Search game files or mod files -In the right panel there are multiple combo boxes for selecting the mod tree. Here you can select game files or mod files to generate a search tree using the current version of the file loaded into the app. You select the desired game file or mod file and click the appropriate button. -These trees come with search boxes and are filterable and allow users to pick only specific trees to be displayed. - Search boxes are auto generated on trees with more than 15 children. - The Search trees come with a list of "right click" functions depending on the context. - Using these trees you can fully manipulate the game xml and new items in mods using xpath. - By right clicking the "recipe" bandage in a game search tree you will see all possible xpath commands along with some helper functions. - When using these commands the application auto manages possibilities for you. - For instance, selecting a tag for append the application provides all possible children tags and attributes, at the specific tag. Selecting an attribute for append provides just a combo box to provide the value. - Here you can even copy an object completely. Very useful when creating new Items/Blocks. - Remember: XML is never written by the application until you click "Save All XML". -Open Direct Editor View: is essentially a quick access text editor with many helpful features including Auto Completion using the original game file and the mod file. -Quite often we will need to make direct edits to the mod xml and that can be very burdensome with just explorer and standard text editors. Even notepad++ is far from ideal when dealing with so many small files. With the application you can easily switch mods and select the appropriate files to edit directly. -This can be done on both game files and mod files, though I strongly recommend you DO NOT change the game files directly. I put the direct editor for the game files for searching purposes when the search tree is unnecessary, however you can change them using this window. -(Super user tip: Changes to the game files using the window will only affect the locally loaded files, meaning you can add comments and such for the search trees )
If you get stuck or confused hover a UI element and there should be a tooltip to help guide you.
The tutorial videos are still relevant for the most part with some exceptions. I will be starting a new series of tutorial videos for using the app and creating mods with it.
I want to thank those that have provided support! I really appreciate it and know I am happy to give back to this community!
Inspiration Love the game 7 days to die by the fun pumps! I've been following it since Alpha 2 and when writing this in Alpha 19. Just an amazing game. Way back in 2011 when I first started playing the game, I discovered then it was possible to mod the game through the XML files. With their more recent addition of XPath and some long hours behind my computer, I created something really cool. A tool I've been using since it's creation. My goal was to make modding 7d2d and editing 7d2d mods easier. And of course, I had to share it with you! :)
Special Notes
I will no longer support 32 bit operating systems. I discovered that the application will crash loading large search trees due to memory issues with 32 bit. Since that is a rather major issue I've decided to exclude publishing exe's supporting 32 bit.
For more info on what to expect in future releases see the TODO section of the README in the docs section.
At its core this application is simply an xml generator with many tools to assist in creating and editing long EXISTING xml files. It does so making the assumption you have some understanding of Xpath and Xml. What that means is I CANNOT guarantee the generated xml will work as intended in game.
It is worth noting however that I tested the generated xml in game and it is very reliable. However, it is not perfect. You will need to learn and discover what works and doesn't. It can be overwhelming but my suggestion is to have a good understanding of xml and xpath. Then load other mods and learn how they work. Remember, at its base it's all xml.
Don't be afraid to report crashes or bugs and good luck with your mods!
Compatibility Fully Standalone Windows Application Must have the .NET framework installed
Installation Must have .NET 6.0 Desktop Runtime installed Then download the Archive and extract it to a Folder where you want the application to live.
Uninstallation Just delete the application and any generated files within the application "home" directory defined by you. All My 7d2d Mods
My Other Mods (Fallout 4) Better Manufacturing is a full mod to add onto manufacturing. It adds some much needed machines and tweaks to the Contraptions workshop and really change the way you look at the Contraptions DLC. Better Loads Ammo Changing Switches is another small mod that really improves the Ammo Switches from LOADS of Ammo. If you have LOADS or Weaponsmith Extended you should check it out.