… | |
… | |
763 | #define AddIfShort(Old,New,Type) if (Old != New) {\ |
763 | #define AddIfShort(Old,New,Type) if (Old != New) {\ |
764 | Old = New; \ |
764 | Old = New; \ |
765 | sl << uint8 (Type) << uint16 (New); \ |
765 | sl << uint8 (Type) << uint16 (New); \ |
766 | } |
766 | } |
767 | |
767 | |
768 | #define AddIfFloat(Old,New,Type) if (Old != New) {\ |
768 | #define AddIfFloat(Old,New,Type,mult) if (Old != New) {\ |
769 | Old = New; \ |
769 | Old = New; \ |
770 | sl << uint8 (Type) << uint32 (New*FLOAT_MULTI); \ |
770 | sl << uint8 (Type) << uint32 (New*FLOAT_MULTI*mult); \ |
771 | } |
771 | } |
772 | |
772 | |
773 | #define AddIfString(Old,New,Type) if (Old == NULL || strcmp(Old,New)) {\ |
773 | #define AddIfString(Old,New,Type) if (Old == NULL || strcmp(Old,New)) {\ |
774 | free(Old); Old = strdup (New);\ |
774 | free(Old); Old = strdup (New);\ |
775 | sl << uint8 (Type) << data8 (New); \ |
775 | sl << uint8 (Type) << data8 (New); \ |
… | |
… | |
828 | AddIfInt64 (ns->last_stats.exp, ob->stats.exp, CS_STAT_EXP64); |
828 | AddIfInt64 (ns->last_stats.exp, ob->stats.exp, CS_STAT_EXP64); |
829 | AddIfShort (ns->last_level, ob->level, CS_STAT_LEVEL); |
829 | AddIfShort (ns->last_level, ob->level, CS_STAT_LEVEL); |
830 | AddIfShort (ns->last_stats.wc, ob->stats.wc, CS_STAT_WC); |
830 | AddIfShort (ns->last_stats.wc, ob->stats.wc, CS_STAT_WC); |
831 | AddIfShort (ns->last_stats.ac, ob->stats.ac, CS_STAT_AC); |
831 | AddIfShort (ns->last_stats.ac, ob->stats.ac, CS_STAT_AC); |
832 | AddIfShort (ns->last_stats.dam, ob->stats.dam, CS_STAT_DAM); |
832 | AddIfShort (ns->last_stats.dam, ob->stats.dam, CS_STAT_DAM); |
833 | AddIfFloat (ns->last_speed, ob->speed, CS_STAT_SPEED); |
833 | AddIfFloat (ns->last_speed, ob->speed, CS_STAT_SPEED, 1.f/TICK); |
834 | AddIfShort (ns->last_stats.food, ob->stats.food, CS_STAT_FOOD); |
834 | AddIfShort (ns->last_stats.food, ob->stats.food, CS_STAT_FOOD); |
835 | AddIfFloat (ns->last_weapon_sp, pl->weapon_sp, CS_STAT_WEAP_SP); |
835 | AddIfFloat (ns->last_weapon_sp, pl->weapon_sp, CS_STAT_WEAP_SP, 1.f/TICK); |
836 | AddIfInt (ns->last_weight_limit, weight_limit[ob->stats.Str], CS_STAT_WEIGHT_LIM); |
836 | AddIfInt (ns->last_weight_limit, weight_limit[ob->stats.Str], CS_STAT_WEIGHT_LIM); |
837 | |
837 | |
838 | flags = 0; |
838 | flags = 0; |
839 | |
839 | |
840 | if (pl->fire_on) |
840 | if (pl->fire_on) |