Last active
November 29, 2022 16:31
-
-
Save dextercd/5a07270007308be17dba86cddc8ef007 to your computer and use it in GitHub Desktop.
Noita Load materials
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* WARNING: Could not reconcile some variable overlaps */ | |
void load_material_xml(CellData *param_1_00,CXmlFileSys *filesys) | |
{ | |
void **ppvVar1; | |
uint8_t uVar2; | |
char cVar3; | |
uint16_t uVar4; | |
bool filesys_state; | |
std_string *psVar4; | |
CellData *psVar5; | |
void *psVar7; | |
CellData *psVar6; | |
cell_type cVar8; | |
uint pcVar9; | |
int crackability; | |
uint uVar14; | |
undefined4 uVar5; | |
undefined4 *puVar15; | |
undefined4 *puVar16; | |
CXmlNode *pCVar6; | |
undefined4 extraout_ECX_04; | |
undefined4 extraout_ECX_08; | |
undefined4 extraout_ECX_09; | |
undefined4 extraout_ECX_10; | |
undefined4 extraout_ECX_11; | |
undefined4 extraout_ECX_12; | |
undefined4 extraout_ECX_13; | |
undefined4 extraout_ECX_14; | |
undefined4 extraout_ECX_15; | |
undefined4 extraout_ECX_16; | |
undefined4 extraout_ECX_17; | |
undefined4 extraout_ECX_18; | |
undefined4 extraout_ECX_19; | |
code *pcVar17; | |
code *pcVar18; | |
CellData *material; | |
int **unaff_FS_OFFSET; | |
float fVar7; | |
int local_1d0 [4]; | |
int local_1c0 [40]; | |
CXmlFileSys *local_120; | |
int *local_11c; | |
CellData *local_118; | |
int local_114; | |
void *local_110; | |
char local_109; | |
undefined local_108 [24]; | |
std_string local_f0; | |
undefined local_d8 [24]; | |
std_string local_c0; | |
std_string local_a8; | |
std_string local_90; | |
std_string local_78; | |
std_string local_60; | |
undefined local_48 [12]; | |
uint *local_3c; | |
size_t sStack_38; | |
uint uStack_34; | |
std_string local_30; | |
std_string *local_18; | |
int *local_10; | |
undefined *puStack_c; | |
undefined4 local_8; | |
std_string *psVar12; | |
void *puVar1; | |
local_8 = 0xffffffff; | |
puStack_c = &LAB_00c8e95b; | |
local_10 = *unaff_FS_OFFSET; | |
psVar4 = (std_string *)(DAT_00f3a000 ^ (uint)&stack0xfffffffc); | |
*unaff_FS_OFFSET = (int *)&local_10; | |
pcVar18 = operator_delete_exref; | |
local_120 = filesys; | |
local_118 = param_1_00; | |
local_18 = psVar4; | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_std_string(param_1_00); | |
local_8 = 0; | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
std_string::from_char_star_length(&local_30,"name",4); | |
local_8 = CONCAT31(local_8._1_3_,1); | |
pCVar6 = filesys->myCurrentNode; | |
puVar1 = *(void **)(pCVar6->myAttributes + 0xc); | |
local_11c = (int *)pCVar6->myAttributes; | |
local_110 = (void *)FUN_00bc32c0(pCVar6->myAttributes + 0xc,&local_30); | |
if ((local_110 == (void *)local_11c[3]) || | |
(crackability = std_string_cmp(&local_30,(std_string *)((int)local_110 + 0x10)), | |
(char)crackability != '\0')) { | |
local_110 = (void *)local_11c[3]; | |
} | |
if (local_110 == puVar1) { | |
FUN_00c42160(local_11c,&local_30,&local_3c); | |
} | |
pcVar18 = operator_delete_exref; | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8 = 0xffffffff; | |
FUN_0042bc70(); | |
filesys = local_120; | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"name"); | |
local_109 = HasAttribute(filesys->myCurrentNode,&local_30); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
if (local_109 != '\0') { | |
char_star_to_std_string(local_48,"name"); | |
local_8 = 2; | |
crackability = ceng::CXmlNode::GetAttributeValue | |
(filesys->myCurrentNode,(std_string *)local_48); | |
psVar5 = (CellData *)std_string_from_CAnyContainer((undefined *)&local_30,crackability); | |
std_string::move_assign(¶m_1_00->name,(std_string *)psVar5); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_8 = 0xffffffff; | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
if (0xf < uStack_34) { | |
operator_delete(local_48._0_4_); | |
} | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_std_string(¶m_1_00->ui_name); | |
local_8 = 3; | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
std_string::from_char_star_length(&local_30,"ui_name",7); | |
local_8 = CONCAT31(local_8._1_3_,4); | |
pCVar6 = filesys->myCurrentNode; | |
local_11c = (int *)pCVar6->myAttributes; | |
puVar1 = *(void **)(pCVar6->myAttributes + 0xc); | |
ppvVar1 = (void **)(pCVar6->myAttributes + 0xc); | |
psVar7 = (void *)FUN_00bc32c0(ppvVar1,&local_30); | |
if ((psVar7 == *ppvVar1) || | |
(crackability = std_string_cmp(&local_30,(std_string *)((int)psVar7 + 0x10)), | |
local_110 = psVar7, (char)crackability != '\0')) { | |
local_110 = *ppvVar1; | |
} | |
if (local_110 == puVar1) { | |
FUN_00c42160(local_11c,&local_30,&local_3c); | |
} | |
pcVar17 = operator_delete_exref; | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8 = 0xffffffff; | |
FUN_0042bc70(); | |
filesys = local_120; | |
} | |
else { | |
pcVar17 = operator_delete_exref; | |
if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"ui_name"); | |
local_109 = HasAttribute(filesys->myCurrentNode,&local_30); | |
if (0xf < local_30.capacity) { | |
(*pcVar18)(local_30.buffer); | |
} | |
pcVar17 = operator_delete_exref; | |
if (local_109 != '\0') { | |
char_star_to_std_string(&local_30,"ui_name"); | |
local_8 = 5; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
psVar6 = (CellData *)std_string_from_CAnyContainer((undefined *)&local_60,crackability); | |
std_string::move_assign(¶m_1_00->ui_name,(std_string *)psVar6); | |
destruct_string(&local_60); | |
local_8 = 0xffffffff; | |
destruct_string(&local_30); | |
pcVar17 = operator_delete_exref; | |
} | |
} | |
} | |
material = local_118; | |
if (((filesys->myStatus == reading) && ((local_118->ui_name).size == 0)) && | |
((CellData *)&local_118->ui_name != local_118)) { | |
std_string::copy_construct?(&local_118->ui_name,&local_118->name,(int *)0x0,(int *)0xffffffff); | |
} | |
FUN_0048a4c0(local_108 + 0x18,material->cell_type); | |
local_8 = 6; | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_std_string(local_108 + 0x18); | |
local_8._0_1_ = 7; | |
char_star_to_std_string(&local_30,"cell_type"); | |
local_8 = CONCAT31(local_8._1_3_,8); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
(*pcVar17)(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8 = CONCAT31(local_8._1_3_,6); | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"cell_type"); | |
local_109 = HasAttribute(filesys->myCurrentNode,&local_30); | |
if (0xf < local_30.capacity) { | |
(*pcVar17)(local_30.buffer); | |
} | |
if (local_109 != '\0') { | |
char_star_to_std_string(&local_30,"cell_type"); | |
local_8._0_1_ = 9; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
psVar12 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign((std_string *)(local_108 + 0x18),psVar12); | |
destruct_string(&local_78); | |
local_8 = CONCAT31(local_8._1_3_,6); | |
destruct_string(&local_30); | |
} | |
} | |
cVar8 = cell_type_from_std_string(local_108 + 0x18); | |
material->cell_type = cVar8; | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_int((int *)&local_3c,&material->platform_type); | |
local_8._0_1_ = 10; | |
char_star_to_std_string(&local_30,"platform_type"); | |
local_8 = CONCAT31(local_8._1_3_,0xb); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
(*pcVar17)(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8 = CONCAT31(local_8._1_3_,6); | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"platform_type"); | |
local_109 = HasAttribute(filesys->myCurrentNode,&local_30); | |
if (0xf < local_30.capacity) { | |
(*pcVar17)(local_30.buffer); | |
} | |
if (local_109 != '\0') { | |
char_star_to_std_string(&local_30,"platform_type"); | |
local_8._0_1_ = 0xc; | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->platform_type = (int)puVar1; | |
local_8 = CONCAT31(local_8._1_3_,6); | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_int((int *)&local_3c,&material->gfx_glow); | |
local_8._0_1_ = 0xd; | |
char_star_to_std_string(&local_30,"gfx_glow"); | |
local_8 = CONCAT31(local_8._1_3_,0xe); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
(*pcVar17)(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8 = CONCAT31(local_8._1_3_,6); | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"gfx_glow"); | |
local_109 = HasAttribute(filesys->myCurrentNode,&local_30); | |
if (0xf < local_30.capacity) { | |
(*pcVar17)(local_30.buffer); | |
} | |
if (local_109 != '\0') { | |
char_star_to_std_string(&local_30,"gfx_glow"); | |
local_8._0_1_ = 0xf; | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->gfx_glow = (int)puVar1; | |
local_8 = CONCAT31(local_8._1_3_,6); | |
destruct_string(&local_30); | |
} | |
} | |
FUN_0044aac0(); | |
local_8._0_1_ = 0x10; | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_std_string(&local_a8); | |
local_8._0_1_ = 0x11; | |
char_star_to_std_string(&local_30,"gfx_glow_color"); | |
local_8 = CONCAT31(local_8._1_3_,0x12); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
(*pcVar17)(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"gfx_glow_color"); | |
local_109 = HasAttribute(filesys->myCurrentNode,&local_30); | |
if (0xf < local_30.capacity) { | |
(*pcVar17)(local_30.buffer); | |
} | |
if (local_109 != '\0') { | |
char_star_to_std_string(&local_30,"gfx_glow_color"); | |
local_8._0_1_ = 0x13; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
psVar12 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&local_a8,psVar12); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
pcVar9 = ConvertStringToColor(); | |
material->gfx_glow_color = pcVar9; | |
psVar12 = (std_string *)FUN_0044aac0(); | |
std_string::move_assign(&local_a8,psVar12); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_std_string(&local_a8); | |
local_8._0_1_ = 0x14; | |
char_star_to_std_string(&local_30,"wang_color"); | |
local_8 = CONCAT31(local_8._1_3_,0x15); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"wang_color"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"wang_color"); | |
local_8._0_1_ = 0x16; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
psVar12 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&local_a8,psVar12); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
pcVar9 = ConvertStringToColor(); | |
material->wang_color = pcVar9; | |
if (pcVar9 == 0xffeeffc0) { | |
FUN_00842b70(extraout_ECX_04); | |
material = local_118; | |
log_std_string(local_118); | |
FUN_0043d930("\n"); | |
} | |
if (filesys->myStatus == reading) { | |
filesys->myLine = 0xa0; | |
char_star_to_std_string | |
(local_d8, | |
"d:\\projects\\nollagames\\fallingeverything\\build\\vc12\\..\\..\\source\\grid\\cell s\\cellfactory.cpp" | |
); | |
local_8._0_1_ = 0x17; | |
if (filesys != (CXmlFileSys *)local_d8) { | |
std_string::copy_construct? | |
(&filesys->myFilename,(std_string *)(CXmlFileSys *)local_d8,(int *)0x0, | |
(int *)0xffffffff); | |
} | |
local_8._0_1_ = 0x10; | |
if (0xf < local_d8._20_4_) { | |
operator_delete(local_d8._0_4_); | |
} | |
char_star_to_std_string(&local_30,"Graphics"); | |
local_8._0_1_ = 0x18; | |
local_109 = FUN_0042c240(&local_30); | |
local_8._0_1_ = 0x10; | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
if (local_109 != '\0') { | |
char_star_to_std_string(&local_30,"Graphics"); | |
local_8 = CONCAT31(local_8._1_3_,0x19); | |
ceng::CXmlFileSys::FindChildByName(filesys,psVar4); | |
FUN_008a2ce0(); | |
LAB_006882e5: | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
else if (filesys->myStatus == writing) { | |
filesys->myLine = 0xa0; | |
char_star_to_std_string | |
(local_108, | |
"d:\\projects\\nollagames\\fallingeverything\\build\\vc12\\..\\..\\source\\grid\\cell s\\cellfactory.cpp" | |
); | |
local_8._0_1_ = 0x1a; | |
if (filesys != (CXmlFileSys *)local_108) { | |
std_string::copy_construct? | |
(&filesys->myFilename,(std_string *)(CXmlFileSys *)local_108,(int *)0x0, | |
(int *)0xffffffff); | |
} | |
local_8._0_1_ = 0x10; | |
destruct_string((std_string *)local_108); | |
char_star_to_std_string(&local_30,"Graphics"); | |
local_8 = CONCAT31(local_8._1_3_,0x1b); | |
local_110 = (void *)FUN_008a2d80(); | |
*(CXmlNode **)((int)local_110 + 4) = filesys->myCurrentNode; | |
FUN_00c42090(&local_110); | |
goto LAB_006882e5; | |
} | |
if ((filesys->myStatus == reading) && (material->default_primary_colour == 0)) { | |
material->default_primary_colour = material->wang_color; | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->cell_holes_in_texture); | |
local_8._0_1_ = 0x1c; | |
char_star_to_std_string(&local_30,"cell_holes_in_texture"); | |
local_8 = CONCAT31(local_8._1_3_,0x1d); | |
FUN_0042be70(&local_30,&local_3c); | |
pcVar18 = operator_delete_exref; | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
pcVar18 = operator_delete_exref; | |
if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"cell_holes_in_texture"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
pcVar18 = operator_delete_exref; | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"cell_holes_in_texture"); | |
local_8._0_1_ = 0x1e; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->cell_holes_in_texture = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
pcVar18 = operator_delete_exref; | |
} | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->stainable); | |
local_8._0_1_ = 0x1f; | |
char_star_to_std_string(&local_30,"stainable"); | |
local_8 = CONCAT31(local_8._1_3_,0x20); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
(*pcVar18)(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"stainable"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"stainable"); | |
local_8._0_1_ = 0x21; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->stainable = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->burnable); | |
local_8._0_1_ = 0x22; | |
char_star_to_std_string(&local_30,"burnable"); | |
local_8 = CONCAT31(local_8._1_3_,0x23); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"burnable"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"burnable"); | |
local_8._0_1_ = 0x24; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->burnable = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->on_fire); | |
local_8._0_1_ = 0x25; | |
char_star_to_std_string(&local_30,"on_fire"); | |
local_8 = CONCAT31(local_8._1_3_,0x26); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"on_fire"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"on_fire"); | |
local_8._0_1_ = 0x27; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->on_fire = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_int((int *)&local_3c,&material->fire_hp); | |
local_8._0_1_ = 0x28; | |
char_star_to_std_string(&local_30,"fire_hp"); | |
local_8 = CONCAT31(local_8._1_3_,0x29); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"fire_hp"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"fire_hp"); | |
local_8._0_1_ = 0x2a; | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->fire_hp = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_int((int *)&local_3c,&material->autoignition_temperature); | |
local_8._0_1_ = 0x2b; | |
char_star_to_std_string(&local_30,"autoignition_temperature"); | |
local_8 = CONCAT31(local_8._1_3_,0x2c); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"autoignition_temperature"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"autoignition_temperature"); | |
local_8._0_1_ = 0x2d; | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->autoignition_temperature = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_int((int *)&local_3c,&material->temperature_of_fire); | |
local_8._0_1_ = 0x2e; | |
char_star_to_std_string(&local_30,"temperature_of_fire"); | |
local_8 = CONCAT31(local_8._1_3_,0x2f); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"temperature_of_fire"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"temperature_of_fire"); | |
local_8._0_1_ = 0x30; | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->temperature_of_fire = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_int((int *)&local_3c,&material->generates_smoke); | |
local_8._0_1_ = 0x31; | |
char_star_to_std_string(&local_30,"generates_smoke"); | |
local_8 = CONCAT31(local_8._1_3_,0x32); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"generates_smoke"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"generates_smoke"); | |
local_8._0_1_ = 0x33; | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->generates_smoke = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_int((int *)&local_3c,&material->generates_flames); | |
local_8._0_1_ = 0x34; | |
char_star_to_std_string(&local_30,"generates_flames"); | |
local_8 = CONCAT31(local_8._1_3_,0x35); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"generates_flames"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"generates_flames"); | |
local_8._0_1_ = 0x36; | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->generates_flames = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->requires_oxygen); | |
local_8._0_1_ = 0x37; | |
char_star_to_std_string(&local_30,"requires_oxygen"); | |
local_8 = CONCAT31(local_8._1_3_,0x38); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"requires_oxygen"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"requires_oxygen"); | |
local_8._0_1_ = 0x39; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->requires_oxygen = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_std_string(&material->on_fire_convert_to_material); | |
local_8._0_1_ = 0x3a; | |
char_star_to_std_string(&local_30,"on_fire_convert_to_material"); | |
local_8 = CONCAT31(local_8._1_3_,0x3b); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"on_fire_convert_to_material"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"on_fire_convert_to_material"); | |
local_8._0_1_ = 0x3c; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
psVar12 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&material->on_fire_convert_to_material,psVar12); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_std_string(&material->on_fire_flame_material); | |
local_8._0_1_ = 0x3d; | |
char_star_to_std_string(&local_30,"on_fire_flame_material"); | |
local_8 = CONCAT31(local_8._1_3_,0x3e); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"on_fire_flame_material"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"on_fire_flame_material"); | |
local_8._0_1_ = 0x3f; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
psVar12 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&material->on_fire_flame_material,psVar12); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_std_string(&material->on_fire_smoke_material); | |
local_8._0_1_ = 0x40; | |
char_star_to_std_string(&local_30,"on_fire_smoke_material"); | |
local_8 = CONCAT31(local_8._1_3_,0x41); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"on_fire_smoke_material"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"on_fire_smoke_material"); | |
local_8._0_1_ = 0x42; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
psVar12 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&material->on_fire_smoke_material,psVar12); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_int((int *)&local_3c,&material->durability); | |
local_8._0_1_ = 0x43; | |
char_star_to_std_string(&local_30,"durability"); | |
local_8 = CONCAT31(local_8._1_3_,0x44); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"durability"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"durability"); | |
local_8._0_1_ = 0x45; | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->durability = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_int((int *)&local_3c,&material->lifetime); | |
local_8._0_1_ = 0x46; | |
char_star_to_std_string(&local_30,"lifetime"); | |
local_8 = CONCAT31(local_8._1_3_,0x47); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"lifetime"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"lifetime"); | |
local_8._0_1_ = 0x48; | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->lifetime = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_float((int *)&local_3c,&material->density); | |
local_8._0_1_ = 0x49; | |
char_star_to_std_string(&local_30,"density"); | |
local_8 = CONCAT31(local_8._1_3_,0x4a); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"density"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"density"); | |
local_8._0_1_ = 0x4b; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->density = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_float((int *)&local_3c,&material->liquid_gravity); | |
local_8._0_1_ = 0x4c; | |
char_star_to_std_string(&local_30,"liquid_gravity"); | |
local_8 = CONCAT31(local_8._1_3_,0x4d); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"liquid_gravity"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_gravity"); | |
local_8._0_1_ = 0x4e; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->liquid_gravity = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->liquid_slime); | |
local_8._0_1_ = 0x4f; | |
char_star_to_std_string(&local_30,"liquid_slime"); | |
local_8 = CONCAT31(local_8._1_3_,0x50); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"liquid_slime"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_slime"); | |
local_8._0_1_ = 0x51; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->liquid_slime = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->liquid_sand); | |
local_8._0_1_ = 0x52; | |
char_star_to_std_string(&local_30,"liquid_sand"); | |
local_8 = CONCAT31(local_8._1_3_,0x53); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"liquid_sand"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_sand"); | |
local_8._0_1_ = 0x54; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->liquid_sand = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_int((int *)&local_3c,&material->liquid_viscosity); | |
local_8._0_1_ = 0x55; | |
char_star_to_std_string(&local_30,"liquid_viscosity"); | |
local_8 = CONCAT31(local_8._1_3_,0x56); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"liquid_viscosity"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_viscosity"); | |
local_8._0_1_ = 0x57; | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->liquid_viscosity = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->liquid_static); | |
local_8._0_1_ = 0x58; | |
char_star_to_std_string(&local_30,"liquid_static"); | |
local_8 = CONCAT31(local_8._1_3_,0x59); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"liquid_static"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_static"); | |
local_8._0_1_ = 0x5a; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->liquid_static = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_int((int *)&local_3c,&material->liquid_stains); | |
local_8._0_1_ = 0x5b; | |
char_star_to_std_string(&local_30,"liquid_stains"); | |
local_8 = CONCAT31(local_8._1_3_,0x5c); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"liquid_stains"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_stains"); | |
local_8._0_1_ = 0x5d; | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->liquid_stains = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->liquid_stains_self); | |
local_8._0_1_ = 0x5e; | |
char_star_to_std_string(&local_30,"liquid_stains_self"); | |
local_8 = CONCAT31(local_8._1_3_,0x5f); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
local_30.capacity = 0xf; | |
local_30.size = 0; | |
local_30.buffer = (char *)((uint)local_30.buffer & 0xffffff00); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else if (filesys->myStatus == reading) { | |
char_star_to_std_string(&local_30,"liquid_stains_self"); | |
cVar3 = HasAttribute(filesys->myCurrentNode,&local_30); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_stains_self"); | |
local_8._0_1_ = 0x60; | |
crackability = ceng::CXmlNode::GetAttributeValue(filesys->myCurrentNode,&local_30); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->liquid_stains_self = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
char_star_to_std_string(&local_30,"liquid_stains_custom_color"); | |
local_8._0_1_ = 0x61; | |
local_3c = &material->liquid_stains_custom_color; | |
sStack_38 = 0; | |
uStack_34 = 4; | |
FUN_007407c0(filesys,&local_3c,&local_30); | |
local_8._0_1_ = 0x10; | |
if (0xf < local_30.capacity) { | |
operator_delete(local_30.buffer); | |
} | |
if (filesys->myStatus == writing) { | |
CAnyContainer_from_float((int *)&local_3c,&material->liquid_sprite_stain_shaken_drop_chance); | |
local_8._0_1_ = 0x62; | |
char_star_to_std_string(&local_30,"liquid_sprite_stain_shaken_drop_chance"); | |
local_8 = CONCAT31(local_8._1_3_,99); | |
FUN_0042be70(&local_30,&local_3c); | |
if (0xf < local_30.capacity) { | |
FUN_0041e4d0(local_30.buffer,extraout_ECX_08); | |
} | |
local_30.capacity = 0xf; | |
FUN_0041dfa0(0); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"liquid_sprite_stain_shaken_drop_chance"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_sprite_stain_shaken_drop_chance"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 100; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->liquid_sprite_stain_shaken_drop_chance = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_float((int *)&local_3c,&material->liquid_sprite_stain_ignited_drop_chance); | |
local_8._0_1_ = 0x65; | |
char_star_to_std_string(&local_30,"liquid_sprite_stain_ignited_drop_chance"); | |
local_8._0_1_ = 0x66; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"liquid_sprite_stain_ignited_drop_chance"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_sprite_stain_ignited_drop_chance"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x67; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->liquid_sprite_stain_ignited_drop_chance = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_int8(&material->liquid_sprite_stains_check_offset); | |
local_8._0_1_ = 0x68; | |
char_star_to_std_string(&local_30,"liquid_sprite_stains_check_offset"); | |
local_8._0_1_ = 0x69; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"liquid_sprite_stains_check_offset"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_sprite_stains_check_offset"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x6a; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
puVar1 = int8_from_CAnyContainer(puVar1,psVar4); | |
material->liquid_sprite_stains_check_offset = (uint8_t)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_float((int *)&local_3c,&material->liquid_sprite_stains_status_threshold); | |
local_8._0_1_ = 0x6b; | |
char_star_to_std_string(&local_30,"liquid_sprite_stains_status_threshold"); | |
local_8._0_1_ = 0x6c; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"liquid_sprite_stains_status_threshold"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_sprite_stains_status_threshold"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x6d; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->liquid_sprite_stains_status_threshold = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_int((int *)&local_3c,&material->liquid_sticks_to_ceiling); | |
local_8._0_1_ = 0x6e; | |
char_star_to_std_string(&local_30,"liquid_sticks_to_ceiling"); | |
local_8._0_1_ = 0x6f; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"liquid_sticks_to_ceiling"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_sticks_to_ceiling"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x70; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->liquid_sticks_to_ceiling = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_float((int *)&local_3c,&material->liquid_damping); | |
local_8._0_1_ = 0x71; | |
char_star_to_std_string(&local_30,"liquid_damping"); | |
local_8._0_1_ = 0x72; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"liquid_damping"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_damping"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x73; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->liquid_damping = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_float((int *)&local_3c,&material->liquid_flow_speed); | |
local_8._0_1_ = 0x74; | |
char_star_to_std_string(&local_30,"liquid_flow_speed"); | |
local_8._0_1_ = 0x75; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"liquid_flow_speed"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_flow_speed"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x76; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->liquid_flow_speed = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->liquid_sand_never_box2d); | |
local_8._0_1_ = 0x77; | |
char_star_to_std_string(&local_30,"liquid_sand_never_box2d"); | |
local_8._0_1_ = 0x78; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"liquid_sand_never_box2d"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"liquid_sand_never_box2d"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x79; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->liquid_sand_never_box2d = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (((filesys_state) && (material->cell_type == liquid)) && (material->liquid_sand == false)) { | |
material->electrical_conductivity = true; | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_int((int *)&local_3c,&material->crackability); | |
local_8._0_1_ = 0x7a; | |
char_star_to_std_string(&local_30,"crackability"); | |
local_8._0_1_ = 0x7b; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"crackability"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"crackability"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x7c; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->crackability = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->electrical_conductivity); | |
local_8._0_1_ = 0x7d; | |
char_star_to_std_string(&local_30,"electrical_conductivity"); | |
local_8._0_1_ = 0x7e; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"electrical_conductivity"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"electrical_conductivity"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x7f; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->electrical_conductivity = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->slippery); | |
local_8._0_1_ = 0x80; | |
char_star_to_std_string(&local_30,"slippery"); | |
local_8._0_1_ = 0x81; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"slippery"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"slippery"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x82; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->slippery = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_float((int *)&local_3c,&material->stickyness); | |
local_8._0_1_ = 0x83; | |
char_star_to_std_string(&local_30,"stickyness"); | |
local_8._0_1_ = 0x84; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"stickyness"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"stickyness"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x85; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->stickyness = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_std_string(&material->cold_freezes_to_material); | |
local_8._0_1_ = 0x86; | |
char_star_to_std_string(&local_30,"cold_freezes_to_material"); | |
local_8._0_1_ = 0x87; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"cold_freezes_to_material"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"cold_freezes_to_material"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x88; | |
pCVar6 = (CXmlNode *)FUN_0042be60(psVar12,extraout_ECX_09); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
psVar12 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&material->cold_freezes_to_material,psVar12); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_std_string(&material->warmth_melts_to_material); | |
local_8._0_1_ = 0x89; | |
char_star_to_std_string(&local_30,"warmth_melts_to_material"); | |
local_8._0_1_ = 0x8a; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"warmth_melts_to_material"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"warmth_melts_to_material"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x8b; | |
pCVar6 = (CXmlNode *)FUN_0042be60(psVar12,extraout_ECX_10); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
psVar12 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&material->warmth_melts_to_material,psVar12); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_int16(&local_3c,(int *)&material->cold_freezes_chance_rev); | |
local_8._0_1_ = 0x8c; | |
char_star_to_std_string(&local_30,"cold_freezes_chance_rev"); | |
local_8._0_1_ = 0x8d; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"cold_freezes_chance_rev"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"cold_freezes_chance_rev"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x8e; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
uVar4 = int16_from_CAnyContainer(); | |
material->cold_freezes_chance_rev = uVar4; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_int16(&local_3c,(int *)&material->warmth_melts_chance_rev); | |
local_8._0_1_ = 0x8f; | |
char_star_to_std_string(&local_30,"warmth_melts_chance_rev"); | |
local_8._0_1_ = 0x90; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"warmth_melts_chance_rev"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"warmth_melts_chance_rev"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x91; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
uVar4 = int16_from_CAnyContainer(); | |
material->warmth_melts_chance_rev = uVar4; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->cold_freezes_to_dont_do_reverse_reaction); | |
local_8._0_1_ = 0x92; | |
char_star_to_std_string(&local_30,"cold_freezes_to_dont_do_reverse_reaction"); | |
local_8._0_1_ = 0x93; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"cold_freezes_to_dont_do_reverse_reaction"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"cold_freezes_to_dont_do_reverse_reaction"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x94; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->cold_freezes_to_dont_do_reverse_reaction = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_uint8((int *)&local_3c,&material->gas_speed); | |
local_8._0_1_ = 0x95; | |
char_star_to_std_string(&local_30,"gas_speed"); | |
local_8._0_1_ = 0x96; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"gas_speed"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"gas_speed"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x97; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
uVar2 = uint8_from_CAnyContainer(); | |
material->gas_speed = uVar2; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_uint8((int *)&local_3c,&material->gas_upwards_speed); | |
local_8._0_1_ = 0x98; | |
char_star_to_std_string(&local_30,"gas_upwards_speed"); | |
local_8._0_1_ = 0x99; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"gas_upwards_speed"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"gas_upwards_speed"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x9a; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
uVar2 = uint8_from_CAnyContainer(); | |
material->gas_upwards_speed = uVar2; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_uint8((int *)&local_3c,&material->gas_horizontal_speed); | |
local_8._0_1_ = 0x9b; | |
char_star_to_std_string(&local_30,"gas_horizontal_speed"); | |
local_8._0_1_ = 0x9c; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"gas_horizontal_speed"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"gas_horizontal_speed"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0x9d; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
uVar2 = uint8_from_CAnyContainer(); | |
material->gas_horizontal_speed = uVar2; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_uint8((int *)&local_3c,&material->gas_downwards_speed); | |
local_8._0_1_ = 0x9e; | |
char_star_to_std_string(&local_30,"gas_downwards_speed"); | |
local_8._0_1_ = 0x9f; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"gas_downwards_speed"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"gas_downwards_speed"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xa0; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
uVar2 = uint8_from_CAnyContainer(); | |
material->gas_downwards_speed = uVar2; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_float((int *)&local_3c,&material->solid_friction); | |
local_8._0_1_ = 0xa1; | |
char_star_to_std_string(&local_30,"solid_friction"); | |
local_8._0_1_ = 0xa2; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_friction"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_friction"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xa3; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->solid_friction = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_float((int *)&local_3c,&material->solid_restitution); | |
local_8._0_1_ = 0xa4; | |
char_star_to_std_string(&local_30,"solid_restitution"); | |
local_8._0_1_ = 0xa5; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_restitution"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_restitution"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xa6; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->solid_restitution = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_float((int *)&local_3c,&material->solid_gravity_scale); | |
local_8._0_1_ = 0xa7; | |
char_star_to_std_string(&local_30,"solid_gravity_scale"); | |
local_8._0_1_ = 0xa8; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_gravity_scale"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_gravity_scale"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xa9; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->solid_gravity_scale = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_float((int *)&local_3c,&material->solid_on_collision_splash_power); | |
local_8._0_1_ = 0xaa; | |
char_star_to_std_string(&local_30,"solid_on_collision_splash_power"); | |
local_8._0_1_ = 0xab; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_on_collision_splash_power"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_on_collision_splash_power"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xac; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->solid_on_collision_splash_power = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_std_string(&material->solid_on_collision_material); | |
local_8._0_1_ = 0xad; | |
char_star_to_std_string(&local_30,"solid_on_collision_material"); | |
local_8._0_1_ = 0xae; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_on_collision_material"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_on_collision_material"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xaf; | |
pCVar6 = (CXmlNode *)FUN_0042be60(psVar12,extraout_ECX_11); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
psVar12 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&material->solid_on_collision_material,psVar12); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->solid_on_collision_explode); | |
local_8._0_1_ = 0xb0; | |
char_star_to_std_string(&local_30,"solid_on_collision_explode"); | |
local_8._0_1_ = 0xb1; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_on_collision_explode"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_on_collision_explode"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xb2; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->solid_on_collision_explode = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->solid_on_sleep_convert); | |
local_8._0_1_ = 0xb3; | |
char_star_to_std_string(&local_30,"solid_on_sleep_convert"); | |
local_8._0_1_ = 0xb4; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_on_sleep_convert"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_on_sleep_convert"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xb5; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->solid_on_sleep_convert = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->solid_on_collision_convert); | |
local_8._0_1_ = 0xb6; | |
char_star_to_std_string(&local_30,"solid_on_collision_convert"); | |
local_8._0_1_ = 0xb7; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_on_collision_convert"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_on_collision_convert"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xb8; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->solid_on_collision_convert = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_int((int *)&local_3c,&material->solid_static_type); | |
local_8._0_1_ = 0xb9; | |
char_star_to_std_string(&local_30,"solid_static_type"); | |
local_8._0_1_ = 0xba; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_static_type"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_static_type"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xbb; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->solid_static_type = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->solid_on_break_explode); | |
local_8._0_1_ = 0xbc; | |
char_star_to_std_string(&local_30,"solid_on_break_explode"); | |
local_8._0_1_ = 0xbd; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_on_break_explode"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_on_break_explode"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xbe; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->solid_on_break_explode = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_std_string(&material->solid_break_to_type); | |
local_8._0_1_ = 0xbf; | |
char_star_to_std_string(&local_30,"solid_break_to_type"); | |
local_8._0_1_ = 0xc0; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_break_to_type"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_break_to_type"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xc1; | |
pCVar6 = (CXmlNode *)FUN_0042be60(psVar12,extraout_ECX_12); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
psVar12 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&material->solid_break_to_type,psVar12); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->solid_go_through_sand); | |
local_8._0_1_ = 0xc2; | |
char_star_to_std_string(&local_30,"solid_go_through_sand"); | |
local_8._0_1_ = 0xc3; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_go_through_sand"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_go_through_sand"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xc4; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->solid_go_through_sand = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->solid_collide_with_self); | |
local_8._0_1_ = 0xc5; | |
char_star_to_std_string(&local_30,"solid_collide_with_self"); | |
local_8._0_1_ = 0xc6; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"solid_collide_with_self"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"solid_collide_with_self"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 199; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->solid_collide_with_self = filesys_state; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_std_string(&material->convert_to_box2d_material); | |
local_8._0_1_ = 200; | |
char_star_to_std_string(&local_30,"convert_to_box2d_material"); | |
local_8._0_1_ = 0xc9; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"convert_to_box2d_material"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"convert_to_box2d_material"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xca; | |
pCVar6 = (CXmlNode *)FUN_0042be60(psVar12,extraout_ECX_13); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
psVar12 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&material->convert_to_box2d_material,psVar12); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_int((int *)&local_3c,&material->hp); | |
local_8._0_1_ = 0xcb; | |
char_star_to_std_string(&local_30,"hp"); | |
local_8._0_1_ = 0xcc; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"hp"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"hp"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xcd; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->hp = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_int((int *)&local_3c,&material->vegetation_full_lifetime_growth); | |
local_8._0_1_ = 0xce; | |
char_star_to_std_string(&local_30,"vegetation_full_lifetime_growth"); | |
local_8._0_1_ = 0xcf; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"vegetation_full_lifetime_growth"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"vegetation_full_lifetime_growth"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xd0; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->vegetation_full_lifetime_growth = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_std_string(&material->vegetation_sprite); | |
local_8._0_1_ = 0xd1; | |
char_star_to_std_string(&local_30,"vegetation_sprite"); | |
local_8._0_1_ = 0xd2; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"vegetation_sprite"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"vegetation_sprite"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xd3; | |
pCVar6 = (CXmlNode *)FUN_0042be60(psVar12,extraout_ECX_14); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
psVar12 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&material->vegetation_sprite,psVar12); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_float((int *)&local_3c,&material->wang_noise_percent); | |
local_8._0_1_ = 0xd4; | |
char_star_to_std_string(&local_30,"wang_noise_percent"); | |
local_8._0_1_ = 0xd5; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"wang_noise_percent"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"wang_noise_percent"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xd6; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->wang_noise_percent = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_float((int *)&local_3c,&material->wang_curvature); | |
local_8._0_1_ = 0xd7; | |
char_star_to_std_string(&local_30,"wang_curvature"); | |
local_8._0_1_ = 0xd8; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"wang_curvature"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"wang_curvature"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xd9; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->wang_curvature = fVar7; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_int((int *)&local_3c,&material->wang_noise_type); | |
local_8._0_1_ = 0xda; | |
char_star_to_std_string(&local_30,"wang_noise_type"); | |
local_8._0_1_ = 0xdb; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0x10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"wang_noise_type"); | |
psVar12 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar12); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"wang_noise_type"); | |
psVar12 = &local_30; | |
local_8._0_1_ = 0xdc; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
puVar1 = (void *)ceng::CXmlNode::GetAttributeValue(pCVar6,psVar12); | |
puVar1 = int_from_CAnyContainer(puVar1,(int)psVar4); | |
material->wang_noise_type = (int)puVar1; | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if ((filesys_state) && (material->explosion_config != (void *)0x0)) { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
FUN_0042c3a0(0x101); | |
char_star_to_std_string | |
(&local_30, | |
"d:\\projects\\nollagames\\fallingeverything\\build\\vc12\\..\\..\\source\\grid\\ce lls\\cellfactory.cpp" | |
); | |
local_8._0_1_ = 0xdd; | |
FUN_0042c3b0(&local_30); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
char_star_to_std_string(local_48,"ExplosionConfig"); | |
local_8._0_1_ = 0xde; | |
cVar3 = FUN_0042c240(local_48); | |
local_8._0_1_ = 0x10; | |
destruct_string((std_string *)local_48); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"ExplosionConfig"); | |
local_8._0_1_ = 0xdf; | |
FUN_00842dd0(material->explosion_config,&local_30); | |
destruct_string(&local_30); | |
} | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
FUN_0042c3a0(0x101); | |
char_star_to_std_string | |
(&local_30, | |
"d:\\projects\\nollagames\\fallingeverything\\build\\vc12\\..\\..\\source\\grid\\ cells\\cellfactory.cpp" | |
); | |
local_8._0_1_ = 0xe0; | |
FUN_0042c3b0(&local_30); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
char_star_to_std_string(local_48,"ExplosionConfig"); | |
local_8._0_1_ = 0xe1; | |
FUN_00842df0(material->explosion_config,local_48); | |
destruct_string((std_string *)local_48); | |
} | |
} | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"ExplosionConfig"); | |
local_8._0_1_ = 0xe2; | |
cVar3 = FUN_0042c240(&local_30); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
if (cVar3 == '\0') { | |
if ((undefined4 *)material->explosion_config != (undefined4 *)0x0) { | |
/* WARNING: Load size is inaccurate */ | |
(***material->explosion_config)(1); | |
} | |
material->explosion_config = (void *)0x0; | |
} | |
else { | |
if (material->explosion_config == (void *)0x0) { | |
local_110 = operator_new(0x16c); | |
local_8._0_1_ = 0xe3; | |
if (local_110 == (void *)0x0) { | |
puVar1 = (void *)0x0; | |
} | |
else { | |
puVar1 = (void *)FUN_0048fd20(); | |
} | |
local_8._0_1_ = 0x10; | |
material->explosion_config = puVar1; | |
} | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
FUN_0042c3a0(0x108); | |
char_star_to_std_string | |
(&local_30, | |
"d:\\projects\\nollagames\\fallingeverything\\build\\vc12\\..\\..\\source\\grid \\cells\\cellfactory.cpp" | |
); | |
local_8._0_1_ = 0xe4; | |
FUN_0042c3b0(&local_30); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
char_star_to_std_string(local_48,"ExplosionConfig"); | |
local_8._0_1_ = 0xe5; | |
cVar3 = FUN_0042c240(local_48); | |
local_8._0_1_ = 0x10; | |
destruct_string((std_string *)local_48); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"ExplosionConfig"); | |
local_8._0_1_ = 0xe6; | |
FUN_00842dd0(material->explosion_config,&local_30); | |
destruct_string(&local_30); | |
} | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
FUN_0042c3a0(0x108); | |
char_star_to_std_string | |
(&local_30, | |
"d:\\projects\\nollagames\\fallingeverything\\build\\vc12\\..\\..\\source\\gr id\\cells\\cellfactory.cpp" | |
); | |
local_8._0_1_ = 0xe7; | |
FUN_0042c3b0(&local_30); | |
local_8._0_1_ = 0x10; | |
destruct_string(&local_30); | |
char_star_to_std_string(local_48,"ExplosionConfig"); | |
local_8._0_1_ = 0xe8; | |
FUN_00842df0(material->explosion_config,local_48); | |
destruct_string((std_string *)local_48); | |
} | |
} | |
} | |
} | |
} | |
material->_100_minus_autoignition_temp = 100 - material->autoignition_temperature; | |
FUN_004296f0(); | |
local_8._0_1_ = 0xe9; | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
local_110 = &material->field_0x23c; | |
cVar3 = FUN_00437990(); | |
if (cVar3 == '\0') { | |
FUN_00429780(local_1d0); | |
local_8 = CONCAT31(local_8._1_3_,0xea); | |
pcVar9 = 0; | |
crackability = FUN_00437970(); | |
if (crackability != 0) { | |
do { | |
puVar15 = (undefined4 *)FUN_004379a0(pcVar9); | |
FUN_00444d50(local_1c0,puVar15); | |
crackability = FUN_00437970(); | |
if (pcVar9 != crackability - 1U) { | |
ostream_<<_char_star(local_1c0,", "); | |
} | |
pcVar9 = pcVar9 + 1; | |
uVar14 = FUN_00437970(); | |
material = local_118; | |
} while (pcVar9 < uVar14); | |
} | |
psVar4 = (std_string *)FUN_00429840(&local_78); | |
std_string::move_assign((std_string *)(local_d8 + 0x18),psVar4); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0xe9; | |
FUN_004296a0(); | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_std_string(local_d8 + 0x18); | |
local_8._0_1_ = 0xeb; | |
char_star_to_std_string(&local_30,"tags"); | |
local_8._0_1_ = 0xec; | |
FUN_0042be70(&local_30,&local_3c); | |
destruct_string(&local_30); | |
local_8._0_1_ = 0xe9; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_30,"tags"); | |
psVar4 = &local_30; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_30,"tags"); | |
psVar4 = &local_30; | |
local_8._0_1_ = 0xed; | |
pCVar6 = (CXmlNode *)FUN_0042be60(psVar4,extraout_ECX_15); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
psVar4 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign((std_string *)(local_d8 + 0x18),psVar4); | |
destruct_string(&local_78); | |
local_8._0_1_ = 0xe9; | |
destruct_string(&local_30); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if ((filesys_state) && (cVar3 = FUN_004375f0(), cVar3 == '\0')) { | |
FUN_00437a90(); | |
char_star_to_std_string(&local_30,","); | |
local_8._0_1_ = 0xee; | |
FUN_0041cd40(local_d8 + 0x18); | |
FUN_00c3dc30(0); | |
local_8 = CONCAT31(local_8._1_3_,0xf0); | |
destruct_string(&local_30); | |
pcVar9 = 0; | |
crackability = FUN_00437970(); | |
if (crackability != 0) { | |
do { | |
uVar5 = FUN_004379a0(pcVar9); | |
FUN_0041cd40(uVar5); | |
FUN_00c3e370(); | |
local_8._0_1_ = 0xf1; | |
FUN_0043f1b0((undefined4 *)&material->field_0x23c,&local_60); | |
local_8 = CONCAT31(local_8._1_3_,0xf0); | |
destruct_string(&local_60); | |
pcVar9 = pcVar9 + 1; | |
uVar14 = FUN_00437970(); | |
} while (pcVar9 < uVar14); | |
} | |
puVar15 = (undefined4 *)FUN_00438c50(&local_110); | |
puVar16 = (undefined4 *)FUN_007b9b80(&local_120); | |
FUN_00831180(*puVar16,*puVar15); | |
local_8._0_1_ = 0xe9; | |
FUN_00437930(&local_3c); | |
material = local_118; | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->danger_fire); | |
local_8._0_1_ = 0xf2; | |
char_star_to_std_string(&local_60,"danger_fire"); | |
local_8._0_1_ = 0xf3; | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8._0_1_ = 0xe9; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"danger_fire"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"danger_fire"); | |
psVar4 = &local_60; | |
local_8._0_1_ = 0xf4; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->danger_fire = filesys_state; | |
local_8._0_1_ = 0xe9; | |
destruct_string(&local_60); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->danger_radioactive); | |
local_8._0_1_ = 0xf5; | |
char_star_to_std_string(&local_60,"danger_radioactive"); | |
local_8._0_1_ = 0xf6; | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8._0_1_ = 0xe9; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"danger_radioactive"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"danger_radioactive"); | |
psVar4 = &local_60; | |
local_8._0_1_ = 0xf7; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->danger_radioactive = filesys_state; | |
local_8._0_1_ = 0xe9; | |
destruct_string(&local_60); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->danger_poison); | |
local_8._0_1_ = 0xf8; | |
char_star_to_std_string(&local_60,"danger_poison"); | |
local_8._0_1_ = 0xf9; | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8._0_1_ = 0xe9; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"danger_poison"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"danger_poison"); | |
psVar4 = &local_60; | |
local_8._0_1_ = 0xfa; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->danger_poison = filesys_state; | |
local_8._0_1_ = 0xe9; | |
destruct_string(&local_60); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->danger_water); | |
local_8._0_1_ = 0xfb; | |
char_star_to_std_string(&local_60,"danger_water"); | |
local_8._0_1_ = 0xfc; | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8._0_1_ = 0xe9; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"danger_water"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"danger_water"); | |
psVar4 = &local_60; | |
local_8._0_1_ = 0xfd; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->danger_water = filesys_state; | |
local_8._0_1_ = 0xe9; | |
destruct_string(&local_60); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
FUN_0042c3a0(0x140); | |
char_star_to_std_string | |
(&local_60, | |
"d:\\projects\\nollagames\\fallingeverything\\build\\vc12\\..\\..\\source\\grid\\cell s\\cellfactory.cpp" | |
); | |
local_8._0_1_ = 0xfe; | |
FUN_0042c3b0(&local_60); | |
local_8._0_1_ = 0xe9; | |
destruct_string(&local_60); | |
char_star_to_std_string(&local_30,"StatusEffects"); | |
local_8._0_1_ = 0xff; | |
cVar3 = FUN_0042c240(&local_30); | |
local_8._0_1_ = 0xe9; | |
destruct_string(&local_30); | |
if (cVar3 == '\0') goto LAB_0068c0da; | |
char_star_to_std_string(&local_60,"StatusEffects"); | |
local_8 = 0x100; | |
FUN_00842e20(&material->field_0x24c,&local_60); | |
psVar4 = &local_60; | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (!filesys_state) goto LAB_0068c0da; | |
FUN_0042c3a0(0x140); | |
char_star_to_std_string | |
(&local_60, | |
"d:\\projects\\nollagames\\fallingeverything\\build\\vc12\\..\\..\\source\\grid\\cell s\\cellfactory.cpp" | |
); | |
local_8 = 0x101; | |
FUN_0042c3b0(&local_60); | |
local_8 = 0xe9; | |
destruct_string(&local_60); | |
char_star_to_std_string(&local_30,"StatusEffects"); | |
local_8 = 0x102; | |
FUN_00842e40(&material->field_0x24c,&local_30); | |
psVar4 = &local_30; | |
} | |
local_8._0_1_ = 0xe9; | |
local_8._1_3_ = 0; | |
destruct_string(psVar4); | |
LAB_0068c0da: | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
FUN_004296f0(); | |
local_8 = 0x103; | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_std_string(&local_30); | |
local_8._0_1_ = 4; | |
char_star_to_std_string(&local_60,"status_effects"); | |
local_8._0_1_ = 5; | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8 = CONCAT31(local_8._1_3_,3); | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"status_effects"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"status_effects"); | |
psVar4 = &local_60; | |
local_8._0_1_ = 6; | |
pCVar6 = (CXmlNode *)FUN_0042be60(psVar4,extraout_ECX_16); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
psVar4 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&local_30,psVar4); | |
destruct_string(&local_78); | |
local_8 = CONCAT31(local_8._1_3_,3); | |
destruct_string(&local_60); | |
} | |
} | |
} | |
FUN_0068ccf0(); | |
cVar3 = FUN_004375f0(); | |
if (cVar3 == '\0') { | |
local_114 = FUN_00a8d190(); | |
} | |
if (local_114 != 0) { | |
FUN_007bf9e0(&local_114); | |
} | |
local_8._0_1_ = 0xe9; | |
local_8._1_3_ = 0; | |
destruct_string(&local_30); | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->always_ignites_damagemodel); | |
local_8 = 0x107; | |
char_star_to_std_string(&local_60,"always_ignites_damagemodel"); | |
local_8 = CONCAT31(local_8._1_3_,8); | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8._0_1_ = 0xe9; | |
local_8._1_3_ = 0; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"always_ignites_damagemodel"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"always_ignites_damagemodel"); | |
psVar4 = &local_60; | |
local_8 = 0x109; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->always_ignites_damagemodel = filesys_state; | |
local_8._0_1_ = 0xe9; | |
local_8._1_3_ = 0; | |
destruct_string(&local_60); | |
} | |
} | |
} | |
FUN_0048fba0(); | |
local_8 = 0x10a; | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_std_string(&local_90); | |
local_8._0_1_ = 0xb; | |
char_star_to_std_string(&local_60,"audio_physics_material_event"); | |
local_8._0_1_ = 0xc; | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8 = CONCAT31(local_8._1_3_,10); | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"audio_physics_material_event"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"audio_physics_material_event"); | |
psVar4 = &local_60; | |
local_8._0_1_ = 0xd; | |
pCVar6 = (CXmlNode *)FUN_0042be60(psVar4,extraout_ECX_17); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
psVar4 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&local_90,psVar4); | |
destruct_string(&local_78); | |
local_8 = CONCAT31(local_8._1_3_,10); | |
destruct_string(&local_60); | |
} | |
} | |
} | |
uVar5 = FUN_0048f9e0(); | |
*(undefined4 *)&material->field_0x268 = uVar5; | |
psVar4 = (std_string *)FUN_0048fba0(); | |
std_string::move_assign(&local_90,psVar4); | |
destruct_string(&local_78); | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_std_string(&local_90); | |
local_8._0_1_ = 0xe; | |
char_star_to_std_string(&local_60,"audio_physics_material_wall"); | |
local_8._0_1_ = 0xf; | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8 = CONCAT31(local_8._1_3_,10); | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"audio_physics_material_wall"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"audio_physics_material_wall"); | |
psVar4 = &local_60; | |
local_8._0_1_ = 0x10; | |
pCVar6 = (CXmlNode *)FUN_0042be60(psVar4,extraout_ECX_18); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
psVar4 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&local_90,psVar4); | |
destruct_string(&local_78); | |
local_8 = CONCAT31(local_8._1_3_,10); | |
destruct_string(&local_60); | |
} | |
} | |
} | |
uVar5 = FUN_0048f9e0(); | |
*(undefined4 *)&material->field_0x26c = uVar5; | |
psVar4 = (std_string *)FUN_0048fba0(); | |
std_string::move_assign(&local_90,psVar4); | |
destruct_string(&local_78); | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_std_string(&local_90); | |
local_8._0_1_ = 0x11; | |
char_star_to_std_string(&local_60,"audio_physics_material_solid"); | |
local_8._0_1_ = 0x12; | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8 = CONCAT31(local_8._1_3_,10); | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"audio_physics_material_solid"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"audio_physics_material_solid"); | |
psVar4 = &local_60; | |
local_8._0_1_ = 0x13; | |
pCVar6 = (CXmlNode *)FUN_0042be60(psVar4,extraout_ECX_19); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
psVar4 = (std_string *)std_string_from_CAnyContainer((undefined *)&local_78,crackability); | |
std_string::move_assign(&local_90,psVar4); | |
destruct_string(&local_78); | |
local_8 = CONCAT31(local_8._1_3_,10); | |
destruct_string(&local_60); | |
} | |
} | |
} | |
uVar5 = FUN_0048f9e0(); | |
*(undefined4 *)&material->field_0x270 = uVar5; | |
char_star_to_std_string(&local_60,"audio_materialaudio_type"); | |
local_8._0_1_ = 0x14; | |
FUN_00842e70(&material->field_0x27c); | |
FUN_00489a10(&local_60); | |
local_8._0_1_ = 10; | |
destruct_string(&local_60); | |
char_star_to_std_string(&local_30,"audio_materialbreakaudio_type"); | |
local_8._0_1_ = 0x15; | |
FUN_00842e90(&material->field_0x280); | |
FUN_00489c40(&local_30); | |
local_8._0_1_ = 10; | |
destruct_string(&local_30); | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_float((int *)&local_3c,&material->audio_size_multiplier); | |
local_8._0_1_ = 0x16; | |
char_star_to_std_string(&local_60,"audio_size_multiplier"); | |
local_8._0_1_ = 0x17; | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8._0_1_ = 10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"audio_size_multiplier"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"audio_size_multiplier"); | |
psVar4 = &local_60; | |
local_8._0_1_ = 0x18; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
fVar7 = float_from_CAnyContainer(crackability); | |
material->audio_size_multiplier = fVar7; | |
local_8._0_1_ = 10; | |
destruct_string(&local_60); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->audio_is_soft); | |
local_8._0_1_ = 0x19; | |
char_star_to_std_string(&local_60,"audio_is_soft"); | |
local_8._0_1_ = 0x1a; | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8._0_1_ = 10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"audio_is_soft"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"audio_is_soft"); | |
psVar4 = &local_60; | |
local_8._0_1_ = 0x1b; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->audio_is_soft = filesys_state; | |
local_8._0_1_ = 10; | |
destruct_string(&local_60); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->show_in_creative_mode); | |
local_8._0_1_ = 0x1c; | |
char_star_to_std_string(&local_60,"show_in_creative_mode"); | |
local_8._0_1_ = 0x1d; | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8._0_1_ = 10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"show_in_creative_mode"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"show_in_creative_mode"); | |
psVar4 = &local_60; | |
local_8._0_1_ = 0x1e; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->show_in_creative_mode = filesys_state; | |
local_8._0_1_ = 10; | |
destruct_string(&local_60); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
CAnyContainer_from_bool((int *)&local_3c,&material->is_just_particle_fx); | |
local_8._0_1_ = 0x1f; | |
char_star_to_std_string(&local_60,"is_just_particle_fx"); | |
local_8._0_1_ = 0x20; | |
FUN_0042be70(&local_60,&local_3c); | |
destruct_string(&local_60); | |
local_8._0_1_ = 10; | |
FUN_0042bc70(); | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"is_just_particle_fx"); | |
psVar4 = &local_60; | |
uVar5 = FUN_0042be60(); | |
cVar3 = HasAttribute(uVar5,psVar4); | |
destruct_string(&local_60); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"is_just_particle_fx"); | |
psVar4 = &local_60; | |
local_8._0_1_ = 0x21; | |
pCVar6 = (CXmlNode *)FUN_0042be60(); | |
crackability = ceng::CXmlNode::GetAttributeValue(pCVar6,psVar4); | |
filesys_state = bool_from_CAnyContainer(crackability); | |
material->is_just_particle_fx = filesys_state; | |
local_8._0_1_ = 10; | |
destruct_string(&local_60); | |
} | |
} | |
} | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if ((filesys_state) && (*(int *)&material->field_0x288 != 0)) { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
FUN_0042c3a0(0x16c); | |
char_star_to_std_string | |
(&local_60, | |
"d:\\projects\\nollagames\\fallingeverything\\build\\vc12\\..\\..\\source\\grid\\ce lls\\cellfactory.cpp" | |
); | |
local_8._0_1_ = 0x22; | |
FUN_0042c3b0(&local_60); | |
local_8._0_1_ = 10; | |
destruct_string(&local_60); | |
char_star_to_std_string(&local_30,"ParticleEffect"); | |
local_8._0_1_ = 0x23; | |
cVar3 = FUN_0042c240(&local_30); | |
local_8._0_1_ = 10; | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"ParticleEffect"); | |
local_8._0_1_ = 0x24; | |
FUN_00842eb0(*(undefined4 *)&material->field_0x288,&local_60); | |
destruct_string(&local_60); | |
} | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
FUN_0042c3a0(0x16c); | |
char_star_to_std_string | |
(&local_60, | |
"d:\\projects\\nollagames\\fallingeverything\\build\\vc12\\..\\..\\source\\grid\\ cells\\cellfactory.cpp" | |
); | |
local_8._0_1_ = 0x25; | |
FUN_0042c3b0(&local_60); | |
local_8._0_1_ = 10; | |
destruct_string(&local_60); | |
char_star_to_std_string(&local_30,"ParticleEffect"); | |
local_8._0_1_ = 0x26; | |
FUN_00842ed0(*(undefined4 *)&material->field_0x288,&local_30); | |
destruct_string(&local_30); | |
} | |
} | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
char_star_to_std_string(&local_60,"ParticleEffect"); | |
local_8._0_1_ = 0x27; | |
cVar3 = FUN_0042c240(&local_60); | |
local_8._0_1_ = 10; | |
destruct_string(&local_60); | |
if (cVar3 == '\0') { | |
if (*(undefined4 **)&material->field_0x288 != (undefined4 *)0x0) { | |
(**(code **)**(undefined4 **)&material->field_0x288)(1); | |
} | |
*(undefined4 *)&material->field_0x288 = 0; | |
} | |
else { | |
if (*(int *)&material->field_0x288 == 0) { | |
local_110 = operator_new(0x54); | |
local_8._0_1_ = 0x28; | |
if (local_110 == (void *)0x0) { | |
uVar5 = 0; | |
} | |
else { | |
uVar5 = FUN_005683e0(); | |
} | |
local_8._0_1_ = 10; | |
*(undefined4 *)&material->field_0x288 = uVar5; | |
} | |
filesys_state = ceng::CXmlFileSys::IsReading(filesys); | |
if (filesys_state) { | |
FUN_0042c3a0(0x173); | |
char_star_to_std_string | |
(&local_60, | |
"d:\\projects\\nollagames\\fallingeverything\\build\\vc12\\..\\..\\source\\grid \\cells\\cellfactory.cpp" | |
); | |
local_8._0_1_ = 0x29; | |
FUN_0042c3b0(&local_60); | |
local_8._0_1_ = 10; | |
destruct_string(&local_60); | |
char_star_to_std_string(&local_30,"ParticleEffect"); | |
local_8._0_1_ = 0x2a; | |
cVar3 = FUN_0042c240(&local_30); | |
local_8._0_1_ = 10; | |
destruct_string(&local_30); | |
if (cVar3 != '\0') { | |
char_star_to_std_string(&local_60,"ParticleEffect"); | |
local_8._0_1_ = 0x2b; | |
FUN_00842eb0(*(undefined4 *)&material->field_0x288,&local_60); | |
destruct_string(&local_60); | |
} | |
} | |
else { | |
filesys_state = ceng::CXmlFileSys::IsWriting(filesys); | |
if (filesys_state) { | |
FUN_0042c3a0(0x173); | |
char_star_to_std_string | |
(&local_60, | |
"d:\\projects\\nollagames\\fallingeverything\\build\\vc12\\..\\..\\source\\gr id\\cells\\cellfactory.cpp" | |
); | |
local_8._0_1_ = 0x2c; | |
FUN_0042c3b0(&local_60); | |
local_8._0_1_ = 10; | |
destruct_string(&local_60); | |
char_star_to_std_string(&local_78,"ParticleEffect"); | |
local_8._0_1_ = 0x2d; | |
FUN_00842ed0(*(undefined4 *)&material->field_0x288,&local_78); | |
destruct_string(&local_78); | |
} | |
} | |
} | |
} | |
} | |
destruct_string(&local_90); | |
destruct_string((std_string *)(local_d8 + 0x18)); | |
destruct_string(&local_a8); | |
destruct_string((std_string *)(local_108 + 0x18)); | |
*unaff_FS_OFFSET = local_10; | |
stack_guard_security_thingy((uint)local_18 ^ (uint)&stack0xfffffffc); | |
return; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment