1 #pragma once
2 #include "model.h"
3 
4 #include <string>
5 #include <ostream>
6 
7 class JOEPACK;
8 struct JOEObject;
9 
10 // This class handles all of the loading code
11 class MODEL_JOE03 : public MODEL
12 {
13 public:
~MODEL_JOE03()14 	virtual ~MODEL_JOE03()
15 	{
16 		Clear();
17 	}
18 
19 	virtual bool Load(const std::string & strFileName, std::ostream & error_output, bool genlist=true)
20 	{
21 		return Load(strFileName, error_output, genlist, 0);
22 	}
23 
CanSave()24 	virtual bool CanSave() const
25 	{
26 		return false;
27 	}
28 
29 	bool Load(const std::string & strFileName, std::ostream & error_output, bool genlist, JOEPACK * pack);
30 
31 	bool LoadFromHandle(FILE * f, JOEPACK * pack, std::ostream & error_output);
32 
33 private:
34 	static const int JOE_MAX_FACES;
35 	static const int JOE_VERSION;
36 	static const float MODEL_SCALE;
37 
38 	std::string modelpath;
39 	std::string modelname;
40 
41 	// This reads in the data from the MD2 file and stores it in the member variable
42 	void ReadData(FILE * m_FilePointer, JOEPACK * pack, JOEObject & Object);
43 };
44