Importing MOUL ages into Blender

If you feel like you're up to the challenge of building your own Ages in Blender or 3ds Max, this is the place for you!

Importing MOUL ages into Blender

Postby GPNMilano » Tue May 27, 2008 1:52 pm

For the last couple of weeks I've been working on getting the converted MOUL ages from drizzle, to import into Blender. Finally today I had a breakthrough.

Working past the scene node problem, I was successfully able to import a few of the PRPs into Blender.

Negilahn-
Jungle- imports without error.
Pod- imports till it throws up a draw error. All I get are lights and a couple of cameras. Something to do with the ladder regions.

Dereno-
Exterior. Whew, get a memory error. Not sure if its cause of my system.
Pod- Imports, but gets the same error as Negilahn. However It also draws the pod, but just the shell of it.

Payiferen and Tetsonot.
Neither imports. I get a sanity check similar to if they were not converted at all. Gonna have to look into that. Its possible my files are just corrupted.

As for the other ages, I'm going to continue later today. And will update when I have more info. But as a favor here are some screen shots of what I've gotten so far.

Negilahn Jungle

Image

The Dereno Pod

Image

UPDATE:
Tried importing the dereno exterior page, and the memory error didn't come up. Fully imported the page

Image
Last edited by GPNMilano on Tue May 27, 2008 2:13 pm, edited 1 time in total.
You can't stop the truth. IC Blog
User avatar
GPNMilano
 
Posts: 1155
Joined: Mon Apr 21, 2008 5:50 am

Re: Importing MOUL ages into Blender

Postby Chacal » Tue May 27, 2008 2:12 pm

Nice work! I was working on the Scene Node problem myself.
For the error caused by ladder regions, you could try using PrpExplorer and delete the objects from the prp.
Chacal


"The weak can never forgive. Forgiveness is an attribute of the strong."
-- Mahatma Gandhi
User avatar
Chacal
 
Posts: 2515
Joined: Tue Nov 06, 2007 2:45 pm
Location: Quebec, Canada

Re: Importing MOUL ages into Blender

Postby GPNMilano » Tue May 27, 2008 2:13 pm

My thoughts exactly Chacal.
You can't stop the truth. IC Blog
User avatar
GPNMilano
 
Posts: 1155
Joined: Mon Apr 21, 2008 5:50 am

Re: Importing MOUL ages into Blender

Postby Chacal » Tue May 27, 2008 2:23 pm

In reference to your post in the other thread:
GPNMilano wrote:A couple of weeks ago I tried fixing the scene node problem, in an attempt to update PyPrP so it would import MOUL ages correctly. I discovered the scene node reference problem that Chacal was having. So, I renamed the scenenode for the Dereno pod so it would read Dereno_District_DrnoPod. The importer still wouldn't import right, it through up a problem with the page name. So, frustrated, I went back to age creation to aide the stress of constantly getting errors with imports. Today, when I read Chacal's problem I tried tackling the problem in the script files. changed things around, and viola, it worked on the dereno pod. But gave a new error listed above. And of course still the others wouldn't import and through up a scene node reference problem. Then I realized why. I never changed the name of the scenenode back. So I changed the exterior scene node name to Dereno_District_DrnoExterior. and it passed the scene node reference, but gave a memory reference instead.

So, testing, I changed Negilahn's scenenode to Negilahn_District_MuseumPod, and it passed the scenenode problem but came up with the same one as Dereno. Cause the ladder stuff is still borked.

So, to sum up, I'm an idiot. But at least I know I'm one. And I've made some progress. And maybe this part of the thread should be moved to a new one lol




I'm not sure you can just rename the Scene Node. I remember some objects have a link back to the scene node, you would have to change that as well using an Hex editor.

Yup, according to the COBBS Uru Prp object wiki, all scene objects have a reference to the scene node:

Code: Select all
TYPE 0001 - SceneObject

{plSceneObject} : {plSynchedObject}

These are the objects in the age.

BASE
URUOBJECTREF SpanInfo // type 0016-DrawInterface with same ObjectName
URUOBJECTREF AnimationInfo // type 001C-SimulationInterface with same ObjectName
URUOBJECTREF RegionInfo // type 0015-CoordinateInterface with same ObjectName
URUOBJECTREF SoundInfo // type 0011-AudioInterface (different ObjectName)
DWORD Count1
URUOBJECTREF[Count1] ObjectRefs
DWORD Count2
URUOBJECTREF[Count2] ObjectRefs
URUOBJECTREF SceneNode // Present if there is a SceneNode (type 0000) object in the page


So basically we need to fix this in the PyPRP code.
There has to be a way of identifying those Ages, maybe by looking at the major and minor version numbers. Then we can add a test accordingly.
Chacal


"The weak can never forgive. Forgiveness is an attribute of the strong."
-- Mahatma Gandhi
User avatar
Chacal
 
Posts: 2515
Joined: Tue Nov 06, 2007 2:45 pm
Location: Quebec, Canada

Re: Importing MOUL ages into Blender

Postby GPNMilano » Tue May 27, 2008 2:36 pm

Deleting the ladder regions didn't work by the way Chacal, in fact it erased some of the previous stuff. Thankfully i saved the age file.

And you're right, just changing the node doesn't work. The line in alcprpfile needs to be changed as well.

In the version I'm using for importing, there are two lines.

Code: Select all
 
    def getName(self):
        return str(self.name) + "_District_" + str(self.page)
   
   
    def getName(self):
        if self.version==6:
            return str(self.name) + "_" + str(self.page)
        else:
            return str(self.name) + "_District_" + str(self.page)


since there are to defs for getName, its pulling up the first one it finds, which is the one we don't want. So by eliminating the first def getName, and just keeping the second, its searching for both versions of the scene node, and finding the second one.

But for some reason still throws up the scenenode problem for me. unless, i then go and change the scene node name in PrPexplorer, and then it imports correctly. But only if I import individual prps, and not the whole age. Which no longer matters because the GoW pyprp imports individual prps as they are, with all the textures still intact. Something Alcugs PyPRP didn't do.

But the new errors I'm getting, with things like the camera regions, are connected to the simulation interface. I'm getting them with Jalak, which looks really weird, lights everywhere, the pods, probably will with Minkata but I haven't tried that one yet.
You can't stop the truth. IC Blog
User avatar
GPNMilano
 
Posts: 1155
Joined: Mon Apr 21, 2008 5:50 am

Re: Importing MOUL ages into Blender

Postby Paradox » Tue May 27, 2008 3:35 pm

MOUL files are version 6 (without the "_District_" string).

When you convert them with Drizzle, they become version 5 (which is supposed to have the "_District_" string). Drizzle does not rename any objects, so the converted PRP files do not have the string that PyPRP is looking for. Changing this in the code would quite possibly break export of valid PotS files.

As well, it's worth noting that import support is not supported and no longer being developed or maintained.
Paradox
 
Posts: 1295
Joined: Fri Sep 28, 2007 6:48 pm
Location: Canada

Re: Importing MOUL ages into Blender

Postby GPNMilano » Tue May 27, 2008 3:52 pm

Paradox. I meant changing the code of the alcprpfile, that for some reason had two getName references. And changing the name of the scenenode. That seems to get around the problem of the "district" setting of version 6.

I knew the import function was no longer going to be worked on, which is why i chose to do this myself rather than bug the devs about it.

Also, I understand changing the code could invalidate the export function. Which is why I have to versions of blender on my computer. one has the scripts from 1.3.1, which I only use for importing, and thus the version I'm working with to be able to import the MOUL ages correctly. The other blender has the unedited 1.4.0 scripts, where I do all my age creation and exporting. So I don't use that one for tinkering with.
You can't stop the truth. IC Blog
User avatar
GPNMilano
 
Posts: 1155
Joined: Mon Apr 21, 2008 5:50 am

Re: Importing MOUL ages into Blender

Postby Chacal » Tue May 27, 2008 4:32 pm

I'm glad Paradox agrees with our diagnostic.
As I said, we need to find a way of identifying MOUL files (even if it takes checking against a list of age names) and then modify the getName method accordingly so that it handles them as if they were version 6.
We also need to find any other functions that expect the "_District_" string and apply the same change.

BTW, if you don't want to keep two whole copies of Blender, I have written two small scripts for switching PyPRP between version 0.5 and the current version:

Code: Select all
@echo off
rem prpcurrto05.bat
rem Replace current PyPrp scripts with version 0.5 for importing Cyan Ages
rem Chacal 2008-05-24
rem blfolder is the Blender scripts folder
rem v05folder is where you keep the PyPRP v0.5 python scripts
rem currfolder is where you keep the current version PyPRP scripts

set blfolder=D:\Graph\Blender\.blender\scripts
set v05folder=D:\Graph\Pyprp_0.5
set currfolder=D:\Graph\Pyprp

echo Deleting old script files from %blfolder%
del %blfolder%\alc*.*
del %blfolder%\uru*.*

echo Copying script files from %v05folder%
copy %v05folder%\*.* %blfolder%

set blfolder=
set v05folder=
set currfolder=

echo Done.
pause


Code: Select all
@echo off
rem prp05tocurr.bat
rem Replace PyPrp scripts version 0.5 with current version for creating Ages
rem Chacal 2008-05-24
rem blfolder is the Blender scripts folder
rem v05folder is where you keep the PyPRP v0.5 python scripts
rem currfolder is where you keep the current version PyPRP scripts

set blfolder=D:\Graph\Blender\.blender\scripts
set v05folder=D:\Graph\Pyprp_0.5
set currfolder=D:\Graph\Pyprp

echo Deleting old script files from %blfolder%
del %blfolder%\alc*.*
del %blfolder%\uru*.*

echo Copying script files from %currfolder%
copy %currfolder%\*.* %blfolder%

set blfolder=
set v05folder=
set currfolder=

echo Done.
pause
Chacal


"The weak can never forgive. Forgiveness is an attribute of the strong."
-- Mahatma Gandhi
User avatar
Chacal
 
Posts: 2515
Joined: Tue Nov 06, 2007 2:45 pm
Location: Quebec, Canada

Re: Importing MOUL ages into Blender

Postby GPNMilano » Tue May 27, 2008 4:57 pm

Well, I found the problem with importing some of the PRP files. Take the pods for instance According to PRP explorer, LowerTriggerBox02 and 03 are referencing a physical 0x003F. However, when you look through the physicals, they're not there. Probably again one of the screw ups caused by converting the ages using Drizzle. The physical for the object isn't there, as a result, pyprp won't import it. Unfortunately, I can't seem to unlink the physical through prp either, trying to change the physical, or removing the reference to it, doesn't work. I can get it to do it, but once I go back in, its back to its old property.
You can't stop the truth. IC Blog
User avatar
GPNMilano
 
Posts: 1155
Joined: Mon Apr 21, 2008 5:50 am

Re: Importing MOUL ages into Blender

Postby Chacal » Tue May 27, 2008 7:37 pm

It would be easier to import a dummy physical in PrpExplorer.
Chacal


"The weak can never forgive. Forgiveness is an attribute of the strong."
-- Mahatma Gandhi
User avatar
Chacal
 
Posts: 2515
Joined: Tue Nov 06, 2007 2:45 pm
Location: Quebec, Canada

Next

Return to Building

Who is online

Users browsing this forum: No registered users and 1 guest

cron