Castlevania: Lords of Shadow models and props?

Castlevania: Lords of Shadow was just released on Steam, I’d love to see some rips of the characters, props, and weapons from the game!

Good lord, that woman has realistic breasts. Are you sure she’s from a computer game?

And then there’s this chick.

Currently, it looks like the same script that people have been using to import the console versions’ models into Blender doesn’t like the PC versions.
I’ll go hunting for some links for the scripts necessary to extract and import later, but it’d also help a lot if anyone has any knowledge of python, or an idea of how to fix the Memory Errors it gives for any given .SM3.

I do know someone who works with Python, but I’m not sure he’d be interested in this type of project, should I talk to him anyway?

Sure, any help would be appreciated. Here’s the script for Blender 2.49b, and a sample SM3 from the PC version. To run the script, just make sure the .blend and .sm3 are in the same folder, and hit Alt P.

Ok, I sent my friend the message. He’s going to take a look at it.

Aaaand balance is restored.

Yo. I’m the guy Ryu-Gi reached out to with respect to Python debugging.

First things first - blender 2.49b is old. Like, three years old. This doesn’t cause much trouble when you’re on Windows, since you can just get an old version of Python. But I use Linux, and Linux relies on Python to work properly. It’s possible to downgrade without breaking my system, but it’s nontrivial - so if I’m working for free, that’s more work than I care to do :P. I tried porting the script to the new Blender, but apparently they’ve overhauled the entire API, and I don’t know enough about Blender to know what’s still there and what’s been removed.

So with that being said, the Python code itself doesn’t look all that complicated. If you can give me the error messages that appear in the Blender terminal window, I might be able to figure out what’s going on. Also, since you said something about memory errors, would you also mind giving me the specs for your machine (OS, RAM, video card)?

Sure, but I’m certain my actual system specs aren’t the issue here.

Operating System: Windows 7 Home Premium 64-bit (6.1, Build 7601) Service Pack 1 
Processor: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz (4 CPUs), ~3.8GHz
Memory: 8192MB RAM
Available OS Memory: 8152MB RAM
Page File: 4543MB used, 11759MB available
Card name: AMD Radeon HD 6900 Series
Display Memory: 4095 MB

And this is the error given in Blender’s console. It’s the same no matter which *.sm3 I try to import.

Traceback (most recent call last):
	File "import-castlevania-20", line 496, in <module>
	File "import-castlevania-20", line 383, in readdata

Thanks - I just wanted to double-check - your system is definitely not the problem.

I see where the program is crashing now, and was able to run it locally on my machine. Would you do something to humor me? In the program there are two lines around line 54 that read:

bigendian    = True
littleendian = False

Swap the True and False and see what that does for you. When I swap them, I get some output that looks like it makes sense, and stop getting the Out of Memory error.

When I use it on the silverwarrior.sm3 I packed up, it beeps several times; with any other, it doesn’t, but in all cases I still get the MemoryError:

Traceback (most recent call last):
	File "import-castlevania-20", line 496, in <module>
	File "import-castlevania-20", line 420, in readdata
	File "import-castlevania-20", line 356, in read_mesh_data

Also perhaps worth noting that a couple more bones appear to have been processed.

Maybe the extra bones are jigglebones?

Well, that’s not what I meant. Before, it would process only a single bone… now, it’s between two and seven, depending on the model, which is certainly far from being the whole thing. :v:
And the mesh still doesn’t get processed.

The only thing I can think of is that the script is reading the model files incorrectly, or the assumptions that made sense for the console version of the file format don’t work for the PC version.

The out of memory bugs are coming from lines like these:

for n in range(long):

The “range” function in python basically makes an array with all of the values from 0 to the value of the variable “long”. If it’s 5, you get (0,1,2,3,4) and if it’s 9 billion, you get a MemoryError. The likely story is that the wrong number is getting used in this function, which usually happens when you’re reading the file and either end up a few bytes off or use the wrong endianness.

I’ve written a version of the script that will create a file called “logfile.txt” and put a bunch of debug information in it so we can see what’s going on.

Here’s the log from using it on ‘silverwarrior.sm3’:

If this fails, the alternative is to just port the XNALara models that were ripped from the console version. There aren’t that much, though.

I’m really interested in the porting of the villagers, though, if they’re in there. Some medieval citizens would be great for fantasy pictures.

Here’s a link to some of the XNALara models:

this is actually a very interesting idea I would like to see these models made.

Hey guys.
I ripped a few models from the pc version(Chars and Props)
I still need to get the textures from original files because Ninja Ripper got a few of them in Low-res.Of course, they don’t have bones so you’ll have to rig them.
I can post here if you guys want to give them a try and i’lll rip more models later.

Textures: .DDS
MIni pack 1(All those models you see above and a few more) ( Claudia,Laura and that Goblin Boss are not included yet because i’m still getting better textures for them)

Mini pack 2(Laura,Claudia,Goblin Boss and the Wolf Boss)

I’m trying to get them all with bones, because it takes a lot of time to rig multiple models (especially non-humans) decently.