mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
Texture work
This commit is contained in:
@@ -1184,15 +1184,15 @@ struct SpecialMesg_Struct
|
||||
** When somebody changes what they're wearing or give a pet a weapon (model changes)
|
||||
** Length: 19 Bytes
|
||||
*/
|
||||
struct WearChange_Struct{
|
||||
/*000*/ uint16 spawn_id;
|
||||
/*002*/ uint32 material;
|
||||
/*006*/ uint32 unknown06;
|
||||
/*010*/ uint32 elite_material; // 1 for Drakkin Elite Material
|
||||
/*014*/ uint32 hero_forge_model; // New to VoA
|
||||
/*018*/ uint32 unknown18; // New to RoF
|
||||
struct WearChange_Struct {
|
||||
/*000*/ uint16 spawn_id;
|
||||
/*002*/ uint32 material;
|
||||
/*006*/ uint32 unknown06;
|
||||
/*010*/ uint32 elite_material; // 1 for Drakkin Elite Material
|
||||
/*014*/ uint32 hero_forge_model; // New to VoA
|
||||
/*018*/ uint32 unknown18; // New to RoF
|
||||
/*022*/ EQEmu::textures::Tint_Struct color;
|
||||
/*026*/ uint8 wear_slot_id;
|
||||
/*026*/ uint8 wear_slot_id;
|
||||
/*027*/
|
||||
};
|
||||
|
||||
|
||||
@@ -93,6 +93,7 @@ namespace Logs {
|
||||
Traps,
|
||||
NPCRoamBox,
|
||||
NPCScaling,
|
||||
MobAppearance,
|
||||
MaxCategoryID /* Don't Remove this */
|
||||
};
|
||||
|
||||
@@ -151,7 +152,8 @@ namespace Logs {
|
||||
"Food",
|
||||
"Traps",
|
||||
"NPC Roam Box",
|
||||
"NPC Scaling"
|
||||
"NPC Scaling",
|
||||
"Mob Appearance"
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -84,6 +84,7 @@ EQEmu::ItemInstance::ItemInstance(const ItemData* item, int16 charges) {
|
||||
m_ornamentidfile = 0;
|
||||
m_ornament_hero_model = 0;
|
||||
m_recast_timestamp = 0;
|
||||
m_new_id_file = 0;
|
||||
}
|
||||
|
||||
EQEmu::ItemInstance::ItemInstance(SharedDatabase *db, uint32 item_id, int16 charges) {
|
||||
@@ -117,6 +118,7 @@ EQEmu::ItemInstance::ItemInstance(SharedDatabase *db, uint32 item_id, int16 char
|
||||
m_ornamentidfile = 0;
|
||||
m_ornament_hero_model = 0;
|
||||
m_recast_timestamp = 0;
|
||||
m_new_id_file = 0;
|
||||
}
|
||||
|
||||
EQEmu::ItemInstance::ItemInstance(ItemInstTypes use_type) {
|
||||
@@ -138,6 +140,7 @@ EQEmu::ItemInstance::ItemInstance(ItemInstTypes use_type) {
|
||||
m_ornamentidfile = 0;
|
||||
m_ornament_hero_model = 0;
|
||||
m_recast_timestamp = 0;
|
||||
m_new_id_file = 0;
|
||||
}
|
||||
|
||||
// Make a copy of an EQEmu::ItemInstance object
|
||||
@@ -195,6 +198,7 @@ EQEmu::ItemInstance::ItemInstance(const ItemInstance& copy)
|
||||
m_ornamentidfile = copy.m_ornamentidfile;
|
||||
m_ornament_hero_model = copy.m_ornament_hero_model;
|
||||
m_recast_timestamp = copy.m_recast_timestamp;
|
||||
m_new_id_file = copy.m_new_id_file;
|
||||
}
|
||||
|
||||
// Clean up container contents
|
||||
|
||||
@@ -203,6 +203,8 @@ namespace EQEmu
|
||||
void SetOrnamentIcon(uint32 ornament_icon) { m_ornamenticon = ornament_icon; }
|
||||
uint32 GetOrnamentationIDFile() const { return m_ornamentidfile; }
|
||||
void SetOrnamentationIDFile(uint32 ornament_idfile) { m_ornamentidfile = ornament_idfile; }
|
||||
uint32 GetNewIDFile() const { return m_new_id_file; }
|
||||
void SetNewIDFile(uint32 new_id_file) { m_new_id_file = new_id_file; }
|
||||
uint32 GetOrnamentHeroModel(int32 material_slot = -1) const;
|
||||
void SetOrnamentHeroModel(uint32 ornament_hero_model) { m_ornament_hero_model = ornament_hero_model; }
|
||||
uint32 GetRecastTimestamp() const { return m_recast_timestamp; }
|
||||
@@ -306,6 +308,7 @@ namespace EQEmu
|
||||
bool m_scaling;
|
||||
uint32 m_ornamenticon;
|
||||
uint32 m_ornamentidfile;
|
||||
uint32 m_new_id_file;
|
||||
uint32 m_ornament_hero_model;
|
||||
uint32 m_recast_timestamp;
|
||||
|
||||
|
||||
@@ -5488,8 +5488,16 @@ namespace RoF2
|
||||
ob.write(item->Lore, strlen(item->Lore));
|
||||
ob.write("\0", 1);
|
||||
|
||||
if (strlen(item->IDFile) > 0)
|
||||
if (inst->GetNewIDFile() > 0) {
|
||||
char new_id_file[30];
|
||||
memset(new_id_file, 0x0, 30);
|
||||
sprintf(new_id_file, "IT%d", inst->GetNewIDFile());
|
||||
ob.write(new_id_file, strlen(new_id_file));
|
||||
}
|
||||
else if (strlen(item->IDFile) > 0) {
|
||||
ob.write(item->IDFile, strlen(item->IDFile));
|
||||
}
|
||||
|
||||
ob.write("\0", 1);
|
||||
|
||||
ob.write("\0", 1);
|
||||
|
||||
@@ -65,6 +65,12 @@ namespace EQEmu
|
||||
uint32 Unknown2; // same as material?
|
||||
};
|
||||
|
||||
struct InternalTexture_Struct {
|
||||
uint32 HerosForgeModel;
|
||||
uint32 Material;
|
||||
uint32 Color;
|
||||
};
|
||||
|
||||
struct TextureMaterial_Struct {
|
||||
uint32 Material;
|
||||
};
|
||||
@@ -100,6 +106,23 @@ namespace EQEmu
|
||||
};
|
||||
};
|
||||
|
||||
struct InternalTextureProfile {
|
||||
union {
|
||||
struct {
|
||||
textures::InternalTexture_Struct Head;
|
||||
textures::InternalTexture_Struct Chest;
|
||||
textures::InternalTexture_Struct Arms;
|
||||
textures::InternalTexture_Struct Wrist;
|
||||
textures::InternalTexture_Struct Hands;
|
||||
textures::InternalTexture_Struct Legs;
|
||||
textures::InternalTexture_Struct Feet;
|
||||
textures::InternalTexture_Struct Primary;
|
||||
textures::InternalTexture_Struct Secondary;
|
||||
};
|
||||
textures::InternalTexture_Struct Slot[textures::materialCount];
|
||||
};
|
||||
};
|
||||
|
||||
struct TextureMaterialProfile {
|
||||
union {
|
||||
struct {
|
||||
|
||||
Reference in New Issue
Block a user