Network
CNetwork, CPacket handlers, PacketCrypto, CSocketManager, CNetworkSession, packet registration
| Address | Size | Name | Description |
|---|---|---|---|
| 0x00452C20 | 122 | register_zone_packet_handler_58D | Static init: registers zone server packet 0x58D handler via vtable |
| 0x00452CA0 | 122 | register_zone_packet_handler_58C | Static init: registers zone server packet 0x58C handler via vtable |
| 0x00453270 | 122 | register_zone_packet_handler_617 | Static init: registers zone server packet 0x617 handler via vtable |
| 0x00453840 | 122 | register_zone_packet_handler_58E | Static init: registers zone server packet 0x58E handler via vtable |
| 0x004538C0 | 122 | register_zone_packet_handler_58F | Static init: registers zone server packet 0x58F handler via vtable |
| 0x00453940 | 122 | register_zone_packet_handler_590 | Static init: registers zone server packet 0x590 handler via vtable |
| 0x004546D0 | 122 | register_char_packet_handler_1974 | Static init: registers char server packet 0x1974 handler via vtable |
| 0x00454CA0 | 122 | register_char_packet_handler_1976 | Static init: registers char server packet 0x1976 handler via vtable |
| 0x00455270 | 122 | register_zone_packet_handler_4A9 | Static init: registers zone server packet 0x4A9 handler via vtable |
| 0x004552F0 | 122 | register_zone_packet_handler_4A8 | Static init: registers zone server packet 0x4A8 handler via vtable |
| 0x00455370 | 122 | register_zone_packet_handler_4CA | Static init: registers zone server packet 0x4CA handler via vtable |
| 0x004553F0 | 122 | register_char_packet_handler_196F | Static init: registers char server packet 0x196F handler via vtable |
| 0x00455470 | 122 | register_char_packet_handler_14A6 | Static init: registers char server packet 0x14A6 handler via vtable |
| 0x004554F0 | 122 | register_char_packet_handler_14AD | Static init: registers char server packet 0x14AD handler via vtable |
| 0x00455570 | 122 | register_char_packet_handler_14AC | Static init: registers char server packet 0x14AC handler via vtable |
| 0x004555F0 | 122 | register_char_packet_handler_14A5 | Static init: registers char server packet 0x14A5 handler via vtable |
| 0x00455670 | 122 | register_char_packet_handler_14AB | Static init: registers char server packet 0x14AB handler via vtable |
| 0x00455C40 | 122 | register_char_packet_handler_1973 | Static init: registers char server packet 0x1973 handler via vtable |
| 0x00455CC0 | 122 | register_char_packet_handler_197A | Static init: registers char server packet 0x197A handler via vtable |
| 0x00455D40 | 122 | register_char_packet_handler_1971 | Static init: registers char server packet 0x1971 handler via vtable |
| 0x00455DC0 | 122 | register_char_packet_handler_1972 | Static init: registers char server packet 0x1972 handler via vtable |
| 0x00455E40 | 122 | register_char_packet_handler_1970 | Static init: registers char server packet 0x1970 handler via vtable |
| 0x00456410 | 122 | register_char_packet_handler_1975 | Static init: registers char server packet 0x1975 handler via vtable |
| 0x004569E0 | 122 | register_char_packet_handler_1977 | Static init: registers char server packet 0x1977 handler via vtable |
| 0x004575D0 | 122 | register_char_packet_handler_196E | Static init: registers char server packet 0x196E handler via vtable |
| 0x00457650 | 122 | register_char_packet_handler_1775 | Static init: registers char server packet 0x1775 handler via vtable |
| 0x004576D0 | 122 | register_char_packet_handler_1776 | Static init: registers char server packet 0x1776 handler via vtable |
| 0x00457750 | 122 | register_char_packet_handler_196D | Static init: registers char server packet 0x196D handler via vtable |
| 0x00457D20 | 122 | register_zone_packet_handler_496 | Static init: registers zone server packet 0x496 handler via vtable |
| 0x00457DA0 | 122 | register_zone_packet_handler_497 | Static init: registers zone server packet 0x497 handler via vtable |
| 0x00457E20 | 122 | register_zone_packet_handler_494 | Static init: registers zone server packet 0x494 handler via vtable |
| 0x00457EA0 | 122 | register_zone_packet_handler_495 | Static init: registers zone server packet 0x495 handler via vtable |
| 0x00457F20 | 122 | register_zone_packet_handler_49A | Static init: registers zone server packet 0x49A handler via vtable |
| 0x00457FA0 | 122 | register_char_packet_handler_1456 | Static init: registers char server packet 0x1456 handler via vtable |
| 0x00458020 | 122 | register_char_packet_handler_1771 | Static init: registers char server packet 0x1771 handler via vtable |
| 0x004580A0 | 122 | register_char_packet_handler_1966 | Static init: registers char server packet 0x1966 handler via vtable |
| 0x00458120 | 122 | register_char_packet_handler_1458 | Static init: registers char server packet 0x1458 handler via vtable |
| 0x004581A0 | 122 | register_char_packet_handler_1459 | Static init: registers char server packet 0x1459 handler via vtable |
| 0x00458220 | 122 | register_char_packet_handler_145B | Static init: registers char server packet 0x145B handler via vtable |
| 0x004582A0 | 122 | register_char_packet_handler_1452 | Static init: registers char server packet 0x1452 handler via vtable |
| 0x00458320 | 122 | register_char_packet_handler_1455 | Static init: registers char server packet 0x1455 handler via vtable |
| 0x004583A0 | 122 | register_char_packet_handler_1454 | Static init: registers char server packet 0x1454 handler via vtable |
| 0x00458420 | 122 | register_char_packet_handler_1453 | Static init: registers char server packet 0x1453 handler via vtable |
| 0x004584A0 | 122 | register_char_packet_handler_145D | Static init: registers char server packet 0x145D handler via vtable |
| 0x00458520 | 122 | register_char_packet_handler_145C | Static init: registers char server packet 0x145C handler via vtable |
| 0x00458AF0 | 122 | register_zone_packet_handler_5AE | Static init: registers zone server packet 0x5AE handler via vtable |
| 0x00458B70 | 122 | register_zone_packet_handler_5AF | Static init: registers zone server packet 0x5AF handler via vtable |
| 0x00458BF0 | 122 | register_zone_packet_handler_5B0 | Static init: registers zone server packet 0x5B0 handler via vtable |
| 0x00458C70 | 122 | register_zone_packet_handler_5AD | Static init: registers zone server packet 0x5AD handler via vtable |
| 0x00458CF0 | 122 | register_char_packet_handler_312 | Static init: registers char server packet 0x312 handler via vtable |
| 0x00458D70 | 122 | register_char_packet_handler_313 | Static init: registers char server packet 0x313 handler via vtable |
| 0x00458DF0 | 122 | register_char_packet_handler_315 | Static init: registers char server packet 0x315 handler via vtable |
| 0x00458E70 | 122 | register_char_packet_handler_314 | Static init: registers char server packet 0x314 handler via vtable |
| 0x00458EF0 | 122 | register_char_packet_handler_316 | Static init: registers char server packet 0x316 handler via vtable |
| 0x00458F70 | 122 | register_char_packet_handler_317 | Static init: registers char server packet 0x317 handler via vtable |
| 0x00458FF0 | 122 | register_char_packet_handler_319 | Static init: registers char server packet 0x319 handler via vtable |
| 0x004595C0 | 122 | register_zone_packet_handler_567 | Static init: registers zone server packet 0x567 handler via vtable |
| 0x00459640 | 122 | register_zone_packet_handler_568 | Static init: registers zone server packet 0x568 handler via vtable |
| 0x004596C0 | 122 | register_login_packet_handler_128 | Static init: registers login server packet 0x128 handler via vtable |
| 0x00459740 | 122 | register_login_packet_handler_127 | Static init: registers login server packet 0x127 handler via vtable |
| 0x004597C0 | 122 | register_char_packet_handler_1555 | Static init: registers char server packet 0x1555 handler via vtable |
| 0x00459840 | 122 | register_char_packet_handler_154B | Static init: registers char server packet 0x154B handler via vtable |
| 0x004598C0 | 122 | register_char_packet_handler_1553 | Static init: registers char server packet 0x1553 handler via vtable |
| 0x00459940 | 122 | register_char_packet_handler_1552 | Static init: registers char server packet 0x1552 handler via vtable |
| 0x004599C0 | 122 | register_char_packet_handler_1551 | Static init: registers char server packet 0x1551 handler via vtable |
| 0x00459A40 | 122 | register_char_packet_handler_1550 | Static init: registers char server packet 0x1550 handler via vtable |
| 0x00459AC0 | 122 | register_char_packet_handler_154C | Static init: registers char server packet 0x154C handler via vtable |
| 0x00459B40 | 122 | register_char_packet_handler_154F | Static init: registers char server packet 0x154F handler via vtable |
| 0x00459BC0 | 122 | register_char_packet_handler_1554 | Static init: registers char server packet 0x1554 handler via vtable |
| 0x00459C40 | 122 | register_char_packet_handler_1581 | Static init: registers char server packet 0x1581 handler via vtable |
| 0x00459CC0 | 122 | register_char_packet_handler_1556 | Static init: registers char server packet 0x1556 handler via vtable |
| 0x00459D40 | 122 | register_char_packet_handler_154D | Static init: registers char server packet 0x154D handler via vtable |
| 0x00459DC0 | 122 | register_char_packet_handler_154E | Static init: registers char server packet 0x154E handler via vtable |
| 0x0045A460 | 122 | register_zone_packet_handler_4B3 | Static init: registers zone server packet 0x4B3 handler via vtable |
| 0x0045A4E0 | 122 | register_zone_packet_handler_4C6 | Static init: registers zone server packet 0x4C6 handler via vtable |
| 0x0045A560 | 122 | register_zone_packet_handler_4B4 | Static init: registers zone server packet 0x4B4 handler via vtable |
| 0x0045A5E0 | 122 | register_zone_packet_handler_4B2 | Static init: registers zone server packet 0x4B2 handler via vtable |
| 0x0045A660 | 122 | register_zone_packet_handler_4C4 | Static init: registers zone server packet 0x4C4 handler via vtable |
| 0x0045A6E0 | 122 | register_zone_packet_handler_4C5 | Static init: registers zone server packet 0x4C5 handler via vtable |
| 0x0045A760 | 122 | register_zone_packet_handler_4C1 | Static init: registers zone server packet 0x4C1 handler via vtable |
| 0x0045A8B0 | 122 | register_char_packet_handler_148C | Static init: registers char server packet 0x148C handler via vtable |
| 0x0045A930 | 122 | register_char_packet_handler_1493 | Static init: registers char server packet 0x1493 handler via vtable |
| 0x0045A9B0 | 122 | register_char_packet_handler_148F | Static init: registers char server packet 0x148F handler via vtable |
| 0x0045AA30 | 122 | register_char_packet_handler_1488 | Static init: registers char server packet 0x1488 handler via vtable |
| 0x0045AAB0 | 122 | register_char_packet_handler_1487 | Static init: registers char server packet 0x1487 handler via vtable |
| 0x0045AB30 | 122 | register_char_packet_handler_148E | Static init: registers char server packet 0x148E handler via vtable |
| 0x0045ABB0 | 122 | register_char_packet_handler_1968 | Static init: registers char server packet 0x1968 handler via vtable |
| 0x0045AC30 | 122 | register_char_packet_handler_1969 | Static init: registers char server packet 0x1969 handler via vtable |
| 0x0045ACB0 | 122 | register_char_packet_handler_1490 | Static init: registers char server packet 0x1490 handler via vtable |
| 0x0045AD30 | 122 | register_char_packet_handler_1492 | Static init: registers char server packet 0x1492 handler via vtable |
| 0x0045ADB0 | 122 | register_char_packet_handler_1967 | Static init: registers char server packet 0x1967 handler via vtable |
| 0x0045AE30 | 122 | register_char_packet_handler_1489 | Static init: registers char server packet 0x1489 handler via vtable |
| 0x0045AEB0 | 122 | register_char_packet_handler_1491 | Static init: registers char server packet 0x1491 handler via vtable |
| 0x0045AF30 | 122 | register_char_packet_handler_148D | Static init: registers char server packet 0x148D handler via vtable |
| 0x0045B500 | 122 | register_char_packet_handler_196C | Static init: registers char server packet 0x196C handler via vtable |
| 0x0045B580 | 122 | register_char_packet_handler_1774 | Static init: registers char server packet 0x1774 handler via vtable |
| 0x0045B600 | 122 | register_char_packet_handler_196B | Static init: registers char server packet 0x196B handler via vtable |
| 0x0045B680 | 122 | register_char_packet_handler_196A | Static init: registers char server packet 0x196A handler via vtable |
| 0x0045B700 | 122 | register_char_packet_handler_1772 | Static init: registers char server packet 0x1772 handler via vtable |
| 0x0045B780 | 122 | register_char_packet_handler_1773 | Static init: registers char server packet 0x1773 handler via vtable |
| 0x0045BE20 | 122 | register_zone_packet_handler_3F6 | Static init: registers zone server packet 0x3F6 handler via vtable |
| 0x0045C3F0 | 122 | register_zone_packet_handler_54A | Static init: registers zone server packet 0x54A handler via vtable |
| 0x0045C470 | 122 | register_zone_packet_handler_541 | Static init: registers zone server packet 0x541 handler via vtable |
| 0x0045C4F0 | 122 | register_zone_packet_handler_542 | Static init: registers zone server packet 0x542 handler via vtable |
| 0x0045C570 | 122 | register_login_packet_handler_120 | Static init: registers login server packet 0x120 handler via vtable |
| 0x0045C5F0 | 122 | register_login_packet_handler_123 | Static init: registers login server packet 0x123 handler via vtable |
| 0x0045C670 | 122 | register_char_packet_handler_1525 | Static init: registers char server packet 0x1525 handler via vtable |
| 0x0045C6F0 | 122 | register_char_packet_handler_1522 | Static init: registers char server packet 0x1522 handler via vtable |
| 0x0045C770 | 122 | register_char_packet_handler_1524 | Static init: registers char server packet 0x1524 handler via vtable |
| 0x0045C7F0 | 122 | register_char_packet_handler_151C | Static init: registers char server packet 0x151C handler via vtable |
| 0x0045C870 | 122 | register_char_packet_handler_1523 | Static init: registers char server packet 0x1523 handler via vtable |
| 0x0045C8F0 | 122 | register_char_packet_handler_1526 | Static init: registers char server packet 0x1526 handler via vtable |
| 0x0045C970 | 122 | register_char_packet_handler_151B | Static init: registers char server packet 0x151B handler via vtable |
| 0x0045C9F0 | 122 | register_char_packet_handler_1520 | Static init: registers char server packet 0x1520 handler via vtable |
| 0x0045CA70 | 122 | register_char_packet_handler_157D | Static init: registers char server packet 0x157D handler via vtable |
| 0x0045CAF0 | 122 | register_char_packet_handler_1527 | Static init: registers char server packet 0x1527 handler via vtable |
| 0x0045CB70 | 122 | register_char_packet_handler_151E | Static init: registers char server packet 0x151E handler via vtable |
| 0x0045CBF0 | 122 | register_char_packet_handler_151F | Static init: registers char server packet 0x151F handler via vtable |
| 0x0045CC70 | 122 | register_char_packet_handler_151D | Static init: registers char server packet 0x151D handler via vtable |
| 0x0045CCF0 | 122 | register_char_packet_handler_1578 | Static init: registers char server packet 0x1578 handler via vtable |
| 0x0045CD70 | 122 | register_char_packet_handler_1579 | Static init: registers char server packet 0x1579 handler via vtable |
| 0x0045CDF0 | 122 | register_char_packet_handler_1521 | Static init: registers char server packet 0x1521 handler via vtable |
| 0x0045CE70 | 122 | register_char_packet_handler_157C | Static init: registers char server packet 0x157C handler via vtable |
| 0x0045DFB0 | 122 | register_zone_packet_handler_573 | Static init: registers zone server packet 0x573 handler via vtable |
| 0x0045E030 | 122 | register_zone_packet_handler_571 | Static init: registers zone server packet 0x571 handler via vtable |
| 0x0045E0B0 | 122 | register_login_packet_handler_122 | Static init: registers login server packet 0x122 handler via vtable |
| 0x0045E130 | 122 | register_login_packet_handler_12A | Static init: registers login server packet 0x12A handler via vtable |
| 0x0045E1B0 | 122 | register_login_packet_handler_126 | Static init: registers login server packet 0x126 handler via vtable |
| 0x0045E230 | 122 | register_char_packet_handler_1566 | Static init: registers char server packet 0x1566 handler via vtable |
| 0x0045E2B0 | 122 | register_char_packet_handler_1577 | Static init: registers char server packet 0x1577 handler via vtable |
| 0x0045E330 | 122 | register_char_packet_handler_1574 | Static init: registers char server packet 0x1574 handler via vtable |
| 0x0045E3B0 | 122 | register_char_packet_handler_157B | Static init: registers char server packet 0x157B handler via vtable |
| 0x0045E430 | 122 | register_char_packet_handler_156C | Static init: registers char server packet 0x156C handler via vtable |
| 0x0045E4B0 | 122 | register_char_packet_handler_156B | Static init: registers char server packet 0x156B handler via vtable |
| 0x0045E530 | 122 | register_char_packet_handler_157A | Static init: registers char server packet 0x157A handler via vtable |
| 0x0045E5B0 | 122 | register_char_packet_handler_1576 | Static init: registers char server packet 0x1576 handler via vtable |
| 0x0045E630 | 122 | register_char_packet_handler_1575 | Static init: registers char server packet 0x1575 handler via vtable |
| 0x0045E6B0 | 122 | register_char_packet_handler_1568 | Static init: registers char server packet 0x1568 handler via vtable |
| 0x0045E730 | 122 | register_char_packet_handler_156A | Static init: registers char server packet 0x156A handler via vtable |
| 0x0045E7B0 | 122 | register_char_packet_handler_1569 | Static init: registers char server packet 0x1569 handler via vtable |
| 0x0045E830 | 122 | register_char_packet_handler_1573 | Static init: registers char server packet 0x1573 handler via vtable |
| 0x0045E8B0 | 122 | register_char_packet_handler_156E | Static init: registers char server packet 0x156E handler via vtable |
| 0x0045E930 | 122 | register_char_packet_handler_156F | Static init: registers char server packet 0x156F handler via vtable |
| 0x0045E9B0 | 122 | register_char_packet_handler_156D | Static init: registers char server packet 0x156D handler via vtable |
| 0x0045EA30 | 122 | register_char_packet_handler_1572 | Static init: registers char server packet 0x1572 handler via vtable |
| 0x0045EAB0 | 122 | register_char_packet_handler_1571 | Static init: registers char server packet 0x1571 handler via vtable |
| 0x0045EB30 | 122 | register_char_packet_handler_1570 | Static init: registers char server packet 0x1570 handler via vtable |
| 0x0045EBB0 | 122 | register_char_packet_handler_1567 | Static init: registers char server packet 0x1567 handler via vtable |
| 0x0045EC30 | 122 | register_char_packet_handler_1564 | Static init: registers char server packet 0x1564 handler via vtable |
| 0x0045F2D0 | 122 | register_zone_packet_handler_56E | Static init: registers zone server packet 0x56E handler via vtable |
| 0x0045F350 | 122 | register_zone_packet_handler_56D | Static init: registers zone server packet 0x56D handler via vtable |
| 0x0045F3D0 | 122 | register_zone_packet_handler_56A | Static init: registers zone server packet 0x56A handler via vtable |
| 0x0045F450 | 122 | register_zone_packet_handler_56C | Static init: registers zone server packet 0x56C handler via vtable |
| 0x0045F4D0 | 122 | register_zone_packet_handler_569 | Static init: registers zone server packet 0x569 handler via vtable |
| 0x0045F550 | 122 | register_zone_packet_handler_570 | Static init: registers zone server packet 0x570 handler via vtable |
| 0x0045F5D0 | 122 | register_zone_packet_handler_56F | Static init: registers zone server packet 0x56F handler via vtable |
| 0x0045F650 | 122 | register_zone_packet_handler_56B | Static init: registers zone server packet 0x56B handler via vtable |
| 0x0045F6D0 | 122 | register_login_packet_handler_11F | Static init: registers login server packet 0x11F handler via vtable |
| 0x0045F750 | 122 | register_login_packet_handler_11E | Static init: registers login server packet 0x11E handler via vtable |
| 0x0045F7D0 | 122 | register_char_packet_handler_1562 | Static init: registers char server packet 0x1562 handler via vtable |
| 0x0045F850 | 122 | register_char_packet_handler_155E | Static init: registers char server packet 0x155E handler via vtable |
| 0x0045F8D0 | 122 | register_char_packet_handler_1563 | Static init: registers char server packet 0x1563 handler via vtable |
| 0x0045F950 | 122 | register_char_packet_handler_155D | Static init: registers char server packet 0x155D handler via vtable |
| 0x0045F9D0 | 122 | register_char_packet_handler_155A | Static init: registers char server packet 0x155A handler via vtable |
| 0x0045FA50 | 122 | register_char_packet_handler_155C | Static init: registers char server packet 0x155C handler via vtable |
| 0x0045FAD0 | 122 | register_char_packet_handler_1559 | Static init: registers char server packet 0x1559 handler via vtable |
| 0x0045FB50 | 122 | register_char_packet_handler_157F | Static init: registers char server packet 0x157F handler via vtable |
| 0x0045FBD0 | 122 | register_char_packet_handler_157E | Static init: registers char server packet 0x157E handler via vtable |
| 0x0045FC50 | 122 | register_char_packet_handler_1560 | Static init: registers char server packet 0x1560 handler via vtable |
| 0x0045FCD0 | 122 | register_char_packet_handler_1561 | Static init: registers char server packet 0x1561 handler via vtable |
| 0x0045FD50 | 122 | register_char_packet_handler_1580 | Static init: registers char server packet 0x1580 handler via vtable |
| 0x0045FDD0 | 122 | register_char_packet_handler_155B | Static init: registers char server packet 0x155B handler via vtable |
| 0x0045FE50 | 122 | register_char_packet_handler_155F | Static init: registers char server packet 0x155F handler via vtable |
| 0x00460420 | 122 | register_zone_packet_handler_555 | Static init: registers zone server packet 0x555 handler via vtable |
| 0x004604A0 | 122 | register_zone_packet_handler_550 | Static init: registers zone server packet 0x550 handler via vtable |
| 0x00460520 | 122 | register_zone_packet_handler_554 | Static init: registers zone server packet 0x554 handler via vtable |
| 0x004605A0 | 122 | register_zone_packet_handler_553 | Static init: registers zone server packet 0x553 handler via vtable |
| 0x00460620 | 122 | register_zone_packet_handler_551 | Static init: registers zone server packet 0x551 handler via vtable |
| 0x004606A0 | 122 | register_zone_packet_handler_552 | Static init: registers zone server packet 0x552 handler via vtable |
| 0x004607F0 | 122 | register_char_packet_handler_1537 | Static init: registers char server packet 0x1537 handler via vtable |
| 0x00460870 | 122 | register_char_packet_handler_1531 | Static init: registers char server packet 0x1531 handler via vtable |
| 0x004608F0 | 122 | register_char_packet_handler_152D | Static init: registers char server packet 0x152D handler via vtable |
| 0x00460970 | 122 | register_char_packet_handler_1538 | Static init: registers char server packet 0x1538 handler via vtable |
| 0x004609F0 | 122 | register_char_packet_handler_1535 | Static init: registers char server packet 0x1535 handler via vtable |
| 0x00460A70 | 122 | register_char_packet_handler_1532 | Static init: registers char server packet 0x1532 handler via vtable |
| 0x00460AF0 | 122 | register_char_packet_handler_152F | Static init: registers char server packet 0x152F handler via vtable |
| 0x00460B70 | 122 | register_char_packet_handler_1536 | Static init: registers char server packet 0x1536 handler via vtable |
| 0x00460BF0 | 122 | register_char_packet_handler_152C | Static init: registers char server packet 0x152C handler via vtable |
| 0x00460C70 | 122 | register_char_packet_handler_152A | Static init: registers char server packet 0x152A handler via vtable |
| 0x00460CF0 | 122 | register_char_packet_handler_1534 | Static init: registers char server packet 0x1534 handler via vtable |
| 0x00460D70 | 122 | register_char_packet_handler_1530 | Static init: registers char server packet 0x1530 handler via vtable |
| 0x00460DF0 | 122 | register_char_packet_handler_152B | Static init: registers char server packet 0x152B handler via vtable |
| 0x00460E70 | 122 | register_char_packet_handler_1533 | Static init: registers char server packet 0x1533 handler via vtable |
| 0x00460EF0 | 122 | register_char_packet_handler_152E | Static init: registers char server packet 0x152E handler via vtable |
| 0x004614C0 | 122 | register_zone_packet_handler_556 | Static init: registers zone server packet 0x556 handler via vtable |
| 0x00461540 | 122 | register_zone_packet_handler_557 | Static init: registers zone server packet 0x557 handler via vtable |
| 0x004615C0 | 122 | register_zone_packet_handler_558 | Static init: registers zone server packet 0x558 handler via vtable |
| 0x00461640 | 122 | register_zone_packet_handler_561 | Static init: registers zone server packet 0x561 handler via vtable |
| 0x00461790 | 122 | register_char_packet_handler_1548 | Static init: registers char server packet 0x1548 handler via vtable |
| 0x00461810 | 122 | register_char_packet_handler_1582 | Static init: registers char server packet 0x1582 handler via vtable |
| 0x00461890 | 122 | register_char_packet_handler_153B | Static init: registers char server packet 0x153B handler via vtable |
| 0x00461910 | 122 | register_char_packet_handler_1544 | Static init: registers char server packet 0x1544 handler via vtable |
| 0x00461990 | 122 | register_char_packet_handler_153D | Static init: registers char server packet 0x153D handler via vtable |
| 0x00461A10 | 122 | register_char_packet_handler_153C | Static init: registers char server packet 0x153C handler via vtable |
| 0x00461A90 | 122 | register_char_packet_handler_1545 | Static init: registers char server packet 0x1545 handler via vtable |
| 0x00461B10 | 122 | register_char_packet_handler_1546 | Static init: registers char server packet 0x1546 handler via vtable |
| 0x00461B90 | 122 | register_char_packet_handler_1583 | Static init: registers char server packet 0x1583 handler via vtable |
| 0x00461C10 | 122 | register_char_packet_handler_1542 | Static init: registers char server packet 0x1542 handler via vtable |
| 0x00461C90 | 122 | register_char_packet_handler_153F | Static init: registers char server packet 0x153F handler via vtable |
| 0x00461D10 | 122 | register_char_packet_handler_1540 | Static init: registers char server packet 0x1540 handler via vtable |
| 0x00461D90 | 122 | register_char_packet_handler_1541 | Static init: registers char server packet 0x1541 handler via vtable |
| 0x00461E10 | 122 | register_char_packet_handler_1547 | Static init: registers char server packet 0x1547 handler via vtable |
| 0x004623E0 | 122 | register_zone_packet_handler_4EC | Static init: registers zone server packet 0x4EC handler via vtable |
| 0x00462460 | 122 | register_zone_packet_handler_4EB | Static init: registers zone server packet 0x4EB handler via vtable |
| 0x004624E0 | 122 | register_zone_packet_handler_4EE | Static init: registers zone server packet 0x4EE handler via vtable |
| 0x00462560 | 122 | register_zone_packet_handler_4E9 | Static init: registers zone server packet 0x4E9 handler via vtable |
| 0x004625E0 | 122 | register_zone_packet_handler_4E8 | Static init: registers zone server packet 0x4E8 handler via vtable |
| 0x00462660 | 122 | register_zone_packet_handler_4EF | Static init: registers zone server packet 0x4EF handler via vtable |
| 0x004626E0 | 122 | register_char_packet_handler_14F0 | Static init: registers char server packet 0x14F0 handler via vtable |
| 0x00462760 | 122 | register_char_packet_handler_14EE | Static init: registers char server packet 0x14EE handler via vtable |
| 0x004627E0 | 122 | register_char_packet_handler_14F2 | Static init: registers char server packet 0x14F2 handler via vtable |
| 0x00462860 | 122 | register_char_packet_handler_14E8 | Static init: registers char server packet 0x14E8 handler via vtable |
| 0x004628E0 | 122 | register_char_packet_handler_14EC | Static init: registers char server packet 0x14EC handler via vtable |
| 0x00462960 | 122 | register_char_packet_handler_14E7 | Static init: registers char server packet 0x14E7 handler via vtable |
| 0x004629E0 | 122 | register_char_packet_handler_14F4 | Static init: registers char server packet 0x14F4 handler via vtable |
| 0x00462A60 | 122 | register_char_packet_handler_1979 | Static init: registers char server packet 0x1979 handler via vtable |
| 0x00462AE0 | 122 | register_char_packet_handler_14EB | Static init: registers char server packet 0x14EB handler via vtable |
| 0x00462B60 | 122 | register_char_packet_handler_14EF | Static init: registers char server packet 0x14EF handler via vtable |
| 0x00462BE0 | 122 | register_char_packet_handler_14E9 | Static init: registers char server packet 0x14E9 handler via vtable |
| 0x00462C60 | 122 | register_char_packet_handler_14EA | Static init: registers char server packet 0x14EA handler via vtable |
| 0x00463300 | 122 | register_char_packet_handler_14D0 | Static init: registers char server packet 0x14D0 handler via vtable |
| 0x00463380 | 122 | register_char_packet_handler_14D6 | Static init: registers char server packet 0x14D6 handler via vtable |
| 0x00463400 | 122 | register_char_packet_handler_14D2 | Static init: registers char server packet 0x14D2 handler via vtable |
| 0x00463480 | 122 | register_char_packet_handler_1978 | Static init: registers char server packet 0x1978 handler via vtable |
| 0x00654700 | 40 | PacketType__get_type_id_0x101 | Virtual method returning packet type ID 0x101 |
| 0x00654730 | 40 | PacketType__get_type_id_0x102 | Virtual method returning packet type ID 0x102 |
| 0x00654760 | 40 | PacketType__get_type_id_0x103 | Virtual method returning packet type ID 0x103 |
| 0x00654790 | 40 | PacketType__get_type_id_0x104 | Virtual method returning packet type ID 0x104 |
| 0x006547C0 | 40 | PacketType__get_type_id_0x105 | Virtual method returning packet type ID 0x105 |
| 0x006547F0 | 40 | PacketType__get_type_id_0x106 | Virtual method returning packet type ID 0x106 |
| 0x00654820 | 40 | PacketType__get_type_id_0x107 | Virtual method returning packet type ID 0x107 |
| 0x00654850 | 40 | PacketType__get_type_id_0x108 | Virtual method returning packet type ID 0x108 |
| 0x00654880 | 40 | PacketType__get_type_id_0x109 | Virtual method returning packet type ID 0x109 |
| 0x006548B0 | 40 | PacketType__get_type_id_0x10a | Virtual method returning packet type ID 0x10a |
| 0x006548E0 | 40 | PacketType__get_type_id_0x10b | Virtual method returning packet type ID 0x10b |
| 0x00654910 | 40 | PacketType__get_type_id_0x10c | Virtual method returning packet type ID 0x10c |
| 0x00654940 | 40 | PacketType__get_type_id_0x10d | Virtual method returning packet type ID 0x10d |
| 0x00654970 | 40 | PacketType__get_type_id_0x10e | Virtual method returning packet type ID 0x10e |
| 0x006549A0 | 40 | PacketType__get_type_id_0x10f | Virtual method returning packet type ID 0x10f |
| 0x006549D0 | 40 | PacketType__get_type_id_0x110 | Virtual method returning packet type ID 0x110 |
| 0x00654A00 | 40 | PacketType__get_type_id_0x111 | Virtual method returning packet type ID 0x111 |
| 0x00654A30 | 40 | PacketType__get_type_id_0x112 | Virtual method returning packet type ID 0x112 |
| 0x00654A60 | 40 | PacketType__get_type_id_0x113 | Virtual method returning packet type ID 0x113 |
| 0x00654A90 | 40 | PacketType__get_type_id_0x202 | Virtual method returning packet type ID 0x202 |
| 0x00654AC0 | 40 | PacketType__get_type_id_0x203 | Virtual method returning packet type ID 0x203 |
| 0x00654AF0 | 40 | PacketType__get_type_id_0x81 | Virtual method returning packet type ID 0x81 |
| 0x00654B20 | 40 | PacketType__get_type_id_0x82 | Virtual method returning packet type ID 0x82 |
| 0x00654F40 | 22 | PacketCrypto__copy_init_vtable | Copy constructor initializing vtable ptr and member from source |
| 0x00654F60 | 68 | PacketCrypto__scalar_deleting_destructor_00654f60 | Scalar deleting destructor, frees 8 bytes if flag set |
| 0x00654FB0 | 49 | PacketCrypto__invoke_callback | Invokes function pointer with 8 args from param pairs |
| 0x00654FF0 | 401 | PacketHashMap__rehash_00654ff0 | Rehashes unordered_map buckets using FNV-1a on 2-byte keys |
| 0x00655190 | 401 | PacketHashMap__rehash_00655190 | Rehashes unordered_map buckets using FNV-1a on 2-byte keys |
| 0x00655340 | 95 | PacketHashMap__insert_node | Inserts node into hash bucket, updates first/last bucket pointers |
| 0x006553A0 | 22 | PacketCrypto__copy_init_vtable_006553a0 | Copy constructor initializing vtable ptr and member from source |
| 0x00655470 | 539 | PacketHashMap__erase_range | Erases range of entries from hash map, frees 0x38-byte nodes |
| 0x006556F0 | 527 | PacketHashMap__clear_or_shrink | Clears hash map; if size < buckets/8, removes nodes; else full clear |
| 0x00655900 | 299 | PacketCrypto__init_encrypted_entry | Creates encrypted hash map entry with MT PRNG and XOR key schedule |
| 0x00655A30 | 357 | PacketCrypto__verify_auth_hash | Verifies authentication via XXH3-128 hash, supports 3 auth modes |
| 0x00655BA0 | 189 | PacketCrypto__generate_session_key | Generates random session key, stores encrypted with crypto state |
| 0x00655C60 | 268 | PacketCrypto__fill_random_bytes | Fills buffer with random bytes using PRNG bounded range |
| 0x00655D70 | 102 | PacketHashMap__find_by_short_key | Finds entry in hash map by short (2-byte) key using FNV-1a hash |
| 0x00655F00 | 615 | PacketCrypto__init_key_schedule | Initializes 24-round LCG key schedule and masks, sets up crypto state |
| 0x00656170 | 504 | PacketHashMap__emplace_entry | Inserts or finds entry in packet hash map, rehashes if load factor exceeded |
| 0x006563E0 | 230 | PacketCrypto__generate_random_range | PacketCrypto: generate random range |
| 0x006564D0 | 182 | PacketCrypto__create_shared_obj_A | Allocates 0x5c-byte shared object with vtable at 0110d4f0, refcount=1 |
| 0x00656590 | 182 | PacketCrypto__create_shared_obj_B | Allocates 0x5c-byte shared object with vtable at 0110d504, refcount=1 |
| 0x00656650 | 182 | PacketCrypto__create_shared_obj_C | Allocates 0x48-byte shared object with vtable at 0110d518, refcount=1 |
| 0x00656710 | 185 | PacketCrypto__create_shared_obj_D | Allocates 0x10c-byte shared object with vtable at 0110d4dc, refcount=1 |
| 0x006567D0 | 196 | PacketCrypto__create_shared_obj_E | Allocates 0x30-byte shared object with vtable at 0110d4c8, zeroed fields |
| 0x006568E0 | 153 | PacketCryptoA__constructor | Constructs crypto object A with base class init, sets vtable chain |
| 0x00656980 | 153 | PacketCryptoB__constructor | Constructs crypto object B with base class init, sets vtable chain |
| 0x00656A20 | 157 | PacketCryptoC__constructor | Constructs crypto object C with base class init, zeroed 12-byte data |
| 0x00656AC0 | 153 | PacketCryptoD__constructor | Constructs crypto object D with base class init, memset 0xd0 data bytes |
| 0x00656BC0 | 175 | PacketCryptoBase__constructor | Base class constructor: sets vtable and zeroes 11 member fields |
| 0x00656DF0 | 135 | PacketCryptoE__init_fields | Initializes 8 zero fields plus enabled flag (field[8]=1) |
| 0x00656E80 | 91 | PacketCryptoD__destructor_clear_0xd0 | Destructor: zeroes 0xd0-byte data at offset 4, calls base dtor |
| 0x00656EE0 | 91 | PacketCryptoBase__destructor_clear_0x20_00656ee0 | Destructor: zeroes 0x20 bytes at offset 4, calls base dtor |
| 0x00656F40 | 91 | PacketCryptoBase__destructor_clear_0x20_00656f40 | Destructor: zeroes 0x20 bytes at offset 4, calls base dtor |
| 0x00657000 | 67 | PacketHashMap__free_sentinel_node | Frees 0x50-byte sentinel node if allocated |
| 0x00657050 | 131 | PacketHashMap__destroy_all_nodes_0x50 | Destroys hash map: frees bucket vector then all 0x50-byte nodes |
| 0x006570E0 | 131 | PacketHashMap__destroy_all_nodes_0xc | Destroys hash map: frees bucket vector then all 0xc-byte nodes |
| 0x00657290 | 78 | PacketHashMap__free_sentinel_node_00657290 | Frees 0x50-byte sentinel node if allocated |
| 0x00657330 | 103 | PacketHashMap__destroy_node_list_0x50 | Walks linked list freeing each 0x50-byte node including sentinel |
| 0x006573A0 | 103 | PacketHashMap__destroy_node_list_0xc | Walks linked list freeing each 0xc-byte node including sentinel |
| 0x00657530 | 65 | PacketHashMap__destructor_wrapper | Destructor wrapper: delegates to destroy_all_nodes_0x50 |
| 0x00657580 | 91 | PacketCryptoBase__destructor_clear_0x20_00657580 | Destructor: zeroes 0x20 bytes at offset 4, calls base dtor |
| 0x006575E0 | 91 | PacketCryptoBase__destructor_clear_0x20_006575e0 | Destructor: zeroes 0x20 bytes at offset 4, calls base dtor |
| 0x006577B0 | 91 | PacketCryptoBase__destructor_clear_0x20_006577b0 | Destructor: zeroes 0x20 bytes at offset 4, calls base dtor |
| 0x00657840 | 346 | PacketCrypto__encrypt_payload_xor | Encrypts packet payload with MT PRNG-derived XOR key, 6 bytes per round |
| 0x00657CD0 | 129 | PacketCryptoD__scalar_deleting_destructor | Scalar deleting destructor: zeroes 0xd0 data, frees 0xd4 bytes if flagged |
| 0x00657D60 | 126 | PacketCryptoBase__scalar_deleting_destructor_0x24 | Scalar deleting destructor: zeroes 0x20 data, frees 0x24 bytes if flagged |
| 0x00657DE0 | 126 | PacketCryptoBase__scalar_deleting_destructor_0x24_00657de0 | Scalar deleting destructor: zeroes 0x20 data, frees 0x24 bytes if flagged |
| 0x00657E60 | 184 | PacketCryptoA__scalar_deleting_destructor | Scalar deleting destructor: clears vector+0x20 data, frees 0x50 bytes |
| 0x00657F20 | 184 | PacketCryptoB__scalar_deleting_destructor | Scalar deleting destructor: clears vector+0x20 data, frees 0x50 bytes |
| 0x00657FE0 | 184 | PacketCryptoC__scalar_deleting_destructor | Scalar deleting destructor: clears vector+0xc data, frees 0x3c bytes |
| 0x006580A0 | 187 | PacketCryptoE__scalar_deleting_destructor | Scalar deleting destructor: clears vector+0xd0 data, frees 0x100 bytes |
| 0x00658160 | 36 | PacketCryptoSharedA__vptr_deleting_destructor | Sets vtable to 0110d4f0 and frees 0x5c bytes if flagged |
| 0x00658190 | 36 | PacketCryptoSharedB__vptr_deleting_destructor | Sets vtable to 0110d504 and frees 0x5c bytes if flagged |
| 0x006581C0 | 36 | PacketCryptoSharedC__vptr_deleting_destructor | Sets vtable to 0110d518 and frees 0x48 bytes if flagged |
| 0x006581F0 | 39 | PacketCryptoSharedD__vptr_deleting_destructor | Sets vtable to 0110d4dc and frees 0x10c bytes if flagged |
| 0x00658220 | 36 | PacketCryptoSharedE__vptr_deleting_destructor | Sets vtable to 0110d4c8 and frees 0x30 bytes if flagged |
| 0x00658250 | 126 | PacketCryptoBase__scalar_deleting_destructor_0x24_00658250 | Scalar deleting destructor: zeroes 0x20 data, frees 0x24 bytes if flagged |
| 0x006582D0 | 126 | PacketCryptoBase__scalar_deleting_destructor_0x24_006582d0 | Scalar deleting destructor: zeroes 0x20 data, frees 0x24 bytes if flagged |
| 0x00658350 | 126 | PacketCryptoBase__scalar_deleting_destructor_0x24_00658350 | Scalar deleting destructor: zeroes 0x20 data, frees 0x24 bytes if flagged |
| 0x006583D0 | 618 | PacketCrypto__decrypt_and_verify | Decrypts packet using XOR key from hash map, verifies via external call |
| 0x00658B90 | 719 | PacketCrypto__parse_encrypted_header | Parses encrypted packet header, validates via XXH3/XXH32, supports 4 modes |
| 0x00658E90 | 263 | PacketCrypto__decrypt_payload_xor | Decrypts packet payload using XOR with key schedule, 6 bytes per round |
| 0x00658FC0 | 49 | PacketCrypto__get_version_info | Returns 8-byte version info from encrypted header if version < 2 |
| 0x00659000 | 67 | PacketCrypto__init_global_state | Initializes global packet crypto state via external thunk call |
| 0x00659B60 | 57 | PacketCrypto__init_thunk_00659b60 | SEH wrapper calling external thunk at 027a9e96 |
| 0x0065A2A0 | 401 | PacketHashMap__rehash_0065a2a0 | Rehashes unordered_map buckets using FNV-1a on 2-byte keys |
| 0x0065A550 | 527 | PacketHashMap__clear_or_shrink_0065a550 | Clears hash map; if size < buckets/8, removes 0x50 nodes; else full clear |
| 0x0065A760 | 442 | PacketCrypto__invert_key_schedule | Generates inverse key schedule for decryption from encryption keys |
| 0x0065A920 | 220 | PacketCrypto__expand_key_16to52 | Expands 16-byte key into 52-entry subkey array via bit rotation |
| 0x0065AA70 | 17 | PacketCrypto__thunk_0065aa70 | PacketCrypto: thunk 0065aa70 |
| 0x0065ACF0 | 57 | PacketCrypto__seh_wrapper_0065acf0 | SEH wrapper calling external thunk at 021c43f1 |
| 0x0065AFC0 | 17 | PacketCrypto__thunk_0065afc0 | PacketCrypto: thunk 0065afc0 |
| 0x0065B100 | 15 | PacketCrypto__thunk_0065b100 | Simple thunk calling external packed function at 01adbb26 |
| 0x0065B1B0 | 17 | PacketCrypto__thunk_0065b1b0 | PacketCrypto: thunk 0065b1b0 |
| 0x0065B2E0 | 15 | PacketCrypto__thunk_0065b2e0 | Simple thunk calling external packed function |
| 0x0065B380 | 63 | PacketCrypto__seh_wrapper_0065b380 | PacketCrypto: seh wrapper 0065b380 |
| 0x0065B540 | 63 | PacketCrypto__seh_wrapper_0065b540 | SEH wrapper calling external packed function |
| 0x0065B770 | 17 | PacketCrypto__thunk_0065b770 | PacketCrypto: thunk 0065b770 |
| 0x0065B860 | 15 | PacketCrypto__thunk_0065b860 | Simple thunk calling external packed function |
| 0x0065B940 | 17 | PacketCrypto__thunk_0065b940 | PacketCrypto: thunk 0065b940 |
| 0x0065BA30 | 15 | PacketCrypto__thunk_0065ba30 | Simple thunk calling external packed function |
| 0x0065BB10 | 29 | PacketCrypto__copy_helper_0065bb10 | PacketCrypto: copy helper 0065bb10 |
| 0x0065BBD0 | 29 | PacketCrypto__copy_helper_0065bbd0 | Memory copy or small helper function |
| 0x0065BC90 | 17 | PacketCrypto__thunk_0065bc90 | PacketCrypto: thunk 0065bc90 |
| 0x0065C030 | 17 | CPacketStream__thunk_0065c030 | Simple thunk calling external packed function |
| 0x0065C230 | 17 | CPacketStream__thunk_0065c230 | CPacketStream: thunk 0065c230 |
| 0x0065C440 | 16 | CPacketStream__ctor_base | CPacketStream base constructor: sets vtable pointer and initializes first member to 0 |
| 0x0065C450 | 7 | CPacketStream__set_vtable | Sets CPacketStream vtable pointer (used during construction/destruction transitions) |
| 0x0065C460 | 36 | CPacketStream__scalar_deleting_dtor | CPacketStream scalar deleting destructor: resets vtable, optionally frees 8-byte object |
| 0x0065C5F0 | 194 | CPacketStream__ctor | CPacketStream constructor: sets vtable, initializes two linked-list structures with sentinel nodes (allocates 8 bytes each) |
| 0x0065C6C0 | 201 | CPacketStream__destroy_node_list_16 | Destroys a CPacketStream node list: frees all nodes (0x10 bytes each), frees backing array, frees sentinel node |
| 0x0065C790 | 201 | CPacketStream__destroy_node_list_12 | Destroys a CPacketStream node list: frees all nodes (0xC bytes each), frees backing array, frees sentinel node |
| 0x0065C860 | 93 | CPacketStream__dtor | CPacketStream destructor: sets vtable, then destroys both internal node lists (12-byte and 16-byte variants) |
| 0x0065C8C0 | 114 | CPacketStream__scalar_deleting_dtor_full | CPacketStream scalar deleting destructor: sets vtable, destroys both node lists, optionally frees 0x2C-byte object |
| 0x00732BF0 | 36 | CNetworkSessionBase__scalar_deleting_dtor | Scalar deleting destructor for the abstract CNetworkSession base class (vtable has purecall). Sets vtable to purecall table, then optionally frees the 4-byte object. Used as the base class destructor within CAsyncWorkThread's inheritance chain. |
| 0x00734930 | 103 | CIPAddressTree__FreeNodes | Recursively frees nodes in an IP address BST. Traverses right subtree first, then frees current node (0x24 bytes) and moves to left child. |
| 0x007349A0 | 21 | CIPAddress__constructor_from_uint | Constructor for CIPAddress from a uint32 IP value. Sets vtable and stores the IP address. |
| 0x007349C0 | 137 | CIPAddress__constructor_from_string | Constructor for CIPAddress from a string. Sets vtable, copies the string, calls inet_addr() to convert to uint32, stores result. |
| 0x00734A60 | 67 | CIPAddressTree__FreeRoot | Frees the root node of the IP address tree (0x24 bytes) if non-null. |
| 0x00734AB0 | 111 | CIPAddressTree__FreeAll | Frees all nodes in the IP address BST. Iterates through the tree freeing children, then frees the header node. |
| 0x00734B30 | 78 | CIPAddressTree__destructor | Destructor variant 1 for CIPAddressTree. Frees root node if present. |
| 0x00734B80 | 78 | CIPAddressTree__destructor2 | Destructor variant 2 for CIPAddressTree. Frees root node if present. |
| 0x00734BE0 | 36 | CIPAddress__scalar_deleting_destructor | Scalar deleting destructor for CIPAddress. Sets vtable and optionally frees memory (8 bytes). |
| 0x007350E0 | 451 | CConnectionManager__StoreIPAddress | Thread-safe IP address storage using a BST. Lazily initializes a global tree (DAT_0138d3e0). Looks up the current thread ID in the tree, inserts if not found. Converts the in_addr to string via inet_ntoa and stores it (16-byte buffer). Registers atexit cleanup. |
| 0x007355F0 | 146 | CSocketManager__constructor | Constructor for CSocketManager. Sets vtable, initializes socket count and tree. Allocates BST sentinel node (0x18 bytes). Initializes a CRITICAL_SECTION for thread safety. |
| 0x00735850 | 107 | CSocketManager__destructor | Destructor for CSocketManager. Sets vtable, deletes the CRITICAL_SECTION, then frees all socket tree nodes. |
| 0x00735920 | 128 | CSocketManager__scalar_deleting_destructor | Scalar deleting destructor for CSocketManager. Deletes critical section, frees tree, optionally frees memory (0x28 bytes). |
| 0x007359A0 | 230 | CSocketManager__CreateGlobalInstance | Creates the global CSocketManager singleton (DAT_0138d3ec). Allocates 0x28 bytes, initializes BST and critical section. Returns 1 on success, 0 on failure. |
| 0x00735A90 | 27 | CSocketManager__DestroyGlobalInstance | Destroys the global CSocketManager singleton. Calls virtual destructor with delete, nulls the global pointer. |
| 0x00735AB0 | 267 | CSocketManager__RegisterSocket | Registers a socket in the manager's BST. Enters critical section, searches for existing socket by ID, inserts new node if not found. Node stores socket ID and callback pointer. Returns 1 if inserted, 0 if already exists. |
| 0x00735BC0 | 156 | CSocketManager__DispatchCallback | Dispatches a callback for a registered socket. Enters critical section, looks up socket by ID, if found calls the stored callback with 3 params. Returns 1 if dispatched, 0 if not found. |
| 0x00735C60 | 158 | CSocketManager__UnregisterSocket | Unregisters a socket from the manager. Enters critical section, finds socket by ID and callback pointer match, removes the BST node and frees it (0x18 bytes). |
| 0x00736340 | 191 | CMessageQueue__constructor | Constructor for CMessageQueue. Sets vtable, initializes circular buffer (linked list head, 8 bytes), initializes CRITICAL_SECTION, creates a semaphore with max count 0x7FFFFFFF for signaling message availability. |
| 0x00736400 | 77 | CMessageQueue__ClearQueue | Clears all messages from the queue. Frees the circular buffer and the list head node (8 bytes). |
| 0x00736460 | 137 | CMessageQueue__destructor | Destructor for CMessageQueue. Sets vtable, closes the semaphore handle, deletes the critical section, frees the circular buffer and list head. |
| 0x007364F0 | 160 | CMessageQueue__scalar_deleting_destructor | Scalar deleting destructor for CMessageQueue. Calls destructor and optionally frees memory (0x38 bytes). |
| 0x00736590 | 186 | CMessageQueue__Dequeue | Dequeues a message from the circular buffer. Enters critical section, reads the oldest entry (3 dwords: type, param1, param2), decrements count. Sets success flag in result. Returns empty result if queue is empty. |
| 0x00736660 | 220 | CMessageQueue__Enqueue | Enqueues a message into the circular buffer. Enters critical section, grows buffer if full, allocates slot entry (12 bytes) if needed, stores 3 params (type + 2 data), increments count, signals the semaphore. |
| 0x007369B0 | 23 | CNetworkSession__constructor | Constructor for CNetworkSession. Sets vtable, increments global session counter (DAT_0138d3f0), assigns session ID. |
| 0x007369D0 | 7 | CNetworkSession__destructor | Destructor for CNetworkSession. Just sets the vtable pointer. |
| 0x007369E0 | 36 | CNetworkSession__scalar_deleting_destructor | Scalar deleting destructor for CNetworkSession. Sets vtable and optionally frees memory (8 bytes). |
| 0x0076EC20 | 153 | PacketCrypto__generate_key_pair | Generates a 9-byte packet encryption key pair. First 5 bytes are random (generated via std::_Random_device + PacketCrypto__generate_random_range). Bytes 5-8 are derived by XORing the input 4-byte key (param_2) with cascading XORs of the random bytes. |
| 0x0076ECC0 | 153 | PacketCrypto__generate_key_pair_b | Generates a 9-byte packet encryption key pair. Identical to generate_key_pair - second copy for a different calling context. |
| 0x0076ED60 | 68 | PacketCrypto__extract_key_from_pair | Extracts the original 4-byte key from a 9-byte key pair by reversing the XOR cascade. Computes key[i] = pair[5+i] ^ pair[i+1] ^ pair[i] for i=0..3. This is the inverse of generate_key_pair. |
| 0x00C7C1C0 | 189 | CNetworkSession__ctor | Constructor for CNetworkSession (extends CNetSocket). Calls CNetSocket base init (vtable, 3 network buffers at 0xA000 each), then sets CNetworkSession vtable and initializes extra field at offset 0x6c to 0. Object size: 0x70 bytes. |
| 0x00C7C370 | 133 | CNetworkSession__scalar_deleting_dtor | Scalar deleting destructor for CNetworkSession (extends CNetSocket). Resets vtable to CNetSocket base, destroys 3 CNetworkBuffer objects in reverse order. If param_2 bit 0 is set, frees the 0x70-byte object allocation (4 bytes larger than base CNetSocket). |
| 0x00C7CC30 | 37 | CNetworkSession__is_socket_ready | Checks if the socket is ready for communication. Returns true if socket FD is -1 (not connected) or if both FUN_00c7ca40 and FUN_00c7cb30 return true (socket is readable/writable). |
| 0x00C7CC60 | 47 | CNetworkSession__update_connection_status | Updates connection status flag at field 0x20. If socket FD != -1, checks readability and writability. Sets field 0x20 to 0 if both pass (connected OK), 1 if either fails (connection error). |
| 0x00C7CC90 | 75 | CNetworkSession__read_from_buffer | Reads data from the network buffer. If param_3 is true (exact mode), reads exactly param_2 bytes and returns param_2 on success or 0 on failure. If param_3 is false (best-effort mode), reads up to param_2 bytes (clamped to available data) and returns actual bytes read. |
| 0x00C7CDB0 | 14 | CNetworkSession__alloc_recv_buffer | Allocates a single receive buffer of 0xa000 (40960) bytes via FUN_00c7f060. |
| 0x00C7CDC0 | 44 | CNetworkSession__alloc_triple_buffer | Allocates three 0xa000 (40960) byte buffers via FUN_00c7f060 calls. Used for triple-buffered network I/O. |
| 0x00C7CDF0 | 57 | CNetworkSession__send_data | Sends data over the network socket. If socket FD is -1, does nothing. If field 0x18 is set (async mode), just calls FUN_00c7f0e0. Otherwise calls FUN_00c7f0e0 followed by FUN_00c7cb30 (flush/wait). param_2=data, param_3=length. |
| 0x00C7CE30 | 50 | CNetworkSession__send_data_timed | Sends data with timing. Calls timeGetTime() first (for timing/latency tracking), then sends data via FUN_00c7f0e0 and flushes via FUN_00c7cb30. Only if socket FD != -1. |
| 0x00C7CEC0 | 12 | CNetworkSession__recv_data | Receives data from network socket by calling FUN_00c7f160. Wrapper for the receive operation. |
| 0x00C7D7D0 | 293 | CNetworkSession__get_singleton | Thread-safe singleton accessor for CNetworkSession. On first call, constructs the CNetSocket base (vtable, socket state, 3 network buffers at 0xA000 each), then upgrades vtable to CNetworkSession. Registers atexit cleanup handler. Returns pointer to global singleton at 0x016fdc98. |
| 0x00C7DFA0 | 64 | CNetworkSession__flush_pending_packets | Flushes all pending packets from a linked list. Iterates the list at field [0], for each node: computes offset using magic value 0x40004, calls FUN_00c7df30 to send node data (at node+8) with flag=1. Continues until list wraps back to head. |
| 0x00C7DFE0 | 66 | CNetworkSession__flush_pending_packets_indirect | Similar to flush_pending_packets but accesses the list through an indirect pointer at field [8] and write pointer at field [0x10]. Iterates linked list nodes and sends each via FUN_00c7df30. |
| 0x00C7E0B0 | 93 | CNetworkSession__hook_send_function | Hooks a send function by following JMP chains, finding a signature pattern via FUN_00c7e030, then patching a CALL (0xE8) instruction at offset+6 and a JMP (0xE9) at offset+11. Uses VirtualProtect to make code writable. Stores hook entry point in field [0x10]. |
| 0x00C7E110 | 151 | CNetworkSession__init_packet_hooks | Initializes packet hooks for the network session. Resets two linked lists (at fields [0] and [8]) using FUN_00c7d930. Then hooks FUN_00c7df30 by following JMP chains, finding the code signature, and patching CALL+JMP instructions. Stores hook addresses. Uses VirtualProtect for code modification. |
| 0x00CEA510 | 4001 | CNetwork__serialize_entity_data_packets | Serializes entity data into network packets for replay/save. Iterates through entity list, building sub-packets (0xD6 for type 1 entities, 0xD9 otherwise) with serialized entity data. Also serializes equipment (0xC9), player appearance (0xDA), buff/debuff timers (0xCB), pet/homunculus (0xCC), and status effects (0x191). Wraps all in packet header 10000 and terminates with 0x2711. |
| 0x00CEB4C0 | 1053 | CNetwork__serialize_ground_item_packets | Serializes ground item data into network packets. Iterates through ground item list, computing screen coordinates from 3D positions using map dimensions. Builds sub-packets (0xCD) with item position data (screen x/y, type info). Wraps in header 17000, terminates with 0x4269. |
| 0x00CEBA00 | 427 | CNetwork__parse_status_change_stream | Parses status change/buff data stream (header 19000, matching build_status_change_packet_list). Iterates sub-packets: 0x4A43 extracts status effect data (type, time remaining, 5 values) and stores in global buffer (DAT_014a6938). Also calls CTimerBarMgr__add_timer for timed effects. Sets DAT_0173ad3e=1 on completion. Terminates on 0x4A39. |
| 0x00CEBBB0 | 593 | CNetwork__parse_guild_emblem_data_stream | Parses guild emblem data stream (header 13000, matching build_guild_emblem_packet_list). Dispatches sub-packets: 0x32CA calls CNetwork__save_emblem_to_file (emblem BMP data), 0x32CB calls SpriteAction__parse_action_data (serialized tree), 0x32CC stores guild ID in local, 0x32CD sets guild emblem version via virtual call and stores in DAT_016d44a8. Terminates on 0x32C9. |
| 0x00CEBE20 | 269 | CNetwork__parse_hotkey_data_stream | Parses hotkey bar data stream (header 14000, matching build_hotkey_sync_packets). Reads sub-packets and copies hotkey data (0x36BB) into object at offset 0x24C. Terminates on sub-packet type 0x36B1. Returns -1 if empty or wrong header. |
| 0x00CEBF30 | 453 | CNetwork__parse_npc_chat_data_stream | Parses NPC chat/speech bubble data stream (header 15000, matching build_npc_chat_sync_packets). Processes sub-packet 0xCF by allocating 19-byte buffer and calling CNetwork__recv_npc_spawn_v1 for NPC spawn setup. Terminates on 0x3A99. Returns -1 if empty or wrong header. |
| 0x00CEC100 | 1174 | CNetwork__dispatch_entity_subpackets | Dispatches entity sub-packets from a stream (header 10000). Large switch on sub-packet type: 0xC9=equipment, 0xCA=inventory, 0xCB=debuffs, 0xCC=pet/homunculus, 0xCD=unknown, 0xD0/D2/D4/D5/D6/D7/D8/D9=various entity data, 0xDA=player appearance with string, 0x191=status effect. Terminates on 0x2711. |
| 0x00CEC6A0 | 651 | CNetwork__parse_ground_item_stream | Parses ground item stream (header 17000). Processes sub-packets: 0xCD copies 16 bytes and calls FUN_00d41250 for item placement, 0xCE copies 97 bytes and calls FUN_00d40730 for detailed item data. Terminates on 0x4269. Returns -1 if empty or wrong header. |
| 0x00CECAB0 | 72 | CNetwork__send_disconnect_request | Sends a disconnect/logout request to the server. Builds packet with type 0x7D, sends via CNetworkSession__send_data_timed, then resets network receive buffer and calls stub_005e7970. Only executes if DAT_016f7144 != 1 (not already disconnecting). |
| 0x00CECE30 | 672 | CNetwork__save_emblem_to_file | Saves guild/party emblem data to a temporary file. Extracts emblem name from stream, builds path as '{path}/tmpEmblem/{name}'. If file doesn't already exist (checked via CFileStream), writes raw emblem data to file via fopen/fwrite/fclose. Returns 1 on success, 0 if input stream is empty. |
| 0x00CEFCA0 | 125 | CNetwork__send_item_identify_request | Sends an item identify request packet (0x149) to the server. Checks if item ID is in identify blacklist first. Only sends if DAT_016d3b14 != 3 (not in identify mode). Packet contains item ID, action type 2, and a 10 param. |
| 0x00CF0E30 | 467 | CNetwork__send_chat_message_packet | Sends a chat message packet (type 0x1D5) to the server. Validates the message is non-empty, formats the player name prefix via snprintf_wrapper, validates item links via CItemLink__validate_and_parse_link (skips send if link is invalid). Builds the packet with header 0x1D5, message length, and message body. Uses stack allocation for small messages (<=0x400), heap for larger. Sends via CNetworkSession__send_data_timed. |
| 0x00CFD3D5 | 96 | CNetwork__send_job_sprite_count_packet | Sends packet 0xB19 containing job sprite count to the server via CNetworkSession. |
| 0x00D04460 | 147 | CNetwork__refine_data_record_copy_ctor | Copy constructor for a 0x158-byte refine/upgrade data record. Copies 0x60 bytes of plain DWORD fields, then deep-copies an embedded CShopItem at offset 0x60. Used when duplicating item refine data entries in vectors. |
| 0x00D04500 | 67 | CNetwork__packet_buffer_dtor_0xc_a | Destructor for a packet data buffer. Frees a 0xC-byte (12 bytes) heap allocation at this+4 if non-null. Uses SEH frame for exception safety. One of several similar buffer destructors varying only in allocation size. |
| 0x00D04550 | 67 | CNetwork__packet_buffer_dtor_0xc_b | Destructor for a packet data buffer. Frees a 0xC-byte heap allocation at this+4 if non-null. Identical to dtor_0xc_a. |
| 0x00D045A0 | 67 | CNetwork__packet_buffer_dtor_0xc_c | Destructor for a packet data buffer. Frees a 0xC-byte heap allocation at this+4 if non-null. Identical to dtor_0xc_a. |
| 0x00D045F0 | 67 | CNetwork__packet_buffer_dtor_0x24_a | Destructor for a packet data buffer. Frees a 0x24-byte (36 bytes) heap allocation at this+4 if non-null. |
| 0x00D04640 | 67 | CNetwork__packet_buffer_dtor_0x28_a | Destructor for a packet data buffer. Frees a 0x28-byte (40 bytes) heap allocation at this+4 if non-null. |
| 0x00D04690 | 67 | CNetwork__packet_buffer_dtor_0x24_b | Destructor for a packet data buffer. Frees a 0x24-byte (36 bytes) heap allocation at this+4 if non-null. |
| 0x00D046E0 | 67 | CNetwork__packet_buffer_dtor_0x20_a | Destructor for a packet data buffer. Frees a 0x20-byte (32 bytes) heap allocation at this+4 if non-null. |
| 0x00D04730 | 67 | CNetwork__packet_buffer_dtor_0x20_b | Destructor for a packet data buffer. Frees a 0x20-byte (32 bytes) heap allocation at this+4 if non-null. |
| 0x00D04780 | 67 | CNetwork__packet_buffer_dtor_0x18 | Destructor for a packet data buffer. Frees a 0x18-byte (24 bytes) heap allocation at this+4 if non-null. |
| 0x00D047D0 | 67 | CNetwork__packet_buffer_dtor_0x28_b | Destructor for a packet data buffer. Frees a 0x28-byte (40 bytes) heap allocation at this+4 if non-null. |
| 0x00D04820 | 67 | CNetwork__packet_buffer_dtor_0x1c | Destructor for a packet data buffer. Frees a 0x1c-byte (28 bytes) heap allocation at this+4 if non-null. Uses SEH frame for exception safety. |
| 0x00D079A0 | 1741 | CNetwork__handle_whisper_response | Handles whisper message responses from the server. Switch on param_2: case 0 = successful whisper send (decrypts message, formats "[To name] : msg" or "[To name] >> msg", dispatches to chat UI and log), case 1/2/3 = error codes (player offline/blocked/etc, formats error messages with msg IDs 0x94/0x95/0x96), default = unknown error with extended formatting. Checks valid player name and map name for different display formats. |
| 0x00D08110 | 594 | CNetwork__handle_buyingstore_purchase | Handles a buying store purchase event. Looks up the item by slot, creates a UI window (type 0x101), dispatches UI notification, formats a chat message with item name and count (msg ID 0xE7), notifies vending windows. Checks field 0x175C and plays steal sound effect if applicable. Handles shop window state transitions. |
| 0x00D08390 | 565 | CNetwork__handle_map_server_change | Handles a map server change packet. Extracts the new map name (from packet+0x1C as UTF-16) and server address (from packet+2 as UTF-16), converts to std::string, then calls handle_map_server_connect to initiate the server transition. |
| 0x00D08670 | 425 | CNetwork__handle_vending_item_sold | Handles notification that an item was sold from the player's vending shop. Looks up item by ID string, gets item class/level info, creates UI window (type 0x102), dispatches UI notifications. Updates both shop windows (buyer and seller sides). Plays steal sound effect if sound enabled. Checks field 0x175C for shop state transition. |
| 0x00D08910 | 1428 | CNetwork__main_packet_dispatch_loop | Main network packet receive and dispatch loop. Checks connection state, reads packets from the network socket, dispatches them via a jump table indexed by (packet_id - 0x73) for IDs in range 0x73-0xC44. Handles: hourly play-time warnings (encrypted TLS strings), replay recording (mode 2), replay playback (mode 7), and connection loss detection. The jump table at 0x00d14aa4 contains 0xBD2 entries covering all known packet handlers. |
| 0x00D0C852 | 1 | CNetwork__create_window_and_process_packet_loop | WARNING (jumptable): Unable to track spacebase fully for stack |
| 0x00D0CB7F | 1 | CNetwork__parse_favorite_items_and_process_packets | WARNING (jumptable): Unable to track spacebase fully for stack |
| 0x00D0E183 | 1 | CNetwork__dispatch_chat_and_process_packets | WARNING (jumptable): Unable to track spacebase fully for stack |
| 0x00D17D30 | 1009 | CNetwork__handle_connection_refused | Handles connection refused/disconnect reason packets. Disconnects the network socket, then switches on reason code (byte at param_2+2): 0=banned(msg 3), 1=server full(msg 4), 2=already logged in(msg 5), 3=outdated client(msg 0xF1), 4=banned(msg 0x108), 5=wrong version(msg 0x131), 9/10=service messages, 0xF=maintenance(msg 0x243), 0x6E/0x71/0x73=additional error codes. Default case formats a generic error. Shows dialog box and transitions to disconnected state. |
| 0x00D18BD0 | 318 | CNetwork__recv_character_stats_update | Receives and stores character stat update packets. param_3=0: copies 0xFC bytes (63 dwords) to global player stats at DAT_01732ae8, plus additional fields at +0xFC through +0x109. param_3=1: copies to secondary stats buffer at DAT_01732be4. Notifies the player entity window via virtual call 0x8F with the stat delta. |
| 0x00D18D10 | 580 | CNetwork__apply_status_bitmask_effects | Applies visual effects based on status bitmask changes. Initializes two lazy maps on first call: bitmask-to-msgstring and packet-to-msgstring. Iterates the bitmask map, checking each bit against param_2. For each matching bit, calls handle_character_appearance_data to apply/remove the visual effect. Also checks a secondary map for specific status IDs. Skips status IDs 0x377/0x378/0x379. |
| 0x00D18F60 | 158 | CNetwork__send_equipment_card_data | Iterates the equipment card data map at this+0x1F0 and sends card information to the UI window (DAT_014a684c). For each entry with a non-zero card count (short at +0x1A), dispatches a virtual call 0x1E5 with card slot, card count, item type, and option values. |
| 0x00D19000 | 906 | CNetwork__insert_or_update_entity_record | Inserts or updates an entity record in a red-black tree map keyed by entity ID. If the key doesn't exist, allocates a new 0x218-byte node via CPacketManager__complex_handler and inserts it. Copies extensive entity data from param_3: 7 strings, multiple short/int fields covering stats, appearance, position etc. Total record size ~0x200 bytes with strings and vectors. |
| 0x00D19390 | 514 | CNetwork__recv_ranking_list_display | Handles received ranking list packet. Looks up ranking type by short at param_1+2 in a lazily-initialized ranking type map. Displays top 10 entries formatted as rank/name/points. Each entry is 0x18 bytes (name) + 4 bytes (points) at param_1+0xF4. Shows player's own ranking points at end. |
| 0x00D195D0 | 265 | CNetwork__recv_quest_result_message_00d195d0 | Handles quest/item result message packet. Type 0 (short at +2): stores global data (DAT_01738258/5c/01733d28) and refreshes item display. Type 2: msgstring 0x998. Type 3: msgstring 0x9a1. Type 4: msgstring 0x9b9. Default: msgstring 0x996. Non-zero types display message in chat with color 0xFF. |
| 0x00D196E0 | 236 | CNetwork__recv_quest_result_message | Handles quest result message packet. Switches on result type (short at +2): type 0 stores quest data (DAT_01738258/5c/01733d28) and refreshes display. Type 1: msgstring 0x997. Type 3: msgstring 0x9b9. Default: msgstring 0x996. Non-zero types display the message in chat with color 0xFF. |
| 0x00D197F0 | 231 | CNetwork__recv_item_search_result_message | Handles item search/town info result packet. Type 0 (short at +10): stores data, toggles/creates window 0x113. Type 2: displays msgstring 0xbd7. Default: displays msgstring 0x996 error. |
| 0x00D198F0 | 561 | CNetwork__recv_skill_ranking_list | Processes skill/ranking list from packet. Iterates items checking skill IDs (guillotine/rune), builds ranking records with item names. Creates UI windows 0xA0 and 0xA1 to display results. |
| 0x00D19B30 | 935 | CNetwork__recv_character_flags_and_features | Receives character flags and feature unlocks. Extracts bit flags from dword at +4, stores each flag via CReportManager (IDs 7-0x14, 0x28-0x29). Checks job class for specific features (Guillotine Cross 0xFCF, Soul Reaper 0x1082, Hyper Novice 0x108F/0x1091/0x10CE). If feature flag 0x29 not set, shows msgstring 0x94D. Sends response packet 0x447. |
| 0x00D19EF0 | 73 | CNetwork__recv_entity_timer_effect | Handles entity timer effect packet. Looks up entity by ID (offset +2) via CBGMManager. If found, calls entity virtual method at vtable+8 with event type 0x52 and timer duration (offset +10, multiplied by 1000 for milliseconds). Applies a timed visual/status effect to the entity. |
| 0x00D19F40 | 304 | CNetwork__recv_skill_list_packet | Handles received skill list packet. Parses variable-length list: packet length at offset +2, each entry is 0xF bytes. Builds a vector of skill records, then calls process_skill_list_packet with the packet type (short at offset 0) and the accumulated vector. Cleans up the vector after processing. |
| 0x00D1A330 | 484 | CNetwork__recv_whisper_message_header | Receives whisper message header packet. Extracts sender name from param_1+0x21 (length from short at param_1+2), builds message buffer with sender/content, and delegates to CNetwork__process_whisper_message (FUN_00d1a520) for display and logging. |
| 0x00D1A520 | 4462 | CNetwork__process_whisper_message | Processes an incoming whisper message. Handles both sent and received whispers. Checks if sender is a valid player name, map name, or forbidden name. For valid whispers: displays in chat, handles item links, creates tooltip entries, manages chat log recording. For self-messages (sent whispers): prepends '[Friend]' tag. Supports XOR-decrypted packet comparison for server messages. |
| 0x00D1B690 | 509 | CNetwork__recv_buyingstore_item_list | Receives buying store item list from server. Iterates items (count at param_1+4), creating shop item entries. Each item is 8 bytes (item ID at +8, price at +0xC). Items are added to per-type linked lists indexed by short at param_1+6 (up to 11 types). Uses CItemInfoMgr for item lookups and CItemDesc for name resolution. |
| 0x00D1B890 | 503 | CNetwork__recv_map_change_with_replay | Handles map change packet with replay/BGM state management. Stops replay if playing (state 2->3), pauses if recording (state 7->8). Syncs server tick, extracts position from 3 packed bytes, builds RSW filename, sets next map name, flushes network socket. If ping logging enabled, writes server/IP/map/time to PingLog.txt and clears ping history list. |
| 0x00D1BA90 | 392 | CNetwork__recv_map_change_simple_00d1ba90 | Handles simple map change packet (no replay state management). Syncs server tick, extracts position from 3 packed bytes, builds RSW filename, sets next map name, flushes network socket. If ping logging enabled, writes server/IP/map/time to PingLog.txt and clears ping history list. Simpler variant of recv_map_change_with_replay. |
| 0x00D1C100 | 304 | CNetwork__recv_search_store_result | Handles search store (buying store) result packet. Case 0: success - dispatches chat message with msg 0x40 (yellow), opens search store window with item data. Case 1: shows msg 0x41 (red error). Case 2: shows msg 0x42 (red error). Sets field 0xfc to 0 and 0x3fc to 1 on success. |
| 0x00D1C230 | 117 | CNetwork__recv_item_composition_result | Handles item composition (combine) result. Gets message text from string table based on success/fail flag at offset+2. Message IDs 0x97 or 0x98. Displays result in green (0x32ff) chat message. |
| 0x00D1C640 | 2478 | CNetwork__recv_mail_item_list | Processes mail item list packet. Handles two types (0 and 1): parses item entries with ID, type, amount, card slots, builds tooltip strings via CItemDB. Stores items into mail data vectors via CNetwork__recv_mail_data. Type 1 also triggers auction data recv and NPC dialog. Type 2/3: shows error messages (0x9EF, 0x718). |
| 0x00D1CFF0 | 567 | CNetwork__recv_barter_item_list | Processes barter/extended vending item list packet. Loops through items (0xB byte records), extracts item data, builds item info structs. Opens 3 UI windows (0xB1, 0xB2, 0xB3) and sends setup messages. Sets field 0x24C to 1 when complete. |
| 0x00D1D2F0 | 358 | CNetwork__recv_vending_result | Handles vending operation result. Case 0: closes vending window (0x2D), refreshes item list in window 0x29, sets field 0x93 to 1. Case 1: closes shop windows (0x28, 0x2B, 0x2C), shows dialog box with msg 0xA4F. Case 3: closes all shop windows, shows error msg 0xC9D in red. |
| 0x00D1D460 | 267 | CNetwork__recv_auction_result_00d1d460 | Handles auction result packet. Parses result type from offset +2 and displays appropriate success/error messages via CUIWindowMgr chat dispatch. Updates auction-related UI windows and global state based on the operation result code. |
| 0x00D1D570 | 30 | CNetwork__recv_deal_status_notification | Handles deal status notification. Simple 30-byte function that reads a short value from the packet and dispatches it to the trade window. Minimal processing - just forwards the deal status code to the UI system. |
| 0x00D1D690 | 1 | CNetwork__handle_party_chat_message | CNetwork: handle party chat message |
| 0x00D1D9D0 | 373 | CNetwork__recv_character_rename | Processes character rename response. Extracts new name string from packet (offset 6 to 0x1E), sets it on the sprite via SpriteAction__set_node_string_field_0. If the renamed character ID matches the local player (DAT_01733648), updates the local display name and refreshes UI. |
| 0x00D1DB50 | 798 | CNetwork__recv_instance_map_change | Handles instance map change packet. Type 3: extracts map name from packet (offset 8-0x20), builds string, calls handle_map_change_notification with map ID from offset 4. Type 4: gets message text and calls handle_map_change_notification. Manages STL string construction/destruction for map name. |
| 0x00D1DE70 | 307 | CNetwork__recv_map_change_simple | Handles simple map change packet. Extracts map name string (offset 6-0x1E) and map ID (offset 2), then calls handle_map_change_notification. |
| 0x00D1DFB0 | 1044 | CNetwork__recv_player_spawn_data | Processes full player spawn/appearance data packet with 4 name strings (offsets 6-0x1E, 0x1E-0x36, 0x36-0x4E, 0x4E-0x66). Builds complete node data and inserts into sprite system via SpriteAction__insert_full_node_data with entity ID from offset 2. |
| 0x00D1E3D0 | 573 | CNetwork__recv_player_update_data | Processes player update data packet. Extracts 2 name strings (offset 0xA-0x22 and 0x22+), entity ID from offset 2. Inserts into sprite system. If entity matches local player (DAT_01733648), updates display name and refreshes UI. |
| 0x00D1E610 | 415 | CNetwork__recv_stat_info_debug | Displays debug stat information in chat. Shows STR/AGI/VIT/INT/DEX/LUK values and their standard variants in alternating yellow/orange colors. Also shows attPower, refiningPow, MAX HP/SP/weight, itemdefPow, plusdefPow, mdefPow, plusMdefPow, hit/avoid/flee values. |
| 0x00D1F400 | 307 | CNetwork__recv_equip_item_result | Handles equip item result packet. Case 0: success - looks up item by slot (param_3), sets equip position (param_4) and param_5, then calls CShop__equip_item_to_slot to apply. Sets timer to timeGetTime()-2000 at offset 0x104. Case 1: error msg 0x7A1 (equip failed/rejected, red text font 7). Case 2: error msg 0x174 (already equipped, red text font 7). |
| 0x00D1F570 | 40 | CNetwork__recv_quest_display_update | Handles a packet system update by calling CPacketSystem__method_0067b800 with dword at +2 and byte at +6, then calls the SEH wrapper. |
| 0x00D1F5A0 | 463 | CNetwork__recv_inventory_item_added | Handles inventory item added notification. Parses item data: item index (offset 2), amount (offset 4), item ID (offset 8), card slots, refine level, and flags. Builds item info struct and adds to inventory via FUN_00dd7b80. |
| 0x00D1F770 | 511 | CNetwork__recv_cart_item_added | Handles cart item added notification. Parses item data from packet: index (offset 2), count (offset 7), item ID (offset 6), card slots, flags. If index is 0 calls FUN_00dffd20 (clear/init). Otherwise builds item info and copies to cart via CShopItem__copy_construct + FUN_00e00320. |
| 0x00D1F970 | 559 | CNetwork__recv_cart_item_added_with_options | Handles cart item added with item options. Same as recv_cart_item_added but includes option data (offsets 0x1E-0x36). Parses up to 5 item options with ID+value pairs. Counts non-zero options and stores them in a compact array before adding to cart. |
| 0x00D1FDA0 | 461 | CNetwork__recv_storage_item_added | Handles storage item added notification. Parses item data: index (offset 2), amount (offset 4), item ID (offset 8), card slots, refine level, flags. Builds item info struct and adds to storage via FUN_00dd72c0. |
| 0x00D1FF70 | 526 | CNetwork__recv_storage_item_added_with_options | Handles storage item added with item options. Same as recv_storage_item_added but includes option data (offsets 0x20-0x38). Parses up to 5 item options with ID+value+param fields. Counts non-zero option slots and builds compact option array before adding to storage. |
| 0x00D20180 | 545 | CNetwork__recv_storage_item_added_v3 | Storage item added v3 - includes item options, grade byte (offset 0x39), and extended data. Parses item info, card slots, refine, options (up to 5), and grade field. Adds to storage via FUN_00dd72c0. |
| 0x00D203B0 | 245 | CNetwork__recv_item_pickup_to_storage | Handles item pickup result by adding the item to storage/cart collection. Constructs item info struct from packet: item index (offset +2), amount (offset +4), item ID (offset +8), identify flag (+0xc), refine (+0xd), equip flag (+0xe), 4 card slots (+0xf/+0x13/+0x17/+0x1b). Passes constructed struct to CItemCollection__add_or_update_cart_item. |
| 0x00D204B0 | 528 | CNetwork__recv_inventory_item_added_with_options | Inventory item added with options. Parses item data with up to 5 item options (ID+value pairs from offsets 0x20-0x38). Includes bound flag at offset 0x38. Adds to inventory via FUN_00dd7b80 with flag=1. |
| 0x00D206C0 | 547 | CNetwork__recv_inventory_item_added_v3 | Inventory item added v3 - includes item options, grade byte (offset 0x39), and extended data. Like recv_inventory_item_added_with_options but with additional grade field. Adds to inventory via FUN_00dd7b80. |
| 0x00D20900 | 758 | CNetwork__recv_guild_member_info | Processes guild member information packet. Extracts member name (offset 0xF, 24 chars), performs town info search, copies trade data strings. Compares member ID with local player. If different player and flag==1, sends window message 0x40. Otherwise checks if guild name changed and opens guild UI. |
| 0x00D20C00 | 750 | CNetwork__recv_quest_info | Processes quest info packet. Parses quest header with timestamps (start/expire dates via localtime32), quest objectives with item/monster IDs. Handles special quest objective types (0x1099=msg 0xDE6, 0x109A=msg 0xDE7, 0x287B=RSW map name lookup). Opens quest window (0x8F) with msg 0x55E. |
| 0x00D20EF0 | 748 | CNetwork__recv_quest_info_v2 | Quest info v2 packet handler. Similar to recv_quest_info but with different record size (0x2A vs 0x2E per objective) and 64-bit quest counts. Same quest objective type handling and UI setup. |
| 0x00D21220 | 486 | CNetwork__recv_broadcast_message | Handles broadcast/announce message from server. Variable-length packet (size at offset 2). Copies message data, performs town info search if needed. If chat logging option (0x94) is disabled, displays in chat with purple color (0xFF9DFF) and font 5. Optionally logs to chat file. |
| 0x00D21410 | 109 | CNetwork__recv_map_loaded | Handles map loaded notification packet. Reads entity ID from offset +2 and checks against current/secondary map IDs. Sets global flags DAT_01737c4c and DAT_01737ce8 when the loaded entity matches the current or secondary map. Dispatches notification to the game system to confirm the map has finished loading for the specified entity. |
| 0x00D21480 | 186 | CNetwork__recv_hotkey_list_00d21480 | Receives hotkey/shortcut list packet. Contains 7 int slots (offsets 2-0x1E). Counts non-zero entries, then sends each non-zero hotkey ID to window 99 via message 0x1F. |
| 0x00D21540 | 98 | CNetwork__recv_booking_result | Handles booking result packet. Reads a result code from offset +2 and dispatches appropriate success/error message via CUIWindowMgr. Displays booking operation outcome to the player through the chat system. |
| 0x00D215B0 | 602 | CNetwork__recv_achievement_list | Receives achievement list packet. Clears existing report data. Parses variable-length entries (0x1F bytes each): converts ID to string, extracts status flags, level/score data. Creates TownNpcInfo entries and appends to report storage. Opens windows 0x14E and 0x14F. |
| 0x00D21810 | 440 | CNetwork__recv_achievement_list_v2 | Achievement list v2 with smaller record size (0x19 bytes per entry). Same logic as recv_achievement_list but with different field layout and 64-bit achievement counts. Opens achievement windows 0x14E and 0x14F. |
| 0x00D219D0 | 503 | CNetwork__recv_npc_chat_message | Handles NPC overhead chat message. Variable-length packet (size at offset 2, text at offset 0x20). Performs town info search on message text. Checks entity via ret_zero and game settings (0x72 for NPC chat filter, 0x94 for log filter). Displays in purple (0x9B00FF) or sends to entity bubble. Logs to chat file if enabled. |
| 0x00D21BD0 | 124 | CNetwork__recv_entity_class_change | Handles entity class change packet. Reads entity ID (offset +2) and new class byte (offset +0x1E). If entity is local player, stores class byte to DAT_0173355c. Otherwise looks up entity via CBGMManager, updates entity+0xfb with new class. If class differs from local player's class, creates dialog bubble. If same class, unregisters existing dialog window. |
| 0x00D21C50 | 94 | CNetwork__recv_entity_position_update_00d21c50 | Handles entity position update packet. Reads entity ID (offset +2) and new X/Y coordinates. Looks up entity and updates its position on the map. Compact packet format for simple position corrections without full movement data. |
| 0x00D21D00 | 118 | CNetwork__recv_skill_use_result | Handles skill use result packet. Reads skill ID, target ID, and result code from the packet. Dispatches the skill result to the game system, handling success/failure display for skill casting outcomes. |
| 0x00D21EB0 | 1 | CNetwork__handle_whisper_message_with_links | CNetwork: handle whisper message with links |
| 0x00D223F0 | 3306 | CNetwork__recv_chat_message_complex | Complex chat message handler. Parses variable-length chat text, detects message type by first 4 chars (lowercase compared against multiple prefixes). Handles regular chat, whisper, party, guild messages. Processes item links, word wrapping, chat logging. Supports '#' and ':' delimiters for sender/channel separation. Town info search for special text. |
| 0x00D230E0 | 259 | CNetwork__recv_colored_chat_message | Receives server chat message with explicit color. Variable-length text starts at offset 9. Color from offset 5 (DWORD), font/type from offset 4 (byte). Dispatches to chat window if text is non-empty. |
| 0x00D231F0 | 910 | CNetwork__recv_item_pickup_notification | Handles item pickup notification. Builds item info and tooltip, uses xor_decrypt_buffer for obfuscated Lua function name. Calls Lua function to process pickup. Builds tooltip string with message 0x1108/0x1109 (based on flag), displays in yellow (0xFFFF). Also adds tooltip entry to tooltip manager. |
| 0x00D23580 | 1519 | CNetwork__recv_item_exchange_notification | Handles item exchange/trade notification. Parses item data with variable-length name string. Type 0: builds old+new item tooltips with msg 0x65C. Type 1: copies additional string data. Type 2: shows msg 0x74C (item created). Handles refine count display with msg 0xF91. Shows in yellow (0xFFFF) chat and adds tooltip entry. |
| 0x00D23B70 | 676 | CNetwork__recv_item_refine_notification | Handles item refine/upgrade notification with card slot data. Builds card data string (24 bytes from offset 8), gets old and new item tooltips. Shows msg 0x65C (item exchanged) with tooltip text. Displays in yellow (0xFFFF) and adds tooltip entry to tooltip manager. |
| 0x00D23E20 | 719 | CNetwork__recv_item_upgrade_notification | Handles item upgrade notification with two item data blocks (offsets 4-0x1F and 0x20-0x3F). Builds tooltips for both old and new items, shows msg 0x65C. Displays in yellow (0xFFFF) with tooltip entry. |
| 0x00D240F0 | 675 | CNetwork__recv_item_created_notification | Handles item creation notification. Builds card data and item tooltip, shows msg 0x74C (item created). Displays in yellow (0xFFFF). Adds tooltip entry to tooltip manager list. Uses linked list insertion for tooltip entries. |
| 0x00D243A0 | 138 | CNetwork__recv_quest_timer_list | Receives quest timer list from server. Sets server time offset via CEmotionMgr__set_server_time_offset and timezone via CEmotionMgr__apply_timezone_to_item_timers. Parses variable-length list of quest timers (7 bytes each: 2-byte quest ID + 1-byte active flag + 4-byte expire time). For each active timer, calls CEmotionMgr__add_or_update_item_timer. Schedules timed UI events (types 5 and 6). |
| 0x00D24430 | 124 | CNetwork__recv_entity_speech_bubble | Handles entity speech bubble display. Copies text string (80 chars max from offset 6). Looks up entity by ID (offset 2) via CBGMManager__find_map_by_id_no_cache, sends text to entity via virtual method 8 with message 0x8D. |
| 0x00D244B0 | 354 | CNetwork__recv_damage_display | Handles damage number display packet. Looks up entity in damage tree by ID (offset 2). If found, updates existing entry with new position (offsets 6,8) and decay timer (0x78). If not found, creates new tree node with damage data. Uses binary tree for entity damage tracking. |
| 0x00D246B0 | 340 | CNetwork__recv_storage_item_list | Receives storage item list. Parses 0x22-byte records per item: item ID, index, type, amount, card slots (4x DWORD), refine, flags, and equip info. Builds item info structs and adds each to storage via FUN_00dd72c0. Calls FUN_00dff080 (storage refresh) at end. |
| 0x00D24810 | 363 | CNetwork__recv_storage_item_list_v2_00d24810 | Storage item list v2 with 0x26-byte records. Same as recv_storage_item_list but with additional fields: grade (2 bytes) and extra parameter (2 bytes). Adds to storage via FUN_00dd72c0. |
| 0x00D24980 | 331 | CNetwork__recv_storage_item_list_basic | Basic storage item list with 0x1E-byte records. Minimal item data: item ID, index, type, amount, card slots, refine, flags. No grade or extra params. Adds to storage via FUN_00dd72c0. |
| 0x00D24AD0 | 355 | CNetwork__recv_storage_item_list_v3_00d24ad0 | Storage item list v3 with 0x25-byte records. Extended data: includes bitfield flags byte (bound, favorite, trade restriction bits), grade, extra params. Adds to storage via FUN_00dd72c0. |
| 0x00D24C40 | 682 | CNetwork__recv_storage_item_list_v4 | Storage item list v4 with 0x29-byte records. Extended format with bound/favorite/trade restriction flags (bitfield byte), equip info, grade, refine. Adds to storage via FUN_00dd72c0. |
| 0x00D24EF0 | 731 | CNetwork__recv_storage_item_list_with_options | Storage item list with item options. 0x43-byte records including up to 5 item options (ID+value pairs). Also includes bound/favorite/trade flags. Most complete storage item format. Adds to storage via FUN_00dd72c0. |
| 0x00D251D0 | 315 | CNetwork__recv_storage_equip_list | Storage equip list (0x20-byte records). Equipment items with card slots, refine, bound/favorite flags, expire time. Adds to storage via FUN_00dd72c0. |
| 0x00D25310 | 325 | CNetwork__recv_storage_equip_list_v2 | Storage equip list v2 (0x22-byte records). Same as equip list but with larger record size for additional fields. Adds to storage via FUN_00dd72c0. |
| 0x00D25460 | 329 | CNetwork__recv_storage_equip_list_basic | Basic storage equip list (0x1C-byte records). Minimal equip data: item ID, index, amount, equip slot, card slots, refine flag. Adds to storage via FUN_00dd72c0. |
| 0x00D255B0 | 325 | CNetwork__recv_storage_equip_list_v3 | Storage equip list v3 (0x20-byte records). Like basic but includes expire time field. Adds to storage via FUN_00dd72c0. |
| 0x00D25700 | 301 | CNetwork__recv_storage_equip_list_minimal | Minimal storage equip list (0x0C-byte records). Smallest equip format with no card slots (zeroed). Only item ID, index, amount, equip, and refine. Adds to storage via FUN_00dd72c0. |
| 0x00D25850 | 206 | CNetwork__recv_item_identify_result_00d25850 | Handles item identify result. Calls FUN_00dda510 with item index. Looks up item name by ID (offset 4), shows msg 0x4EA with item name in yellow (0xFFFF). Also dispatches secondary message (type 0x13). |
| 0x00D25920 | 337 | CNetwork__recv_item_expiration_notification | Handles item expiration/rental duration notification. Looks up item name by ID (offset 2). Calculates remaining duration in minutes from seconds (offset 6). If minutes > 0, shows msg 0x4E8 with item name and minutes remaining. If seconds < 60, shows msg 0x4F6 with seconds remaining. If exactly 1 minute left, also shows warning msg 0x4E9 (item about to expire). All displayed in yellow (0xFFFF). |
| 0x00D25AC0 | 454 | CNetwork__recv_npc_dialog_text | Handles NPC dialog text packet. Inserts NPC ID into rb-tree mapping. Extracts text string (variable length from offset 0x11), position data (offsets 0xC-0x10), and display type (offset 0x10). Truncates text to 60 chars max. Sends to window 0x1C via message 0x22. |
| 0x00D25C90 | 191 | CNetwork__recv_entity_speed_update | Updates entity movement speed. Calculates speed as (byte_at_offset8 + 4) * 45. If entity is local player, updates speed at the sprite offset 0x4C. Otherwise looks up entity and sets field 0x13. Sends message 100 with position (short at offset 6). |
| 0x00D25D50 | 318 | CNetwork__recv_trade_partner_info | Processes trade partner information. Looks up partner name, sets trade state flags, shows msg 0x610 with partner name in yellow (0xFFFF) font 0xC. Updates trade tracking state and notifies trading window (0x3C). |
| 0x00D264E0 | 253 | CNetwork__init_map_ui | Initializes map UI after loading. If main windows exist, sends messages 0x20 and 0x3F to reset them. Otherwise resets field 0x24C to 0, stores map ID at 0x2DC, and closes windows 0x10, 0x11, 0xE2. Handles both primary and secondary window sets. |
| 0x00D26860 | 239 | CNetwork__recv_quest_complete_00d26860 | Handles quest completion notification. Looks up quest data from packet system by ID (offset 2), copies quest string, updates quest tree, and shows msg 0x64B in yellow (0xFFFF) font 0x13. |
| 0x00D26950 | 241 | CNetwork__recv_item_delete | Handles item deletion from inventory. If auto-looting active (DAT_01457ad8), shows msg 0xAAE in teal and sends window message 0x125 + closes window 0x108. Calls FUN_00dda510 to remove item. Clears field 0x2D0, sets dirty flag 0x5CE. Handles equip bonus removal if item was equipped. |
| 0x00D26A50 | 176 | CNetwork__recv_equip_arrow | Handles arrow/ammo equip notification. Builds item info struct from packet data (index at offset 2, amount at offset 4), calls FUN_00dda690 to update equipped ammo. Sets dirty flag at offset 0x5CE. |
| 0x00D26B00 | 176 | CNetwork__recv_equip_item | Handles equipment equip notification. Builds item info struct (index at offset 2, amount at offset 4), calls FUN_00ddace0 to process equipment change. Sets dirty flag at offset 0x5CE. |
| 0x00D26BB0 | 342 | CNetwork__recv_warp_response | Handles warp/teleport response. Extracts map name (offsets 6-0x1E). Cases 0/1: opens warp window, stores warp target. Case 2: error msg 0x750 (red). Case 3: error msg 0x751 (red). On successful warp (map matches current), resets trade state, clears status, shows msg 0x54 (yellow), closes windows, notifies UI. |
| 0x00D26E50 | 477 | CNetwork__recv_devotion_targets | Handles Devotion skill target list. If effects enabled (option 8), first clears 5 existing devotion effects (msg 0x6D with effect 0xE8). Then processes 5 target IDs from packet (offsets 6-0x1A). For each non-zero target, creates a Devotion visual effect (0xE8) linking caster to target. Includes NaN overflow check. |
| 0x00D270B0 | 360 | CNetwork__recv_entity_death | Handles entity death notification. Sends messages 0x54 (clear target), 0x57 (clear buffs), 0x53 (stop animation) to the entity. If entity state == 8, calls virtual method 0x3C (death animation). For non-local player entities, also removes effect 0x45A. |
| 0x00D27420 | 1598 | CNetwork__recv_npc_shop_data | Handles NPC shop data packet. Resets field 0xFC. Looks up NPC entity, extracts shop strings. If NPC is valid and matches current shop target, parses item list (0x1C bytes/entry) into linked list with name/ID pairs. Sends item list to window 0x1C via messages 0x2B, 0x22, 0x2C. Updates shop state fields 0x3C8-0x404. |
| 0x00D27A60 | 579 | CNetwork__recv_equip_change_notification | Handles equipment change notification. If local player: looks up equipped item tooltip, shows msg 0x514 (equipped item name). For other entities: based on equip slot type (2=shadow, 0x10=costume, 0x20=shadow2, 0x100=4th slot), shows msg 0x515 with appropriate slot name message. All displayed in red (0xFF) font 0xD. |
| 0x00D27EC0 | 496 | CNetwork__recv_inventory_equip_list | Receives inventory equipment list. 0x22-byte records. Clears existing inventory, parses each item with ID, index, type, amount, card slots, refine, flags. Checks if item is equipped via atoi on item name string. Handles both equipped (FUN_00dd6d70) and unequipped (FUN_00dd7030) items. Notifies UI via CUIWindowMgr__notify_language_change. |
| 0x00D280B0 | 554 | CNetwork__recv_inventory_equip_list_v2 | Inventory equip list v2 with 0x26-byte records. Like recv_inventory_equip_list but includes grade and extra fields. Also handles shadow/costume equipment via FUN_00e1d9b0 check and FUN_00e07150. |
| 0x00D282E0 | 487 | CNetwork__recv_inventory_equip_list_basic | Basic inventory equip list with 0x1E-byte records. Smallest equipment format. Same logic as recv_inventory_equip_list but with fewer fields per entry. |
| 0x00D284D0 | 558 | CNetwork__recv_cart_equip_list | Receives cart equipment list with 0x26-byte records. Offset 0x2D into packet has stat data for cart (STR/AGI/VIT/INT/DEX/LUK, weight). Sets global cart stat fields (DAT_01737fb0-DAT_01737fd0). Handles shadow equipment via FUN_00e1d9b0. Opens/creates cart window 0x8B. |
| 0x00D28700 | 581 | CNetwork__recv_cart_equip_list_v2 | Cart equip list v2 with 0x29-byte records. Same structure as recv_cart_equip_list but with additional fields per item. Also includes bound/favorite flags. Same cart stat parsing and window 0x8B creation. |
| 0x00D28950 | 1355 | CNetwork__recv_inventory_item_list_v1 | Packet handler for inventory item list (version 1, stride 0x43). Parses each item entry: type, ID, card slots, refine, equip location, bonus info. Calls CItemInfoMgr, CItemDesc, ItemBonus. Updates player stats (weight, stats, etc.) at global 01737fb0+. Notifies UI via CUIWindowMgr. |
| 0x00D28EA0 | 1364 | CNetwork__recv_inventory_item_list_v2 | Packet handler for inventory item list (version 2, stride 0x43, offset 0x2f). Nearly identical to v1 but with slightly different header offset and includes DAT_01737fd4 field. Parses item entries with slots, refine, bonuses. |
| 0x00D29400 | 1380 | CNetwork__recv_inventory_item_list_v3 | Packet handler for inventory item list (version 3, stride 0x44). Same structure as v1/v2 but with different field offsets per item entry. Includes DAT_01737fd4 field like v2. |
| 0x00D29990 | 145 | CNetwork__recv_emotion_expansion_result | Handles emotion expansion result packet. Reads the result of an emotion/emote expansion operation. Updates the available emote list with newly unlocked emotes and refreshes the emote selection panel. |
| 0x00D29A30 | 814 | CNetwork__recv_shop_cart_list_v1 | Packet handler for shop/cash shop cart item list (version 1). Clears existing carts, iterates items with nested sub-items (card slots). Builds cart entries via CShopManager. Refreshes shop windows 0x155 and 0x156 after loading. |
| 0x00D29D60 | 533 | CNetwork__recv_shop_cart_list_v2 | Packet handler for shop/cash shop cart item list (version 2). Simpler variant with 0x1A stride per item. Clears carts, parses items with sub-items, builds cart entries via CShopManager. Refreshes shop windows 0x155/0x156. |
| 0x00D29F80 | 159 | CNetwork__recv_emotion_use_result | Handles emotion use result packet. Checks result byte at offset+6: 0=success (shows success msg, activates quest), 1=fail (expansion fail), 2=fail (skill level too low). Shows appropriate EMSG_EMOTION messages. Resets flag at this+0x284. |
| 0x00D2A020 | 66 | CNetwork__recv_storage_access_result | Handles storage access/operation result packet. Switch on type at +2: case 1 = storage error (msg 0x6CD, clears storage list, closes windows 0xAE/0xAF). Case 2 = weight check dialog (calculates remaining weight capacity). Case 9 = error msg 0x705 (red). Case 10 = error msg 0xC9D (clears storage, closes windows). All error cases clear chat first. |
| 0x00D2A1F0 | 153 | CNetwork__recv_refine_result | Handles refine/upgrade result packet. Type 3: shows message 0x6CF (refine success). Type 4: shows message 0x6D0 (refine failure). Calls virtual method at vtable+0x18 with param 0x28, then refreshes a window. |
| 0x00D2A290 | 441 | CNetwork__recv_enchant_result | Handles enchant result packet. Type 5: shows msg 0x39. Type 6: builds item tooltip and shows formatted msg 0x6D3 with item name. Type 7: shows msg 0x6D1. Refreshes windows 0xB1, 0xB2, 0xB3 after processing. |
| 0x00D2A450 | 1344 | CNetwork__recv_item_pickup_result | Handles item pickup result packet. Two packet types (0x1A3 and 0x22F). On success (byte=0): shows item obtained message 0x24F with item tooltip. On failure: shows error messages 0xA12 or 0xCD1 with item name and level. For 0x22F success, also triggers BGM map effect. |
| 0x00D2A990 | 210 | CNetwork__recv_msg_string_with_args | Handles message string packet with variable arguments. Gets message text by ID, counts %s format specifiers (DBCS-aware), then formats with 0-3 string arguments from packet data. Dispatches result as white (0xFFFFFF) chat message. Shows 'unknown argument list' on >3 args. |
| 0x00D2AB70 | 987 | CNetwork__recv_friend_list | Handles friend list packet. Iterates entries (32 bytes each), formats friend names, checks online status via util_0060b420. If offline, creates string entry via FUN_00d06bd0. Adds each friend via FUN_00dd6f10. Refreshes friend list display via FUN_00dff060. |
| 0x00D2AF50 | 64 | CNetwork__recv_friend_info_update | Handles friend info update packet. Reads friend character ID (offset +2) and online status (offset +6). Updates the friend's online/offline status in the local friend list data structure. Refreshes the friend list UI if it is currently open. |
| 0x00D2AFA0 | 952 | CNetwork__recv_party_member_list | Handles party member list packet. Parses leader name, performs string search via CTownInfoMgr. Iterates members (0x2E stride each), parsing AID, name, map name, online/offline flags. Adds each member via FUN_00dd70b0. Sets DAT_01737a9c if current player is leader with level 0. Refreshes party display. |
| 0x00D2B360 | 600 | CNetwork__recv_character_status_info | Handles character status info packet. Parses 3 name strings (character name, party name, guild name) with CTownInfoMgr search. Sets extensive global status data at DAT_016d4460+: base stats, job info, exp, level. Compares guild name to check if same guild. Updates packet stream and refreshes all status windows. |
| 0x00D2B5C0 | 323 | CNetwork__recv_skill_list | Handles skill list packet. Clears existing skill data, iterates skill entries (0x25 stride). For each: constructs CSkillEntry, parses skill ID, level, range, upgradable flag. Gets skill name and AP cost. Special handling for skill IDs 10000-10019. Updates skill point count from param_2+4. Refreshes skill windows. |
| 0x00D2B710 | 828 | CNetwork__recv_storage_item_list_v1 | Handles storage/cart item list v1 (0x29-byte entries). Optionally shows title string via UITextWidget word wrap. Parses each item: type, ID, amount, equip slots, refine, cards, enchant flags, identify/broken flags. Calls FUN_00dd7b80 to add each item to storage list. Refreshes storage view. |
| 0x00D2BA50 | 924 | CNetwork__recv_storage_item_list_v2 | Storage/cart item list v2 with 0x43-byte entries. Parses title string, then iterates items with full card slots, refine, enchant flags, options. Adds each to storage via FUN_00dd7b80. |
| 0x00D2BDF0 | 504 | CNetwork__recv_storage_item_list_v3 | Storage/cart item list v3 with 0x22-byte entries. Parses title string, then simpler item entries with basic card data, identify/broken flags. Adds each to storage via FUN_00dd7b80. |
| 0x00D2BFF0 | 156 | CNetwork__recv_map_change_notify | Handles map change notify packet. Reads new map name and coordinates from the packet. Initiates the map transition sequence: saves current map state, shows loading screen, and begins loading the new map data. |
| 0x00D2C090 | 241 | CNetwork__recv_entity_position_update | Handles entity position update packet. Reads entity ID and new X/Y/direction from the packet. Updates the entity's position on the map and adjusts its facing direction. Used for smooth position corrections from the server. |
| 0x00D2C190 | 187 | CNetwork__recv_exp_update | Handles exp update packet. Reads experience type (base/job) and amount from the packet. Updates the player's experience counter and refreshes the exp bar display. Handles both absolute and delta exp updates. |
| 0x00D2C250 | 84 | CNetwork__recv_exp_update_v2 | Handles exp update packet variant 2. Reads exp type (offset +2) and exp amount (offset +4) as compact values. Updates the corresponding experience counter (base or job) and refreshes the exp bar display. Simpler version of the main exp update handler. |
| 0x00D2C2B0 | 211 | CNetwork__recv_hunting_list | Handles hunting list packet. Reads a list of hunting mission targets with monster IDs and kill counts. Populates the hunting mission tracking UI with current progress and remaining kills for each target. |
| 0x00D2C390 | 341 | CNetwork__recv_hotkey_list | Handles hotkey list packet. Reads the player's hotkey bar configuration from the server. Each entry contains skill/item ID, type flag, and shortcut key binding. Populates all hotkey bar slots with the saved configuration. |
| 0x00D2C4F0 | 222 | CNetwork__recv_play_time_remaining | Handles play time remaining packet. Reads the remaining allowed play time in minutes/hours. Displays a warning message when approaching the time limit. Used for play time restriction systems in certain regions. |
| 0x00D2C5D0 | 535 | CNetwork__recv_equip_item_list | Handles equipped item list packet (0x25-byte entries). Clears equip data. For each item: parses type, ID, amount, card slots, identify/broken/enchant flags, refine, options. Checks if item is equipped via FUN_00e1df60. Sets DAT_01733688 for equipped items. Adds to equip list or places in storage. Notifies UI. |
| 0x00D2C7F0 | 1167 | CNetwork__recv_equip_item_list_v2 | Handles equipped item list v2 (0x29-byte entries with card slot array). Clears equip data. Parses each item with type, ID, refine, card slots, enchant flags, options. Handles equipped items (sets DAT_01733688), adds to equip list or places in storage. Applies item bonuses via ItemBonus__add_equip_bonus. Notifies UI. |
| 0x00D2CC80 | 1215 | CNetwork__recv_equip_item_list_v3 | Handles equipped item list v3 (0x43-byte entries with full card slot array). Clears equip data, parses each item with type, ID, refine, 5 card slots, enchant flags, options. Processes equipped items, applies bonuses via ItemBonus__add_equip_bonus. Notifies UI. |
| 0x00D2D140 | 1247 | CNetwork__recv_equip_item_list_v4 | Handles equipped item list v4 (0x44-byte entries). Same structure as v3 but with different field layout and stride. Full card slot array, enchant flags, options, bonuses. Notifies UI. |
| 0x00D2D620 | 328 | CNetwork__recv_cart_item_list_v1 | Handles cart item list v1 (32-byte entries). Clears cart data via FUN_00dd8450. Parses each item with type, ID, amount, card slots, identify/broken flags. Adds to cart via FUN_00dffba0. Notifies UI. |
| 0x00D2D770 | 343 | CNetwork__recv_cart_item_list_v2 | Handles cart item list v2 (0x22-byte entries). Clears cart data. Parses each item: type, ID, amount, card data, identify/broken flags. Adds to cart via FUN_00dffba0. Notifies UI. |
| 0x00D2D8D0 | 179 | CNetwork__recv_item_identify_result | Handles item identify result packet. Reads the identified item's slot index and new item data. Updates the inventory entry with full item stats now that identification is complete. Refreshes the item tooltip and inventory display. |
| 0x00D2D990 | 1 | CNetwork__disconnect_and_confirm_dialog | CNetwork: disconnect and confirm dialog |
| 0x00D2DA10 | 320 | CNetwork__recv_item_sold_notification | Handles item sold notification. Builds item tooltip string, formats sale message 0x6D2 with item name, quantity, and total price (quantity * unit price). Dispatches as chat message. Updates item count via FUN_00dda510. |
| 0x00D2DB50 | 40 | CNetwork__recv_npc_remove | Handles NPC remove packet. Simple 40-byte handler that reads an NPC/entity ID from the packet and calls the entity manager to remove it from the game world. Used when an NPC despawns or a temporary entity is cleaned up. |
| 0x00D2DB80 | 330 | CNetwork__recv_npc_spawn_v1 | Handles NPC spawn packet v1. Parses NPC data: AID (offset+2), class ID (offset+6, converted to string), position (x,y at offset+0xB/0xD), direction bytes, move speed. Finds existing NPC or creates new 400-byte NPC object. Calls virtual method at vtable+8 with mode 4. |
| 0x00D2DCD0 | 338 | CNetwork__recv_npc_spawn_v2 | Handles NPC spawn packet v2 (extended). Similar to v1 but with additional fields: extra data at offset+0xA/0xC/0x13. Sets local_24=1 (extended mode). Parses AID, class, position, direction. Creates NPC if not found. |
| 0x00D2DE30 | 330 | CNetwork__recv_npc_spawn_v3 | Handles NPC spawn packet v3 (another variant). Similar to v1/v2 with slightly different field offsets: position at offset+0xB/0xD, direction at offset+0xF/0x10, speed at offset+0x11. Sets local_24=1. Creates NPC if not found. |
| 0x00D2DF80 | 1372 | CNetwork__recv_item_obtained_v1 | Handles item obtained packet v1. Clears pending item list. Result 0: new item added to inventory, shows 'obtained' message (msg 0x99, yellow), updates item info window 0x3A. Result 3: existing item quantity updated, adjusts by existing count, shows message. Other results: calls show_item_obtain_error. Special handling for item 0x25F and equip types 10/16/17/19. |
| 0x00D2E4F0 | 1499 | CNetwork__handle_item_obtain_packet | Handles item obtain/pickup network packet. Parses item data, adds to selling or inventory list, builds tooltip, shows chat message (yellow, msg 0x99), updates item window (0x3A) and equipment window (0x133). Handles equip type flags and error cases. |
| 0x00D2EAE0 | 1623 | CNetwork__recv_item_obtained_v2 | Handles item obtained packet v2. Same structure as v1 but with different string building for the existing-item case: uses separate string construction and copy instead of format_string_vsnprintf. Adjusts quantity by existing amount when item already exists. Updates item info window 0x3A. |
| 0x00D2F150 | 129 | CNetwork__show_item_obtain_error | Shows item obtain error messages based on error code. 1/6: msg 0x35 (weight limit). 2: msg 0x34 (inventory full). 4: msg 0xDC. 5: msg 0x117. 7: msg 0x58A. 9: msg 0xF90. Dispatches as red (0xFF) chat message. |
| 0x00D2F200 | 1751 | CNetwork__recv_item_obtained_v3 | Handles item obtained packet v3 (from parameters, not packet buffer). Processes new items (result 0) and existing items (result 3). Shows obtained message, updates item info window 0x3A and bonus UI window 0x133. Handles item 0x25F reset and equip type 10/16/17/19 flagging. |
| 0x00D2F8F0 | 2081 | CNetwork__recv_item_obtained_v4 | Handles item obtained packet v4 (extended with card slot arrays). Same logic as v1/v2 but with full card/option data parsed from packet. Builds card slot count array from slot data. Shows obtained message, updates item info window 0x3A and bonus UI 0x133. Handles equip type flags. |
| 0x00D30130 | 2181 | CNetwork__recv_item_obtained_v5 | Handles item obtained packet v5 (most extended). Same as v4 but with additional fields: grade byte at offset+0x42, enchant level at offset+0x43. Full card slot array, option data, grade info. Handles new item (result 0) and existing (result 3) cases with all UI notifications. |
| 0x00D309D0 | 2467 | CNetwork__recv_item_obtained_v6 | Handles item obtained packet v6 (extended variant, 2467 bytes). Similar pattern to v4/v5 with item parsing, card slots, options, grade data. Processes new and existing items, shows obtained message, updates UI windows. |
| 0x00D31390 | 451 | CNetwork__recv_item_use_notification | Handles item use notification from another player. Looks up entity by AID (param_1+2), skips if self. Shows message 0x4FC ('PlayerName used ItemName') in yellow (0xFFFF00) chat with flag 9. Builds item tooltip from item class ID at offset+6. |
| 0x00D31560 | 359 | CNetwork__recv_item_consumed | Handles item consumed/used packet. Resets sale mode flag at this+0x114. Looks up item, if found and quantity>0 shows message 0x649 ('Used ItemName x Quantity'). Updates item count via FUN_00dda510. Resets field at this+0x2D0. |
| 0x00D316D0 | 68 | CNetwork__recv_status_param_update | Handles status parameter update packet. Reads a stat type ID (short at offset +2) and new value (int at offset +4). Updates the corresponding player stat in the global character data. Notifies the stats window to refresh the display. |
| 0x00D31930 | 122 | CNetwork__recv_identify_item_list | Handles identify item list packet. Reads a list of unidentified items in the player's inventory. Opens the item identification selection window where the player can choose which item to identify. |
| 0x00D319B0 | 132 | CNetwork__recv_identify_item_list_v2 | Handles identify item list v2 packet. Extended version of the identify item list that includes additional item data fields. Opens the identification selection window with enhanced item preview information. |
| 0x00D31A40 | 233 | CNetwork__recv_item_composition_failed | Handles item composition failure notification. Lists failed materials as comma-separated item names. Uses CItemDesc to get item names, formats with message 0x827, shows in red (0xFF) chat. |
| 0x00D31B30 | 401 | CNetwork__recv_whisper_message | Handles incoming whisper message. Copies sender name, compares with own name. If same: refreshes windows 0x1E. If different: gets chat window 0x1C, sets whisper data, updates sender name. Shows message 0xB4 (regular whisper) or 0xB5 (GM whisper) based on flag at offset+0x1C. |
| 0x00D31CD0 | 380 | CNetwork__recv_whisper_send_result | Handles whisper send result packet. Gets recipient name, opens chat window 0x1C, copies sender/recipient strings. Sends update message 0x22 and reply data 0x2C. Shows message 0xB3 ('Whispered to Name'). Dispatches as type 5 (whisper) chat. |
| 0x00D31E50 | 139 | CNetwork__recv_guild_info_basic | Handles guild info basic packet. Reads basic guild information: guild ID, guild level, number of members, max members. Stores the data in guild info globals and refreshes the guild window display. |
| 0x00D31EE0 | 234 | CNetwork__recv_guild_creation_result | Handles guild creation result. Result code at offset+2: 0=success (opens guild window 0x89), 1=error msg 0x542, 2=error msg 0x543, 3=error msg 0x544. Also stores guild member count from offset+6 in DAT_01737fa8 and updates guild state flag DAT_01737f80. |
| 0x00D31FD0 | 103 | CNetwork__recv_guild_position_list | Handles guild position list packet. Reads a list of guild position/rank entries with position ID, name, and permissions. Populates the guild position management UI with the available ranks. |
| 0x00D32040 | 136 | CNetwork__recv_guild_position_change_result | Handles guild position change result. Reads result code (short) at offset+2. Non-negative: success, stores in DAT_01737fa0, opens guild window 0x89 with refresh. Negative: failure, closes guild window, shows error msg 0x541 in yellow-green (0x64FFFF). |
| 0x00D320D0 | 449 | CNetwork__recv_guild_notice | Handles guild notice/bulletin board packet. Sets this+0x24C=1 (guild data loaded). Closes and reopens guild notice window 0x11. Parses notice text from offset+8 (length = packet_len-9), splits by newline separator (DAT_010dd83c). Sends each non-empty line to window via message 0x1B. Sends emblem version via message 0x1C with value from offset+4. Also notifies DAT_01457870 window with message 0x20. |
| 0x00D322A0 | 289 | CNetwork__recv_guild_full_info | Handles full guild info packet. Stores guild ID (offset+2), finds guild by ID, populates guild globals: member stats (offsets+6 through +0x14), guild name (offset+0x16), positions (+0x2E through +0x50), alliance data. Sets guild state flag DAT_01737ce8=1. Refreshes navigation display multiple times. |
| 0x00D323D0 | 65 | CNetwork__recv_guild_stat_update | Handles guild stat update by type. Switch on short at offset+2: types 5-8 update alliance/enemy guild IDs (DAT_01737ca4/ca8/cb4/cb8), types 0x29/0x31/0x35/0xA5/0xBD/0xBE update member counts and various guild parameters. Each update triggers refresh_navigation_display. Only processes if DAT_01737ce8 (guild loaded flag) is set. |
| 0x00D325F0 | 552 | CNetwork__recv_cart_equip_item_list | Handles cart equipped item list packet (0x25-byte entries with header offset 0x2D). Resets equip descriptions and item slots. Parses each entry: type, item ID, amount, card slots (4x4 bytes), identify/broken/enchant flags, refine level, option data. Equips items to regular or shadow slots. Stores guild stats from header (offsets 0x04-0x2C) in DAT_01737fb0-01737fe8. Opens/refreshes equipment window 0x8B. |
| 0x00D32830 | 175 | CNetwork__recv_server_message_display | Handles server message display packet. Reads message ID (short at offset+2). Color-codes by ID range: 0x4C5/0x4C6/0x757/0x758/0x886 = red (0xFF), 0xD93/0xD94 = with flag 0x17, others = white (0xFFFFFF). Dispatches via CUIWindowMgr as both type 1 (normal) and type 0x13 (system) chat messages. |
| 0x00D328E0 | 151 | CNetwork__recv_server_message_display_v2 | Handles server message display v2 packet. Same pattern as recv_server_message_display but reads an additional 4-byte value from offset+4 as color override. Dispatches message by ID (offset+2) as both normal (type 1) and system (type 0x13) chat messages. |
| 0x00D32980 | 135 | CNetwork__recv_skill_levelup_notification | Handles skill level up notification. Reads skill ID (short at offset+2) and message ID (int at offset+4). Gets skill name via CSkillManager__GetSkillNameById, formats with message text, displays as pink (0xFFCDCD) chat message with flag 0x0B (skill notification type). Format: "[SkillName] : [Message]". |
| 0x00D32A10 | 363 | CNetwork__recv_server_message_with_item | Handles server message with item name formatting. Reads message ID (short at offset+2). Special case for ID 0xCCE: looks up item by class ID (offset+4) via CItemDesc, builds item name string, formats with message text. Other IDs: formats message with int param from offset+4. Displays as cyan (0xFFFF) chat message if non-empty. |
| 0x00D32B80 | 116 | CNetwork__recv_guild_emblem_version | Handles guild emblem version packet. Reads guild ID and emblem version number. Compares with locally cached version to determine if the emblem needs to be re-downloaded from the server. |
| 0x00D32C00 | 361 | CNetwork__recv_item_forging_result | Handles item forging/crafting success result. Reads item ID (int at offset+2), converts to string via itoa. Gets item tooltip via CItemDB, formats with messages 0x8F (item name format) and 0x90 (forging success message). Displays as yellow (0xFFFF00) chat message. Clears pending chat first. |
| 0x00D32D70 | 159 | CNetwork__recv_item_forging_failed | Handles item forging failure notification. No packet data needed. Formats messages 0x91 (material name) and 0x92 (failure text) into a combined string. Displays as yellow (0xFFFF00) chat message. Clears pending chat first. |
| 0x00D32E10 | 479 | CNetwork__recv_guild_storage_item_list | Handles guild storage item list packet. Clears vending display, storage list, and guild storage. Parses 0x0B-byte entries (from offset+0x0C): item class, type, amount, name index, flags. Adds each item to guild storage via CItemCollection. Opens guild storage window 0xB0 with refresh (msg 0x17) and capacity info (msg 0x77 with value from offset+8). Sets field at this+0x24C=1. |
| 0x00D32FF0 | 345 | CNetwork__recv_cart_item_list_v3 | Handles cart non-equip item list v3 (0x1C-byte entries). Clears non-equipment selling state. Parses each entry: item type, ID, amount, card slots (4x4 bytes), identify flag. No card data zeroed. Adds items to list type 0x1710. Notifies UI via CUIWindowMgr__notify_language_change. |
| 0x00D33150 | 338 | CNetwork__recv_cart_item_list_v4 | Handles cart non-equip item list v4 (0x20-byte entries). Same structure as v3 but with additional 4-byte field per entry (at offset+9 words). Clears non-equipment selling state, parses items, adds to list type 0x1710. Notifies UI. |
| 0x00D332B0 | 319 | CNetwork__recv_cart_item_list_v5 | Handles cart non-equip item list v5 (0x0C-byte entries, minimal). Clears non-equipment selling state. Parses each entry with zeroed card slot data (local_f0-uStack_e4 = 0) since this compact format has no card info. Adds items to list type 0x1710. Notifies UI. |
| 0x00D333F0 | 264 | CNetwork__recv_item_added_to_cart | Handles item added to cart notification. Looks up item by slot index (short at offset+2) via CShop__find_item_in_linked_list_by_slot. If found, builds item tooltip string and formats with message 0x530 (cart add notification). Displays in cyan-ish (0x6EFFFF) chat. |
| 0x00D33500 | 877 | CNetwork__recv_entity_state_update | Handles entity state update with monster talk and pet interaction. Parses: entity ID (param_2), coordinates (param_3/4), speed (param_5/6, defaults 0x5A0 if 0), state byte (param_9), job class (param_7, skip if -30000). For player entity: checks pet hunger/intimacy, triggers pet emotion with 25% chance and 60s cooldown. For NPCs/monsters: fetches random monster talk line by job ID and displays as chat (0xFAFAFA). Updates entity state via virtual call type 0x0B. |
| 0x00D33870 | 252 | CNetwork__recv_entity_position_update_v2 | Handles entity position update v2 packet. Parses entity ID (offset+2), coordinates (offsets+6, +10), speed values (offsets+0x0E, +0x10 with defaults 0x1B0 and 0x120), state byte (offset+0x16), position short (offset+0x14), job class (offset+0x12, skip if -30000). Looks up entity or player object, dispatches state update type 0x0B via virtual call. |
| 0x00D33980 | 107 | CNetwork__recv_entity_walk_data | Handles entity walk/movement data packet. Reads walk parameters: direction pair (offset+2, +4), speed values (offsets+6, +10) divided by 10. Updates walk display via DAT_01457974 window (type 0x37 message). Stores in DAT_0173356c-01733578 globals. |
| 0x00D339F0 | 737 | CNetwork__recv_entity_chat_message | Handles entity chat message packet. Reads variable-length text (max 0x169 bytes after 8-byte header) from packet. Looks up entity by ID (offset +4) via CBGMManager. Applies string search filtering via CTownInfoMgr. In normal mode: dispatches colored chat based on DAT_016d3b10 level (5=yellow 0xFFFF00, 10=blue 0x1D8DFF, else cyan 0xFFFF). In shop mode (DAT_014578fc): uses dark gray (0x222222) channel 5. Sends to entity chat bubble and appends to chat log file if logging enabled. |
| 0x00D33CE0 | 607 | CNetwork__recv_entity_whisper_chat | Handles entity whisper/direct chat packet. Reads variable-length text (max 0x169 bytes) from offset +8, with entity ID at offset +4. If entity is player (matches DAT_01733c3c): green chat (0xC8FF, type 3) with player chat bubble. For other entities: clears overhead message first, then light red chat (0xC8C8FF, type 3) with that entity's chat bubble. Appends to chat log if enabled. |
| 0x00D33F40 | 243 | CNetwork__recv_item_deal_notification | Handles item deal notification packet. Formats message using item equip name (from location at offset +0x1A), amount (int at offset +0x1E), player name (string at offset +2), and message template 0x78A. In shop mode: dark gray (0x222222) channel 5. Otherwise: yellow (0xFFFF00) channel 1, suppressed if chat options 0x72 or 0x94 are enabled. Appends to chat log if enabled. |
| 0x00D34040 | 523 | CNetwork__recv_exp_gain_notification | Handles experience gain/loss notification packet. Only processes if entity ID (offset +2) matches player. Formats EXP messages using templates 0x64D (gain type 1), 0x64E (gain type 2), 0x64F (positive), or 0x650 (negative) based on amount (offset +6) and type (offset +10). Dispatches as chat with color: green-pink (0xBE58BE) if type at offset +0x0C is 1, otherwise cyan (0xFFFF). Message style 0x12. |
| 0x00D34250 | 63 | CNetwork__recv_entity_byte_field_update | Handles entity byte field update packet. If entity ID (offset +2) matches player, stores byte from offset +6 into global DAT_01733568. Otherwise looks up entity by ID via CBGMManager and stores short from offset +6 into entity field +0xFC. |
| 0x00D34290 | 144 | CNetwork__recv_entity_event_0x22_dispatch | Handles entity event 0x22 dispatch packet. Validates entity ID (offset +2), looks up entity via CBGMManager, dispatches virtual event type 0x22 with two int parameters from offsets +6 and +10 (sign-extended). Also notifies UI window manager (event type 6, subtype 0x22) and sends event to grid window with the entity ID and both parameters. |
| 0x00D34320 | 154 | CNetwork__recv_entity_event_0x22_short_params | Handles entity event 0x22 dispatch with short parameters. Checks entity ID (offset +2) is not on secondary map. Looks up entity, dispatches event 0x22 with two short parameters from offsets +6 and +8. Also notifies UI window manager (event 6, subtype 0x22) and sends to grid window. |
| 0x00D343C0 | 285 | CNetwork__recv_player_status_mode_change | Handles player status mode change packet. Reads status type (short at offset +2) and updates game state. Types: 5,6 = walking state; 0x12,8 = combat state + enable option 0xE5; 0x13 = special state; 0x0B,0x0C = no state change. Checks nested entry conditions. Updates entity status effect visuals unless DAT_0173ad3e is set. For statuses 5-9, 0xB, 0xE, 0x11-0x13, 0x19, 0x1F-0x20, marks entity field 0xFD as needing refresh. |
| 0x00D34600 | 155 | CNetwork__recv_entity_position_update_00d34600 | Handles entity position update packet. Extracts server tick (int at offset +0x0C) and 6-byte packed position data (offset +6) containing x, y coordinates and direction. Looks up entity by ID (offset +2) via CBGMManager, adjusts server tick drift, and dispatches position update event (type 0) to the entity. |
| 0x00D346A0 | 1259 | CNetwork__recv_entity_spawn_walking | Handles entity spawn (walking) packet. Spawns or updates a walking entity. Parses entity data: AID (offset +2), job/class (offset +0x0E), gender override, position from 6-byte packed data (offset +0x36), speeds, levels, equipment slots, hair/clothes colors, guild emblem info, state flags. For existing entities: event 0x7B (update). For new: creates CSkillUnit for skill indicators or CEntity by sprite type. For pet type (0x2E): loads pet accessory ACT. Creates chat bubbles for Doram/special classes. Finalizes via large packet data handler. |
| 0x00D34B90 | 1290 | CNetwork__recv_entity_spawn_idle_with_type | Handles entity spawn (idle with type byte) packet. Similar to walking spawn but with type byte at offset +2 and entity data at offset +3. Parses full entity data: job class, gender, position (6-byte packed at offset +0x3B), stats, equipment, guild info. Stores 2 bytes at entity offset 0x210 from packet +0x43. Type 0x07 triggers pet accessory loading. For existing entities: event 0x7B. For new: CSkillUnit or CEntity. Creates chat bubbles for Doram classes. Handles map tracking flags. |
| 0x00D350A0 | 1413 | CNetwork__recv_entity_spawn_with_name | Handles entity spawn with name string packet. Extended spawn handler with variable-length name (offset +5, length = packetSize - 0x4B). Parses full entity data with position packed at offset +0x3F. Stores 2 additional shorts at entity offsets 0x210 and 0xFC. For existing entities: event 0x7B. For new: CSkillUnit or CEntity. Pet type triggers accessory loading. Creates chat bubbles for Doram classes. |
| 0x00D35630 | 1208 | CNetwork__recv_entity_spawn_moving | Handles entity spawn (moving) packet. Spawns or updates a moving entity. Parses entity data: AID (offset +2), job class (offset +0x0E), gender (offset +0x31), position (6-byte packed at offset +0x32), server tick (offset +0x16). For existing entities: event 5 (moving update). For new: CSkillUnit or CEntity by sprite type. Loads equipment costume overlay for NPC/monster job ranges. For pet type (0x2E): loads pet accessory. Creates Doram chat bubbles. Finalizes via large packet data handler. |
| 0x00D35AF0 | 1241 | CNetwork__recv_entity_spawn_moving_with_name | Handles entity spawn (moving) with name and type byte packet. Extended moving spawn with variable-length name, type byte at offset +4. Type 0x00 = skill unit (CSkillUnit), 0x07 = pet with accessory, 0x08 = current map entity, 0x09 = secondary map. For skill units: event 0x7C (existing) or 0x79 (new). For others: event 3 (existing moving) or 4 (new moving). Loads equipment costume overlay for NPC/monster ranges. Creates Doram chat bubbles. |
| 0x00D35FD0 | 1254 | CNetwork__recv_entity_spawn_idle_base | Handles entity spawn (idle, base format) packet. Spawns or updates an idle entity. Parses entity data: AID (offset +2), job class (offset +0x0E), gender (offset +0x31), position (6-byte packed at offset +0x32). For existing entities: event 0x7C (idle update). For new: CSkillUnit or CEntity with event 0x79. Creates skill effect 0x158 for new skill units. Loads pet accessory for type 0x2E. Creates Doram chat bubbles. Tracks position changes via field 0x2E4. |
| 0x00D364C0 | 1265 | CNetwork__recv_entity_spawn_idle_ext | Handles entity spawn (idle) with extended fields packet. Same as base idle spawn but with additional 2-byte field at entity offset 0x210 (from packet +0x3B). Job class at offset +0x10, gender at +0x35, position at +0x36. For existing: event 0x7C. For new: CSkillUnit or CEntity with event 0x79. Skill effect 0x158 for skill units. Pet accessory, Doram chat bubbles, position tracking. |
| 0x00D369C0 | 1286 | CNetwork__recv_entity_spawn_idle_ext2 | Handles entity spawn (idle) with extended fields v2 packet. Like ext but also stores entity offset 0xFC from packet +0x3D and offset 0x210 from packet +0x3B. Job class at +0x10, gender at +0x35, position at +0x36. For existing: event 0x7C. For new: CSkillUnit or CEntity with event 0x79. Skill effect 0x158, pet accessory, Doram chat bubbles, position tracking. |
| 0x00D36ED0 | 1262 | CNetwork__recv_entity_spawn_moving_compact | Handles entity spawn (moving, compact format) packet. Compact moving entity spawn with job at offset +0x0E, gender at +0x2D, position packed at +0x2E. For existing: event 3 (moving update). For new: CSkillUnit or CEntity with event 4 (new moving). Loads equipment costume overlay for NPC/monster/homunculus job ranges. Skill effect 0x158 for skill units. Pet accessory, Doram chat bubbles. Finalizes via large packet data handler. |
| 0x00D373C0 | 581 | CNetwork__recv_player_own_chat | Handles player's own chat message packet. Reads variable-length text (max 0x169 bytes) from offset +4, with packet length at offset +2. In normal mode (DAT_014578fc == 0): displays as green chat (0xFF00, type 1) and sends to player entity chat bubble. In shop mode: displays as dark green (0x7800) on channel 5. Appends to chat log if enabled. |
| 0x00D37610 | 140 | CNetwork__recv_player_position_update | Handles player position update packet. Reads server tick (int at offset +2) and 6-byte packed position data (offset +6) containing x/y coordinates and direction. Adjusts server tick drift, then dispatches position update event (type 0) to the player entity via its vtable. |
| 0x00D376A0 | 34 | CNetwork__recv_entity_action_0x3f | Handles entity action dispatch (event 0x3F) packet. Reads entity ID (offset +2), two shorts (offsets +6 and +8), and dispatches via vtable +0x18 with event code 0x3F. Small 34-byte handler for triggering entity-specific actions. |
| 0x00D376D0 | 48 | CNetwork__recv_entity_action_0xaa | Handles entity action dispatch (event 0xAA) packet. Skips if entity ID (offset +2) matches player (DAT_01733c3c). Otherwise dispatches via vtable +0x18 with event code 0xAA, passing entity ID and two short parameters from offsets +6 and +8. |
| 0x00D37700 | 1 | CNetwork__handle_entity_weight_change_packet | CNetwork: handle entity weight change packet |
| 0x00D37A10 | 1166 | CNetwork__recv_entity_spawn_named_typed_ext | Handles entity spawn with name, type byte, and extended fields packet. Extended spawn with variable-length name (offset +5, length = packetSize - 0x45). Type byte at +4: 0x00 = skill unit, 0x07 = pet, 0x08 = current map, 0x09 = secondary map. Stores extra fields: entity offset 0xFC, 0x210, and byte at +0x40. For type 0x00: event 0x7C (existing) or 0x79 (new). For others: event 3/4 (moving). Equipment costume overlay, Doram chat bubbles, position tracking. |
| 0x00D37EA0 | 1158 | CNetwork__recv_entity_spawn_idle | Processes entity spawn (idle state) packet. Complex handler that parses entity appearance data: job class, hair, equipment, position, speed, direction, gender, etc. Creates new entity objects (CSkillUnit for ground skills, regular entity otherwise). Handles mount/pet display, loads ACT resources, sets up entity position and visual state. Checks for guild emblems and NPC movement patterns. |
| 0x00D38330 | 1152 | CNetwork__recv_entity_spawn_idle_extra_byte | Handles entity spawn (idle) with extra byte field packet. Entity spawn with job at offset +0x10, gender at +0x35, position at +0x36, plus additional byte at offset +0x3B. For existing: event 0x7C. For new: CSkillUnit or CEntity with event 0x79. Pet accessory, Doram chat bubbles, position change tracking. |
| 0x00D387B0 | 1165 | CNetwork__recv_entity_spawn_idle_with_fc | Handles entity spawn (idle) with FC field packet. Entity data at standard offsets with additional short stored at entity offset 0xFC (from packet +0x3E). For existing: event 0x7C. For new: CSkillUnit or CEntity with event 0x79. Pet accessory loading, Doram chat bubbles, position change tracking via field 0x2E4. |
| 0x00D38C40 | 1305 | CNetwork__recv_entity_spawn_moving_with_type | Handles entity spawn (moving) with type byte packet. Entity data at offset +3 with type byte at +2. Job at +0x0F, gender at +0x2E, position at +0x2F. Type byte 0x07 = pet with accessory, 0x09 = type check. For existing: event 3. For new: CSkillUnit or CEntity with event 4. Equipment costume overlay for NPC/monster ranges. Doram chat bubbles. Large packet data handler finalization. |
| 0x00D39160 | 628 | CNetwork__recv_entity_spawn_moving_compact_typed | Handles entity spawn (moving, compact, typed) packet. Compact moving spawn with type byte at offset +2, entity data at +3. For existing entities: event 3. For new: creates CEntity by sprite type with event 4. Equipment costume overlay for NPC/monster job ranges. Stores 2 bytes at entity offset 0x210 from packet +0x2A. |
| 0x00D393E0 | 52 | CNetwork__recv_ui_window_event_0x37 | Handles UI window event packet. Creates window type 0x21 via CGameObject__create_window_by_type, then sends event 0x37 with short parameter from offset +2 and sub-type short from offset +4 to update the window. |
| 0x00D39420 | 259 | CNetwork__recv_server_tick_sync | Handles server tick synchronization packet. If ping logging enabled (DAT_0171f100), writes to PingLog.txt with timestamp and tick difference. On first tick (field 0x454 == 0): calls sync_server_tick_offset for initial time base. On subsequent ticks: calls adjust_server_tick_drift. Increments tick counter, sets connection alive flag (field 0x270), computes running ping average. |
| 0x00D39530 | 139 | CNetwork__recv_entity_vanish_00d39530 | Handles entity vanish/death packet. Processes entity removal by vanish type (offset +6). Type 0: standard removal (event 99 + packet 0x0D). Type 1: full death with cleanup events 0x1C/0x0D, pet emotion on owner death, clears TLS fields (status effects, UI states), refreshes equipment/party/BG windows, shows dialog for mode 4. Type 2: teleport out with effect 0x13A, clears mail/auction. Type 3: effect 0x130 unless hidden. Default: removes actor via CBGMManager. |
| 0x00D39AB0 | 44 | CNetwork__recv_entity_talk_bubble | Handles entity talk bubble update packet. Looks up entity by ID (offset +2) via CBGMManager. If found, calls virtual function at vtable +0x48 with data value from offset +7 to update the entity's overhead talk bubble display. |
| 0x00D39AE0 | 205 | CNetwork__recv_colored_chat_from_entity | Handles colored chat message from entity packet. Copies variable-length text (packetSize - 0x0C bytes) from offset +0x0C into buffer. Dispatches as chat type 1 with color from offset +8. Looks up entity by ID (offset +4) and sends text as chat bubble (event 7) with color. Appends to chat log if enabled. |
| 0x00D39BB0 | 507 | CNetwork__recv_item_list_display | Handles item list display packet. Parses variable-length packet with 19-byte (0x13) entries. For each: extracts item ID (4 bytes), card slots (8 bytes), option data, flags. Converts item ID via itoa, looks up description via CItemDesc, adds to item collection. Creates/refreshes UI windows 0xFE and 0xFF (equipment/inventory) with events 0x24 (refresh) and 0x17 (update). |
| 0x00D39DB0 | 367 | CNetwork__recv_item_list_small | Handles item list (small format) packet. Parses variable-length packet with 15-byte (0x0F) entries. For each: extracts 8-byte item identifier, 2-byte field, 1-byte flag. Clears deal/inventory lists first, processes each through itoa and CItemCollection__add_item_from_string_id. Refreshes UI windows 0xFE and 0xFF with events 0x24/0x17. |
| 0x00D39F20 | 382 | CNetwork__recv_trade_buy_notification | Handles trade/buy notification packet. Result type (short at offset +4): 0 = yellow msg 0x36, 1 = red msg 0x37, 2 = red msg 0x38, 3 = red msg 0xDD, 9 = red msg 0x794, 0xFFFF = red msg 0xBE3. If item data follows (10-byte entries from offset +6): creates trade window 0x100, processes items through CShopItemList, calculates scroll position. If no items: sends packet 0x124 to server. |
| 0x00D3A1E0 | 728 | CNetwork__recv_map_change | Handles map change packet. Stores skill level data from offsets +0x12/+0x14 into globals. Reads 16-byte map name from offset +2. Manages EffectMap state transitions (2->3 close UI, 7->8). If same map as current (DAT_01733c44): reinitializes map/cursor with fade-out. If different: sets character name, records timestamp, sets next map name, creates loading window with msg 0x79, sets timeout 0xB9, resets inventory expansion. Clears selling items and removes event queue entries 200/0xC9/4. |
| 0x00D3A4C0 | 367 | CNetwork__recv_map_server_connect | Handles map server connect packet. Reads 16-byte map name string from offset +2. Builds STL string, then calls handle_map_server_connect to process the connection with the new map name. |
| 0x00D3A630 | 232 | CNetwork__recv_storage_open | Handles storage open packet. Checks if player is trading (field 0x308) - if so, sends packet 0x51 to reject. Reads storage capacity (byte at offset +2, clamped 2-5) into DAT_01733580. Clears storage items. If not in shop/vending/party: creates storage window (type 0xAE) with submit button. Otherwise shows dialog msg 0x24B and sends packet 0x10E to reject. |
| 0x00D3A720 | 70 | CNetwork__recv_npc_dialog_open | Handles NPC dialog open packet. Validates entity ID (offset +2) exists via CBGMManager, or allows ID 0. Creates NPC dialog window (type 100) and sends event 0x1C with entity ID to initialize the dialog. |
| 0x00D3A770 | 43 | CNetwork__recv_npc_close_dialog | Handles NPC close dialog packet. Stores byte from offset +4 into DAT_01738218 and short from offset +2 into DAT_0173821e. Creates follow-up UI window via CGameObject__create_window_by_type. |
| 0x00D3A7A0 | 1 | CNetwork__handle_player_status_change_packet | CNetwork: handle player status change packet |
| 0x00D3A808 | 1 | CNetwork__handle_player_status_change_alt | WARNING (jumptable): Unable to track spacebase fully for stack |
| 0x00D3A825 | 1 | CNetwork__handle_player_status_change_switch | WARNING (jumptable): Unable to track spacebase fully for stack |
| 0x00D3B650 | 50 | CNetwork__recv_entity_option_update | Handles entity option update packet. Looks up entity by ID (offset +2). If found and type field (short at offset +6) equals 4, calls entity virtual function at vtable +0xA0 with value from offset +8 to update a specific entity option/property. |
| 0x00D3B690 | 26 | CNetwork__recv_item_buy_result | Handles item buy result packet. Result code (short at offset +2): 0/1 = success (processes item data), 2 = dialog with msg 0x724, 3 = dialog with msg 0x725. For success cases: falls through to process a large item-related packet handler. |
| 0x00D3B730 | 182 | CNetwork__recv_minimap_open | Handles minimap/navigation open packet. If result (short at offset +2) is non-zero: shows dialog with msg 0x795 (if result==2) or msg 0x722. If result is 0 (success): records tick count, creates window 0xA4, finds window 0xA8 and rebuilds map filter tree, clears TLS field. |
| 0x00D3B7F0 | 211 | CNetwork__recv_party_alarm_data | Handles party alarm data packet. Allocates buffer, copies variable-length data (entry size 0x30 bytes) from offset +5. Sets DAT_017381b5 flag. Finds party alarm window (type 0xA9). If no entries: shows dialog msg 0x723 and clears count. Otherwise calls CPartyAlarmMgr__notify_party_alarm with data, count, and flag byte from offset +4. Refreshes window. |
| 0x00D3B8D0 | 52 | CNetwork__recv_party_member_remove | Handles party member remove packet. Removes entry by key (entity ID from offset +2) via CryptoManager__remove_entry_by_key. Finds and refreshes party alarm window (type 0xA9) via vtable +0x98. |
| 0x00D3B910 | 77 | CNetwork__recv_party_member_update | Handles party member update packet. Passes 12 consecutive 4-byte values from packet (offsets +2 through +0x2E) to CPartyAlarmMgr__process_party_member_update for full member data update (ID, stats, equipment, position, etc.). Finds and refreshes party alarm window (type 0xA9). |
| 0x00D3B960 | 56 | CNetwork__recv_party_alarm_pending | Handles party alarm pending processing packet. Passes entity ID (offset +2) and data pointer (offset +6) to CPartyAlarmMgr__process_pending_alarms. Finds and refreshes party alarm window (type 0xA9). |
| 0x00D3B9A0 | 64 | CNetwork__recv_message_toggle_notification | Handles message toggle notification packet. Reads toggle state byte from offset +2 into DAT_01737f70. Displays message 0x52E (if state is 0/off) or 0x52D (if state is 1/on) as cyan (0x64FFFF) chat message. |
| 0x00D3B9E0 | 81 | CNetwork__recv_friend_party_invite_result | Handles friend/party invite result packet. Large switch on result code (int at offset +0x36) with 14 cases (0-0xD). Cases 0,7,8,0xC: format message with player name from packet. Case 0: uses msg 0xDAD (if DAT_01737a9c==1) or 0xDAA. Case 1: msg 0xDAE/0xDAB. Cases 2-6,0xA-0xD: direct message display with red (0xFF) color. Case 9: msg 0xDA6 + handler call. All display via CUIWindowMgr__dispatch_chat_message. |
| 0x00D3BCE0 | 91 | CNetwork__recv_charselect_slot_entry | Handles character select slot entry packet. Reads slot index (int at offset +2), account ID (int at offset +6), character name (24-byte string at offset +10), and two short values at offsets +0x22 and +0x24. Passes all data to CPartySearchWnd__add_entry_to_list (likely misnamed - this is a generic list population function) to populate the character select screen UI. |
| 0x00D3BD40 | 441 | CNetwork__recv_trade_request_item_list | Handles incoming trade request with item list. Only processes if DAT_01457864 is 0 and trade window (0x13E) is not open. Clears deal/inventory lists. If DAT_017381ac == 1, shows error message in red. Otherwise parses variable-length packet with 13-byte (0x0D) entries from offset +0x0C: each contains an 8-byte item identifier, a 4-byte value, and a 1-byte flag. Stores trade partner data from offsets +4 and +8 into globals. Creates trade windows (types 0x16 and 0x17) with refresh events. Sets network trade state flag at offset 0x24C. |
| 0x00D3BF00 | 283 | CNetwork__recv_trade_result_notification | Handles trade result notification packet. Reads result code (short at offset +10) and displays corresponding message. Code 0/8: updates trade zeny values (offsets +2 and +6), refreshes shop window, shows success msg 0x36 in yellow or msg 0x716 in red for code 8. Code 1: msg 0x4CB (trade partner busy). Code 2: msg 0x4CC (trade cancelled). Code 3: msg 0x38 (trade failed). Codes 4-7,9: additional error messages. Dispatches formatted message as chat with appropriate color. |
| 0x00D3C1C0 | 464 | CNetwork__recv_trade_item_list_with_details | Handles trade item list with detailed item info. Parses variable-length packet with 0x13-byte entries from offset +4. Each entry contains item data parsed into item descriptors. Adds each item to the collection via CItemCollection__add_item_from_desc_or_lookup. After processing, creates/refreshes two UI windows (types 0x16 and 0x17) with events 0x24 (refresh) and 0x17 (update). |
| 0x00D3C390 | 346 | CNetwork__recv_equipment_item_list | Handles equipment item list packet. Parses variable-length packet with 13-byte (0x0D) entries starting at offset +4. For each item: extracts 8-byte item data, 4-byte slot info, and 1-byte flag. Converts item ID via itoa, looks up item info, and adds to collection via CItemCollection__add_item_from_desc_or_lookup. Creates/refreshes equipment (0x16) and inventory (0x17) windows. |
| 0x00D3C4F0 | 56 | CNetwork__recv_item_operation_result | Handles item operation result notification. Reads result code byte from offset +2 and displays corresponding message with color coding. Code 0: yellow msg 0x36 (success). Code 1: red msg 0x37 (failed). Code 2: red msg 0x38. Code 3: red msg 0xDD. Code 9: red msg 0x794. Code 10: yellow msg 0xB65. Codes 0xB-0xE: additional result messages. After display, clears TLS fields to reset UI state. |
| 0x00D3C710 | 502 | CNetwork__recv_storage_item_list_with_shop | Handles storage item list with shop lookup. Parses variable-length packet with 10-byte entries from offset +4. For each entry: reads 8-byte item identifier and 2-byte extra field. Looks up item by slot ID via CShop linked list. Copies item name (33-byte buffer), sets card slot data and flags, adds to collection via CItemCollection__add_item_from_desc_or_lookup with flag 1. Creates equipment window (0x16) and storage window (0x18). |
| 0x00D3C910 | 148 | CNetwork__recv_deal_close_result | Handles deal close result packet. Reads result code byte from offset +2. Code 0: yellow msg 0x36 (success). Code 1: red msg 0x39 (failed). After message display, clears deal/inventory lists and TLS fields to reset trade UI state. |
| 0x00D3C9B0 | 309 | CNetwork__recv_broadcast_announce_message | Handles broadcast/announce message packet. Formats message 0x4F7 with parameters from packet offsets +2, +6, +10. If DAT_016d3b10 == 0xC, also processes message 0x465. Creates tooltip entry and dispatches as chat message in light blue color (0x62B0FF). For non-tooltip mode (DAT_016d3b10 == 0), displays directly as chat. |
| 0x00D3CAF0 | 277 | CNetwork__recv_shop_item_window_list | Handles shop/item window population packet. Creates window 0x5A and sends event 0x4B to initialize it. Iterates through variable-length list of short item IDs starting at offset +4. For each ID, looks up item via CShop__find_item_in_linked_list_by_slot and sends event 0x1F with item data. Finishes with event 0x3C to signal list complete. |
| 0x00D3CC10 | 470 | CNetwork__recv_npc_talk_with_emotion | Handles NPC talk with emotion packet. Looks up entity by ID (offset +2). Reads an encoded value (int at offset +6) and decomposes it: remainder mod 10 determines behavior (2 = direct event dispatch type 0xA0 with global data), otherwise extracts talk line parameters by dividing by factors of 10. Calls get_random_pet_talk_line with the decomposed values, formats with color codes. If non-empty and not matching sentinel string, displays as chat bubble on entity and dispatches as chat message (color 0xFAFAFA) unless chat options 0x72/0x94 are enabled. |
| 0x00D3CDF0 | 26 | CNetwork__recv_roulette_spin_result | Handles roulette spin result packet. Small 26-byte handler that processes the server's response to a roulette wheel spin attempt, indicating success or failure of the spin operation. |
| 0x00D3CEC0 | 546 | CNetwork__recv_bgm_sound_change | Handles BGM/sound change packet. Checks game settings option. Mode 0: formats and plays BGM. Mode 1: formats, plays BGM, and sets DAT_0138be7c+0x14 flag. Mode 2: reads BGM filename from network object offset 0x68, looks up map BGM, constructs and sets BGM filename via CSoundMgr. Clears flag on completion. |
| 0x00D3D0F0 | 495 | CNetwork__recv_bgm_play_request | Handles BGM play request packet. Checks game settings option 7. Constructs BGM filename by concatenating "bgm\\" prefix with packet data (offset +2) and ".mp3" suffix. Passes through CPacketManager handler, then plays via CSoundMgr__play_bgm. Sets DAT_0138be7c+0x14 = 1. |
| 0x00D3D2F0 | 71 | CNetwork__recv_player_sit_stand_notification | Handles player sit/stand notification. Gets the player entity from network object offset 0xCC and dispatches event 0x52 (sit/stand animation) with the duration value from packet offset +6 multiplied by 1000 (converting seconds to milliseconds). Sets global DAT_01737b9e = 1 to flag the player state change. |
| 0x00D3D390 | 463 | CNetwork__recv_player_stats_update_a | Handles player stats update (variant A). Reads map name via lua_util_sprintf (format depends on DAT_016d3b10). Populates many player stat globals (DAT_01737b*): base stats, HP/SP, level, job, map position, experience values, and misc fields from packet offsets. Calls refresh_minimap_display after each map-related update. Refreshes window DAT_01457a44 if present. Shows message 0x3FA when reaching level milestones (1, 5, 10). |
| 0x00D3D560 | 419 | CNetwork__recv_player_stats_update_b | Handles player stats update (variant B). Similar to variant A but with different packet layout. Reads map name via snprintf_wrapper, sets same player stat globals. Uses different offsets for values. Triggers minimap refresh after position-related updates. Shows level milestone message 0x3FA at levels 1/5/10. |
| 0x00D3D710 | 505 | CNetwork__recv_player_stats_update_c | Handles player stats update (variant C). Similar to variants A/B but includes additional UI rect and position fields. Sets player stat globals from packet, refreshes minimap. If DAT_01457a40 is set, also updates UI control rect (map bounds) and position fields. Uses 4-byte values for extended coordinate data instead of sign-extended shorts. |
| 0x00D3D910 | 453 | CNetwork__recv_player_stats_update_d | Handles player stats update (variant D). Same global-writing pattern as variant A with lua_util_sprintf for map name. Populates player stat globals, refreshes minimap display, updates window if present. Shows level milestone message at levels 1/5/10. |
| 0x00D3DAE0 | 283 | CNetwork__recv_map_change_or_warp_info | Handles map change or warp info packet. Reads map name from offset +2. If map value at offset +0x1B < 10000: updates current map globals, refreshes existing map window (DAT_01457a0c) with wheel input and data. If >= 10000: subtracts 10000 and creates warp portal window (type 0xC) with portal coordinates, map name, and dispatches event 0x1D. |
| 0x00D3DC00 | 281 | CNetwork__recv_entity_status_tree_update | Handles entity status update via rb_tree. Inserts entity data (ID from offset +4, values from offsets +6/+8/+10/+12) into the rb_tree lookup structure. Handles sentinel value 9999 by replacing coords with 0xFFFF. Then iterates the entity linked list at network offset 0x1F0, dispatching event 0x1E5 with entity position data to window DAT_014a684c for each entity with non-zero status. |
| 0x00D3DD20 | 542 | CNetwork__recv_book_text_viewer | Handles book/quest text viewer packet. Reads book ID (int at offset +2), converts to string, constructs book filename path ("book_%s.txt", with server-specific prefix if DAT_016d3b10 == 10). Opens the file via CFileStream. If file not found, shows red error message. If found, creates book viewer window (type 0x6A) with event 0x5E passing book ID and page count from offset +6. |
| 0x00D3DF40 | 40 | CNetwork__recv_item_reform_result | Handles item reform result packet. Resets network field 0xFC to 0. Reads result code byte from offset +2 and displays corresponding red (0xFF) message: code 0 = msg 0x43 (success), code 1 = msg 7, code 2 = msg 0x44, code 4 = msg 0x37, code 5 = msg 0x1B0, code 6 = msg 0x1B1, code 7 = msg 0x1B2. Clears overhead chat first for each case. All messages displayed as red text on channel 1. |
| 0x00D3E0C0 | 1339 | CNetwork__recv_premium_status_info | Handles premium/cash shop status info packet. For DAT_016d3b10 == 3: shows timer format based on value at offset +2 (1=days remaining, 2=hours/min/sec countdown). Otherwise processes time-based status with bitfield flags at offset +2: bit 0x01=base package, 0x02=Exp UP, 0x04=Item UP, 0x08=Death Down, 0x10=Advanced Package, 0x20/0x40/0x80=additional status strings. Formats expiry time (dates or remaining time) and displays as white chat message. |
| 0x00D3E600 | 119 | CNetwork__recv_whisper_window_open_a | Handles whisper/PM window open (variant A). Reads 24-byte character name from offset +10, stores account ID (offset +2) at network field 0x28C and character ID (offset +6) at 0x290. Creates whisper window type 0x69 with event 0x5B, passing character ID and name. |
| 0x00D3E680 | 119 | CNetwork__recv_whisper_window_open_b | Handles whisper/PM window open (variant B). Same as variant A but creates window type 0x68 with event 0x5A. Reads 24-byte character name from offset +10, stores account ID (offset +2) at network field 0x28C and character ID (offset +6) at 0x290. |
| 0x00D3E700 | 37 | CNetwork__recv_shop_pending_order_removal | Handles shop pending order removal packet. Reads order ID from packet offset +6 and removes it from the shop pending order list via CShopManager__remove_pending_order_by_id. If removal succeeds, triggers a refresh notification (event 0x17) on window DAT_01457948. |
| 0x00D3E730 | 190 | CNetwork__recv_npc_dialog_with_params | Handles NPC dialog with parameters packet. Checks option 0x88 (if enabled, dispatches event 0x32 with type 4 directly). Otherwise copies 24 bytes of packet data (offsets +2 through +0x19) into local struct, creates NPC dialog window (type 0x20) with event 0x32, passing struct data plus additional params from offsets +0x1A and +0x1E. |
| 0x00D3E7F0 | 187 | CNetwork__recv_npc_dialog_simple | Handles simple NPC dialog packet. Same structure as the parameterized variant but creates window 0x20 with event 0x32 using zeroed extra parameters. Checks option 0x88 for shortcut mode. Copies 24 bytes of packet data into local struct. |
| 0x00D3E8B0 | 617 | CNetwork__recv_character_status_display | Handles character status display packet. Reads 3 status values from offsets +2, +6, +7 into globals DAT_01737ad8/adc/ae0. For each value (0=off, 1=on, 2=special), formats a status line using message table entries (0x11F-0x125, 0x2E2, 0x5FF) combined with labels (0x123 prefix, 0x124/0x125 categories). Dispatches each non-empty line as yellow (0xFFFF) chat message with style 0xC. Refreshes window DAT_0145798c. |
| 0x00D3EB20 | 175 | CNetwork__recv_party_or_friend_invite_window | Handles party/friend invite window packet. Reads 24-byte character name from offset +10. Checks option 0x88 and vector lookup (DAT_01733c3c). If option disabled and not in vector: creates invite window type 0x6D with event 0x5F, passing IDs from offsets +2 and +6 plus name. Otherwise dispatches event 0xAF directly via global callback. |
| 0x00D3EBD0 | 345 | CNetwork__recv_player_search_whisper_setup | Handles player search/whisper setup packet. Reads 24-byte character name from offset +6. Checks via CTownInfoMgr__is_search_incomplete if further lookup needed, performs string search if so. Creates player info/whisper window (type 0x23) with event 0x38, passing ID from offset +2 and the character name. |
| 0x00D3ED30 | 143 | CNetwork__recv_unequip_item_result | Handles unequip item result packet. Sets timestamp (timeGetTime - 2000) at network offset 0x108. If result code (offset +6) == 0 and equip slot (offset +4) != 0: validates equip location and unequips item at that slot. If result code == 1: shows error message 0x7A1. |
| 0x00D3EDC0 | 93 | CNetwork__recv_unequip_item_forced | Handles forced unequip item packet. Sets timestamp (timeGetTime - 2000) at network offset 0x108. If result code (offset +6) != 0 and equip slot (offset +4) != 0: validates equip location flag and unequips item. No error message variant - this is a forced server-side unequip. |
| 0x00D3EE20 | 264 | CNetwork__recv_equip_item_slot_result | Handles equip item to slot result. Sets timestamp (timeGetTime - 2000) at network offset 0x104. If result code (offset +8) == 0: looks up item by slot ID (offset +2), reads equip location (offset +4) and display slot (offset +6), equips item via CShop__equip_item_to_slot. If result code == 1: shows error message 0x7A1. |
| 0x00D3EF30 | 268 | CNetwork__recv_equip_item_result_with_error | Handles equip item result with additional error handling. Sets timestamp (timeGetTime - 2000) at network offset 0x104. Result code (offset +8): 0 or 2 = shows error message 0x174. 1 = looks up item by slot ID (offset +2), equips to slot with location data from offsets +4 and +6. |
| 0x00D3F040 | 137 | CNetwork__recv_disconnect_and_return_to_login | Handles disconnect and return to login screen. Performs full game state cleanup: resets navigator, replay state, map counter (DAT_016fc564), and map resources. If byte at offset +2 == 1: deactivates UI events (counters 5, 6, 7), gets effect manager singleton, disconnects network socket, sets game mode to 5 (login), and sets next map to "login.rsw". |
| 0x00D3F0D0 | 96 | CNetwork__recv_navigation_window_data | Handles navigation/memo window data packet. Creates window type 0x1C. Copies 24 bytes of data from packet offsets +6 through +0x1D into local struct. Dispatches event 0x2E with the struct data and an ID from offset +2. |
| 0x00D3F130 | 482 | CNetwork__recv_entity_speech_bubble_with_tree | Handles entity speech bubble with tree update. Inserts entity mapping (offset +8 -> offset +4) into rb_tree via rb_tree_uint_to_uint_insert_or_find. Looks up entity by ID (offset +4). Parses variable-length string data from offset +0x11 (length = packet size - 0x11). Limits string to 60 chars. Dispatches event 0x20 to entity with the speech text. |
| 0x00D3F320 | 123 | CNetwork__recv_window_0x13e_open_or_fallback | Handles window 0x13E open or fallback. Checks TLS field 0x13E status. If not set: creates window type 0x13E with event 0x78 passing values from offsets +2 and +6. If window creation fails, constructs packet 0x844 and sends it as fallback. If TLS field is set, does nothing (window already open). |
| 0x00D3F3A0 | 53 | CNetwork__recv_collection_result | Handles collection result packet. Finds trade/collection window (type 0x13E). If found, dispatches event 0x7A with two 4-byte parameters from packet offsets +2 and +6, updating the collection status display. |
| 0x00D3F3E0 | 821 | CNetwork__recv_trade_transaction_result_extended | Handles trade/transaction result with extended error handling. Large switch on result code (short at offset +6). Code 0/8: dispatches to window 0x13E with event 0x7A (code 8 also shows msg 0x716). Codes 9-12: specific error messages (0x798-0x79B). Codes 0x12F/0x130: formats map entry names with error messages 0xF64/0xF65 and shows in error dialog box. Default/unknown codes: shows error msg 0x39. All messages displayed as red chat text. |
| 0x00D3F760 | 35 | CNetwork__recv_status_parameter_change_message | Handles status parameter change message. Maps status parameter type (int at offset +2) to message ID: 0x15=0x379 (STR), 0x16=0x37A (AGI), 0x17=0x37B (VIT), 0x18=0x37C (INT), 0x19=0x37D (DEX), 0x1C=0x37E, 0x1D=0x37F, 0x1E=0x380, 0x1F=0x381, 0x20=0x382, 0x28=0x393. Displays the parameter change notification as chat in light purple (0x9B9BFF) with style 8. |
| 0x00D3F840 | 28 | CNetwork__recv_minimap_marker_position | Receives two short values from the packet (offsets +2 and +4) and stores them in DAT_01738220 and DAT_01738224. These globals are read by CEffect3DPlayer__render_all_markers_on_minimap for marker positioning, and written by UIShopWnd__handle_buy_item. Likely sets a position for an NPC/shop minimap marker. |
| 0x00D3F860 | 210 | CNetwork__recv_npc_script_dialog_text | Handles NPC script/dialog text packet. Sets network fields 0x24C=1 and 0x2DC from offset +4. Copies variable-length text data (packet size - 9 bytes) from offset +9. For Korean locale (DAT_016d3b10 == 10), prepends charset identifier. Creates NPC dialog window (type 0xE2) with event 0x1A, passing text and NPC ID. Validates text length < 0x803. |
| 0x00D3F940 | 217 | CNetwork__recv_npc_dialog_text_type_b | Handles NPC dialog text (type B). Sets network fields 0x24C=1 and 0x2DC from offset +4. Creates window type 0x10 (different from variant A's 0xE2). Copies variable-length text data (packet size - 8 bytes) from offset +8. For Korean locale, prepends charset identifier. Dispatches event 0x1A with text and NPC ID. Validates text length < 0x803. |
| 0x00D3FA20 | 848 | CNetwork__recv_inventory_item_list_0xb5_a | Handles inventory/item list for window 0xB5 (variant A). Parses 0x8E-byte item records. If flag at offset +4 is set, clears existing list. Sets globals from offsets +5 and +6. For each item record: copies raw data, extracts item class/level, counts card slots (up to 5), copies card data and random option data. Inserts into STL vector (0x158-byte records). Dispatches event 0x3C with 0xB8 to window 0xB5 when complete. |
| 0x00D3FD70 | 771 | CNetwork__recv_inventory_item_list_0xb5_b | Handles inventory/item list for window 0xB5 (variant B). Parses 0x8D-byte item records (1 byte smaller than variant A). Same structure: optional list clear, global updates, item record parsing with class/level, card slots, and random option data. Uses 0x158-byte vector records. Dispatches event 0x3C with 0xB8 to window 0xB5. |
| 0x00D40080 | 54 | CNetwork__recv_window_0xb5_event_update | Handles simple event update for window 0xB5. Finds window type 0xB5 and dispatches event 0x3C with flag 1 and the byte value from packet offset +2. Lightweight update handler for the inventory/item list window system. |
| 0x00D400C0 | 93 | CNetwork__recv_trade_window_open_and_clear | Handles trade window open and UI state clear. Sets network field 0x24C=1. Creates window type 0x19 with event 0x1C, passing value from offset +2. Clears TLS fields 0x16 and 0x17 to reset trade-related UI state. |
| 0x00D40120 | 562 | CNetwork__recv_clan_join_leave_notification | Handles clan join/leave notification packet. Reads clan name string at offset +2, then checks two flag bytes at +0x1A and +0x1B to select one of 6 message IDs (0xD3D-0xD42) representing different join/leave/acceptance outcomes. Clears chat first, concatenates clan name with the selected message, and displays it as yellow chat text (0xFFFF). Six possible outcomes based on 2x3 flag combinations. |
| 0x00D40360 | 401 | CNetwork__recv_clan_member_status_notification | Handles clan member status change notification. Reads two flag bytes at offsets +2 and +3 to select message IDs 0xC2-0xC6 (join/leave/online/offline/etc.). Concatenates the CNetwork string member name at +0x118 with the selected message and displays as yellow chat text (0xFFFF). Six possible outcomes based on two flag byte combinations. Not a member list - it's a single member status change event. |
| 0x00D40500 | 159 | CNetwork__recv_clan_leave_result | Handles clan leave result packet. Reads two flag bytes at offsets +2 and +3 to select message IDs 0xD63-0xD66. Clears chat first, then displays the appropriate result message. Four possible outcomes based on flag byte combinations. |
| 0x00D405A0 | 42 | CNetwork__recv_timer_control | Handles timer/countdown control packet. Reads type byte (0-3) at offset +2 and duration at offset +3. Type 0 = set absolute timer, Type 1 = start countdown from now, Type 2 = start countup from now (negative duration), Type 3 = set computed timer value. Updates global timer state (DAT_01732dd4=type, DAT_01732ddc=deadline, DAT_01732de4=active flag). |
| 0x00D40680 | 24 | CNetwork__recv_skill_update_trigger | Simple handler that triggers CSkillMgr__update_or_remove_skill to refresh skill state. 24-byte function with no parameters parsed from the packet. |
| 0x00D406A0 | 140 | CNetwork__recv_entity_remove_by_id | Handles entity removal by ID. Searches the entity ID array for the ID at packet offset +2. If found, removes the entity via CBGMManager__remove_actor_by_map_id and dispatches event 0xD. If not found, calls CBGMManager__remove_item_by_id instead. Uses memcpy to compact the array after removal. |
| 0x00D40730 | 561 | CNetwork__recv_entity_spawn_or_update | Handles entity spawn or update packet. Two modes: if byte at +0x10 is set, creates a new CGameEntity (0x560 bytes), dispatches events 0x16 and 0x75 with item data. Otherwise looks up existing entity via CBGMManager__find_item_by_id, manages a linked list for bargain sale items, and may create a smaller CGameEntity (0x440 bytes) with ctor_with_param. Dispatches event 0x2D for existing entities. |
| 0x00D40970 | 592 | CNetwork__recv_entity_item_spawn | Handles entity/item spawn packet. Similar to recv_entity_spawn_or_update but checks packet type byte at +0x10 against 0xB0 for new entity creation (0x560 byte CGameEntity). For other types, manages linked list of entities and creates 0x440-byte entities via CGameEntity__ctor_with_param. Stores map ID at entity offset 0x104*4. |
| 0x00D40BC0 | 639 | CNetwork__recv_entity_item_spawn_extended | Extended entity/item spawn handler. Like recv_entity_item_spawn but with additional item type range validation for non-0xB0 types: accepts item IDs 0x2D-999, 0x3E9-0xF9E, and 0x4E35-0x7CFF. Uses nothrow operator_new for 0x440-byte entity allocation. |
| 0x00D40E40 | 689 | CNetwork__recv_entity_item_with_ground_spawn | Handles entity/item creation with ground item spawn support. Three paths: type 0xB0 creates full 0x560-byte CGameEntity. Type 0x126 spawns a ground item via CGameMode__spawn_or_register_ground_item with position data. Other types manage entity linked list and create 0x440-byte entities with item type range validation. |
| 0x00D41100 | 325 | CNetwork__recv_entity_create_or_notify | Entity creation or notification handler. For non-0xB0 types, delegates to CNetwork__recv_rodex_mail_notify with 9 fields from the packet. For 0xB0 type with packet length >= 0x1B, creates a 0x560-byte CGameEntity and dispatches events 0x16 and 0x75 with item data from offset +0x1B. |
| 0x00D41250 | 401 | CNetwork__recv_entity_attachment_update | Handles entity attachment/item update. Reads item ID, type, coordinates, and flags from packet. Manages entity linked list (add/remove by ID). Looks up entity via CBGMManager__find_item_by_id, creates 0x440-byte entity if not found (for items >= type 0x2D). Stores map ID at entity offset 0x104*4 and dispatches event 0x2D with item data. |
| 0x00D413F0 | 464 | CNetwork__recv_entity_notify_with_ground_item | Handles entity notification with item type routing. For type 0x126, spawns ground item via CGameMode__spawn_or_register_ground_item. For other types, manages entity linked list (add/remove based on flag byte), looks up or creates entities via CBGMManager__find_item_by_id / CGameEntity__ctor_with_param, validates item type ranges (0x2D-999, 0x3E9-0xF9E, 0x4E35-0x7CFF), stores map ID, and dispatches event 0x2D. |
| 0x00D415C0 | 969 | CNetwork__recv_status_change_timer | Handles status change timer packet. Receives skill/status ID, start time, and duration. Iterates two global linked lists of timer bar entries (DAT_017326cc and DAT_017326d4) matching by skill ID. Creates CTimerBar instances for matching entries and adds them to temporary lists. If no existing timer tracking entry exists in DAT_01737a78, creates one via CPacket__handle_rodex_mail_list. Uses CKafraServiceInfo to store timer bar data. |
| 0x00D41990 | 1753 | CNetwork__recv_status_change_timer_update | Handles status change timer update packet. Similar to recv_status_change_timer but also handles existing timer entries in DAT_01737a78. For entries already tracked, destroys old sub-lists and recreates timer bars with updated durations. For new entries, creates timer bars and adds tracking entries. Processes both DAT_017326cc and DAT_017326d4 timer lists. |
| 0x00D42070 | 1301 | CNetwork__recv_skill_cooldown_list | Handles skill cooldown list packet. Parses a variable-length list of skill IDs with their remaining cooldown durations. Updates the skill hotbar to show cooldown timers/greyout for skills currently on cooldown. Iterates through each entry applying the cooldown state. |
| 0x00D42590 | 552 | CNetwork__recv_skill_cooldown_update | Handles skill cooldown update packet. Parses variable-length list of 6-byte entries (skill ID + duration). For each entry, creates a new timer tracking entry in DAT_01737a78 with the skill ID, computed deadline (timeGetTime + duration), and empty timer bar sub-lists. Cleans up temporary lists after each entry. |
| 0x00D427C0 | 103 | CNetwork__recv_ap_update | Handles AP (ability points) update packet. Reads current AP value and max AP from the packet. Updates the player's AP display globals and refreshes the AP gauge in the status bar UI. |
| 0x00D42830 | 131 | CNetwork__recv_job_change_effect | Handles job change visual effect packet. Looks up entity by ID at offset +2 via CBGMManager__find_item_by_id. If found, checks if the entity's effective job ID is in the homunculus range (0x8B-0x99 inclusive) and dispatches event 0x77 (job change visual effect). Also checks specific 4th class job IDs (0x5174-0x5177) and dispatches the same event. |
| 0x00D428F0 | 371 | CNetwork__recv_skill_list_with_records | Handles skill list packet with variable-length records. Parses header to get record count from (packet_length - 4) / 0x25. Each 0x25-byte record contains skill data fields. Builds a vector of 0x0F-byte entries from the records and passes to process_skill_list_packet along with the packet's skill set identifier at offset +0. |
| 0x00D42A70 | 46 | CNetwork__recv_single_skill_update | Handles single skill update packet. Passes 7 fields to handle_single_skill_update: skill ID (short at +2), level (short at +8), range (short at +10), type byte (at +0xE), upgradable flag (short at +0xC), SP cost (int at +4), and current level (short at +8). |
| 0x00D42AA0 | 381 | CNetwork__recv_skill_info_update | Handles skill info update packet. Reads packet type (0x10E, 0x239, or 0x29E) to determine which skill list to update. Gets existing skill entry by ID, copies its data, then updates with new values: level, range, type, upgradable flag, and AP amount. Calls the appropriate update function for the skill list type. Uses CSkillEntry for temporary storage. |
| 0x00D42C20 | 901 | CNetwork__recv_3d_sound_event | Handles 3D sound/BGM event packet. Three modes based on byte at +0x1A: Mode 0 = play positional 3D sound using resource name at +2, with position relative to camera entity. Mode 1 = add sound event with name string, timer duration, and position data to an internal event vector. Mode 2 = remove sound event by matching name string against the event vector. |
| 0x00D42FB0 | 97 | CNetwork__recv_inventory_equipment_list | Handles inventory/equipment item list packet. 4 modes via param_1: Mode 0 = inventory items (67-byte entries) with full data including card slots, options, equip location, class/level, identified/damaged/favorite flags. Checks elemental spirit equipment for savedata. Mode 1 = cart items, same parsing. Mode 2/3 = storage/guild storage items with favorite item handling. All modes parse up to 5 enchant option slots per item. |
| 0x00D43940 | 1 | CNetwork__handle_inventory_list_packet | CNetwork: handle inventory list packet |
| 0x00D443F0 | 1 | CNetwork__parse_non_equip_item_list | CNetwork: parse non equip item list |
| 0x00D44580 | 29 | CPacket__handle_equip_result | Handles equip result packet. If param_2 is 0 (success): case 0 notifies UI language change, case 1 calls equipment refresh, cases 2/3 invoke vtable method 0x94 with event 0x17 and set flag at offset 100. If param_2 is nonzero (failure), does nothing. |
| 0x00D44600 | 116 | CPacket__handle_inventory_reset_or_name_display | Handles inventory reset or name display packet. Switches on type byte at DAT_01720412+2: case 0 clears selling list, resets all equip slots, and resets all item slots. Case 1 clears cart list. Cases 2/3 extract a name string (up to 24 bytes) from the packet, create a window via CGameObject, compute string length, wrap/display it. Packet size field at DAT_01720412 determines data length (minus 5 byte header). |
| 0x00D44760 | 1200 | CPacket__dispatch_unit_property_change | Dispatches unit property change packet with int-sized values. Checks if target unit is the local player (DAT_01733c3c). For local player: applies property changes (position, class, guild, etc.) via switch on property type byte at offset 6, sets various DAT_017335xx globals. For other units: finds unit via CBGMManager and dispatches through vtable methods. Property types: 0=appearance/class, 1=weapon, 2=shield/garment, 3-6=various stats, 7=hair, 0xb=clear stats, 0xc-0xe=special properties. |
| 0x00D44C90 | 175 | CPacket__dispatch_unit_property_change_byte | Byte-sized variant of unit property change dispatch. Same structure as CPacket__dispatch_unit_property_change but reads single-byte values from packet offset 7 instead of int-sized values. Handles property types 0-8 for local player and dispatches to unit vtable for other entities. |
| 0x00D44F20 | 47 | CPacket__handle_char_select_response | Handles char select response packet. Gets game object via FUN_00a978d0(0x77), then calls vtable method 0x94 with event 0x5b and the result byte from packet offset 2. |
| 0x00D44F50 | 409 | CPacket__process_tooltip_packet | Processes tooltip/info packet for items/units. Switches on type byte at offset 0x1f: 0/1=format item name with message table entries 0x345-0x34E, 0xa/0xb=format with item description lookup, 0x14/0x15=special format messages 0x39f/0x4a6, 0x16=item class/level info message 0x4f1, 0x1e=message 0x409, 0x28=Target HP display. Builds formatted tooltip string and adds via TooltipMgr__add_tooltip_entry. |
| 0x00D45560 | 241 | CPacket__handle_unit_position_update | Handles unit position update packet with 4-byte coordinates. Reads x/y shorts from offsets 6/8, direction int from offset 10, and body direction byte from offset 0xe. For local player: updates position globals DAT_01733544-4c, notifies UI via vtable 0x94 event 0x3c, and triggers movement if DAT_01738254 < 1. For other units: finds via CBGMManager and dispatches position event 0x2b. |
| 0x00D45660 | 223 | CPacket__handle_unit_position_update_short | Handles unit position update packet with short-sized direction. Similar to CPacket__handle_unit_position_update but reads direction as short at offset 10 and body direction byte at offset 0xc. Updates same DAT_017335xx position globals for local player and dispatches event 0x2b to unit objects. |
| 0x00D45740 | 555 | CPacket__parse_player_stats_packet | Parses comprehensive player stats packet. Reads 12 byte stats (offsets 4-15) into DAT_01733cbc-ce8, then 13 short stats (offsets 0x10-0x2a) into DAT_01733c8c and DAT_01733cf0-d20. Calls thunk_to_00a969d0 after each stat update (likely UI refresh). Finally notifies stat window via vtable 0x94 event 0x23. Stats include STR/AGI/VIT/INT/DEX/LUK base and bonus, plus HP/SP/ATK/DEF/etc. |
| 0x00D45970 | 72 | CPacket__update_single_stat | Updates a single player stat by stat ID. Cases 0x20-0x25 update bonus stats (STR-LUK bonus) at DAT_01733cd4-ce8. Cases 0xf7-0xfc update trait stats at DAT_0173a618-a644. Calls thunk_to_00a969d0 for UI refresh, then notifies stat window via vtable 0x94 event 0x23. |
| 0x00D45E30 | 87 | CPacket__dispatch_entity_direction_event | Median-of-three pivot selection for introsort. Conditionally swaps 3 elements (param_1, param_2, param_3) so the median ends up at param_2. Compares 8-byte pairs by second field then first. |
| 0x00D45E90 | 358 | CPacket__parse_storage_equip_list_0x22 | Introsort partition for 8-byte pair elements. Picks median-of-three pivot, then partitions array into elements less than and greater than pivot. Returns partition boundaries via param_1 output. |
| 0x00D46000 | 379 | CPacket__parse_storage_equip_list_0x26 | Heap sift-down (push_heap helper) for 8-byte pairs. Promotes element at position param_2 up through the heap starting at parent index, maintaining heap property. |
| 0x00D46180 | 349 | CPacket__parse_storage_equip_list_0x1e | Copies key-value pairs from a std::rb_tree (red-black tree) to a dynamically allocated vector of pairs. Traverses the tree in-order, counting nodes, allocates vector of appropriate size (8 bytes per pair), then copies each node's data. |
| 0x00D462E0 | 371 | CPacket__parse_storage_equip_list_0x25 | Full introsort implementation for 8-byte pair arrays. Uses quicksort with median-of-three pivot selection, falls back to heapsort when recursion depth exceeds limit, and insertion sort for small partitions. |
| 0x00D46460 | 536 | CPacket__parse_storage_equip_list_0x25_titled | CRT snprintf_s wrapper. Calls __stdio_common_vsnprintf_s (secure variant) with 0x100 max buffer size. Returns formatted string length or -1 on error. |
| 0x00D46680 | 924 | CPacket__parse_cart_equip_list_with_title | Parses cart/storage equip list with title string and 0x29-byte entries. Has card slot data, enchant flags, and title word-wrap. Skips items with ID 0x8000. |
| 0x00D46A20 | 876 | CPacket__parse_cart_equip_list_with_title_v2 | Parses cart/storage equip list with title string and extended 0x43-byte entries. Full card array, refine, enchant flags, options, grade data. Skips items with ID 0x8000. |
| 0x00D46D90 | 329 | CPacket__parse_storage_item_list_0x20 | Parses storage item list with 0x20-byte entries. Simpler item structure with identify flag, damage bits, and basic card/option data. No card count field (local_104=0). |
| 0x00D46EE0 | 504 | CPacket__parse_storage_item_list_0x20_titled | Parses storage item list with title header and 0x20-byte entries. Extracts and word-wraps title from offset 4, then parses items from offset 0x1c with same structure as parse_storage_item_list_0x20. |
| 0x00D470E0 | 504 | CPacket__parse_storage_item_list_0x22_titled | Parses storage item list with title header and 0x22-byte entries. Larger entry size than 0x20 variant, includes additional option data per item. |
| 0x00D472E0 | 345 | CPacket__parse_storage_item_list_0x1c | Parses storage item list with 0x1c-byte entries. Minimal item format with refine, item ID, amount, cards, class/level, and identify flag only. |
| 0x00D47440 | 339 | CPacket__parse_storage_item_list_0x20b | Parses storage item list with 0x20-byte entries (variant b). Similar to parse_storage_item_list_0x20 but includes local_a4 extra option field per item. |
| 0x00D475A0 | 319 | CPacket__parse_storage_item_list_0x0c | Parses storage item list with minimal 0x0c-byte entries. Smallest variant with just refine, item ID, amount, class/level, and identify flag. Card slots all zeroed (local_f0-e4 = 0). |
| 0x00D47720 | 59 | CPacket__handle_message_registration_with_timestamp | Handles a packet that registers a message with timestamp. Reads account ID (offset 2), sender ID as short (offset 6), and a value (offset 8). Gets current time via _time32 and forwards all to CNetwork__handle_vending_item_sold (which may itself be misnamed as this is a general message registration handler). |
| 0x00D47760 | 1208 | CPacket__process_ranking_update | Processes ranking update packet with 0x10-byte entries. For each entry: looks up via CPacketSystem, matches against up to 3 ranking slots by account ID pair, formats ranking message using msg 0x64a with name and scores, dispatches as chat message (color 0xffff, type 0x13). Cleans up string vectors afterward. |
| 0x00D47C20 | 1208 | CPacket__process_ranking_update_v2 | Processes ranking update packet v2 with 0x0c-byte entries. Same logic as process_ranking_update but smaller entry size (matches by single int + zero check instead of two ints). Formats ranking messages and dispatches as chat. |
| 0x00D480E0 | 330 | CPacket__handle_skill_use_result | Handles skill use result packet. If target is local player: resets field 0x2cc. If success byte at offset 0xe is zero and skill ID is 0x19295, shows message 0x1071. If success, looks up skill by ID at offset 2, updates skill level by subtracting amount at offset 0xc. If skill 0x25f, resets field 0x5b4. Also calls FUN_00cdbeb0 for effect display on success. |
| 0x00D48230 | 260 | CPacket__handle_item_upgrade_result | Handles item upgrade result packet. If success byte at offset 6 is nonzero: looks up item by ID (offset 2), updates item level by subtracting upgrade amount (offset 4), checks grade info, and dispatches event 0x14 to unit. Resets field 0x2cc regardless. |
| 0x00D48340 | 185 | CPacket__handle_mvp_announce | Handles MVP announce packet. If game state is 3 and local player is not in the MVP vector, looks up item name by ID (offset 2). Otherwise formats message using msg 0xb2 with the value at offset 2. Clears chat then dispatches as white chat message. |
| 0x00D48400 | 66 | CPacket__handle_npc_market_open | Handles NPC market open packet. Sets flag at offset 0x24c to 1, stores NPC ID from offset 2 into field 0x2dc. Gets game object 0xe2 and dispatches event 0x19 to open market window. |
| 0x00D48450 | 63 | CPacket__handle_npc_shop_open | Handles NPC shop open packet. Sets flag at offset 0x24c to 1, stores NPC ID from offset 2 into field 0x2dc. Gets game object 0x10 and dispatches event 0x19 to open shop window. |
| 0x00D48490 | 148 | CPacket__handle_npc_menu | Handles NPC menu selection packet. Activates NPC dialog (FUN_00a8cf20 with 0x27), dispatches event 0x3b with menu ID (offset 2). Iterates 4 menu options (16 bytes each from offset 4), adding each non-empty string as event 0x1b. Appends 'cancel' option at the end. |
| 0x00D48530 | 481 | CPacket__handle_npc_input_dialog | Handles NPC text input dialog packet. Zeroes a 24-byte buffer, formats input via snprintf_wrapper, builds STL string from packet data at offset 0x20 up to packet length, copies and processes the string, then calls FUN_00d1a520 to display the input dialog. |
| 0x00D48720 | 214 | CPacket__handle_party_member_list | Handles party member list packet. Clears chat, computes member count from (packet_len - 4) / 0x18. Shows message 0xd43 or 0xd44 depending on count. Iterates members, copying 0x18-byte entries (name + status) and dispatching each as yellow (0xffff00) chat message. |
| 0x00D48800 | 32 | CPacket__handle_npc_close_or_next | Handles NPC close/next button packet. Forwards to FUN_00d18bd0 with type byte (offset 2), data pointer (offset 5), and value (offset 3) to process the NPC dialog flow control. |
| 0x00D48820 | 1082 | CPacket__handle_warp_notification | Handles warp/teleport notification. Copies source name (offsets 2-0x19) and destination name (offsets 0x1a-0x41). Compares source with local player name - if same player, shows message 0x1ea and sends packet 0xac. Otherwise: removes NPC if DAT_016d44c0 set, formats warp info messages 0x172/0x173, performs string search on town info, adds warp to CTownInfoMgr list. |
| 0x00D48C60 | 952 | CPacket__handle_warp_notification_by_gid | Handles warp notification by GID (game ID). Similar to handle_warp_notification but identifies sender by GID (offset 0x2a) instead of name. Compares GID against DAT_01733c40 for self-detection. On self: clears warp state, shows msg 0x1ea. On other: removes NPC by GID, formats warp messages, searches town info, adds to warp list. |
| 0x00D49020 | 1253 | CPacket__handle_npc_service_list | Handles NPC service list packet. Parses 0x28-byte entries from packet. For each: extracts service ID, flags, and name. Inserts into DAT_016d44fc tree by ID if not exists. Builds name string and updates node with service data (flags for type, availability, etc.) via CTownInfoMgr__update_service_node. Refreshes status windows when done. |
| 0x00D49510 | 131 | CPacket__handle_whisper_blocked | Handles whisper blocked notification. Copies sender name from packet (offsets 2-0x29). Formats and displays message 0x16f with the sender name as a white chat message (color 0xffff, type 4). |
| 0x00D495A0 | 145 | CPacket__handle_warp_list_result | Handles warp list result packet. Switch on result code at offset 2: 0=success (clears NPC data, resets town info, activates mode 0x3b, shows msg 400), 1=shows msg 0x191 (white), 2=shows msg 0x192 (type 4). |
| 0x00D49640 | 98 | CPacket__handle_pet_status_message | Handles pet status message packet. Switch on status code at offset 2: 0=shows msg 0x356 (yellow 0xffff00), 3=shows msg 0x33e (white 0xffff), 4=shows msg 0x341 (white 0xffff). Other codes ignored. |
| 0x00D496B0 | 18 | CPacket__set_npc_dialog_id | Sets the NPC dialog ID from packet value at offset 2 into global DAT_016d44a4. Simple 18-byte setter function. |
| 0x00D496D0 | 450 | CPacket__handle_card_compose_result | Handles card compose (insert) result. If success (byte offset 6 == 0): shows msg 0x1ed (yellow), looks up both items by ID (offsets 2 and 4), finds empty card slot in target item and inserts source card ID, updates item amounts. If failure (byte == 1): shows msg 0x1ee (red). |
| 0x00D498A0 | 260 | CPacket__handle_identify_result | Handles identify item result. If success (byte offset 4 == 0): shows msg 0x1eb (yellow), looks up item by ID (offset 2), marks as identified, refreshes display. If failure (byte == 1): shows msg 0x1ec (red). |
| 0x00D499B0 | 544 | CPacket__handle_refine_result | Handles refine/upgrade result packet. Looks up item by ID (offset 4), updates amount (offset 6). If world map window exists: sets display mode 2 with sub-modes 3/4/5/6 based on result code (offset 2). Otherwise: triggers skill effects 0x9a/0x9b based on result and refreshes item data. |
| 0x00D49C70 | 76 | CPacket__handle_repair_result | Handles repair item result. If success (byte offset 4 == 0): shows msg 0x32d (yellow). If failure (byte == 1): shows msg 0x32e (red). |
| 0x00D49CC0 | 913 | CPacket__handle_deal_notification | Handles trade/deal notification. Copies source name (offsets 2-0x19) and item name (offsets 0x1a-0x41). Compares source with local player name. If self: resets town info, activates mode 0x3b, shows msg 0x1e9, calls vtable 0xc4 to update display, sends packet 0xac. Otherwise: removes NPC, formats messages 0x16c/0x16d with names, searches town info, dispatches chat. |
| 0x00D4A060 | 976 | CNetwork__recv_guild_expulsion_notify | Handles guild expulsion notification. If the expelled member is the player (matches DAT_01733c40), clears guild skills, resets town data, clears TLS field, displays expulsion message (msg 0x1E9), and dispatches events. Otherwise, looks up expelled member name, formats messages using templates 0x16C and 0x16D, performs string search for related entries, dispatches chat messages, and removes entity display. |
| 0x00D4A430 | 26 | CPacket__handle_party_invite_result | Handles party invite result. Switch on result byte at offset 2: 0=msg 0x18a, 1=msg 0x18b, 2=msg 0x18c (yellow), 3=msg 0x18d, 4=msg 0x18e, 5=msg 0x6b5. Cases 0/1/3/4/5 show in white (0xffff), case 2 shows in yellow (0xffff00). |
| 0x00D4A4D0 | 132 | CPacket__handle_npc_field_update_list | Handles NPC field update list packet. Parses 0x0c-byte entries (field ID, map ID, value). Updates NPC field via CTownInfoMgr__update_npc_field. If value is 0, sets current map ID. After processing: notifies minimap window (type 0x3d) with event 0x6a and refreshes status windows. |
| 0x00D4A560 | 96 | CPacket__handle_divorce_result | Handles divorce result. If result (offset 2) is 0: calls FUN_00c7d7d0/c830, sends packet type 2. If result is 1: shows msg 0x1f6 (red). |
| 0x00D4A5C0 | 26 | CPacket__handle_adopt_result | Handles adopt/baby result. Switch on result byte at offset 2: 0=msg 0x1ef (yellow), 1=msg 0x1f0 (red), 2=msg 0x1f1 (red), 3=msg 0x6b6 (red). |
| 0x00D4A650 | 289 | CPacket__handle_enchant_effect_result | Handles enchant/upgrade effect result. Gets item class/level from offset 4. Switch on result type (offset 2): 0/1=skill effects 0x9a/0x9b (basic enchant success/fail), 2-7=advanced enchant effects (0x131/0x132/0x3f7-0x3fa). For types 2-7: first removes existing effect of same ID, then creates new one. |
| 0x00D4AFA0 | 48 | CPacket__handle_guild_create_result | Handles guild creation result. Clears chat first. Switch on result byte at offset 2: 0=msg 0x17a (red), 1=msg 0x17b (red), 2=msg 0x17c (yellow), 3=msg 0x17d (red), 4=msg 0x82a (red). |
| 0x00D4B050 | 179 | CPacket__handle_item_drop_notification | Handles item drop/pickup notification. Gets item class/level from offset 6. Switch on type (offset 2): 0=msg 0x38f (item obtained, yellow), 1=msg 0x390 (item lost, via PTR_caseD color), 2=msg 0x391 (item stolen, blue 0xc8c8ff), 3=msg 0x392 (item destroyed, blue 0xc8c8ff). Formats with item tooltip string from CItemDB. |
| 0x00D4B2C0 | 1 | CNetwork__handle_job_change_result_message | CNetwork: handle job change result message |
| 0x00D4B4D0 | 473 | CPacket__handle_friend_list_entry | Handles friend list entry packet. If DAT_016d44bc is set: extracts friend name (offsets 10-0x21), searches town info, builds friend entry with account ID (offset 2), char ID (offset 6), name string. Calls FUN_00d53210 to add to friend list and refreshes status windows. |
| 0x00D4B6B0 | 183 | CPacket__handle_skill_hit_position | Handles skill hit with position info. Sets DAT_01733584 from offset 0xe (skill ID or target). Finds target unit by ID (offset 2) via CBGMManager, dispatches event 0x3d with x/y from offsets 6/8. Also dispatches event 0x3d to local player unit with offsets 10/0xc, and event 0x3c with the unit GID. |
| 0x00D4B770 | 19 | CPacket__set_skill_target_id | Sets skill target ID global DAT_01733584 from packet short at offset 2. Simple 19-byte setter. |
| 0x00D4B790 | 195 | CPacket__handle_skill_update | Handles skill update packet. Constructs a CSkillEntry from packet data: skill ID (offset 2), unknown (offset 4), level (offset 8), range (offset 10), SP cost (offset 0xc), attack range flag (offset 0x26). Gets skill name and AP amount. Calls CSkillMgr__update_or_add_skill, then sends event 0x71 to update skill UI. |
| 0x00D4B860 | 1391 | CPacket__handle_guild_info_packet | Handles guild info packet. Parses 0x40-byte entries containing 3 string fields (name, title, role). For each entry: clears existing list, initializes strings, creates 0x54-byte list node with string data, inserts into global linked list (DAT_016d44ec/f0). Refreshes status windows after processing all entries. |
| 0x00D4BDD0 | 1524 | CPacket__handle_guild_member_list | Handles guild member list packet. Parses 0x2c-byte entries. For each member: extracts ID, resolves name via util_0060afb0, appends default name (msg 0x245) if empty. Creates 0x54-byte list node with member data and 3 string fields, inserts into global linked list (DAT_016d44ec/f0). Refreshes status windows after all entries processed. |
| 0x00D4C3D0 | 1609 | CPacket__handle_guild_skill_list | Handles guild skill list packet. Parses 0x44-byte entries. For each skill: extracts name string, checks util_0060b420 for map change, resolves display name. Creates list nodes with 3 string fields (skill name, description, category), inserts into global linked list (DAT_016d44ec/f0). Refreshes status windows after processing. |
| 0x00D4CA20 | 172 | CPacket__handle_effect_state_update | Handles visual effect state update on entities. If type (offset 6) is 2: removes effect by key. Otherwise: inserts/updates effect in rb-tree with position (offset 10), secondary value (offset 0xe), color (offset 0x13 OR'd with 0xFF000000 for alpha), type (offset 6), and timestamp from timeGetTime(). |
| 0x00D4CAD0 | 114 | CPacket__handle_stat_update_with_cap | Handles stat update with cap/max value. Updates both current and max values for stats. Cases 0xd-0x12: STR-LUK base stats (DAT_01733cbc-cd0) with their caps (DAT_01733ca4-cb8). Cases 0xdb-0xe0: trait stats via FUN_00d18ab0 with caps (DAT_0173a600-a614). After update: initializes CDataTable if needed and recalculates ItemBonus dirty flags. |
| 0x00D4CEE0 | 35 | CPacket__handle_friend_remove | Handles friend removal packet. If DAT_016d44bc is set, removes friend from CTownInfoMgr warp list by account ID (offset 2) and char ID (offset 6). |
| 0x00D4CF10 | 51 | CPacket__handle_chat_timestamp | Handles chat/message timestamp registration. Gets sender ID (offset 2) and room/channel ID (offset 4), obtains current time via _time32, then forwards all to CNetwork__handle_buyingstore_purchase (note: that callee may be misnamed -- it likely handles timestamp registration for chat/messages, not buying store). |
| 0x00D4CF50 | 65 | CPacket__handle_unit_death_event | Handles unit death event. Finds unit by ID (offset 2) via CBGMManager and dispatches event 0x36 (death animation) to it. No-op if unit not found. |
| 0x00D4CFA0 | 136 | CPacket__handle_equipment_removal_and_costume_update | Dispatches walk/movement event (0x13) to a unit. For local player, gets unit from session manager. For others, finds via CBGMManager. Passes x/y coordinates and body direction. |
| 0x00D4D030 | 281 | CPacket__handle_storage_type_notification | Parses cart/storage item list with 0x22-byte entries. Creates window type 0x21, iterates items extracting refine, cards, item ID, amount, class/level, identify/damage flags. Calls CItemCollection__add_or_update_favorite_item per item. |
| 0x00D4D150 | 486 | CPacket__handle_broadcast_chat_message | Parses cart/storage item list with 0x26-byte entries. Like v1 but with 2 extra option fields per item. |
| 0x00D4D340 | 106 | CPacket__handle_guild_emblem_data | Parses cart/storage item list with 0x1e-byte entries (smallest variant). Basic item data only. |
| 0x00D4D3B0 | 592 | CPacket__handle_charselect_info_v2 | Parses cart/storage item list with 0x25-byte entries. Includes enchant bit flags (identify/damage/bound) and extra option values. |
| 0x00D4D600 | 767 | CPacket__handle_charselect_info_with_title | Parses cart/storage item list with title string and 0x25-byte items. Extracts title from offset 4, word-wraps via UITextWidget, then parses items from offset 0x1c. |
| 0x00D4D900 | 1136 | CPacket__handle_charselect_info | Copy constructor for 0x100-byte records (CShopItem). Calls CShopItem__copy_construct for first 0xF8 bytes, then copies flag byte at offset 0xF8. |
| 0x00D4DD70 | 1325 | CPacket__handle_whisper_message | STL list emplace_back for 0x28-byte nodes. Allocates new node, copy-constructs a string member, sets an int field and zero flag, links at tail of doubly-linked list. |
| 0x00D4E2A0 | 321 | CPacket__handle_skill_list | Handles skill list packet for card/enchant selection. Gets game object 0x4a and dispatches events: 0x4b (clear list), 0x4d (set source item from field 0x45c). Iterates (packet_len-4)/2 skill IDs, looks up each via FUN_00ddd5a0, dispatches event 0x1f with name string and data. Finishes with event 0x3c. |
| 0x00D4E3F0 | 277 | CPacket__handle_skill_list_alt | Handles an alternate skill list packet. Creates a window of type 0x49, sends initial control messages, then iterates through skill IDs in the packet, looking up each skill and adding it to the window's list. |
| 0x00D4E510 | 141 | CPacket__handle_cooking_ingredient_list | Handles cooking/synthesis ingredient list. If packet has 0x10-byte entries: activates window 0x4f, iterates entries dispatching event 0x1f with item data. If empty (no entries): shows dialog box with msg 0x1a8 (no ingredients available). |
| 0x00D4E5A0 | 599 | CPacket__handle_npc_info_add_entry | Handles adding a single NPC info entry to town info list. If DAT_016d44c0 is set: extracts 3 string fields (name, title, map), initializes list node with init_three_strings, trims string lengths, adds NPC via CTownInfoMgr__add_npc_to_list, recomputes NPC weights, and refreshes status windows. Previously misnamed as handle_auction_item_list. |
| 0x00D4E800 | 919 | CPacket__handle_npc_info_add_entry_v2 | Handles adding a single NPC info entry (v2 format) to town info list. If DAT_016d44c0 is set: initializes list node, extracts position/stat data from offsets 10-0x20, resolves class name via util_0060b420/handle_map_change_notification, builds name string, adds NPC to CTownInfoMgr, recomputes weights, refreshes UI. Previously misnamed as handle_auction_result. |
| 0x00D4EBA0 | 602 | CPacket__handle_npc_info_single | Handles a single NPC info packet. Parses NPC ID, class, position, name strings, and description from the packet. Gets cooldown message if needed, appends default description if empty, then adds the NPC to the town info list and recomputes weights. |
| 0x00D4EE00 | 887 | CPacket__handle_npc_info_list_0x68 | Handles a list-type NPC info packet with 0x68-byte entries. Clears the NPC list, then iterates each entry parsing NPC ID, class, position, name, and description strings. Adds each NPC to the town info list and recomputes weights at the end. |
| 0x00D4F180 | 1556 | CPacket__handle_npc_info_list_0x3a | Handles a list-type NPC info packet with 0x3A-byte entries. Similar to the 0x68 variant but with smaller entry size. Includes XOR decryption for special NPC names matching a global ID, cooldown message lookup, and map change notification for unknown NPCs. |
| 0x00D4F7A0 | 1343 | CPacket__handle_npc_info_list_0x50 | Handles a list-type NPC info packet with 0x50-byte entries. Parses each NPC's ID, class, position, name and description. Handles XOR decryption for special names, cooldown messages, and default description fallback. Adds all NPCs to town info and recomputes weights. |
| 0x00D4FCE0 | 99 | CPacket__handle_quest_update | Handles quest update packet. Filters out skill IDs 0x505-0x507, 0x725-0x726 (specific quest skills that are handled elsewhere). For other quest updates: gets game object 0x4d and dispatches event 0x4f with the raw packet data. |
| 0x00D4FD50 | 884 | CPacket__handle_quest_list | Handles quest list packet. Clears and rebuilds quest linked list (DAT_016d44e4/e8). Parses 0x20-byte entries: quest data at offsets -1/0, name string at offset 4. For each: processes Korean text search on name, creates 0x28-byte list node with quest data and name string. Inserts nodes into linked list. Refreshes status windows. |
| 0x00D500D0 | 277 | CPacket__handle_system_broadcast | Handles system broadcast message. Builds STL string from packet data at offset 4 (length = packet_len - 4). Clears chat then dispatches the message as white (0xffff) chat. |
| 0x00D501F0 | 129 | CPacket__handle_guild_invite_accept | Handles guild invite acceptance notification. Copies guild name from packet (offsets 3-0x1a). If result byte (offset 2) is 0 (accepted): formats msg 0x183 with guild name and shows as yellow (0xffff00) chat message. |
| 0x00D50280 | 30 | CPacket__handle_deal_trade_result | Handles deal/trade result. Switch on result code (offset 2): 0=msg 500 (red, trade failed), 1=msg 0x1f5 (yellow, trade success), 2=msg 0x536 (yellow, trade cancelled), 3=msg 0x537 (yellow, resets field 0x2cc). Each message is dispatched both as regular chat and type 0x13. |
| 0x00D503B0 | 169 | CPacket__handle_produce_item_list | Handles produce/craft item list. If packet has 0x17-byte entries: opens or refreshes window 0x6f, iterates entries dispatching event 0x1f with item ID (offset 2) and recipe data (offset 1). If empty: shows dialog msg 0x1a8 (nothing to produce). |
| 0x00D50460 | 65 | CPacket__handle_entity_display_update | Handles entity display update. Looks up entity by ID (offset 2) via CBGMManager. If found, gets game object 0x38 and dispatches event 0x1c with the entity ID to update its visual representation. |
| 0x00D504B0 | 199 | CPacket__handle_buying_store_open | Handles buying store open request. Gets player entity mode field. If entity not in special state: clamps item count (offset 2) to range [3, 13], stores in DAT_0173357c, clears storage list, opens shop window 0x29 with submit button. If other shop windows (DAT_014578fc/f4) are open: shows error dialog msg 0x24b instead. Sends event 0x51 afterward. |
| 0x00D50590 | 640 | CPacket__handle_auction_item_list_v2 | Handles auction/buying store item list (v2 format with 0x3f-byte entries). Clears auction and mail item collections. For each entry: parses item data (ID, type, slots, cards at offsets), counts card slots (up to 5), adds via CItemCollection__add_or_update_auction_item. Opens windows 0x2b and 0x2c with item count data. Sets flag at this+0x24c. |
| 0x00D50810 | 656 | CPacket__handle_guild_storage_item_list | Handles guild storage item list. If DAT_016f7144 set, notifies player entity. Clears guild storage list. Parses 0x39-byte entries: item data (ID, type, amount, equip info, cards). For each: counts card slots, adds via CItemCollection__add_or_update_guild_storage_item. If empty: sends event 0x28 and clears auction/mail windows 0x2b/0x2c. |
| 0x00D50AA0 | 304 | CPacket__handle_item_action_result | Handles item action result notifications. Special cases: type 6=msg 0x69f (blue), 7=msg 0x705 (red), 0xf=msg 0xe75 (red). For item-specific results: looks up item by ID (offset 2) via CShop__find_mail_item_by_slot, then switches on type (offset 6): 1=item identified (msg 0x37+0xe5), 2=item failed (msg 0x38+0xe5), 4=item amount (msg 0xf0), 5=item amount alt (msg 0x119), 8=item special (msg 0x756+0xe5). All item messages shown in blue (0x6464ff). Previously misnamed as handle_battleground_score. |
| 0x00D50E40 | 629 | CPacket__handle_friend_player_list | Handles friend/player list packet. Parses 0x1c-byte entries. For each: extracts player name (offsets 4-0x1a), processes Korean text search, looks up in rb-tree (DAT_016d44fc) by account ID. If not found: creates new 0x2c-byte tree node and inserts. Trims name string length. Refreshes status windows after processing all entries. |
| 0x00D510C0 | 975 | CPacket__handle_ranking_list | Handles ranking list packet. Clears and rebuilds ranking linked list (DAT_016d44d4). Parses 0x10-byte entries: account ID, bitfield flags (bits 0, 4, 8), score, name string. For each: looks up in rb-tree (DAT_016d44fc), creates node if missing, creates 0x38-byte list node with name/score/flags. Sorts final list via merge_sort_linked_list_by_key. Refreshes UI. |
| 0x00D51490 | 149 | CPacket__handle_produce_item_list_alt | Handles alternate produce/craft item list. Uses window type 0x6b (vs 0x6f in the primary version). Parses 0x17-byte entries, dispatches event 0x1f with raw entry data pointer. If no entries: shows dialog msg 0x1a8 (nothing to produce). |
| 0x00D51530 | 307 | CPacket__handle_npc_sprite_change | Handles NPC sprite/display change notification. Extracts NPC name string from offset 6 (18 bytes), processes Korean text search if applicable. Opens window type 0x48 and dispatches event 0x4a with entity ID (offset 2) and the processed name string. |
| 0x00D51670 | 307 | CPacket__handle_npc_info_dialog | Handles an NPC info dialog packet. Extracts NPC data fields from packet, checks CTownInfoMgr for incomplete search, performs string search if needed, then creates a UI window (type 0x46) and dispatches event 0x49 with the NPC data. |
| 0x00D517B0 | 30 | CPacket__handle_guild_emblem_version | Handles guild emblem version result packet. Switches on result type byte (param_1+2): type 0 shows success message (0x176) in yellow and clears TLS fields 0xd5/0xd6, types 1-4 show different error messages (0x177-0xa7f) in cyan. |
| 0x00D51880 | 294 | CPacket__handle_map_object_clear_and_refresh | Handles a map object clear and refresh packet. Looks up object by map ID, sends event 0x62 to clear it. If the map matches the current map (DAT_01733c3c), also clears the main game object and resets fields at +0x24C/0x250. Then gets item node and refreshes the item collection window. |
| 0x00D519B0 | 98 | CPacket__handle_attendance_reward | Handles attendance reward packet. Copies a 0x40-byte name string from packet+2, reads a result byte from packet+0x42 (0xFF mapped to -1), then dispatches virtual call with event code 100. |
| 0x00D51A20 | 98 | CPacket__handle_attendance_info | Handles attendance info packet. Copies a 0x10-byte string from packet+2, reads info byte from packet+0x12 (0xFF mapped to -1), then dispatches virtual call with event code 100. |
| 0x00D51A90 | 121 | CPacket__handle_pet_info_update | Handles pet info update packet. Copies a 0x50-byte pet name from packet+6, finds the pet object by ID (packet+2), then sends event 0x37 with the name string to update the pet's display name. |
| 0x00D51B10 | 71 | CPacket__handle_object_event_dispatch | Dispatches an event to a game object found by item ID. Looks up object via CBGMManager__find_item_by_id with packet+2, then sends event 7 with data from packet+6. |
| 0x00D51B60 | 213 | CPacket__handle_npc_position_update | Handles NPC position/visibility update packet. Calls CTownInfoMgr to update NPC position and visibility with coordinates and flags from the packet. Also resolves NPC name string and dispatches events 0x8C (name update) and 0xAB (remove if type==0). |
| 0x00D51C40 | 195 | CPacket__handle_npc_visibility_update | Handles NPC visibility update packet. Sets NPC visibility by ID via CTownInfoMgr, resolves name string, dispatches event 0x8C with name and visibility, and event 0xAB to remove if visibility is 0. |
| 0x00D51D10 | 163 | CPacket__handle_achievement_list | Handles achievement list packet. Sets global achievement state vars (DAT_016d44a8-DAT_016d44d0) from packet data including flags and counts. Dispatches virtual call at vtable+0xC4. On first call, triggers events 0x6B with types 3 and 1 to initialize achievement UI. |
| 0x00D51DC0 | 155 | CPacket__handle_achievement_list_v2 | Handles achievement list variant (v2). Nearly identical to CPacket__handle_achievement_list - sets same global vars (DAT_016d44a8-DAT_016d44b4), dispatches vtable+0xC4, and initializes achievement UI events 0x6B on first call. Differs in not reading DAT_016d44d0. |
| 0x00D51E60 | 100 | CPacket__handle_cell_property_update | Updates a cell property in the map grid. Reads x,y coordinates (short) from packet+2 and packet+4, validates they are within grid bounds (0x110/0x114), then writes the value (short from packet+6) to the cell at grid[y*width+x]+0x10. |
| 0x00D5B3C0 | 1396 | CPacket__handle_skill_use_chat_notification | Handles skill use notification for chat display. Builds a chat message showing caster name (via buff lookup), target name (via sprite lookup), and skill name (via CSkillManager__GetSkillNameById). Uses message table entries 0x644, 0x64C, 0x658, 0x659 for formatting. Dispatches the formatted message to chat via CUIWindowMgr__dispatch_chat_message. |
| 0x00D5E680 | 453 | CPacket__handle_status_effect_timer | Handles status/buff effect timer updates on an actor. Dispatches based on status ID: for IDs 0x39, 0x3E, 0x154B sets a timed flag with expiry via timeGetTime. For 0x105, 0x3F7 resets light effects. For 0x10C sets light effect with 1-second offset. For 0x191 initializes light + creates skill effect 0x192. For 0x14C4 initializes different light mode. For 0x8A9 dispatches 4 sequential vtable calls (visual property updates). |
| 0x00D65FA0 | 1 | CNetwork__open_window_0x103 | CNetwork: open window 0x103 |
| 0x00D66840 | 1 | CNetwork__init_map_entry_and_alloc_recv_buffer | CNetwork: init map entry and alloc recv buffer |
| 0x00D679E0 | 1 | CNetwork__handle_refine_result_packet | CNetwork: handle refine result packet |
| 0x00D6BB10 | 167 | CNetwork__recv_roulette_item_list | Receives roulette item list packet. Iterates 42 (0x2A) items, calling CQuestSystemData__AddItemEntry for each. Then calls UIRouletteWnd__select_item_by_index to update the roulette UI. Creates roulette window (type 0x10D) if not already open. |
| 0x00D6BBC0 | 124 | CNetwork__recv_service_notification_result | Receives service notification result. For param_1 values 1 or 2, displays chat message from msg ID 0xF74 in white (0xFF) and notifies minimap window via virtual call. Always notifies minimap window at end. |
| 0x00D6BC40 | 255 | CNetwork__recv_report_event_packet | Receives report event packet. If param_2==0 and report window (type 0x11C) exists, creates a CReportPacketEvent with timestamp and reactivates it via CUIEventManager. Otherwise shows error message (0xB41 for type 0, 0xB42 for type 1). |
| 0x00D6BD40 | 60 | CNetwork__recv_auto_loot_result | Handles auto loot result packet. Small 60-byte handler that reads the auto-loot toggle result and updates the client-side auto-loot state. Displays a confirmation or error message in chat. |
| 0x00D6BE80 | 276 | CNetwork__recv_item_reform_result_00d6be80 | Receives item reform result packet. Toggles UIRefineWnd right panel visibility. On success (param+0xB == 0), shows msg 0xA1F and looks up item via CQuestSystem rbtree by type (0/1/2 maps to offsets 0x20/0x28/0x30). On failure shows msg 0xA20 (type 1) or 0xA21 (type 2). Hides refine panel at end. |
| 0x00D6BFA0 | 27 | CNetwork__recv_attendance_event_result | Receives attendance event result. Switch on param_1: cases 0/1/3 notify attendance window (type 0x154) with event 0x40 and different sub-params. Case 2 shows error message 0x9D5 in chat. |
| 0x00D6C080 | 441 | CNetwork__recv_cart_item_added_with_options_v2 | Cart item added with options v2. Parses item with up to 5 options (5 bytes each), plus extra data (expire at 0x37, grade at 0x3B). If index is 0, clears. Otherwise builds CShopItem and adds to cart. |
| 0x00D6C240 | 449 | CNetwork__recv_cart_item_added_v3 | Cart item added v3 with options and grade byte at 0x3D. Like v2 but with different field offsets (card slots start at 0xD, options at 0x1D). Adds to cart via CShopItem__copy_construct. |
| 0x00D6C410 | 65 | CNetwork__recv_equip_switch_result | Handles equip switch result packet. Small 65-byte handler that reads the result of an equipment swap operation and updates the inventory/equipment UI to reflect the new equipment state. |
| 0x00D6C460 | 164 | CNetwork__recv_refine_ui_data | Handles refine UI data packet. Reads refine-related item data and configuration from the packet. Populates the refine window with available items, success rates, and material requirements for the selected refine operation. |
| 0x00D6C510 | 1467 | CPacket__handle_quest_item_list_with_names | Handles quest item list with names. Iterates param_1+4 quest entries. For each: checks via CQuestMgr__set_ongoing_quest_display_flag, initializes CItemOptionDB entry, parses timestamp, type byte, up to 3 item slots with card IDs/options/names. Resolves special item IDs (0x1099/0x109A=msg, 0x287B=RSW map). Calls CQuestMgr__load_ongoing_quest_info_from_lua per entry. Notifies quest update at end. |
| 0x00D6CAD0 | 1451 | CPacket__handle_quest_item_list_with_names_v2 | Quest item list with names variant v2. Same structure as 00d6c510 but with different item slot sizes (0xC stride vs 0xB). Iterates quest entries, parses items with card IDs, timestamps, names. Uses CQuestMgr for quest data management. Notifies quest update at end. |
| 0x00D6D080 | 162 | CNetwork__recv_char_preview_open | Handles character preview open packet. Reads character preview data from the packet (equipment slots, appearance data) and opens the character preview window to display the specified character's appearance configuration. |
| 0x00D6D130 | 70 | CNetwork__recv_char_preview_update | Handles character preview update packet. Small 70-byte handler that receives updated character preview data (appearance changes) and refreshes the character preview display in the appropriate UI window. |
| 0x00D6D180 | 128 | CNetwork__recv_status_value_list | Handles status value list packet. Receives a count and array of 4-byte values. Counts non-zero entries, then creates gauge bar window (type 99) and dispatches events: 0x1B with the first value (param_1+4), then 0x1F for each non-zero value in the array. Used for parameter/stat gauge updates. |
| 0x00D6D200 | 95 | CNetwork__recv_enchant_result_00d6d200 | Handles enchant result variant at 0x00d6d200. Small 95-byte handler that reads an enchant operation result code and updates enchant-related globals. Displays success/failure feedback through the enchant window UI. |
| 0x00D6D260 | 409 | CNetwork__recv_entity_highlight_effect | Receives entity highlight/dim effect for PVP/duel. Reads two entity IDs (offsets +2 and +6) and mode flag (offset +10). Mode 0: clears highlight - resets entity colors to white (0xFF,0xFF,0xFF), clears status flags. Mode 1: applies dim highlight - darkens entities to (0x40,0x40,0x40), sets status flags, uses long duration (99999999) light effect for duel visual feedback. |
| 0x00D6D400 | 977 | CNetwork__recv_item_produce_notification | Handles item produce/craft notification packet with card data. Builds an item tooltip from the card data structure (4 card slots + additional fields). Gets item class/level info and builds tooltip string via CItemDB. Formats notification message using template 0xCC7 (success, when param_4 XOR 1 = 0) or 0xCC8 (failure) with the item name, amount, and tooltip. Adds entry to tooltip manager with light blue color (0x62B0FF) and displays as chat message in the same color. |
| 0x00D6D7E0 | 104 | CNetwork__recv_friend_status_change | Handles party member map change / friend list status change packet. Checks if entity IDs match the player's pet. If param_2 matches pet, removes param_1 from the ID tracking vector. Otherwise if param_3 does NOT match pet, adds param_1 as unique entry to the ID vector. Notifies the friend/party status window (DAT_014579a0) with event 0x3C to refresh the display. |
| 0x00D6D850 | 649 | CNetwork__recv_equip_item_with_options | Handles equip item with options packet. Receives full item equip data including card slots and random options. Looks up item by slot index via CShop linked list, falling back to item-by-ID search and recently-sold item lookup. Sets refine level, amount, 4 card IDs (from params 4-7), and up to 5 enchant option slots (from params 8-12 with 5-byte entries: 4-byte option ID + 1-byte value). Counts active options by checking for non-zero values. Updates inventory via add_or_update_item or equipment slot update depending on lookup method. Notifies equipment window (type 0x0C) with event 0x18 to refresh. |
| 0x00D6DAE0 | 747 | CNetwork__recv_item_gained_with_cards | Receives item gained packet with card slots and options. Looks up item by slot ID (param_1+2), falling back to item by ID and recently sold items. Copies 4 card IDs from param_1+5, counts up to 5 enchant options from param_1+0x15 (5 bytes each: short ID + 3 bytes). Updates inventory list and notifies equipment window (type 0xC). |
| 0x00D6DDD0 | 282 | CNetwork__recv_item_option_update | Handles item option update packet. Reads item slot index and new random option values from the packet. Updates the specified item's random options (bonus stats) in the inventory/equipment display. Refreshes the item tooltip to show the new options. |
| 0x00D6DEF0 | 434 | CNetwork__recv_item_add_with_options | Receives item add packet with full option data. Takes item slot, amount, 4 card IDs, up to 5 enchant options, and additional byte flags. Looks up item in linked list by slot, populates fields, calls add_or_update_item_in_list, and notifies equipment window (type 0xC) to refresh display. |
| 0x00D6E100 | 1 | CNetwork__notify_minimap_window_0x4b | CNetwork: notify minimap window 0x4b |
| 0x00D6E130 | 172 | CNetwork__recv_remove_entity_effect | Handles remove entity effect packet. Reads entity ID and effect ID from the packet and removes a specific visual effect from the entity's display, cleaning up the effect resources. |
| 0x00D6E1E0 | 600 | CPacket__handle_dialog_box_with_format | Handles a dialog box packet with formatted text. Gets two message strings from CMessageStringTable, optionally formats them with vsnprintf, then shows an extended dialog box via CGameObject__show_dialog_box_extended. |
| 0x00D6E440 | 1 | CNetwork__open_achievement_window | CNetwork: open achievement window |
| 0x00D6E450 | 202 | CPacket__handle_server_disconnect_dialog | Handles server disconnect dialog. Shows message based on param_1: 0=msg 0xB35, 1=msg 0xB36 (both show dialog then disconnect), 2=opens window 0x167 and shows msg 0xB37. For cases 0/1, calls CEffectManagerEx, disconnects via CNetSocket, and signals game mode change to state 2. |
| 0x00D6E520 | 202 | CPacket__handle_server_disconnect_dialog_b | Server disconnect dialog variant B. Same as 00d6e450 but opens window 0x11D instead of 0x167 for case 2. Shows messages 0xB35/0xB36/0xB37, disconnects and transitions game mode. |
| 0x00D6E5F0 | 1 | CNetwork__handle_emblem_editor_error | CNetwork: handle emblem editor error |
| 0x00D6E640 | 163 | CNetwork__recv_navigation_mode_change | Handles navigation mode change packet. Reads navigation mode byte (param_1) and option flag (param_2). Stores mode in DAT_01737fac. Displays mode change message (msg 0x54E + mode) in cyan (0x64FFFF). Notifies minimap window (DAT_01457860) with event 0x3C. Sets game option 0xE7 (navigation display) to param_2 value. Displays second message (msg 0xBA2 + option) and syncs navigation window checkbox. |
| 0x00D6E6F0 | 176 | CPacket__handle_navigation_setting_change | Handles navigation setting change packet. Stores param_1 in DAT_01737fac, shows chat message from msg table (param_1+0x54E), sets game option 0xE7 via GameSettings, shows on/off message (0xBA2+param_2), syncs nav checkbox, calls FUN_00e48980. |
| 0x00D6E7A0 | 189 | CPacket__handle_navigation_setting_change_extended | Extended navigation setting change. Same as 00d6e6f0 but also calls FUN_00e48930 with param_4 in addition to FUN_00e48980(param_3). |
| 0x00D6E860 | 197 | CPacket__handle_navigation_setting_change_full | Full navigation setting change. Same as 00d6e7a0 but also stores param_5 into DAT_0173a760. |
| 0x00D6E930 | 27 | CNetwork__recv_navigation_toggle | Simple 27-byte handler that calls toggle_navigation_option to toggle the navigation display on/off. |
| 0x00D6E950 | 123 | CNetwork__recv_gospel_effect | Handles gospel effect packet. Reads effect type and parameter from the packet. Applies the gospel/basilica visual effect to the specified area or entity. Used for priest skill visual feedback in the game world. |
| 0x00D6E9D0 | 29 | CNetwork__recv_status_message_text | Handles status message text packet. Copies the string from packet offset +2 directly into the network object buffer at offset 0x294 using sprintf, overwriting the current status message text. This sets the status bar or loading screen text. |
| 0x00D6E9F0 | 55 | CNetwork__recv_attendance_window_close | Handles attendance window close packet. Small 55-byte handler that processes a server command to close the attendance check-in window and clean up related UI state. |
| 0x00D6EA30 | 35 | CNetwork__recv_inventory_list_alignment | Handles inventory list alignment packet. Small 35-byte handler that reads sorting/alignment preferences for the inventory display and applies them to reorder the inventory grid layout. |
| 0x00D6EA60 | 150 | CNetwork__recv_minimap_scroll | Handles minimap scroll packet. Reads X/Y scroll offset values from the packet and adjusts the minimap viewport position. Used for server-directed minimap panning (e.g., during cutscenes or quest guidance). |
| 0x00D6EB00 | 31 | CNetwork__recv_inventory_window_show | Handles inventory window show packet. Small 31-byte handler that signals the client to display the inventory window. Forces the inventory UI to become visible. |
| 0x00D6EB20 | 31 | CNetwork__recv_inventory_window_hide | Handles inventory window hide packet. Finds the inventory window (type 0x10) and if found, calls its virtual hide/close function (vtable offset +0x04) to hide it from screen. |
| 0x00D6EB40 | 41 | CNetwork__recv_character_appearance | Handles character appearance update packet. Reads entity ID (offset +2), appearance field type (short at offset +6), and 4 appearance data values (offsets +8, +0x0C, +0x10, +0x14). Calls CPacket__handle_character_appearance_data with mode 1, passing all values to update a single appearance attribute (hair style, hair color, cloth color, etc.) on the specified entity. |
| 0x00D6EB70 | 83 | CNetwork__recv_character_appearance_batch | Handles character appearance batch update packet. Reads multiple appearance fields from the packet and applies them all at once. Used for bulk appearance changes (e.g., after stylist visit or costume equip). |
| 0x00D6EBD0 | 60 | CNetwork__recv_navigation_position_update | Handles navigation position update packet. Reads updated navigation target coordinates from the packet. Moves the navigation arrow/waypoint indicator to the new position on the minimap and game world. |
| 0x00D6EC10 | 1 | CNetwork__show_chat_message_0x79e | CNetwork: show chat message 0x79e |
| 0x00D6EC40 | 107 | CNetwork__recv_entity_emotion_display | Handles entity emotion display packet. Reads entity ID (offset +2). If entity is the player, gets player entity directly; otherwise looks up via try_find_current_map_bgm. If entity found, dispatches event 0x90 (emotion display) with two short parameters from offsets +6 and +8 (emotion type and sub-type), which triggers the emotion bubble animation above the entity's head. |
| 0x00D6ECB0 | 681 | CPacket__handle_shop_item_list | Handles shop item list packet. Parses item entries (24 bytes each) from packet, creates CShopItem objects for each, adds them to a linked list, then notifies the shop UI window (type 0x13E) to refresh. |
| 0x00D6EF60 | 22 | CNetwork__recv_grade_enchant_result_00d6ef60 | Handles grade enchant result variant packet. Small 22-byte handler that reads a grade enchant operation result and updates the enchant UI state. |
| 0x00D6F000 | 2156 | CPacket__handle_item_drop_notification_00d6f000 | Handles item drop notification packet. Parses item data, builds tooltip string, formats message using msg 0xE86 or 0xE87 depending on param+0x20 flag, adds tooltip entry, dispatches chat message with color 0x62B0FF. |
| 0x00D6F870 | 144 | CPacket__handle_refine_window_data | Handles refine window data packet. If item index is -1, shows error message 0xE88. Otherwise finds refine window (type 0x157) and calls CRefineWnd__set_item_data with parsed item fields. |
| 0x00D6F900 | 443 | CPacket__handle_buying_store_item_list | Handles buying store item list packet. Parses entries of 0x32 bytes each from packet offset 0x1C. Builds each entry into a local struct (server info fields), pushes into a vector via STL_vector_insert_0x36_element. Passes the vector to CItemCollection__populate_buying_store for display in the buying store UI. |
| 0x00D6FAC0 | 95 | CPacket__handle_town_info_list | Handles town info list packet. Clears CTownInfoMgr's ID vector, then iterates through packet bytes adding each as a unique town ID. |
| 0x00D6FB20 | 424 | CPacket__handle_npc_sprite_spawn | Handles NPC sprite spawn packet. Parses NPC data from packet, looks up NPC by ID. If not found, allocates new CItemSprite, constructs it, adds to sprite list. Then calls virtual init method with the NPC data string. |
| 0x00D6FCD0 | 462 | CPacket__handle_item_identify_result_00d6fcd0 | Handles item identify result packet. Looks up entity, builds item tooltip string, formats message with msg 0x4FC, and displays yellow chat message (0xFFFF00) with identify result. |
| 0x00D6FEA0 | 365 | CPacket__handle_enchant_window_open | Handles enchant window open packet. If param_1 is 0, opens window type 0x15C with effect 0x648, creates enchant data. If param_1 is 3, shows error message 0xF08 in existing window. |
| 0x00D70010 | 900 | CPacket__handle_buy_sell_shop_items | Handles buy/sell shop items packet. If param_4 is 1 (buy mode), clears item list, parses items (11 bytes each), opens buy window with RTDynamicCast. Otherwise opens sell mode with separate windows (0xB1, 0xB2, 0xB3). Sets shop timer and extends UI height. |
| 0x00D703A0 | 992 | CPacket__handle_equipment_item_list | Handles equipment item list packet. Parses items (0x40 bytes each) with slots, enchants, and options. Copies each into a CShopItem, then calls CPacket__handle_char_delete_result with metadata. |
| 0x00D70790 | 1107 | CPacket__handle_buy_sell_shop_items_extended | Extended buy/sell shop items. Similar to 00d70010 but items are 0x3F bytes each (with extra slot/enchant data). Buy mode uses window 0x2D, sell mode uses 0x2B/0x2C. Both set timers and manage equipment windows. |
| 0x00D70BF0 | 2025 | CPacket__handle_reform_item_data | Handles reform item data packet. Parses entries with names, timestamps, and node data. Inserts into a red-black tree based on timestamp comparison. Optionally creates UIReformWnd. Complex memory management with STL strings and tree nodes. |
| 0x00D713E0 | 156 | CPacket__handle_exp_bar_update | Handles EXP bar update packet. Switch on type: 1=current exp (with %lld display), 2=base exp, 0x14=reset exp tracking, 0x16=max exp, 0x17=job exp. Updates global EXP tracking vars and rect fields. |
| 0x00D71600 | 86 | CPacket__handle_costume_change_request | Handles costume change request. Finds window 0x167, applies costume override via CCharRenderInfo, builds and sends packet 0xBC4 via CNetworkSession. |
| 0x00D71660 | 27 | CPacket__show_enchant_result_message | Shows enchant result message in chat. Maps result codes 0-5 to message IDs 0xF9B-0xFA0 and displays them via CUIWindowMgr__dispatch_chat_message with white color (0xFFFF). |
| 0x00D71720 | 101 | CPacket__send_char_delete_request | Sends character delete request packet. Sets DAT_017387e4=1, builds a packet (opcode 0x91) with character name, param_2, param_3, and sends via CNetwork__recv_mail_attachment. |
| 0x00D71790 | 308 | CPacket__handle_hotkey_list_update | Handles hotkey list update packet. Parses pairs of shortcodes from packet, inserts them into a vector, and notifies window 0xE3 to refresh. If list is empty, sends request packet 0x974. |
| 0x00D718D0 | 279 | CPacket__handle_entity_effect_toggle | Handles entity effect toggle packet. Checks if option 8 is enabled, finds entity by ID, checks effect conditions via FUN_00df9710/FUN_00df9880, and creates/removes skill effect 0xE4 based on toggle state. |
| 0x00D71A30 | 96 | CPacket__handle_status_change_appearance | Handles status change appearance packet. Filters out specific status IDs (0x46-0x54, 0x1C6, 0x4ED-0x4EF), then calls CPacket__handle_character_appearance_data for all others with entity ID, flag, and appearance values. |
| 0x00D71AB0 | 1124 | CPacket__handle_status_change_effect | Handles status change effect packet. Large handler with jumptables for different effect IDs. Manages effect timers for wedding class, displays effect names/colors via chat messages, and creates visual effects on entities. Uses CEffect callback system for unknown IDs. |
| 0x00D73960 | 174 | CPacket__show_formatted_chat_message | Shows formatted chat message. Gets message text by ID, formats with vsnprintf, dispatches to chat. Special case for msg 0xB92 adds icon type 0x16. |
| 0x00D73A10 | 222 | CPacket__handle_navigation_response | Handles navigation response packet. Reads navigation path string from packet+5, creates STL string from it, then calls CNavigator__process_navigation_request to process the navigation data. |
| 0x00D73E00 | 29 | CNetwork__recv_color_effect_on_entity | Handles color effect on entity packet. Small 29-byte handler that reads an entity ID and a color value (RGB) from the packet. Applies a color tint/overlay effect to the specified entity's sprite rendering. |
| 0x00D73E20 | 60 | CNetwork__recv_special_visual_effect | Handles special visual effect packet. Reads entity ID and visual effect parameters from the packet. Applies a special visual effect (glow, particle, screen flash, etc.) to or around the specified entity. |
| 0x00D73E8C | 48 | CNetwork__recv_special_effect_0x9e | Handles special effect 0x9E packet. Reads effect parameters from the packet and applies visual effect type 0x9E to the specified entity or location. Part of the special effect dispatch system. |
| 0x00D73EC3 | 48 | CNetwork__recv_special_effect_0x152 | Creates skill visual effect 0x152 on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x152. Part of the special effect dispatch system. |
| 0x00D73EFA | 48 | CNetwork__recv_special_effect_0x246 | Creates skill visual effect 0x246 on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x246. Part of the special effect dispatch system. |
| 0x00D73F31 | 48 | CNetwork__recv_special_effect_0x151 | Creates skill visual effect 0x151 on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x151. Part of the special effect dispatch system. |
| 0x00D73F68 | 48 | CNetwork__recv_special_effect_0x9b | Creates skill visual effect 0x9B on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x9B. Part of the special effect dispatch system. |
| 0x00D73F9F | 48 | CNetwork__recv_special_effect_0x9a | Creates skill visual effect 0x9A on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x9A. Part of the special effect dispatch system. |
| 0x00D73FD6 | 48 | CNetwork__recv_special_effect_0x131 | Creates skill visual effect 0x131 on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x131. Part of the special effect dispatch system. |
| 0x00D7400D | 48 | CNetwork__recv_special_effect_0x132 | Creates skill visual effect 0x132 on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x132. Part of the special effect dispatch system. |
| 0x00D74080 | 559 | CNetwork__recv_exp_gain_display | Handles exp gain display packet. Only processes for the player entity (ID at offset +2 == DAT_01733c3c). Reads exp amounts (int at offset +6 and int at offset +10), type (short at offset +0x0E: 1=base, 2=job), and display mode (short at offset +0x10: 1=pink 0xBE58BE, else=cyan 0xFFFF). Formats message using templates 0xC94 (base exp) or 0xC9B (job exp) with the two amounts. Appends gain/loss suffix (msg 0x64F for positive, 0x650 for negative based on second amount). Displays as chat message with style 0x12 (special notification). |
| 0x00D75840 | 283 | CNetwork__recv_item_bonus_data | Handles item bonus data packet. Reads item bonus/stat modification data from the packet. Updates the player's equipment bonus display and total stat calculations. Used when equipping items or receiving buff-modified item stats. |
| 0x00D77850 | 465 | CNetwork__recv_entity_action_animation | Handles entity action animation packet. Reads entity ID, action type, and animation parameters from the packet. Triggers the specified action animation on the entity (attack, cast, sit, stand, pick up item, etc.). Handles animation blending and direction facing for the action. |
| 0x00D77A30 | 435 | CPacket__handle_entity_appearance_update | Handles entity appearance update packet. Parses appearance data (hair, clothing, weapon, shield coords, etc). Finds entity by ID, calls virtual method 0x25, gets effective job ID. Uses FUN_00e1dd50/FUN_00dde5c0/FUN_00e09b50 for rendering update. |
| 0x00D77BF0 | 105 | CPacket__handle_banking_window_toggle | Handles banking window toggle. If param+2 is 1, opens bank UI (window 0x106) and repositions window 0x133. Otherwise closes bank UI via FUN_00a8cf20. |
| 0x00D77C60 | 43 | CPacket__handle_buy_list_item_options_update | Handles buy list item options update. Calls CItemCollection__set_buy_list_item_options with entity ID and x,y coordinates from packet, then refreshes the associated window. |
| 0x00D77C90 | 466 | CPacket__handle_storage_item_list | Handles storage item list packet. Parses items (0x22 bytes each) with item info, class/level, slot data. Adds items to storage via FUN_00dd76c0 if quantity > 0. Notifies storage windows 0xFE and 0xFF to refresh. |
| 0x00D77E70 | 411 | CPacket__handle_auction_item_list_00d77e70 | Handles auction item list. Opens window 0x100, parses items (0x1D bytes each) into CShopItem list. Adjusts window height based on count. Shows message 0xBE3 if param_1 is 0 (no results). |
| 0x00D78010 | 27 | CPacket__apply_entity_status_effect_flags | Applies entity status effect flags. Reads 4 dword fields from packet and passes them to CEntity__apply_status_effect_flags for visual status processing. |
| 0x00D78060 | 206 | CPacket__handle_enchant_window_show | Handles enchant window show. Initializes global enchant state (DAT_01389904) if needed using stub_005f91d0. Validates enchant data, shows window 0x15C if valid, closes it otherwise. |
| 0x00D78130 | 219 | CPacket__handle_inventory_open_request | Handles inventory open request. Clamps slot count (min 2, max 5) into DAT_01733580. Checks if shop/vending/etc is active, shows error msg 0x24B if so. Otherwise opens inventory window 0xAE. Sends virtual command 299. |
| 0x00D78210 | 209 | CPacket__handle_equipment_open_request | Handles equipment open request. Clamps slot count (min 3, max 13) into DAT_0173357c. Checks if shop/vending is active, shows error msg 0x24B if so. Otherwise opens equipment window 0x29. Sends virtual command 0x129. |
| 0x00D782F0 | 1248 | CPacket__handle_sell_item_list_extended | Extended sell item list handler. Parses items (0x40 bytes each) with full card/enchant data, copies to CShopItem array. Opens sell windows 0x2B/0x2C and sets trading state flag at param_1+0x24C. |
| 0x00D787E0 | 1167 | CPacket__handle_buy_item_list_with_cards | Handles buy item list with card/enchant data (0x3A bytes per item). Parses items into CShopItem array. If empty, sends command 0x28 and closes shop windows. Otherwise populates buy window items. Checks DAT_016f7144 for auto-trade mode. |
| 0x00D78C70 | 1730 | CPacket__handle_exp_distribution_info | Handles EXP distribution info packet. Parses entries (0xD bytes each) by type (0=base, 1=job, 2=death, 3=mvp). Converts int values to float percentages, formats 3 rows (base/job/death) into strings, builds tooltip, dispatches to chat UI. |
| 0x00D79340 | 70 | CPacket__handle_emblem_image_data_chunk | Handles emblem image data chunk. Finds window 0x120, compares name string (4 chars), if match forwards emblem data to CEmblemViewWnd__receive_image_data_chunk. |
| 0x00D79390 | 53 | CPacket__open_or_create_window_0x122 | Opens or creates window type 0x122. If not already open, creates it and initializes via stub_006016c0. |
| 0x00D793D0 | 68 | CPacket__open_window_0x12e_with_data | Opens window type 0x12E with data. Creates window if it doesn't exist, sends data via virtual method 0x94 with command 0x17. |
| 0x00D79420 | 28 | CPacket__set_global_timer_value | Sets global timer value from packet. Stores param+2 into DAT_0173a5bc if positive. |
| 0x00D79440 | 30 | CPacket__handle_roulette_result | Handles roulette result. Case 0: selects item, resets quest fields, refreshes window. Cases 1-3: shows messages 0xA4C-0xA4E with color 0x6464FF (error/status messages). |
| 0x00D79500 | 57 | CPacket__refresh_card_list_window | Refreshes card list window. Finds window 0x127 and calls UICardListWnd__OnReceiveItemData to refresh the card list display. |
| 0x00D79540 | 106 | CPacket__handle_entity_remove_batch | Handles batch entity removal. Iterates through entity IDs in packet, tries removing as actor (sends command 0xD), then as NPC (removes effects), then as item. |
| 0x00D795B0 | 174 | CPacket__handle_party_member_list_00d795b0 | Handles party member list packet. Parses entries (0x18 bytes each). If empty, shows error msg 0x1A8. Otherwise opens party window 0x6B and sends each member entry via command 0x1F. |
| 0x00D79660 | 48 | CPacket__handle_guild_window_action | Handles guild window actions. Complex switch on sub-command: creates/manages guild windows, handles tree operations, renders effects. Uses window types 0x2730. |
| 0x00D79700 | 380 | CNetwork__recv_roulette_result | Handles roulette result packet. Parses the full roulette spin outcome including prize item ID, prize category, and animation data. Updates the roulette window to display the winning result, triggers reward collection, and updates the player's remaining spins count. |
| 0x00D79880 | 225 | CPacket__handle_repute_info_list | Handles repute info list packet. Lazily initializes reputation manager singleton (DAT_0138993c, 0x20 bytes) via CStringMapManager__ctor if null. Iterates through entries (4 dwords each), calling CReputeDB__set_info_entry_extra_data for each. Finalizes with CReputeDB__set_pause_flag_and_notify_window. |
| 0x00D79970 | 65 | CPacket__send_packet_0x0a2a | Sends a 10-byte packet with header 0x0A2A and one 4-byte parameter. Retrieves packet size via get_job_sprite_count, then sends via CNetworkSession__send_data_timed. |
| 0x00D799C0 | 302 | CPacket__handle_agit_conquest_dialog | Handles Agit (WoE) conquest dialog packet. Calls Lua function "get_agit_name" via DAT_01738010, formats conquest progress dialog using msg 0xE30 with percentages (param_2, param_3) and shows it via CGameObject__show_dialog_box_extended. Only active when DAT_014579a0 is set. |
| 0x00D79AF0 | 73 | CPacket__show_agit_result_message | Shows agit (War of Emperium) result message. If param is 1, shows message 0x442. If param is 2, shows message 0xE31. Dispatches via CUIWindowMgr__dispatch_chat_message with color 0xFF. |
| 0x00D79B40 | 34 | CPacket__show_security_keypad | Shows security keypad window. Finds window type 0x167, if found calls CSecurityKeypadWnd__set_timer_and_refresh to activate it. |
| 0x00D79B70 | 52 | CPacket__show_password_input_status | Shows password input status message. Finds window type 0x11D, calls vtable method 0x38 with param 1, then CPasswordInputWnd__set_status_message with the two parameters. |
| 0x00D79BB0 | 476 | CNetwork__process_packet_and_send | Processes incoming packet string, trims last 4 chars, and if FUN_00e006e0 returns false, sends processed data back to server via CNetworkSession__send_data_timed. Includes intermediate processing calls FUN_00c7d7d0 (x2) and FUN_00c7c970. |
| 0x00D79D90 | 126 | CPacket__handle_enchant_result | Handles enchant result packet. Lazily initializes enchant manager singleton (DAT_0138d254, 0x38 bytes) via CEnchantMgr__ctor if null. Delegates to CEnchantMgr__handle_enchant_result with the two parameters. |
| 0x00D79E10 | 120 | CPacket__open_shop_window_0x13e | Opens shop window 0x13E. Closes existing, creates new, sends commands 0xA4 and 0x78 with params. Falls back to command 0x143 on DAT_013495bc if creation fails. |
| 0x00D79E90 | 101 | CPacket__handle_achievement_result | Handles achievement result. If success (0), sends data to window 0x154 via command 0x40. If failure (1), shows message 0x9D1. |
| 0x00D79F00 | 201 | CPacket__handle_map_server_connect_name | Handles map server connect with name. Sets DAT_017387e4=1, creates STL string from name, calls handle_map_server_connect. |
| 0x00D79FD0 | 222 | CPacket__toggle_falcon_effect | Toggles falcon effect (status ID 0xB8). If enable (1), adds to effect vector with 999999 duration. If disable, removes from vector. |
| 0x00D7A0B0 | 36 | CPacket__reset_chat_room_state | Resets chat room state. If packet field is not 1 or 2, clears DAT_016fc588. |
| 0x00D7A0E0 | 149 | CPacket__handle_entity_chat_message | Handles entity chat message. Finds entity by ID (own char or other via CBGMManager), copies message data, calls virtual method 7 to display overhead chat. |
| 0x00D7A180 | 127 | CPacket__handle_channel_name_list | Handles channel name list. Parses 16-byte name entries from packet. Opens window 0x134 and sends each non-empty name via command 0x22. |
| 0x00D7A200 | 240 | CPacket__handle_summon_spirit_ball_effect | Handles summon spirit ball effect. For specific job IDs (0x1090, 0x1092, 0x10CF), checks entity state, removes/creates effect 0x4C9 on the entity, sets spirit ball count via piVar5[0x2C]. |
| 0x00D7A2F0 | 919 | CNetwork__recv_special_popup | Handles special popup packet. Creates and displays a server-triggered popup window with custom text, images, and buttons. Supports multiple popup types: announcements, event notifications, GM messages, and system alerts. Parses popup configuration including size, position, timeout, and button callbacks. |
| 0x00D7A690 | 570 | CNetwork__recv_cart_visual_effect | Handles cart visual effect packet. Reads cart entity ID, effect type, and visual parameters from the packet. Applies or removes visual effects on the player's merchant cart (glow, sparkle, enchant aura, etc.). Updates the cart sprite rendering state. |
| 0x00D7A920 | 775 | CPacket__handle_job_specific_effect | Complex job-specific effect handler. Creates/removes visual effects based on job class (Hunter/Sniper=0x275, Alchemist=0x1F8, etc.). Handles summoner spirits (0x99C), servant weapons (0x46F), elemental spirits (0x83D). Different behavior when riding vs standing. |
| 0x00D7ABEE | 23 | CPacket__create_hunter_falcon_effect | Creates hunter falcon visual effect (0x275) via CEntity__create_skill_effect. Part of job-specific effect handler. |
| 0x00D7AE60 | 76 | CPacket__handle_elemental_orbit_effect | Handles elemental orbit effect. Finds entity by ID (own char or other), calls CEntity__set_elemental_orbit_effect with orbit params from packet. |
| 0x00D7AF70 | 47 | CPacket__handle_entity_remove_single | Handles single entity removal. Removes actor by map ID via CBGMManager, sends command 0xD on success. |
| 0x00D7AFA0 | 459 | CPacket__handle_ground_skill_unit_spawn | Handles ground skill unit spawn. Receives achievement data, parses spawn params (position, type, etc). Creates CSkillUnit if entity not found, otherwise updates existing. Calls virtual method 0x79 (new) or 0x7C (existing). |
| 0x00D7B170 | 466 | CPacket__handle_skill_unit_spawn | Handles skill unit spawn packet. Parses many parameters (job, gender, position, etc.), looks up existing entity via CBGMManager. If not found, creates new CSkillUnit via operator_new(0x4f8). Initializes the skill unit with parameters and calls its vtable method at offset 8. |
| 0x00D7B390 | 136 | CPacket__handle_skill_unit_update_timestamp | Handles skill unit timestamp update packet. Checks GameSettings option 8 (show skill effects). Looks up entity by ID (uses local player shortcut if matching DAT_01733c3c). Calls CEntity__update_timestamp_and_check_newer, and if newer, triggers CEntity__create_skill_effect(0x2a5). |
| 0x00D7B420 | 74 | CPacket__handle_cart_info_toggle | Handles cart info toggle packet. Based on packet byte at offset 2 (0 or non-zero), sends message 0x50 to global window DAT_01457a14 with param 3 (cart off) or 7 (cart on). |
| 0x00D7B470 | 75 | CPacket__handle_cart_info_toggle_via_window | Handles cart info toggle via window manager. Finds window type 0xC4 via CUIWindowMgr, then sends message 0x50 with param 3 (off) or 7 (on) based on packet byte at offset 2. |
| 0x00D7B4C0 | 132 | CPacket__handle_repute_window_show | Handles repute window show packet. Lazily initializes reputation manager singleton (DAT_0138993c, 0x20 bytes) via CStringMapManager__ctor if null. Delegates to CReputeDB__show_repute_window with the four parameters. |
| 0x00D7B550 | 131 | CPacket__handle_enchant_tree_update | Handles enchant tree update packet. Only processes if param_1 == 0x0A (enchant type). Lazily initializes enchant tree singleton at DAT_0138d254 (0x38 bytes) if null. Delegates to Ench__mgr_00683bc0. |
| 0x00D7B5E0 | 94 | CPacket__handle_set_hotkey_row_state | Handles set hotkey row state packet. Based on byte at offset 2 (0, 1, or 2), sets one of three hotkey row values at DAT_01456e88+0x26C/0x270/0x274. Refreshes window 464 if DAT_01457ae4 is set. |
| 0x00D898B0 | 168 | CPacket__handle_npc_menu_list | Handles NPC menu list packet. Calculates number of menu items from packet size ((size-6)/16). Opens NPC dialog window (type 0x27), sends item count message 0x3B, then iterates through 16-byte menu entries adding each non-empty string via message 0x1B. Appends 'cancel' option at end. |
| 0x00D89960 | 624 | CPacket__handle_item_identify_result | Handles item identify result packet. If status (offset 8) is 0 (success), builds item description string from identify data, shows yellow chat message (0xC8FF00) with item name and message 0xC47. Otherwise shows error message 0xBC1 (fail) or 0xBD9 (type 3). |
| 0x00D89BD0 | 133 | CPacket__handle_item_repair_result | Handles item repair result packet. If status (offset 2) is 0 (success), gets local player entity and sends repair action (0x89, 3) via DAT_013495bc vtable. Otherwise shows error message 0xBC1 (fail=1) or 0xBE0 (other). |
| 0x00D89C60 | 60 | CPacket__handle_town_info_search_result | Handles town info search result packet. Parses packet fields and delegates to CTownInfoMgr__handle_search_result_entry with NPC name (offset 0x2B), ID (offset 2), map name (offset 0x43), coordinates, and flags. |
| 0x00D89CC0 | 603 | CPacket__handle_town_npc_info_single | Handles single NPC town info packet. Only processes if DAT_016d44c0 is set. Parses NPC data (ID, map, coordinates, type, etc.), builds NPC name string with message 0x245 fallback if empty. Adds to CTownInfoMgr list, recomputes weights, and refreshes status windows. |
| 0x00D89F20 | 708 | CPacket__handle_town_npc_info_list | Handles town NPC info list packet. Calculates NPC count from ((packet_size - 4) / 0x22). Clears existing NPC list, then iterates through 0x22-byte entries parsing NPC data. If NPC map matches DAT_01733c40, uses local map name. Adds each NPC to CTownInfoMgr, computes weights, refreshes windows. |
| 0x00D8A1F0 | 98 | CPacket__handle_language_change | Handles language change packet. Calls three language setup functions with language code from param_2+2, notifies UI of language change, and calls two refresh functions. |
| 0x00D8A260 | 160 | CPacket__handle_item_buylist_flag_update | Handles item flag update packet. Looks up item by slot ID (param_1+2), if found calls CItemCollection__set_buy_list_item_flag with the flag byte (param_1+6), then refreshes the relevant window. |
| 0x00D8A300 | 342 | CPacket__handle_exp_gain | Handles EXP gain packet. Gets local player entity. Supports 3 packet versions (param_3: 0=short val, 1=int val, else raw). For type 5 (base EXP): updates DAT_01737ba0, shows green (0xFF00FF00) effect 0x14B. For type 7 (job EXP): updates DAT_01737ba8, shows blue (0xFF0000FF) effect 0x14C. |
| 0x00D8A460 | 412 | CPacket__handle_item_refine_result | Handles item refine result packet. If status (offset 8) is 0 (success), builds item description and shows yellow chat (0xC8FF00) with message 0xC48. If status is 1, shows fail message 0xBC1 and updates item info. Other statuses are ignored. |
| 0x00D8A600 | 304 | CPacket__handle_item_identify_list | Handles item identify list packet. Calculates item count from (packet_size - 4) / 6. Iterates through 6-byte entries, building item descriptions. Stops if item lookup returns 0. Updates item identified state based on FUN_00e1d9b0 check. |
| 0x00D8A730 | 161 | CPacket__handle_map_connect_dispatch | Map connect packet dispatcher. Parses packet fields based on version (param_2: 0=short fields, 1=int fields+extra byte, else raw). Extracts account ID, character ID, coords, etc. and delegates to CPacket__handle_map_server_connect. |
| 0x00D8CD60 | 734 | CPacket__handle_map_server_connect | Handles map server connect packet. Stores timestamp, parses account/character/entity IDs to globals. Decrypts map name via XOR, processes hotkey slots based on packet version (2-5: different hotkey sizes 0x20 or 0xA0). Sets service-type display options, screen mode. Transitions to game mode (state 6). |
| 0x00D8D110 | 152 | CPacket__handle_char_select_confirm_dialog | Handles character select confirmation dialog. Shows message 0x2B3 dialog box. If user confirms (returns 0xBB), sends packet 0x1BF to server. Otherwise disconnects and returns to char select (state 3). |
| 0x00D8D1F0 | 281 | CPacket__handle_server_message_dialog | Handles server message dialog packet. Extracts variable-length text from packet, shows it in dialog box (non-cancellable, centered). Sets disconnect flag and transitions to state 3. |
| 0x00D8D330 | 446 | CPacket__handle_timer_event | Handles timer event packet. Parses timestamp and duration from packet, converts to local time via _localtime32. Shows formatted date/time dialog using message 0x92C. Creates CUITimerEvent with duration*10M ticks (converted from seconds to 100ns units) and 3600000ms (1 hour) tick interval. |
| 0x00D8D500 | 33 | CPacket__handle_char_delete_result_extended | Handles character delete result packet. Large switch on status code (0-10). Status 0: success dialog (msg 0x4BE), shows inventory window. Status 2,4,7,8,9: confirmation dialogs with different messages, on OK sends action to server. Status 1,3,5,6,10: info-only dialogs. Status 0xB8 check for user confirmation. |
| 0x00D8DB90 | 1370 | CNetwork__build_server_connection_string | Builds server connection string with encrypted address/port. Reads server IP and port from PTR_DAT_01348f60/64/68. For service type 0xD, uses encrypted TLS strings (XOR decrypted) with different keys based on sub-type (1=iRO, 5=kRO, 6=jRO). Uses CUINavMap__lookup_group_value(0x12) to select between two encrypted address variants. |
| 0x00D8EA40 | 119 | CPacket__handle_char_server_connect_init | Handles char server connect packet. Repackages packet fields into local struct (adjusting char slot count, copying auth token and server fields) and delegates to CCharMode__init_char_select_data. |
| 0x00D8EDD0 | 38 | CPacket__handle_char_create_result | Handles character creation result. Switch on status (0-6,10): 0=success (msg 0x4BE, show inventory), 1/2=fail dialogs with confirm->send 0xB9, 3/4=fail dialogs with confirm->send 0x15F, 5/6/10=info dialogs with confirm->send 0xB9. |
| 0x00D8EFC0 | 61 | CPacket__handle_email_verification_result | Handles email verification result. If param+4 == 1 (success), shows message 0x7E1 dialog (info only). No other handling. |
| 0x00D8F000 | 61 | CPacket__handle_email_verification_result_alt | Alternate email verification result handler. Identical to CPacket__handle_email_verification_result -- checks param+4==1, shows message 0x7E1. |
| 0x00D8F570 | 299 | CPacket__handle_char_rename_result | Handles character rename result. If status==0, shows confirmation dialog (msg 10). If confirmed (0xB8) or status!=0, shows rename prompt dialog with current name (msg 0x4BD). On OK (0xBB), sends packet 0x28F with char ID. On cancel, sends action 0x15F via DAT_01457a54. |
| 0x00D8F6A0 | 177 | CPacket__handle_char_move_result | Handles character move result. Status 0: success (msg 0x76F), refreshes char select page. Status 1: fail (msg 0x770), sets state 7. Other statuses ignored. |
| 0x00D8F760 | 83 | CPacket__handle_pincode_window_info | Handles pincode window info packet. Calculates entry count from (packet_size-4)/0x18. Zeros and copies 0x18-byte entries to DAT_01732e6c. Stores count in DAT_01738008. |
| 0x00D8FA00 | 328 | CPacket__handle_pincode_state_result | Handles pincode state result. Switch on status (0-8): 0/default=error (msg 0x718), 1=success (sets 0x1E0 flag), 2=wrong pin (0x71C), 3=pin expired (0x719), 4=new pin needed (0x71D), 5=invalid (0x71E), 6=restricted (0x941), 7=char select blocked (0x12D), 8=pin not set (0xBE4). Shows dialog and sets state 7 unless status 1. |
| 0x00D8FC80 | 438 | CPacket__handle_char_delete_cancel_result | Handles char delete cancel result. Status 0: error (msg 0x718). Status 1: success, finds char by ID and clears deletion timer (offset 0x4106). Status 2: wrong password (msg 0x719). Default: error (0x718). Shows dialog if message set. |
| 0x00D8FE40 | 594 | CPacket__handle_char_delete_accept_result | Handles char delete accept result. Status 1: success, finds char by ID and sets deletion timer (current_time + offset from packet+10). Status 0/default: error (0x718). Status 3: wrong pw (0x719). Status 4: too many attempts (0x71A). Status 5: restricted (0x71B). Status 6: denied (0xBA5). Status 7: unavailable (0xC14). Shows dialog. |
| 0x00D900C0 | 174 | CPacket__handle_char_slot_buy_result | Handles char slot buy result. Stores purchased slot ID at DAT_01737d1c. Status 0: success (msg 0x762). Status 1: fail (msg 0x766), sets state 7. |
| 0x00D90170 | 42 | CPacket__handle_char_slot_move_result | Handles char slot move result. Stores slot ID at DAT_01737d1c. Status 0: success (msg 0x763). Status 1: fail (0x767). Status 2: restricted (0x768). Status 3: unavailable (0x769). Status 1-3 set state 7 after dialog. |
| 0x00D90290 | 42 | CPacket__handle_char_slot_convert_result | Handles char slot convert result. Stores slot ID at DAT_01737d1c. Status 0: success (msg 0x761). Status 1-4: various fail messages (0x76A, 0x768, 0x769, 0x765), all set state 7. |
| 0x00D903E0 | 200 | CPacket__handle_char_slot_rename_result | Handles char slot rename result. Stores slot ID. Status 0: success (msg 0x76D), triggers page button click and sets DAT_01737d18=1. Status 1: fail (msg 0x76E), sets state 7. |
| 0x00D904B0 | 648 | CPacket__handle_char_page_list_result | Handles character page list result. Validates 0x14-byte entry alignment. Iterates through entries: for each with type 0, adds to vector at offset 0x6F68 (index + 4 ints of data). If any entries found, transitions to state 0x1E. Otherwise shows message 0x713 and sets state 7. |
| 0x00D90740 | 370 | CPacket__handle_login_server_list | Handles login server list packet. Builds server name string from packet+2, calls FUN_00d929a0 with server data to populate server list. |
| 0x00D908C0 | 121 | CPacket__handle_login_ban_notice | Handles login ban notice. Reason byte: 0=msg 0x12D (or 0x12F for service type 0), 1=msg 0x54C, 2=msg 0x788, default=msg 0xC. Shows dialog and sets state 7. |
| 0x00D90940 | 116 | CPacket__handle_login_error | Handles login error packet. Disconnects, then switch on error code: default=msg 9 (unknown), 1=0xD0 (server full), 0x6F=0x749 (maintenance), 0x76/0x77=encrypted messages with state 6 transition. Otherwise sets state 3. |
| 0x00D90B70 | 58 | CPacket__handle_auth_error | Handles auth error packet. Switch on error code (0-5): different messages (0x546-0x554). Shows dialog, then transitions to state 3 if connected or 7 if not. |
| 0x00D90C90 | 104 | CPacket__handle_second_password_result | Handles second password (2nd auth) result. Large switch (0-11): 0=success, 1/2/3/4=password state changes (enter/set/change/delete), 5/6=restricted/unavailable, 7=need new password, 8=wrong password (with attempt count tracking, exit after limit), 9/10/11=encrypted URL dialogs with XOR decryption for external verification links. |
| 0x00D911C0 | 1296 | CPacket__handle_second_password_result_v2 | V2 of second password result handler. Same structure as v1 but with different XOR keys for encrypted strings. Status 8 tracks failed attempts with 3-attempt limit (msg 0x773 on lockout, msg 0x764 with remaining attempts). Status 9/10/11 decrypt different TLS URL strings for external verification. |
| 0x00D91700 | 114 | CPacket__handle_char_update_entry | Handles character entry update packet. Finds character by DAT_01737f4c match in entry array. Copies full 0xAF-byte entry data from packet, translates map name via FUN_00ddb7e0. Sets state to 7. |
| 0x00D92DA0 | 344 | CPacket__handle_login_disconnect_reason | Handles login disconnect with detailed reason. Switch on reason (1-9, 0x65, 100, 0x66): maps to different messages (0xC7C-0xC82, 0xC8E, 0xF47). Each reason uses different XOR-encrypted format strings for the dialog. Case 0x65 copies 20-byte token from packet. Formats final message with encrypted prefix, shows dialog, disconnects (state 3). |
| 0x00D93473 | 360 | CNetwork__disconnect_and_show_error_dialog | Disconnects from server, decrypts XOR-encrypted TLS buffer (key 0x9903579B/0x5050567), formats error message (msg 0x1C1), and shows disconnect dialog. Sets game state to 3 (disconnected). |
| 0x00D93800 | 365 | CPacket__handle_login_disconnect_reason_simple | Simplified login disconnect handler. Maps reason byte (1-9) to message IDs (0xC7C-0xF47), default 0xC82. Disconnects, formats message with XOR-encrypted prefix string, shows dialog, transitions to state 3. |
| 0x00D939D0 | 60 | CPacket__handle_char_disconnect_with_reason | Handles char disconnect with reason code. If reason != 0x12, disconnects first. Stores param_2+3 at offset 0x6F78, delegates to CCharMode__handle_disconnect_reason. |
| 0x00D93A10 | 244 | CPacket__handle_char_disconnect_with_name | Handles char disconnect with 20-byte name/token string. Copies 0x14 bytes from packet+6, delegates to CCharMode__handle_disconnect_reason with reason code from packet+2. |
| 0x00D971E0 | 555 | CPacket__handle_login_server_list_v2 | V2 login server list handler. Builds server name from packet+0x1C (0x80 bytes), builds formatted string, delegates to CCharMode__connect_to_char_server with server data from packet+2. |
| 0x00D9A350 | 1685 | CPacket__handle_premium_time_info | Handles premium time/subscription info packet. Complex handler for various account states: -2=msg 0x2A8, -3=msg 0x41C, -1=msg 0x2D5, 0=display time remaining (days/hours/minutes format from msgs 0x21D/0x2A7). Positive values show time with expiry (msg 0x215/0x2D6). Sets 90-second timer for display. |
| 0x00D9A9F0 | 488 | CPacket__handle_map_server_disconnect | Handles map server disconnect with 30+ reason codes. Maps reason byte to message IDs (3-0xE33). Code 6 shows dialog with optional quit+URL open. Code 0x6B shows service-specific message. Formats message with encrypted prefix, shows dialog. Returns to state 3 or sends quit via DAT_013495bc. |
| 0x00D9E180 | 30 | CPacket__handle_set_max_base_level | Sets max base level from packet. Only applies if value < 101 (0x65). Stores to DAT_0173a5f4. |
| 0x00D9E1A0 | 28 | CPacket__handle_set_server_tick | Sets server tick counter from packet. Only applies if value > 0. Stores to DAT_0173a5bc. |
No function here matches that. Search all 47,061 functions instead.