-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Non compatible change support #37
Comments
I've only looked at a handful of files, but looking at Empire Earth II Gold edition, NIFCache files in the EE2X zips folder are 10.2.0.0 and NIFCache files in the EE2 zips folder are 10.1.0.0. Is this not generally the case? If all the EE2X files were 10.2.0.0 then clearly there is something just not being correctly accounted for in the change between 10.1.0.0 and 10.2.0.0 ... Or are you saying that the 10.2.0.0 in EE2X is different from other 10.2.0.0 NIFs from other games? |
@neomonkeus @ttl269 ...In which case ticket #34 would be where this discussion lies. OK, I just searched all 170 files in In all 1638 files in So... is there still an issue here separate from a version difference? |
Perhaps there are other games which use the 10.2.0.0 version. |
@jonwd7 @neomonkeus I think we have two separate problems. But both are related to fact that we have nif files with same
So it would be good to find more games using nifs with Version 10.2.0.0 and User Version = 0 or 1 and find out which structure they use. And then prefer that variant of nif.xml which is suitable for more games and take them as standard for that Version and User Version. |
I came back around to this issue while increasing the versions my 010 templates support and found the real issue. Simply put, the 10.2.0.0 NIFs in ee2x are actually 10.1.0.0 in practice. NiObject is actually like so (in 010 template format): typedef struct {
if ( version >= V10_0_0_0 && version < V10_1_0_114 )
uint groupID;
} NiObject; So any NIF that is 10.0 or 10.1 will get the Group ID at the front of every single block, since every single block inherits NiObject. However, the ee2x 10.2 NIFs will only load if you treat them as if they are 10.1. As established there is no way to compensate for this in nif.xml since there is no differentiating factor. Given this, I believe this should just be closed. Issue 2 in the above comment is another issue entirely, and the only way to resolve this issue is external to nif.xml. Some kind of compatibility mode in the parsers for 10.2 NIFs where it attempts to also load them as 10.1 if 10.2 fails. |
@ttl269 @throttlekitty @jonwd7 @Ghostwalker71 @deedes @skyfox69
Just getting the ball rolling.
As per the discussion in #24 EE2 AoS breaks general nif format by not incrementing the user version, such that the version differences can't be detected through normal condition checking.
I mod EE2 models ok, but i cant do with the expansion (Art of Supremacy) models, when i open AoS models appears this error: ""array Properties much too large. 16777216 bytes requested""
"failed to load block number 0 (NiNode) previous block was NiHeader"
""infinite recursive link construct detected 0 -> 0""
"failed to load nif from 'C:/Documents and Settings/GONGALO/Configuración local/Temp/Rar$DI97.584/civ10_cuirassier_French.nifcache'"
The text was updated successfully, but these errors were encountered: