Bugs!!!

Status
Not open for further replies.
The shaman unit I included from FFH causes a CTD also. I didn't have the time to look at that yet though. I think I will see first if I can fix and ask you if I can't figure that out. Else I can't think of anything right now.:)
No not true. A Unicorn attacking an archer was reported to causes performance lags. See the last report El Loco Mono posted in the playtestfeedback thread if you would like to go for that. But it's not yet causing that much trouble but who knows what comes of that.
 
Ploeperpengel said:
The shaman unit I included from FFH causes a CTD also. I didn't have the time to look at that yet though. I think I will see first if I can fix and ask you if I can't figure that out. Else I can't think of anything right now.:)
No not true. A Unicorn attacking an archer was reported to causes performance lags. See the last report El Loco Mono posted in the playtestfeedback thread if you would like to go for that. But it's not yet causing that much trouble but who knows what comes of that.

Actually, I tried both of those and couldn't replicate either problem. I was only able to replicate the Orc attack.
 
Oh, I nearly forgot about this one:

in version 9 the Orcs Temple and the Chaos Temple don´t show up in the pedia (same thing we had with some units before).

I don´t know if this is maybe fixed already with the patch.
 
Goblinarchers cause a ctd attacking warriors as well.
Edit: However this time the wavesizes were 10(both), I noticed the groupsize was 9 only and changed that to 10 as well however that didn't fix it. The goblins don't use their rangedattack at all btw.
Any clues why this only happens seemingly with models that use DoW meshes?
 
Ok bad news it also happened to Skeletonswordsmen attacking Empire swordsman now(Skeleton str. must be reduced btw-Duke if you read this please lower their str to 7)
We MUST find the reason for this! Or we'll have to stick to standard meshgroups of 3 and that would really make me vomit!:mad:
 
Another guess I had was this maybe caused due to polycount but goblinarchers only have 972 polies which is pretty close to vanilla units.
Skeletonswordsman have a higher polycount but don't use DoW parts neither do Empireswordsman.I'm clueless:sad:
 
Ploeperpengel said:
Another guess I had was this maybe caused due to polycount but goblinarchers only have 972 polies which is pretty close to vanilla units.
Skeletonswordsman have a higher polycount but don't use DoW parts neither do Empireswordsman.I'm clueless:sad:

Have you tried lowering the max wave size like I suggested earlier on any of these?

Edit: BTW, this was my 666th post :devil:
 
Gerikes said:
Have you tried lowering the max wave size like I suggested earlier on any of these?
You suggested to make the ranged wavesize not zero earlier-well this fixed the ctd for orcs but gives weird animations(in vanilla meleeunits don't have rangedwaves other than 0 btw).
I tried the archers with other combies as well but didn't have much luck yet.
However the problem is even if we can handle some ctds with this we still get stupid effects.:(
It's a workaround if we only have some models but now this is going to be really annoying if we have to use weird settings for many more of this units I think we will be better of using only 3 models instead of 10- but that would mean WH without epicbattles feeling to it:(
This bug seriously must be tracked to its source otherwise we will have to drop the whole formation thingy- I don't want to pay this price if we have any hope left. I still hope this problem isn't caused by anything that's hardcoded-I pray for that!(allthough I'm not religious)
 
Getting down the numbers in formations makes me also feel sick like you. I just love those regiments SeZ put up too much!! We just have to keep them, the regiments are FAR too good to simply cut them because of crappy Firaxis programming (If that´s really a problem connected to some hard-coded stuff?).

I´ll reduce Skeleton swordsmen str. to 7, but I got some bad news: I deleted my "Eggs"-resources and can´t recall how to get them back to "stitch" to the ground (on hills for example).
 
Ploeperpengel said:
You suggested to make the ranged wavesize not zero earlier-well this fixed the ctd for orcs but gives weird animations(in vanilla meleeunits don't have rangedwaves other than 0 btw).

Ah, gotcha. Well, I cant' see anything going wrong in the code. There aren't any variables that are getting weird values, it just calls one function and suddenly there's an error that's spawning from somewhere in the exe.
 
If you´re going to do that, try to find out where you can send e-mails to if you want to know if you´re allowed to use Warlords gfx in a vanilla-only cIV mod!

tried to find the right place for 2 hours yesterday and just found out what crappy kind of site they got for the company, cIV and especially concerning the Warlords expansion itself (just have a lok at the news on the cIV site and you´ll nearly know when they last updated it!!).

I know - I´m in a p**sed off kind of mood again right now - but the last exams weren´t as good as expected (the worst part is that it´s not the profs or assistants fault but all my own :mad:)
 
This is the content of some pms I didn't want to rewrite everything but maybe someone can get a clue now:

Settings(changed ones):
Goblinarcher:
meshgroupsize 10
melee wave 10
rangedwave 10
irequired 10
Firststrike 0
Firststrikechance 1

Warrior:
meshgroupsize 10
melee wave 10
rangedwave 0
irequired 10
1 Firststrike

I just checked the Goblinarchers in Warlords with groupsize and wavesizes like I had them in the mod.
No problem!
Everything runs smooth and the performance is great so I guess it's either in vanilla and fixed with Warlords or it's in the mod. I will check the model in vanilla(replacing the archer) as well to make sure.
After the first time I checked I thought it could be the firststrikes maybe since we changed that a lot. Did they do something about Firststrikes in Warlords? I know the combat odds often displayed not correct in vanilla now they seem ok. I set the firststrikes like we have them in the mod and still everything is nice.
Well at least that gives me some hope now we can have the model with large numbers at least after Warlords conversion.

Vanilla:
1. I didn't receive a CTD
BUT
2. while in Warlords the goblinarchers used their ranged animation quite frequently without problem in vanilla they only fought melee AND a lack of performance is noticeable here.
It seems vanilla has a problem with large groups which doesn't apply to warlords(maybe because the Warlordfeature could required a new coding of files related to the meshgroupsize?). The case seems to be in the mod that everytime the ranged animation is called a ctd occurs while in vanilla it's just replaced by melee.:confused:

Gerikes analyzes;
Here's a brain dump of what I know on the issue:

Well, the error spawns from somewhere in the graphics system (which I call the ".exe", but really mean some part of the system that doesn't include the SDK), but that doesn't mean that the problem IS in the .exe. I really don't know enough about graphics modeling and all that to have any guesses as to how all that factors in, but here's what I do know:

Inside updateCombat (a function inside CvUnit.cpp that's run when combat between two units starts and finishes) there's a function that first calculates the results of the battle (how many hit points are left for each unit). Then, the results are sent to another function that actually creates what happens in the battle (who dies when, how many units go where, etc). This is a process that isn't exact: what actually happens is so complex that it actually just takes some educated guesses to how a battle could progress, then at the end checks if the way it sees the battle working out is "valid" (i.e. when the battle I've created is run, does each unit lose the same amount of hit points that the battle calculations made earlier said they would?). It might take a good 10 or more tries before it gets it right.

Then, once the actual battle moves have been figured out, a function is called that actually starts the action. Here is some of the code:

Code:

int iTurns = planBattle( kBattle); kBattle.fMissionTime = iTurns * gDLL->getSecsPerTurn(); setCombatTimer(iTurns); GC.getGameINLINE().incrementTurnTimer(getCombatTimer()); if (pPlot->isActiveVisible(false)) { ExecuteMove(0.0f); gDLL->getEntityIFace()->AddMission(kBattle); }


Now, I can run the code in debugging mode. That means that I can rather than have all the code executing in it's normal speed, have it execute one line of code and then stop, and not execute the next line of code until I say so. Thus, after the first bit of code executes, the value of iTurns is set to some number. The number of turns in a battle is normally somewhere in the range of 5-30, depending on how long the battle played out. If that number is 523492-bajillion, then I know that there could be a problem with the planBattle function (or possibly the value of kBattle).

I can even go further and look at the function planBattle, located elsewhere in the source file, and look at exactly how it's calculated and look at those data values, trying to see if there are any wrong-looking numbers there.

In all this, I haven't seen anything out of the ordinary.

Here's where I get to the part where I can't look at the problem anymore. The kBattle structure (a structure that holds the variables that tells what subentities to go where during a battle and when) is sent to the the Civ4 system (for lack of a better word: basically, the parts of the Civ4 system that we don't have code access to, which typically has been called the "exe", for, once again, a lack of better words). This happens at the "gDLL->getEntityIFace()->AddMission" line.

Now, when I go step by step through the code, typically this function will go, run, and then return so that I may go to the next piece of code. However, when I try to "step over" this function during times when the CTD happen, I instead get an error message that says it can't read memory location 0x000005, or something to that nature. This tells me that somewhere, either a pointer is referencing a memory location that has already been freed, or data is being loaded into a memory location that can't hold that data. This all happens before the code execution gets back to the SDK.

That's why I believe that the issue HAPPENS in the "exe". However, that doesn't mean that the problem is in the exe. It might be that there is some weird glitch in the planBattle function that passes bad data to the AddMission function, which will cause a crash (although I quickly looked at this case, I really don't have complete knowledge of what the planBattle function does, so I can't eliminate this as an option). It might be that the unit meshes are loaded into some data structure internally which is only set to hold so much data, and we're giving it too much. It could even be that the export script for the model files have a flaw that will cause illegal moves to be done during the animation. I have no idea. All I DO know is that the error happens sometime after the SDK calls AddMission, and sometime before that call finishes.
 
ok, so we should test this with warlords, maybe they fixed it... if its like that, we will switch to warlords and have fun with our mod, otherwise i dont know what else we should do, i will look if i get a ctd with this units, when i tested them (after creating them) it never happened... it didnt even have performance lacks... so please investigate a bit more...
 
Ok I have a workaround.:
sk swordsman rangedwave 1 similar to the orcs and goblinarcher both wavesizes 5.(no garantee for that last one though)
Again we sometimes get weird animations but lets hope the conversion to Warlords will run better with our formations.
 
well, if Warlords fixes it, then i say we change straight after the next release. but do you have to have 'warlords' to be able to play the warlords version of this??? because i dont, and i still dont have enough money:sad:
 
Psychic_Llamas said:
well, if Warlords fixes it, then i say we change straight after the next release. but do you have to have 'warlords' to be able to play the warlords version of this??? because i dont, and i still dont have enough money:sad:

hehe same with me here, didnt want to buy it that fast... but for the sake of a better warhammer mod i would spend that money...
 
Status
Not open for further replies.
Back
Top Bottom