The party flag of NET_D2GS_SERVER_Send_0x8B_PlayerRelationship is a bool
Ghidra v1899 · 8222e32
The callee copies the stack byte unchanged into the packet's bool field D2GSPacketSrv0x8B.bInParty (+5): 0053ddc6 MOV AL,byte ptr [EBP+0x8] / 0053ddd9 MOV byte ptr [EBP-0x3],AL. Storing a byte into a bool needs normalisation (CMP byte ptr [EBP+0x8],0 / SETNE AL); there is none, so the argument already is a bool. The only caller passes the low byte of the BOOL list-entry flag bIsPartied (+0xc), a 0/1 value: Send0x8bRelationshipStatus 0055b49c MOVZX EAX,byte ptr [EAX+0xc] / 0055b4a0 PUSH EAX / 0055b4b6 CALL 0x0053ddc0. Same shape as the Send_0x8E builders. Type only; name kept.
Changes 1, applied together
Set prototype
win 0x0053ddc0signaturevoid NET_D2GS_SERVER_Send_0x8B_PlayerRelationship(D2ClientStrc * pClient, uint32_t dwTargetArg, byte byTypeArg)→void NET_D2GS_SERVER_Send_0x8B_PlayerRelationship(D2ClientStrc * pClient, uint32_t dwTargetArg, bool byTypeArg)convention__fastcall