Posted: Tue Mar 12, 2013 8:19 pm Post subject:
Building crash
Just noticed an IE I seem to sometimes get when deploying a unit into a structure. Below is the art.ini code for the structure. Can't remember how the DemandLoad etc keys had to be set. Was there a tutorial about these keys? If not, it would be very handy if someone could write one. All the animations and structure SHPs are located in ecache0X.mix(es). There are both snow and temp versions of all the SHPs. All anims are listed in rules.ini. I've attached the except as well if someone can make sense of it.
[GASDROP_B]
Image=NULL
Normalized=no
Start=0
End=3
Rate=22
Surface=yes
DetailLevel=0
;DemandLoad=true
TrailerAnim=KILLMEDEBRIS2 ; Just something that suicides the building
TrailerSeperation=3
;Next=GASDROP_B
In short:
DemandLoadBuildup=true: load from ecacheXX.mix
DemandLoadBuildup=false (default): load from iso*.mix
Maybe it could be due to this. The crash happens as soon as the vehicle is deployed. But it doesn't happen always. I saved a game, deployed the vehicle and got the crash. Then I restarted TS, loaded the game and the crash doesn't happen anymore. Must have something to do with DemandLoadBuildup and / or FreeBuildup. Though I don't ever recall getting this IE before. Only thing I changed was putting in a new version of the SHP. Wonder if having multiple ecaches with multiple versions of the same SHP could have something to do with it (the older version is still in an older ecache mix). _________________ QUICK_EDIT
Took a look at how the original TS had defined these. The sensor array, tick tank and artillery buildups are located in temperat/snow.MIX, while the ICBM buildup is located in isotemp/isosnow.MIX. Only the ICBM has the DemandLoadBuildup=true and FreeBuildup=true keys.
Wouldn't this make it work the opposite? If the unit has these keys, the buildup anim is located in isotemp/isosnow.MIX? But how do the ecache0X.MIX work then? Are they treated like temperat/snow.MIX?
If you look at the original FS, the juggernaut and limpet drone buildups are located in ecache01.mix, and neither have the keys. Mobile stealth generator and mobile warfactory buildups are located in the root of expand01.mix, and have the keys.
So what to make of this? If the buildup is located in ecache0X.mix or temperat/snow.MIX, the DemandLoadBuildup=true and FreeBuildup=true keys are not needed? Otherwise they are required? _________________ QUICK_EDIT
After some more checking of the original game it does look like any SHPs (buildings, animations) that are not in ecache0X.mix or temperat/snow.mix need to have the special keys. So basically:
SHP is in ecache0X.mix or temperat/snow.mix -> DemandLoad=no (default)
SHP is anywhere else -> DemandLoad=yes
BuildupAnim SHP is in ecache0X.mix or temperat/snow.mix -> DemandLoadBuildup=no (default) , FreeBuildup=no (default)
BuildupAnim SHP is anywhere else -> DemandLoadBuildup=yes, FreeBuildup=yes
Some of the FS art entries seem to lack the FreeBuildup=yes key even if they have DemandLoadBuildup=yes. Not really sure what to make of that. Sloppy Westwood coding?
Also remember that if you override something that is in e.g. isotemp.mix by putting a new version of it in ecache0x.mix, you need to change DemandLoad=no. This caused IEs for me on windows 7 when I had overridden the original billboard SHPs in ecache, but forgot to change their art.ini entry. _________________ Last edited by SuperJoe on Wed Mar 13, 2013 7:59 am; edited 1 time in total QUICK_EDIT
I actually tested it ingame and didn't based my result on any original entries.
When i had set
Quote:
DemandLoadBuildup=true: load from ecacheXX.mix
DemandLoadBuildup=false (default): load from iso*.mix
and the SHP wasn't in the correct mix, then there wasn't anything visible ingame.
And when i tested DemandLoad and the SHP wasn't in the right mix then i got these results
Quote:
In short:
DemandLoad=true: load from iso*.mix. Crash at loading screen when SHP not found.
DemandLoad=false (default): load from ecacheXX.mix. No crash, no problems.
So i'm pretty sure these results were correct.
However i only tested a single SHP in one mix, not the case of multiple copies of the same SHP in several different mix files. (didn't want redundant stuff in mix)
It also never caused any trouble in TI again when we used these results. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Tested DemandLoadBuildup for two different buildups, one in isotemp.mix, the other in ecache02.mix.
The buildup in ecache02.mix didn't care whether DemandLoadBuildup was yes or no, it worked in both cases.
The buildup in isotemp.mix (GAICBMMK) did care about DemandLoadBuildup. If I set it no, the buildup never showed up.
Even though it doesn't seem to make a difference for buildups in ecaches, Westwood used DemandLoadBuildup=no for them, so I would probably recommend that.
Tried DemandLoad similarly, for an SHP that was in isotemp.mix, and an SHP that was in ecache02.mix.
If DemandLoad=yes for an SHP that is in ecache02.mix, the game seems to crash at mission loading screen (on Windows 7, didn't crash on WinXP).
If DemandLoad=no for an SHP that is in isotemp.mix, that SHP is invisible in the game, but no crash happens.
EDIT:
SuperJoe wrote:
If DemandLoad=yes for an SHP that is in ecache02.mix, the game seems to crash at mission loading screen (on Windows 7, didn't crash on WinXP).
And some further tests show that this does not always result in crash on Windows 7 either. Though I am 110% sure it used to cause my mod to crash when I swapped from XP to Win7. So even if it sometimes works, I highly recommend against using it. _________________ QUICK_EDIT
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum