May 17May 17 I have been trying to Rip Models and Maps from this game for a while now. The steam user "tchaek" seems to have figured out how to rip the models as they have made Gmod models of the Monsters and Ghosts, they used their own python scripts. Is there anybody who knows how to do so. I have used Game Extractor to get all of the Textures, from the NPCs to the Map Textures.
May 19May 19 Localization On 5/17/2026 at 11:34 PM, Zorg-Sinister said: I have been trying to Rip Models and Maps from this game for a while now. The steam user "tchaek" seems to have figured out how to rip the models as they have made Gmod models of the Monsters and Ghosts, they used their own python scripts. Is there anybody who knows how to do so. I have used Game Extractor to get all of the Textures, from the NPCs to the Map Textures. Would love to get the animations as well, such a great game!
May 19May 19 Author Indeed. The models are in the .sdu_mdl format. where the Textures are in .sdu_tex format.
May 19May 19 Supporter Isn't sdu sound? I checked them but i think that table is in another file. The small one. The big ones are just data holders.
May 24May 24 Supporter Well i figured out *.tdu format. Looks like it has it's own table. O.K all files have same table but resource type varies. And also one resource can be serialized from multiple resources. Starting with header i guess and then data. I noticed it at models, they have separated vertices, uv, normals etc. This will require some debug to get at least proper resource types, but i can guess them anyway as usual. I was able get the NPC but there is no head? I checked face indices which are surprisingly tri-strip. And vertices doesn't seem to have head vertices. So may be it's in another resource which tells me that heads are variable for this body type. Also normals are still nowhere to be found. UV's looks fine but not sure where is material index for texture. So here's bms to unpack any of *.*DU files. There's no file name. Only file id i think. ################################### # The Suffering - *.*DU # ################################### get BaseFileName basename get TotalFileSize asize get Ext extension idstring "SRSC" get Flags ushort get TableOffset uint32 get TOCIndex uint32 goto TableOffset for i = 0 < TOCIndex get ResourceType ubyte get Unknown ubyte get ResourceId uint32 get ResourceOffset uint32 get ResourceSize uint32 set MEMORY_FILE binary "\x00\x00\x00\x00\x00\x00\x00\x00" putVarChr MEMORY_FILE 0x0 ResourceSize uint32 putVarChr MEMORY_FILE 0x4 ResourceType uint32 string FileName p= "%s_%s/0x%04x.%u" BaseFileName Ext ResourceId ResourceType append 0 log FileName 0 8 MEMORY_FILE log FileName ResourceOffset ResourceSize next i And here Noesis script for files with *.64 extension. These are textures. Mostly in *.TDU files. from inc_noesis import * import noesis import rapi import os def registerNoesisTypes(): handle = noesis.register("The Suffering - Texture", "64") noesis.setHandlerTypeCheck(handle, noepyCheckType) noesis.setHandlerLoadRGBA(handle, noepyLoadRGBA) noesis.logPopup() return 1 def noepyCheckType(data): bs = NoeBitStream(data) if len(data) < 20: return 0 return 1 def noepyLoadRGBA(data, texList): ctx = rapi.rpgCreateContext() bs = NoeBitStream(data) baseName = rapi.getExtensionlessName(rapi.getLocalFileName(rapi.getInputName())) ResourceSize = bs.readUInt() ResourceType = bs.readUInt() TextureWidth = bs.readUInt() TextureHeight = bs.readUInt() Unknown_0 = bs.readUInt() PixelFormat = bs.readUInt() bs.read(32) TextureBuffer = bs.read(ResourceSize - 48) if PixelFormat == 4: texFmt = noesis.NOESISTEX_DXT1 elif PixelFormat == 8: texFmt = noesis.NOESISTEX_DXT5 texList.append(NoeTexture(rapi.getInputName(), TextureWidth, TextureHeight, TextureBuffer, texFmt)) return 1 Edited May 25May 25 by h3x3r
May 29May 29 Author I tried the BMS script but it just came out as 1. and 2.files I'm going at this way to fast, aren't i...
May 29May 29 Author Also here are the texture.files for the guards/C.O.s for you to test with. I used Watto's Game Extractor. Heads: Main body: Pants: . Edited May 29May 29 by Zorg-Sinister
May 30May 30 Supporter I have no problem with textures. I can get them just fine. Which file you tried to unpack? Maybe it has different struct.
June 1Jun 1 Author I tried to find the models but it just comes out as 1 2 or 3 files. which one did you unpack, h3x3r?
Create an account or sign in to comment