Kloot wrote:Yes, there was an engine change. The change being that units with invalid or missing move-definitions (making them *useless*) are now removed from the game instead of leaving it in a logically inconsistent state as older versions did (but doubtlessly zwzsg will still think of said change as "breaking"). Combine that fact with the prior assumption of contiguity you didn't know was there all along which causes your CLASS9 block to be ignored so "movementclass=TANK3;" is an invalid reference and what do you get?
so after all this raging there was an engine change after all...
its not nice to just disable the units (took long to find out wtf was going on). it was better back then, when they got some default movementclass, and you were still able to build them.
better solution would be to move the name variable as the array key, then there would be no problems and reading/modifying the files would be easier too. (for example if you want to remove a moveclass).
Like this:
[KBOT1]
{
footprintx=1;
footprintz=1;
maxwaterdepth=5;
maxslope=36;
crushstrength=5;
}
[KBOT2]
{
footprintx=2;
footprintz=2;
maxwaterdepth=22;
maxslope=36;
crushstrength=10;
}
[AKBOT2]
{
footprintx=2;
footprintz=2;
maxwaterdepth=5000;
maxwaterslope=50;
maxslope=36;
crushstrength=50;
depthmod=0;
}
[TANK3]
{
footprintx=3;
footprintz=3;
maxwaterdepth=22;
maxslope=18;
crushstrength=30;
}
This could be changed without breaking every mod: if the array has name variable in it, then the name would be taken from it, if it doesnt, then name would be taken from the array key name.