https://sourceforge.net/p/schleichfahrt ... ts.py#l688 (parseCluster)
and
https://sourceforge.net/p/schleichfahrt ... ter.py#l77 (importModel)
So it is a combination of "Scale" in the "Size" section from the "VFX/SOBJECTS/" .DES file for the dtype (game object) and the input regarding scale .DES file from the "gamedata/NEWMODULE/" folder. So I think my code complete ignores the mesh scale. The python code was my very first big project with python back then and the version is rather acient by now. So this is not really an example for good python by any means. However, python is very good for rapid prototyping.
E.G. the MVI to PNG part can be written in python as:
Code:
from PIL import Image
import SF_Loader
path_to_your_SF_files = "D:/SF"
name = "FILM/D02"
counter = 0
mvi_file = SF_Loader.MVILoader()
mvi_file.load(path_to_your_SF_files + "/GFX/MVI/" + name)
while not mvi_file.has_finished():
mvi_file.decode_next_frame()
img = Image.frombuffer("RGBA", (mvi_file.width, mvi_file.height), mvifile.imgdata)
img.save(f"frame{counter:03d}.png","png")
counter += 1
And actually this is only because I wrote the exporter poorly. If I would have done it properly it would be:
Code:
from PIL import Image
import SF_Loader
path_to_your_SF_files = "D:/SF"
name = "FILM/D02"
counter = 0
mvi_file = SF_Loader.MVILoader()
mvi_file.load(path_to_your_SF_files + "/GFX/MVI/" + name)
for frame_number, frame in enumerate(mvi_file):
img = Image.frombuffer("RGBA", (frame.width, frame.height), frame.imgdata)
img.save(f"frame{frame_number:03d}.png","png")
So one can write very meaningful code with minimal "noise" (i.e. code which does not add information). So I can only recommend to take a closer look and give python a try. It is really worth it. Especially if your time is the limiting resource.