Skip to content

Releases: UlyssesWu/FreeMote

FreeMote v4.0

13 Oct 09:08
Compare
Choose a tag to compare

This is a stable release. Try CI builds for new features.
If error occurs when using FreeMote tools, try unblocking FreeMote.Plugins.dll FreeMote.Plugins.x64.dll from properties.

Revision

v4.0.2 (2024-12-20): Fix a bug causing PSB which root object is array cannot be decompiled. #141
v4.0.1 (2024-11-20): Fix a bug causing assets generated by PsbDecompile info-psb are wrongly repacked by PsBuild info-psb. #138

What's New

  • FreeMoteViewer: now targets x64, with EMT v3.9.7 DX9 engine.
  • Add support for some uncommon M2 PSB types, including SprBlock, SprData, ClutImg, Chip. #124
    • Add SprPainter to render SprData PSB to sprite sheet images. cmd line: EmtConvert print CHR\XXX\SFF\1PXXX.spr.psb.m.json.
  • Add support for image types: RGBX8_SW for PS3; RGB5A3,TileBeRGBA8_Rvl,TileCI8,TileCI4 for Wii (revo). #130 #135
  • EmtConvert: You can drag & drop tlg images to convert them to png.
  • Support for PSBv1.
  • Encoding can be set in each resx.json for compilation purposes.
  • --disable-plugins command line parameter, to disable plugins loading when startup.
  • Upgrade to SDK style project, and use Github Actions to build CI builds.

Anthem of the Savannah

FreeMote v3.8

09 Feb 09:59
Compare
Choose a tag to compare

This is a stable release. Try latest build for new features.
If error occurs when using FreeMote tools, try unblocking FreeMote.Plugins.dll FreeMote.Plugins.x64.dll from properties.

What's New

  • Audio: Fix OPUS support; support 2 channels VAG (will be converted to stereo wav), and P16. #117
  • Add warning to prevent user decompile body.bin. Always use info-psb with psb.m. #118
  • PsBuild link now supports shelled PSB. #120
  • PSD: Improve pimg PSD import, and warn if you want to convert EMT PSB because it has no support. #109 #121
  • Try avoid System.Text.DecoderReplacementFallback issue. #122
  • Replace MT19937 lib because the former one is no longer maintained.

ζ˜₯θŠ‚εΏ«δΉοΌ
Happy Chinese New Year!

FreeMote v3.7

26 Oct 16:39
Compare
Choose a tag to compare

This is a stable release. Try latest build for new features.
If error occurs when using FreeMote tools, try unblocking FreeMote.Plugins.dll FreeMote.Plugins.x64.dll from properties.

What's New

  • PsbDecompile info-psb: Extract files to their target folders correctly. #114
  • PsBuild info-psb: allow set output body name via -b.
  • Fix PS3 RGBA8_SW (big endian) image extract. #113
  • Move archive pack/unpack functions into FreeMote.PsBuild lib for API usage.
  • Add support for PS4 RGBA4444_SW (with tile) image format.

β₯(^_-)

FreeMote v3.6

31 May 08:51
Compare
Choose a tag to compare

This is a stable release. Try latest build for new features.
If error occurs when using FreeMote tools, try unblocking FreeMote.Plugins.dll FreeMote.Plugins.x64.dll from properties.

Revision

  • v3.6.2 (2023-07-18): Fix nuget reference version issue. #111
  • v3.6.1 (2023-06-01): Set PSD PPI to default value 72. #109

What's New

  • DXT1 texture format support. #106
  • Fix compile for root non-object PSB.
  • EmtPainter canvas size improvement. EmtConvert print emt.psb
  • FreeMoteViewer improvement: pause and capture features. Still very basic, will be improved later.
  • Fix issue: EmtMake generated mmo (from PSBv4) cannot be exported as krkr PSB from editor.
  • Implement pimg <-> psd conversion. EmtConvert pack -s PSD xxx.pimg; EmtConvert pack -s PSD xxx.pimg.psd #109

You can now convert pimg UI interface to PSD, use PS to tweak/translate, and finally convert PSD back to pimg.
Add/Delete layers are supported.

image


https://youtu.be/PXEEH4snzig

FreeMote v3.5

03 Apr 15:03
Compare
Choose a tag to compare

This is a stable release. Try latest build for new features.
If error occurs when using FreeMote tools, try unblocking FreeMote.Plugins.dll FreeMote.Plugins.x64.dll from properties.

What's New

  • Sanitize texture's file name to prevent invalid file name error, by @pkuislm #104
  • MtnPainter: Output preview images for .mtn files. Usage: EmtConvert print xxx.mtn #104 #105

Star Rail

FreeMote v3.4

28 Nov 14:08
Compare
Choose a tag to compare

This is a bug-fix release. Try latest build for new features.
If error occurs when using FreeMote tools, try unblocking FreeMote.Plugins.dll FreeMote.Plugins.x64.dll from properties.

Revision

  • v3.4.2 (2022-12-31): Fix PSV RGBA8_SW image process.
  • v3.4.1 (2022-12-08): Fix PSV RGBA8 image process. #95

What's New

Fix sound_archive PSB Windows WAV (ADPCM) resource output. #94


Rhymes of Vales

FreeMote v3.3

20 Aug 11:27
Compare
Choose a tag to compare

This is a stable release. Try latest build for new features.
If error occurs when using FreeMote tools, try unblocking FreeMote.Plugins.dll FreeMote.Plugins.x64.dll from properties.
Starting with this version, FreeMote requires .NET Framework 4.8 (instead of 4.7.2) to run.

What's New

  • Use -e (--encoding) in PsbDecompile and PsBuild to set encoding. (UTF-8 by default)
  • PSBv1 and MZS (ZStandard) shell support. Reference: GMWare.M2
  • Force set PSB type with --type in PsbDecompile.
  • When performing krkr to win spec conversion, handle timeline folder and skip unexisted icons in krkr motion PSB. #81 #89
  • Improve archive PSB extraction. #82
  • More hints. #84
  • Implement BC7 texture decode and encode (with BCnEncoder.NET) for nx PSB. #85
  • Audio: Fix OPUS export without intro+body pattern.
  • Improve MFL (fastLZ) shell support. #87
  • Support texture flip for PS3 RGBA8_SW textures. #87
  • EmtConvert command mdf is renamed to mpack (since it can pack/unpack MT19937 MDF/MFL/MZS, not only MDF). #87
    • mdf command will be removed in future versions.
  • Use -x {expire_suffix} in EmtConvert mpack to make EmtConvert try finding correct filenames when unpacking MT19937 shells.
    • For example, abc.txt is a file you extracted from xxx_info.psb.m and xxx_body.bin (without using PsbDecompile info-psb -a), and the xxx_info.psb.m.json contains "expire_suffix_list": [".scn.m"]. To unpack abc.txt, you can use: EmtConvert mpack -k {key} -l {len} abc.txt -x .scn.m. The mpack feature will then try filenames including abc.txt.scn.m abc.txt.scn abc.txt as a part of the decryption seed until the file is correctly decrypted or all cases failed.
    • That's because MT19937 shells require a correct seed (key + filename) to decrypt, while the filename must be the only correct one. However it can be abc.txt.scn.m abc.txt.scn abc.txt depending on file extension (txt), type (scn) and expire_suffix_list. So EmtConvert mpack (and PsbDecompile info-psb) will try all these combinations.
    • PsbDecompile info-psb will automatically get the expire_suffix_list from xxx_info.psb.m, but EmtConvert mpack has no chance to get them. Therefore, you should append -x .scn.m for EmtConvert. Otherwise, EmtConvert mpack will only try the input filename (abc.txt) which is not correct in this case (should be abc.txt.scn.m). Of course you can just rename abc.txt to abc.txt.scn.m to get correct results.
    • If you're not sure about the expire_suffix in -x {expire_suffix}, see the common cases table below.
info psb name common expire_suffix
image / font / motion / patch / config .psb.m
scenario .scn.m
voice / sound .psb
script .nut.m

Known issues

  • CI4, CI8 image combination should be implemented in later versions. #70
  • BC7 Texture encoding in this version (with BCnEncoder.NET) is quite slow (maybe a few minutes). Should be improved with a native lib or tool in later versions. #85
  • MXB shell for xbox should be implemented in later versions. #87

Swirls of Shamshir

FreeMote v3.2

05 Apr 08:44
Compare
Choose a tag to compare

This is a stable release. Try latest build for new features.
If error occurs when using FreeMote tools, try unblocking FreeMote.Plugins.dll FreeMote.Plugins.x64.dll from properties.

What's New

  • FreeMoteViewer will not show console window. (You can still use --help to get instructions.)
  • Fix a bug to handle M2's strange behaviour for archive PSB (use different key for files with same extension). #69 #76
  • Support umd_root archive PSB (psb.m). #70
  • Support PSP spec PSB with image swizzle. #70
  • You can set body.bin path using -b when using PsbDecompile info-psb. #70
  • Add mfl (fastLZ) shell support. #64
  • Add support for android sound_archive & map type. #64
  • Handle "resolution" between win and krkr PSB conversion. (check --resolution when converting between win and krkr spec) #75

Known issues

  • CI4, CI8 image combination should be implemented in later versions. #70

FreeMote v3.1

20 Oct 15:47
Compare
Choose a tag to compare

This is a stable release. Try latest build for new features.
If error occurs when using FreeMote tools, try unblocking FreeMote.Plugins.dll FreeMote.Plugins.x64.dll from properties.

Revision

  • v3.1.1 (2021-10-24) : Fix The reader's MaxDepth of 64 has been exceeded. issue.

What's New

  • Try all possible keys when unpack info.psb.m & info.bin. #68
  • Support a strange PSB type which root is a list rather than dictionary.

Duel in the Mist

FreeMote v3.0

15 Aug 09:30
Compare
Choose a tag to compare

Thank you for using FreeMote. Here we come with the 3rd generation of FreeMote!
For the future plan, see v4.0 roadmap.

This is a stable release. Try latest build for new features. If error occurs when using FreeMote tools, try unblocking FreeMote.Plugins.dll from properties.

What's New

  • Image: Decode and encode (with external tool) ASTC_8PP images used in NX platform. #63 wiki
  • BugFix: FreeMote Viewer used to crash when double clicking. #65
  • Feature: For image (PsbType.Tachie) PSB, PsbDecompile will only output combined images, and PsBuild will compile with combined images. #66
  • PsBuild will show a warning if your images may cause errors while compiling. #66
  • Support TileA8L8_SW TileL8_SW TileRGBA5650_SW image formats used in PS4 platform. #67

FreeMote is free to use for free projects. If you're going to modify the source code or redistribute the binary files or promote your paid services/products with FreeMote involved, you must follow the CC BY-NC-SA 4.0 License.
If you want to use FreeMote commercially, read wiki License page and ask me for another license (maybe charged).


Through the Eyes of a Dragon