[Windows Mobile Development and Hacking General] sztupy:
Hi!

There a lot of kitchens avaialable for ROM building. Now this one is to ease TouchFlo3D building.

This kitchen uses the knowledge and works of 6Fg8, D-MAN666, xboxmod, chainfire and many others who are involved in Manila hacking.

If you use this kitchen and/or any of the decompiled scripts then be so kind and share back the source code of your modified scripts too!

This kitchen (v1.5) has the following utilities included:

6Fg8's mode 9 editor (v3.3.0.1)

sztupy's mode9 converter (v1.0)

chainfire's CFC compressor (v0.46)

MKT: a tool for batch converting/compressing/compiling mode9,qtc,png,xml,lua files (v1.1)

LuaDec (2.0)

A work in progress lua and xml IDE

And various other tools

In the center of this kitchen stands MKT aka manila_kitchen_tool, which is like 'make' but for manila kitchen developement.

It has the following functionality:

split hased _manila files back to their original filenames

join a bunch of files in a directory back to their hashed form

mass decompile mode9 files back to xml and save their lua scripts

mass convert qtc files to/from png files

mass compile lua files

It works like 'make' in sense that only the modified files will be recompiled/recompressed so after the firts setup it might be ideal for manila development.

The output of the kitchen was tested with the Rhodium manila (WVGA version) on a HTC raphael device and it works, so this project is no longer a prototype, but is still considered beta stuff

Kitchen set up

I uploaded a complete Rhodium2 Manila kitchen in case you want to use that as a base (download both the kitchen and the rhodium files, then copy them to the same directory), but of course you can use any other manila pakcage you get across. To set up the kitchen copy the package into the 'pkg' directory then run:

mkt split

to split the hashed files back into their filenames. (For this conversion it uses the same table as m9editor uses.)

You will get a "bin" directory. This will hold all "compiled" stuff, so here you will find all the files that don't need more preprocessing, and can be hashed/installed to the device

Next you want to get some editable files out from the luac, mode9 and qtc files, so use:

mkt -x bin frommode9

To decompile mode9 files back to XML (it will also extract the scripts out of the package)

Next:

mkt -c d,qp fromqtc
or
mkt fromqtc

Will convert all qtc files to png files. (the first type will work on cfc compressed qtc files, the second will work on non cfc compressed files)

After this only the scripts are remaining. Unfortunately these can't be decompiled easily, so grap the decompilation of someone (like me :) ), and put these files into the "insrc" directory. After this run

mkt -d insrc -o src split

so all the hashed _manila files will be converted back to their original filenames to ease searching through them.

After this you're ready with your prepared kitchen. These things were already done with the Rhodium manila so you might use that package to start manila modding.

Compiling

You can use tomode9, compile and toqtc commands to compile these files back to their binary counterpart. Alternatively you can use:

mkt -c pq,c,p make

to run this three command after each other. It's like a Makefile, so it will only compile things that have changed. Of course you might want to 'make all':

mkt -a -c pq,c,p make

This will build all files from the "src" directory into the "bin" directory

Creating the package

After you're done you can use

mkt -o outdir join

to hash all files from the bin directory back to hashed form, and put it into the 'outdir' directory. Next add the binaries and you're ready to flash :)

Alternatively I included createpkg that will create a cab package from the OEM apckage found in the 'pkg' directory

Download and other stuff: http://winmo.sztupy.hu/manilakitchen.html