Comment spawn struct for RoF2

These should change anything, just useful comments for clean up
This commit is contained in:
Michael Cook (mackal) 2017-07-29 15:37:35 -04:00
parent 0b11340c4e
commit 02b7e3fafb
2 changed files with 29 additions and 15 deletions

View File

@ -4276,19 +4276,19 @@ namespace RoF2
VARSTRUCT_ENCODE_STRING(Buffer, emu->lastName);
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0); // aatitle ??
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0); // aatitle
VARSTRUCT_ENCODE_TYPE(uint8, Buffer, emu->NPC ? 0 : 1); // unknown - Must be 1 for guild name to be shown abover players head.
VARSTRUCT_ENCODE_TYPE(uint8, Buffer, 0); // unknown
VARSTRUCT_ENCODE_TYPE(uint8, Buffer, 0); // TempPet
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, emu->petOwnerId);
VARSTRUCT_ENCODE_TYPE(uint8, Buffer, 0); // unknown13
VARSTRUCT_ENCODE_TYPE(uint8, Buffer, 0); // FindBits MQ2 name
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, emu->PlayerState);
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0); // unknown15
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0); // unknown16
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0); // unknown17
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0xffffffff); // unknown18
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0xffffffff); // unknown19
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0); // NpcTintIndex
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0); // PrimaryTintIndex
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0); // SecondaryTintIndex
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0xffffffff); // These do something with OP_WeaponEquip1
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0xffffffff); // ^
if ((emu->NPC == 0) || (emu->race <= 12) || (emu->race == 128) || (emu->race == 130) || (emu->race == 330) || (emu->race == 522))
{
@ -4358,10 +4358,11 @@ namespace RoF2
Buffer += 8;
VARSTRUCT_ENCODE_TYPE(uint8, Buffer, emu->IsMercenary);
VARSTRUCT_ENCODE_STRING(Buffer, "0000000000000000");
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0xffffffff);
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0xffffffff);
VARSTRUCT_ENCODE_STRING(Buffer, "0000000000000000"); // RealEstateItemGuid
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0xffffffff); // RealEstateID
VARSTRUCT_ENCODE_TYPE(uint32, Buffer, 0xffffffff); // RealEstateItemID
// 29 zero bytes follow
// PhysicsEffects follow here ... unsure what they are but it's a count followed by a struct like {spellid, casterid, effectid, baseeffect}
Buffer += 29;
if (Buffer != (BufferStart + PacketSize))
{

View File

@ -328,6 +328,7 @@ showeq -> eqemu
sed -e 's/_t//g' -e 's/seto_0xFF/set_to_0xFF/g'
*/
// I think this is actually 5 bytes
struct Spawn_Struct_Bitfields
{
/*00*/ unsigned gender:2; // Gender (0=male, 1=female, 2=monster)
@ -337,7 +338,7 @@ struct Spawn_Struct_Bitfields
/*06*/ unsigned gm:1;
/*06*/ unsigned sneak:1;
/*08*/ unsigned lfg:1;
/*09*/ unsigned unknown09:1;
/*09*/ unsigned betabuffed:1;
/*10*/ unsigned invis:1; // May have invis & sneak the wrong way around ... not sure how to tell which is which
/*11*/ unsigned invis1:1; // GM Invis? Can only be seen with #gm on - same for the below
/*12*/ unsigned invis2:1; // This one also make the NPC/PC invis
@ -354,12 +355,24 @@ struct Spawn_Struct_Bitfields
/*23*/ unsigned showhelm:1;
/*24*/ unsigned unknown24:1; // Prefixes name with !
/*25*/ unsigned trader:1;
/*26*/ unsigned unknown26:1;
/*26*/ unsigned animationonpop:1;
/*27*/ unsigned targetable:1;
/*28*/ unsigned targetable_with_hotkey:1;
/*29*/ unsigned showname:1;
/*30*/ unsigned unknown30:1;
/*30*/ unsigned idleanimationsoff:1;
/*30*/ unsigned untargetable:1; // Untargetable with mouse
/* do these later
31 unsigned bclickthrough:1;
32 unsigned unknown32:1;
33 unsigned buyer:1;
34 unsigned offline:1;
35 unsigned interactiveobject:1;
36 unsigned flung:1; // hmm this vfunc appears to do stuff with lev and flung variables
37 unsigned title:1;
38 unsigned suffix:1;
39 padding
40 padding
*/
/*
// Unknown in RoF2
unsigned betabuffed:1;
@ -498,7 +511,7 @@ struct Spawn_Struct
/*0000*/ //char title[0]; // only read if(hasTitleOrSuffix & 4)
/*0000*/ //char suffix[0]; // only read if(hasTitleOrSuffix & 8)
char unknown20[8];
char unknown20[8]; // 2 ints, first unknown, 2nd SplineID
uint8 IsMercenary; // If NPC == 1 and this == 1, then the NPC name is Orange.
/*0000*/ char unknown21[55];
};