Post by eternity on Dec 8, 2015 19:19:48 GMT
Tools needed: emotool, Blender 2.49b and the blender importer (please refer to the tools thread to download these).
While this process could be done easier with piecemontee sf4viewer, I want to provide an alternate method in case picemontee doesn't work or you can't preview some parts with it or whatever.
The tutorial will use as example, hiding the cape of Hilda.
Step 1: Analyze file
Drag and drop the .emo file to show_info.bat (in emotool), and keep that window opened.
Read the name of the parts there. Sometimes parts of a model have meaningful and some times they don't.
For example, in Hilda, you wanted to hide the crown, notice that part called "CLOTH_crawn" (crawn seems a typo of the devs).
In that case, you could totally skip step 2 and go directly to step 3.
In our example, we want to hide the Hilda cape. I can already tell you: the cape is modelOPT. But since you may not be able to always guess it, step 2 will help you locate a part graphically.
Step 2: preview the model to locate the part
Copy your .emo file to the directory with the blender script. This is for convenience, the file browser of Blender 2.49b sucks a lot, so it is better if you have the file in same directory, you don't want to waste eons locating the file.
Run the blender script.
Press Alt+P to run the script, this will make a file browser appear. Select the .emo file of Hilda.
The model will be previewed. Open the tree view in the right (armature). Right click the part you want to hide (in this case the cape), to select it.
When you right click on the part, you will notice the part highlighted in the right. "0-mdl-1-mrph-0-0".
The important number here is the one after mdl: 1.
Now take a look at the command line window of emotool. You see those numbers between ()? Well, the number "1" is modelOPT, which is the cape. You have now located the part you want to hide
IMPORTANT: the blender script use normal decimal numbers, while emotool use hexadecimal numbers. In this example, 1 is same in decimal and hexadecimal. But if the number is greater or equal to 10, you will need to convert between them. If you aren't a programmer and can't calculate it mentally, you can always use an online calculator or even the windows calculator in "programmer mode" to convert between decimal and hexadecimal. (for example, the top part of Hilda armor is 29 in blender, which is hexadecimal 1d, which you can see is CLOTH_body in the emotool window).
Step 3: removing the part
Well, now that you know the name of the part, it is time to hide it. First, you have to understand that every part has an edge counterpart, that must also be hidden.
There isn't a 100% rule, but this seems to be true:
- when the part name starts by "PARTS", "SHARE" or "CLOTH", the edge counter part is usually called the same but with a "EDGE_" prefix.
-when the part is called "modelOPT", the edge part is usually called "modelOPTedge" (like in this example!)
- when the part is called "face", the edge is called just "edge".
Anyway, you can check in the emotool window the list of names. You can now close that window btw.
Now edit the remove_object.bat file (righ click, edit).
In part1, put the name of the part. In part 2, put the name of the edge counterpart.
Save. Now drag and drop the .emo file to remove_object.bat. It will modify the file and it will hide the part. And that's all.
While this process could be done easier with piecemontee sf4viewer, I want to provide an alternate method in case picemontee doesn't work or you can't preview some parts with it or whatever.
The tutorial will use as example, hiding the cape of Hilda.
Step 1: Analyze file
Drag and drop the .emo file to show_info.bat (in emotool), and keep that window opened.
Read the name of the parts there. Sometimes parts of a model have meaningful and some times they don't.
For example, in Hilda, you wanted to hide the crown, notice that part called "CLOTH_crawn" (crawn seems a typo of the devs).
In that case, you could totally skip step 2 and go directly to step 3.
In our example, we want to hide the Hilda cape. I can already tell you: the cape is modelOPT. But since you may not be able to always guess it, step 2 will help you locate a part graphically.
Step 2: preview the model to locate the part
Copy your .emo file to the directory with the blender script. This is for convenience, the file browser of Blender 2.49b sucks a lot, so it is better if you have the file in same directory, you don't want to waste eons locating the file.
Run the blender script.
Press Alt+P to run the script, this will make a file browser appear. Select the .emo file of Hilda.
The model will be previewed. Open the tree view in the right (armature). Right click the part you want to hide (in this case the cape), to select it.
When you right click on the part, you will notice the part highlighted in the right. "0-mdl-1-mrph-0-0".
The important number here is the one after mdl: 1.
Now take a look at the command line window of emotool. You see those numbers between ()? Well, the number "1" is modelOPT, which is the cape. You have now located the part you want to hide
IMPORTANT: the blender script use normal decimal numbers, while emotool use hexadecimal numbers. In this example, 1 is same in decimal and hexadecimal. But if the number is greater or equal to 10, you will need to convert between them. If you aren't a programmer and can't calculate it mentally, you can always use an online calculator or even the windows calculator in "programmer mode" to convert between decimal and hexadecimal. (for example, the top part of Hilda armor is 29 in blender, which is hexadecimal 1d, which you can see is CLOTH_body in the emotool window).
Step 3: removing the part
Well, now that you know the name of the part, it is time to hide it. First, you have to understand that every part has an edge counterpart, that must also be hidden.
There isn't a 100% rule, but this seems to be true:
- when the part name starts by "PARTS", "SHARE" or "CLOTH", the edge counter part is usually called the same but with a "EDGE_" prefix.
-when the part is called "modelOPT", the edge part is usually called "modelOPTedge" (like in this example!)
- when the part is called "face", the edge is called just "edge".
Anyway, you can check in the emotool window the list of names. You can now close that window btw.
Now edit the remove_object.bat file (righ click, edit).
In part1, put the name of the part. In part 2, put the name of the edge counterpart.
Save. Now drag and drop the .emo file to remove_object.bat. It will modify the file and it will hide the part. And that's all.