Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Clumped characters from Project IGI *.MEF

Featured Replies

Solved by mrmaller1905

  • Supporter

How far did we get on Xentax with these .mef? I feel we were done.:D

You could use the output of Durik's script for 015_01_1.mef

to find out where some "positioning" matrices are to be found,

maybe in section D3DR or TAMC (what do these signatures mean? Direct3D rotation, etc?)

btw, "chank" might mean "chunk" (but not sure)

Detected file type: IGI

	(chank:HSEM, offset: 20, size: 156, next: 172)

	(chank:ATTA, offset: 192, size: 0, next: 16)

	(chank:XTVM, offset: 208, size: 0, next: 16)

	(chank:TROP, offset: 224, size: 0, next: 16)

	(chank:XVTP, offset: 240, size: 0, next: 16)

	(chank:CFTP, offset: 256, size: 0, next: 16)

	(chank:D3DR, offset: 272, size: 56, next: 72)

	(chank:DNER, offset: 344, size: 5768, next: 5784)

	(chank:XTRV, offset: 6128, size: 47160, next: 47176)

	(chank:HSMC, offset: 53304, size: 64, next: 80)

	(chank:XTVC, offset: 53384, size: 7504, next: 7520)

	(chank:ECFC, offset: 60904, size: 7392, next: 7408)

	(chank:TAMC, offset: 68312, size: 96, next: 112)

	(chank:HPSC, offset: 68424, size: 44328, next: 44344)

	(chank:XTVC, offset: 112768, size: 0, next: 16)

	(chank:ECFC, offset: 112784, size: 0, next: 16)

	(chank:TAMC, offset: 112800, size: 0, next: 16)

	(chank:HPSC, offset: 112816, size: 0, next: 0)[/code]

Edited by shak-otay

  • 2 weeks later...
  • 10 months later...
  • Author
  • Localization

Can someone help me fix this clumped character by making a new Blender or Noesis plugin for IGI 1 or other tools?

Edited by mrmaller1905

  • mrmaller1905 changed the title to Clumped characters from Project IGI *.MEF
  • 10 months later...
  • 2 months later...
  • Supporter

Did you try out one of the commands?

I get ModuleNotFoundError: No module named 'lxml', so using pipinstall might be required.

  • 2 weeks later...
  • Supporter

I think you can replace it with if/else function

Looks like these values are responsible for mesh position.

image.thumb.png.6997f8ab6a4fe2ec2d01547329c68fa1.png

Edited by h3x3r

  • Supporter

Try this one. But i think that local variable will be problem here.

local string Sign;
struct
{
    ILFF_HEADER header;
    CH formatid[4];  // OCEM

    while(FTell() < FileSize())
    {
        Sign=ReadString(FTell(),4);
        
        if (Sign ==  "HSEM")
        {
            HSEM hsem;
        }
        else if (Sign ==  "ATTA")
        {
            ATTA atta;
        }
        else if (Sign ==  "XTVM")
        {
            XTVM xtvm;
        }
        else if (Sign ==  "TROP")
        {
            TROP trop;
        }
        else if (Sign ==  "XVTP")
        {
            XVTP xvtp;
        }
        else if (Sign ==  "CFTP")
        {
            CFTP cftp;
        }
        else if (Sign ==  "D3DR")
        {
            D3DR d3dr;
        }
        else if (Sign ==  "DNER")
        {
            DNER dner;
        }
        else if (Sign ==  "XTRV")
        {
            XTRV xtrv;
        }
        else if (Sign ==  "PMTL")
        {
            PMTL pmtl;
        }
        else if (Sign ==  "HSMC")
        {
            HSMC hsmc;
        }
        else if (Sign ==  "XTVC")
        {
            XTVC xtvc;
        }
        else if (Sign ==  "ECFC")
        {
            ECFC ecfc;
        }
        else if (Sign ==  "TAMC")
        {
            TAMC tamc;
        }
        else if (Sign ==  "HPSC")
        {
            HPSC hpsc;
        }
        else if (Sign ==  "TXAN")
        {
            TXAN txan;
        }
        else
        {
            Assert(false, "Parsing error: unhandled block type");
        }
    }
} igi1_mef;

or change function on ReadUInt(FTell()) but you must also change exception value to uint. > if (Sign == 1296388936)  // HSEM sign

Edited by h3x3r

  • Supporter

Thanks. That problem solved.

local UINT32 Sign;
local UINT32 x;

struct
{
    ILFF_HEADER header;
    CH formatid[4];  // OCEM

    while(FTell() < FileSize())
    {
        x = FTell();
        FSeek(x);
        Sign=ReadUInt();
        
        if (Sign ==  1296388936) //HSEM
        {
            HSEM hsem;
        }
        else
        {
            Assert(false, "Parsing error: unhandled block type");
        }
    }

But the next error to appear:  "could not resolve field header". (I had to insert the include .bt files into the main bt). 

error line:     if(header.chunksize > 0)

I think, I'll need to wait for an update of pfp master.

  • 1 month later...
  • Supporter
On 4/12/2026 at 4:49 PM, mrmaller1905 said:

 and does anyone have an idea to start a new terrain editor that creates custom terrains?

Well, I know, you're constantly switching between hundreds of requests so I don't know how deep your interest is in this one.:classic_unsure:

I compiled the project and seems it's a terrain viewer:

IGIterrainproject.thumb.png.457acd56f0f90dea1fd396061367b965.png

If anyone is competent to develop an IGI terrain editor then the author of this project should be. Why not ask him?

There's also another project that could come in handy (but it's not a terrain editor).

edit: I read a review that said/confirmed the environment being "bleak and boring" so dunno whether it's worth bothering. (If you don't suffer from nostalgia it would make more sense, imho, to care for games with modding tools, such as "Beyond Enemy Lines".)

Edited by shak-otay

  • 1 month later...
  • Supporter

I didn't expect Jones to be still working on this. The feature "Level ToolKit" of the igi-toolKit would be the first thing to use (if I had the game).

  • Author
  • Localization
8 hours ago, shak-otay said:

I didn't expect Jones to be still working on this. The feature "Level ToolKit" of the igi-toolKit would be the first thing to use (if I had the game).

Ok analyze the source code for this repo and see what the IGI 1 3D level editor can do.

https://github.com/jones-hm/project-igi-editor

Edited by mrmaller1905

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.