VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfConfigurationFileComposer.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include <vlutil/vlFilename.h>
13 #include <vlutil/vlHashlist.h>
14 #include <vlutil/vlHashKeys.h>
15 #include <vlutil/vlList.h>
16 #include <vl/hostStructs.h>
17 #include "vrfutil/addressMap.h"
18 #include "vrfutil/vrfFileParser.h"
19 #include "vrfutil/scenario.h"
20 #include "vrfutil/backendMap.h"
21 
23 
25 {
26 public:
27 
30 
33 
35  virtual bool init();
36 
38  virtual bool readObjectMap(const DtFilename& objectMap);
39  virtual bool readObjectMapFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& objectMap);
40 
43  virtual std::set<DtSimulationAddress> scenarioBackends() const;
44 
46  virtual DtBackendMap* backendMap() const;
47 
49  virtual DtAddressMap* objectMap() const;
50 
51  virtual const DtVrfFileParser* fileParser() const;
52 
55  virtual bool composeOrderOfBattleFile(
56  const DtFilename& targetFileName, const DtList& files, DtString& sError, void* zf = 0);
57 
59  virtual bool saveOrderOfBattleToZipFile(
60  const DtFilename& targetFileName, const DtList& files, DtString& sError, void* zf = 0);
61 
62  virtual bool saveOrderOfBattleToFile(
63  const DtFilename& targetFileName, const DtList& files, DtString& sError);
64 
68  virtual bool composeScenarioScriptsFile(
69  const DtFilename& targetFileName, const DtString& files, void* zf = 0);
70 
74  virtual bool composeOrbatFile(
75  const DtFilename& targetFileName, const DtString& files, void* zf = 0);
76 
79  virtual bool composePlanFile(
80  const DtFilename& targetFileName, const DtList& files, void* zf = 0);
81 
84  virtual bool composeHostilityFile(
85  const DtFilename& targetFileName, const DtList& files, void* zf = 0);
86 
89  virtual bool composeScenarioExtrasFile(
90  const DtFilename& targetFileName, const DtList& files, void* zf = 0);
91 
92 
94  virtual bool createMapFile(
95  const DtFilename& targetFileName,
96  const DtList& simAddresses, const DtList& oobFiles,
97  const DtList& planFiles,
98  bool preserveMappings = true, void* zf = 0);
99 
100  std::vector<DtFilename>& customComponentAttachmentFilenames();
101  const std::vector<DtFilename>& customComponentAttachmentFilenames() const;
110  virtual bool decompose(const DtFilename& orderOfBattle,
111  const DtFilename& plan, const DtFilename& globalPlan, bool& hasGlobalWeatherObject,
112  bool& hasGlobalDynamicTerrainObject);
113  virtual bool decomposeFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& orderOfBattle,
114  const DtFilename& plan, const DtFilename& globalPlan, bool& hasGlobalWeatherObject,
115  bool& hasGlobalDynamicTerrainObject);
116 
119  virtual bool decomposeScenarioScriptsFile(const DtFilename&);
120  virtual bool decomposeScenarioScriptsFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& scriptsFile);
121 
124  virtual bool decomposeOrbatFile(const DtFilename&);
125  virtual bool decomposeOrbatFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& orbatFile);
126 
129  virtual bool decomposeComponentAttachmentFile(const DtFilename& originalFile,
130  unsigned numBackends);
132 
133  virtual DtFilename* getOrderOfBattleFile(
134  const DtSimulationAddress& addr) const;
135  virtual DtFilename* getScenarioScriptsFile(const DtSimulationAddress& addr) const;
136  virtual DtFilename* getOrbatFile(const DtSimulationAddress& addr) const;
137  virtual DtFilename* getPlanFile(
138  const DtSimulationAddress& addr) const;
139  virtual DtFilename* getGlobalPlanFile(const DtSimulationAddress& addr) const;
141  virtual const DtFilename& getComponentAttachmentFile(unsigned idx) const;
143 
146  virtual const DtFilename& tempDirectory();
147  virtual void setTempDirectory(const DtFilename& f);
148 
150  virtual void setFilePrefix(const DtString&);
151  virtual const DtString& filePrefix() const;
152 
153 protected:
154  virtual bool storeFileInZipFile(void* zf, const DtFilename& sourceFile, const DtFilename& destFile);
155  virtual bool storeStringInZipFile(void* zf, const DtString&, const DtFilename& target);
156 
157 protected:
158  typedef std::map<DtSimulationAddress, DtFilename*> FilenameMap;
159 
160  virtual void clear();
161  virtual bool createBackendFiles(
162  const DtFilename& origFileName,
163  FilenameMap& createdFiles, const char* prefix = "(\n",
164  bool* hasGlobalWeatherObject = 0, bool* hasGlobalDynamicTerrainObject = 0);
165  virtual bool createBackendFilesFromZip(const DtFilename& zipFile,
166  const DtFilename& origFileName,
167  FilenameMap& createdFiles, const char* prefix = "(\n",
168  bool* hasGlobalWeatherObject = 0, bool* hasGlobalDynamicTerrainObject = 0);
169  virtual bool finalizeBackendFilesParse(const DtFilename& origFileName,
170  FilenameMap& createdFiles, const char* prefix,
171  bool* hasGlobalWeatherObject, bool* hasGlobalDynamicTerrainObject = 0);
172 
175  virtual bool composePlanFileBody(FILE* fp, const DtList& files);
176  virtual bool composePlanFileBody(DtString& fp, const DtList& files);
177 
179  virtual bool fastProcess(const DtFilename& fullname, FILE* fp, DtString* returnBuffer, int& size);
180 
182  virtual bool fastProcessPlanFileBody(const DtFilename& fullname, FILE* fp, DtString* returnBuffer, int& size);
183  virtual void cleanupFiles(FilenameMap& filenameMap);
184 
185 protected:
195  std::vector<DtFilename> myCreatedComponentAttachmentFiles;
196  DtFilename myTempDirectory;
197  std::vector<DtSimulationAddress> myRequiredBackendAddrs;
199  DtFilename* myOrbatFile;
201 
205 };
206 
208 {
210 }
211 
212 inline const std::vector<DtFilename>& DtVrfConfigurationFileComposer::customComponentAttachmentFilenames() const
213 {
215 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtFilename myTempDirectory
Definition: vrfConfigurationFileComposer.h:196
Instances of this class split up config files.
Definition: vrfConfigurationFileComposer.h:24
#define DT_DLL_vrfcontrol
This file is used to determine how to build.
Definition: vrfcontrolDefines.h:28
std::vector< DtSimulationAddress > myRequiredBackendAddrs
Definition: vrfConfigurationFileComposer.h:197
DtAddressMap * myObjectMap
Definition: vrfConfigurationFileComposer.h:187
voidpf void uLong size
Definition: ioapi.h:39
FilenameMap myCreatedHostilityFiles
Definition: vrfConfigurationFileComposer.h:194
class DtBackendMap:
Definition: backendMap.h:21
DtString myFilePrefix
Definition: vrfConfigurationFileComposer.h:200
Definition: addressMap.h:24
FilenameMap myCreatedOobFiles
Definition: vrfConfigurationFileComposer.h:192
voidp zipFile
Definition: zip.h:67
std::vector< DtFilename > & customComponentAttachmentFilenames()
Definition: vrfConfigurationFileComposer.h:207
FilenameMap myAddr2FileMap
Definition: vrfConfigurationFileComposer.h:190
DtFilename * myScenarioScriptsFile
Definition: vrfConfigurationFileComposer.h:198
DtVrfFileParser myParser
Definition: vrfConfigurationFileComposer.h:189
FilenameMap myCreatedGlobalPlanFiles
Definition: vrfConfigurationFileComposer.h:193
DtBackendMap * myBackendMap
Definition: vrfConfigurationFileComposer.h:186
std::vector< DtFilename > myCreatedComponentAttachmentFiles
Definition: vrfConfigurationFileComposer.h:195
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtFilename * myOrbatFile
Definition: vrfConfigurationFileComposer.h:199
Definition: vrfFileParser.h:30
FilenameMap myCreatedPlnFiles
Definition: vrfConfigurationFileComposer.h:191
DtAddressMap * myOriginalObjectMap
Definition: vrfConfigurationFileComposer.h:188
static DtUUID theUnknownMappingName
The name used to create a mapping which indicates there is map data missing.
Definition: vrfConfigurationFileComposer.h:204
std::map< DtSimulationAddress, DtFilename * > FilenameMap
Definition: vrfConfigurationFileComposer.h:158

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)