//@STATE=作成中
//@DESCRIPTION ---------------------------------------------------------------
// s2001.cpp : DLL アプリケーション用のエントリ ポイントを定義します。
//	履歴：
//	$Log: s2001.cpp,v $
//	Revision 1.2  2001/11/06 21:27:34  fujiwara
//	大幅更新前バックアップ
//	
//	Revision 1.1  2001/10/28 21:40:37  fujiwara
//	DLLに分割
//	
//@DESCRIPTION_END -----------------------------------------------------------
//@AUTHOR=S.F.
///////////////////////////////////////////////////////////////////////////////
#pragma warning( disable : 4786 )	//STLの警告外し

// メモリーリーク検出用
#include "sfdebug.h"

#include "stdafx.h"
#include "sf.h"

#include "math.h"

#include <stack>
#include <queue>
#include <map>
#include <string>
#include <stack>
#include <list>
#include <vector>
#include <fstream>

#include "windows.h"
#include "windowsx.h"

#include "d3d8.h"
#include "d3dx8.h"
#include "dmusici.h"
#include "dinput.h"
#include "mmsystem.h"

// PROJECT INCLUDES
//

#include "exception.h"

#include "singleton.h"
#include "System.h"
#include "console.h"
#include "obj.h"
#include "input.h"
#include "sound.h"
#include "AbstractSprite.h"

//#include "ConsoleImpl.h"
//#include "SoundImpl.h"
//#include "InputImpl.h"

#include "MainApp.h"
#include "SystemWin32.h"
#include "Scene.h"
#include "Manager.h"
#include "s2001.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
    return TRUE;
}

int S2001Main (HINSTANCE hThisInstance, HINSTANCE hPrevInstance,
					LPSTR lpszCmdParam, int nCmdShow)
{
	sf::system::System * const psystem = sf::system::instance();
	psystem->main(::sf::application::Main::instance());
	return (dynamic_cast<sf::system::Win32*>(psystem))->winMain(hThisInstance,hPrevInstance,lpszCmdParam,nCmdShow);
}

//　外のDLLからSceneを作成できるようにする //
sf::application::scene::Scene * const sf::application::scene::createScene(const int sceneID,const bool bAddSceneContainer)
{
	return sf::application::scene::DLLManager::instance()->createScene(sceneID,bAddSceneContainer);
}



