mesh hard code limit Entrenchment 1.03?

I apologize in advance, but what is the hard-code limit to the number of meshes you can have for Entrenchment 1.03.  I am using the Vanilla races and I only tried to add 2 new races.  10 new Capitals and 10 new frigates, and several new planetary structures. It works for about 45 minutes.  Then I get an error to effect that it cannot find mesh for debris, supportship, etc...... then the irritable minidump.   What gives?  I have been looking on this site for an hour.  The search option is ridiculous. PLease, I need help!!!!!!!!!  Thank you in advance!

11,896 views 15 replies
Reply #2 Top

First of all why are you playing on version 1.03? We are at version 1.041

Yes there is a hardcode limit for meshes. 1000 i belive it is. Entrenchment upped some hardcode limits, but not enough apparently. Judging from some of the other modders posts. We are trying to get the devs to up the hardcode limits for Diplomacy.

Your mistake is having 10 capitals. I am assuming those 10 capitals are in a single faction. The hard code limit is 9 per faction.

Also you need to make sure you triple check your entity, and string files. any miss-spelling, or miss-type will screw it up causing wierd things like icons and names not showing up to mini dumps. Also make sure the string numbers at the top match exactly how many strings are there, or else you will run into more trouble. It sounds more like you ether miss-typed something in an entity file, or you didnt include it, and its confusing the game.

Use Developer.exe (updated sins and entrenchment dev exe's come with the 1.041 update) Most of the time it will tell you what errors you have on startup and it leaves a log file. Its not perfect but its more helpfull than trial, and error.

Reply #3 Top

mesh hardcode limit- 400

texture hardcode limit- 1000.

Reply #4 Top

Thanks for the help!

I was modding 1.03.  Haven't updated yet.  Had to cut expenses.  Don't have internet connection.  Using library (has limited downloading capability). I added 5 Caps to each new race for a total of 10. Ouch....only 400.  I was using 1 of the mods relating to different planet sizes.  It used many new meshes.  They really need to increase the mesh limit.  400 is a joke, especially for the modding community.  That is where the great gameplay comes from!

 

Thanks again!

Reply #5 Top

Holy shit... 400 meshes only!? What the... the vanilla+entrenchment meshes ammount to 378! That leaves only 22 meshes, that's not even enough for a single new race! How are mods like 7DS which add some 11 new races doing it, unless its all just reskins which I don't think so. How come they're not getting minidumps all over the place?

*edit*

I just checked, Entrenchment and Vanilla texture folders have 990 texture files, which means all my mods should minidump since I definitely have more than 1000 unique textures going when they're activated. Are you sure these hardcode limits aren't for the amount of files that can be loaded into memory at one time? And Sins is probably, like every other application out there, not preloading everything and its grandmother into memory, so what are the chances you're going to need more than 400 meshes loaded into memory (the only scenario I can think of is if you had every single structure and ship onscreen, which is pretty much impossible to happen).

A clarification would be nice. And thumbs up for trying to get the devs to up the limits, that's always handy.

Reply #6 Top

Yea funny isnt it. Just like when i first tested my soveriegn model with about 30 phasers and it worked like a charm. Then i found out the hardcode limit is 10 points per weapon.

the models i am assuming is how many physical meshes are in game (in the mesh folder) no doubt more than 400 are on the map in a long large map game. Yes i do think sins load all of them into memory.

I dont know about sins not loading "everything" I think it does load all of its textures. I think blair or one of the devs said something to that effect during the betas. Otherwise why would the game need to use over 2 gigs of ram on max settings on a new map?

With SoA 2 which IS getting dumps now. I found out we were way WAY over the limits. We had just as many models, and textures in the mod folder as the vanilla game has. Funny that we didnt get crazy dump issues until 1.041. I didnt know about these hardcoded mesh, and textures until recently myself. I also agree it is RIDICULOUS. So now my mod is getting rebuilt from the ground up to mimic the sins file system exactly. for every ship, texture, entity added a vanilla ship, texture, entity is removed. AFAIK if it is not on the entity manefest it is not loaded, nor will its mesh, and texture load. That is the trick. You must REPLACE vanilla sins components. Not add more on to it. I think i found out what sins true limits, are and we pushed the game above and beyond its intended function.

7ds is one of the lucky mods. Yours is too. I am assuming they did just what i mentioned and replaced all psi tech, and advent assets. so they had room to add more factions.

Reply #7 Top

stress, from the sins limits thread, the weapons limits as I understand them are 4 banks of 20 points per weapon with 3 weapons or 240 weapon points total from reading blair fraser's posts in the thread

harpo

 

Reply #8 Top

Im not worried about the weapon limits now. What is alarming me now are the MESH, and Texture limits.

Reply #9 Top

Actually my mod is not so lucky - the main goal of the project always was to expand the Sins universe from the three races to a total of six, something which now looks impossible to do. The thing I'm worried most about is the mesh limit... I don't know what can be done with the textures taking up so much memory, but that at least can be dealt with by limiting their size and going creative with the UV mapping... provided of course they up the limit.

This really sucks. We've spent more than a year and a half working towards a certain vision for our mods, only to hit a brick wall which should have been made public when the game was published.

Reply #10 Top

Quoting Major, reply 6
7ds is one of the lucky mods. Yours is too. I am assuming they did just what i mentioned and replaced all psi tech, and advent assets. so they had room to add more factions.
End of Major's quote

In 7DS, Vanilla race are removed, visual upgrade for starbase are removed ( starbase use several mesh )... and yet, it is not enough... mesh limit is really a big problem...

Raise the limit and add a "loadondemand" like in some other file will help a lot... why load Vasari mesh/texture if you play a TEC against psi ?

Reply #11 Top

I find it strange that we all are just NOW finding out about these limits after spending almost 2 years into modding the game. When i was in the beta i inquired about any hardcode limits. Nothing was said about mesh, and texture limits. At least nothing specific that i recall. I figured there was a limit, but this LOW?

If a total conversion mod duplicates sins exactly in its file structure you only have enough slots (mesh, and texture) for only Three factions. Plus a pirate faction. Lets not go into the ridiculous amount of textures they used for the UI alone.

AFAIK if an entity is NOT in the manifest it will not load any of said entity's referenced files. Like meshes, textures, particles, etc. (I am awaiting confirmation on this). I am also awaiting an answer if sins loads "everything" including the mod folder stuff along with the vanilla game into memory. That would be insane if it did.

Ok here are some "workarounds". I am learning all this the hard way as i am rebuilding my mod, and awaiting answers about the manifest.

1) in order to stay under the hardcode limits, Vanilla sins components literally need to be Removed, and/or REPLACED. Just like we did it in Homeworld 1. I am rebuilding SoA 2 duplicating the sins naming conventions replacing "Psi" with "Fed", Tech with Klingon, and phase with Romulan. Overwriting all of the existing entitys in the manifest. Removing what is not being used. Nothing is added on. When i am done the mod should reference absolutely NOTHING that has to do with Tech, Psi, and Phase. Will do the same for the pirates too. The goal is to have NOTHING from the vanilla game load except for what is necessary to run sins itself. Complete, and total replacement. That will free up all of the original vanilla model, and texture slots to use for mod stuff. Except the planets, skybox's, asteroids, and other map items that are not going to be modded. This still may not be enough, because i planned on Five playable factions plus a pirate faction.

2) Be "cheap" with your particles. Dont make a new weapon effect for every single ship in your mod. If your mod faction has a theme like the federation uses phasers. You only need TWO particles to represent a phaser beam. The Corona, or Flair, and the Hit effect. There is no "beam" particle. In your ships entity you represent the beam with 2 textures the _Core, and the Glow. So that is 4 textures for one beam weapon. You can adjust the beam width in the ships entity file. So the ships can have a slightly different beam. But if your faction uses all beam weapons you only need the 2 particles. It frees up a bunch of textures by standardizing.

3) if possible have multiple units use the same hull (model) I know that sounds, bad and i cringe at the thought myself.

4) have multiple models share the same texture sheet. Someone else posted this idea, and it has alot of merit. A single 2048x2048 sheet can hold FOUR 1024x1024 textures. If you combine the four textures along with the data, and normal maps you free up TWELVE texture slots. Thats no joke. Same can be done with a 1024 texture with four 512 sheets. It will be a pain in the ass re-uv mapping the models, but this idea seems to have some weight to it.

There is more you can do but i am too tired to think right now...

Reply #12 Top

The major issue with no.1 is, of course, that it works great for TC mods, but expansion mods like mine have no such luxury. I could replace the three vanilla races with three of my own, which would add about another year to finish the development of a release-ready version, since I obviously couldn't do it with episodic content as I plan. But even then I would just add three brand new IP races to replace the old ones... yay. I don't have the luxury of an established IP to draw upon - expanding the Sins universe was the whole idea with the Last Stand.

I don't know. I don't even want to think I spent all that time and effort just to have to completely scrap the whole idea and replace it with a semi-solution. Man, I can deal with texture limits. I can deal with practically any limit but the one which prevents me from adding new content to the frikkin' game!

Ironclad, please fix this. I doubt upping the mesh limit will destabilize the game that much.

Reply #13 Top

I agree. There are many tricks you can do to keep your texture count low. Sharing is the best way. Many other RTS's do that, and they have about 3 times as many meshes in the game as sins. Total Annihilation, and Supreme Commander are perfect examples. They get away with all the meshes by texture sharing.

Regardless i am in whole hearted agreement to up the mesh limit.

Reply #14 Top

One of the big problem is the .mesh format itself...

 

Let say that you have a model where a race have color A and a other race have color B... since the reference to the texture are included in the .mesh , it mean two files...

Was better if the entity call a .mesh who is the model only ( with hardpoint ) and call a other type of file with the texture reference... it will allow to spare on the .mesh count...

By example, if you have 20 planet who have the same size and shape... you need 20 entity file, 20 mesh and the needed texture... with texture reference being separated from the .mesh, you will have 20 entity file, 1 mesh, 20 texture reference ( very little file, in some way like a .mtl ) and the needed texture...

Sure that a change like this is maybe to much for the actual sins... but if Stardock/Ironclad begin work on a Sins II, it a easy way to spare memory and allow more .mesh ...

Same thing with Starbase... why the mesh for upgrade are a full mesh and not only the modified part by the upgrade ? Why starbase are non square texture ? Mipmap on square texture use 30% more memory but on non square texture, it use 400% more memory !!!

 

Reply #15 Top

The biggest "waste" i see in sins are the upgrades, and the UI. The starbases call for 5 separate meshes. 1 for each upgrade. Thats 15 upgrade meshes combining all 3 factions. They could have used just one mesh, and enabled hardpoints as the upgrades progressed. Same with the defensive structures. 2 extra upgrade meshes. one for the platforms one for the hangar defense. 6 meshes that really dont need to be there.

Even if the upgrade were a greeble it still counts as a mesh.

You make a good point about the planets. A planet is just a sphere. One sphere could have been used with a modifier that called upon whatever texture it needed to represent a particular planet type.

Homeworld shares textures left and right and it never had an issue with team color. Then again all of the textures that are shared are in the same faction. For example the 4 corvettes use the same base texture for its body, and only a few extra little textures to cover the differences. All can be combined into one sheet, and models re-mapped to use that one sheet. Same idea that relic had, but using sins system. if several ships are identical (like the bodys) then one sheet can be used to map multiple models. Saves textures and it saves memory. Sure the texture may be bigger but it is the only one needed to load.

The UI is the biggest waste IMO. Why do they need FOUR 2048x2048 textures just for the buttons when one texture would have been just fine. why do they need 3 backdrop textures? look at the UI textures and count em all up, You will be shocked.

I would have combined the UI into one or 2 simple textures if i knew the grid system the used or had a template.