Morgen_Muffel Posted June 23 Posted June 23 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. 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. 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. 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. 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. 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. 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
Engineers shak-otay Posted June 24 Engineers Posted June 24 Checked cityman1 for vif tags. Result is not convincing so far:
Morgen_Muffel Posted June 26 Author Posted June 26 On 6/24/2025 at 2:56 AM, shak-otay said: Checked cityman1 for vif tags. Result is not convincing so far: 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 shak-otay Posted June 26 Engineers Posted June 26 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. 1
Morgen_Muffel Posted June 26 Author Posted June 26 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 roocker666 Posted Wednesday at 08:24 AM Engineers Posted Wednesday at 08:24 AM (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: Edited Wednesday at 08:31 AM by roocker666 1 1
Engineers shak-otay Posted Wednesday at 12:01 PM Engineers Posted Wednesday at 12:01 PM (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: Edited Wednesday at 03:35 PM by shak-otay 1 1
Morgen_Muffel Posted Wednesday at 04:40 PM Author Posted Wednesday at 04:40 PM (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: Even in this jubled state you can see all of the spikes protruding out of the model. 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. 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 Wednesday at 04:44 PM by Morgen_Muffel Only addressed one user 1
Engineers roocker666 Posted Wednesday at 07:32 PM Engineers Posted Wednesday at 07:32 PM (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: Edited Wednesday at 08:00 PM by roocker666 1 1
Engineers roocker666 Posted Wednesday at 07:55 PM Engineers Posted Wednesday at 07:55 PM Here is the script if you want to test it. You need to press F4 or the red icon on bottom("Toggle face cull"). fmt_fear_effect_inferno_ps2_rmd.py 2
Engineers shak-otay Posted Wednesday at 08:03 PM Engineers Posted Wednesday at 08:03 PM (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? 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 Edited Wednesday at 08:23 PM by shak-otay 1
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now