Releases: NickHugi/PyKotor
v1.0.0b1-kotordiff
First official release of KotorDiff on the github page, but plenty of features have been added since the last 0.7:
Main change:
- Stop using embarrassing input text dialogs from the 70s, actually open the os's file/folder browser. (IFileOpenDialog on windows, zenity on linux, etc)
- Use git-like diffing for standardized output.
Other changes:
- Don't prompt for log path (still available in cli)
- Print prog version on startup
Source code: https://github.com/NickHugi/PyKotor/releases/tag/v1.0.0b1-kotordiff
v1.0.0b1-guiconverter
First official release of GuiConverter on the github page:
Main change:
- Stop using embarrassing input text dialogs from the 70s, actually open the os's file/folder browser. (IFileOpenDialog on windows, zenity on linux, etc)
- Standardize the 'ALL' option in a way that makes sense. The previous implementation would rename the files by resolution, this will not subfolder the resolution name and dump the output files in there with original names.
Source code: https://github.com/NickHugi/PyKotor/releases/tag/v1.0.0b1-guiconverter
v3.1.1-toolset
What's Changed
- fix a DPI scaling issue preventing the module designer from registering clicks in the correct positions.
- better handling of potential errors when loading the installation
- 'check for updates' will now run on its own thread and callback the main thread upon completion.
- Add experimental filesystem browser, to fix the problem where the toolset wouldn't show all available resources.
- Expand the new 'Application' settings tab to allow for environment variables to be used.
- DLG editor: Fix a nuanced bug with saving tsl variables in a k1 installation.
- Fix case-insensitive pathing on linux/mac for the billionth time
Full Changelog: v3.1.0-toolset...v3.1.1-toolset
v1.70-patcher-beta1
What's Changed:
- Add kw args to Path.stat by @JoeNotCharles in #107
- Replace the main text area with an integrated webview control supporting more advanced styling/animations. uses
cefpython3
- with the aforementioned webview, add
pypandoc
to the app to convert RTF -> html (deprecated the rte format). - (possibly) get headless cli working
- allow resizing of the main ui
- everything else PyKotor has added since the last release.
the reason we skipped over v1.60 is because these new pip packages may not be compatible with everyone's hardware. More research needs to be done and various platforms must be tested.
This is NOT a release of the Toga UI. This is an integration of cefpython3
's webview/browser directly into the original ui.
Full Changelog: v1.60-patcher-beta4...v1.70-patcher-beta1
v0.7.2-translator
What's Changed
- handle an abort sequence that can happen when a TGA/TPC is corrupt, during conversion patches.
- remove obscure features to reduce UI clutter and improve maintainability.
- refactor internals
- General performance improvements to core code.
Full Changelog: v0.7.0-translator...v0.7.2-translator
v3.1.0-toolset
What's Changed
-
Add LTREditor to toolset by @th3w1zard1 in #104
LTR files are the name randomizers used in the character creator -
Add option to download scripts from the Vanilla Script Source repository as an alternative to decompiling with nwnnsscomp
-
Since we've been getting complaints that pyqt5's opengl widget doesn't work on various platforms/setups, there is now an
experimental
tab in the Settings window. Please use these cautiously, and only if you need them and understand how they work. -
Various numerous QOL updates
UI changes:
- DPI scaling support. This required refactoring most if not all UIs to no longer use fixed sizes. please report any major alignment issues or bugs preventing you from using an editor/widget.
- When an unexpected error occurs, a message box will now pop up automatically. The old behavior would log it without notifying the user.
- Default text size increased and global application font set to
Roboto
- 9 brand new themes. Some of the themes do not play well with the above change (e.g. breeze) please report any you notice do not work on your platform. Highly recommend
QDarkStyle
orMaterialDark
as a dark theme, - Any textbox that represents a filename/resref has been converted into a combobox that is pre-filled with available files and resources. This changes about 80 different textboxes across 9 different editors. This means you don't need to lookup in the Module for the correct scriptname to use, or worry about potential typos in your scriptname: simply utilize the filter box to find available entries. Additionally, right clicking this combobox will show you where that resource can be found in your Installation.
- Brand new progress bars.
- Since this release involved deeptesting various editors, also add detailed tooltips for editor fields not immediately obvious from the label.
DLG editor:
- Completely new UI
- Labels will now bold/italicize when a non-default value specified, to properly show the modifications of a dlg node from a default.
- Fixed animations list incorrectly using values like 10040 in the editor instead of 40.
- Copy/Paste support. Copies directly to the clipboard and even functions properly across multiple different editor windows.
- Drag/Drop support. Supports dragging and dropping nodes from anywhere, even different editor windows.
- Pinned Nodes list - allows you to quickly save node information for later use. e.g. if you want to modify that node and have a backup copy, or if you want a way to quickly jump back to that node.
- Orphaned Nodes list. When the last link to a node is deleted, nodes will automatically appear here. This is done by hooking python's garbage collection and just checking whenever a node is cleaned up. This allows you to simply drag/drop a node in this list back into the original dlg.
- Find References (experimental): Each dlg node will show a number badge in the bottom left, representing how many times it is linked to in the tree. This feature is still experimental, you'll notice this number increasing/decreasing based on how many nodes are expanded. Since it's possible to have an infinite amount of references (e.g. a circular reference where a child node references the top starterlist), this feature attempts to show you useful references that are not part of the same branch.
- All nodes in the main tree will have icons next to them representing what kind of non-default information the node contains (e.g. if it has animation data, script, VO, etc).
- Full settings support: customize text size/color, indentation, spacing, you name it.
- DockPanels: Organized node information into 3 different dock panels:
- File Globals: Represents changeable fields for the entire file.
- Node Fields: Represents changeable fields for the selected node.
- Bottom dockpanel: An extension of node fields with the most commonly edited fields.
And since they're dockpanels, reorganize them however you like.
GITEditor/PTHEditor:
- Mouse move rotations now only consider horizontal movements (standard) instead of vertical+horizontal (led to confusions)
Bug Fixes:
- Fix an oversight that caused the main toolwindow to be non-resizeable.
- Fix the TPC viewer showing/saving images upside-down.
- Fix TPC viewer erroring when saved as PNG
- Fix
clone_module
erroring due to missing VIS. It now will output a warning whenever some core module piece is missing. - Fix a major bug that could happen occasionally while extracting files to disk, causing nothing to be extracted.
- Fix a non-lethal but annoying access violation when creating the Windows context menu.
- Remove the 'check for updates' on startup, which caused toolset startup delays.
- Remove 'MDL decompile' option in the main UI: it has been broken since its origin.
- Fix 'Decompile TPC' and 'Extract TXI/Extract MDL textures' actions, broken in an older release awhile back.
- Fix the ModelRenderer rotation not syncing up with the object after the camera has been moved.
Full Changelog: v3.0.0b9-toolset...v3.1.0-toolset
v3.0.0b9-toolset
Hopefully the last pre-release.
What's Changed
- The main toolset window will now auto-fit columns automatically. Right clicking a column header adds new features such as 'flatten' and 'expand all columns'.
- This release once again changes how settings are saved, but all of v3.0.0b8 and v3.0.0b8.1's settings are forwards compatible.
- fixed a pathlib override bug breaking certain path.joinpath() operations.
- Deeptested and fixed many small issues in the editors.
- Implement a focus helper in the main ui, allows users to use the toolset even without a mouse.
Massively improved the Module Designer:
- Add a statusbar to the designer, showing where the cursor is in relation to the World position, and various View information
- Fix 'snap GIT Camera to 3d view' action snapping the camera to the wrong coordinates/orientation.
- Added more keybinds/sensitivity sliders, normalized their values.
- Cleanup the selections of resources in the lists, e.g. right clicking something in the instance list won't open the context menu for the selected instance in the renderer and will correctly right click the item in the list.
- allow multiple keybinds to be pressed simultaneously
- lock the cursor when camera operations are attempted. This allows fluid drag operations when you're attempting to move both the camera and a gitinstance.
- Render on a 60fps timer instead of checking mouse events. This allows us to scale the movement/rotation sensitivity in accordance with whatever fps the user might be getting. e.g. if the user is getting 18 fps, this release fixes the problem where movement keys would slow view movement to a crawl.
- the 60fps timer gives a more fluid feel to the controls especially in the fly cam.
GITEditor
- Fix some edge cases with undo/redo events.
Full Changelog: v3.0.0b8.1-toolset...v3.0.0b9-toolset
v3.0.0b8.1-toolset (Hotfix!)
- Fix watchdog file reloader
- Fix GITEditor/Module Designer not finding locations defined in
.git
- Handle all logging asynchronously, so it will not lag the main thread.
- Fix case-insensitive pathing on linux (again)
- Fix right click context menus on Linux/Mac
Full Changelog: v3.0.0b8-toolset...v3.0.0b8.1-toolset
Holocron Toolset v3.0.0b8 (Pre-release)
This is a medium-sized bugfix release, addressing the bugs that have been present for years if not months.
- Fix a critical bug in the settings causing most of them to revert after applying the settings window.
- Fix a critical bug breaking key/mouse binds when using custom ones.
- Fix assigning the binds in the settings pane. The betas had broken them somewhere along the line.
- ERFEditor was buggy in the last few releases, this beta 8 release fixes all known problems.
Important:
- Due to previous bugs in the beta, this release requires us to reinitialize the settings, breaking backwards compatibility. All settings will not be carried over, however the older versions can still be used as they are using a different settings namespace. Your settings for this version will start at the default (themes, key/mouse binds, material colors, etc).
New features:
- The return of the Save Editor tab.
- Add Undo/Redo support for all known actions in both the GITEditor and the Module Designer. This includes duplicating, deleting, moving, and rotating instances.
- Windows users: add the default Explorer shell menu that allows utilizing things like copy/paste/send-to inside of the toolset itself!
- Add a new setting (off by default) that'll automatically detect when you're saving a GFF and add any missing fields that were defined in the original. Not recommended to use this under normal use, but for save editing it does the job.
QOL improvements
Settings
- Block scroll actions on comboboxes/other various controls when simply trying to navigate the window.
- Move the 3d/2d/freecam controls into tabs to reduce overall pagesize
- Resize the settings window based on the tab selected.
Birds-eye View Editors
- Allow settings to be updated and immediately useable in the editor without having to restart the editor each time. This applies to the following editors: GIT Editor, PTH Editor, WOK Editor, Module Designer and the Model Viewer,
- Allow ModuleDesigner zoom/rotate/move sensitivity sliders to be used with the above listed editors.
- Define default material colors for the above listed editors
- In the above editors, change how mouse movements affect rotations. You can now move your mouse along the X axis or Y axis to rotate the camera.
- In the GIT Editor / Module Designer, don't process instance actions in mouse/keyboard events while the camera binds are being processed (e.g. if you move around in the git editor this prevents accidentally moving/rotating instances).
- When rotating instances in the GITEditor, improve fluidity by adding a rotation threshold (i.e. prevent the instance from spinning like a top or jumping all over the place randomly)
Other
- Improve search speed of the File Searcher tool.
- Activate/flash the Toolset window only when the installation/editor finishes loading.
- Move the Module Designer button on top of the Refresh button. The 'Open with Module Designer' button was simply too big.
- To remove the empty space the above would create, expand the size of the Modules dropdown box and enlarge the text.
- Show an error when a PTH resource can't be loaded due to a missing layout. Before this it would load a blank editor without any prompt.
Other bugfixes:
- Fix a few bugs where sometimes the Toolset would assume the key/mouse button was still being held when it wasn't.
- Fix the Geometry Editor in both the Module Designer and the GITEditor, and fix the 'Insert Point'/'Remove Point'.
- Fix the Module Designer's freecam toggle being triggered repeatedly when pressing the hotkey due to a lack of a debounce
- Fix all other known problems with the ModuleDesigner's FreeCam and refactor how it locks the mouse preventing deadlocks.
- Fix the instance list not popping up in the Module Designer, caused by a recent release.
- Fix saving nested ERFs/RIMs to each other (required for save editing)
- Fix a bug in the GFFEditor where the wrong header information would be saved for .res extensions
- Fix a bug in
io_erf.py
where the wrongERFType
was being written for .sav erfs. - Fix windows-specific context menus appearing on non-windows os's.
- Fix incorrect binds being used in the Model Viewer.
- Fix a few bugs in the FileSearcher
Conclusion
These bugs were some of the most notorious ones in the toolset and there's a reason I haven't been able to tackle them sooner. The backend code needed to be statically typed and cleaned up (a loooong tedious process that has been going on for a year now) before any major bugfixes like this could be attempted.
Full Changelog: v3.0.0b7-toolset...v3.0.0b8-toolset
v3.0.0b7-toolset
What's Changed
- Offload
Scene
texture loading to another thread. by @th3w1zard1 in #103
- Better handling of certain GFF files that may or may not have the correct fields defined, when loading into the editor. The new changes will attempt to salvage what can be salvaged in many cases.
Bug fixes:
- The updater was broken in b5 and fixed in b6, so it should now be working again when going from b6->b7
Module Designer fixes:
- Fix a bug where 'edit instance' would open a blank window
- Fix a bug causing the file selection window would be garbage collected instantly after opening.
- Fix a bug causing the file selection window would think all files are selected when only a subset were.
- Fix a bug causing the Module Designer wouldn't enumerate all the resources correctly.
- Fix a bug causing occasional crashes when right-clicking an instance in the designer/git editor.
A lot of various changes were introduced all over the place, I've found that testing with total conversion mods is the best way to stress test the toolset and see what it's lacking. Thank you to the users who have consistently reported bugs as this would not have been possible without you folk.
Full Changelog: v3.0.0b6-toolset...v3.0.0b7-toolset