Giter Club home page Giter Club logo

Comments (33)

iAmThatMichael avatar iAmThatMichael commented on July 21, 2024

But why

how tf are you getting all these issues when in reality you're not even supposed to be getting them or even be near

from linkermod.

Nukem9 avatar Nukem9 commented on July 21, 2024

If we ever do decide to increase limits (and if possible), it will be similar to the threading remap code I wrote.

Which executable needs to have this raised? What is the error message(s)? Can't do anything without some more info.

from linkermod.

 avatar commented on July 21, 2024

The full output is "max curvenn/terrain collision vertices (65536) exceeded" it occurs in cod2map, this is the waw limit that was coded in cod2map. @Nukem9 I can private message you some info and test data for you to use if needed. @DidUknowiPwn we are aiming above and beyond anything you've seen before in a custom map :P, Again not sure if this is possible or not. Another reason why I report them is that its likely that these values are greater with the original tools that treyarch uses, these limits are there because they haven't specifically been overridden by the mod's. If the game can load a map with more collision verts then the compilation tools should too.

from linkermod.

Arefu avatar Arefu commented on July 21, 2024

It SHOULD be as simple as changing a short to an int, but the ramifications from doing that might be a bit iffy.

from linkermod.

Nukem9 avatar Nukem9 commented on July 21, 2024
    cod2map
    dword_1697FA40 = (int)operator new(13631488u);
    dword_1697FA48 = 65536;

13631488 bytes is 65536 elements, each being 208 bytes. It might be as simple as editing these two values. I don't know how BO's engine deals with the limit.

from linkermod.

 avatar commented on July 21, 2024

I'll whip up a quick patch for this and give it a go @Nukem9

from linkermod.

 avatar commented on July 21, 2024

@Nukem9 Edit: I patched both to double their values, now I get an exception here:

0x004B3771

http://prntscr.com/be4d6u

from linkermod.

Nukem9 avatar Nukem9 commented on July 21, 2024

Crashes on qh_maxabsval returning null. I think you might have found a bug in some very old library, but I'll need the map source files to reproduce it (or somehow see your computer). I'll try fixing the bug first and let you test it yourself.

from linkermod.

 avatar commented on July 21, 2024

Sounds good, if you have skype I can always share my screen, (Would rather not use teamviewer right now lol) But whatever approach you want to take works fine.

from linkermod.

Nukem9 avatar Nukem9 commented on July 21, 2024

cb731bf
Untested.

from linkermod.

 avatar commented on July 21, 2024

We're getting there I think @Nukem9, new crash http://prntscr.com/beyei1
http://prntscr.com/beyfnk

from linkermod.

 avatar commented on July 21, 2024

These infinite numbers may be the problem http://prntscr.com/beyh84

Might be that you didn't increase dword_1697FA40 too? Not sure though.

Notes this value is 13631488, but it is represented as 0x2000 x 0x68 (131072 x 104)

from linkermod.

Nukem9 avatar Nukem9 commented on July 21, 2024

What's the value of dim in that variable box? Also make sure you compile the dll in debug mode, release mode values will not be completely accurate.

from linkermod.

Nukem9 avatar Nukem9 commented on July 21, 2024

6321078

I can't debug it so I'm just guessing random fixes at this point.

from linkermod.

 avatar commented on July 21, 2024

Dim is 3, don't worry, I always run debug :) and if you want to skype you can, also sucks because it takes 3 minutes to get to the error, normal 0x482dc7e8 {-1.#IND000000000000 When the deref happens

from linkermod.

 avatar commented on July 21, 2024

With your hack fix we now get this:
While executing: | qhull QJ Pp
Options selected for Qhull 2002.1 2002/8/20:
Pprecision-ignore _run 1 QJoggle 2.6e-010 _joggle-seed 16807
_max-width 1.1 Error-roundoff 8.7e-015 Visible-distance 8.7e-015
U-coplanar-distance 8.7e-015 Width-outside 1.7e-014 _wide-facet 5.2e-014
qhull internal error (qh_maxsimplex): not enough points available

While executing: | qhull QJ Pp
Options selected for Qhull 2002.1 2002/8/20:
Pprecision-ignore _run 1 QJoggle 3.3e-010 _joggle-seed 16807
_max-width 1.7 Error-roundoff 1.1e-014 Visible-distance 1.1e-014
U-coplanar-distance 1.1e-014 Width-outside 2.2e-014 _wide-facet 6.5e-014
qhull internal error (qh_maxsimplex): not enough points available

This happens a bunch of times
Then
building curve/terrain collision...
_max-width 0.43 Error-roundoff 1e-014 Visible-distance 1e-014
MAX_MAP_COLLISIONVERTS (65536) exceeded

Maybe another variable needs to change? Also that first output is displayed a lot again.

from linkermod.

 avatar commented on July 21, 2024

I can also confirm that void qh_normalize2(coordT *normal, int dim, boolT toporient, realT *minnorm, boolT *ismin) is being passed this -1.#IND normal, as the var is set that way.

from linkermod.

Nukem9 avatar Nukem9 commented on July 21, 2024

The qh_normalize2/qh_maxsimplex is now less of a priority. Unless if those NAN/INF vector values screw up something in your map, it will not matter.

MAX_MAP_COLLISIONVERTS is hardcoded to 65536 in cod2map's BSP lump writer:

    if ( 12 * dword_116F0C78 )
    {
      if ( (unsigned int)v65 > 786432 )
      {
        printf("Adding Lump %s wont fit %d into %d bytes\n", off_51D35C[0], 12 * dword_116F0C78, 786432);
        exit(0);
      }

LUMP_COLLISIONVERTS = 0x1F

WAW's cod2map does have a limit, but I don't know if BO1's engine limit is higher than 65536....If BO1 also has the 65536 limit, there's literally nothing I can do. Will need to check tomorrow.

from linkermod.

 avatar commented on July 21, 2024

Sounds good to me, I'll be awaiting the answer

from linkermod.

Nukem9 avatar Nukem9 commented on July 21, 2024

0e29ea7

Again, untested.

from linkermod.

 avatar commented on July 21, 2024

@Nukem9 A bunch of the qhull errors still but it wrote the d3dbsp! checking the rest of the compile chain now then running! :)

Edit: cod2rad problem: LoadBspFile: buffer for lump 31 is too small (786432 < 891096)

from linkermod.

 avatar commented on July 21, 2024

Want me to try that commit or are you still adding on to it?

from linkermod.

Nukem9 avatar Nukem9 commented on July 21, 2024

Try it

from linkermod.

 avatar commented on July 21, 2024

Quantizing light grid colors...
Encoding light grid...

EXCEPTION DETECTED:
EIP: 0x00442484
EX0: 0x00000001
EX1: 0x00000019

Just incase: http://prntscr.com/bfahrj

from linkermod.

 avatar commented on July 21, 2024

@Nukem9 Two things, paths don't seem to work, just hangs and window stays open, tries to capture pointer. If I skip paths, linker complains


UNRECOVERABLE ERROR:
CMod_LoadLeafs: firstCollAabbIndex exceeded

Linker will now terminate.


Linker summary:

There was 1 warning and 7 errors.

Warnings:
missing stringTable sp/configstrings/configstrings_pc_zombie_modme_zom.csv

Errors:

Com_LoadBsp(maps/zombie_modme.d3dbsp)
Size: 97813172
CRC32: 64253249
Com_LoadBsp: End

(!) UNRECOVERABLE ERROR: CMod_LoadLeafs: firstCollAabbIndex exceeded
Arguments passed to linker:
-nopause -language english -moddir zombie_modme zombie_modme

from linkermod.

Nukem9 avatar Nukem9 commented on July 21, 2024

I'll need the source files for the map then, or a map source which reproduces the error. It's not possible to know what is going wrong without checking each stage of compilation. Same with qhull.

I know that you can share screens on skype or whatever, but this might take hours of debugging now. (Files can also be sent somewhere more private if needed)

from linkermod.

 avatar commented on July 21, 2024

I'll send you the source, just would rather do it privately :) I'm all for helping, we just don't want the map out / leaked / revealed

from linkermod.

 avatar commented on July 21, 2024

Edit: I'll remove all models and make sure error is still there, then I just need some way to message you.

from linkermod.

Nukem9 avatar Nukem9 commented on July 21, 2024

Just email me an upload link (justbeamit or something): --removed--. You can remove any files, just as long as the error still happens.

from linkermod.

 avatar commented on July 21, 2024

Sent.

from linkermod.

 avatar commented on July 21, 2024

Note you'll need to find + replace some tex with caulk, and there aren't as many qhull errors without the xmodels. Errors are still there though, ignore the is floating output, that was work around until se can rebuild the data we need to properly render the blends.

from linkermod.

Nukem9 avatar Nukem9 commented on July 21, 2024

This will have to wait a little while......(!) UNRECOVERABLE ERROR: CMod_LoadLeafs: firstCollAabbIndex exceeded is from this count (BSP Info): 28.74% 75329 collisionaabbs 2410528 B 2354 KB 3.4%
While MAX_MAP_COLLISIONAABBS is 262144, the game developers never updated all structures holding the indexes:

struct cLeaf_s
{
  unsigned __int16 firstCollAabbIndex;
  unsigned __int16 collAabbCount;
  int brushContents;
  int terrainContents;
  float mins[3];
  float maxs[3];
  int leafBrushNode;
  __int16 cluster;
};

firstCollAabbIndex effectively limits MAX_MAP_COLLISIONAABBS and your map to 65535 collisionaabbs. I can forcefully remove the error message, but random parts of the collision start breaking. AFAIK you can reduce this number by deleting some brushes/brush models/nodes or 'optimizing' them.


"max curvenn/terrain collision vertices (65536) exceeded" and "qhull internal error (qh_maxsimplex): not enough points available" are not related to this. I believe BO1's MP and SP exe's can be patched to use >65k aabbs, however I don't feel like updating all instances of cLeaf_s right about now.

You can still have any vert count above 65k: 104.26% 68326 collisionverts 819912 B 801 KB 1.2% and your map will be fine.


QHull involves a denormalized double value (a value which is too small to represent) and isn't much of a problem. It can be fixed sometime later.

from linkermod.

 avatar commented on July 21, 2024

So geometry can be increased but collision data can't? Right now most of the geometry in the map is non-colliding as one of our mappers likes to do the collision himself. If I was to say work on this issue, you're saying that both game_mod and linker_pc need to patch the cLeaf_s struct? Obviously the real pain is going to be paths from the old WaW engine, though that could just be a problem with it's BSP reader not allocating for the 31st lump?

from linkermod.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.