diff --git a/common/main/fwd-object.h b/common/main/fwd-object.h index e74c08f62..d7e3563dd 100644 --- a/common/main/fwd-object.h +++ b/common/main/fwd-object.h @@ -216,7 +216,7 @@ void obj_relink_all(); // links an object into a segment's list of objects. // takes object number and segment number -void obj_link(vmobjptridx_t objnum,vmsegptridx_t segnum); +void obj_link(fvmobjptr &vmobjptr, vmobjptridx_t objnum, vmsegptridx_t segnum); /* Link an object without checking whether the object is currently * unlinked. This should be used only in cases where the caller is * intentionally overriding the normal linking rules (such as loading diff --git a/similar/main/object.cpp b/similar/main/object.cpp index cfefa62d7..18a0561bd 100644 --- a/similar/main/object.cpp +++ b/similar/main/object.cpp @@ -861,7 +861,7 @@ void special_reset_objects(d_level_object_state &ObjectState) } //link the object into the list for its segment -void obj_link(const vmobjptridx_t obj,const vmsegptridx_t segnum) +void obj_link(fvmobjptr &vmobjptr, const vmobjptridx_t obj, const vmsegptridx_t segnum) { assert(obj->segnum == segment_none); assert(obj->next == object_none); @@ -1954,7 +1954,7 @@ void compress_objects(void) h->type = OBJ_NONE; - obj_link(start_objp, vmsegptridx(segnum_copy)); + obj_link(Objects.vmptr, start_objp, vmsegptridx(segnum_copy)); while (vmobjptr(static_cast(--highest))->type == OBJ_NONE) {