convert line ends
[canaan.git] / prj / cam / src / engfeat / campaign.h
blobcf24364017ba8362fcb32d13089c122c59eac5a3
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 // $Header: r:/t2repos/thief2/src/engfeat/campaign.h,v 1.2 1998/09/30 14:11:07 mahk Exp $
7 #pragma once
8 #ifndef __CAMPAIGN_H
9 #define __CAMPAIGN_H
10 #include <comtools.h>
11 #include <idispatc.h>
13 ////////////////////////////////////////////////////////////
14 // THE CAMPAIGN MANAGER (Agg member)
16 // The "campaign" is the state of the (multi-mission) game.
17 // It is saved into a tag file, much like the world database
18 // This API provides the message channel (in the form of an IMessageDispatch)
19 // through which the campaign manager state is saved and loaded.
22 F_DECLARE_INTERFACE(ICampaign);
23 F_DECLARE_INTERFACE(ITagFile);
26 // ICampaign, derived from IMessageDispatch
28 #undef INTERFACE
29 #define INTERFACE ICampaign
30 DECLARE_INTERFACE_(ICampaign,IMessageDispatch)
32 DECLARE_UNKNOWN_PURE();
33 DECLARE_DISPATCH_PURE();
35 STDMETHOD(New)(THIS) PURE;
36 STDMETHOD(Save)(THIS_ ITagFile* file) PURE;
37 STDMETHOD(Load)(THIS_ ITagFile* file) PURE;
40 #undef INTERFACE
42 EXTERN void CampaignCreate(void);
44 #endif // __CAMPAIGN_H