.GAR is an uncompressed file container (like .RARC, .SARC, .U8, etc.)
There are .CTXB (graphics) and maybe other files inside.
Drag it onto Texturipper and it extracts .PNGs from supported files (in our case: .ctxb).
.LZS (not .lSz) should be LZ compressed .GARs.
But most of *.gar.lzs files in MM3D are not compressed and are uncompressed .GARs, in fact.
.GMSG are text files. Header -> list of pointers -> text.
Pointers are 4 bytes in size.
English text in PAL version (eue.gmsg) - first pointer: $1C, last pointer: $1E0A8.
Interval between pointers is 16 bytes: [4-byte pointer][4 bytes for dialogue size + 12 unknown bytes][4-byte pointer][4 bytes for dialogue size + 12 unknown bytes][4-byte pointer][4 bytes for dialogue size + 12 unknown bytes][4-byte pointer] and so on.
Just after list of pointers lives game script. Is starts at $001E0B0 and ends at $00BE3EF.
Line break codes: 7F0100, 7F000100. End dialogue (stop-byte): 7F0000.
Similar scheme present in Ocarina of Time 3D .QM files (text).
.GZF is a font file. I couldn't open it. It's very similar to OoT3D .qbf font, which can be opened in tile editors (in 4bpp linear mode), but this .gzf I can not open...
Nope. A series of converters that require hand-picked data. There's no easy way to convert models from ALBW, especially texture-wise. When you view one with textures applied, they will be messed up, due to how they were optimized, and lack of simulation of the 3DS GPU.