in geosets added button to edit the geoset animations visibilities of a geoset easily with a dialog (requested by
@Villagerino)
In inspector added error checker similar to sanity test
longer item width for nodeslist node
An item in the layer's list also contains more info
in layers - you can now create new and change order
in optimizer - added option to remove repetitive track by time
in nodes - selecting a node also displays its pivot point
- added button to open the folder of the model
added option to create material (how could i forget)
added optiosn to create tean color and team glow textures
error checker now also checks the keyframes
updated the render function to render normals
added dedicated transformation editor and you can edit all components' tranformations (exept special data of nodes)
dialogs to edit the data of attachment, bone, collision shape xD
two more buttons in the transformation editor, and global sequence select combobobx
changed the layout of the node tab
@Villagerino
changed the layout of the sequences tab
lil update to optimize tab ui
in the list of layers, now a layer item also contains its used texture animation and filtermode.
in teh lsit of textures now a replaceable id1 is named team color and repalceableid2 is names team glow
int ransformation editor: double clicking on an item will flip it if it's visibility
for texture animations - button "new", and layer allow selecting the texture animation
fix: geosets>"delete" + now also deletes geoset animation/s that use it
Removed the sliders - you can now zoom and rotate with the mouse
@Villagerino
merge geosets now also removed the geoset animations of the removed geosets
you can now create and edit event objects
you can now make screenshots from "UI"
UPGGRADED to .net5.0. Minimum OS now Windows 7 SP1
Because I included .WAr3NET Library for reading BLP FIles and the MPQ
And now the model will be rendered with textures! even though it's kinda broken for now.
Fixed duplicate geoset command
create team background and hero glow fixed
Geosets>center at enabled
new command Geosets>subdivide
in transformation editor added option to loop
other fixes and thingies
Update to UI of geosets
In nodes , [edit data] support for the remaining nodes - emitter1, emitter2,ribbon, light
in emitter2 you can set all of the filtermodes explained here Particle Emitters 2
in Geosets added more commands: Simplify, Flatten Side, fragment, and others
the list of geosets now has checkboxes that make a geoset visible/invisible.
fixed loading external textures from the local folder of the model
new command in geosets> negate normals
in optimizer new options:
Delete overlapping triangles who use the same vertices
Delete fully overlapping triangles who use different vertices
in error checker - check for that as well.
transformation editor - fixed [no scaling down tracks] when updating the transformations of scaling and alpha
new commands in Transformations Editor - increment/decrement all with, negate, negaete all, set all to..., multiply all by..., enter from text
- in import added option "Overwrite list of sequences with another model's"
in geoset animations > added command "Make all geoset animations the same as this"
completed and enabled all options in "import nodes of..."
the options loop x times, and unlopp, were removed because you can do that in the transformation editor
the option "space transformation" finished and enabled
the app can now open a model file if you associate the extension with it, and double click it
"Sync with..." completed and enabled
Support for rendering and dispalaying team color. Automatically detect if you have 12 or 24 colors MPQs
Error checker - checks if a non-static geoset animation has all sequences as keyframes
Error checker - now checks there are overlapping/intersecting triangles as a warning.
in optimizer - added clamp normals. Though it is highly unlikely to have invalid normals, unless you edited the file with notepad.
in optimizer - added option to remove triangles with 0 area
in optimizer - added option to merge vertices that have the same position and texture position
in sequences - one additional row that displays which nodes are animated in the selected sequence or global sequence
changing textures and geoset materials now updates with the viewport to avoid exceptions
in textures you can now check wrap width and height
v1.10
UI:
Various UI fixes
Fixed some things related to node data editing
fixes on the transformation editor
in transformation editor added a dialog the same as geoset visibilities that allows to set all visibilities fast. 'set per sequence'. it's only available for alphas and visibilities
trying to open an emitter2's data will prompt error "no textures" if there arent
Transformation editor will display error message for no sequences if there arent any, now
color picker now displays in textblocks what value is selected in the sliders
if the geosets count was 0 and trying to zoom in the viewport, that crashed the app. Fixed that.
fixed a miss: now selecting a layer also select the used texture animation. And Selecting a texture animation sets it to the layer.
creating particle emitters now is refused if there are no sequences (precaution)
Creating new sequence now capitalizes the name
particle emitter2 - fixed read/write segments, heads and tails
hitting 'Esc' on all dialogs will now close them
hotkeys for some menu items
'make all geoset aniamtions alpha static 1' moved under geoset animations from cleaner
NEW: Camera manager
Error checker:
Added <error> - "There are particle emitters but no sequences". (That would crash a map)
optimizer:
added option "Remove duplicate geosets" (
@Villagerino)
after all optimizations, one more is done - remove invalid/no longer valid geoset animations
new Commands:
in Sequences - 'Create presets...' - select from a list and create them, along with tiers, and alternate, and worker
in nodes - 'Reset all keyframes to default...'
in nodes - 'Duplicate'
in nodes - 'Remove sequences from keyframes...'
App:
- global exceptions report as messagebox, in case of bugs
Fixes inside MdxLib:
MDX no longer saves/loads an emitter2 with "head" tag checked if it wasn't checked. (Thats because the condition for <neither> was missing. (head or tail or both or neither)
MDX no longer saves/loads an emitter2 with a wrong filter mode
MDX now saves emitter2 segments' alpha properly
MDX never saves static visibility. I added saving temporarily but breaks other magos programs, so no. Magos decided not to read/write static visibility. Why would one anyway.
When saving a MDL file the MDXLib appended some bytes in the beginning of the file that made it unreadable to other programs. Added a function to clean the file after being saved.
Fixed error when opening a model with camera in MDL format (it expected a word instead of final closing brace)
1.11
new commands:
in transfomration editor - copy + paste
in nodes - find by name...
in geosets - 'attatch all geosets to bone...'
UI:
in 'new sequence': cannot enter negative values for 'from' or 'to', now (oops)
in transaformation editor: Tracks are now also enumerated
Material - has now bool property 'sort primitives near z' as it's present in mdxlib
other UI changes.
optimizer:
option 'merge identical materials'
option 'delete duplicate layers'
option 'merge identical textures'
option 'merge identical texture animaions'
'Delete similar adjascent keyframes' enabled and completed
Various Fixes ('merge vertices' fixed, does not destroy geometry, remove unused materials' now also checks inside ribbon emitters, others)
'Add missing keyframes' now will also add missing tracks at time 0, if the transformation uses a global sequence
Fixes in MDXLib:
no longer saves un-aniamted (0 keyframes) tranformation marked as animated
13/01/25
1.12:
Fixes:
import textures now also refreshes the list of textures (oops)
'Fragment' now adds matrix group to each geoset and bone if no bones (oops)
geoset>select all will NOT cause the program to lag if the geosets are a lot (oops)
'merge geosets' will now work properly (oopa)
a bug with the checkboxes
UI:
Geosets>'change used material' 's selectior nowalso has the used texture of the first layer of each material displayed
new in Optimizer:
'minimize repeating matrix groups'
'delete invalid geoset animations' (mandatory)
new in Error checker:
warning: geoset has more than 20,000 triangles
warning: number of geoset animations not equal to the number of geosets
warning: geoset used by more than one geoset animation
new commands:
in geosets> 'Separate' - if a geoset contains 2 or more objects, split them into different geosets
in geosets animations> - create missing, and delete all
in geosets> more fragment conmnds....
05/02/25
fixes:
the multiselector now can select multiple items (oops)
fixed filling static color in transformation editor ((it wasnt reversed)
geosets: create hero glow and creatе team background now also adds matrix group to the geoset (oops)
loading a file now sets the filepath for saving (oops)
in error checker fixed some miss related to missing opening track for geoset anim
'reverse sequence' and 'reverse all sequences' are now working
UI:
icon of bone updated
Tooltips for some checkboxes
(New) two more options under "Render" -> "shading" and "collision shapes"
(New) Model>Load models from MPQ browser
In nodes > all buttons converted to contextmenu of the treeview
In textures > almost all options converted from buttons to context menus
In sequences > the buttons of the sequences part converterted to context menu
double-clicking on a sequence will also make it looping/nonlooping
in sequences> in new > one more option
in geoset animations menu > command to make all use and not use color
in nodes > selecting a bone also shows in the info panel the count of the vertices attached to
(new) Model>Save as copy with timestamp
in textures tab>in textures> you can now create from custom input, but is checked if existing
(new) button close
Geosets:
(new) The command to rotate renamed to 'rotate each' and added another command 'rotate together'
(new) 'create polygon' (it can also load an image for comparison)
(new) in addition to the command 'create collision shape for this geoset' added 'create sphere collision shape for this geoset', and also these functions now position the pivot point o the collision shape where the centroid of its geoset is
optimizer:
enabled and completed 'remove similar adjascent keyframes' (this time for real. And tested.)
(new) 'Attach geosets with no matrix group to a dummy bone'
Categorized checkboxes
Changed the way the optizier deals with missing opening/closing tracks
(fix) fixed quaternion (rotation) clamping for 'clamp all keyframes'.
(fix) fixed 'clamp uv coordinates' due to logical error in the clamping
(fix) 'minimize repeating matrix groups' fixed, it had logical error when checking for identical groups, that caused a model to be with broken rigging
Transformations editor:
(new) buttons 'copy as text' and 'Copy all as text'
NOTE: MDLVis cannot read MDX saved with this library because it expects the count of geosets in the header (like in the MDL format), or otherwise
says that there are no geosets, but i dont know how to add that in the header in MDXLib, or even if it's supposed to be there. So if you want to open the model in mdlvis, save as MDL. Or maybe MDLvis's parser expects a specific order of object definitions in order to recognize the geosets.
11/02/25
UI:
(NEW) Render>Geoset Extents box and sphere
Textures tab:
For material properties added the missing 'priority plane', both filling and setting.
sequences:
(NEW) "Set all sequence extents' celings" (this is for helping you fix the health bar issue)
Geosets:
(NEW) 'Rotate each geoset around custom point...' and 'Rotate all geosets around custom point...'
(NEW) 'Scale Together'
(NEW) i've written my own import/export logic for geosets, with file extension ".tgeo". You can now import/export single geosets. Not compatible with the one of magos editor. Magos editor's is in binary, mine is text.
error checker:
(FIX) 'missing the origin attachment point' now also trims the name of a node in order to check for such node
(NEW) added checking for unused global sequences
(NEW) now also checks for zero area triangles. That incldues triangle which has very small area, and triangle that uses the same vertex for 2 or 3 of its vertices.
optimizer:
(FIX) 'remove unused global sequences' fixed, wasnt checking correctly. (Magos' built-in check for references is not working.)
(NEW) 'Deduplicate matrix group nodes' - if a matrix group has two or more of the same node, remove excess
info:
sequences total duration is now sepearated each 3 digits by comma
Rendering:
the last layer of a material is now rendered instead of the first.
Nodes:
Trying to delete a node that has attached vertices to it will prompt a message saying to reattach them first
(NEW) 'Reattach attached vertices to another bone'
Transformation editor:
input fix for rotation
1.15:
13/02/25
Nodes:
'Move under another node' now checks if it's not its parent xD (oops)
(new) many pivot point commands...
'Duplicate' gives it a new name (oops)
Geosets:
new command 'Set Distance between two geoets' (push both, push second only, push first only
UI:
More render options
16/02/25
UI:
menuitem rearrangements
Render > 'Enabled'
Geosets:
(NEW) You can set a geoset's 'selection group' and 'unselectable' properties
(NEW) can edit extents manually of geosets and sequences
nodes:
new command 'Root all children of node'
new command 'Root all children and sub-children of node'
sequene:
(NEW) delete inbetween keyframes...
(NEW) leave sequence at specific keyframe....
error handling:
if a texture's extension is not blp, display error message and use instead textures\white.blp
1.17:
18/02/25
Nodes:
in the window for editing collision shape added commands 'Scale' and 'Translate'. This does not change the pivot point but the extent of the collision shape itself.
Geosets:
new command - center at node...
new command - Spread overlapping vertices
new command - edit visibility for ALL in sequence.... (useful for example if you want to make the whole model invisible at the end of 'Death' sequence)
Textures:
In the texture list menu added a button 'create plane with this texture'. It also has options for orientation.
Fixes:
cannot create negative and 0-length global sequence
29/02/25
UI:
now using for color picker <dsafa>'s color picker for WPF, instead of mine
various small fixes
menu "View" for the camera and camera controller
Import > 'Batch import OBJ/s as geoset/s'
menu "Tools":
'Batch convert MDL<->MDX'
'Batch convert BLP to PNG'
'Text colorizer for game tooltips
My pathing texture maker
My loading screen maker
Geosets:
create polygon - added export and import commands
'Swap locations'
'Mirror...'
'Distance from point...'
Textures:
Materials> 'Apply this material to all geosets'
Deleting a material, attaches another material to affected geosets ,to avoid exceptions
Cannot delete the only material if there are geosets
Deleting a texture attaches another to affected materials' layers
cannot delete the only texture if there is a material
Textures browser:
Added tab 'favourites'
commands 'export', 'export as PNG' and 'Copy path to clipboard'
Nodes:
'Swap Locations in tree' - if one or both are nested under different nodes
'Swap pivot points'
1.19:
05/03/25
(fix) Fixed a coding mistake where the model would not be rendered unless you uncheck and check again Render> 'Enabled'. I felt like pushing an update earleir cuz people who cant see the model render would be discouraged from the app when they dont know how to fix that
Sequences > 'Mass create global sequences'
Model > (check) optimize on save
Saving and loading all preferences now found under 'Render', and the one above.
Tools > 1. Batch optimize...; 2. MPQ browser;
I've planned more stuff but for next version...
15/03/25
UI
<Enter> will now "click" the confirmation button for most dialogs.
More rendering options under "Render"
Other UI Changes
Info
Which bones are not animated?
Now also counts edges
View
Create camera from current view.
Textures > Textures
Delete texture and all materials using it – Removes a texture along with every material that depends on it.
Import / Model / Geosets
More import/export options.
Cleaner
Remove all lone nodes at root.
Model
Adjust model position (all geometry and all nodes).
Geosets
Rename – You can assign a name to a geoset, but since format 800 doesn't support geoset names, the name will only be visible in-app.
The command "Reset all geoset animations' alphas to static 1" was completed now. (oversight)
Command 'Change geometry based on a keyframe...' - For each selected geoset - select an existing keyframe and change the permanent geometry of that geoset to the keyframe. If not all vertices of a geoset are attached to one bone then do nothing.
Other
Other small fixes around.
Sequences
Set all sequence extents to...
Tools
Image To BLP Batch Converter
Calculate extents with exception... – For example, if your model has a TC background, you can exclude it from extent calculations.
Textures
Prepend War3Imported – This command adds the prefix to texture paths, so you don’t have to rename each imported texture in Warcraft 3's map editor.
Strip path – Removes unnecessary path data from textures.
Import – The app will now only look for .blp images in the folder of the current model.
Optimizer
Now fixes textures with invalid replaceable IDs upon opening a model.
Rewrie of 'Remove unused keyframes', with adjustments for 0 resulting keyframes, and resulting of invisible geoset animations
Added adjustment for time middle of particle2
'Add origin ref if missing' now working (oversight)
The mandatory optimization for 'make all transformations with 1/no keyframes static' fixed for some default values
Transformation Editor
Set all keyframes of sequence to...
Start each sequence with default data
End each sequence with default data
Stretch sequence keyframes... – Keyframe times for the selected sequence will be adjusted to fill the entire sequence.
Copy/Cut selected sequence...
Stretch all sequences – Same as "Stretch sequence keyframes," but applied to all sequences.
The combobox filled with global sequences will now also show their durations
Command 'Change gradually inside sequence' - add multiple keyframes from track to track slowly going from one vlaue to another.
'Duplicate sequence to sequence/s'
Sequences
When selecting a global sequence, under the list you also get a list of components that use it
Nodes > Pivot Point
Align with parent...
Adjust at extent... (top, bottom, left, right, front, back...) – Can be based on model extent, sequence extent, geoset extent, geoset sequence extent, or extent from attached vertices.
Copy/Cut/Paste sequence from node to node – Move translation, rotation, or scaling sequences between nodes.
Nodes
Also paste coped transformation to muliple selected nodes
Rendering & Viewport
Switched for rendering from Viewport3D to OpenGL (SharpGL).
UV rendering is 100% correct
Camera control is now more normal, it does't reset on each refresh and can be rotated more freely. (use now middle mouse button)
There are still a lot of things I'd like to add, but I think as of right now these changes are significant enough for a release before the next comes.
25/03/25
Changelog - v1.2.1:
Fixes & Improvements:
Textures > Textures:
FIX - When creating a plane from a texture, it now correctly creates its own bone and riggings (apologies for the oversight).
App:
Fixed a logical error when trying to load textures from the model’s folder.
Viewport:
The camera will now reset if any of its values become NaN.
Selecting a geoset in the vieport now shows its edges instead of showing an extent
UI:
Clicking "Save" when nothing is loaded now triggers "Save As" instead of showing an "empty save path" message.
The model’s name is now displayed in the main window’s title.
Dynamic debug information is available for the camera in the viewport.
Fixed an exception that appeared when trying to import a geoset with the Geosets tab open.
Node data is refreshed after closing a dialog in the Nodes tab.
New 'Start Maximized' checkbox added.
Increased minimum app width from 600 to 800.
Transformation Editor:
Bug fix: cleared the old list before generating a new one upon clicking "Apply."
New button: "Edit Time" allows you to change the time without modifying the keyframe data.
New options:
"Move keyframe’s time to start of its sequence."
"Move keyframe’s time to end of its sequence."
UI (Various):
Several UI updates and fixes to ensure proper updating after actions.
Tools & Utilities:
Cleaner:
Added option to Remove all extents.
Added option to Remove all Geosets' sequence extents.
Geosets:
New option to Create Primitive Shape > Sphere.
Properties > View Groups: View and manage groups associated with geosets.
The geoset list now also shows how many groups are associated with each geoset.
Geoset Animations: Added Copy/Paste commands.
Collision Shape Editor tab: Now you can easily edit multiple collision shapes at once.
Node Editor tab: Ability to change one or more nodes simultaneously.
Transform Panel added under the viewport for faster transformations.
Nodes:
Merge Bones: Combine multiple bones (from the root) into one, and all attached vertices will be recalculated to the new bone.
Duplicate Node: Fixed a logical mistake where the node’s translation, rotation, and scaling were not duplicated properly.
Fixed a logical mistake where a node’s time was already in the list when trying to add a track.
Textures:
Copy/Paste from Clipboard: Easily transfer a texture using a copied string.
Rendering:
Rendering Colors:
Updated rendering colors.
Team Color in Viewport:
Fixed an issue with changing team colors in the viewport (missed during the switch from viewport3D to OpenGL).
Miscellaneous:
Tools > Raw Keyframe Rearranger: New tool for rearranging keyframes.
Tools > Tile Paths Reference: New reference for tile paths.
P.S: also check some of the tutorial videos.
Coming in the future, eventually: UV Mapper, Vertex Editor, Triangles Editor, Rigging Editor, Animator (basic and advanced animating)
Geosets -> Center geoset/s at geoset
Geosets -> bottom Transformation panel -> Arrows movement buttons for faster-ish transforming
Rendering -> rendering of the different layer filter modes now.
Node editor -> Select all nodes used by geoset....
in Geosets > Animaator > There is a working tab "Paths" for reusing animation movements. Check it out.
App -> Hotkeys for the transformation modes in the transformation panel at the bottom
1.2.2.1:
Rendering -> The viewport no longer stretches the rendered image, becasue now the viewport aspect ratio is forced to always match the apect ratio of the projection matrix
Geosets -> Animators -> Paths -> 'Extract path from node keyframes...'
Nodes -> attachments -> Can now create origin ref with 1 click
UI -> almost every command will now mark the model as unsaved until you save it.
Geosets -> Fixed change with arrows for the nodes (overlook)
UI -> (fix) "Resize sequence" now refreshes the list (oversight)
UI -> The "delete" button will delete objects, depending on which is the focused UI control
UI -> The tab 'optimize' moved at second last position
Nodes -> inspection -> Now when you click on a node of type emitter1, emitter2, ribbon, light, or attachment, you will see in the side info panel in which sequences it is visible!
Nodes > the nodes lit items are now wider to support visibility for more nested
Textures -> which geosets and nodes use this texture ?
Nodes -> Added 3 commands in Nodes that deal with merging helpers and bones. (For dealng with converted models from WoW)
@Power
Textures -> Layers > Duplicate layer
Textures -> Materials -> 'Duplicate'
Textures -> Texture Animations -> 'Duplicate'
03 april 2025
Various fixes all around
UI -> Transformation editor -> sequence name in the list also contains (start) or (end) for starting/ending tracks
UI -> Transformation editor - the delete button and the enter button now call click events.
UI -> Nodes -> 'Info' removed, and instead in teh right panel the info about which geosets are attached is displayed
UI -> (Inspection) Geosets -> Now when you select a single geoset, the tooltip of the listboxItem will change in order to show the visibilities of that geoset!
Error checker -> checks if ageoset have more than 255 matrix groups
Error checker - checks if 1. all values of a transformation are the same, 2. and if all values of a sequence in a transformation are the same
Nodes -> The editor for emitter2 will now disable static emission rate, if you check 'squirt'
Nodes > Create Presets -> 'Fire', 'Blast Flare'
Nodes -> 'Make visible in...' for quick editing of visibility of emitter1, emitter2, light, attachment, ribbon
1.2.3.2
You can now transform inside the viwport by dragging with the mouse. Select a mode, select an axes, input an increment value, then hold right mouse button and drag up or down.
05/april/2025:
- various fixes
Error checer -> added warning that particle emitter 2's alpha segments are 0 (Invisible)
Error checer -> Added check for geoset animations that checks if its alpha or color are missing sequence entries
Fixes in transformation editor:
clears list before recreating it upon update, for all (oversight)
Fixed setting values for alpha in transformaion edior (oversight)
Fixed error for invalid scaling in input
fixed 'create all starts' for some
Nodes -> Fixed the issue where when opening the dialog of an event object, the used data would not be selected in the big listbox
- optimizaion "remove unused keyframes" now also removes tracks from event objects (oversight)
Geosets -> new command - Export/import geommerge - this is similar to export geoset but the exported file also contains the material, layer, texture and texture animation data for the selected geoset so when you import it, you get not only the same geometry, but the same appearance.
Watch the video demonstration
06/aparil/25
Render > Presets (for fast checking/unchecking of render modes)
Render > Preferences - you can now edit the colors of lines and sze of points rendered
varous fixes
fixes for the texture edtor
fixes for the emitter2 window
Textures > Textures > 'View in big'
07/aparil/25
Edit visibilities - added button to check all, none, or inverse (in case you have a lot of sequences)
(Inspection) - UI - 'Colorize transforamtions'; in the list of sequences, the background color of a listbox item will now be different depending on what transformations it contains. Could be transparent, solid color, or gradent. Green for translation, yellow for rotaton, red for scaling.
1.2.4 08/april/2025
various fixes
--------------------------------------------------
transformation edtor:
--------------------------------------------------
Organized the 'more' menu
new command - 'Swap Sequences'
'Duplicate sequence to sequence/s' - finished. (oversight)
more commands - for optimization
More> 'Refresh keyframes list'
gradual keyframes maker - fixed an exception
----------------------------------
inspector -> 'Which sequences don't have animated geometry? '
Inspector -> now all inspect buttons show a dialog that also allows copy
--------------------------------------------------
UI -> Check for enabling transforming by dragging in the viewport
--------------------------------------------------
Sequences -> commands Copy and Paste Animations
Sequences -> "Delete all sequenes containiing keyword..."
--------------------------------------------------
Geosets -> bottom bar -> Copy and paste buttons (for fields)
Geosets -> Geoset animations -> 'Copy visibilities of sequence to sequence...'
Geosets -> for edit visibilities - upon initialization, checks only the visible ones
1.2.5 09/april/25
Various fixes
-------------------------------------------------------------------
Nodes :
'delete node and any geometry attached to it'
Copy keyframes via clipboard and paste keyframes via clipboard - you can easily tranfer keyframes via the clipboard!
-------------------------------------------------------------------
Rendering & Viewport :
Now the layer tag 'two-sided' is considered;
Now color influenced by geoset animation is consdered;
Lightng and shading are now visible and there is a check under render for lighting
Now when you press up/down, the camera's LookAt (Center) moves up/down
Transformation panel -> button "M" for more transformation modes, and 6 new transformation modes. Check them out
-------------------------------------------------------------------
Geosets:
Commanmd - auto-rig - each vertex is attached to its closest bone . Use wth caution.
Copy/Paste Rig - if a geoset has one matrix group, duplicate it onto another
Geoset operatons > Rotate > command 'Straighten' - rotates a geoset straight on a selected axes. Fast fix for tilted geosets. Works for multple selected geoses.
Normals > Force all normals to point outward/inward
-------------------------------------------------------------------
Textures -> Replace with... - replaces the texture's path which affects all materials and geosets using it
Tools -> 'Model Colors Changer' - For example if you have a model that uses geoset animation colors, fixed team color texture, colored glow or star, the command will change all of them. This is if you want to quickly create colored variations of a model.
-------------------------------------------------------------------
10/april/25
transformation panel:
1. Context menu with more options for the input fields;
2. A button to set all;
3. 2 more transformation modes: rotatte each, scale each,
NEW:
Geosets -> (Live) Mini UV Mapper - You can also see live changes on the model in the viewport.
Controls:
LMB Drag - Select
Left/Right/Up/Down - Move
Scroll - scale
Ctrl + Scroll - Rotate
Alt + Scroll - Scale Horizontally
Shift + Scroll - Scale Vertically
For hoykeys see the screenshot.
You can also use the menu items at the top
13/04/25
- Various fixes
Now when you create a sequence all animated geoset animation visibilities And all animated node visibilities and layer alphas are UPDATED. /so this takes away less worry from you./
Import -> import materials of...;
geosets -> 'to whch bones is attached ths geoset?' (inspection)
App - (FIX!) For some users the app crashes becasue it couldnt find listfile inside the mpqs and I added error message and the listfiile inside the folder "Paths"
- new optimization - split geosets with more than 255 matrix groups (reported by Elprede)
Nodes > Presets > create huuman skeleton
Geosets -> Removed tooltips forvisibilities from gesoets and isnstead there is a button 'Report visibilities'
1.2.7.1
--------------------------------------------
Geosets, Noodes -> 'Edit visibilities based on keyword...' - even easier editing of visibilites! For example if you want the geoset "gold" to be visibiile only in sequences containing the keyword "gold" or team background to be visible only in "portrait"
Geosets -> Menu to check/unckeck or invert check (for visibility in viewport)
-------------------------------------------------------------------
21/april/25
1. More hotkeys for some render options (and the option 'Textured' is now fixed)
2 Nodes -> Pivot Points (all) -> 'Center each bone at its centroid of attachment'
3. Centering, align and create menus moved to the top and works differently for each selected editor
4. UV Mapper - mouse dragging for moving;
5. UV Mapper -> Undo/Redo (ctrl+z/ctrl+y)
6. UV Mapper -> 'Average similar coordinates'
7. Switching between geoset tabs checks the relevant render checkboxes
8. Rendering-> Anti-aliasing.
9. Some other fixes
02 May 2025
Mouse picking
Vertices editor
Triangles editor
Rigging Editor
Textures > 'Create layer with this texture'
Menu -> Model -> 'New' - contains options to start a new model depending on what type it is
Error checker -> A check if a node is using 0 scaling instead of visibilities
Model -> 'Set model name as filename'
Model -> 'Set default author'
Menu -> Center -> Snap commands, depending on selected editor
Nodes -> 'Mass Rename'
Help -> 'What does the error checker check for?'
Create -> Draw... (use pencil or line to draw 2d and then extrude it
Tools -> Sequence names helper
Tools -> You can now create a screenshot ICON of your model. Be in geosets tab, adjust which render options are checked, zoom in on your model, click Tools > Make icon. When completed, the folder will open in windows explorer.
Textures > Quick add > White, black
---------------------------------------
Mini UV Mapper:
'Copy UV Position From Mouse'
Manual Input
Snap selection to mouse position
Hotkey for calling the mini uv mapper (P)
after delete vertices and geosets we must refresh edge data
Colllapse
Grid
snap to grid
'Snap selection to current pre-selection extents'
'Project triangle islands'
'Weld all within threshold...'
'Clamp all'
other adjustments
01. 06. 2025
App:
- code optimizations and minor bugfixes
UI:
Sequences -> the properties of a sequence can be more easily accesed by the panel under the list
Nodes context menu -> rearranging and grouping
tooltips on create node diaog
Textures -> TExture animations -> The right panel now contains translation rotation and scaling buttons, similar to how nodes are
Textures -> Editing alpha and texture id also moved to the right panel
nodes -> the rigtht panel also shows info for event objects
Right Mosue release no longer triggers selecting (fix)
Undo/Redo is completed - works for geometry, nodes and sequences. (but not for the textures tab, global sequencese; When undoing sequence changes, keyframes are not undone)
You can now associate mdx and mdl extension with the app and upon double-clicking a model, the app will load it.
Geosets -> the menu for propertis moved from the context menu to above the listbox
Geoset Animations -> use color and drop shadow now moved under the list
in OPTIMIZER the option 'clamp uv coordinated' has a different color to see it easier and uncheck it because often models who are not strictly insdie 0-1 range can break uv mapping
Menu -> Center - > Put half on ground
Textures > Double clicking on a texture now also acts as clicking 'view in big'
Inspector -> what is the model's actual extent?
Geosets:
fix for merge geosets - missed groups
some functions in the geosets tab now refresh their lists
option to also edit geoset data manually from a window
command 'swap visibilities of selected geosets'
command 'swap colors of selected geosets'
command 'swap geoset animations of selected geosets'
button 'S' next to "Del" -> It will select the geoset animation that is using the selected geoset/s. Purely for convinience and faster working on a model
in vertices -> button to swap groups of two selected vertices
mutliple fixes for certain edit modes not working in certain work modes...
Error checker:
check if camera has nan or too big values or is not pointing toward any geometry.
Generating the report now happens with a button instead of when switching to the tab and now the textbox is replaced by richtextbox that allows colorizing the text
Transformation editor > 'Delete all'
- checks if a a transformation has no tracks for stand sequence but has tracks for other sequences
Tools -> Set all extents to...
Vertex editor > Swap vertices of triangles of affected vertices (select 2)
Textures > Materials > Others > 'Duplicate material to one per geoset using it'
Sequence -> now you can make one, or all, to Title Case. (minor optimization)
Geosets>Rigging editor> You can now copy/paste/swap a vertex group attachment from vertex/vertices to vertex/vertices
13.june.25
Geoset animations -> Deduplicator (dedicated window to selecting which geoset animations to leave and which to remove)
(passive) Geoset Animations -> Now always arranging by ascending order of geosets used
you can now drag-and-drop a file onto the viewport and it will load it!
Error checker -> added a check for the error found in the sanity check 'Track 1 at frame 83367 is not in global sequence 1'. This unused warning means that any keyframe that goes beyond the duration of the global sequence.
Tools -> 'Make all particles disappear at the end of their sequences'
Tools -> Make all geosets disappear at the end of death sequence
in nodes -> edit visibilities' -> you can also edit the visibilities of event objects!
Fixed a miss - you can now also duplicate event objects
26.june.25
NEW! Create -> Custom geoset manager - you can import any custom generated geoset by the program
because of this: Geosets -> Import/Export -> Save geomerge as custom...
FIX: For imported geomerges - bone in the list and attachments
04.July.2025
(FIX) Error checker -> fixed an non-implemented function in the error checker about int transformations
(FIX) Transformation editor -> the commands to create starts and/or ends now works for color also
(NEW) Tools > Model colors variation generator (this tool I made and used for generating
those! (changes the colors of all particles, and all geoset animations who have the tag 'uses color')
(NEW) Tools > Gradual visibility maker - this tool is useful for example for creating birth animation for buildings by gradually appearing geosets
(NEW) Nodes -> 'make all extents same as this collision shape'
(NEW) Nodes -> 'swap attachments with...'
(NEW) Nodes -> Move multiple to root or under node
(NEW) Geosets -> extent editor - added contet menu with more options
(NEW) Geosets -> attachment -> 'swap attachments'
(NEW) Geosets -> Attachment -> 'improvise sprite attachment points positions' (This is if you want quickly to set up the burning attachment points for a building at the top of the selected geoset)
(NEW) NEW way of saving and loading preset nodes: (does not work for bone,helper, attachment)
nodes> new > preset... (opens a dialog that offers importing from presets
nodes > save as preset... (works for emitter1, emitter2, ribbon, light, collision shape, event)
Nodes > Skeleton... - you can also create and load skeleton of bones and/or helpers! Creating is done by wriing it. Loading is done from a list
24 september 2025
- Fixed the parsing of the local settings file, where it did not consider local format, which caused crash for users with windows format that is not using commma as separator.
- Updated global exception handling
- "command find by name" now does not change the tab (fix)
- Changes on the appearance of the error checker
- fixed various mistakes in error checker
03.October.2025
- added in tools > Batch tools > Batch texture renamer-
- in model browser and texture browser the title will contain the count of the results
- In optimizer - delete 0-length gloal sequences also deletes negative
17.October.2025
FIXED A CRITICAl BUG INSIDE MDXLIB:
- some class objects in the library were using CONSTANTS which shared the same object. This includes:
extents, segments, intervals and some Vectors.
new options in optimizer:
- wrap textures by width and height if they are mapped outside of 0-1 range
- merge identical attachment points
- trim and title case camera names
- trim and title case node names
- trim and title case sequence names
- fix static visibility of special efffects
- merge identical collisioon shapes
- merge identical event objects
- average UV coordinates who are too similar
- remove unused event objects
- updated calculation for extents for optimizer
in node editor: direct editing of pivot points instead of with dialog
NEW: Off-spin editor tool - "Tuner's Raw Editor". Just edit from the tree. No rendering.
02 november 2025:
- All functions for moving nodes now do not refresh the entire tree.
- You can skip entering a name for a new node now. It will give generic name.
- Trying to delete a node that has children bones who have attached vertices will now also prompt error message.
- Yo ucan now move nodes in the tree by dragging them with the mouse
- updated all messageboxes to have icons
11 november 2025:
- changes on the UI:
- in collision shape editor changed the buttons with 3d cube, for clicking
- in optimizer grouped the options inside expanders, and the options for selecting are now part of a right-click contextmenu
- listboxes have different shade of gray
- all buttons have 3px rounded corners and hover color
- Fixed the aspect ratio change issue of the viewport when resizing
- Fixed some typos and casing around
20 november 2025
Further changes in the UI:
1. In Geosets tab -> moved triangles, vertices and rigging in a tabcontrol together with geoset animations. This is on order to re-use the one list of geosets instead of having one for each tab
2. The First tab "Geosets" renamed to "Workspace" to avoid repeating with its child tabItem's header
3. Update on the sequences tab
4. Update on the nodes tab
4. Other UI updates
new tab! - [Workplace>cameras] ...instead of editing from [model>cameras]
- it can edit the fields for the camera, and also has other useful functions like zooming, moving up/down and orbiting, positioning at node, or geoset;
- This comes with: In Render -> Cameras - You can now see the cameras inside the veiwport.
- Also in Preferences added options for camera line color
new tab -> properties (instead of editing model properties from the model menu)
New tool -> Dependency Graph - this shows you visually which components are using which
seleciton:
- finished the missing ability to select triangles with selection rectangle
- Selecting in the viwport with selection rectangle is now more accurate - it reacts on vertices within frustrum.
23 december 2025
New commands:
- Import > Select import from model... -> this lets you select which nodes, textures, materials, sequences, global sequences, texture animations to import from another model, with lists and checkboxes
- in the right-click menu of sequences added 'set new end... (without editing keyframes)'
- in the right-click menu of sequences added 'set new end... (with editing keyframes)'
- in the right-click menu of sequences added 'set new range... (with editing keyframes)'
- in geosets > ... > visibilities > show me order of appeareances... (inspection)
- in textures > material and layer > "Clear and layers and create layer with this texture for the selected material"
- In Geosets > Animator > Animate: Added a grid-like timeline for easier access and change of keyframes. Now also includes geoset visibilities. And other changes around that timeline , the lists and the animation process. Revisited the calculation of the animated position of the model and the rendering.
- In geosets > Attachment > command "attach each geoset to its own bone"
- in triangles > command "flip normal"
Changes:
(UI+Functionality) The window for editing visibilities now ALSO allows you to edit ENDS.
(UI) In geosets added a button below the list 'visibilies' which calls the window to edit visibilities. its just a second slightly faster way to access it.
(UI) in model browser added right-click copy path to clipboard
(UI) Some changes on the right-click menu in Nodes
(UI) Collision shape editor window -> copy and paste buttons
(UI) in model browser - you can now copy path to clipboard
(UI) double-clicking in geoset animations now opens the alphas, in adition to the button
(UI) in nodes-> the right panel now contains field for fast renaming and a button to delete
(UI) added checkbox to enable/disable node dragging in the node tree
(UI) in geosets' material selection menu, the tooltips of the textures now have pictures
(inspection) to the left of the listbox of textures -> it shows how much layers and materials use it
(inspection) to the left of the listbox of materials -> info which geosets use it
(inspection) in the lists of materials, textures and texture animations, those who are unused will be colored in gray
Viewport - swapped the rotation directions of the camera when rotating the view with the mouse
Geosets > changed the way geosets in the list are accessed. This is to avoid exceptions after deleting some of them.
changing material no longer refreshes geosets list...
- modifying the selection in the viewport now will dynamically update the XYZ input fields (similar to MDLVis)
- update on some normal editing commands
Fixes:
- the app no longer renames event objects when opening a model. (their name IS their data)
- Duplicating an event object also does not change the name of an event object now
- the button [Delete] now works for deleting vertices and triangles in the vieport when its tab is selected
- (UI) a new programmatical approach to generating overlay grid that does not cause app lag
- (UI) the window for changing material of a geoset now selects the currently used material when opened.
- (UI) in info, vertices are not displayed twice
- in triangles - [detach as new geoset] and its variations are FIXED
- importing geoset > now attaches to the selected bone as expected.
- Changing a material of a geoset no longer refreshes the list of geosets
- Merging geosets now preserves all attachments (fix)
- when geoset are refreshed, check states are preserved now
Undo/Redo:
you can now undo/redo sequences and textures.
you can undo/redo deleting a geoset from the [...] menu. When a geoset is deleted, it is just marked as deleted and hidden for the lifetime of the app. If you save and reopen, it will be gone forever.
IN FUTURE UPDATES:
- undo/redo for other components
- improements on the timeline
- advanced search for model browser and texture browser
- fixed a bug with saving deleted geosets in mdx and related
- Fix for edit visibilities of geosets
- Fix for merge geosets - unassigned groups
- - refresh render data after importing geomerge (minor fix)
- when selecting more than 1 geoset in the list of geosets, now the 'material' button changes color to green or default to show if they use the same material
- Fix for 'duplicate sequence' (working)
- transformation editor can now display and edit tangents
- in nodes' context menu => copy + paste (only basic - names, hierarchy. No tags, no data.)
- Fix for transformation editor: 'edit value' now updates color