| 92 | } |
| 93 | |
| 94 | void NetSendHiPri(BYTE *pbMsg, BYTE bLen) |
| 95 | { |
| 96 | BYTE *hipri_body; |
| 97 | BYTE *lowpri_body; |
| 98 | DWORD len; |
| 99 | TPkt pkt; |
| 100 | int size; |
| 101 | |
| 102 | if (pbMsg && bLen) { |
| 103 | multi_copy_packet(&sgHiPriBuf, pbMsg, bLen); |
| 104 | multi_send_packet(pbMsg, bLen); |
| 105 | } |
| 106 | if (!gbShouldValidatePackage) { |
| 107 | gbShouldValidatePackage = TRUE; |
| 108 | NetRecvPlrData(&pkt); |
| 109 | size = gdwNormalMsgSize - sizeof(TPktHdr); |
| 110 | hipri_body = multi_recv_packet(&sgHiPriBuf, pkt.body, &size); |
| 111 | lowpri_body = multi_recv_packet(&sgLoPriBuf, hipri_body, &size); |
| 112 | size = sync_all_monsters(lowpri_body, size); |
| 113 | len = gdwNormalMsgSize - size; |
| 114 | pkt.hdr.wLen = len; |
| 115 | if (!SNetSendMessage(-2, &pkt.hdr, len)) |
| 116 | nthread_terminate_game("SNetSendMessage"); |
| 117 | } |
| 118 | } |
| 119 | |
| 120 | BYTE *multi_recv_packet(TBuffer *pBuf, BYTE *body, int *size) |
| 121 | { |
no test coverage detected