Comments (33)
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.
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.
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.
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.
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.
I'll whip up a quick patch for this and give it a go @Nukem9
from linkermod.
@Nukem9 Edit: I patched both to double their values, now I get an exception here:
0x004B3771
from linkermod.
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.
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.
cb731bf
Untested.
from linkermod.
We're getting there I think @Nukem9, new crash http://prntscr.com/beyei1
http://prntscr.com/beyfnk
from linkermod.
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.
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.
I can't debug it so I'm just guessing random fixes at this point.
from linkermod.
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.
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.
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.
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.
Sounds good to me, I'll be awaiting the answer
from linkermod.
Again, untested.
from linkermod.
@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.
Want me to try that commit or are you still adding on to it?
from linkermod.
Try it
from linkermod.
Quantizing light grid colors...
Encoding light grid...
EXCEPTION DETECTED:
EIP: 0x00442484
EX0: 0x00000001
EX1: 0x00000019
Just incase: http://prntscr.com/bfahrj
from linkermod.
@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.
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.
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.
Edit: I'll remove all models and make sure error is still there, then I just need some way to message you.
from linkermod.
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.
Sent.
from linkermod.
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.
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.
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)
- Crash when i start any mod HOT 7
- Can't connect to zombies HOT 1
- Error starting batchfile HOT 3
- Can't start game_mod HOT 2
- [Game_Mod v1.3.2] missing files from [LinkerMod v1.0.0] - Update Documentation / Instructions for Game_Mod Setup
- Infected download HOT 2
- "Mod" tab not showing up
- Black screen and frozen when loading mod HOT 25
- Game doesn't want to load after selecting mod, exclusively in fullscreen mode HOT 5
- Steam must be running HOT 4
- Common Zombie patch problem
- "failed to create '.. /BlackOps.exe' process HOT 1
- ADS Blur and Missing Gun Sounds on Linux Cracked EXE
- Gamemod campaign issue
- issue with custom maps not showing up
- Only shows me ERROR Code HOT 2
- cracked bo1 does not like game mod HOT 1
- issue with BO_mods not starting HOT 1
- "Steam needs to be running"? HOT 2
- Assertion Opcode 0xE8 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linkermod.