Originally Posted by
_Blank
Where would i find a method like that? I doubt runescape ever needed such a thing, and if there was an op code to define whether to hide or show arms, it wouldn't work, it shouldnt hide arms via the item itself, but the mode other players are on (refer back to op)
What? You do realize items defs are in your cache for both revisions meaning if there was an opcode, you would just need to access the correct index based on the player's mode? If it's just model id, then pack them.
And if there isn't an opcode, which there probably is (or maybe something in the appearance block you missed, that's another possibility), then jagex's only choice is to used the equivalent of an hidearms method which you will have to code based on the player mode and item id.
EDIT: I guess you'd have to change your update appearance block to have both "modes" shown. For example:
Code:
byte sleevesMask = 0;//0 being show nothing, 3 being show everything
if (!Equipment.hideArms(model, true))//boolean for olditemlooks
sleevesMask += 2;
if (!Equipment.hideArms(model, false))//boolean for olditemlooks
sleevesMask += 1;
stream.writeByte(sleevesMask);
model = player.getEquipment().getChestId();
if (model == -1)
stream.writeShort(0x100 + getSleevesModel()); //Shows the players sleeves//nulls the players sleeves, because the armour covers it
Then in the client:
Code:
byte sleevesMask = stream.readByte();
short sleevesId = stream.readShort();
if (OLD_ITEMS_LOOKS)
if (sleevesMask & 0x2 != 0)
sleevesId = 0;
else
if (sleevesMask & 0x1 != 0)
sleevesId = 0;
As chucky said, new/old items never existed for Jagex so it's impossible they have a solution to this problem. You'll have to make additional fixes that Jagex didn't do.