Releases: rintrint/mmdbridge
Releases · rintrint/mmdbridge
v1.2.3
v1.2.2
v1.2.1
- alembic: Fix UE5 crash when using export mode 1
- alembic: Fix export mode 1 & 2 not setting material slots correctly
- alembic: Show error message if failed to write abc file
- alembic: Add description for export mode 3
- alembic: Use .data() instead of .front() to avoid undefined behavior on empty vectors
v1.2.0
v1.1.2
v1.1.1
v1.1.0
- MMDBridge can now correctly export at high FPS such as 60 or 120. The AVI export FPS does not need to match MMDBridge’s FPS setting, allowing you to bake high-FPS exports into lower-FPS data.
- MMDBridge can now fix more garbled text in MMD on non-Japanese Windows systems.
- Improved VMD export performance.
- The VMD export summary message now shows the elapsed time.
- Message boxes now appear in the foreground.
- Fixed Alembic re-exports accumulating meshes from previous exports.
- Tweaked the plugin settings panel.
- Improved hook stability.
- Other bug fixes and robustness improvements.
v1.0.1
v1.0.1 - VMD Export Bone Name Validation
This is a patch release that focuses on improving the stability of VMD exports and enhancing the overall code quality.
🔧 Fixes & Improvements
- Added Bone Name Validation for VMD Export: The exporter now checks for invalid bone names (e.g., non-CP932 compliant, or exceeding 15 bytes) before exporting. If an issue is found, a user-friendly error message is displayed to guide the user in fixing the model data. This prevents the creation of corrupted or unusable
.vmdfiles.
⚙️ Other Changes
- Code Refactoring: Implemented significant code refactoring across the application to improve maintainability, stability, and structure. This includes simplifying internal hooks and enforcing UTF-16LE for configuration files.
- Documentation: The project documentation has been improved and restructured for better clarity.
v1.0.0
v1.0.0 - Internationalization & Performance Update
This is a major update for MMDBridge. This release introduces significant performance improvements, comprehensive internationalization support, and a wide range of bug fixes, stability enhancements, and many other minor improvements.
🚀 Features & Enhancements
- Settings Persistence: User configurations are now saved to an
.inifile. This means your settings are remembered across sessions without needing to be reconfigured each time. - Internationalization Support: Added localization support, enabling easier translation and adaptation for different languages.
- Chinese Language Support: The distribution now includes localized MMD executables for Simplified and Traditional Chinese.
- Advanced VMD Export: New advanced settings have been added for VMD exporting, giving users more control.
- Version Info: A "Version Info" menu item has been added for easier version tracking.
- UI Improvements: The settings dialog has been tweaked for a better user experience, and the "実行する" option was changed to a checkbox.
⚡️ Performance Improvements
- Reduced CPU Usage: Replaced inefficient
EnumWindowspolling with a more efficient, event-driven hook for window detection. - Optimized Lookups: Refactored map lookups to avoid redundant searches, improving overall performance.
🐛 Bug Fixes & Stability
- Unicode & Text Encoding:
- Fixed garbled text on non-Japanese systems by hooking ANSI WinAPI calls to handle different language encodings correctly.
- Resolved issues with Unicode file paths for PMD model loading, VMD motion saving, and Alembic (HDF5) exports.
- Explicitly converted WinAPI calls to their Unicode versions for better compatibility.
- Memory Management:
- Fixed several memory and resource leaks, including DLL handle leaks and a memory leak in
RenderedMaterial. - Replaced raw pointers with smart pointers in many areas to improve memory safety.
- Fixed several memory and resource leaks, including DLL handle leaks and a memory leak in
- Export & File Handling:
- Made the export lifecycle more robust to prevent issues from interruption or restarts.
- Fixed a bug that could occur when importing duplicate models into MMD.
- Improved thread-safety for functions that handle resource paths and textures.
🔧 Code Quality & Refactoring
- Centralized package assets and script loading logic.
- Cleaned up unused code, updated comments, and formatted code using Ruff and clang-format.