dhewm3 icon indicating copy to clipboard operation
dhewm3 copied to clipboard

Hi-poly upper limit?

Open EoceneMiacid opened this issue 2 years ago • 3 comments

Hi,

I'm trying to import some models ripped from other games.

https://discord.com/channels/488393111014342656/631752549321539594/1144893890395111484

However dhewm3 doesn't like this:

dhewm3: /drive/src/dhewm3_vk_rt/neo/renderer/Model_md5.cpp:238: void idMD5Mesh::ParseMesh(idLexer&, int, const idJointMat*): Assertion `(texCoords.Num() * sizeof( idDrawVert ))<ID_MAX_ALLOCA_SIZE' failed.


Looks like dhewm3 1.5.3pre crashed with signal SIGABRT (6) - sorry!

Backtrace:
  ./dhewm3(+0x21a4ee) [0x556705def4ee]
  /usr/lib/libc.so.6(+0x3e710) [0x7f55db03e710]
  /usr/lib/libc.so.6(+0x8e83c) [0x7f55db08e83c]
  /usr/lib/libc.so.6(raise+0x18) [0x7f55db03e668]
  /usr/lib/libc.so.6(abort+0xd7) [0x7f55db0264b8]
  /usr/lib/libc.so.6(+0x263dc) [0x7f55db0263dc]
  /usr/lib/libc.so.6(+0x36d26) [0x7f55db036d26]
  ./dhewm3(+0x7d5bc) [0x556705c525bc]
  ./dhewm3(+0x7dd8b) [0x556705c52d8b]
  ./dhewm3(+0x66240) [0x556705c3b240]
  /data/games/pc/software/doom3/d3xp.so(+0x1aee6d) [0x7f559e9aee6d]
  ./dhewm3(+0xf7ac9) [0x556705cccac9]
  ./dhewm3(+0xfa008) [0x556705ccf008]
  /data/games/pc/software/doom3/d3xp.so(+0xba2ab) [0x7f559e8ba2ab]
  ./dhewm3(+0xf082c) [0x556705cc582c]
  ./dhewm3(+0xf7ac9) [0x556705cccac9]
  ./dhewm3(+0xfa008) [0x556705ccf008]
  /data/games/pc/software/doom3/d3xp.so(+0xb1de2) [0x7f559e8b1de2]
  /data/games/pc/software/doom3/d3xp.so(+0xbc03e) [0x7f559e8bc03e]
  /data/games/pc/software/doom3/d3xp.so(+0xbc2f5) [0x7f559e8bc2f5]
  /data/games/pc/software/doom3/d3xp.so(+0xbc3bd) [0x7f559e8bc3bd]
  ./dhewm3(+0x129bdd) [0x556705cfebdd]
  ./dhewm3(+0x129ef6) [0x556705cfeef6]
  ./dhewm3(+0x12a5a8) [0x556705cff5a8]
  ./dhewm3(+0xd0f69) [0x556705ca5f69]
  ./dhewm3(+0x105ab5) [0x556705cdaab5]
  ./dhewm3(+0xd5d28) [0x556705caad28]
  ./dhewm3(+0x317a5) [0x556705c067a5]
  /usr/lib/libc.so.6(+0x27cd0) [0x7f55db027cd0]
  /usr/lib/libc.so.6(__libc_start_main+0x8a) [0x7f55db027d8a]
  ./dhewm3(+0x31da5) [0x556705c06da5]

(Sorry it's not overly useful, build with libbacktrace support to get function names)

These models are much more detailed than doom3 was initially meant to handle. Is this fixable or should I forget about this altogether?

EoceneMiacid avatar Aug 26 '23 07:08 EoceneMiacid

Found a way to make the model work correctly by splitting the mesh up by materials, so I'm not sure this bug report should remain open.

EoceneMiacid avatar Aug 28 '23 08:08 EoceneMiacid

There's an experimental branch at https://github.com/DanielGibson/dhewm3/tree/scoped-alloc that should fix these issues, at least for the crashes I could reproduce.

Here are Win32 binaries of that branch: dhewm3-1.5.3pre-scopedalloc.zip

Would be great if you (or anyone) could test that branch with your high-poly models, and in case of crashes provide them here so I can reproduce them (please in a way where I can just extract your data and do testModel whatever => include the model and any required defs, materials and textures)

DanielGibson avatar Nov 13 '23 19:11 DanielGibson

Have you tested that yet?

DanielGibson avatar Jan 06 '24 01:01 DanielGibson