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