First draft for "Tools" -> "Tool dialog" -> "Orphans finder" @DCurrent
For now only use on one char text model (first line of form). Then, press "Process".
It will show you all the files that were not referenced. And all the "files" that were found (some matches might not be files but it doesn't matter, only not found list really matters).
Obviously that thing is not finished but I just put this first draft out there for you guys to check if it seems to take into account all files. I didn't really check myself yet, I basically took the code I had in "Prepare PAK" widget and reused it. It definitely works to some degree as the lists produced are different, but the question is does it omit referenced files (this I didn't check).
When I'll be sure this algorithm does indeed work properly I'll make the "Orphans finder" widget use it globally and add buttons to do something with the lists it produces (move list, delete list, create copy without list...)
Library panel (left panel) : added a reload button to reload models list, levels list, ... @O Ilusionista
Animation editor : when rebuilding entity text, CMT will ensure that there is at least one empty line between animations.
Other : fixed search icons not appearing in Windows
Animation editor : if you change an animation name, it will now be instantly reflected in animation list
Animation editor : reworked the way "Set offset", "Set attack", "Set body box", ... work.
Now :
- all the options are in a "Set visual property" menu.
- you can toggle and disable the "Set visual property" mode by clicking on it
- to change the current property used, click on the arrow button on the right, it will open the menu for you to select the option you want (offset, attack, body box, range, platform)
- inside the menu there is an option to auto-disable set visual property mode (it's the way it has always worked before in CMT) or to keep the "set visual property" mode active until you manually disable it (by clicking on the main button).
- setting off "auto-disable" is useful when you want to set the same property in batch @Bruce
- also now includes "range" property @O Ilusionista
When using "Replace all" functions with part of the text selected, the "Replace all" function will only act on the selected part of the text and ignore the non-selected parts @bWWd
- Added "Options" => "Check for missing extensions". This allows sprites to be loaded even when they are referenced without extensions. Use this for compatibility with old files, but try to avoid relying on this for future files @PHM2D
- Added Search and replace in entity editor @bWWd
- Added global shortcuts for "Run" programs menu. Default to Ctrl + numpad (1,2,3, ...). But can be changed to whatever you want in "Edit" -> "Settings" -> "Keyboard Shortcuts" @bWWd
- Level editor now shows two horizontal bars for z boundaries. Right now those bars appear only when you load the level from library menu, as z boundaries properties are not contained in level file itself, but in levels.txt @O Ilusionista
Backup system, adjusted two things :
1 / saving a file you never saved before will now create 2 revisions, one revision for the actual save, and one revision with the original content before the first save. Then each time you save that file it will create only one revision, for the actual save.
2 / the automatic backup of unsaved files in entity and level editors was previously relying on them being translated back into text. Such translation happens frequently in the app, but if you stay in the same level or same entity (without going back to text version of level/entity or loading other file) it never happens. So basically under those conditions, there was no change registered, and thus no autosave was made. Now changes are properly registered even if you stay in the same entity or level view forever. So autosaves of unsaved files will always properly work not only in text editor as before, but now also in entity and level editors @bWWd
Run menu : added checkbox "Run program from program location" to change current working directory (CWD) to selected program root folder before launching it. Use this option if the program you want to run is looking for files relative to its own location (like OpenBOR is looking for paks, savs, and so on for example). @bWWd
Without this option checked the program will assume the current working directory is the one from where you launched CMT.
While file backup system was working properly, backup viewer had two mains issues that prevented user from loading and viewing selected backups. Those are now fixed. @bWWd
Other minor things :
- Augmented the range limits for frame properties. From [-1000, 1000] to [- 1milion, 1milion]
- Added support for "steal" attack type