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.

[PS1] Metal Gear Solid .kmd

Featured Replies

  • Localization

Does anyone have an idea to start a new proper alternative plugin that imports Metal Gear Solid KMDs? I tried Jayveer's KMD plugin for Noesis but I get a lot of triangles split into many groups and has broken face windings.

 

Here is the file format specification for KMDs: https://github.com/FoxdieTeam/mgs_reversing/blob/master/source/libdg/libdg.h

bandicam 2026-04-29 19-59-36-371.jpg

metalgearsolid_ps1_kmd.rar

Edited by mrmaller1905

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

Did you check whether the textures fit?

Yes I checked that the textures properly apply to the model.

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

Then where's the problem? (Besides from what you wrote already.)

As I said, the character model I exported to OBJ using Jayveer's Noesis plugin has lot of triangles are split into many groups (see the image I've attached above).

Edited by mrmaller1905

  • Supporter

Thanks! this will not be easy to solve. From this in the plugin source code:

Quote

for (int i = 0; i < header->numMesh; i++) {
        bindMesh(&mesh, i, &noeBones, fileBuffer, rapi, texList, matList);
    }

I don't understand how the triangles? are built.

From kmd.h; plugin seems to use quads:

Quote

struct KmdFace {
    uint8_t fa;
    uint8_t fb;
    uint8_t fc;
    uint8_t fd;
};

Maybe there's a problem with quad to tri conversion?

(Btw, if we had this perfectly textured char (see picture here) for comparison it could be very helpful.)

Anyways I started to join 4 sub meshes 6, 8, 10 and 13 (which share the same texture 005196) where the uvs look correct.

blender_HQHI99M60b.thumb.png.589d666ebaedcf6f3fa16be8f23260fa.png

In the next step I'll check problematic uvs but without knowing how they have been built it would require a basic analysis.

blender_LorjARk7qZ.png.18602adc63e431092f6cb6c23456de36.png

Interestingly right and left shoulder uvs are different:

blender_QHna7cIy5q.thumb.png.c6579bc735009d1ecec42edd57363b60.png

Edited by shak-otay

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.