From 6b4ca09376e27bff8583f3bea83474e3499e1731 Mon Sep 17 00:00:00 2001 From: Kp Date: Sun, 11 Aug 2013 18:24:54 +0000 Subject: [PATCH] Split out anarchy object deletion predicate to simplify merge --- d1x-rebirth/main/multi.c | 13 ++++++++++++- d2x-rebirth/main/multi.c | 15 ++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/d1x-rebirth/main/multi.c b/d1x-rebirth/main/multi.c index a6d148f58..2a371c8d4 100644 --- a/d1x-rebirth/main/multi.c +++ b/d1x-rebirth/main/multi.c @@ -3151,6 +3151,17 @@ int multi_level_sync(void) } } +static inline int object_allowed_in_anarchy(const object *objp) +{ + if ((objp->type==OBJ_NONE) || + (objp->type==OBJ_PLAYER) || + (objp->type==OBJ_POWERUP) || + (objp->type==OBJ_CNTRLCEN) || + (objp->type==OBJ_HOSTAGE)) + return 1; + return 0; +} + int multi_delete_extra_objects() { int i; @@ -3169,7 +3180,7 @@ int multi_delete_extra_objects() nnp++; else if ((objp->type==OBJ_ROBOT) && (Game_mode & GM_MULTI_ROBOTS)) ; - else if ( (objp->type!=OBJ_NONE) && (objp->type!=OBJ_PLAYER) && (objp->type!=OBJ_POWERUP) && (objp->type!=OBJ_CNTRLCEN) && (objp->type!=OBJ_HOSTAGE) ) + else if (!object_allowed_in_anarchy(objp) ) obj_delete(i); objp++; } diff --git a/d2x-rebirth/main/multi.c b/d2x-rebirth/main/multi.c index b9c737563..4addafcb3 100644 --- a/d2x-rebirth/main/multi.c +++ b/d2x-rebirth/main/multi.c @@ -3536,6 +3536,19 @@ int find_goal_texture (ubyte t) return (-1); } +static inline int object_allowed_in_anarchy(const object *objp) +{ + if ((objp->type==OBJ_NONE) || + (objp->type==OBJ_PLAYER) || + (objp->type==OBJ_POWERUP) || + (objp->type==OBJ_CNTRLCEN) || + (objp->type==OBJ_HOSTAGE)) + return 1; + if (objp->type==OBJ_WEAPON && objp->id==PMINE_ID) + return 1; + return 0; +} + int multi_delete_extra_objects() { int i; @@ -3554,7 +3567,7 @@ int multi_delete_extra_objects() nnp++; else if ((objp->type==OBJ_ROBOT) && (Game_mode & GM_MULTI_ROBOTS)) ; - else if ( (objp->type!=OBJ_NONE) && (objp->type!=OBJ_PLAYER) && (objp->type!=OBJ_POWERUP) && (objp->type!=OBJ_CNTRLCEN) && (objp->type!=OBJ_HOSTAGE) && !(objp->type==OBJ_WEAPON && objp->id==PMINE_ID) ) { + else if (!object_allowed_in_anarchy(objp) ) { // Before deleting object, if it's a robot, drop it's special powerup, if any if (objp->type == OBJ_ROBOT) if (objp->contains_count && (objp->contains_type == OBJ_POWERUP))