For the past week I've been working on my own importer tool. It is currently about 60% done with .obj importing being fully functional.
One of the main features of this tool is being able to import more than one .obj file at a time, which makes area importing a lot easier.
Here is a little preview video showing off 4 areas.
Other features:
* Supports RGB colors for triangle faces, which take up a lot less data than textures do
* Detects duplicate textures and adjusts pointers. This will save up on data usage in case you want to have multiple collisions with a single texture.
This also lets you re-use textures in all of the level's areas without taking up extra data.
* Doesn't create useless vertices
* Doesn't create the layer 5 display list if all textures are solid
* Can also import .bin files and hex data.
* Should support most of the level importer features: (Death floor, Water boxes, Fog, Alpha layer, etc.)
I still have to add some of the little features from the level importer before I release it. I will also need to do a lot of bug testing as well.
If anyone can PM me some complete levels (sketchup file or .obj) to test out with, that would be great.
Note: This is not a level importer tool, but rather a tool that a GUI level importer program would use.
I don't plan on adding level script importing in the first release, so you would have to set them up yourself or wait for someone to make a tool.
To let you know how it will work, these are the arguments I used in the video above.
The output lets me know where the Fast 3D scripts and collision data for each area is located.
One of the main features of this tool is being able to import more than one .obj file at a time, which makes area importing a lot easier.
Here is a little preview video showing off 4 areas.
Other features:
* Supports RGB colors for triangle faces, which take up a lot less data than textures do
* Detects duplicate textures and adjusts pointers. This will save up on data usage in case you want to have multiple collisions with a single texture.
This also lets you re-use textures in all of the level's areas without taking up extra data.
* Doesn't create useless vertices
* Doesn't create the layer 5 display list if all textures are solid
* Can also import .bin files and hex data.
* Should support most of the level importer features: (Death floor, Water boxes, Fog, Alpha layer, etc.)
I still have to add some of the little features from the level importer before I release it. I will also need to do a lot of bug testing as well.
If anyone can PM me some complete levels (sketchup file or .obj) to test out with, that would be great.
Note: This is not a level importer tool, but rather a tool that a GUI level importer program would use.
I don't plan on adding level script importing in the first release, so you would have to set them up yourself or wait for someone to make a tool.
To let you know how it will work, these are the arguments I used in the video above.
sm64Import.exe -r "sm64.ext.z64" -a 0x18F0000 0x0E000000 -c 0x150000 -s 500 -io "Test_Area1.obj" "Warp_Area2:0x1C" -io "Test_Area2.obj" "Warp_Area1:0x1B,Warp_Area3:0x1D,FireRock:0x01,FireRock_Orange:0x01" -io "Test_Area3.obj" "Warp_Area2:0x1C,Warp_Area4:0x1E" -io "Test_Area4.obj" "Warp_Area3:0x1D"
[-r ROM_PATH] ROM to import data to
[-a ROM_ADDRESS {SEG_POINTER}] Set the base ROM address (and optional segmented pointer) to import to. The segmented pointer is required for -io
[-io OBJ_PATH {COL_DATA}] Import .obj file as f3d level data (Textures, colors, vertices, and f3d scripts).
If you define the optional second parameter, {COL_DATA}, then collision data will be generated for the OBJ.
[-c SIZE] Sets the max data cap. If the following data is larger than this, then the program will return an error.
[-s SCALE_AMOUNT] Model scale factor.
[-a ROM_ADDRESS {SEG_POINTER}] Set the base ROM address (and optional segmented pointer) to import to. The segmented pointer is required for -io
[-io OBJ_PATH {COL_DATA}] Import .obj file as f3d level data (Textures, colors, vertices, and f3d scripts).
If you define the optional second parameter, {COL_DATA}, then collision data will be generated for the OBJ.
[-c SIZE] Sets the max data cap. If the following data is larger than this, then the program will return an error.
[-s SCALE_AMOUNT] Model scale factor.
The output lets me know where the Fast 3D scripts and collision data for each area is located.