2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
6 ////////////////////////////////////////////////////////////////////////////////
7 // $Header: r:/t2repos/thief2/src/script/drscrpt.cpp,v 1.6 2000/02/24 13:46:55 patmac Exp $
21 // must be last header
24 ////////////////////////////////////////
26 // Door scripting service implementation
29 DECLARE_SCRIPT_SERVICE_IMPL(cDoorSrv
, Door
)
32 STDMETHOD_(BOOL
, CloseDoor
)(object door_obj
)
34 ObjID obj
= ScriptObjID(door_obj
);
39 if ((GetDoorStatus(obj
) == kDoorClosed
) ||
40 (GetDoorStatus(obj
) == kDoorClosing
))
43 DoorPhysActivate(obj
, DOORPHYS_CLOSE
);
47 STDMETHOD_(BOOL
, OpenDoor
)(object door_obj
)
49 ObjID obj
= ScriptObjID(door_obj
);
54 if ((GetDoorStatus(obj
) == kDoorOpen
) ||
55 (GetDoorStatus(obj
) == kDoorOpening
))
58 DoorPhysActivate(obj
, DOORPHYS_OPEN
);
62 STDMETHOD_(int, GetDoorState
)(object door_obj
)
64 ObjID obj
= ScriptObjID(door_obj
);
69 return GetDoorStatus(obj
);
72 STDMETHOD(ToggleDoor
)(object door_obj
)
74 ObjID obj
= ScriptObjID(door_obj
);
79 return DoorPhysActivate(obj
, DOORPHYS_TOGGLE
);
82 STDMETHOD(SetBlocking
)(object door_obj
, BOOL state
)
84 ObjID obj
= ScriptObjID(door_obj
);
92 RemoveDoorBlocking(obj
);
97 STDMETHOD_(BOOL
, GetSoundBlocking
)(object door_obj
)
99 ObjID obj
= ScriptObjID(door_obj
);
104 return GetDoorSoundBlocking(obj
);
110 IMPLEMENT_SCRIPT_SERVICE_IMPL(cDoorSrv
, Door
);
112 ////////////////////////////////////////
114 // Door scripting message implementation
117 IMPLEMENT_SCRMSG_PERSISTENT(sDoorMsg
)
119 PersistenceHeader(sScrMsg
, kDoorMsgVer
);
120 PersistentEnum(ActionType
);