Fixes, some messing around with the invalidation code

develop
Petr Mrázek 2010-11-08 00:31:40 +01:00
parent 9ac7c1a9f2
commit a5d21e612b
2 changed files with 15 additions and 3 deletions

@ -2226,12 +2226,16 @@
</Offsets> </Offsets>
</Version> </Version>
<Version name="v0.31.16 linux" os="linux" base="v0.31.14 linux" rebase="0x1b40"> <Version name="faek" os="linux" base="v0.31.14 linux">
<Offsets>
<Group name="Position" valid="false" />
</Offsets>
</Version>
<Version name="v0.31.16 linux" os="linux" base="faek" rebase="0x1b40">
<MD5 value="9cca2fa5da509e2f9a1042ddd1f9669c" /> <MD5 value="9cca2fa5da509e2f9a1042ddd1f9669c" />
<Offsets> <Offsets>
<Group name="Position"> <Group name="Position">
<Address name="cursor_xyz" value="0x8b33550 0x8b311f8" /> <Address name="cursor_xyz" value="0x8b33550" />
<Address name="screen_tiles_pointer" valid = "false" />
</Group> </Group>
<Group name="GUI"> <Group name="GUI">
<Address name="pause_state" value="0x92e5cb0"/> <Address name="pause_state" value="0x92e5cb0"/>

@ -280,6 +280,8 @@ void VersionInfoFactory::ParseOffsets(TiXmlElement * parent, VersionInfo* target
} }
else if(type == "address") else if(type == "address")
{ {
if(child_inval == NOT_SET)
child_inval = IS_VALID;
if(initial) if(initial)
{ {
currentGroup->createAddress(cstr_name); currentGroup->createAddress(cstr_name);
@ -295,6 +297,8 @@ void VersionInfoFactory::ParseOffsets(TiXmlElement * parent, VersionInfo* target
} }
else if(type == "offset") else if(type == "offset")
{ {
if(child_inval == NOT_SET)
child_inval = IS_VALID;
if(initial) if(initial)
{ {
currentGroup->createOffset(cstr_name); currentGroup->createOffset(cstr_name);
@ -310,6 +314,8 @@ void VersionInfoFactory::ParseOffsets(TiXmlElement * parent, VersionInfo* target
} }
else if(type == "string") else if(type == "string")
{ {
if(child_inval == NOT_SET)
child_inval = IS_VALID;
if(initial) if(initial)
{ {
currentGroup->createString(cstr_name); currentGroup->createString(cstr_name);
@ -325,6 +331,8 @@ void VersionInfoFactory::ParseOffsets(TiXmlElement * parent, VersionInfo* target
} }
else if(type == "hexvalue") else if(type == "hexvalue")
{ {
if(child_inval == NOT_SET)
child_inval = IS_VALID;
if(initial) if(initial)
{ {
currentGroup->createHexValue(cstr_name); currentGroup->createHexValue(cstr_name);