Pass object &to obj_create_copy
This commit is contained in:
parent
d8d7980a00
commit
b75a2e4a68
|
@ -223,7 +223,7 @@ void obj_unlink(object_base &objnum);
|
||||||
objptridx_t obj_create(object_type_t type, ubyte id, vsegptridx_t segnum, const vms_vector &pos, const vms_matrix *orient, fix size, ubyte ctype, ubyte mtype, ubyte rtype);
|
objptridx_t obj_create(object_type_t type, ubyte id, vsegptridx_t segnum, const vms_vector &pos, const vms_matrix *orient, fix size, ubyte ctype, ubyte mtype, ubyte rtype);
|
||||||
|
|
||||||
// make a copy of an object. returs num of new object
|
// make a copy of an object. returs num of new object
|
||||||
objptridx_t obj_create_copy(vobjptridx_t objnum, const vms_vector &new_pos, vsegptridx_t newsegnum);
|
objptridx_t obj_create_copy(const object &srcobj, const vms_vector &new_pos, vsegptridx_t newsegnum);
|
||||||
|
|
||||||
// remove object from the world
|
// remove object from the world
|
||||||
void obj_delete(vobjptridx_t objnum);
|
void obj_delete(vobjptridx_t objnum);
|
||||||
|
|
|
@ -2033,7 +2033,7 @@ static int newdemo_read_frame_information(int rewrite)
|
||||||
|
|
||||||
case ND_EVENT_RENDER_OBJECT: // Followed by an object structure
|
case ND_EVENT_RENDER_OBJECT: // Followed by an object structure
|
||||||
{
|
{
|
||||||
const objptridx_t obj = obj_allocate();
|
const auto &&obj = obj_allocate();
|
||||||
if (obj==object_none)
|
if (obj==object_none)
|
||||||
break;
|
break;
|
||||||
nd_read_object(obj);
|
nd_read_object(obj);
|
||||||
|
@ -2291,7 +2291,7 @@ static int newdemo_read_frame_information(int rewrite)
|
||||||
if (newdemo_read( md->submodel_active, sizeof(md->submodel_active), 1 )!=1) { done=-1; break; }
|
if (newdemo_read( md->submodel_active, sizeof(md->submodel_active), 1 )!=1) { done=-1; break; }
|
||||||
if (newdemo_read( md->submodel_startpoints, sizeof(md->submodel_startpoints), 1 )!=1) { done=-1; break; }
|
if (newdemo_read( md->submodel_startpoints, sizeof(md->submodel_startpoints), 1 )!=1) { done=-1; break; }
|
||||||
#endif
|
#endif
|
||||||
const objptridx_t obj = obj_allocate();
|
const auto &&obj = obj_allocate();
|
||||||
if (obj==object_none)
|
if (obj==object_none)
|
||||||
break;
|
break;
|
||||||
nd_read_object(obj);
|
nd_read_object(obj);
|
||||||
|
|
|
@ -1072,7 +1072,7 @@ objptridx_t obj_create(object_type_t type, ubyte id,vsegptridx_t segnum,const vm
|
||||||
}
|
}
|
||||||
|
|
||||||
// Find next free object
|
// Find next free object
|
||||||
const objptridx_t obj = obj_allocate();
|
const auto &&obj = obj_allocate();
|
||||||
|
|
||||||
if (obj == object_none) //no free objects
|
if (obj == object_none) //no free objects
|
||||||
return object_none;
|
return object_none;
|
||||||
|
@ -1162,15 +1162,15 @@ objptridx_t obj_create(object_type_t type, ubyte id,vsegptridx_t segnum,const vm
|
||||||
|
|
||||||
#if DXX_USE_EDITOR
|
#if DXX_USE_EDITOR
|
||||||
//create a copy of an object. returns new object number
|
//create a copy of an object. returns new object number
|
||||||
objptridx_t obj_create_copy(const vobjptridx_t objnum, const vms_vector &new_pos, const vsegptridx_t newsegnum)
|
objptridx_t obj_create_copy(const object &srcobj, const vms_vector &new_pos, const vsegptridx_t newsegnum)
|
||||||
{
|
{
|
||||||
// Find next free object
|
// Find next free object
|
||||||
const objptridx_t obj = obj_allocate();
|
const auto &&obj = obj_allocate();
|
||||||
|
|
||||||
if (obj == object_none)
|
if (obj == object_none)
|
||||||
return object_none;
|
return object_none;
|
||||||
|
|
||||||
*obj = *objnum;
|
*obj = srcobj;
|
||||||
|
|
||||||
obj->pos = obj->last_pos = new_pos;
|
obj->pos = obj->last_pos = new_pos;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue