Fix for model glitches resulting from a recent patch

This commit is contained in:
Uleat 2016-10-23 15:28:20 -04:00
parent 752821f22b
commit db7f0cc977
6 changed files with 13 additions and 29 deletions

View File

@ -3063,7 +3063,7 @@ namespace RoF
eq_cse->Equip[equip_index].Material = emu_cse->Equip[equip_index].Material; eq_cse->Equip[equip_index].Material = emu_cse->Equip[equip_index].Material;
eq_cse->Equip[equip_index].Unknown1 = emu_cse->Equip[equip_index].Unknown1; eq_cse->Equip[equip_index].Unknown1 = emu_cse->Equip[equip_index].Unknown1;
eq_cse->Equip[equip_index].EliteMaterial = emu_cse->Equip[equip_index].EliteModel; eq_cse->Equip[equip_index].EliteMaterial = emu_cse->Equip[equip_index].EliteModel;
eq_cse->Equip[equip_index].HeroForgeModel = emu_cse->Equip[equip_index].HeroicModel; eq_cse->Equip[equip_index].HeroForgeModel = emu_cse->Equip[equip_index].HerosForgeModel;
eq_cse->Equip[equip_index].Material2 = emu_cse->Equip[equip_index].Unknown2; eq_cse->Equip[equip_index].Material2 = emu_cse->Equip[equip_index].Unknown2;
eq_cse->Equip[equip_index].Color = emu_cse->Equip[equip_index].Color; eq_cse->Equip[equip_index].Color = emu_cse->Equip[equip_index].Color;
} }
@ -4109,7 +4109,7 @@ namespace RoF
Equipment[k].Material = emu->equipment.Slot[k].Material; Equipment[k].Material = emu->equipment.Slot[k].Material;
Equipment[k].Unknown1 = emu->equipment.Slot[k].Unknown1; Equipment[k].Unknown1 = emu->equipment.Slot[k].Unknown1;
Equipment[k].EliteMaterial = emu->equipment.Slot[k].EliteModel; Equipment[k].EliteMaterial = emu->equipment.Slot[k].EliteModel;
Equipment[k].HeroForgeModel = emu->equipment.Slot[k].HeroicModel; Equipment[k].HeroForgeModel = emu->equipment.Slot[k].HerosForgeModel;
Equipment[k].Material2 = emu->equipment.Slot[k].Unknown2; Equipment[k].Material2 = emu->equipment.Slot[k].Unknown2;
} }

View File

@ -3158,7 +3158,7 @@ namespace RoF2
eq_cse->Equip[equip_index].Material = emu_cse->Equip[equip_index].Material; eq_cse->Equip[equip_index].Material = emu_cse->Equip[equip_index].Material;
eq_cse->Equip[equip_index].Unknown1 = emu_cse->Equip[equip_index].Unknown1; eq_cse->Equip[equip_index].Unknown1 = emu_cse->Equip[equip_index].Unknown1;
eq_cse->Equip[equip_index].EliteMaterial = emu_cse->Equip[equip_index].EliteModel; eq_cse->Equip[equip_index].EliteMaterial = emu_cse->Equip[equip_index].EliteModel;
eq_cse->Equip[equip_index].HeroForgeModel = emu_cse->Equip[equip_index].HeroicModel; eq_cse->Equip[equip_index].HeroForgeModel = emu_cse->Equip[equip_index].HerosForgeModel;
eq_cse->Equip[equip_index].Material2 = emu_cse->Equip[equip_index].Unknown2; eq_cse->Equip[equip_index].Material2 = emu_cse->Equip[equip_index].Unknown2;
eq_cse->Equip[equip_index].Color = emu_cse->Equip[equip_index].Color; eq_cse->Equip[equip_index].Color = emu_cse->Equip[equip_index].Color;
} }
@ -4334,7 +4334,7 @@ namespace RoF2
Equipment[k].Material = emu->equipment.Slot[k].Material; Equipment[k].Material = emu->equipment.Slot[k].Material;
Equipment[k].Unknown1 = emu->equipment.Slot[k].Unknown1; Equipment[k].Unknown1 = emu->equipment.Slot[k].Unknown1;
Equipment[k].EliteMaterial = emu->equipment.Slot[k].EliteModel; Equipment[k].EliteMaterial = emu->equipment.Slot[k].EliteModel;
Equipment[k].HeroForgeModel = emu->equipment.Slot[k].HeroicModel; Equipment[k].HeroForgeModel = emu->equipment.Slot[k].HerosForgeModel;
Equipment[k].Material2 = emu->equipment.Slot[k].Unknown2; Equipment[k].Material2 = emu->equipment.Slot[k].Unknown2;
} }

View File

@ -58,27 +58,11 @@ namespace EQEmu
const int8 LastTintableTexture = tintFeet; const int8 LastTintableTexture = tintFeet;
struct Texture_Struct { struct Texture_Struct {
union { uint32 Material;
struct { uint32 Unknown1;
struct { uint32 EliteModel;
struct { uint32 HerosForgeModel;
uint32 _material; uint32 Unknown2; // same as material?
} _1_field;
uint32 _unknown1;
uint32 _elite_model;
} _3_fields;
uint32 _heroic_model;
uint32 _unknown2;
} _5_fields;
uint32 Material;
uint32 Unknown1;
uint32 EliteModel;
uint32 HeroicModel;
uint32 Unknown2; // same as material?
};
}; };
struct TextureMaterial_Struct { struct TextureMaterial_Struct {

View File

@ -120,7 +120,7 @@ void WorldDatabase::GetCharSelectInfo(uint32 accountID, EQApplicationPacket **ou
cse->Equip[matslot].Material = 0; cse->Equip[matslot].Material = 0;
cse->Equip[matslot].Unknown1 = 0; cse->Equip[matslot].Unknown1 = 0;
cse->Equip[matslot].EliteModel = 0; cse->Equip[matslot].EliteModel = 0;
cse->Equip[matslot].HeroicModel = 0; cse->Equip[matslot].HerosForgeModel = 0;
cse->Equip[matslot].Unknown2 = 0; cse->Equip[matslot].Unknown2 = 0;
cse->Equip[matslot].Color = 0; cse->Equip[matslot].Color = 0;
} }
@ -288,7 +288,7 @@ void WorldDatabase::GetCharSelectInfo(uint32 accountID, EQApplicationPacket **ou
// Armor Materials/Models // Armor Materials/Models
cse->Equip[matslot].Material = item->Material; cse->Equip[matslot].Material = item->Material;
cse->Equip[matslot].EliteModel = item->EliteMaterial; cse->Equip[matslot].EliteModel = item->EliteMaterial;
cse->Equip[matslot].HeroicModel = inst->GetOrnamentHeroModel(matslot); cse->Equip[matslot].HerosForgeModel = inst->GetOrnamentHeroModel(matslot);
cse->Equip[matslot].Color = color; cse->Equip[matslot].Color = color;
} }
} }

View File

@ -2963,7 +2963,7 @@ void Bot::FillSpawnStruct(NewSpawn_Struct* ns, Mob* ForWho) {
if (item != 0) { if (item != 0) {
ns->spawn.equipment.Slot[i].Material = item->Material; ns->spawn.equipment.Slot[i].Material = item->Material;
ns->spawn.equipment.Slot[i].EliteModel = item->EliteMaterial; ns->spawn.equipment.Slot[i].EliteModel = item->EliteMaterial;
ns->spawn.equipment.Slot[i].HeroicModel = item->HerosForgeModel; ns->spawn.equipment.Slot[i].HerosForgeModel = item->HerosForgeModel;
if (armor_tint.Slot[i].Color) if (armor_tint.Slot[i].Color)
ns->spawn.equipment_tint.Slot[i].Color = armor_tint.Slot[i].Color; ns->spawn.equipment_tint.Slot[i].Color = armor_tint.Slot[i].Color;
else else

View File

@ -1159,7 +1159,7 @@ void Mob::FillSpawnStruct(NewSpawn_Struct* ns, Mob* ForWho)
{ {
ns->spawn.equipment.Slot[i].Material = GetEquipmentMaterial(i); ns->spawn.equipment.Slot[i].Material = GetEquipmentMaterial(i);
ns->spawn.equipment.Slot[i].EliteModel = IsEliteMaterialItem(i); ns->spawn.equipment.Slot[i].EliteModel = IsEliteMaterialItem(i);
ns->spawn.equipment.Slot[i].HeroicModel = GetHerosForgeModel(i); ns->spawn.equipment.Slot[i].HerosForgeModel = GetHerosForgeModel(i);
ns->spawn.equipment_tint.Slot[i].Color = GetEquipmentColor(i); ns->spawn.equipment_tint.Slot[i].Color = GetEquipmentColor(i);
} }
} }