… | |
… | |
924 | // "safely" iterate over inv in a way such that the current item is removable |
924 | // "safely" iterate over inv in a way such that the current item is removable |
925 | // quite horrible, that's why its hidden in some macro |
925 | // quite horrible, that's why its hidden in some macro |
926 | #define for_inv_removable(op,var) \ |
926 | #define for_inv_removable(op,var) \ |
927 | for (object *var, *next_ = (op)->inv; (var = next_), var && (next_ = var->below), var; ) |
927 | for (object *var, *next_ = (op)->inv; (var = next_), var && (next_ = var->below), var; ) |
928 | |
928 | |
929 | #define for_all_objects(var) \ |
929 | #define for_all_objects(var) \ |
930 | for (unsigned _i = 0; _i < objects.size (); ++_i) \ |
930 | for (unsigned _i = 0; _i < objects.size (); ++_i) \ |
931 | statementvar (object *, var, objects [_i]) |
931 | statementvar (object *, var, objects [_i]) |
932 | |
932 | |
933 | #define for_all_actives(var) \ |
933 | #define for_all_actives(var) \ |
934 | for (unsigned _i = 0; _i < actives.size (); ++_i) \ |
934 | for (unsigned _i = 0; _i < actives.size (); ++_i) \ |
935 | statementvar (object *, var, actives [_i]) |
935 | statementvar (object *, var, actives [_i]) |
936 | |
936 | |
937 | #define for_all_archetypes(var) \ |
937 | #define for_all_archetypes(var) \ |
938 | for (unsigned _i = 0; _i < archetypes.size (); ++_i) \ |
938 | for (unsigned _i = 0; _i < archetypes.size (); ++_i) \ |
939 | statementvar (archetype *, var, archetypes [_i]) |
939 | statementvar (archetype *, var, archetypes [_i]) |
940 | |
940 | |
941 | //+GPL |
941 | //+GPL |
942 | |
942 | |
943 | /* Used by update_object to know if the object being passed is |
943 | /* Used by update_object to know if the object being passed is |
… | |
… | |
946 | #define UP_OBJ_INSERT 1 |
946 | #define UP_OBJ_INSERT 1 |
947 | #define UP_OBJ_REMOVE 2 |
947 | #define UP_OBJ_REMOVE 2 |
948 | #define UP_OBJ_CHANGE 3 |
948 | #define UP_OBJ_CHANGE 3 |
949 | #define UP_OBJ_FACE 4 /* Only thing that changed was the face */ |
949 | #define UP_OBJ_FACE 4 /* Only thing that changed was the face */ |
950 | |
950 | |
951 | /* These are flags passed to insert_ob_in_map and |
951 | /* These are flags passed to insert_ob_in_map and |
952 | * insert_ob_in_ob. Note that all flags may not be meaningful |
952 | * insert_ob_in_ob. Note that all flags may not be meaningful |
953 | * for both functions. |
953 | * for both functions. |
954 | * Most are fairly explanatory: |
954 | * Most are fairly explanatory: |
955 | * INS_NO_MERGE: don't try to merge inserted object with ones alrady |
955 | * INS_NO_MERGE: don't try to merge inserted object with ones alrady |
956 | * on space. |
956 | * on space. |