1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
/*
* Copyright (C) Volition, Inc. 1999. All rights reserved.
*
* All source code herein is the property of Volition, Inc. You may not sell
* or otherwise commercially exploit the source or things you created based on the
* source.
*
*/
#ifndef _FREDDOC_H
#define _FREDDOC_H
#include "ai/ailocal.h"
#include "MissionSave.h"
#define MISSION_BACKUP_NAME "Backup"
#define US_WORLD_CHANGED 0x01
#define US_VIEW_CHANGED 0x02
class CFREDDoc : public CDocument
{
protected: // create from serialization only
CFREDDoc();
DECLARE_DYNCREATE(CFREDDoc)
// Attributes
public:
int check_undo();
int autoload();
int load_mission(char *pathname, int flags = 0);
int autosave(char *desc);
int save_matrix(matrix &m, FILE *fp);
int save_vector(vec3d &v, FILE *fp);
BOOL confirm_deleting;
BOOL show_capital_ships;
BOOL show_elevations;
BOOL show_fighters;
BOOL show_grid;
BOOL show_misc_objects;
BOOL show_planets;
BOOL show_waypoints;
BOOL show_starfield;
char mission_pathname[256];
// Operations
public:
CString undo_desc[BACKUP_DEPTH + 1];
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CFREDDoc)
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
virtual void OnEditClearAll();
virtual void DeleteContents();
virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CFREDDoc();
static void UpdateStatus(int flags = US_WORLD_CHANGED);
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext &dc) const;
#endif
protected:
// Generated message map functions
protected:
//{{AFX_MSG(CFREDDoc)
afx_msg void OnEditDelete();
afx_msg void OnDuplicate();
afx_msg void OnEditCopy();
afx_msg void OnEditCut();
afx_msg void OnEditHold();
afx_msg void OnEditFetch();
afx_msg void OnEditPaste();
afx_msg void OnEditUndo();
afx_msg void OnFilePreferences();
afx_msg void OnFileSave();
afx_msg void OnFileNew();
afx_msg void editor_init_mission();
afx_msg void OnFileImportFSM();
afx_msg void OnFileImportWeapons();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
int save_waypoint_list(waypoint_list &w, FILE *fp);
int save_waypoints(FILE *fp);
int save_goals(FILE *fp);
int save_wings(FILE *fp);
int save_objects(FILE *fp);
int save_players(FILE *fp);
int save_briefing_info(FILE *fp);
int save_plot_info(FILE *fp);
int save_mission_info(FILE *FP);
void recreate_dialogs();
};
extern int Local_modified;
extern int Undo_available;
extern int Undo_count;
extern CFREDDoc *FREDDoc_ptr;
void set_modified(BOOL arg = TRUE);
/////////////////////////////////////////////////////////////////////////////
#endif
|