Jump to content

Recommended Posts

Posted

Hello everyone,

a little while ago the RexHax forum user (and absolute MVP) BloodRaynare helped me to crack the .WAD files of the Fear Effect Inferno prototype build.

Since then, I have been busy analyzing and documenting all the different files that I have been able to pull from these WADs. The good thing is, a majority of the game’s assets, such as level geometry, character models, textures and animations are all importable into blender with the right plugins. Without getting ahead of myself, the .WAD files also contain quite a few assets that are not accessible through normal gameplay. And this brings me to today’s topic:

It seems, there is secondary type of character model present in this prototype that is not based on Renderware’s .DFF format. The filetype in question is called .RMD and it presents somewhat of a roadblock in my analysis.

The WAD folders, in which these .RMD files can be found give us somewhat of an indication about their potential contents. They are designated as CITYMAN1 to 3, CITYWMN1 to 3, DBULL and DCHAIR. Given that the prototype was seemingly developed chronologically, it is very likely that these WADs were created very late into the games development and would have been implemented into the City of the Dead chapter. “City man” and “City Woman” might very well refer to the NPCs one would have interacted with during this part of the game. When looking at the animated backgrounds of the City of the Dead level, you can see different human NPCs throughout the environments. This makes it likely that these .RMD files are related to the actual 3D models of these NPCs.

image.png.5c18568956f02fd58fa6da1b639a1f1b.png

Furthermore, the Unseen64 page of Fear Effect Inferno features an image of two NPCs that one does not encounter throughout the game’s prototype: A bald man and an elderly lady in ragged clothes. Since our protagonists would have also arrived in rags in the City of the dead, it is likely that these NPCS were meant to be placed in this level. Thus, it is my guess that these NPCs are featured in some capacity within our mystery WADs.

image.png.6981a4db0d57d1f49c0571dce62359f5.png

Another indicator of these files being related to the game’s finale are the names of the two remaining WADs. DBULL very likely refers to the Demon Bull enemy, that is otherwise only present in cutscenes. However, its 3D model can be examined in the game’s model viewer. While being located in a different folder than DBULL.RMD, it is probable that both files would have represented the same 3D Model.

image.png.fb6a1c0a71376df56c23991ac42f2ab8.png

The final file DCHAIR.WAD is the most interesting one since it very likely refers to the game’s final bossfight. Thanks to SEGA DREAMCAST INFO  we have an almost complete overview of how the story of Fear Effect Inferno would have unfolded. In short, right before the game’s climax our heroes would have been captured and brought before the Chair of Judgement. I am fairly certain that DCHAIR.WAD or “Demon Chair” refers to this encounter.

image.thumb.png.014835586eec2272d1a19c86c2b4f163.png Source

This brings me to the question of the day:

How does one make the contents of these .RMD files accessible?

Since Fear Effect Inferno was developed on the Renderware Engine, my first intuition was to check if there are any other Renderware Ps2 games out there that rely on the .RMD format. To my surprise, Persona 3 also uses a format labeled .RMD to store its character models. Over the years, talented modders have developed standalone programs, 3dsMax plugins, and viewers to make the Persona 3 .RMD models workable. 

However, as good as this may sound, none of the Fear Effect Inferno .RMD files were importable with any of the mentioned tools. Therefore, it is my guess that this identical nomenclature occurred coincidentally and does not actually refer to the same type of model file.

Because I have yet to find a solution on how to make these .RMD files usable, I have decided to examine the other files present within each respective WAD. There are two minor formats present which are labeled .CCD and .DBX.

One might think that .CCD indicates a type of disk image, but I had no luck getting this image loaded up into an image reader or burner, so it probably has to be something else.  

This led me to believe that .DBX might refer to the AutoCAD Database Extension File format. After all, AutoCAD can be used for 3D modelling and .RMD might as well be some kind of RAW 3D model that has not yet been made usable for the Renderware Engine. If this is the case, we unfortunately do not have access to the related AutoCAD project that used these .DBX files for their database structure. So, another dead end there.

With no luck here either, I turned to remaining two file formats simply called .GAD and .PS2. In short, I was not able to produce anything substantial from these files either, but the file names at least give us an indication about what these formats might have been used for:

.GAD seems to be some kind of animation format since the two files present in each WAD end on either WALK.GAD or IDLE.GAD. This means our models in question just had their default position and some sort of walking animation ready when this build of the game was completed.

Moreover, all the .PS2 file names are related to a specific body part. For instance, we have HEAD2.PS2, BODY0.PS2, LEGS1.PS2 and so on. Therefore, the .PS2 format was either used for animating body parts separately or it was intended for some kind of dismembering system, which split up the model into individual pieces.

With no real leads remaining, I have decided to just throw the formats into our trusty Windows Notepad and see if there is any kind of readable content in here. This is when I noticed something that might very well make this whole operation futile:

With the exception of DBULL.RMD, all the files present in each WAD are structurally identical to one another.  DCHAIR.RMD looks exactly like CITYWMN.RMD in Windows Notepad and even has the same file size.

image.png.3dfa947d3f54b82857ab7d909ec43d61.png

Same goes for all the the .PS2 files. ARMA0.PS2 of DCHAIR.WAD is fully identical to ARMA0.PS2 of CITYMAN2.WAD and so on. Even the .GAD animation files are absolutely identical in each one of the WADs.

image.png.a9f53a77504ad63708534c782f6df98b.png  

When factoring in model scaling and bone positions, it is downright impossible that the Demon Chair model would behave the same to a human-sized NPC. Unless both of them are just placeholders.

And that’s kind of where I draw my conclusion in this matter. With maybe the exception of DBULL.RMD all of these WADS will include the same basic placeholder model. With a bit of luck that model will resemble one of the human NPCs from above, but sadly not the game’s final Boss.

If anyone in this forum has a different interpretation of the presented data or maybe knows how to make these files usable, feel free to reply. It would be very much appreciated. For further analysis, I have attached the WAD folders down here as well.

 

Thank you for reading, good luck and good night.

 

 

RMDS.zip

Posted
On 6/24/2025 at 2:56 AM, shak-otay said:

Checked cityman1 for vif tags. Result is not convincing so far:

Cityman1.png

Well, thanks for trying anyway.

Who knows, maybe the .RMD models present in this build are corrupted. Some of the ingame character models also weren't rigged properly and caused the game to crash. 

  • Engineers
Posted
52 minutes ago, Morgen_Muffel said:

Who knows, maybe the .RMD models present in this build are corrupted.

I don't think so. cityman1 is just clumped and the parts need their offsets being applied. Maybe later.

  • Like 1
Posted
4 hours ago, shak-otay said:

I don't think so. cityman1 is just clumped and the parts need their offsets being applied. Maybe later.

If it helps, here is the functional .DFF model of DBULL from the game's model viewer. Maybe through comparison with the DBULL.RMD it can help you determine the offsets of the other .RMD models.

DBULL.zip

  • Engineers
Posted (edited)

Those .PS2 files are textures, you can examine those with Console Texture Explorer. I found some info too like width and height, image data offset and palette offset. About .RMD files, these have a lot of submeshes but we need to find a way to collect all. I will try to check that later...

Here is texture head0.PS2 from DCHAIR folder:

 

head0_PS2.png

head0_PS2_CTE.png

Edited by roocker666
  • Like 1
  • Thanks 1
  • Engineers
Posted (edited)

edit: seems instead of experimenting I'd try to get TGE's RMD maxscript, maybe from xentax backup archives

edit 2; found Amiticia, but exporting the clump creates no file

The bones with parent ids:

0 *jtroot* -1
1 *jtbody* 0
2 *jtwaist*  1
3 *jtchest* 2
4 *jtrshoulder* 3
5 *jtrarm* 4
6 *jtrelbow* 5
7 *jtrwrist* 6
8 *jtrpalm* 7
9 *jtlshoulder* 3
10 *jtlarm* 9
11 *jtlelbow* 10
12 *jtlwrist* 11
13 *jtlpalm* 12
14 *jtneck* 3
15 *jtmouth* 14
16 *jtlip* 15
17 *jtlleg* 1
18 *jtlknee* 17
19 *jtlankle* 18
20 *jtltoe* 19
21 *jtrleg* 1
22 *jtrknee* 21
23 *jtrankle* 22
24 *jtrtoe* 23

 

floats from the matrices (undefined values replaced by 0.0 0.0 0.0):

 0.0 0.0 0.0  jtroot
 0.413449 -0.995091 0.495473
 0.357034 -0.674350 0.553032
 0.982738 -0.695039 0.691009
 0.253196 -0.269279 0.291826
 0.216968 -0.236668 0.236830
 0.0 0.0 0.0 jtrelbow
 0.032668 -0.201254 0.164289
 0.0 0.0 0.0 jtrpalm
 0.253197 -0.269279 0.291826
 0.216968 -0.228647 0.236830
 -0.044276 -0.264800 0.184460
 -0.039168 -0.199243 0.158531
 0.0 0.0 0.0 jtlpalm
 0.722860 -0.408135 0.387143
 0.038753 -0.180144 -0.108344
 0.0 0.0 0.0 jelelbow
 0.016553 -0.456171 0.428642
 -0.045874 -0.276716 0.403431
 0.037943 -0.777463 0.348391
 0.0 0.0 0.0 jtmouth
 0.016552 -0.456171 0.428642
 0.0 0.0 0.0 jtlleg
 0.037943 -0.777463 0.348391
 0.0 0.0 0.0 jtlankle

edit: uvs are a little bit weird, as usual:

blender-app_vNskT3lSvc.png

Edited by shak-otay
  • Like 1
  • Thanks 1
Posted (edited)

Whoa, I was not expecting that. 

It seems like they used squashed up low rez version of the game's DMAN (demon man) model as a placeholder for DCHAIR.RMD.

As a quick point of reference:

dmanbod.png.68fee8ff5bb3571e6c5f1b0af41df83f.png

Screenshot(2842).thumb.png.345a1165a249e7a0926e809e6d9a55ce.png

Even in this jubled state you can see all of the spikes protruding out of the model.

Screenshot(2843).png.f1c5c12be53f105c5e11e45ba9191b10.png

From what I can tell, the .PS2 texture is based on an earlier rendition of the demon man enemy that used a more flat shading style. You can still  see this version in the game's pre-rendered cutscenes. 

 Screenshot(2846).thumb.png.05f5a563d323591c3d5d398765f6ba82.png

If it is of any help, I have attached the game's final DMAN model here as well.

 

These are some pretty great discoveries. @shak-otay  @roocker666  Thank you very much for giving it a shot.

 

DMAN.zip

Edited by Morgen_Muffel
Only addressed one user
  • Like 1
  • Engineers
Posted (edited)

I made a Noesis script to read all meshes from .RMD files but the meshes are in the center so we need the skeleton but I don't know how to do that, lol. I used the function "CreateTriList" from other PS2 script(made by leeao), it works fine. This function uses the last 4 bytes of vertices buffer as flag and pad: 12 bytes verts, 1 short flag, 1 short pad.

Here is DBULL.RMD but like I said, we need the skeleton:

 

DBULL_RMD.PNG

Edited by roocker666
  • Like 1
  • Thanks 1
  • Engineers
Posted (edited)
48 minutes ago, roocker666 said:

but like I said, we need the skeleton:

Yeah, but the problem is that the previous maybe positions I found had too many zero vectors.

These ones look better - maybe the previous ones are the rotations?

mesh_viewer_lNDuWqAcpl.png

edit: yay, that seems to work (without rotations atm), save as cityman1.smd file:

version 1
nodes
0 "jtroot"  -1
1 "jtbody"   0
2 "jtwaist"  1
3 "jtchest"  2
4 "jtrshoulder" 3
5 "jtrarm" 4
6 "jtrelbow" 5
7 "jtrwrist" 6
8 "jtrpalm"  7
9 "jtlshoulder" 3
10 "jtlarm" 9
11 "jtlelbow" 10
12 "jtlwrist" 11
13 "jtlpalm"  12
14 "jtneck"   3
15 "jtmouth"  14
16 "jtlip"    15
17 "jtlleg"   1
18 "jtlknee"  17
19 "jtlankle" 18
20 "jtltoe"   19
21 "jtrleg"   1
22 "jtrknee"  21
23 "jtrankle" 22
24 "jtrtoe"   23
end
skeleton
time 0
  0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
  1 0.000000 3.300000 0.000000 0.000000 -0.000000 0.000000
  2 0.000000 0.402560 -0.178039 0.000000 -0.000000 0.000000
  3 0.000000 0.580854 0.078039 0.000000 -0.000000 0.000000
  4 -0.400000 0.521687 0.100000 0.000000 -0.000000 0.000000
  5 -0.354819 -0.119668 0.000002 0.000000 -0.000000 0.000000
  6 -0.059615 -0.945793 0.041228 0.000000 -0.000000 0.000000
  7 0.000000 -0.731849 -0.031247 0.000000 -0.000000 0.000000
  8 -0.040038 -0.391559 -0.009981 0.000000 -0.000000 0.000000
  9 0.400000 0.521687 0.100000 0.000000 -0.000000 0.000000
  10 0.354819 -0.119668 -0.000000 0.000000 -0.000000 0.000000
  11 0.059615 -0.945796 0.041228 0.000000 -0.000000 0.000000
  12 0.000000 -0.731846 -0.031247 0.000000 -0.000000 0.000000
  13 0.044455 -0.391561 -0.009981 0.000000 -0.000000 0.000000
  14 0.000000 1.055681 0.036543 0.000000 -0.000000 0.000000
  15 0.000000 0.060915 -0.159504 0.000000 -0.000000 0.000000
  16 0.000000 -0.004216 -0.124180 0.000000 -0.000000 0.000000
  17 0.300000 -0.398914 -0.076741 0.000000 -0.000000 0.000000
  18 0.000000 -1.214391 -0.019746 0.000000 -0.000000 0.000000
  19 -0.000000 -1.312631 0.048992 0.000000 -0.000000 0.000000
  20 -0.000000 -0.374064 -0.777951 0.000000 -0.000000 0.000000
  21 -0.300000 -0.398914 -0.076741 0.000000 -0.000000 0.000000
  22 0.000000 -1.214391 -0.019746 0.000000 -0.000000 0.000000
  23 0.000000 -1.312631 0.048992 0.000000 -0.000000 0.000000
  24 0.000000 -0.374064 -0.777951 0.000000 -0.000000 0.000000
end

 

blender-app_cityman1.png

Edited by shak-otay
  • Like 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...