Follow-up for Titanium client - item weight fix (WARNING: re-run shared_memory; Note: re-run cmake; see changelog.txt)

This commit is contained in:
Uleat 2016-01-26 19:02:07 -05:00
parent 09739942c6
commit 430be0f2b7
5 changed files with 36 additions and 10 deletions

View File

@ -2,6 +2,9 @@ EQEMu Changelog (Started on Sept 24, 2003 15:50)
-------------------------------------------------------
== 01/26/2016 ==
Uleat: Fix for Berserker 'Piercing' skill issues. Server Admins: If you run custom skill sets, this patch touches the code segments that you will need to modify if you have changed the default berserker 1H-/2H-piercing skill values.
Uleat (Daerath): Fix for precision-loss item weight conversions in older clients.
- WARNING: YOU MUST RE-RUN SHARED_MEMORY.EXE BEFORE STARTING SERVER OR ITEM LOSS WILL OCCUR!
- Note: Cmake must be re-run to include/exclude the required files
== 01/13/2016 ==
Kinglykrab: Modified #flag so you can refresh your target's account status (GM status level) without them having to relog.

View File

@ -213,7 +213,8 @@ SET(common_headers
patches/rof2_structs.h
patches/titanium.h
patches/titanium_constants.h
patches/titanium_itemfields.h
patches/titanium_itemfields_a.h
patches/titanium_itemfields_b.h
patches/titanium_ops.h
patches/titanium_structs.h
patches/uf.h
@ -265,7 +266,8 @@ SOURCE_GROUP(Patches FILES
patches/rof2_constants.h
patches/rof2_structs.h
patches/titanium.h
patches/titanium_itemfields.h
patches/titanium_itemfields_a.h
patches/titanium_itemfields_b.h
patches/titanium_ops.h
patches/titanium_constants.h
patches/titanium_structs.h

View File

@ -2126,7 +2126,9 @@ namespace Titanium
#define C(field) "|%s"
#define S(field) "|%s"
#define F(field) "|%f"
#include "titanium_itemfields.h"
#include "titanium_itemfields_a.h"
"|%i" // mask for item->Weight
#include "titanium_itemfields_b.h"
"%.*s\"" // Quotes (and protection, if needed) around static data
"|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s" // Sub items
"%.*s%s" // For trailing quotes (and protection) if a subitem;
@ -2138,7 +2140,9 @@ namespace Titanium
#define C(field) ,field
#define S(field) ,item->field
#define F(field) ,item->field
#include "titanium_itemfields.h"
#include "titanium_itemfields_a.h"
, ((item->Weight > 255) ? (255) : (item->Weight))
#include "titanium_itemfields_b.h"
, depth, protection
, sub_items[0] ? sub_items[0] : ""
, sub_items[1] ? sub_items[1] : ""

View File

@ -0,0 +1,19 @@
/*
These fields must be in the order of how they are serialized!
*/
/* 000 */ //I(ItemClass) Leave this one off on purpose
/* 001 */ S(Name)
/* 002 */ S(Lore)
/* 003 */ S(IDFile)
/* 004 */ I(ID)
/* 005 */ //I(Weight) handled manually
// titanium_itemfields_b.h

View File

@ -8,12 +8,10 @@ These fields must be in the order of how they are serialized!
*/
/* 000 */ //I(ItemClass) Leave this one off on purpose
/* 001 */ S(Name)
/* 002 */ S(Lore)
/* 003 */ S(IDFile)
/* 004 */ I(ID)
/* 005 */ I(Weight)
// titanium_itemfields_a.h
/* 005 */ //I(Weight) handled manually
/* 006 */ I(NoRent)
/* 007 */ I(NoDrop)
/* 008 */ I(Size)