// EBFExporter.h: interface for the EBFExporter class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_EBFEXPORTER_H__CD5F2FC1_7048_11D3_8B36_00902712C9AE__INCLUDED_)
#define AFX_EBFEXPORTER_H__CD5F2FC1_7048_11D3_8B36_00902712C9AE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "BaseGeoExport.h"

class EBFExporter  :public BaseGeoExporter 
{
public:
    EBFExporter(const char *str): BaseGeoExporter(str) {}
    ~EBFExporter() {}

    int	DoExportWrap(const TCHAR *name,ExpInterface *ei,Interface *i, BOOL suppressPrompts=FALSE);    

private:
    int	ExportShape(MAXProxies::MAXScene *scene, 
        Interface *i,
        const CString& path,
        Stuff::FileStream *stream,
        BOOL suppressPrompts);    
};

class EBFExp : public SceneExport  
{
protected:
	EBFExporter m_Expt;

public:
    EBFExp() :m_Expt("") {}
    ~EBFExp() {};
    int ExtCount() { return 1; }
    const TCHAR * Ext(int n) {
        switch(n) {
        case 0:
            // This cause a static string buffer overwrite
            // return GetString(IDS_EXTENSION1);
            return _T("EBF");
        }
        return _T("");
    }
    const TCHAR * LongDesc() { return GetString(IDS_LONGDESC); }
    const TCHAR * ShortDesc() {	return _T("MW4 EBF"); }
    const TCHAR * AuthorName() { return _T("Thomas Steinke"); }
    const TCHAR * CopyrightMessage() { return GetString(IDS_COPYRIGHT); }
    const TCHAR * OtherMessage1() {	return _T(""); }
    const TCHAR * OtherMessage2() {	return _T(""); }
    unsigned int Version() { return 100; }
    void ShowAbout(HWND hWnd) {
	    CAbout dlg;
	    dlg.DoModal();
    }

	int		DoExport(const TCHAR *name,ExpInterface *ei,Interface *i, BOOL suppressPrompts=FALSE);
	
};

#endif // !defined(AFX_EBFEXPORTER_H__CD5F2FC1_7048_11D3_8B36_00902712C9AE__INCLUDED_)
